*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root,[data-theme=dark]{--bg:#0a1628;--bg-mid:#0f1f38;--bg-light:#162944;--bg-border:#1e3a5a;--blue:#1b9ed4;--blue-dim:#0f6a9a;--blue-bright:#3dbde8;--accent:#1b9ed4;--coral:#e8533a;--amber:#f5a623;--white:#fff;--text-primary:#f0f5fa;--text-secondary:#8fafc9;--text-muted:#4a6a89;--card-bg:#0f1f38;--card-border:#1e3a5a;--input-bg:#0a1628;--shadow:0 4px 32px rgba(0,0,0,.5);--font-display:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-body:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-mono:ui-monospace,"SF Mono","Cascadia Code","Fira Code",monospace;--radius:8px;--radius-lg:14px;--transition:0.2s cubic-bezier(0.4,0,0.2,1)}[data-theme=light]{--bg:#f0f4f8;--bg-mid:#fff;--bg-light:#e8eef5;--bg-border:#d0dce8;--blue:#0e7ab5;--blue-dim:#0a5a87;--blue-bright:#1b9ed4;--accent:#0e7ab5;--coral:#d44228;--amber:#d48a10;--white:#0a1628;--text-primary:#0a1628;--text-secondary:#2a4a6a;--text-muted:#6a8aaa;--card-bg:#fff;--card-border:#d0dce8;--input-bg:#f5f8fb;--shadow:0 2px 16px rgba(0,0,0,.1)}html{font-size:15px;-webkit-font-smoothing:antialiased}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:.9375rem;line-height:1.6;min-height:100vh;transition:background .3s ease,color .3s ease}:root body:before,[data-theme=dark] body:before{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(30,58,90,.4) 1px,transparent 0),linear-gradient(90deg,rgba(30,58,90,.4) 1px,transparent 0);background-size:40px 40px;opacity:.2;pointer-events:none;z-index:0}[data-theme=light] body:before{display:none}.theme-toggle{background:var(--bg-light);border:1px solid var(--bg-border);border-radius:20px;padding:.3rem .75rem;cursor:pointer;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.08em;color:var(--text-secondary);display:flex;align-items:center;gap:.4rem;transition:all var(--transition)}.theme-toggle:hover{border-color:var(--blue);color:var(--blue)}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.auth-card,.auth-page{position:relative;z-index:1}.auth-card{background:rgba(10,22,40,.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(27,158,212,.25);border-radius:var(--radius-lg);padding:2.75rem 2.5rem;width:100%;max-width:420px;box-shadow:0 8px 48px rgba(0,0,0,.6),0 0 0 1px hsla(0,0%,100%,.04);animation:fadeUp .5s cubic-bezier(.4,0,.2,1) both}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.auth-logo-img{display:flex;justify-content:center;margin-bottom:.875rem}.auth-logo-img img{filter:none;max-width:210px;height:auto}.auth-logo{display:flex;align-items:baseline;gap:.4rem;margin-bottom:.25rem}.logo-move{font-weight:900;color:var(--blue);letter-spacing:.04em}.logo-move,.logo-physio{font-family:var(--font-display);font-size:1.75rem}.logo-physio{font-weight:600;color:var(--text-primary);letter-spacing:.02em}.auth-subtitle{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;color:hsla(0,0%,100%,.4);margin-bottom:2rem;text-align:center}.auth-form{gap:1.25rem}.auth-form,.field{display:flex;flex-direction:column}.field{gap:.45rem}.field label{font-size:.75rem;font-weight:600;letter-spacing:.08em;color:hsla(0,0%,100%,.55);text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.field-hint{font-size:.65rem;font-weight:400;letter-spacing:.02em;color:hsla(0,0%,100%,.3);text-transform:none}.field input{background:hsla(0,0%,100%,.06);border:1px solid hsla(0,0%,100%,.12);border-radius:var(--radius);color:#fff;font-family:var(--font-body);font-size:.9375rem;padding:.75rem 1rem;outline:none;transition:border-color var(--transition),background var(--transition)}.field input::placeholder{color:hsla(0,0%,100%,.25)}.field input:focus{border-color:var(--blue);background:rgba(27,158,212,.08);box-shadow:0 0 0 3px rgba(27,158,212,.15)}.auth-error{font-size:.875rem;color:#ff6b6b;background:rgba(232,83,58,.12);border:1px solid rgba(232,83,58,.3);border-radius:var(--radius);padding:.625rem .875rem}.auth-btn{background:var(--blue);color:#fff;border:none;border-radius:var(--radius);font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:.875rem 1.5rem;cursor:pointer;transition:background var(--transition),transform var(--transition);margin-top:.5rem}.auth-btn:hover{background:var(--blue-bright);transform:translateY(-1px)}.auth-btn:active{background:var(--blue-dim);transform:translateY(0)}.auth-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.auth-link{margin-top:1.5rem;text-align:center;font-size:.875rem;color:hsla(0,0%,100%,.4)}.auth-link a{color:var(--blue);text-decoration:none}.auth-link a:hover{text-decoration:underline}.dashboard{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:0 1.75rem 3rem;animation:fadeUp .35s ease both}.dash-header{justify-content:space-between;padding:1.75rem 0 1.5rem;border-bottom:1px solid var(--bg-border);margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}.dash-header,.dash-header-left{display:flex;align-items:center}.dash-header-left{gap:1.5rem}.dash-logo{display:flex;align-items:center;flex-shrink:0}.dash-logo img{height:40px;width:auto}.dash-header-meta{display:flex;flex-direction:column;gap:.15rem;border-left:1px solid var(--bg-border);padding-left:1.5rem}.dash-greeting{font-family:var(--font-display);font-size:1.1rem;font-weight:700;color:var(--text-primary)}.dash-period{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.16em;color:var(--blue);text-transform:uppercase}.dash-header-right{display:flex;align-items:center;gap:.875rem}.dash-sync{font-family:var(--font-mono);font-size:.65rem;color:var(--text-muted);letter-spacing:.04em}.signout-btn{background:transparent;border:1px solid var(--bg-border);border-radius:var(--radius);color:var(--text-secondary);font-family:var(--font-body);font-size:.825rem;font-weight:500;padding:.4rem .875rem;cursor:pointer;transition:border-color var(--transition),color var(--transition)}.signout-btn:hover{border-color:var(--coral);color:var(--coral)}.legend-bar{gap:1.5rem;padding:.5rem 0 1.25rem}.legend-bar,.legend-item{display:flex;align-items:center}.legend-item{gap:.5rem;font-size:.8rem;color:var(--text-secondary);font-family:var(--font-mono);letter-spacing:.04em}.legend-dot{width:10px;height:10px;border-radius:2px;flex-shrink:0}.legend-dot.you{background:var(--blue)}.legend-dot.clinic{background:transparent;border:1px solid var(--text-muted)}.metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));grid-gap:1px;gap:1px;background:var(--bg-border);border:1px solid var(--bg-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1px}.metric-card{background:var(--card-bg);padding:1.625rem 1.875rem;display:flex;flex-direction:column;gap:.875rem;transition:background var(--transition);position:relative}.metric-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;opacity:0;transition:opacity var(--transition)}.metric-card:hover{background:var(--bg-light)}.metric-card:hover:before{opacity:1}.metric-card.intent-positive:before{background:var(--blue)}.metric-card.intent-warning:before{background:var(--amber)}.metric-card.intent-neutral:before{background:var(--text-muted)}.card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.card-label{font-size:.675rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-secondary);font-weight:500}.card-label,.delta{font-family:var(--font-mono)}.delta{font-size:.625rem;letter-spacing:.06em;padding:.2rem .5rem;border-radius:4px;white-space:nowrap;flex-shrink:0}.delta.good{background:rgba(27,158,212,.12);color:var(--blue);border:1px solid rgba(27,158,212,.25)}.delta.bad{background:rgba(245,166,35,.1);color:var(--amber);border:1px solid rgba(245,166,35,.25)}.delta.neutral{background:rgba(74,106,137,.15);color:var(--text-muted);border:1px solid var(--bg-border)}.card-value{font-family:var(--font-display);font-size:2.75rem;font-weight:800;color:var(--text-primary);line-height:1;letter-spacing:-.02em}.bars{display:flex;flex-direction:column;gap:.5rem}.bar-row{display:grid;grid-template-columns:28px 1fr 42px;align-items:center;grid-gap:.75rem;gap:.75rem}.bar-label{font-size:.6rem;letter-spacing:.1em;color:var(--text-muted);text-transform:uppercase}.bar-label,.bar-val{font-family:var(--font-mono)}.bar-val{font-size:.675rem;color:var(--text-secondary);text-align:right}.bar-track{height:5px;background:var(--bg);border-radius:3px;overflow:hidden}.bar-fill{height:100%;border-radius:3px;transition:width .8s cubic-bezier(.4,0,.2,1)}.bar-fill.you{background:var(--blue)}.bar-fill.clinic{background:var(--bg-border);box-shadow:inset 0 0 0 1px var(--text-muted)}.card-description{font-size:.8125rem;color:var(--text-muted);line-height:1.5;margin-top:auto;padding-top:.375rem}.card-description,.dash-footer{border-top:1px solid var(--bg-border)}.dash-footer{margin-top:2rem;padding-top:1.25rem}.dash-footer p{font-size:.625rem;letter-spacing:.06em;color:var(--text-muted);line-height:1.6}.dash-footer p,.error-state{font-family:var(--font-mono)}.error-state{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--coral);font-size:.875rem}.new-patients-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1.5rem;animation:fadeUp .4s ease both}.np-header{display:flex;align-items:center;justify-content:space-between;padding:1.375rem 1.875rem;border-bottom:1px solid var(--card-border);background:linear-gradient(90deg,rgba(27,158,212,.08),transparent 60%)}.np-title-block{display:flex;flex-direction:column;gap:.15rem}.np-eyebrow{font-family:var(--font-mono);font-size:.625rem;letter-spacing:.18em;color:var(--blue);text-transform:uppercase;font-weight:500}.np-title{font-family:var(--font-display);font-size:1.375rem;font-weight:800;color:var(--text-primary);letter-spacing:-.01em}.np-col-labels{display:flex;gap:3rem;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);padding-right:.5rem}.np-loading{padding:1.75rem 1.875rem;display:flex;flex-direction:column;gap:.875rem}.np-loading-bar{height:14px;background:var(--bg-border);border-radius:4px;width:100%;animation:shimmer 1.4s ease infinite}.np-loading-bar.short{width:60%}@keyframes shimmer{0%,to{opacity:.3}50%{opacity:.7}}.np-empty{padding:2.5rem 1.875rem;font-family:var(--font-mono);font-size:.8rem;color:var(--text-muted);text-align:center}.np-list{display:flex;flex-direction:column}.np-row{display:flex;align-items:center;justify-content:space-between;padding:.9375rem 1.875rem;border-bottom:1px solid rgba(30,58,90,.4);transition:background var(--transition);animation:fadeUp .3s ease both}.np-row:last-child{border-bottom:none}.np-row:hover{background:var(--bg-light)}.np-patient-name{display:flex;align-items:center;gap:.875rem;flex:1 1}.np-index{font-family:var(--font-mono);font-size:.625rem;color:var(--text-muted);letter-spacing:.1em;min-width:22px}.np-name{font-family:var(--font-body);font-size:.9375rem;font-weight:500;color:var(--text-primary)}.np-actions{gap:2.5rem}.np-actions,.np-check{display:flex;align-items:center}.np-check{gap:.5rem;background:none;border:none;cursor:pointer;padding:.375rem .625rem;border-radius:var(--radius);transition:background var(--transition);color:var(--text-muted)}.np-check:hover{background:rgba(27,158,212,.08)}.np-check:disabled{opacity:.5;cursor:not-allowed}.np-check-box{width:20px;height:20px;border-radius:5px;border:1.5px solid var(--bg-border);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all var(--transition);background:var(--bg)}.np-check.checked .np-check-box{background:var(--blue);border-color:var(--blue);color:#fff}.np-check-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;min-width:52px}.np-check.checked .np-check-label{color:var(--blue)}.np-footer{display:flex;justify-content:space-between;padding:.875rem 1.875rem;border-top:1px solid var(--card-border);background:rgba(0,0,0,.12);font-family:var(--font-mono);font-size:.625rem;letter-spacing:.08em;color:var(--text-muted)}.completion-chart{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);padding:1.625rem 1.875rem;margin-top:1px}.completion-header{justify-content:space-between;margin-bottom:1.75rem}.completion-header,.pie-row{display:flex;align-items:center}.pie-row{justify-content:center;gap:3rem}.pie-divider{width:1px;height:80px;background:var(--bg-border)}.pie-item{display:flex;align-items:center;gap:1.375rem}.pie-meta{display:flex;flex-direction:column;gap:.35rem}.pie-label{font-family:var(--font-mono);font-size:.675rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary)}.pie-count{font-family:var(--font-display);font-size:1.625rem;font-weight:800;color:var(--text-primary);line-height:1}@media (max-width:640px){.metric-grid{grid-template-columns:1fr}.dash-header{flex-direction:column;align-items:flex-start}.dash-header-right{width:100%;justify-content:space-between}.card-value{font-size:2.25rem}.dashboard{padding:0 1rem 2rem}.np-col-labels{gap:1.5rem}.np-actions{gap:1.25rem}.pie-row{flex-direction:column;gap:1.5rem}.pie-divider{width:80px;height:1px}.np-header{flex-direction:column;align-items:flex-start;gap:.875rem}}.metric-grid.three-col{grid-template-columns:repeat(3,1fr)}@media (max-width:900px){.metric-grid.three-col{grid-template-columns:1fr}}.no-upcoming-panel{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);overflow:hidden;animation:fadeUp .4s ease both}.no-upcoming-panel .np-header{background:linear-gradient(90deg,rgba(245,166,35,.08),transparent 60%)}.no-upcoming-panel .np-eyebrow{color:var(--amber)}.np-row.discharged{opacity:.45}.np-row.discharged .np-name{text-decoration:line-through;color:var(--text-muted)}.np-badge{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.1em;text-transform:uppercase;padding:.15rem .5rem;border-radius:3px;font-weight:500}.discharged-badge{background:rgba(74,106,137,.15);color:var(--text-muted);border:1px solid var(--bg-border)}.contact-badge{background:rgba(245,166,35,.12);color:var(--amber);border:1px solid rgba(245,166,35,.25)}.discharged-check.checked .np-check-box{background:var(--text-muted);border-color:var(--text-muted)}.discharged-check.checked .np-check-label{color:var(--text-muted)}.contact-check.checked .np-check-box{background:var(--amber);border-color:var(--amber);color:var(--bg)}.contact-check.checked .np-check-label{color:var(--amber)}.gl-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:1px;gap:1px;background:var(--bg-border);border:1px solid var(--bg-border);border-radius:var(--radius-lg);overflow:hidden;margin-bottom:1.5rem}.gl-box{background:var(--card-bg);padding:1.375rem 1.5rem;display:flex;flex-direction:column;gap:.625rem;border-left:3px solid transparent;transition:background var(--transition)}.gl-box:hover{background:var(--bg-light)}.gl-box.loading{min-height:120px;justify-content:center}.gl-box-loading-bar{height:12px;background:var(--bg-border);border-radius:4px;animation:shimmer 1.4s ease infinite}.gl-box-top{display:flex;align-items:center;gap:.5rem}.gl-box-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);line-height:1.3}.gl-box-value{font-family:var(--font-display);font-size:2.25rem;font-weight:800;line-height:1;letter-spacing:-.02em}.gl-box-bar-track{height:4px;background:var(--bg);border-radius:3px;overflow:hidden}.gl-box-bar-fill{height:100%;border-radius:3px}.gl-box-footer{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.06em;color:var(--text-muted)}@media (max-width:900px){.gl-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:480px){.gl-grid{grid-template-columns:1fr}}