@import"https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;700;800&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap";:root{--navy-950: #0a1f35;--navy-900: #0f2d4a;--navy-800: #18466c;--sea-700: #0f6f8f;--sea-500: #2a90b5;--foam-100: #e8f7ff;--sand-100: #f7efe1;--sand-200: #f0dfc4;--ink-900: #10263c;--ink-700: #314f69;--ink-500: #587891;--danger-600: #b94e2f;--border-soft: rgba(16, 38, 60, .16);--radius-xl: 22px;--radius-lg: 16px;--radius-md: 12px;--shadow-soft: 0 12px 34px rgba(7, 28, 51, .14)}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{font-family:IBM Plex Sans,Segoe UI,sans-serif;color:var(--ink-900);background:radial-gradient(circle at 15% 0%,rgba(255,230,188,.6),transparent 32%),radial-gradient(circle at 90% 10%,rgba(87,164,196,.42),transparent 36%),linear-gradient(180deg,#f6f1e6,#d7e9f3 45%,#d2ecf7);background-attachment:fixed}a{color:inherit;text-decoration:none}h1,h2,h3,strong,.brand{font-family:Outfit,IBM Plex Sans,sans-serif;margin:0}p{margin:0;line-height:1.6}button,input,select,textarea{font:inherit}textarea,input,select{width:100%;border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:.72rem .9rem;background:#fff}textarea:focus,input:focus,select:focus{outline:2px solid rgba(42,144,181,.35);border-color:var(--sea-500)}textarea{resize:vertical}ul{margin:0;padding-left:1.2rem}li{margin-bottom:.35rem}.app-shell{min-height:100vh}.topbar{position:sticky;top:0;z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid rgba(255,255,255,.14);background:linear-gradient(110deg,#0a1f35f7,#0f304eed)}.topbar-inner{max-width:1180px;margin:0 auto;padding:.85rem 1rem;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}.brand{font-size:1.2rem;font-weight:800;color:#fff}.nav-links{display:flex;gap:.7rem}.nav-links a{font-weight:600;color:#eef8ffe6;border-radius:999px;padding:.4rem .82rem;border:1px solid transparent}.nav-links a.active{background:#e8f7ff26;border-color:#e8f7ff47}.user-actions{display:flex;align-items:center;gap:.7rem}.user-email{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#eef8ffd9;font-size:.9rem}.page-content{max-width:1180px;margin:0 auto;padding:1.2rem 1rem 3rem}.login-screen,.centered-screen{min-height:100vh;display:grid;place-items:center;padding:1rem}.login-panel,.loading-card,.error-panel{width:min(620px,100%);border-radius:var(--radius-xl);border:1px solid var(--border-soft);box-shadow:var(--shadow-soft);background:#ffffffed}.login-panel{padding:2rem;display:grid;gap:1rem}.loading-card,.error-panel{padding:1.3rem 1.4rem}.error-panel{display:grid;gap:.75rem}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;color:var(--sea-700);font-weight:700}.stack{display:grid;gap:1rem}.hero-panel{border:1px solid var(--border-soft);border-radius:var(--radius-xl);padding:1.2rem 1.3rem;background:linear-gradient(140deg,#e8f7ffe6,#f0dfc4c7);box-shadow:var(--shadow-soft);display:grid;gap:.5rem}.panel{border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:1rem;background:#fffffff0;box-shadow:var(--shadow-soft);display:grid;gap:.9rem}.panel-header{display:flex;justify-content:space-between;align-items:center;gap:.9rem}.study-header h1{margin-bottom:.4rem}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem}.stat-card{background:linear-gradient(160deg,#fff,#f4fbff);border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:.9rem;display:grid;gap:.3rem}.stat-label{color:var(--ink-700);font-size:.88rem}.stat-value{font-size:1.7rem}.stat-caption{color:var(--ink-500);font-size:.86rem}.period-stack{gap:.8rem}.manual-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:.85rem}.manual-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);padding:.95rem;display:grid;gap:.75rem;background:#fff}.manual-card h3{font-size:1.15rem}.manual-metrics{display:flex;justify-content:space-between;gap:.6rem;font-size:.88rem;color:var(--ink-700)}.progress-bar{height:8px;border-radius:999px;background:#2a90b529;overflow:hidden}.progress-bar span{display:block;height:100%;background:linear-gradient(90deg,#efb76a,#2a90b5)}.session-list,.weak-list,.report-list,.admin-question-list{display:grid;gap:.65rem}.session-item,.weak-item,.report-item{border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:.85rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;background:#fff}.session-item-full{align-items:flex-start}.link-item{transition:transform .15s ease,box-shadow .15s ease}.link-item:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0d2f4c1f}.report-item{display:grid;justify-content:stretch;align-items:stretch;gap:.7rem}.weak-item strong{font-size:1.2rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem}.form-grid label,.panel label{display:grid;gap:.35rem;font-weight:600}.inline-checkbox{grid-template-columns:auto 1fr;align-items:center;gap:.6rem}.inline-checkbox input{width:18px;height:18px}.button-row{display:flex;flex-wrap:wrap;gap:.65rem}.compact-buttons{justify-content:flex-end}.primary-button,.secondary-button,.ghost-button,.google-button,.danger-button,.tab-button{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;border:0;padding:.64rem .95rem;font-weight:700;cursor:pointer}.primary-button,.google-button{background:var(--sea-700);color:#fff}.secondary-button{background:var(--navy-800);color:#fff}.ghost-button{background:#fff;color:var(--ink-700);border:1px solid var(--border-soft)}.danger-button{background:var(--danger-600);color:#fff}.primary-button:disabled,.secondary-button:disabled,.ghost-button:disabled,.google-button:disabled,.danger-button:disabled,.tab-button:disabled{opacity:.65;cursor:not-allowed}.stats-inline{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stats-inline article{border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:.8rem;background:#fff}.stats-inline article h3{font-size:.9rem;color:var(--ink-700);margin-bottom:.35rem}.stats-inline article strong{font-size:1.5rem}.column-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.7rem}.column-grid article{border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:.8rem;background:#fff}.reference-box{border:1px dashed rgba(42,144,181,.45);border-radius:var(--radius-md);padding:.85rem;background:#f7fcff;display:grid;gap:.55rem}.question-image{width:min(100%,720px);border-radius:10px;border:1px solid var(--border-soft);background:#fff;margin-top:.6rem}.score-pill{border-radius:999px;padding:.35rem .75rem;background:#2a90b529;color:var(--sea-700)}.manual-tab-row{display:flex;flex-wrap:wrap;gap:.6rem}.tab-button{background:#eff6fa;color:var(--ink-700);border:1px solid var(--border-soft)}.tab-button.active{background:var(--sea-700);color:#fff}.admin-question-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#fff;overflow:hidden}.admin-question-card summary{list-style:none;cursor:pointer;padding:.8rem;display:grid;gap:.35rem;border-bottom:1px solid var(--border-soft)}.admin-question-card summary::-webkit-details-marker{display:none}.admin-question-body{padding:.85rem;display:grid;gap:.75rem}.admin-image-area{display:grid;grid-template-columns:minmax(240px,400px) 1fr;gap:.8rem}.admin-image-section{display:grid;gap:.55rem}.admin-image-title{font-size:.95rem}.admin-image-preview{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:#f9fcff;min-height:130px;display:grid;place-items:center;overflow:hidden}.admin-image-preview img{width:100%;height:auto;display:block}.admin-image-actions{display:grid;gap:.6rem;align-content:start}.clipboard-zone{border:1px dashed var(--sea-500);border-radius:var(--radius-md);background:var(--foam-100);color:var(--ink-700);padding:.75rem}.clipboard-zone:focus{outline:2px solid rgba(42,144,181,.42)}.file-button{width:fit-content}.success-text{color:#176d42;font-weight:600}.error-text{color:#9b2f21;font-weight:600}.muted{color:var(--ink-700)}@media(max-width:860px){.topbar-inner{grid-template-columns:1fr}.nav-links{order:3}.user-actions{justify-content:space-between}.admin-image-area{grid-template-columns:1fr}}@media(max-width:640px){.page-content{padding:.95rem .72rem 2rem}.panel,.hero-panel,.login-panel{padding:.9rem}.button-row{flex-direction:column}.compact-buttons{justify-content:stretch}.primary-button,.secondary-button,.ghost-button,.danger-button,.google-button,.tab-button{width:100%}}
