:root{--rehab-primary: #0f172a;--rehab-secondary: #475569;--rehab-blue: #1f6fe0;--rehab-blue-strong: #1657bc;--rehab-bg: #e8edf5;--rehab-bg-soft: #f8fafc;--rehab-card: #ffffff;--rehab-line: #dfe6f1;--rehab-muted: #64748b;--rehab-shadow: 0 22px 55px rgba(15, 23, 42, .13);--rehab-shadow-sm: 0 4px 12px rgba(15, 23, 42, .08);color:#0f172a;background:#f8fafc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility}html{scroll-behavior:smooth}:root[data-theme=dark]{--rehab-primary: #e5edf8;--rehab-secondary: #cbd5e1;--rehab-blue: #60a5fa;--rehab-blue-strong: #93c5fd;--rehab-bg: #0f172a;--rehab-bg-soft: #111827;--rehab-card: #172033;--rehab-line: #2b3850;--rehab-muted: #94a3b8;--rehab-shadow: 0 22px 55px rgba(0, 0, 0, .42);--rehab-shadow-sm: 0 4px 14px rgba(0, 0, 0, .28);color:var(--rehab-primary);background:#0f172a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--rehab-bg-soft);color:var(--rehab-primary)}button,input,select,textarea{font:inherit}button{cursor:pointer}.theme-toggle{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-primary);background:var(--rehab-card);font-size:12.5px;font-weight:850;box-shadow:var(--rehab-shadow-sm)}.auth-theme-control{position:fixed;z-index:10;top:20px;right:20px}.auth-page,.loading-screen{min-height:100vh;display:grid;padding:24px}.auth-page{grid-template-columns:minmax(420px,1.08fr) minmax(360px,.92fr);align-items:center;gap:clamp(24px,4vw,62px);padding:clamp(28px,5vw,64px) clamp(24px,5vw,68px);background:radial-gradient(48vw 44vh at 12% 4%,rgba(37,110,217,.1),transparent 62%),radial-gradient(48vw 44vh at 96% 0%,rgba(99,102,241,.1),transparent 58%),var(--rehab-bg)}.loading-screen{place-items:center}.auth-hero{position:relative;min-height:520px;display:flex;flex-direction:column;justify-content:center;gap:24px}.auth-eyebrow{display:inline-flex;align-items:center;align-self:flex-start;gap:8px;padding:6px 13px;border:1px solid rgba(37,110,217,.2);border-radius:999px;color:var(--rehab-blue-strong);background:#256ed921;font-size:12px;font-weight:800}.auth-hero h1{position:relative;z-index:2;max-width:760px;margin:0;color:var(--rehab-primary);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:clamp(40px,4vw,58px);font-weight:780;line-height:1.12;overflow-wrap:normal;word-break:keep-all;-webkit-hyphens:none;hyphens:none;letter-spacing:0;text-wrap:balance}.auth-hero h1 em{display:block;color:var(--rehab-blue);font-style:normal;font-weight:740;white-space:nowrap}.auth-hero h1 span{display:block;white-space:nowrap}.auth-hero h1 em span,.auth-hero h1 span span{display:inline;white-space:nowrap}.auth-hero p{position:relative;z-index:2;max-width:52ch;margin:0;color:var(--rehab-secondary);font-size:17px;line-height:1.55}.auth-stats{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:14px}.auth-stats div{min-width:150px;padding:15px 17px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card);box-shadow:var(--rehab-shadow-sm)}.auth-stats b{display:block;color:var(--rehab-blue-strong);font-size:24px;line-height:1}.auth-stats span{display:block;margin-top:4px;color:var(--rehab-muted);font-size:12px}.auth-pose{position:absolute;right:clamp(0px,2vw,34px);bottom:-42px;z-index:1;width:min(24vw,230px);opacity:.94;pointer-events:none}.auth-pose svg{width:100%;height:auto;overflow:visible}.pose-bone{fill:none;stroke:var(--rehab-blue);stroke-width:5;stroke-linecap:round}.pose-bone.dim,.pose-joint.dim{opacity:.42;stroke:var(--rehab-muted)}.pose-joint{fill:var(--rehab-card);stroke:var(--rehab-blue);stroke-width:3.4}.pose-arc{fill:none;stroke:#7773ff;stroke-width:4;stroke-linecap:round}.pose-guide{stroke:var(--rehab-muted);stroke-width:2;stroke-dasharray:5 6;opacity:.5}.pose-text{fill:#7773ff;font-size:13px;font-weight:800}.pose-arm{transform-box:fill-box;transform-origin:left top}@media(prefers-reduced-motion:no-preference){.pose-arm{animation:rehab-arm 4.4s ease-in-out infinite}}@keyframes rehab-arm{0%,to{transform:rotate(2deg)}50%{transform:rotate(-44deg)}}.auth-panel{width:min(440px,100%);background:#fff;border:1px solid #e2e8f0;border-radius:20px;padding:34px;box-shadow:var(--rehab-shadow);justify-self:center}.auth-card-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.auth-card-head h1{margin:0 0 5px;color:var(--rehab-primary);font-family:Inter,Segoe UI,Arial,sans-serif;font-size:25px;font-weight:850;line-height:1.12;letter-spacing:0;white-space:nowrap;word-break:keep-all;overflow-wrap:normal;-webkit-hyphens:none;hyphens:none}.auth-card-head p{margin:0;color:var(--rehab-muted);font-size:13.5px;line-height:1.35}.brand-mark{width:52px;height:52px;display:grid;place-items:center;color:#fff;background:linear-gradient(145deg,var(--rehab-blue),var(--rehab-blue-strong));border-radius:12px;box-shadow:0 6px 16px #256ed94d}.brand-mark.small{width:42px;height:42px}.segmented{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:var(--rehab-bg-soft);border:1px solid var(--rehab-line);border-radius:12px;margin-bottom:22px}.segmented button,.side-nav button,.logout-btn,.ghost-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:34px;border:0;border-radius:9px;background:transparent;color:#334155}.segmented button.active{color:var(--rehab-blue-strong);background:#fff;box-shadow:var(--rehab-shadow-sm)}.form-grid{display:grid;gap:14px}.form-grid.compact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}label{display:grid;gap:7px;color:#334155;font-size:12.5px;font-weight:800}.input-shell{min-height:46px;display:flex;align-items:center;gap:9px;padding:0 12px;border:1px solid var(--rehab-line);border-radius:11px;background:var(--rehab-bg-soft);transition:.16s}.input-shell:focus-within{border-color:var(--rehab-blue);background:var(--rehab-card);box-shadow:0 0 0 3px #256ed921}.input-shell svg{color:var(--rehab-muted);flex:0 0 auto}input,select,textarea{width:100%;min-height:42px;border:1px solid var(--rehab-line);border-radius:8px;padding:9px 11px;color:var(--rehab-primary);background:var(--rehab-card);outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.input-shell input{min-height:44px;border:0;padding:0;background:transparent;box-shadow:none}.input-shell input:focus{box-shadow:none}.password-visibility-btn{width:32px;height:32px;display:grid;place-items:center;flex:0 0 auto;border:0;border-radius:8px;color:var(--rehab-muted);background:transparent;cursor:pointer;transition:color .16s ease,background .16s ease}.password-visibility-btn:hover{color:var(--rehab-blue-strong);background:#256ed914}.password-visibility-btn:focus-visible{outline:2px solid rgba(37,110,217,.35);outline-offset:2px}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:#0284c7;box-shadow:0 0 0 3px #0284c724}.primary-btn,.ghost-btn,.logout-btn{min-height:42px;padding:0 14px;border-radius:8px;font-weight:700}.primary-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;color:#fff;background:linear-gradient(145deg,var(--rehab-blue),var(--rehab-blue-strong));box-shadow:0 8px 20px #256ed942;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.primary-btn:hover{transform:translateY(-1px);filter:saturate(1.08)}.primary-btn:disabled{opacity:.68}.forgot-row{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--rehab-secondary);font-size:13px}.forgot-row button{min-height:0;padding:0;border:0;color:var(--rehab-blue-strong);background:transparent;font-weight:900}.secondary-link{display:inline-flex;align-items:center;justify-self:start;gap:6px;color:var(--rehab-blue-strong);font-size:13px;font-weight:900;text-decoration:none}.login-role-guides{display:grid;gap:8px;padding-top:14px;border-top:1px dashed var(--rehab-line)}.login-role-guides>strong{color:var(--rehab-primary);font-size:12px;text-transform:uppercase}.login-role-guides article{display:grid;gap:3px;padding:10px 12px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.login-role-guides b{color:var(--rehab-blue-strong);font-size:13px}.login-role-guides span{color:var(--rehab-secondary);font-size:12px;line-height:1.38}.login-options{display:grid;gap:10px;margin-top:2px;padding-top:16px;border-top:1px dashed var(--rehab-line)}.login-options-head{display:flex;align-items:flex-end;justify-content:space-between;gap:10px}.login-options-head span{color:var(--rehab-secondary);font-size:12px;font-weight:900;text-transform:uppercase}.login-options-head small{color:var(--rehab-muted);font-size:11px;text-align:right}.login-role-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.login-role-tabs button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 9px;border:1px solid var(--rehab-line);border-radius:999px;color:var(--rehab-secondary);background:var(--rehab-bg-soft);font-size:11.5px;font-weight:900;white-space:nowrap}.login-role-tabs button.active{color:var(--rehab-blue-strong);border-color:#256ed93d;background:#256ed91c;box-shadow:0 0 0 3px #256ed914}.login-role-tabs b{min-width:20px;height:20px;display:inline-grid;place-items:center;border-radius:999px;color:#fff;background:var(--rehab-blue);font-size:10.5px}.login-user-list{max-height:192px;display:grid;gap:7px;overflow:auto;padding-right:2px}.login-user-list button{min-height:50px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--rehab-line);border-radius:12px;color:var(--rehab-primary);background:var(--rehab-bg-soft);text-align:left}.login-user-list button:hover,.login-user-list button.selected{border-color:var(--rehab-blue);background:#256ed917}.login-user-list button>span:last-child{min-width:0;display:grid;gap:2px}.login-user-list b,.login-user-list small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.login-user-list b{font-size:13px}.login-user-list small{color:var(--rehab-muted);font-size:11.5px}.role-dot{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:10px;color:var(--rehab-blue-strong);background:#e0f2fe;font-size:11px;font-weight:900}.role-dot.admin{color:#b76105;background:#d9770624}.role-dot.researcher{color:#166534;background:#dcfce7}.role-dot.doctor{color:#075985;background:#e0f2fe}.role-dot.patient{color:#047857;background:#d1fae5}.ghost-btn{border:1px solid #cbd5e1;background:#fff}.ghost-btn.small{min-height:32px;padding:0 10px;font-size:13px}.alert{padding:11px 12px;border:1px solid #bae6fd;border-radius:8px;color:#075985;background:#f0f9ff;font-size:14px}.alert.error{border-color:#fecaca;color:#991b1b;background:#fef2f2}.alert.warning{border-color:#fde68a;color:#92400e;background:#fffbeb}.alert.success{border-color:#bbf7d0;color:#166534;background:#f0fdf4}.app-shell{min-height:100vh;display:grid;grid-template-columns:268px minmax(0,1fr);transition:grid-template-columns .24s ease}.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr)}.sidebar-backdrop{display:none}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:20px;border-right:1px solid #e2e8f0;background:#fff;animation:panelIn .28s ease both}.sidebar-brand{display:flex;align-items:center;gap:12px}.sidebar-brand>div:last-of-type{min-width:0;flex:1 1 auto}.sidebar-collapse-btn,.sidebar-open-btn{width:38px;height:38px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 38px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-secondary);background:var(--rehab-card);box-shadow:var(--rehab-shadow-sm)}.sidebar-collapse-btn:hover,.sidebar-open-btn:hover{color:var(--rehab-blue-strong);border-color:#256ed938;background:#256ed914}.sidebar-brand strong{display:block;font-size:17px}.sidebar-brand span,.user-tile span,.eyebrow,.mini-metric span{color:#64748b;font-size:12px}.user-tile{display:grid;gap:8px;padding:12px;border:1px solid #e2e8f0;border-radius:8px;background:#f8fafc}.side-nav-card{display:grid;gap:10px;padding:12px;border:1px solid var(--rehab-line);border-radius:8px;background:#fff;box-shadow:var(--rehab-shadow-sm)}.side-nav-head{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--rehab-muted);font-size:11.5px;font-weight:900;text-transform:uppercase}.side-nav-head b{padding:3px 8px;border-radius:999px;color:var(--rehab-blue-strong);background:#256ed91a;font-size:11px}.side-nav{display:grid;gap:7px}.side-nav button{min-height:46px;width:100%;justify-content:flex-start;gap:8px;padding:9px 8px;border:1px solid transparent;color:var(--rehab-secondary);background:transparent;font-size:13px;line-height:1.24;transition:transform .18s ease,background .18s ease,border-color .18s ease,color .18s ease}.side-nav button span{min-width:0;flex:1 1 auto;text-align:left;display:block;white-space:normal;word-break:keep-all;overflow-wrap:break-word}.side-nav button b{width:22px;height:22px;display:grid;place-items:center;flex:0 0 22px;border-radius:999px;color:var(--rehab-muted);background:var(--rehab-bg-soft);font-size:10.5px}.side-nav button:hover,.side-nav button.active{color:var(--rehab-blue-strong);border-color:#256ed929;background:#256ed91a;transform:translate(3px)}.side-nav button.active b{color:#fff;background:var(--rehab-blue)}.side-info-card{display:grid;gap:10px;padding:14px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.side-info-card h3{margin:0;color:var(--rehab-primary);font-size:15px}.side-info-card p{margin:0;color:var(--rehab-secondary);font-size:13px;line-height:1.45}.side-kv{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:8px;border-top:1px solid var(--rehab-line)}.side-kv span{color:var(--rehab-muted);font-size:12px}.side-kv b{color:var(--rehab-blue-strong)}.side-feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding-top:8px;border-top:1px solid var(--rehab-line)}.side-feature-list span{min-width:0;padding:6px 8px;border:1px solid #e2e8f0;border-radius:8px;color:#334155;background:#fff;font-size:11.5px;font-weight:800}.logout-btn{margin-top:auto;border:1px solid #e2e8f0;background:#fff}.main-area{min-width:0;padding:24px;animation:panelIn .26s ease both;transition:opacity .12s ease,transform .12s ease}.main-area.view-pending{opacity:.92;transform:translateY(2px)}.topbar{min-height:72px;display:grid;grid-template-columns:minmax(220px,1fr) minmax(0,auto);align-items:center;gap:14px;padding:12px clamp(14px,2.6vw,28px);margin-bottom:24px;border:1px solid var(--rehab-line);border-radius:8px;background:#ffffffeb;box-shadow:var(--rehab-shadow-sm);-webkit-backdrop-filter:saturate(160%) blur(14px);backdrop-filter:saturate(160%) blur(14px)}.topbar-brand{min-width:0;display:flex;align-items:center;gap:11px}.topbar-brand>div:last-child{min-width:0;display:flex;flex-direction:column;line-height:1.1}.topbar-brand strong{color:var(--rehab-primary);font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:650;white-space:nowrap}.topbar-brand b{color:var(--rehab-blue)}.topbar-brand span{overflow:hidden;color:var(--rehab-muted);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;min-width:0;max-width:min(48vw,560px);overflow:hidden}.topbar-role{gap:6px;padding:6px 11px;border:1px solid rgba(37,110,217,.2);color:var(--rehab-blue-strong);background:#256ed91c;white-space:nowrap}.topbar-userchip{min-width:0;max-width:210px;display:flex;align-items:center;gap:10px}.topbar-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--rehab-blue);font-size:12px;font-weight:900;flex:0 0 auto}.topbar-userchip>div:last-child{min-width:0;display:grid;gap:2px}.topbar-userchip strong,.topbar-userchip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-userchip strong{color:var(--rehab-primary);font-size:13px}.topbar-userchip span{color:var(--rehab-muted);font-size:12px}.topbar-icon-btn{width:38px;height:38px;display:inline-grid;place-items:center;border:1px solid var(--rehab-line);border-radius:999px;color:var(--rehab-secondary);background:var(--rehab-card)}.topbar-icon-btn:hover{color:var(--rehab-blue-strong);border-color:#256ed940;background:#256ed914}.workspace-section{display:grid;gap:18px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-home,.doctor-home,.patient-home,.researcher-home{animation:viewFloatIn .36s ease-out both}.role-home-hero,.doctor-hero,.patient-hero-panel,.researcher-hero{position:relative;overflow:hidden}.role-home-hero:after,.doctor-hero:after,.patient-hero-panel:after,.researcher-hero:after{content:"";position:absolute;inset:auto -18% -46% 40%;height:150px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:rotate(-12deg);animation:heroSheen 7s ease-in-out infinite;pointer-events:none}.role-home-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);gap:18px;align-items:stretch;padding:24px;border:1px solid var(--rehab-line);border-radius:8px;background:radial-gradient(circle at 10% 12%,rgba(37,110,217,.14),transparent 28%),linear-gradient(135deg,#0f172af5,#1e40afdb),var(--rehab-primary);color:#f8fafc;box-shadow:var(--rehab-shadow-sm)}.role-home-hero.admin{background:radial-gradient(circle at 12% 18%,rgba(14,165,233,.2),transparent 28%),linear-gradient(135deg,#0f172af5,#14532ddb)}.role-home-hero.doctor{grid-template-columns:minmax(0,1fr) auto;color:var(--rehab-primary);background:radial-gradient(circle at 12% 12%,rgba(14,165,233,.14),transparent 26%),linear-gradient(135deg,#fffffffa,#eff6ffe6),var(--rehab-card)}.role-home-hero h1{max-width:820px;margin:10px 0 8px;color:inherit;font-size:clamp(29px,3vw,44px);line-height:1.12}.role-home-hero p{max-width:72ch;margin:0;color:#f8fafcd1;font-size:15.5px;line-height:1.6}.role-home-hero.doctor p{color:var(--rehab-secondary)}.dynamic-metric-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.dynamic-metric-strip article{display:flex;gap:12px;align-items:flex-start;min-height:112px;padding:15px;border:1px solid rgba(226,232,240,.22);border-radius:8px;background:#f8fafc1a;box-shadow:inset 0 1px #ffffff1a;animation:metricRise .46s ease-out both}.dynamic-metric-strip svg{flex:0 0 auto;color:#93c5fd}.dynamic-metric-strip b,.dynamic-metric-strip span,.dynamic-metric-strip small{display:block}.dynamic-metric-strip b{color:#fff;font-size:clamp(28px,3.5vw,42px);line-height:1}.dynamic-metric-strip span{margin-top:6px;color:#dbeafe;font-weight:900}.dynamic-metric-strip small{margin-top:4px;color:#bfdbfe;font-size:12px}.dynamic-metric-strip.light article{border-color:var(--rehab-line);background:var(--rehab-card);box-shadow:var(--rehab-shadow-sm)}.dynamic-metric-strip.light svg{color:var(--rehab-blue-strong)}.dynamic-metric-strip.light b,.dynamic-metric-strip.light span{color:var(--rehab-primary)}.dynamic-metric-strip.light small{color:var(--rehab-secondary)}.role-home-hero.doctor .dynamic-metric-strip article{border-color:var(--rehab-line);background:var(--rehab-card)}.role-home-hero.doctor .dynamic-metric-strip b{color:var(--rehab-primary)}.role-home-hero.doctor .dynamic-metric-strip span,.role-home-hero.doctor .dynamic-metric-strip small{color:var(--rehab-secondary)}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.dynamic-chart-panel{min-height:320px;animation:cardFloatIn .42s ease-out both}.mini-bar-chart{display:grid;gap:13px}.mini-bar-row{display:grid;grid-template-columns:minmax(110px,.42fr) minmax(140px,1fr) auto;gap:12px;align-items:center}.mini-bar-row span{min-width:0;color:var(--rehab-secondary);font-size:13px;font-weight:850}.mini-bar-row b{color:var(--rehab-primary);font-size:15px}.mini-bar-track{height:12px;overflow:hidden;border-radius:999px;background:var(--rehab-bg-soft)}.mini-bar-track em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#1f6fe0,#06b6d4);animation:barGrow .62s ease-out both}.quick-stat-list{display:grid;gap:10px}.quick-stat-list button{min-height:56px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-primary);background:var(--rehab-bg-soft);text-align:left}.quick-stat-list button:hover{border-color:#256ed959;background:#256ed914}.quick-stat-list svg{color:var(--rehab-blue-strong)}.quick-stat-list span{min-width:0;font-weight:850}.quick-stat-list b{color:var(--rehab-blue-strong);font-size:18px}.researcher-home{gap:18px}.researcher-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:18px;align-items:stretch;padding:24px;border:1px solid var(--rehab-line);border-radius:8px;background:linear-gradient(135deg,#0f172af2,#14532de6),var(--rehab-primary);color:#f8fafc;box-shadow:var(--rehab-shadow-sm)}.researcher-hero-copy{display:grid;align-content:center;gap:14px}.researcher-hero h1{max-width:860px;margin:0;color:#fff;font-size:clamp(30px,3.2vw,48px);line-height:1.08;letter-spacing:0}.researcher-hero p{max-width:76ch;margin:0;color:#dbeafe;font-size:15.5px;line-height:1.6}.researcher-hero .role-pill{justify-self:start;border-color:#bbf7d06b}.researcher-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.researcher-command-panel{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.researcher-command-panel>div{display:grid;align-content:space-between;min-height:116px;padding:16px;border:1px solid rgba(226,232,240,.2);border-radius:8px;background:#f8fafc1a;box-shadow:inset 0 1px #ffffff1a}.researcher-command-panel span{color:#bfdbfe;font-size:12px;font-weight:900;text-transform:uppercase}.researcher-command-panel strong{margin-top:18px;color:#fff;font-size:clamp(30px,4vw,48px);line-height:.95}.researcher-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.researcher-pipeline{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.researcher-pipeline article{display:flex;gap:12px;min-height:96px;padding:14px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card)}.researcher-pipeline svg{flex:0 0 auto;color:var(--rehab-blue-strong)}.researcher-pipeline strong,.researcher-pipeline span{display:block}.researcher-pipeline strong{color:var(--rehab-primary);font-size:14px}.researcher-pipeline span{margin-top:5px;color:var(--rehab-secondary);font-size:12.5px;line-height:1.4}.researcher-dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.researcher-chart-panel,.researcher-latest-panel{min-height:360px}.researcher-latest-panel{grid-column:span 1}.researcher-distribution{display:grid;gap:14px}.researcher-distribution>div{display:grid;gap:7px}.researcher-distribution span{display:flex;align-items:center;gap:8px;color:var(--rehab-secondary);font-size:12px;font-weight:900}.researcher-distribution span i{width:10px;height:10px;display:inline-block;border-radius:999px}.researcher-distribution b{color:var(--rehab-primary);font-size:22px;line-height:1}.researcher-bar{height:10px;overflow:hidden;border-radius:999px;background:var(--rehab-bg-soft)}.researcher-bar em{display:block;height:100%;border-radius:inherit}.researcher-video-list{display:grid;gap:10px}.researcher-video-list article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 12px;padding:12px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.researcher-video-list b,.researcher-video-list span,.researcher-video-list small{display:block}.researcher-video-list b{color:var(--rehab-primary);font-size:14px}.researcher-video-list span,.researcher-video-list small{color:var(--rehab-muted);font-size:12px;line-height:1.35}.researcher-video-list strong{align-self:start;padding:4px 9px;border-radius:999px;color:#334155;background:#e2e8f0;font-size:12px;white-space:nowrap}.researcher-video-list strong.pass{color:#166534;background:#dcfce7}.researcher-video-list strong.near{color:#075985;background:#e0f2fe}.researcher-video-list strong.fail{color:#991b1b;background:#fee2e2}.researcher-video-list small{grid-column:1 / -1}.patient-home{gap:20px}.patient-hero-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.42fr);gap:20px;padding:24px;border:1px solid var(--rehab-line);border-radius:8px;background:linear-gradient(135deg,#0284c71f,#256ed90d),var(--rehab-card)}.patient-hero-panel h1{max-width:760px;margin:10px 0 8px;color:var(--rehab-primary);font-size:clamp(28px,3vw,42px);line-height:1.12}.patient-hero-panel p{max-width:68ch;margin:0;color:var(--rehab-secondary);font-size:16px;line-height:1.55}.patient-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:center}.patient-hero-metrics span{display:grid;gap:5px;padding:14px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card);color:var(--rehab-muted);font-size:12px;font-weight:850}.patient-hero-metrics b{color:var(--rehab-blue-strong);font-size:27px;line-height:1}.patient-guide-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,.75fr);gap:16px;align-items:start}.exercise-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.exercise-tabs button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-secondary);background:var(--rehab-bg-soft);font-weight:900}.exercise-tabs button span{color:var(--rehab-blue-strong)}.exercise-tabs button.active{color:var(--rehab-blue-strong);border-color:#256ed947;background:#256ed91a}.exercise-guide-card{display:grid;gap:16px;margin-top:14px;padding:16px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.guide-kicker{color:var(--rehab-blue-strong);font-size:12px;font-weight:950;text-transform:uppercase}.exercise-guide-card h3{margin:6px 0;font-size:22px}.exercise-guide-card p,.exercise-guide-card li{color:var(--rehab-secondary);line-height:1.5}.guide-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.guide-columns h4{margin:10px 0 6px;color:var(--rehab-primary)}.guide-columns ol,.guide-columns ul{margin:0;padding-left:20px}.youtube-panel{display:grid;gap:12px}.youtube-panel iframe{width:100%;aspect-ratio:16 / 10;border:0;border-radius:8px;background:#020617}.upload-dropzone{min-height:188px;display:grid;place-items:center;gap:8px;padding:20px;border:1.5px dashed rgba(2,132,199,.35);border-radius:8px;color:var(--rehab-secondary);background:#0284c712;text-align:center}.upload-dropzone strong{color:var(--rehab-primary);font-size:16px}.upload-dropzone span{max-width:42ch;color:var(--rehab-muted);font-size:13px;line-height:1.45}.patient-upload-form{display:grid;gap:12px}.patient-upload-form label:not(.upload-dropzone){display:grid;gap:6px;color:var(--rehab-secondary);font-size:13px;font-weight:850}.patient-upload-form select{min-height:40px;border:1px solid var(--rehab-line);border-radius:8px;padding:0 10px;color:var(--rehab-primary);background:var(--rehab-card);font-weight:800}.upload-dropzone-live{cursor:pointer}.upload-dropzone-live input{width:100%;max-width:360px;color:var(--rehab-secondary);font-size:12px}.patient-note-list,.evaluation-timeline{display:grid;gap:10px}.evaluation-scroll-card{max-height:min(420px,54vh);overflow:hidden}.evaluation-scroll-card .evaluation-timeline{max-height:min(332px,42vh);overflow-y:auto;padding-right:6px;scrollbar-gutter:stable}.patient-note-list article,.evaluation-timeline article{display:grid;gap:6px;padding:12px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card)}.evaluation-timeline article>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.patient-note-list b,.evaluation-timeline b{color:var(--rehab-primary)}.patient-note-list span,.evaluation-timeline span{color:var(--rehab-muted);font-size:12px;font-weight:800}.patient-note-list p,.evaluation-timeline p{margin:0;color:var(--rehab-secondary);line-height:1.45;white-space:pre-wrap}.stat-card,.panel{background:var(--rehab-card);border:1px solid var(--rehab-line);border-radius:8px}.stat-card{min-height:118px;display:flex;gap:14px;padding:16px}.stat-icon{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;color:#075985;background:#e0f2fe}.stat-card strong{display:block;font-size:27px;line-height:1}.stat-card span{display:block;margin-top:8px;color:var(--rehab-secondary);font-weight:700}.stat-card small{display:block;margin-top:4px;color:var(--rehab-muted)}.panel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.panel-grid.admin-grid{grid-template-columns:minmax(320px,.72fr) minmax(0,1.28fr)}.result-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.video-list{display:grid;gap:8px;max-height:620px;overflow:auto}.video-list button{min-width:0;display:grid;gap:4px;padding:11px 12px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-primary);background:var(--rehab-bg-soft);text-align:left}.video-list button.active,.video-list button:hover{border-color:var(--rehab-blue);background:#256ed91a}.video-list b,.video-list span,.video-list small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-list b{line-height:1.28;white-space:normal;overflow-wrap:anywhere}.video-list span,.video-list small{color:var(--rehab-muted);font-size:12px}.artifact-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}.artifact-badges i{min-height:20px;display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;color:#94a3b8;background:#f1f5f9;font-size:10.5px;font-style:normal;font-weight:900}.artifact-badges i.on{color:var(--rehab-blue-strong);background:#256ed91f}.result-detail{display:grid;gap:16px;min-width:0}.result-layout .video-picker,.doctor-eval-layout .doctor-video-selector{width:100%}.result-layout .video-list,.doctor-eval-layout .video-list{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));max-height:260px;padding-right:4px}.admin-analysis-panel,.pose-classifier-card,.hf-sync-panel{display:grid;gap:14px}.admin-control-grid,.pose-status-grid,.hf-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.pose-status-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.hf-status-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pose-status-grid>div,.hf-status-grid>div,.analysis-status-card{min-width:0;display:grid;gap:5px;padding:12px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.pose-status-grid span,.hf-status-grid span,.analysis-status-card span{color:var(--rehab-muted);font-size:12px;font-weight:800}.pose-status-grid strong,.hf-status-grid strong,.analysis-status-card strong{min-width:0;overflow-wrap:anywhere;color:var(--rehab-primary);font-size:14px}.admin-action-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.analysis-status-card{grid-template-columns:minmax(180px,.28fr) minmax(0,1fr);align-items:center}.analysis-status-card small{color:var(--rehab-muted);font-size:12px;line-height:1.35}.analysis-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.analysis-steps span{min-height:30px;display:inline-flex;align-items:center;justify-content:center;padding:4px 8px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-muted);background:var(--rehab-card);font-size:11.5px;font-weight:900;text-align:center}.analysis-steps .done{color:#047857;border-color:#a7f3d0;background:#ecfdf5}.analysis-steps .active{color:var(--rehab-blue-strong);border-color:#bae6fd;background:#f0f9ff}.analysis-steps .pending{color:#64748b}.analysis-steps .error,.analysis-steps .canceled{color:#991b1b;border-color:#fecaca;background:#fef2f2}.selected-analysis-panel{border-color:#256ed92e;background:var(--rehab-card)}.artifact-export-panel{display:grid;gap:10px;padding:12px;border:1px solid rgba(37,110,217,.22);border-radius:8px;background:#256ed90f}.artifact-export-panel.compact{background:var(--rehab-bg-soft)}.artifact-export-panel>div:first-child{display:grid;gap:3px}.bundle-save-btn{min-height:34px;width:max-content;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid rgba(5,150,105,.28);border-radius:8px;color:#047857;background:#0596691a;font-size:12px;font-weight:900;transition:transform .18s ease,background .18s ease,border-color .18s ease}.bundle-save-btn:hover:not(:disabled){transform:translateY(-1px);border-color:#0596696b;background:#05966929}.bundle-save-btn:disabled{cursor:wait;opacity:.65}.artifact-export-panel strong{color:var(--rehab-primary);font-size:14px}.artifact-export-panel span,.artifact-export-panel small{color:var(--rehab-muted);font-size:12px;font-weight:800;line-height:1.35}.artifact-export-grid{display:grid;gap:8px}.artifact-export-row{display:grid;grid-template-columns:minmax(130px,1fr) repeat(2,minmax(112px,auto)) minmax(110px,auto) minmax(110px,auto);align-items:center;gap:8px;padding:8px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card)}.artifact-export-row b{min-width:0;overflow:hidden;color:var(--rehab-primary);font-size:12.5px;text-overflow:ellipsis;white-space:nowrap}.artifact-export-row button,.artifact-export-row a{min-height:32px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid rgba(37,110,217,.25);border-radius:8px;color:var(--rehab-blue-strong);background:#fff;font-size:12px;font-weight:900;text-decoration:none}.artifact-export-row button:disabled{cursor:wait;opacity:.6}.analysis-progress-hero{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px 14px;align-items:center;padding:14px;border:1px solid rgba(37,110,217,.24);border-radius:8px;background:linear-gradient(135deg,#256ed917,#0ea5e90f),var(--rehab-card)}.analysis-progress-hero>div:first-child{display:grid;gap:4px}.analysis-progress-hero b{color:var(--rehab-primary);font-size:15px}.analysis-progress-hero span,.analysis-progress-hero small{color:var(--rehab-muted);font-size:12.5px;font-weight:850;line-height:1.4}.analysis-progress-hero>strong{color:var(--rehab-blue-strong);font-size:22px}.analysis-progress-track{grid-column:1 / -1;height:8px;overflow:hidden;border-radius:999px;background:#64748b2e}.analysis-progress-track i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--rehab-blue),#16a34a);transition:width .22s ease}.analysis-progress-hero.running .analysis-progress-track i{animation:analysis-progress-pulse 1.1s ease-in-out infinite}@keyframes analysis-progress-pulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.28)}}.analysis-progress-hero small{grid-column:1 / -1}.analysis-frame-live{grid-column:1 / -1;display:grid;grid-template-columns:auto auto minmax(120px,auto) minmax(150px,auto) minmax(160px,1fr);align-items:center;gap:8px;padding:8px 10px;border:1px solid rgba(22,163,74,.22);border-radius:8px;background:#16a34a14}.analysis-frame-live .live-dot{width:9px;height:9px;border-radius:999px;background:#22c55e;box-shadow:0 0 #22c55e8c;animation:analysis-live-dot 1s ease-out infinite}.analysis-frame-live b,.analysis-frame-live strong,.analysis-frame-live small{color:var(--rehab-primary);font-size:12px}.analysis-frame-live small{color:var(--rehab-muted);font-weight:800}.analysis-frame-live strong{color:#16a34a;font-variant-numeric:tabular-nums}.analysis-frame-live i{height:7px;overflow:hidden;border-radius:999px;background:#64748b33}.analysis-frame-live em{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#22c55e,#60a5fa);transition:width .18s ease}@keyframes analysis-live-dot{0%{box-shadow:0 0 #22c55e8c}to{box-shadow:0 0 0 8px #22c55e00}}.job-history-list{display:grid;gap:8px}.job-history-list div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:8px;padding:10px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.job-history-list b{color:var(--rehab-primary);font-size:12px;text-transform:uppercase}.job-history-list span{min-width:0;overflow-wrap:anywhere;color:var(--rehab-muted);font-size:12px}.doctor-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr);gap:18px;padding:24px;border:1px solid rgba(37,110,217,.24);border-radius:8px;background:linear-gradient(135deg,#e0f2fed1,#fffffff0),var(--rehab-card)}.doctor-hero h1{max-width:980px;margin:12px 0 10px;color:var(--rehab-primary);font-size:clamp(28px,3vw,44px);line-height:1.14}.doctor-hero p{max-width:72ch;margin:0;color:var(--rehab-secondary);font-size:16px;line-height:1.7}.doctor-hero-actions,.doctor-eval-form,.doctor-ai-panel,.doctor-media-panel{display:grid;gap:12px}.doctor-insight-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.doctor-insight-grid article,.research-form-grid span{padding:16px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card)}.doctor-insight-grid span{color:var(--rehab-blue-strong);font-weight:950}.doctor-insight-grid h3{margin:8px 0;color:var(--rehab-primary)}.doctor-insight-grid p{margin:0;color:var(--rehab-secondary);line-height:1.55}.doctor-subtabs,.schedule-tabs{display:flex;flex-wrap:wrap;gap:8px;padding:8px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.doctor-subtabs button,.schedule-tabs button{min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 14px;border:1px solid transparent;border-radius:8px;color:var(--rehab-secondary);background:transparent;font-weight:900}.doctor-subtabs button.active,.schedule-tabs button.active{color:var(--rehab-blue-strong);border-color:#256ed933;background:var(--rehab-card);box-shadow:var(--rehab-shadow-sm)}.doctor-eval-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.doctor-run-analysis-split{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(360px,1.1fr);gap:14px;align-items:start;margin-bottom:14px}.doctor-run-analysis-split .selected-analysis-panel{margin:0}.doctor-raw-video-card{display:grid;gap:10px}.compact-list{max-height:260px}.doctor-selected-head{display:flex;justify-content:space-between;gap:14px;margin-bottom:14px}.doctor-selected-head>div{min-width:0}.doctor-selected-head h2{margin:8px 0 4px;color:var(--rehab-primary);overflow-wrap:anywhere;line-height:1.2}.doctor-selected-head p{margin:0;color:var(--rehab-secondary);overflow-wrap:anywhere}.doctor-video-preview video,.doctor-video-review-card video,.doctor-media-panel>video{width:100%;max-height:520px;border-radius:8px;background:#020617}.phase-video-player{display:grid;gap:10px}.phase-video-player video{width:100%;max-height:660px;border-radius:8px;background:#020617}.video-phase-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.video-phase-controls button{min-height:50px;display:grid;gap:2px;align-content:center;padding:8px 10px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-secondary);background:var(--rehab-card);text-align:left}.video-phase-controls button.active,.video-phase-controls button:hover{color:var(--rehab-blue-strong);border-color:#256ed973;background:#256ed91a}.video-phase-controls b,.video-phase-controls span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.video-phase-controls span{color:var(--rehab-muted);font-size:12px;font-weight:800}.research-form-header{display:grid;gap:4px;padding:16px;border:1px solid rgba(37,110,217,.22);border-radius:8px;color:var(--rehab-primary);background:linear-gradient(135deg,#e0f2fec7,#ffffffeb);text-align:center}.research-form-header b{font-size:18px}.research-form-header span{color:var(--rehab-secondary);font-size:13px}.research-section{display:grid;gap:12px;padding:14px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.research-section h3{margin:0;color:var(--rehab-primary);font-size:15px}.research-section-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.research-section-grid .span-two{grid-column:span 2}.checkbox-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;padding:10px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card)}.research-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.research-form-grid b{display:block;margin-bottom:4px;color:var(--rehab-muted);font-size:11px;text-transform:uppercase}.schedule-composer{background:var(--rehab-card)}.symptom-accordion{padding:0;overflow:hidden}.symptom-accordion summary{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;color:var(--rehab-primary);cursor:pointer;font-weight:900}.symptom-accordion summary span{display:inline-flex;align-items:center;gap:8px}.symptom-accordion summary b,.schedule-target-note{padding:5px 9px;border-radius:999px;color:var(--rehab-blue-strong);background:#256ed91a;font-size:12px}.symptom-accordion .table-wrap{margin:0 16px 16px}.schedule-target-note{display:inline-flex;width:fit-content;gap:4px;border-radius:8px}.evaluation-form-preview textarea,.schedule-composer textarea{min-height:96px}.info-list{display:grid;gap:9px}.info-list span{display:block;padding:10px 12px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-secondary);background:var(--rehab-card);font-size:13px;line-height:1.45}.info-copy{margin:0;color:var(--rehab-secondary);font-size:14px;line-height:1.65}.info-copy+.info-list{margin-top:12px}.info-kicker{display:grid;place-items:center;gap:6px;text-align:center}.info-kicker span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 22px;border:1px solid rgba(14,165,233,.5);border-radius:999px;color:#fff;background:linear-gradient(135deg,#2563eb,#06b6d4);box-shadow:0 12px 30px #2563eb38;font-weight:950}.info-kicker small{color:var(--rehab-secondary);font-weight:750}.info-breadcrumb{color:var(--rehab-secondary);font-size:13px;font-weight:850}.info-breadcrumb b{color:var(--rehab-primary)}.info-hero{display:grid;place-items:center;gap:12px;min-height:220px;padding:28px;border:1px solid rgba(14,165,233,.35);border-radius:8px;background:radial-gradient(circle at 50% 0%,rgba(14,165,233,.2),transparent 44%),linear-gradient(135deg,#0f172a0d,#2563eb14),var(--rehab-card);text-align:center}.info-hero h1{max-width:1160px;margin:0;color:var(--rehab-primary);font-size:clamp(22px,2.1vw,32px);line-height:1.34;text-transform:uppercase}.info-hero p,.info-hero strong{margin:0;color:var(--rehab-secondary);font-size:15px}.info-tabs-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;border-bottom:1px solid var(--rehab-line)}.info-tabs-row button{min-height:44px;display:inline-flex;align-items:center;padding:0 18px;border:0;border-bottom:3px solid transparent;color:var(--rehab-secondary);background:transparent;font-size:13px;font-weight:900;text-transform:uppercase}.info-tabs-row button.active{color:#075985;border-color:var(--rehab-blue);background:#e0f2fe}.info-panel-grid{grid-template-columns:1fr;align-items:stretch}.info-panel-grid>.panel,.info-panel-grid>.wide-panel{grid-column:1 / -1;width:100%}.info-feature-card{min-height:260px}.patient-upload-guide-panel,.patient-research-page,.nckh-page{display:grid;gap:18px}.patient-research-heading,.nckh-title-box{display:grid;justify-items:center;gap:12px;padding:clamp(22px,4vw,34px);border-radius:8px;text-align:center}.patient-research-heading{border:1px solid rgba(14,165,233,.42);background:radial-gradient(circle at 50% 0%,rgba(14,165,233,.2),transparent 48%),linear-gradient(135deg,#f8fafcfa,#dbeafe9e)}.patient-research-heading b{display:inline-flex;align-items:center;min-height:30px;padding:0 14px;border-radius:999px;color:#166534;background:#dcfce7;font-size:13px;font-weight:950}.patient-research-heading h3{max-width:1040px;margin:0;color:var(--rehab-primary);font-size:clamp(20px,2.1vw,30px);line-height:1.34}.patient-research-heading p{margin:0;color:var(--rehab-blue-strong);font-size:16px;font-weight:900}.nckh-title-box{border:1px solid rgba(37,110,217,.52);background:radial-gradient(circle at 50% 0%,rgba(14,165,233,.16),transparent 50%),linear-gradient(135deg,#fff,#f1f5f9)}.nckh-title-box b{color:var(--rehab-primary);font-size:clamp(20px,2vw,28px)}.nckh-title-box span{color:var(--rehab-blue-strong);font-size:18px;font-weight:850}.nckh-title-box p,.nckh-title-box small{margin:0;color:var(--rehab-secondary);font-size:15px}.patient-guide-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.patient-guide-steps article{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;padding:16px;border:1px solid rgba(37,110,217,.24);border-radius:8px;background:linear-gradient(180deg,#256ed914,#0ea5e90a),var(--rehab-card)}.patient-guide-steps article>b{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:999px;color:#fff;background:var(--rehab-blue);font-size:14px;line-height:1}.patient-guide-steps strong{display:block;margin-bottom:6px;color:var(--rehab-primary);font-size:14px}.patient-guide-steps span{color:var(--rehab-secondary);font-size:13px;line-height:1.5}.patient-guide-note{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border:1px solid rgba(245,158,11,.35);border-radius:8px;color:#92400e;background:#fffbeb;font-weight:750;line-height:1.5}.research-accordion,.research-story{display:grid;gap:12px}.research-accordion details,.research-story details{border:1px solid rgba(6,182,212,.35);border-radius:8px;background:var(--rehab-card);overflow:hidden}.research-accordion summary,.research-story summary{min-height:48px;display:flex;align-items:center;padding:0 16px;color:var(--rehab-primary);cursor:pointer;font-size:16px;font-weight:800}.research-accordion p,.research-story p{margin:0;padding:18px 24px;border-top:1px solid var(--rehab-line);color:var(--rehab-secondary);font-size:16px;line-height:1.65}.research-detail-body{display:grid;gap:12px;padding:18px 24px;border-top:1px solid var(--rehab-line);color:var(--rehab-secondary);font-size:16px;line-height:1.65}.research-detail-body p{margin:0}.research-detail-body ul,.research-detail-body ol{margin:0;padding-left:22px}.research-detail-body li+li{margin-top:8px}.patient-research-accordion details.tone-warning{border-color:#f59e0b80;background:#fffbeb}.patient-research-accordion details.tone-success{border-color:#22c55e73;background:#f0fdf4}.expected-metrics-grid.compact{margin-top:0}.research-title-box{display:grid;gap:12px;padding:28px;border:1px solid rgba(37,110,217,.42);border-radius:8px;background:radial-gradient(circle at 50% 0%,rgba(14,165,233,.18),transparent 50%),linear-gradient(135deg,#2563eb1a,#1e40af14),var(--rehab-bg-soft);text-align:center}.research-title-box.dynamic{margin-bottom:14px}.research-title-box b{color:var(--rehab-primary);font-size:18px;text-transform:uppercase}.research-title-box span{color:var(--rehab-secondary);font-size:16px}.expected-metrics-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.expected-metrics-grid div{display:grid;gap:6px;padding:14px;border:1px solid rgba(14,165,233,.38);border-radius:8px;background:#0ea5e90f}.expected-metrics-grid span{color:var(--rehab-secondary);font-weight:850}.expected-metrics-grid strong{color:var(--rehab-primary);font-size:32px;line-height:1}.team-showcase{display:grid;gap:18px;margin-top:22px;padding-top:22px;border-top:1px solid var(--rehab-line)}.team-showcase h3{margin:0;color:var(--rehab-primary);font-size:22px}.mentor-grid,.member-grid,.contact-card-grid{display:grid;gap:14px}.mentor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.member-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.mentor-grid article,.member-grid article,.owner-card,.partner-card,.contact-card{min-width:0;display:grid;gap:7px;padding:20px;border:1px solid rgba(6,182,212,.35);border-radius:8px;color:var(--rehab-primary);background:var(--rehab-card);text-align:center}.mentor-grid b,.member-grid b,.owner-card b,.partner-card b,.contact-card h3{color:var(--rehab-primary);font-size:18px}.mentor-grid span,.member-grid span,.owner-card span,.partner-card span,.contact-card p{margin:0;color:var(--rehab-secondary)}.mentor-grid small,.member-grid small,.owner-card small,.partner-card small,.contact-card a{color:#0891b2;font-weight:900;overflow-wrap:anywhere}.owner-card{width:min(700px,100%);justify-self:center;border-color:#eab308b3}.contact-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-card{text-align:center}.contact-card.cyan{border-color:#06b6d4cc}.contact-card.red{border-color:#ef4444cc}.contact-card.cyan h3,.contact-card.cyan strong{color:#06b6d4}.contact-card.red h3,.contact-card.red strong{color:#ef4444}.contact-card strong{display:block;margin-top:6px;font-size:24px}.map-panel{display:grid;gap:14px;margin-top:18px;padding:20px;border:1px solid rgba(6,182,212,.35);border-radius:8px;background:var(--rehab-card)}.map-panel>div{display:flex;align-items:center;justify-content:space-between;gap:14px}.map-panel h3{margin:0;color:var(--rehab-blue-strong);font-size:24px}.map-panel p{margin:0;color:var(--rehab-secondary);font-weight:850}.map-panel iframe{width:100%;min-height:320px;border:0;border-radius:8px;background:var(--rehab-bg-soft)}.feedback-panel{grid-column:1 / -1}.feedback-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:16px;align-items:start}.feedback-recent{display:grid;gap:10px}.feedback-recent h3{margin:0;font-size:17px}.pose-classifier-card{padding:14px;border:1px solid var(--rehab-line);border-radius:8px;background:#fff}.result-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.result-head>div{min-width:0}.result-head h2,.result-head p{margin:0}.result-head h2{font-size:20px;line-height:1.2;overflow-wrap:anywhere}.result-head p{margin-top:4px;color:var(--rehab-muted);overflow-wrap:anywhere}.result-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.result-subtabs{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;padding:5px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.result-subtabs button{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 13px;border:1px solid transparent;border-radius:8px;color:var(--rehab-muted);background:transparent;font-size:13px;font-weight:900}.result-subtabs button.active{color:var(--rehab-blue-strong);border-color:#256ed92e;background:#fff;box-shadow:var(--rehab-shadow-sm)}.video-group-line{color:var(--rehab-blue-strong)!important;font-weight:900}.phase-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.phase-strip span{display:grid;gap:4px;padding:12px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-blue-strong);background:#256ed917;font-weight:900}.phase-strip b{color:var(--rehab-muted);font-size:12px}.result-summary .stat-card{min-height:96px}.ml-status-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.ml-status-strip div{min-width:0;padding:12px;border:1px solid var(--rehab-line);border-radius:8px;background:#fff}.ml-status-strip span{display:block;color:var(--rehab-muted);font-size:11.5px;font-weight:900;text-transform:uppercase}.ml-status-strip strong{display:block;margin-top:4px;overflow:hidden;color:var(--rehab-primary);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.result-card{min-width:0;display:grid;gap:12px;padding:14px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.result-card h3{margin:0;font-size:16px}.result-card video{width:100%;max-height:560px;border-radius:8px;background:#000}.video-fallback-frame{width:100%;max-height:560px;border-radius:8px;object-fit:contain;background:#020617}.result-chart{width:100%;height:230px;min-height:0}.result-chart line{stroke:#cbd5e1;stroke-width:1.2}.result-chart .chart-grid-line{stroke:#94a3b847;stroke-width:1}.result-chart path{fill:none;stroke:var(--rehab-blue);stroke-width:3.4;stroke-linecap:round;stroke-linejoin:round}.result-chart circle{fill:var(--rehab-blue-strong)}.result-chart text{fill:var(--rehab-muted);font-size:10px;font-weight:700}.result-chart .chart-axis-label{fill:var(--rehab-secondary);font-size:10px;font-weight:900}.chart-dashboard{background:var(--rehab-card)}.chart-summary-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px;margin-bottom:10px}.chart-title-row{justify-content:space-between;gap:12px}.chart-title-row>div{min-width:0;display:flex;align-items:center;gap:9px}.chart-send-btn{min-height:34px;display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:0 12px;border:1px solid rgba(5,150,105,.28);border-radius:8px;color:#047857;background:#0596691a;font-size:12px;font-weight:900}.chart-send-btn:hover:not(:disabled){background:#05966929}.chart-send-btn:disabled{cursor:wait;opacity:.65}.chart-phase-row{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px;padding:8px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.chart-phase-row button{min-height:38px;display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-secondary);background:var(--rehab-card);font-size:12px}.chart-phase-row button.active{color:var(--rehab-blue-strong);border-color:#256ed959;background:#256ed91c}.chart-phase-row span{color:var(--rehab-muted);font-weight:800}.chart-summary-strip span{min-width:0;display:grid;gap:5px;padding:9px 10px;border:1px solid rgba(37,110,217,.18);border-radius:8px;background:linear-gradient(180deg,#e0f2fec7,#ffffffd1)}.chart-summary-strip b{color:var(--rehab-muted);font-size:11px;font-weight:900;text-transform:uppercase}.chart-summary-strip strong{overflow-wrap:anywhere;color:var(--rehab-blue-strong);font-size:16px;line-height:1.1}.chart-tabs-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:12px}.chart-tabs-grid article{min-width:0;display:grid;gap:10px;padding:12px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.chart-tabs-grid article:hover{transform:translateY(-1px);border-color:#256ed933;box-shadow:var(--rehab-shadow-sm)}.chart-tabs-grid article.wide-chart-card{grid-column:auto}.chart-tabs-grid h3{margin:0;color:var(--rehab-primary);font-size:14px}.chart-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.chart-card-head h3{min-width:0}.chart-card-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.chart-download-btn{min-height:30px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 10px;border:1px solid rgba(37,110,217,.25);border-radius:8px;color:var(--rehab-blue-strong);background:#256ed914;font-size:12px;font-weight:900}.chart-download-btn:hover:not(:disabled){background:#256ed924}.chart-download-btn:disabled{cursor:wait;opacity:.65}.chart-export-error{color:var(--rehab-danger);font-weight:800}.chart-zoom-modal-inner{width:min(1180px,96vw)}.chart-zoom-modal img{max-height:78vh;background:var(--rehab-card)}.chart-zoom-content{width:min(1040px,92vw);display:grid;gap:12px;padding:12px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.chart-zoom-content .result-chart,.chart-zoom-content .histogram-chart,.chart-zoom-content .status-boxplot-chart{height:min(58vh,520px)}.chart-zoom-content .radar-chart{width:min(440px,82vw)}.chart-shell{min-width:0;display:grid;gap:8px}.chart-legend,.pie-legend{display:flex;flex-wrap:wrap;gap:8px}.chart-legend span,.pie-legend span{display:inline-flex;align-items:center;gap:5px;color:var(--rehab-muted);font-size:12px;font-weight:800}.chart-legend i,.pie-legend i{width:10px;height:10px;border-radius:999px}.chart-legend span.dashed i{height:4px;border-radius:999px}.histogram{height:170px;display:grid;grid-template-columns:repeat(18,minmax(0,1fr));align-items:end;gap:4px;padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:var(--rehab-card)}.histogram div{height:100%;display:flex;align-items:end}.histogram span{width:100%;min-height:5px;border-radius:6px 6px 2px 2px}.histogram-chart,.status-boxplot-chart{width:100%;height:210px;min-height:0;display:block}.histogram-chart line,.status-boxplot-chart line{stroke:#cbd5e1;stroke-width:1.1}.histogram-chart .chart-grid-line,.status-boxplot-chart .chart-grid-line{stroke:#94a3b84d;stroke-width:1}.histogram-chart .chart-tick,.histogram-chart .chart-axis-label,.status-boxplot-chart .chart-tick,.status-boxplot-chart .chart-axis-label,.status-boxplot-chart .chart-category,.status-boxplot-chart .boxplot-value-label,.status-boxplot-chart .boxplot-empty-label{fill:var(--rehab-muted);font-size:10px;font-weight:800}.histogram-chart .chart-axis-label,.status-boxplot-chart .chart-axis-label{fill:var(--rehab-secondary);font-size:10px;font-weight:900}.status-boxplot-chart .chart-category{fill:var(--rehab-primary);text-anchor:middle}.status-boxplot-chart .boxplot-value-label,.status-boxplot-chart .boxplot-empty-label{fill:var(--rehab-muted);font-size:9px;text-anchor:middle}.status-boxplot-chart .boxplot-whisker-line{stroke:#94a3b8;stroke-width:1.6}.status-boxplot-chart .boxplot-cap-line,.status-boxplot-chart .boxplot-median-line{stroke-width:2;stroke-linecap:round}.status-boxplot-chart .boxplot-svg-box{fill:#ffffffb8;stroke-width:2}.status-boxplot-chart .boxplot-empty-box{fill:#e2e8f0b8;stroke:#94a3b859;stroke-dasharray:4 4}.result-distribution{min-height:170px;display:grid;grid-template-columns:118px minmax(0,1fr);align-items:center;gap:12px}.phase-distribution-grid{display:grid;gap:10px;margin-top:14px}.phase-distribution-grid section{display:grid;gap:8px;padding:10px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-bg-soft)}.phase-distribution-grid h4{margin:0;color:var(--rehab-primary);font-size:12px;line-height:1.3}.phase-distribution-grid .result-distribution{min-height:96px;grid-template-columns:72px minmax(0,1fr)}.phase-distribution-grid .donut-chart{width:68px;border-width:5px}.phase-distribution-grid .donut-chart:after{top:17px;right:17px;bottom:17px;left:17px}.phase-distribution-grid .donut-chart b{font-size:15px}.phase-distribution-grid small{color:var(--rehab-muted);font-size:11px;font-weight:850}.donut-chart{position:relative;width:112px;aspect-ratio:1;border-radius:999px;border:8px solid var(--rehab-card);box-shadow:inset 0 0 0 1px #e2e8f0,var(--rehab-shadow-sm)}.donut-chart:after{content:"";position:absolute;top:21px;right:21px;bottom:21px;left:21px;border-radius:999px;background:var(--rehab-bg-soft)}.donut-chart span{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:grid;place-items:center;align-content:center;color:var(--rehab-muted);font-size:11px;font-weight:900;text-align:center}.donut-chart b{display:block;color:var(--rehab-primary);font-size:20px;line-height:1}.chart-phase-note{color:var(--rehab-muted);font-size:12px;font-weight:850}.distribution-bars{display:grid;gap:10px}.distribution-bars div{min-width:0;display:grid;grid-template-columns:minmax(72px,.5fr) auto;align-items:center;gap:8px}.distribution-bars span,.distribution-bars strong{color:var(--rehab-primary);font-size:12px;font-weight:900}.distribution-bars span{display:inline-flex;align-items:center;gap:6px}.distribution-bars i{width:10px;height:10px;border-radius:999px}.distribution-bars em{grid-column:1 / -1;height:9px;overflow:hidden;border-radius:999px;background:var(--rehab-line)}.distribution-bars em b{display:block;height:100%;border-radius:inherit}.boxplot-list{display:grid;gap:12px}.boxplot-row{display:grid;grid-template-columns:54px minmax(0,1fr) 86px;align-items:center;gap:9px}.boxplot-row b{font-size:12px}.boxplot-row small{color:var(--rehab-muted);font-size:11.5px}.vertical-boxplot-list{grid-template-columns:repeat(3,minmax(92px,1fr));align-items:end;min-height:250px}.boxplot-column{display:grid;justify-items:center;align-items:end;gap:8px;min-width:0}.boxplot-column b{font-size:12px}.boxplot-column small{color:var(--rehab-muted);font-size:11.5px;text-align:center;min-height:30px}.boxplot-track{position:relative;height:30px;border-radius:999px;background:#e2e8f0}.boxplot-track.empty{background:repeating-linear-gradient(90deg,#94a3b838 0,#94a3b838 8px,#94a3b814 8px,#94a3b814 16px),#e2e8f0}.boxplot-whisker,.boxplot-box,.boxplot-mid{position:absolute;top:50%;transform:translateY(-50%)}.boxplot-whisker{height:2px;background:#94a3b8}.boxplot-box{height:18px;border:2px solid var(--rehab-blue);border-radius:5px;background:#fff}.boxplot-mid{width:3px;height:24px;border-radius:999px}.vertical-boxplot-track{width:72px;height:180px;border-radius:14px}.vertical-boxplot-track .boxplot-whisker,.vertical-boxplot-track .boxplot-box,.vertical-boxplot-track .boxplot-mid{top:auto;left:50%;transform:translate(-50%)}.vertical-boxplot-track .boxplot-whisker{width:2px;height:auto}.vertical-boxplot-track .boxplot-box{width:34px;min-height:3px;height:auto}.vertical-boxplot-track .boxplot-mid{width:44px;height:3px}.radar-chart{width:min(220px,100%);justify-self:center}.radar-chart polygon{fill:none;stroke:#cbd5e1;stroke-width:1}.radar-chart text{fill:#475569;font-size:10px;font-weight:800;text-anchor:middle;dominant-baseline:middle}.radar-chart .radar-scale{fill:var(--rehab-muted);font-size:7px;font-weight:800;text-anchor:start;opacity:.78}.radar-chart .radar-target{fill:#05966917;stroke:#059669;stroke-width:2}.radar-chart .radar-actual{fill:#0284c733;stroke:#0284c7;stroke-width:3}.radar-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 14px;color:var(--rehab-muted);font-size:11px;font-weight:850}.radar-legend span{display:inline-flex;align-items:center;gap:6px}.radar-legend i{width:16px;height:8px;border-radius:999px;background:#94a3b81f}.radar-legend-actual{border:2px solid #0284c7}.radar-legend-target{border:2px solid #059669}.radar-metric-panel{display:grid;gap:8px}.radar-metric-panel small{color:var(--rehab-muted);font-size:12px;font-weight:900;text-align:center}.radar-metric-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.radar-metric-grid span{min-width:0;padding:8px;border:1px solid var(--rehab-line);border-radius:8px;background:#f1f5f9b8}.radar-metric-grid b,.radar-metric-grid strong{display:block;overflow-wrap:anywhere}.radar-metric-grid b{color:var(--rehab-muted);font-size:11px}.radar-metric-grid strong{margin-top:2px;color:var(--rehab-blue-strong);font-size:13px}:root[data-theme=dark] .radar-metric-grid span{border-color:#60a5fa47;background:#0f172ad6}:root[data-theme=dark] .radar-metric-grid b{color:#cbd5e1}:root[data-theme=dark] .radar-metric-grid strong{color:#93c5fd}.phase-radar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.phase-radar-grid section{min-width:0;display:grid;gap:6px;padding:8px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card)}.phase-radar-grid h4{margin:0;color:var(--rehab-primary);font-size:12px}.phase-radar-grid .radar-chart{width:min(180px,100%)}.metrics-table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.metrics-table div{min-width:0;padding:10px;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.metrics-table span{display:block;color:var(--rehab-muted);font-size:11.5px;font-weight:800}.metrics-table strong{display:block;margin-top:3px;overflow-wrap:anywhere;color:var(--rehab-primary);font-size:14px}.evaluation-note{display:grid;gap:8px}.evaluation-note p{margin:0;color:var(--rehab-secondary);white-space:pre-wrap;line-height:1.45}.evaluation-split-grid{align-items:start}.evaluation-template-grid{display:grid;gap:9px}.evaluation-template-grid span{display:block;padding:11px 12px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-secondary);background:var(--rehab-bg-soft);font-size:13px;font-weight:800;line-height:1.45}.artifact-note{margin:0;color:var(--rehab-muted);font-size:13px;font-weight:800}.frame-gallery-head{display:flex;align-items:start;justify-content:space-between;gap:16px}.frame-gallery-head h3{margin-bottom:4px}.phase-filter-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.phase-filter-grid button{min-width:0;display:grid;gap:5px;padding:12px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-secondary);background:var(--rehab-card);text-align:left}.phase-filter-grid button.active{color:var(--rehab-blue-strong);border-color:#256ed957;background:#256ed91a}.phase-filter-grid b{color:inherit;font-size:14px}.phase-filter-grid span,.phase-filter-grid small{overflow:hidden;color:var(--rehab-muted);font-size:12px;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.status-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.status-filter-row button{min-height:34px;padding:0 12px;border:1px solid var(--rehab-line);border-radius:999px;color:var(--rehab-secondary);background:var(--rehab-card);font-size:12px;font-weight:900}.status-filter-row button.active{color:#fff;border-color:var(--rehab-blue);background:var(--rehab-blue)}.frame-legend{padding:10px 12px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card)}.frame-legend summary{cursor:pointer;color:var(--rehab-primary);font-weight:900}.frame-legend p{margin:8px 0 0;color:var(--rehab-secondary);line-height:1.5}.frame-pager-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid var(--rehab-line);border-radius:8px;background:#fff}.frame-pager-row span{color:var(--rehab-secondary);font-size:13px;font-weight:850}.frame-pager-row div{display:inline-flex;align-items:center;gap:7px}.frame-pager-row button{min-height:34px;padding:0 11px;border:1px solid var(--rehab-line);border-radius:8px;color:var(--rehab-blue-strong);background:#fff;font-weight:850}.frame-pager-row button:disabled{cursor:not-allowed;opacity:.45}.frame-pager-row input{width:72px;min-height:34px;text-align:center}.frame-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.frame-grid.enhanced{grid-template-columns:repeat(4,minmax(220px,1fr));gap:16px}.frame-grid article{display:grid;gap:8px;padding:10px;border:1px solid var(--rehab-line);border-radius:8px;background:var(--rehab-card)}.frame-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.frame-grid img,.frame-placeholder{width:100%;height:clamp(220px,18vw,340px);border-radius:6px;object-fit:contain;background:#020617}.frame-placeholder{display:grid;place-items:center;padding:16px;color:#cbd5e1;text-align:center;font-size:12px;font-weight:900}.frame-zoom-btn{width:100%;padding:0;border:0;background:transparent;position:relative}.frame-source-chip{position:absolute;left:8px;bottom:8px;max-width:calc(100% - 16px);padding:4px 7px;border-radius:999px;color:#ecfdf5!important;background:#059669e0;font-size:10.5px!important;font-weight:950;line-height:1}.frame-source-chip.muted{color:#e0f2fe!important;background:#0284c7db}.frame-badge{min-height:22px;display:inline-flex;align-items:center;padding:0 8px;border-radius:999px;font-size:11px;font-weight:950}.frame-badge.pass{color:#047857;background:#d1fae5}.frame-badge.near{color:#a16207;background:#fef3c7}.frame-badge.fail{color:#b91c1c;background:#fee2e2}.frame-badge.unknown{color:#475569;background:#e2e8f0}.frame-badge.neutral{color:var(--rehab-secondary);background:var(--rehab-bg-soft)}.frame-meta-grid{display:grid;gap:4px}.frame-meta-grid span{color:var(--rehab-muted);font-size:12px;font-weight:800;line-height:1.35}.legacy-frame-meta{display:none}.frame-metrics{display:grid;gap:5px;color:var(--rehab-primary);font-size:13px;font-weight:900;line-height:1.35}.frame-metrics-unknown{padding:8px;border:1px solid rgba(100,116,139,.28);border-radius:8px;color:#475569;background:#64748b1a}.frame-modal .frame-metrics-unknown~p{display:none}.metric-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px}.metric-row span,.metric-row b{min-width:0}.metric-row b{text-align:right}.metric-row-wrap{grid-template-columns:minmax(80px,auto) minmax(0,1fr)}.metric-row-wrap b{text-align:left}.frame-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2147483000;display:grid;place-items:center;padding:24px;isolation:isolate;background:#0f172ac7;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.frame-modal-inner{position:relative;z-index:1;width:min(980px,96vw);max-height:92vh;display:grid;gap:10px;padding:14px;overflow:auto;border-radius:8px;border:1px solid var(--rehab-line);background:#fff;box-shadow:var(--rehab-shadow)}.frame-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.frame-modal-head button{min-height:34px;padding:0 12px;border:1px solid var(--rehab-line);border-radius:8px;background:#fff;font-weight:850}.frame-modal img{width:100%;max-height:76vh;border-radius:8px;object-fit:contain;background:#020617}.frame-modal p{margin:0;color:var(--rehab-secondary);font-size:13px;font-weight:800}:root[data-theme=dark] .auth-panel,:root[data-theme=dark] .sidebar,:root[data-theme=dark] .topbar,:root[data-theme=dark] .auth-stats div,:root[data-theme=dark] .role-dot,:root[data-theme=dark] .panel,:root[data-theme=dark] .patient-hero-panel,:root[data-theme=dark] .exercise-guide-card,:root[data-theme=dark] .patient-hero-metrics span,:root[data-theme=dark] .patient-note-list article,:root[data-theme=dark] .evaluation-timeline article,:root[data-theme=dark] .phase-filter-grid button,:root[data-theme=dark] .status-filter-row button,:root[data-theme=dark] .frame-legend,:root[data-theme=dark] .result-card,:root[data-theme=dark] .stat-card,:root[data-theme=dark] .side-nav-card,:root[data-theme=dark] .side-info-card,:root[data-theme=dark] .user-tile,:root[data-theme=dark] .table-wrap,:root[data-theme=dark] .chart-dashboard article,:root[data-theme=dark] .doctor-hero,:root[data-theme=dark] .doctor-insight-grid article,:root[data-theme=dark] .doctor-subtabs,:root[data-theme=dark] .schedule-tabs,:root[data-theme=dark] .research-form-grid span,:root[data-theme=dark] .main-footer,:root[data-theme=dark] .info-list span,:root[data-theme=dark] .frame-grid article,:root[data-theme=dark] .frame-pager-row,:root[data-theme=dark] .frame-modal-inner,:root[data-theme=dark] .ml-status-strip div,:root[data-theme=dark] .pose-classifier-card,:root[data-theme=dark] .hf-status-grid div,:root[data-theme=dark] .panel-title.page-line,:root[data-theme=dark] .login-role-guides article,:root[data-theme=dark] .login-user-list button,:root[data-theme=dark] .role-pill,:root[data-theme=dark] .search-box,:root[data-theme=dark] .analysis-status-card{color:var(--rehab-primary);border-color:var(--rehab-line);background:var(--rehab-card)}:root[data-theme=dark] input,:root[data-theme=dark] select,:root[data-theme=dark] textarea,:root[data-theme=dark] .input-shell,:root[data-theme=dark] .segmented,:root[data-theme=dark] .topbar-userchip,:root[data-theme=dark] .topbar-icon-btn,:root[data-theme=dark] .sidebar-collapse-btn,:root[data-theme=dark] .sidebar-open-btn,:root[data-theme=dark] .ghost-btn,:root[data-theme=dark] .logout-btn,:root[data-theme=dark] .theme-toggle,:root[data-theme=dark] .login-role-tabs button,:root[data-theme=dark] .result-subtabs button,:root[data-theme=dark] .doctor-subtabs button,:root[data-theme=dark] .schedule-tabs button,:root[data-theme=dark] .frame-modal-head button,:root[data-theme=dark] .frame-pager-row button{color:var(--rehab-primary);border-color:var(--rehab-line);background:var(--rehab-bg-soft)}:root[data-theme=dark] th,:root[data-theme=dark] .result-subtabs{background:#111827}:root[data-theme=dark] td,:root[data-theme=dark] th{border-color:var(--rehab-line)}:root[data-theme=dark] .auth-page{background:radial-gradient(48vw 44vh at 12% 4%,rgba(96,165,250,.14),transparent 62%),radial-gradient(48vw 44vh at 96% 0%,rgba(34,211,238,.1),transparent 58%),var(--rehab-bg)}:root[data-theme=dark] .auth-card-head p,:root[data-theme=dark] .auth-hero p,:root[data-theme=dark] .side-info-card p,:root[data-theme=dark] .info-copy,:root[data-theme=dark] .info-list span,:root[data-theme=dark] .patient-hero-panel p,:root[data-theme=dark] .exercise-guide-card p,:root[data-theme=dark] .exercise-guide-card li,:root[data-theme=dark] .patient-note-list p,:root[data-theme=dark] .evaluation-timeline p,:root[data-theme=dark] .frame-legend p,:root[data-theme=dark] .artifact-note,:root[data-theme=dark] .frame-grid span{color:var(--rehab-secondary)}:root[data-theme=dark] .frame-metrics,:root[data-theme=dark] .frame-metrics span,:root[data-theme=dark] .frame-metrics b{color:var(--rehab-primary)}:root[data-theme=dark] label,:root[data-theme=dark] .kv-list dd,:root[data-theme=dark] .empty-state,:root[data-theme=dark] .login-role-guides span,:root[data-theme=dark] .feedback-recent h3{color:var(--rehab-primary)}:root[data-theme=dark] .kv-list dt,:root[data-theme=dark] .patient-note-list span,:root[data-theme=dark] .evaluation-timeline span{color:var(--rehab-muted)}:root[data-theme=dark] input::placeholder,:root[data-theme=dark] textarea::placeholder{color:#94a3b8}:root[data-theme=dark] .auth-panel .input-shell{border-color:#60a5fa3d;background:#0f172a}:root[data-theme=dark] .auth-panel .input-shell:focus-within{border-color:#60a5faad;background:#0b1220;box-shadow:0 0 0 3px #60a5fa29}:root[data-theme=dark] .auth-panel .input-shell input{color:#f8fafc;caret-color:#f8fafc;background:transparent}:root[data-theme=dark] .auth-panel .input-shell input:-webkit-autofill,:root[data-theme=dark] .auth-panel .input-shell input:-webkit-autofill:hover,:root[data-theme=dark] .auth-panel .input-shell input:-webkit-autofill:focus{border:0;-webkit-text-fill-color:#f8fafc;box-shadow:0 0 0 1000px #0f172a inset;transition:background-color 9999s ease-out}:root[data-theme=dark] .auth-panel .password-visibility-btn{color:#cbd5e1}:root[data-theme=dark] .auth-panel .password-visibility-btn:hover{color:#93c5fd;background:#60a5fa1f}:root[data-theme=dark] .empty-state{border-color:var(--rehab-line);background:#111827}:root[data-theme=dark] .info-hero,:root[data-theme=dark] .info-kicker span,:root[data-theme=dark] .research-title-box,:root[data-theme=dark] .research-accordion details,:root[data-theme=dark] .research-story details,:root[data-theme=dark] .expected-metrics-grid div,:root[data-theme=dark] .mentor-grid article,:root[data-theme=dark] .member-grid article,:root[data-theme=dark] .owner-card,:root[data-theme=dark] .partner-card,:root[data-theme=dark] .contact-card,:root[data-theme=dark] .map-panel,:root[data-theme=dark] .chart-summary-strip span,:root[data-theme=dark] .metrics-table div,:root[data-theme=dark] .evaluation-template-grid span{color:var(--rehab-primary);border-color:var(--rehab-line);background:var(--rehab-card)}:root[data-theme=dark] .info-hero,:root[data-theme=dark] .research-title-box.dynamic{border-color:#3b82f6bf;background:radial-gradient(circle at 50% 8%,rgba(14,165,233,.16),transparent 42%),linear-gradient(135deg,#1e293be6,#0f172af5)}:root[data-theme=dark] .patient-research-heading,:root[data-theme=dark] .nckh-title-box{border-color:#3b82f6b8;background:radial-gradient(circle at 50% 8%,rgba(14,165,233,.16),transparent 42%),linear-gradient(135deg,#1e293be6,#0f172af5)}:root[data-theme=dark] .patient-research-heading b{color:#bbf7d0;background:#16653473}:root[data-theme=dark] .research-accordion details,:root[data-theme=dark] .research-story details,:root[data-theme=dark] .expected-metrics-grid div{border-color:#0891b29e;background:#1f2937b8}:root[data-theme=dark] .patient-research-accordion details.tone-warning{border-color:#f59e0b94;background:#45300c8f}:root[data-theme=dark] .patient-research-accordion details.tone-success{border-color:#22c55e8a;background:#14532d75}:root[data-theme=dark] .mentor-grid article,:root[data-theme=dark] .member-grid article,:root[data-theme=dark] .partner-card,:root[data-theme=dark] .map-panel{border-color:#06b6d494;background:#1f2937b8}:root[data-theme=dark] .owner-card{border-color:#facc15;background:#1f2937b8}:root[data-theme=dark] .role-home-hero.doctor,:root[data-theme=dark] .dynamic-chart-panel,:root[data-theme=dark] .quick-stat-list button,:root[data-theme=dark] .mini-bar-track{border-color:var(--rehab-line);background:#1f2937b8}:root[data-theme=dark] .dynamic-metric-strip article{border-color:#94a3b847;background:#0f172a47}:root[data-theme=dark] .role-home-hero.doctor .dynamic-metric-strip article{background:#0f172a47}:root[data-theme=dark] .contact-card.cyan{border-color:#06b6d4}:root[data-theme=dark] .contact-card.red{border-color:#ef4444}:root[data-theme=dark] .info-tabs-row button{color:#e5e7eb;border:1px solid rgba(148,163,184,.25);border-bottom-width:3px;background:#1f2937a6}:root[data-theme=dark] .info-tabs-row button.active{color:#bfdbfe;background:#60a5fa29}:root[data-theme=dark] .research-title-box span,:root[data-theme=dark] .research-accordion p,:root[data-theme=dark] .research-story p,:root[data-theme=dark] .research-detail-body,:root[data-theme=dark] .nckh-title-box p,:root[data-theme=dark] .nckh-title-box small,:root[data-theme=dark] .info-kicker small,:root[data-theme=dark] .info-breadcrumb,:root[data-theme=dark] .mentor-grid span,:root[data-theme=dark] .member-grid span,:root[data-theme=dark] .owner-card span,:root[data-theme=dark] .partner-card span,:root[data-theme=dark] .contact-card p,:root[data-theme=dark] .map-panel p,:root[data-theme=dark] .doctor-hero p,:root[data-theme=dark] .doctor-insight-grid p,:root[data-theme=dark] .doctor-selected-head p,:root[data-theme=dark] .mini-bar-row span,:root[data-theme=dark] .main-footer p,:root[data-theme=dark] .main-footer a,:root[data-theme=dark] .evaluation-template-grid span,:root[data-theme=dark] .metrics-table span{color:var(--rehab-secondary)}:root[data-theme=dark] .chart-summary-strip strong,:root[data-theme=dark] .metrics-table strong,:root[data-theme=dark] .expected-metrics-grid strong,:root[data-theme=dark] .patient-research-heading p,:root[data-theme=dark] .nckh-title-box span,:root[data-theme=dark] .map-panel h3,:root[data-theme=dark] .mentor-grid small,:root[data-theme=dark] .member-grid small,:root[data-theme=dark] .owner-card small,:root[data-theme=dark] .video-group-line{color:#93c5fd!important}:root[data-theme=dark] .boxplot-track,:root[data-theme=dark] .histogram{border-color:var(--rehab-line);background:#111827}:root[data-theme=dark] body,:root[data-theme=dark] .main-area,:root[data-theme=dark] .workspace-section{background:var(--rehab-bg)}:root[data-theme=dark] .panel-title.page-line,:root[data-theme=dark] .video-list button,:root[data-theme=dark] .result-subtabs,:root[data-theme=dark] .result-subtabs button,:root[data-theme=dark] .chart-phase-row,:root[data-theme=dark] .chart-phase-row button,:root[data-theme=dark] .chart-summary-strip span,:root[data-theme=dark] .chart-tabs-grid article,:root[data-theme=dark] .phase-video-player,:root[data-theme=dark] .video-phase-controls button,:root[data-theme=dark] .frame-placeholder,:root[data-theme=dark] .search-box,:root[data-theme=dark] .login-role-guides article,:root[data-theme=dark] .login-user-list button,:root[data-theme=dark] .role-dot,:root[data-theme=dark] .side-feature-list span,:root[data-theme=dark] .alert,:root[data-theme=dark] .metrics-table div,:root[data-theme=dark] .evaluation-template-grid span,:root[data-theme=dark] .research-section,:root[data-theme=dark] .doctor-eval-form,:root[data-theme=dark] .research-form-header{color:var(--rehab-primary);border-color:var(--rehab-line);background:var(--rehab-card)}:root[data-theme=dark] .chart-summary-strip span{background:linear-gradient(180deg,#1e293bfa,#111827f5)}:root[data-theme=dark] .result-chart line{stroke:#94a3b870}:root[data-theme=dark] .result-chart .chart-grid-line{stroke:#94a3b82e}:root[data-theme=dark] .histogram-chart line,:root[data-theme=dark] .status-boxplot-chart line{stroke:#94a3b86b}:root[data-theme=dark] .histogram-chart .chart-grid-line,:root[data-theme=dark] .status-boxplot-chart .chart-grid-line{stroke:#94a3b82e}:root[data-theme=dark] .histogram-chart .chart-tick,:root[data-theme=dark] .histogram-chart .chart-axis-label,:root[data-theme=dark] .status-boxplot-chart .chart-tick,:root[data-theme=dark] .status-boxplot-chart .chart-axis-label,:root[data-theme=dark] .status-boxplot-chart .boxplot-value-label,:root[data-theme=dark] .status-boxplot-chart .boxplot-empty-label{fill:#cbd5e1}:root[data-theme=dark] .status-boxplot-chart .chart-category{fill:#f8fafc}:root[data-theme=dark] .status-boxplot-chart .boxplot-svg-box{fill:#0f172ac7}:root[data-theme=dark] .status-boxplot-chart .boxplot-empty-box{fill:#1e293bb8;stroke:#94a3b852}:root[data-theme=dark] .chart-zoom-content{background:var(--rehab-card)}:root[data-theme=dark] .donut-chart{border-color:#111827;box-shadow:inset 0 0 0 1px var(--rehab-line),var(--rehab-shadow-sm)}:root[data-theme=dark] .donut-chart:after,:root[data-theme=dark] .distribution-bars em{background:#111827}:root[data-theme=dark] .distribution-bars span,:root[data-theme=dark] .distribution-bars strong,:root[data-theme=dark] .donut-chart b,:root[data-theme=dark] .frame-grid b,:root[data-theme=dark] .result-head h2,:root[data-theme=dark] .result-card h3,:root[data-theme=dark] .chart-tabs-grid h3{color:var(--rehab-primary)}:root[data-theme=dark] .alert.warning{color:#fde68a;border-color:#f59e0b66;background:#78350f6b}:root[data-theme=dark] .alert.error{color:#fecaca;border-color:#f8717166;background:#7f1d1d6b}:root[data-theme=dark] .alert.success{color:#bbf7d0;border-color:#22c55e66;background:#14532d6b}:root[data-theme=dark] .boxplot-box{background:#172033}:root[data-theme=dark] .radar-chart text{fill:#cbd5e1}:root[data-theme=dark] .radar-legend{color:#cbd5e1}:root[data-theme=dark] .radar-legend i{background:#0f172ab3}:root[data-theme=dark] .main-footer{border-color:#06b6d43d;border-top-color:#06b6d4;background:radial-gradient(circle at 12% 32%,rgba(6,182,212,.16),transparent 20%),radial-gradient(circle at 34% 32%,rgba(34,197,94,.15),transparent 20%),#111827}.frame-placeholder{display:grid;place-items:center;color:var(--rehab-muted);font-weight:800}.frame-grid b{font-size:13px}.frame-grid span{color:var(--rehab-muted);font-size:12px}.panel{min-width:0;padding:16px}.panel-title{display:flex;align-items:center;gap:9px;margin-bottom:14px}.panel-title h2{margin:0;font-size:18px;line-height:1.3}.panel-title.page-line{padding:16px;margin:0;border:1px solid #e2e8f0;border-radius:8px;background:#fff}.panel-title.with-search{justify-content:space-between;gap:16px}.panel-title.with-search>div{display:flex;align-items:center;gap:9px}.search-box{width:min(280px,100%);display:flex;align-items:center;gap:8px;border:1px solid #cbd5e1;border-radius:8px;padding:0 10px}.search-box input{min-height:38px;border:0;padding:0;box-shadow:none}.table-wrap{width:100%;overflow-x:auto;border:1px solid #e2e8f0;border-radius:8px}table{width:100%;min-width:720px;border-collapse:collapse}th,td{padding:11px 12px;text-align:left;vertical-align:top;border-bottom:1px solid #e2e8f0;font-size:14px}th{color:#475569;background:#f8fafc;font-weight:800}td.wide,th.wide{min-width:210px}tbody tr:last-child td{border-bottom:0}.empty-state{padding:18px;color:#64748b;border:1px dashed #cbd5e1;border-radius:8px;background:#f8fafc}.role-pill{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border-radius:999px;color:#334155;background:#f1f5f9;font-size:12px;font-weight:800}.role-pill.admin{color:#075985;background:#e0f2fe}.role-pill.researcher{color:#166534;background:#dcfce7}.role-pill.doctor{color:#7c2d12;background:#ffedd5}.role-pill.patient{color:#4338ca;background:#e0e7ff}.span-two{grid-column:span 2}.check-row{grid-template-columns:18px 1fr;align-items:center;gap:8px;font-weight:600}.check-row input{width:18px;min-height:18px}.kv-list{display:grid;gap:10px;margin:0}.kv-list div{display:grid;gap:3px;padding-bottom:10px;border-bottom:1px solid var(--rehab-line)}.kv-list div:last-child{border-bottom:0;padding-bottom:0}.kv-list dt{color:var(--rehab-muted);font-size:12px;font-weight:800;text-transform:uppercase}.kv-list dd{min-width:0;margin:0;overflow-wrap:anywhere;color:var(--rehab-primary)}.main-footer{margin-top:36px;padding:28px;border:1px solid rgba(6,182,212,.28);border-top:3px solid #06b6d4;border-radius:0;background:radial-gradient(circle at 18% 24%,rgba(6,182,212,.16),transparent 22%),radial-gradient(circle at 38% 24%,rgba(34,197,94,.16),transparent 20%),var(--rehab-card);box-shadow:var(--rehab-shadow-sm)}.footer-container{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.footer-col{min-width:0;display:grid;gap:8px;padding-right:16px;border-right:1px solid var(--rehab-line);justify-items:center;text-align:center}.footer-col:last-child{border-right:0}.footer-col.wide{grid-column:span 1}.footer-brand-row{display:grid;justify-items:center;gap:8px;min-height:88px}.footer-logo-pulse{width:58px;height:58px;display:grid;place-items:center;border:2px solid rgba(37,110,217,.6);border-radius:999px;color:var(--rehab-blue-strong);background:#256ed914;box-shadow:0 0 26px #06b6d44d;font-size:13px;font-weight:950;overflow:hidden}.footer-logo-pulse img{width:46px;height:46px;display:block;object-fit:contain;border-radius:999px}.footer-logo-pulse.green{color:#047857;border-color:#05966980;background:#05966914}.main-footer h3{margin:0;color:var(--rehab-primary);font-size:14.5px;line-height:1.3;text-transform:uppercase}.main-footer p,.main-footer a{margin:0;color:var(--rehab-secondary);font-size:13px;line-height:1.5}.footer-bottom{margin-top:22px;padding-top:16px;border-top:1px solid var(--rehab-line);color:var(--rehab-muted);text-align:center;font-size:12px;font-weight:800}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes panelIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes viewFloatIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes cardFloatIn{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes metricRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes barGrow{0%{width:0}}@keyframes heroSheen{0%,65%{transform:translate(-18%) rotate(-12deg);opacity:0}78%{opacity:1}to{transform:translate(90%) rotate(-12deg);opacity:0}}@media(max-width:1040px){.auth-page{grid-template-columns:1fr;align-items:start;gap:18px;padding:22px 20px 40px}.auth-hero{min-height:auto;max-width:680px;width:100%;margin:0 auto;gap:14px}.auth-hero h1{max-width:11.2em;font-size:clamp(34px,9vw,48px)}.auth-hero p{max-width:100%;font-size:14.5px}.auth-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%}.auth-stats div{min-width:0;padding:11px 10px}.auth-pose{display:none}.app-shell,.app-shell.sidebar-collapsed{grid-template-columns:minmax(0,1fr);min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:90;width:min(84vw,320px);height:100dvh;max-height:100dvh;overflow-y:auto;overscroll-behavior:contain;border-right:1px solid #dbe4f0;border-bottom:0;box-shadow:22px 0 55px #0f172a33;animation:sidebarSlideIn .22s ease both}.sidebar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:block;border:0;border-radius:0;background:#0f172a57;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.main-area{min-height:100vh;width:100%}.side-nav{grid-template-columns:1fr}.metric-grid,.panel-grid,.panel-grid.admin-grid,.role-home-hero,.analytics-grid,.researcher-hero,.researcher-kpi-grid,.researcher-pipeline,.researcher-dashboard-grid,.patient-guide-layout,.patient-hero-panel,.doctor-hero,.chart-tabs-grid,.phase-filter-grid,.dynamic-metric-strip,.chart-summary-strip,.doctor-insight-grid,.research-form-grid,.research-section-grid,.expected-metrics-grid,.mentor-grid,.member-grid,.contact-card-grid,.footer-container,.feedback-layout{grid-template-columns:repeat(2,minmax(0,1fr))}.doctor-run-analysis-split,.doctor-eval-layout,.result-layout,.info-panel-grid{grid-template-columns:1fr}.frame-grid.enhanced{grid-template-columns:repeat(2,minmax(0,1fr))}.topbar{grid-template-columns:1fr;align-items:stretch}.topbar-actions{max-width:none;justify-content:flex-start}}@media(max-width:720px){.main-area{padding:16px}.sidebar{width:min(86vw,330px);padding:16px}.topbar{padding:14px}.topbar-actions{width:100%;flex-wrap:wrap}.topbar-userchip{flex:1 1 180px;max-width:none}.side-nav,.metric-grid,.role-home-hero,.analytics-grid,.dynamic-metric-strip,.researcher-hero,.researcher-kpi-grid,.researcher-pipeline,.researcher-dashboard-grid,.researcher-command-panel,.panel-grid,.panel-grid.admin-grid,.patient-guide-layout,.patient-hero-panel,.doctor-hero,.doctor-eval-layout,.doctor-insight-grid,.research-form-grid,.research-section-grid,.expected-metrics-grid,.mentor-grid,.member-grid,.contact-card-grid,.footer-container,.patient-hero-metrics,.exercise-tabs,.guide-columns,.phase-filter-grid,.feedback-layout,.doctor-run-analysis-split,.result-layout,.chart-tabs-grid,.chart-summary-strip,.pie-wrap,.metrics-table,.admin-control-grid,.pose-status-grid,.hf-status-grid,.analysis-status-card,.analysis-steps,.analysis-progress-hero,.artifact-export-row,.result-summary,.form-grid.compact,.frame-grid,.frame-grid.enhanced,.boxplot-row,.job-history-list div{grid-template-columns:1fr}.span-two{grid-column:span 1}.research-section-grid .span-two,.owner-card{grid-column:span 1;width:100%}.map-panel>div{align-items:stretch;flex-direction:column}.panel-title.with-search{align-items:stretch;flex-direction:column}.auth-panel{padding:24px 18px;border-radius:16px}.auth-card-head{align-items:flex-start}.auth-stats{grid-template-columns:1fr}}@media(max-width:520px){.auth-page{padding:14px 18px 34px}.auth-hero h1{max-width:9.5em;font-size:clamp(30px,9.8vw,40px)}.auth-hero p{font-size:13.5px}.topbar-brand span{max-width:240px}}@keyframes sidebarSlideIn{0%{transform:translate(-24px);opacity:0}to{transform:translate(0);opacity:1}}
