:root{color-scheme:light;--bg:#f5f5ff;--bg-strong:#e8e7fd;--panel:rgba(255,255,255,0.97);--panel-strong:#3730a3;--panel-soft:#f7f5ff;--text:#1e1b4b;--muted:#6b6b9a;--accent:#6A6CF6;--accent-strong:#5558e8;--accent-soft:#ededfe;--signal:#a5b4fc;--brand:#6A6CF6;--brand-dark:#5558e8;--brand-soft:rgba(106,108,246,0.08);--brand-border:rgba(106,108,246,0.2);--success:#16a34a;--success-soft:rgba(22,163,74,0.1);--warn:#f59e0b;--warn-soft:rgba(245,158,11,0.1);--critical:#dc2626;--critical-soft:rgba(220,38,38,0.1);--border:#e5e7eb;--border-accent:rgba(106,108,246,0.2);--section-bg:rgba(106,108,246,0.05);--card-header-bg:rgba(106,108,246,0.07);--shadow:0 2px 8px rgba(0,0,0,0.06);--shadow-hover:0 6px 20px rgba(0,0,0,0.1)}*{box-sizing:border-box}html{font-size:17px}body,html{margin:0;padding:0;min-height:100%;font-family:Avenir Next,Segoe UI,Helvetica Neue,sans-serif;background:#f5f5ff;color:var(--text);line-height:1.7}body{min-height:100vh;position:relative}body:before{content:"";position:fixed;inset:0;background:url(/strideAide-logo.png) 50%/40vmin no-repeat;opacity:.04;pointer-events:none;z-index:0}a{color:inherit}.page-shell{max-width:1180px;margin:0 auto;padding:32px;position:relative;z-index:1;min-height:100vh;background:#f5f5ff}.section-container{background:var(--section-bg);border-radius:12px;padding:20px;margin-bottom:32px}.hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);grid-gap:24px;gap:24px;align-items:stretch;padding:36px;background:#ffffff;border-radius:16px;box-shadow:var(--shadow);border:1px solid var(--border);border-left:4px solid var(--accent)}.hero-copy{display:flex;flex-direction:column;justify-content:space-between}.eyebrow{margin:0 0 12px;letter-spacing:.18em}.eyebrow,.section-kicker{color:var(--accent);text-transform:uppercase;font-size:11px;font-weight:700}.section-kicker{margin:0 0 10px;letter-spacing:.16em}h1,h2{margin:0}h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:.96;max-width:12ch;letter-spacing:-.05em}.lede{max-width:58ch;margin:20px 0 0;font-size:1.02rem;line-height:1.75;color:var(--muted)}.hero-actions{display:flex;gap:12px;margin-top:28px;flex-wrap:wrap}.hero-card,.metric-card,.milestone-panel,.panel{border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow)}.hero-card{padding:24px;background:var(--section-bg);border-left:4px solid var(--accent)}.hero-card-label{display:inline-flex;width:-moz-fit-content;width:fit-content;margin-bottom:16px;padding:7px 10px;border-radius:999px;background:rgba(106,108,246,.1);color:var(--accent);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.hero-card strong{display:block;font-size:1.4rem;line-height:1.2}.hero-card dl{margin:24px 0 0}.hero-card dl div+div{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.hero-card dt{margin:0 0 4px;color:var(--muted);font-size:.92rem}.hero-card dd{margin:0;font-weight:600}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px;margin-top:0}.metric-card{padding:22px;background:#ffffff;border-left:4px solid var(--accent)}.metric-card p,.queue-card p{margin:0;color:var(--muted);font-size:.92rem}.metric-card strong,.queue-card strong{display:block;margin-top:12px;font-size:1.65rem;line-height:1;color:var(--accent-strong)}.metric-card span,.milestone-panel li,.panel h2,.panel li,.queue-card span,.workflow-link p{color:var(--muted);line-height:1.6}.metric-card span{display:block;margin-top:12px}.dashboard-grid{grid-template-columns:minmax(0,1.25fr) minmax(320px,.9fr);grid-gap:20px}.dashboard-grid,.panel-grid{display:grid;gap:20px;margin-top:0}.panel-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:20px}.panel{padding:24px;background:#ffffff;border-left:4px solid var(--accent)}.panel-emphasis{background:rgba(106,108,246,.03)}.panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;background:var(--card-header-bg);margin:-24px -24px 20px;padding:14px 24px;border-radius:12px 12px 0 0;border-bottom:1px solid rgba(106,108,246,.1)}.primary-button,.secondary-button,.status-pill,.workflow-badge{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:6px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.status-pill{background:rgba(106,108,246,.1);color:var(--accent-strong)}.badge-success{border-radius:6px;background:var(--success-soft);color:#15803d;border:1px solid rgba(22,163,74,.25)}.badge-success,.badge-warn{display:inline-flex;align-items:center;padding:5px 12px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.badge-warn{border-radius:6px;background:#fef9ec;color:#92400e;border:1px solid rgba(245,158,11,.3)}.badge-critical{display:inline-flex;align-items:center;padding:5px 12px;border-radius:6px;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;background:#fef2f2;color:#b91c1c;border:1px solid rgba(220,38,38,.25)}.queue-list,.workflow-list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.queue-card,.workflow-link{border:1px solid var(--border);border-radius:10px;padding:16px 18px;background:#ffffff;text-decoration:none;color:inherit}.queue-card{display:grid;grid-gap:10px;gap:10px}.tone-critical{background:var(--warn-soft);border-left:4px solid;border-color:rgba(245,158,11,.35)}.tone-active{border-left:4px solid;border-color:rgba(106,108,246,.3)}.tone-steady{border-color:var(--border)}.workflow-link{transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.workflow-link:hover{transform:translateY(-2px);border-color:var(--border-accent);box-shadow:var(--shadow-hover)}.workflow-link strong{display:block;margin-top:12px;font-size:1.05rem}.workflow-link p{margin:10px 0 0}.workflow-badge{background:var(--accent-soft);color:var(--accent-strong)}.primary-button,.secondary-button{border:1px solid transparent;cursor:pointer;font-family:inherit;text-decoration:none;justify-content:center}.primary-button{background:var(--brand);color:#ffffff;box-shadow:0 4px 12px rgba(106,108,246,.25)}.primary-button:hover:not(:disabled){background:var(--brand-dark)}.secondary-button{background:rgba(255,255,255,.8);color:var(--text);border-color:var(--border)}.primary-button:disabled,.secondary-button:disabled{opacity:.6;cursor:wait}.signout-button{padding:8px 14px;border-radius:8px;background:rgba(220,38,38,.08);color:#DC2626;border:1px solid rgba(220,38,38,.25);font-weight:500;cursor:pointer;transition:background .14s ease,color .14s ease}.signout-button:hover{background:#DC2626;color:white}.signout-button:disabled{opacity:.6;cursor:not-allowed}.panel ul{margin:16px 0 0;padding-left:20px}.milestone-panel li+li,.panel li+li{margin-top:10px}.milestone-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start;margin-top:24px;padding:28px;background:linear-gradient(135deg,rgba(55,48,163,.98),rgba(106,108,246,.82)),var(--panel-strong);border-left:4px solid rgba(255,255,255,.3)}.milestone-panel .section-kicker,.milestone-panel h2,.milestone-panel li{color:#f7f3ec}.milestone-panel .section-kicker{opacity:.78}.milestone-panel ol{margin:0;padding-left:20px}.auth-shell{display:grid;grid-template-columns:7fr 3fr;min-height:100vh;position:relative;z-index:1}.auth-panel{background:#ffffff;padding:60px 30%;justify-content:center}.auth-aside,.auth-panel{display:flex;flex-direction:column}.auth-aside{background-color:#6A6CF6;border-radius:20px;margin:16px;justify-content:space-between;overflow:hidden;position:relative}.auth-aside-img{opacity:.11;transform:rotateY(180deg);height:auto;width:100%;object-fit:cover;flex:1 1}.auth-footer{padding:16px 20px;font-size:.82rem;color:rgba(255,255,255,.75)}.auth-footer a{color:rgba(255,255,255,.85);text-decoration:none}.auth-footer a:hover{color:#ffffff}.auth-title,.portal-title{font-size:clamp(1.8rem,3.5vw,2.6rem);line-height:1.1;letter-spacing:-.02em;margin:16px 0 0;color:#2d2d2d;white-space:nowrap}.auth-lede{color:#6b7280;margin:6px 0 0;font-size:1.05rem}.empty-state,.entity-card p,.entity-card span,.portal-description,.portal-identity p{color:var(--muted)}.auth-form,.entity-form{gap:14px;margin-top:28px;max-width:520px}.auth-form label,.entity-form label{display:grid;grid-gap:8px;gap:8px}.auth-form span,.entity-form span{font-size:.92rem;color:var(--muted)}.auth-form input,.entity-form input,.entity-form select,.entity-form textarea{width:100%;padding:14px 16px;border-radius:12px;border:1px solid rgba(106,108,246,.2);background:#fafaff;color:var(--text);font:inherit;outline:none;transition:border-color .14s ease,box-shadow .14s ease,background .14s ease}.auth-form input:focus,.entity-form input:focus,.entity-form select:focus,.entity-form textarea:focus{border-color:var(--brand-border);box-shadow:0 0 0 4px rgba(106,108,246,.1);background:#ffffff}.entity-form textarea{min-height:112px;resize:vertical}.full-width{grid-column:1/-1}.form-error{margin:0;color:#dc2626}.portal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-radius:12px;background:white;border-left:5px solid var(--brand);box-shadow:0 2px 6px rgba(0,0,0,.05);margin-bottom:20px}.portal-identity{display:flex;flex-direction:column;align-items:flex-end;gap:4px}.portal-clinic-name{font-size:1.64rem;color:var(--muted,#718096);margin:0}.portal-identity .signout-button{margin-top:6px}.portal-nav{display:flex;gap:6px;background:var(--brand-soft);padding:8px;border-radius:14px;margin-bottom:32px}.portal-nav-link{display:inline-flex;align-items:center;padding:12px 28px;border-radius:10px;text-decoration:none;color:#0f172a;font-size:1.1rem;font-weight:500;letter-spacing:0;text-transform:none;min-height:48px;border:1px solid transparent;white-space:nowrap;transition:background .14s ease,color .14s ease}.portal-nav-link:hover{background:rgba(106,108,246,.12);color:var(--brand-dark)}.portal-nav-link.active{background:var(--brand);color:white;font-weight:700;letter-spacing:.01em}.nav-scan-badge{background:var(--critical);color:#fff;font-size:.7rem;font-weight:700;border-radius:999px;padding:1px 7px;margin-left:7px;line-height:1.6;vertical-align:middle}.scan-arrival-toasts{position:fixed;bottom:28px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:8px;z-index:1000;pointer-events:none}.scan-arrival-toast{background:#16a34a;color:#fff;font-size:.9rem;font-weight:500;padding:10px 20px;border-radius:8px;display:flex;align-items:center;gap:10px;box-shadow:0 4px 16px rgba(0,0,0,.18);animation:toast-slide-in .22s ease;white-space:nowrap}.scan-arrival-dot{width:8px;height:8px;background:#bbf7d0;border-radius:50%;flex-shrink:0}@keyframes toast-slide-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.scan-linked-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;padding:12px 16px;margin-bottom:16px;font-size:.95rem;color:#166534}.scan-linked-goto{background:none;border:1px solid #16a34a;color:#16a34a;border-radius:6px;padding:5px 14px;font-size:.88rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .12s ease,color .12s ease}.scan-linked-goto:hover{background:#16a34a;color:#fff}.portal-content{background:rgba(106,108,246,.05);padding:24px;border-radius:14px}.content-grid{display:grid;grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);grid-gap:20px;gap:20px;margin-top:0}.entity-list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.toolbar-row{display:flex;gap:12px;align-items:center;justify-content:space-between;margin-top:16px;flex-wrap:wrap}.toolbar-row-stacked{align-items:stretch}.toolbar-input{min-width:220px;flex:1 1 260px;padding:13px 18px;min-height:48px;font-size:1rem;border-radius:10px;border:1px solid rgba(106,108,246,.2);background:#fafaff;color:var(--text);font:inherit;outline:none}.toolbar-input:focus{border-color:rgba(106,108,246,.5);box-shadow:0 0 0 4px rgba(106,108,246,.1);background:#ffffff}.toolbar-meta{display:inline-flex;gap:10px;flex-wrap:wrap;color:var(--muted);font-size:.92rem}.entity-card{padding:18px;background:#ffffff;border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:10px;box-shadow:0 1px 4px rgba(0,0,0,.04);transition:box-shadow .18s ease,border-color .18s ease}.entity-card:hover{box-shadow:var(--shadow-hover);border-color:var(--border-accent)}.entity-card-header{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding-bottom:10px;margin-bottom:6px;border-bottom:1px solid rgba(106,108,246,.1)}.entity-card strong{font-size:1.05rem;color:var(--accent-strong)}.entity-card p,.entity-card span{display:block;margin:8px 0 0;line-height:1.55}.compact-list .entity-card{padding:14px 16px}.recipient-list,.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.soft-pill{display:inline-flex;width:-moz-fit-content;width:fit-content;padding:6px 11px;border-radius:999px;background:rgba(106,108,246,.1);color:var(--accent-strong);font-size:.78rem;line-height:1.2}.tone-warn{background:var(--warn-soft);color:#b45309}.tone-info{background:rgba(126,172,186,.18);color:#34687b}.summary-stack{display:grid;grid-gap:14px;gap:14px;margin-top:18px}.summary-row{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding-bottom:14px;border-bottom:1px solid var(--border)}.summary-row strong{color:var(--accent-strong)}.summary-row span{color:var(--muted);text-align:right}.portal-logo{height:32px;width:auto;display:block;margin-bottom:12px}.auth-logo{height:100px;width:-moz-fit-content;width:fit-content;display:block;object-fit:contain}.auth-input-wrap{position:relative;display:flex;align-items:center}.auth-input-wrap input{padding-right:44px}.auth-input-icon{right:14px;pointer-events:none}.auth-eye-btn,.auth-input-icon{position:absolute;color:#9ca3af;display:flex;align-items:center}.auth-eye-btn{right:12px;background:none;border:none;cursor:pointer;padding:2px}.auth-eye-btn:hover{color:#6b7280}.auth-submit-btn{width:100%;padding:14px;background-color:#6A6CF6;color:#ffffff;border:none;border-radius:12px;font:inherit;font-weight:600;font-size:1rem;cursor:pointer;margin-top:10px;transition:background-color .14s ease}.auth-submit-btn:hover:not(:disabled){background-color:#5558e8}.auth-submit-btn:disabled{opacity:.65;cursor:not-allowed}.form-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.form-section{margin:6px 0 0;padding-top:16px;border-top:1px solid var(--border);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.input-with-unit{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:start}.uom-group{display:flex;border:1px solid rgba(106,108,246,.2);border-radius:10px;overflow:hidden;background:#fafaff}.uom-btn{flex:1 1;padding:14px 10px;border:none;background:transparent;font:inherit;font-size:.82rem;cursor:pointer;color:var(--muted);transition:background .14s ease,color .14s ease}.uom-btn+.uom-btn{border-left:1px solid rgba(106,108,246,.18)}.uom-btn.active{background:var(--accent-soft);color:var(--accent-strong);font-weight:600}.name-suggestions{margin-top:6px;background:#fff;border:1.5px solid rgba(106,108,246,.35);border-radius:8px;overflow:hidden;box-shadow:0 4px 16px rgba(67,56,202,.1)}.name-suggestions-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--accent-soft);font-size:.8rem;font-weight:600;color:var(--accent-strong)}.name-suggestions-dismiss{background:none;border:none;font-size:.75rem;color:var(--accent);cursor:pointer;padding:2px 6px;border-radius:4px}.name-suggestions-dismiss:hover{background:rgba(106,108,246,.12)}.name-suggestions ul{list-style:none;margin:0;padding:0}.name-suggestions li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px 12px;font-size:.85rem;border-top:1px solid rgba(106,108,246,.1)}.ns-name{font-weight:600;color:var(--text)}.ns-meta{color:var(--muted);font-size:.8rem}.duplicate-warning{background:#fff7ed;border:1.5px solid #fb923c;border-radius:10px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.duplicate-warning-title{font-weight:600;color:#9a3412;font-size:.92rem;margin:0}.duplicate-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.duplicate-list li{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.875rem;color:#431407;padding:8px 10px;background:rgba(251,146,60,.08);border-radius:6px}.duplicate-actions{display:flex;gap:10px;flex-wrap:wrap}.content-single{max-width:860px;margin:0 auto;padding:0}.scan-tabs{display:flex;align-items:center;justify-content:space-between;gap:4px;border-bottom:2px solid rgba(106,108,246,.15);margin-bottom:20px;padding-bottom:12px}.scan-tab-heading{font-size:.95rem;font-weight:600;color:var(--color-text,#1a202c)}.scan-tab{background:none;padding:10px 18px;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;display:flex;align-items:center;gap:8px;transition:color .14s ease}.scan-tab.active,.scan-tab:hover{color:var(--accent)}.scan-tab.active{border-bottom-color:var(--accent)}.scan-tab-badge{background:var(--critical);color:#fff;font-size:.72rem;font-weight:700;border-radius:999px;padding:1px 7px}.scan-tab-count{color:var(--muted);font-weight:400;font-size:.85rem}.scan-refresh{margin-left:auto}.scan-list{gap:12px}.scan-card,.scan-list{display:flex;flex-direction:column}.scan-card{border-radius:10px;border:1px solid var(--border);border-left:4px solid var(--accent);padding:16px 18px;gap:10px;background:#ffffff;transition:box-shadow .18s ease,border-color .18s ease}.scan-card:hover{box-shadow:var(--shadow-hover)}.scan-card.unlinked{background:#fff9f9;border-left:4px solid;border-color:rgba(220,38,38,.25)}.scan-card.auto{background:#f0f0ff;border-left:4px solid;border-color:rgba(106,108,246,.25)}.scan-card.manual{background:#f6fef8;border-left:4px solid;border-color:rgba(22,163,74,.25)}.scan-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.scan-card-meta{display:flex;flex-direction:column;gap:3px}.scan-filename{font-size:.95rem;color:var(--text)}.scan-date,.scan-device{font-size:.78rem;color:var(--muted)}.scan-hints{display:flex;flex-wrap:wrap;gap:8px 20px;font-size:.83rem;color:var(--text);padding:8px 10px;background:rgba(106,108,246,.04);border-radius:6px}.scan-hint-none{color:#9a3412;font-style:italic}.scan-link-btn{padding:8px 16px;font-size:.85rem;white-space:nowrap}.scan-link-panel{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid rgba(220,38,38,.2)}.scan-link-instruction{font-size:.88rem;font-weight:600;color:#9a3412;margin:0}.scan-no-results,.scan-searching{font-size:.83rem;color:var(--muted);margin:0}.scan-patient-results{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}.scan-patient-results li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:#fff;border:1px solid var(--border);border-radius:7px;transition:background .14s ease}.scan-patient-results li:hover{background:var(--section-bg)}.scan-patient-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem}.scan-confidence{font-size:.75rem;color:var(--accent-strong);background:var(--accent-soft);padding:3px 9px;border-radius:999px;font-weight:600;white-space:nowrap}.scan-linked-patient{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.85rem;color:var(--text)}.scan-warning-banner{display:flex;align-items:flex-start;gap:10px;background:#fff7ed;border:1.5px solid #fb923c;border-radius:8px;padding:12px 14px;font-size:.85rem;color:#9a3412}.scan-warning-banner-icon{font-size:1.1rem;flex-shrink:0;margin-top:1px}.scan-warning-banner-text{line-height:1.5}.scan-suggestion{background:#f8f7ff;border:1px solid rgba(106,108,246,.2);border-radius:8px;padding:12px 14px;display:flex;flex-direction:column;gap:8px}.scan-suggestion-label{font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:2px}.scan-suggestion-header{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scan-suggestion-name{font-size:.95rem;font-weight:600;color:var(--text)}.scan-suggestion-uhid{font-size:.8rem;color:var(--muted)}.scan-confidence-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.confidence-high{background:var(--success-soft,#f0fdf4);color:#15803d;border:1px solid rgba(22,163,74,.3)}.confidence-medium{background:#fef9ec;color:#92400e;border:1px solid rgba(245,158,11,.35)}.confidence-high-warning{background:#fff7ed;color:#9a3412;border:1px solid rgba(251,146,60,.4)}.scan-confidence-score{font-size:.8rem;color:var(--muted)}.scan-explanation-toggle{background:none;border:none;padding:0;font-size:.8rem;color:var(--accent,#6A6CF6);cursor:pointer;text-decoration:underline;text-underline-offset:2px;text-align:left;width:-moz-fit-content;width:fit-content}.scan-explanation-toggle:hover{color:var(--accent-strong,#0e7490)}.scan-explanation{background:#f5f4fc;border:1px solid rgba(106,108,246,.12);border-radius:6px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.scan-explanation-summary{font-size:.83rem;font-weight:600;color:var(--text);margin:0}.scan-factors{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px}.scan-factors li{display:flex;align-items:baseline;gap:6px;font-size:.8rem;color:var(--text)}.scan-factor-type{font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);width:40px;flex-shrink:0}.scan-factor-impact-high{color:#15803d}.scan-factor-impact-medium{color:#92400e}.scan-factor-impact-low{color:var(--muted)}.scan-explanation-warnings{display:flex;flex-direction:column;gap:4px}.scan-explanation-warning{font-size:.8rem;color:#9a3412;display:flex;align-items:baseline;gap:5px}.scan-actions{display:flex;gap:8px;flex-wrap:wrap;padding-top:4px}.scan-candidates{display:flex;flex-direction:column;gap:8px}.scan-candidates-label{font-size:.8rem;font-weight:600;color:#92400e;margin:0}.scan-candidate-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 12px;background:#fff;border:1px solid rgba(245,158,11,.3);border-radius:7px}.scan-candidate-info{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.85rem}.scan-candidate-score{font-size:.75rem;color:var(--muted);white-space:nowrap}@media (max-width:960px){.auth-shell,.content-grid,.dashboard-grid,.hero,.metrics-grid,.milestone-panel{grid-template-columns:1fr}.portal-header{flex-direction:column}}@media (max-width:640px){.page-shell{padding:24px 14px 72px}.auth-aside,.auth-panel,.entity-card,.hero,.metric-card,.milestone-panel,.panel,.portal-header,.portal-nav{padding:18px}.panel-heading{margin:-18px -18px 16px;padding:12px 18px}h1{font-size:clamp(2.4rem,13vw,4rem)}.panel-heading{flex-direction:column}.auth-shell{grid-template-columns:1fr;min-height:unset}.auth-aside{display:none}.auth-panel{padding:48px 24px}.portal-nav{flex-wrap:wrap}.section-container{padding:14px;margin-bottom:20px}}.uhid-banner{display:flex;align-items:center;gap:14px;padding:14px 20px;margin-bottom:16px;border-radius:10px;background:#f0fdf4;border:1.5px solid #86efac;animation:banner-in .2s ease}@keyframes banner-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.uhid-banner-label{font-size:.88rem;color:#15803d;font-weight:600;white-space:nowrap}.uhid-banner-uhid{font-size:1.45rem;font-weight:800;color:#166534;letter-spacing:.04em;font-family:SF Mono,Fira Code,Consolas,monospace;flex:1 1}.uhid-banner-copy{padding:7px 16px;border-radius:8px;border:1.5px solid #16a34a;background:#fff;color:#16a34a;font-size:.82rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .14s ease,color .14s ease}.uhid-banner-copy:hover{background:#16a34a;color:#fff}.view-tabs{display:flex;gap:4px;margin-bottom:16px;border-bottom:2px solid rgba(106,108,246,.12);padding-bottom:0}.view-tab{display:flex;align-items:center;gap:8px;padding:10px 20px;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;font:inherit;font-size:.9rem;font-weight:600;color:var(--muted);cursor:pointer;transition:color .14s ease;white-space:nowrap}.view-tab.active,.view-tab:hover{color:var(--accent)}.view-tab.active{border-bottom-color:var(--accent)}.view-tab-count{background:var(--accent-soft);color:var(--accent-strong);font-size:.72rem;font-weight:700;padding:2px 7px;border-radius:999px}.register-panel{max-width:560px;margin:0 auto}.register-heading{font-size:1.8rem;margin:4px 0 24px;color:var(--text);letter-spacing:-.03em}.register-form{display:grid;grid-gap:20px;gap:20px}.register-label{display:grid;grid-gap:8px;gap:8px}.register-label>span{font-size:.88rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.register-input{width:100%;padding:14px 16px;border-radius:12px;border:1.5px solid rgba(106,108,246,.2);background:#fafaff;color:var(--text);font:inherit;font-size:1.05rem;outline:none;transition:border-color .14s ease,box-shadow .14s ease}.register-input:focus{border-color:rgba(106,108,246,.5);box-shadow:0 0 0 4px rgba(106,108,246,.1);background:#fff}.register-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px}.register-submit{margin-top:4px;padding:14px 28px;font-size:1rem;width:100%;justify-content:center}.required-star{color:var(--color-critical,#e53e3e);margin-left:2px}.input-error{border-color:var(--color-critical,#e53e3e)!important;outline-color:var(--color-critical,#e53e3e)}.field-error{display:block;font-size:.78rem;color:var(--color-critical,#e53e3e);line-height:1.3}.field-error,.optional-section{margin-top:4px}.optional-toggle{background:none;border:none;padding:6px 0;font-size:.85rem;color:var(--color-muted,#718096);cursor:pointer;display:flex;align-items:center;gap:6px}.optional-toggle:hover{color:var(--color-text,#1a202c)}.optional-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.optional-body.open{grid-template-rows:1fr}.optional-inner{overflow:hidden;display:flex;flex-direction:column;gap:0}.optional-group-label{font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted,#718096);margin:16px 0 6px}.list-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}.toolbar-input-clinic{max-width:200px;flex:0 1 200px}.toolbar-toggles{display:flex;gap:6px;flex-wrap:wrap;margin-left:auto}.toolbar-toggle{padding:12px 18px;min-height:48px;border-radius:8px;border:1px solid var(--border);background:#fff;font-size:.95rem;color:var(--muted);font:inherit;font-size:.82rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .14s ease,color .14s ease,border-color .14s ease}.toolbar-toggle:hover{border-color:var(--border-accent);color:var(--accent)}.toolbar-toggle.active{background:var(--accent);border-color:var(--accent);color:#fff}.list-count{margin:0 0 12px;font-size:.9rem;color:var(--muted)}.list-count strong{color:var(--text)}.inline-link{background:none;border:none;color:var(--accent);font:inherit;font-size:inherit;cursor:pointer;text-decoration:underline;padding:0}.patient-list-header{display:grid;grid-template-columns:28px 1fr 130px 80px 110px 44px 44px;grid-gap:16px;gap:16px;padding:10px 24px;margin-top:16px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}.patient-list{display:flex;flex-direction:column;gap:6px;margin-top:6px}.patient-row{border-radius:10px;border:1px solid var(--border);background:#fff;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease}.patient-row.expanded{border-color:var(--border-accent);box-shadow:0 3px 16px rgba(106,108,246,.12)}.patient-row-header{width:100%;display:grid;grid-template-columns:28px 1fr 130px 80px 110px 44px 44px;grid-gap:16px;gap:16px;align-items:center;padding:22px 24px;background:none;border:none;text-align:left;cursor:pointer;font:inherit;color:inherit;transition:background .14s ease;min-height:80px}.patient-row-header:hover{background:rgba(106,108,246,.04)}.patient-row.expanded .patient-row-header{background:rgba(106,108,246,.05);border-bottom:2px solid rgba(106,108,246,.12)}.patient-chevron{color:var(--muted);font-size:1.1rem;line-height:1}.patient-name{font-weight:700;font-size:1.35rem;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.25;letter-spacing:-.01em}.patient-uhid-col{overflow:hidden;text-overflow:ellipsis}.patient-clinic,.patient-uhid-col{font-weight:500}.patient-clinic,.patient-last-visit,.patient-uhid-col{font-size:.94rem;color:#7c70af;white-space:nowrap}.patient-row-pdf{display:flex;align-items:center;justify-content:center;color:var(--accent);border-radius:6px;padding:4px;transition:background .12s ease}.patient-row-pdf:not(.patient-row-pdf--empty):hover{background:rgba(106,108,246,.12)}.patient-row-pdf--empty{pointer-events:none}.patient-row-whatsapp{display:flex;align-items:center;justify-content:center;color:#25d366;border-radius:6px;padding:4px;cursor:pointer;transition:background .12s ease}.patient-row-whatsapp:hover{background:rgba(37,211,102,.12)}.patient-row-whatsapp--dim{color:var(--muted);pointer-events:none;opacity:.35}.patient-row-whatsapp--busy{opacity:.5;pointer-events:none}.patient-row-whatsapp--error{color:#e53e3e}.patient-row-whatsapp-error-label{font-size:11px;color:#e53e3e;white-space:nowrap;margin-right:4px}.risk-unknown{display:inline-flex;align-items:center;padding:6px 14px;border-radius:6px;font-size:.85rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(0,0,0,.04);color:#7c70af;border:1px solid rgba(0,0,0,.1)}.patient-list>.patient-row:nth-child(2n){background:#f6f5ff}.patient-accordion{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}.patient-accordion.open{grid-template-rows:1fr}.patient-accordion-inner{overflow:hidden}.patient-detail-grid{display:grid;grid-template-columns:1fr 1fr;padding:24px 28px 28px;grid-gap:0;gap:0}.patient-detail-section{padding-right:28px;padding-bottom:8px;border-right:1px solid rgba(106,108,246,.1)}.patient-detail-section:nth-child(2){padding-left:28px;padding-right:0;border-right:none}.patient-detail-reports{grid-column:1/-1;border-right:none;border-top:1px solid rgba(106,108,246,.1);padding:16px 0 0;margin-top:18px}.patient-detail-label{margin:0 0 14px;font-size:.82rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--accent)}.abi-tbi-form{display:flex;flex-direction:column;gap:12px}.abi-tbi-groups{display:flex;gap:10px}.abi-tbi-group{flex:1 1;border-radius:10px;padding:12px 14px}.abi-tbi-group--abi{background:rgba(99,102,241,.05);border:1px solid rgba(99,102,241,.1)}.abi-tbi-group--tbi{background:rgba(16,185,129,.05);border:1px solid rgba(16,185,129,.12)}.abi-tbi-group-label{margin:0 0 10px;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.09em;color:var(--muted)}.abi-tbi-range{font-weight:400;text-transform:none;letter-spacing:0;opacity:.7}.abi-tbi-pair{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.abi-tbi-label{display:grid;grid-gap:6px;gap:6px}.abi-tbi-label>span{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap}.abi-tbi-source{font-weight:400;font-style:italic;text-transform:none;letter-spacing:0;opacity:.7}.abi-tbi-input{width:100%;padding:8px 10px;border-radius:8px;border:1.5px solid rgba(106,108,246,.2);background:#fafaff;color:var(--text);font:inherit;font-size:.95rem;outline:none;transition:border-color .14s ease,box-shadow .14s ease;-moz-appearance:textfield}.abi-tbi-input::-webkit-inner-spin-button,.abi-tbi-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.abi-tbi-input:focus{border-color:rgba(106,108,246,.5);box-shadow:0 0 0 3px rgba(106,108,246,.08);background:#fff}.abi-tbi-saved{margin:0;font-size:.85rem;color:#15803d}.abi-tbi-save-btn{align-self:flex-start}@media (max-width:600px){.abi-tbi-groups{flex-direction:column}}.patient-detail-dl{display:block;margin:0;font-size:1rem}.patient-detail-dl dt{display:inline;color:var(--muted);font-weight:500}.patient-detail-dl dt:after{content:": "}.patient-detail-dl dd{display:inline;margin:0;color:var(--text);font-weight:600}.patient-detail-dl dd:after{content:"";display:block;margin-bottom:12px}.demo-row{display:flex;flex-wrap:wrap;gap:6px 24px;align-items:center;margin-bottom:10px}.demo-field{display:inline-flex;align-items:center;gap:6px}.demo-label{color:var(--muted);font-size:.9rem;font-weight:500}.demo-label:after{content:":"}.demo-value{color:var(--text);font-size:.95rem;font-weight:600}.demo-value--mono{font-family:monospace}.demo-compact{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 0;font-size:.87rem;line-height:1.7}.demo-compact-item{display:inline-flex;align-items:baseline;gap:4px;white-space:nowrap}.demo-compact-item--notes{white-space:normal;align-items:flex-start}.demo-compact-sep{color:rgba(51,65,85,.28);margin:0 7px;font-weight:400;-webkit-user-select:none;-moz-user-select:none;user-select:none}.demo-compact-label{color:var(--muted);font-size:.82rem;font-weight:500}.demo-compact-label:after{content:":"}.demo-compact-value{color:var(--text);font-weight:600;font-size:.87rem}.demo-compact-value--mono{font-family:monospace;letter-spacing:.02em}.demo-compact-value--notes{font-weight:500;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;white-space:normal;max-width:32ch}.copy-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--muted);border-radius:5px;cursor:pointer;flex-shrink:0;transition:color .12s,background .12s}.copy-btn:hover{color:var(--accent);background:rgba(106,108,246,.08)}.copy-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.copy-btn--done{color:#16a34a}.patient-detail-loading{padding:14px 18px;margin:0;color:var(--muted);font-size:.86rem}.patient-detail-empty{color:var(--muted);font-size:.84rem;margin:0;line-height:1.65}.scan-thumb-row{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.scan-thumb-btn{display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:1px solid var(--border,#e2e8f0);border-radius:6px;padding:8px;cursor:pointer;transition:border-color .12s,box-shadow .12s;max-width:140px;text-align:center}.scan-thumb-btn:hover{border-color:var(--color-teal,#319795);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-teal,#319795) 20%,transparent)}.scan-thumb-frame{width:120px;height:155px;overflow:hidden;border-radius:3px;background:#fff;position:relative;pointer-events:none}.scan-thumb-iframe{width:850px;height:1200px;transform:scale(.141);transform-origin:top left;border:none;pointer-events:none}.scan-thumb-label{font-size:.72rem;font-weight:500;color:var(--color-text,#1a202c);word-break:break-all;line-height:1.3;max-width:120px}.scan-thumb-meta{font-size:.68rem;color:var(--muted,#718096)}.encounter-list{display:flex;flex-direction:column;gap:10px}.encounter-card{border:1px solid var(--border,#e2e8f0);border-radius:6px;padding:10px 14px;background:var(--surface-alt,#f7fafc)}.encounter-card-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:6px}.encounter-device-type{font-size:.78rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text,#1a202c)}.encounter-date{font-size:.78rem;color:var(--muted,#718096)}@media (max-width:960px){.patient-list-header,.patient-row-header{grid-template-columns:24px 1fr 110px 80px 100px 44px 44px;padding-left:12px;padding-right:12px}.patient-clinic{display:none}}@media (max-width:640px){.patient-list-header,.patient-row-header{grid-template-columns:28px 1fr 44px 44px;padding-left:12px;padding-right:12px}.patient-last-visit,.patient-uhid-col{display:none}.patient-detail-grid{grid-template-columns:1fr;padding:18px 16px 20px}.patient-detail-section{border-right:none;border-bottom:1px solid rgba(106,108,246,.1);padding:0 0 16px;margin-bottom:16px}.patient-detail-section:nth-child(2){padding-left:0}.patient-detail-reports{border-top:none;margin-top:0;padding-top:0}}.team-table{width:100%;border-collapse:collapse;font-size:.9rem;margin-top:.75rem}.team-table th{text-align:left;padding:8px 12px;border-bottom:2px solid rgba(106,108,246,.2);color:var(--color-primary,#6A6CF6);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}.team-table td{padding:10px 12px;border-bottom:1px solid rgba(106,108,246,.08);vertical-align:middle}.team-table tbody tr:hover{background:rgba(106,108,246,.03)}.btn-sm{padding:4px 10px;font-size:.8rem}.btn-secondary{background:transparent;border:1px solid rgba(106,108,246,.4);color:var(--color-primary,#6A6CF6);border-radius:4px;cursor:pointer;transition:background .15s}.btn-secondary:hover:not(:disabled){background:rgba(106,108,246,.08)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.status-badge{font-size:.75rem;padding:2px 8px;border-radius:12px;font-weight:600;text-transform:uppercase}.status-active{background:rgba(34,197,94,.12);color:#15803d}.status-invited{background:rgba(234,179,8,.12);color:#a16207}.status-disabled{background:rgba(239,68,68,.12);color:#b91c1c}.temp-password-banner{margin-top:1rem;padding:12px 16px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.3);border-radius:6px;font-size:.9rem;line-height:1.6}.temp-password-code{display:block;margin-top:6px;font-size:1.1rem;font-family:monospace;letter-spacing:.1em;color:#15803d;-webkit-user-select:all;-moz-user-select:all;user-select:all}.reset-password-reveal{font-size:.85rem}.reset-password-reveal code{margin-left:6px;font-family:monospace;color:#6A6CF6;-webkit-user-select:all;-moz-user-select:all;user-select:all}.form-error{color:var(--color-error,#dc2626);font-size:.875rem}.login-header{font-size:2.5rem;font-weight:350;line-height:1.2;margin:0 0 8px;color:var(--text);letter-spacing:-.03em}.report-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:12px;gap:12px;margin-bottom:16px}.report-status-card{display:grid;grid-gap:4px;gap:4px;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,rgba(245,245,255,.96),rgba(248,248,255,.92));border:1px solid rgba(106,108,246,.14)}.report-status-label{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:rgba(67,56,202,.74)}.report-status-value{color:#0f172a;font-size:1rem}.report-status-meta,.report-status-reason{color:rgba(51,65,85,.8);font-size:.86rem}.consolidated-report-card{margin-bottom:18px;padding:16px 18px;border-radius:18px;background:linear-gradient(180deg,rgba(248,248,255,.96),rgba(245,245,255,.92));border:1px solid rgba(106,108,246,.16)}.consolidated-report-card.partial{border-color:rgba(245,158,11,.28);background:linear-gradient(180deg,rgba(255,251,235,.96),rgba(255,247,237,.92))}.consolidated-report-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.consolidated-report-header h5{margin:0;font-size:1rem;color:#0f172a}.consolidated-report-header p{margin:4px 0 0;color:rgba(51,65,85,.8);font-size:.9rem}.consolidated-report-link{display:inline-flex;align-items:center;padding:8px 12px;border-radius:999px;text-decoration:none;background:rgba(106,108,246,.12);color:#5558e8;font-weight:600}.report-compact-row{display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:nowrap;overflow:hidden}.report-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border-radius:8px;background:rgba(106,108,246,.1);border:none;cursor:pointer;color:#5558e8;padding:0}.report-icon-btn--dim{opacity:.35;cursor:default}.report-icon-btn--ready{background:rgba(217,119,6,.1);color:#b45309;cursor:default}.report-device-status{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.report-device-sep{color:rgba(51,65,85,.3);margin:0 2px;font-size:.85rem}.report-device-name{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(51,65,85,.65)}.report-device-check--ok{color:#16a34a;font-size:.85rem;line-height:1}.report-device-check--fail{color:#dc2626;font-size:.85rem;line-height:1}.consolidated-report-warning{display:grid;grid-gap:4px;gap:4px;padding:12px 14px;border-radius:14px;margin-bottom:12px;background:rgba(245,158,11,.12);color:#92400e}.device-status-row{display:contents}.plantar-metrics-table{width:100%;border-collapse:collapse;font-size:.78rem;margin-bottom:8px}.plantar-metrics-table td,.plantar-metrics-table th{padding:3px 8px;text-align:left;border-bottom:1px solid var(--border)}.plantar-metrics-table th{color:var(--muted-foreground);font-weight:500}.plantar-metrics-table td:first-child{color:var(--muted-foreground);width:40%}.plantar-foot-images{display:flex;gap:12px;margin-top:14px}.plantar-foot-figure{flex:1 1;min-width:0;margin:0;display:flex;flex-direction:column;align-items:center;gap:4px}.plantar-foot-img{width:100%;border-radius:8px;border:1px solid rgba(0,0,0,.08);display:block}.plantar-foot-figure figcaption{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--muted,#718096)}.encounter-card-header-left{display:flex;align-items:center;gap:6px}.plantar-image-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;background:rgba(22,163,74,.1);color:#15803d;border:1px solid rgba(22,163,74,.2)}@media (max-width:980px){.report-status-grid{grid-template-columns:1fr}.consolidated-report-header{flex-direction:column}}.edit-section-header{display:flex;align-items:center;gap:8px;margin-bottom:14px}.edit-section-header .patient-detail-label{margin-bottom:0}.edit-pencil-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;background:transparent;color:var(--muted);border-radius:5px;cursor:pointer;flex-shrink:0;transition:color .12s,background .12s}.edit-pencil-btn:hover{color:var(--accent);background:rgba(106,108,246,.08)}.edit-confirm-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:200;display:flex;align-items:center;justify-content:center}.edit-confirm-dialog{background:#fff;border:1px solid var(--border);border-radius:10px;padding:28px 32px;max-width:360px;width:90%;box-shadow:0 8px 32px rgba(0,0,0,.18)}.edit-confirm-dialog p{margin:0 0 20px;font-size:1rem;line-height:1.5;color:var(--text)}.edit-confirm-actions{display:flex;gap:10px;justify-content:flex-end}.patient-edit-form{display:flex;flex-direction:column;gap:10px}.patient-edit-actions{display:flex;gap:10px;margin-top:6px}.edit-cancel-btn{background:transparent;border:1px solid var(--border);border-radius:7px;padding:8px 18px;font-size:.9rem;font-weight:500;cursor:pointer;color:var(--text);transition:background .12s}.edit-cancel-btn:hover{background:rgba(0,0,0,.04)}.stride-fab{position:fixed;bottom:28px;right:28px;z-index:9999;display:flex;align-items:center;gap:8px;padding:14px 22px;background:linear-gradient(135deg,var(--brand) 0,var(--brand-dark) 100%);color:#fff;border:none;border-radius:50px;font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 4px 18px rgba(106,108,246,.45);transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.stride-fab:hover:not(:disabled){transform:translateY(-3px) scale(1.03);box-shadow:0 8px 28px rgba(106,108,246,.55)}.stride-fab:active:not(:disabled){transform:translateY(0) scale(.97);box-shadow:0 2px 10px rgba(106,108,246,.35)}.stride-fab:disabled{opacity:.75;cursor:not-allowed}.stride-fab--no-patient:after{content:"";position:absolute;inset:-4px;border-radius:50px;border:2px solid rgba(106,108,246,.35);animation:stride-pulse 2.4s ease-in-out infinite}@keyframes stride-pulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:0;transform:scale(1.12)}}.stride-fab-icon{width:20px;height:20px;flex-shrink:0}.stride-fab-label{white-space:nowrap}.stride-fab-spinner{display:inline-block;width:18px;height:18px;border:2.5px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:stride-spin .7s linear infinite;flex-shrink:0}@keyframes stride-spin{to{transform:rotate(1turn)}}.stride-toast{position:fixed;bottom:96px;right:28px;z-index:9998;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;font-size:.9rem;font-weight:500;max-width:340px;box-shadow:var(--shadow-hover);animation:stride-slide-up .22s ease}@keyframes stride-slide-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.stride-toast--error{background:var(--critical-soft);border:1px solid var(--critical);color:var(--critical)}.stride-toast-close{background:none;border:none;cursor:pointer;font-size:1.2rem;line-height:1;color:inherit;opacity:.7;padding:0 2px;margin-left:auto;flex-shrink:0}.stride-toast-close:hover{opacity:1}.stride-patient-indicator{position:fixed;bottom:82px;right:28px;z-index:9997;display:flex;align-items:center;gap:6px;padding:5px 12px;background:var(--brand-soft);border:1px solid var(--brand-border);border-radius:20px;font-size:.78rem;font-weight:500;color:var(--brand);max-width:220px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;animation:stride-slide-up .18s ease}.stride-patient-dot{width:7px;height:7px;border-radius:50%;background:var(--brand);flex-shrink:0}.stride-info-tooltip{position:fixed;bottom:82px;right:28px;z-index:9997;background:var(--panel-strong);color:#fff;font-size:.82rem;padding:8px 14px;border-radius:8px;max-width:260px;line-height:1.45;box-shadow:var(--shadow-hover);animation:stride-slide-up .15s ease;pointer-events:none}@media (max-width:480px){.stride-fab{bottom:16px;right:16px;padding:12px 16px;font-size:.88rem}.stride-toast{right:16px;left:16px;bottom:80px;max-width:none}.stride-patient-indicator{right:16px;bottom:72px}}