:root{--color-primary: #06270b;--color-secondary: #e1fae9;--color-accent: #ffffff;--font-family: Roboto, sans-serif;--app-background-image: none;--app-background-repeat: repeat;--app-background-size: auto;--app-background-position: top left;--color-text: #112315;--color-muted: #5d6a60;--color-border: #dbe6de;--color-surface: #ffffff;--shadow-soft: 0 12px 30px rgba(6, 39, 11, .08)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:var(--font-family);color:var(--color-text);background-color:#edf5ef;background-image:var(--app-background-image),linear-gradient(180deg,#f7fbf8,#edf5ef);background-repeat:var(--app-background-repeat),no-repeat;background-size:var(--app-background-size),cover;background-position:var(--app-background-position),center}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}label{display:grid;gap:8px;font-size:14px;color:var(--color-muted)}h1,h2,h3,p{margin:0}.mobile-app-shell{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto auto}.mobile-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#fffffff2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border)}.brand-button{display:flex;align-items:center;gap:12px;background:transparent;border:none;padding:0;text-align:left}.brand-logo,.login-logo{width:52px;height:52px;object-fit:contain}.brand-logo-pair{display:flex;align-items:center;gap:10px}.brand-logo.secondary{width:42px;height:42px}.brand-title{font-size:18px;font-weight:800}.brand-subtitle,.helper-text,.two-line-meta,.study-id,.metric-label,.eyebrow{color:var(--color-muted)}.brand-subtitle,.helper-text,.two-line-meta,.study-id{font-size:13px}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.08em}.topbar-actions{display:flex;gap:8px;align-items:center}.mobile-content-shell{width:100%;padding:16px 14px 18px;min-height:100%;display:flex;flex-direction:column;min-width:0}.mobile-page,.page-stack,.card-stack{display:grid;gap:14px}.mobile-card,.hero-mobile-card,.study-mobile-card,.metric-mobile-card,.login-card,.table-card,.form-card,.filters-card,.wizard-screen section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-soft)}.mobile-card,.hero-mobile-card,.login-card,.table-card,.form-card,.filters-card,.wizard-screen section{padding:18px}.hero-mobile-card{display:grid;gap:12px}.text-input,.select-input,.text-area-input{width:100%;min-height:56px;padding:14px 16px;border-radius:18px;border:1px solid var(--color-border);background:#fff;color:var(--color-text)}.text-area-input{min-height:120px;resize:vertical}.primary-btn,.secondary-btn,.lang-btn,.chip-btn{min-height:56px;width:100%;border-radius:18px;border:none;font-weight:800;padding:0 18px}.primary-btn{background:var(--color-primary);color:#fff}.secondary-btn,.lang-btn,.chip-btn{background:var(--color-secondary);color:var(--color-primary)}.compact-btn{min-height:42px;width:auto;padding:0 14px;border-radius:14px}.giant-btn{min-height:64px;font-size:18px}.action-row{display:flex;gap:10px}.action-row-stack{flex-direction:column}.section-header-mobile,.study-mobile-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.study-mobile-card{width:100%;text-align:left;padding:16px;border:1px solid var(--color-border)}.study-mobile-meta{font-size:14px;color:var(--color-muted);margin-top:8px}.status-pill{display:inline-flex;align-items:center;justify-content:center;padding:8px 12px;border-radius:999px;font-size:12px;text-transform:uppercase;font-weight:700}.status-pill.draft{background:#f5efe3}.status-pill.in_progress{background:#eef4ff}.status-pill.ready{background:#e1fae9}.status-pill.archived{background:#ececec}.metric-grid-mobile{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.metric-mobile-card{padding:16px;min-height:110px;display:grid;align-content:center}.metric-mobile-card strong{font-size:26px}.chip-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.chip-btn{width:auto;min-height:44px;padding:0 16px;white-space:nowrap;border:1px solid transparent}.chip-btn.active{background:var(--color-primary);color:#fff}.bottom-nav{position:sticky;bottom:0;z-index:20;width:100%;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 14px 12px;background:#f7fbf8fa}.bottom-nav-item{min-height:56px;display:grid;place-items:center;border-radius:18px;background:#fff;border:1px solid var(--color-border);font-weight:700}.bottom-nav-item.active{background:var(--color-primary);color:#fff}.bottom-nav-item.muted{color:var(--color-muted)}.mobile-footer{display:flex;justify-content:space-between;gap:12px;padding:12px 14px 18px;font-size:12px;color:var(--color-muted)}.empty-state,.info-banner,.error-banner{padding:14px 16px;border-radius:16px;font-size:14px}.empty-state,.info-banner{background:#f2f8f4}.warning-banner{background:#fff7e8;color:#7a5610;padding:14px 16px;border-radius:16px;font-size:14px}.error-banner{background:#fff1f1;color:#8a1c1c}.small-card{gap:4px}.login-shell{min-height:100vh;display:grid;place-items:center;padding:16px}.login-card{width:min(420px,100%);display:grid;gap:14px}.wizard-screen{display:flex;flex-direction:column;gap:14px;min-height:100%;padding-bottom:110px}.wizard-header-mobile{display:grid;gap:10px}.wizard-title-block{display:grid;gap:4px}.wizard-stepper-mobile{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}.step-dot{min-height:12px;border-radius:999px;border:none;background:#d9e5dc}.step-dot.active{background:var(--color-primary)}.wizard-bottom-bar{position:fixed;left:50%;transform:translate(-50%);bottom:16px;width:calc(100% - 28px);max-width:492px;display:grid;grid-template-columns:1fr 1.4fr;gap:10px;padding:10px;border-radius:24px;background:#fffffff5;border:1px solid var(--color-border);box-shadow:0 18px 40px #06270b26}.summary-chip-grid{display:grid;gap:10px;grid-template-columns:repeat(3,minmax(0,1fr))}.summary-chip-card,.result-card{padding:14px;border-radius:18px;background:#f8fbf9;border:1px solid var(--color-border);display:grid;gap:6px}.results-preview{display:grid;gap:10px}.result-list{display:grid;gap:8px}.result-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;font-size:14px}.result-row span{color:var(--color-muted)}.field-shell{display:grid;gap:8px}.field-label{display:flex;align-items:center;gap:4px}.required-mark{color:#b32222;font-weight:800}.field-error{color:#8a1c1c;font-size:13px}.field-error-input{border-color:#d24949}.validation-summary{padding:14px 16px;border-radius:16px;background:#fff5e9;border:1px solid #f0d3a2}.validation-summary-list{display:grid;gap:8px}.validation-summary-link{text-align:left;border:none;background:transparent;color:var(--color-primary);padding:0;font-weight:700;text-decoration:underline}.accordion-card{border:1px solid var(--color-border);border-radius:18px;background:#f9fcfa;overflow:hidden}.accordion-toggle{width:100%;border:none;background:transparent;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left}.accordion-body{padding:0 16px 16px;display:grid;gap:12px}.accordion-hint{font-size:12px;color:var(--color-muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11231559;display:grid;place-items:center;padding:16px;z-index:50}.modal-card{width:min(420px,100%);background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;box-shadow:0 18px 40px #06270b26;padding:18px}.grid,.form-grid,.filters-card{display:grid;gap:12px}.form-grid.two-columns,.grid,.filters-card.four-columns{grid-template-columns:1fr}.study-card,.study-card-detailed{display:grid;gap:12px}.table-card{overflow-x:auto}.table-card table{width:100%;min-width:600px;border-collapse:collapse}.table-card th,.table-card td{padding:12px 8px;border-bottom:1px solid var(--color-border);text-align:left}@media(min-width:768px){.mobile-content-shell,.bottom-nav{max-width:920px;margin:0 auto}.mobile-page{gap:18px}.action-row-stack{flex-direction:row}.metric-grid-mobile{grid-template-columns:repeat(3,minmax(0,1fr))}.wizard-bottom-bar{max-width:640px}.grid{grid-template-columns:repeat(3,minmax(0,1fr))}.form-grid.two-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.filters-card.four-columns{grid-template-columns:repeat(4,minmax(0,1fr))}}.color-input{width:100%;min-height:56px;border-radius:16px;border:1px solid rgba(6,39,11,.12);background:#fff;padding:.5rem}.label-config-grid,.org-card-list,.swatch-row{display:grid;gap:12px}.swatch-row{grid-auto-flow:column;justify-content:start}.color-swatch{display:inline-block;width:24px;height:24px;border-radius:999px;border:1px solid rgba(0,0,0,.12)}.session-context-bar{width:100%;padding:8px 14px 0;display:grid;gap:10px}.session-context-item{background:#ffffffeb;border:1px solid var(--color-border);border-radius:18px;padding:12px 14px;display:grid;gap:4px}.session-context-label{font-size:12px;color:var(--color-muted);font-weight:700}.two-columns-mobile{grid-template-columns:repeat(2,minmax(0,1fr))}.study-list-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:18px;box-shadow:var(--shadow-soft);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}@media(min-width:768px){.session-context-bar{max-width:920px;margin:0 auto;grid-template-columns:repeat(3,minmax(0,1fr))}}.admin-page .mobile-card{max-width:920px;margin:0 auto;width:100%}.list-toolbar-header,.detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.filters-grid{display:grid;gap:12px}.row-actions{display:flex;gap:8px;flex-wrap:wrap}.page-actions{display:flex;gap:10px;flex-wrap:wrap}.page-actions.right-aligned{justify-content:flex-end}.desktop-table-wrap{display:none;overflow-x:auto}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:12px 10px;border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top}.card-list{display:grid;gap:12px}.list-card{border:1px solid var(--color-border);border-radius:18px;padding:14px;background:#fff;display:grid;gap:10px}.list-card-header{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}.card-metadata{display:grid;gap:6px;color:var(--color-muted);font-size:14px}.status-pill{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;font-weight:700}.status-pill.active{background:#06270b14;color:#06270b}.status-pill.inactive{background:#91282814;color:#912828}.small-btn{padding:8px 12px;min-height:auto}.danger-btn{background:#912828;color:#fff;border:0;border-radius:14px;padding:12px 14px;font-weight:700}.checkbox-field{display:flex;align-items:center;gap:10px;min-height:56px}.empty-state{padding:24px 12px;border:1px dashed var(--color-border);border-radius:18px;display:grid;gap:10px;text-align:center}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a100c6b;display:flex;align-items:center;justify-content:center;padding:20px;z-index:1000}.modal-card{width:min(100%,420px);background:#fff;border-radius:22px;padding:18px;display:grid;gap:12px;box-shadow:0 28px 60px #0003}.mobile-only-list{display:grid}.stretch-mobile>*{flex:1}@media(min-width:768px){.filters-grid.three-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.desktop-table-wrap{display:block}.mobile-only-list{display:none}}.toolbar-actions{display:flex;gap:.75rem;flex-wrap:wrap}.form-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}.tab-chip{border:1px solid var(--color-border);background:#fff;color:var(--color-primary);border-radius:999px;padding:10px 14px;font-weight:700;white-space:nowrap}.tab-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.logo-grid{display:grid;gap:12px}.logo-card{border:1px solid var(--color-border);border-radius:18px;padding:14px;display:grid;gap:10px;background:#fff}.logo-preview{width:100%;max-height:120px;object-fit:contain;border-radius:14px;background:#00000008}.logo-placeholder{min-height:120px;display:grid;place-items:center;color:var(--color-muted);border:1px dashed var(--color-border);border-radius:14px}.textarea-input{width:100%;border-radius:16px;border:1px solid rgba(6,39,11,.12);background:#fff;padding:14px 16px;font:inherit}@media(min-width:768px){.logo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
