:root{color:#17191f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6f8;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Inter,system-ui,sans-serif;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select{font:inherit}#root{min-height:100vh}.app-shell{background:radial-gradient(circle at 0 0,#ff375f1f,#0000 28rem),radial-gradient(circle at 100% 0,#0a84ff24,#0000 30rem),#f5f6f8;min-height:100vh;padding:28px}.dashboard{width:min(1160px,100%);margin:0 auto}.topbar,.section-heading,.controls-panel{justify-content:space-between;align-items:center;gap:18px;display:flex}.topbar{padding:8px 2px 26px}.topbar-actions{align-items:center;gap:10px;display:flex}.language-toggle{background:#edf0f4db;border:1px solid #fffc;border-radius:999px;gap:4px;padding:4px;display:flex}.language-toggle button{color:#68707d;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;min-width:44px;min-height:38px;font-size:.78rem;font-weight:820}.language-toggle button.active{color:#111318;background:#fff;box-shadow:0 8px 20px #1f29371f}.eyebrow{color:#8a8f98;letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700;display:block}h1,h2,p{margin:0}h1{color:#111318;letter-spacing:0;font-size:clamp(2.1rem,5vw,4rem);font-weight:780;line-height:.96}h2{color:#17191f;letter-spacing:0;font-size:1.45rem;font-weight:760}.file-pill,.upload-button,.export-pdf-button{color:#fff;cursor:pointer;background:#111318;border:0;border-radius:999px;align-items:center;min-height:46px;padding:0 20px;font-size:.95rem;font-weight:700;transition:transform .18s,box-shadow .18s;display:inline-flex}.file-pill:hover,.upload-button:hover,.export-pdf-button:hover{transform:translateY(-1px);box-shadow:0 16px 34px #11131833}.file-pill input,.upload-button input{opacity:0;pointer-events:none;inline-size:1px;position:absolute}.export-pdf-button{color:#17191f;background:#edf0f4}.print-report-header{display:none}.empty-state{background:linear-gradient(135deg,#fffffff2,#ffffffbd),linear-gradient(120deg,#ff375f1f,#30d1581c 52%,#0a84ff1f);border:1px solid #ffffffd6;border-radius:32px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:34px;min-height:220px;margin-bottom:16px;padding:clamp(24px,4vw,38px);display:grid;box-shadow:0 24px 60px #1f29371f}.empty-state p{color:#5f6673;max-width:620px;margin-top:12px;font-size:1.12rem;line-height:1.55}.empty-state h2{margin-top:8px}.summary-grid{grid-template-columns:1.35fr repeat(3,1fr);gap:16px;margin-bottom:16px;display:grid}.hero-metric,.metric-card,.controls-panel,.chart-panel,.fusion-insights,.profile-panel,.history-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffd1;border:1px solid #ffffffe0;box-shadow:0 18px 48px #1f29371a}.profile-panel{border-radius:30px;grid-template-columns:1.1fr 1fr 1fr;align-items:stretch;gap:16px;margin-bottom:16px;padding:18px;display:grid}.profile-intro p,.active-profile-card p,.history-empty p{color:#68707d;line-height:1.45}.profile-intro h2,.active-profile-card h3{margin-bottom:8px}.profile-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.add-patient-toggle,.edit-patients-toggle,.edit-sessions-toggle{color:#fff;cursor:pointer;background:#111318;border:0;border-radius:999px;min-height:42px;padding:0 16px;font-weight:800}.edit-patients-toggle,.edit-sessions-toggle{color:#17191f;background:#edf0f4}.edit-patients-toggle:disabled,.edit-sessions-toggle:disabled{color:#a1a8b3;cursor:not-allowed}.edit-patients-toggle:not(:disabled):hover,.edit-sessions-toggle:not(:disabled):hover,.add-patient-toggle:hover{transform:translateY(-1px)}.patient-form,.active-profile-card{gap:10px;display:grid}.patient-form{background:linear-gradient(135deg,#ffffffeb,#ffffffb8),linear-gradient(120deg,#ff375f1a,#0a84ff1a);border:1px solid #ffffffeb;border-radius:24px;grid-column:1/-1;grid-template-columns:minmax(180px,.9fr) repeat(2,minmax(180px,1fr)) auto;padding:16px;animation:.18s ease-out patient-sheet-in}.patient-form h3{color:#17191f;margin:0}.patient-form label,.session-label-field,.session-notes-field{gap:6px;display:grid}.patient-form span,.session-label-field span,.session-notes-field span{color:#7a808a;font-size:.78rem;font-weight:760}.patient-form input,.session-label-field input,.session-notes-field textarea{color:#17191f;background:#edf0f4;border:1px solid #0000;border-radius:16px;outline:none;padding:0 14px}.patient-form input,.session-label-field input{min-height:42px}.session-notes-field textarea{resize:vertical;min-height:96px;padding-block:12px;line-height:1.45}.patient-form input:focus,.session-label-field input:focus,.session-notes-field textarea:focus{border-color:#0a84ff73;box-shadow:0 0 0 4px #0a84ff1f}.patient-form button,.save-session-button{color:#fff;cursor:pointer;background:#111318;border:0;border-radius:999px;min-height:42px;padding:0 16px;font-weight:800}.patient-form-actions{align-items:end;gap:8px;display:flex}.patient-form-actions .ghost-button{color:#17191f;background:#edf0f4}.save-session-button:disabled{color:#8a8f98;cursor:not-allowed;background:#d9dee7}.patient-list{scrollbar-width:thin;scrollbar-color:#7a808a59 transparent;align-content:start;gap:8px;max-height:clamp(330px,32vw,520px);padding-right:4px;display:grid;overflow:auto}.patient-list::-webkit-scrollbar{width:6px}.patient-list::-webkit-scrollbar-thumb{background:#7a808a59;border-radius:999px}.patient-list p{color:#8a8f98;font-weight:700}.patient-row{grid-template-columns:minmax(0,1fr);align-items:center;gap:8px;transition:grid-template-columns .18s,transform .18s;display:grid}.patient-row.editing{grid-template-columns:32px minmax(0,1fr)}.patient-select-button{color:#17191f;cursor:pointer;text-align:left;background:#edf0f4;border:0;border-radius:18px;gap:2px;min-width:0;padding:12px 14px;transition:background-color .18s,color .18s,transform .18s;display:grid}.patient-select-button:disabled{cursor:default}.patient-select-button:not(:disabled):hover{transform:translateY(-1px)}.patient-row.active .patient-select-button{color:#fff;background:#111318}.patient-select-button span{color:#7a808a;font-size:.82rem;font-weight:700}.patient-row.active .patient-select-button span{color:#ffffffad}.delete-patient-button{cursor:pointer;opacity:0;background:#ff3b30;border:0;border-radius:999px;justify-content:center;justify-self:center;align-items:center;width:26px;height:26px;padding:0;transition:opacity .18s,transform .18s,box-shadow .18s;display:inline-flex;transform:scale(.7)}.patient-row.editing .delete-patient-button{opacity:1;transform:scale(1)}.delete-patient-button:hover{transform:scale(1.04);box-shadow:0 8px 18px #ff3b3047}.delete-patient-button span{background:#fff;border-radius:999px;width:12px;height:3px;display:block}@keyframes patient-sheet-in{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.hero-metric{color:#17191f;border-radius:30px;min-height:226px;padding:28px}.hero-metric strong{letter-spacing:0;margin-top:20px;font-size:clamp(3.8rem,9vw,6.6rem);font-weight:800;line-height:.88;display:block}.hero-metric>span:last-of-type{color:#6b7280;margin-top:8px;font-weight:700;display:block}.hero-metric p{color:#5d6470;max-width:380px;margin-top:24px;line-height:1.5}.metric-card{border-radius:26px;grid-template-rows:minmax(142px,auto) 1fr;gap:12px;min-height:226px;padding:24px 22px;display:grid}.metric-ring{aspect-ratio:1;background:radial-gradient(circle, #fff 52%, transparent 54%), conic-gradient(var(--ring-color) 0 360deg);border-radius:50%;flex-direction:column;justify-content:center;justify-self:center;align-items:center;gap:1px;width:clamp(136px,8vw,156px);display:flex}.metric-ring-value{color:#17191f;font-size:clamp(1.45rem,1.8vw,1.85rem);font-weight:800;line-height:1}.metric-ring small{color:#7a808a;font-size:.76rem;font-weight:800;line-height:1}.metric-copy{align-self:end}.metric-copy>span,.metric-copy p{color:#7a808a;font-size:.86rem;font-weight:700}.metric-copy p{margin-top:8px;font-weight:600}.fusion-insights{border-radius:24px;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;padding:14px;display:grid}.fusion-card{background:#edf0f4b8;border:1px solid #ffffffb8;border-radius:18px;flex-direction:column;gap:14px;min-width:0;padding:16px;display:flex}.fusion-card-heading{justify-content:space-between;align-items:start;gap:12px;display:flex}.fusion-card-heading>strong{color:#17191f;white-space:nowrap;background:#ffffffbd;border-radius:999px;padding:9px 12px;font-size:.98rem;font-weight:820;line-height:1}.metric-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.metric-pair>div,.asymmetry-list>div{background:#ffffff9e;border:1px solid #ffffffb8;border-radius:14px;min-width:0;padding:10px}.metric-pair span,.asymmetry-list span{color:#7a808a;font-size:.72rem;font-weight:780;line-height:1.1;display:block}.metric-pair strong,.asymmetry-list strong{color:#17191f;letter-spacing:0;overflow-wrap:anywhere;margin-top:7px;font-size:1.22rem;font-weight:820;line-height:1;display:block}.metric-pair small{color:#7a808a;margin-left:3px;font-size:.68rem;font-weight:800}.asymmetry-list{grid-template-columns:1fr;gap:7px;display:grid}.asymmetry-list>div{justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex}.asymmetry-list strong{white-space:nowrap;margin-top:0;font-size:1.12rem}.fusion-card p{color:#68707d;margin-top:auto;font-size:.84rem;font-weight:650;line-height:1.35}.controls-panel{border-radius:24px;margin-bottom:16px;padding:14px}.segmented-control{background:#edf0f4;border-radius:999px;gap:4px;padding:4px;display:flex}.segmented-control button{color:#68707d;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;min-height:38px;padding:0 16px;font-size:.9rem;font-weight:760}.segmented-control button.active{color:#111318;background:#fff;box-shadow:0 8px 22px #1f29371f}.select-field{align-items:center;gap:10px;display:flex}.select-field span{color:#7a808a;font-size:.84rem;font-weight:760}.select-field select{appearance:none;color:#17191f;font:inherit;background:#edf0f4;border:0;border-radius:999px;min-height:42px;padding:0 38px 0 16px;font-size:.9rem;font-weight:760}.chart-panel{border-radius:30px;padding:24px;overflow:hidden}.history-panel{border-radius:30px;margin-top:16px;padding:24px;overflow:hidden}.section-heading{margin-bottom:12px}.history-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.chart-meta{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.axis-chip,.status-chip{white-space:nowrap;border-radius:999px;padding:8px 12px;font-size:.84rem;font-weight:760}.axis-chip{color:#3166c9;background:#eef3ff}.status-chip{color:#14843d;background:#eef7f2}.select-field.compact select{min-width:180px}.history-empty{text-align:center;background:#f3f6fa;border-radius:22px;place-items:center;min-height:180px;padding:28px;display:grid}.history-empty strong{color:#17191f;font-size:1.15rem}.session-table{gap:10px;margin-top:12px;display:grid}.session-row{grid-template-columns:minmax(0,1fr);align-items:center;gap:10px;transition:grid-template-columns .18s;display:grid}.session-row.editing{grid-template-columns:32px minmax(0,1fr)}.session-row-card{background:#edf0f4b8;border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:14px 16px;display:grid}.session-row-card>div:first-child{min-width:0}.session-table strong{color:#17191f;font-size:.98rem;display:block}.session-table span{color:#7a808a;margin-top:3px;font-size:.82rem;font-weight:700;display:block}.session-notes{color:#5f6673;overflow-wrap:anywhere;white-space:normal;word-break:break-word;background:#ffffffa3;border-radius:14px;max-width:620px;margin-top:10px;padding:10px 12px;font-size:.9rem;line-height:1.45;display:block}.session-table dl{gap:16px;margin:0;display:flex}.session-table dt{color:#8a8f98;text-transform:uppercase;font-size:.72rem;font-weight:800}.session-table dd{color:#17191f;margin:0;font-size:.9rem;font-weight:800}.delete-session-button{cursor:pointer;opacity:0;background:#ff3b30;border:0;border-radius:999px;justify-content:center;justify-self:center;align-items:center;width:26px;height:26px;padding:0;transition:opacity .18s,transform .18s,box-shadow .18s;display:inline-flex;transform:scale(.7)}.session-row.editing .delete-session-button{opacity:1;transform:scale(1)}.delete-session-button:hover{transform:scale(1.04);box-shadow:0 8px 18px #ff3b3047}.delete-session-button span{background:#fff;border-radius:999px;width:12px;height:3px;display:block}@media (width<=900px){.app-shell{padding:18px}.summary-grid,.empty-state,.fusion-insights,.profile-panel,.patient-form{grid-template-columns:1fr}.patient-list{max-height:360px}.patient-form-actions,.topbar,.controls-panel,.topbar-actions{flex-direction:column;align-items:stretch}.language-toggle{align-self:flex-start}.file-pill,.upload-button,.export-pdf-button{justify-content:center;width:100%}.segmented-control{overflow-x:auto}.select-field{flex-direction:column;align-items:stretch}.select-field select{width:100%}.section-heading{flex-direction:column;align-items:flex-start}.history-actions{grid-template-columns:auto minmax(0,1fr);align-items:stretch;width:100%;display:grid}.history-actions .select-field{flex-direction:row;align-items:center}.history-actions .select-field select{flex:1;min-width:0}.chart-meta{justify-content:flex-start}.session-row-card{grid-template-columns:1fr}.session-table dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}}@media print{@page{size:A4;margin:15mm 12mm 18mm}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}html,body{background:#fff;height:auto;margin:0;overflow:visible}.app-shell{background:#fff;min-height:auto;padding:0}.dashboard{width:100%;max-width:none;margin:0;overflow:visible}.dashboard>*{display:none!important}.dashboard>.print-report-header,.dashboard>.summary-grid,.dashboard>.fusion-insights{display:grid!important}.js-plotly-plot,.plot-container,.svg-container,.main-svg,.resize-triggers,.resize-triggers *{display:none!important}.print-report-header{box-shadow:none;background:linear-gradient(135deg,#fffffff5,#ffffffdb),linear-gradient(120deg,#ff375f1f,#30d1581a 50%,#0a84ff1f);border:1px solid #e6eaf0;border-radius:18px;grid-template-columns:.9fr 1.6fr;align-items:end;gap:12px;margin-bottom:7px;padding:12px;display:grid}.print-report-header h2{margin-top:4px;font-size:1.38rem}.print-report-header dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.print-report-header dt{color:#8a8f98;text-transform:uppercase;font-size:.64rem;font-weight:800}.print-report-header dd{color:#17191f;overflow-wrap:anywhere;margin:3px 0 0;font-size:.78rem;font-weight:750}.summary-grid{grid-template-columns:1.1fr repeat(3,.9fr);gap:7px;margin-bottom:7px}.hero-metric,.metric-card,.fusion-insights{box-shadow:none;break-inside:avoid;page-break-inside:avoid;background:#fff;border:1px solid #e6eaf0}.hero-metric{min-height:128px;padding:12px}.hero-metric strong{margin-top:6px;font-size:3.45rem}.hero-metric p{margin-top:8px;font-size:.72rem}.metric-card{grid-template-rows:auto 1fr;gap:6px;min-height:128px;padding:10px}.metric-ring{border:10px solid var(--ring-color);box-sizing:border-box;background:#fff;width:84px}.metric-ring-value{font-size:1.28rem}.metric-copy>span,.metric-copy p{font-size:.76rem}.metric-copy p{margin-top:5px}.fusion-insights{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:0;padding:7px}.fusion-card{background:#f3f6fa;border-radius:14px;gap:7px;padding:9px}.metric-pair,.asymmetry-list{gap:6px}.metric-pair strong,.asymmetry-list strong{font-size:.9rem}.fusion-card p{font-size:.66rem}.metric-ring-value,.metric-ring small{z-index:1;position:relative}}@media print and (orientation:portrait){@page{margin:15mm 12mm 18mm}.print-report-header{grid-template-columns:1fr;align-items:start}.print-report-header dl,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-metric,.metric-card{min-height:122px}.hero-metric strong{font-size:2.9rem}.metric-card{grid-template-rows:auto;grid-template-columns:auto 1fr;align-items:center}.metric-ring{width:74px}.metric-copy{align-self:center}.fusion-insights{grid-template-columns:repeat(2,minmax(0,1fr))}.fusion-card{min-height:108px}.metric-pair{grid-template-columns:repeat(2,minmax(0,1fr))}.fusion-card p{margin-top:4px}}@media print and (orientation:landscape){@page{margin:15mm 12mm 18mm}.app-shell{max-height:170mm;overflow:hidden}}@media (width<=560px){.app-shell{padding:12px}.empty-state,.hero-metric,.chart-panel,.fusion-insights,.profile-panel,.history-panel{border-radius:24px}.metric-card{grid-template-rows:auto;grid-template-columns:auto 1fr;align-items:center;min-height:0}.metric-ring{width:112px}.metric-copy{align-self:center}.asymmetry-list,.metric-pair,.session-table dl{grid-template-columns:1fr}}
