:root{color-scheme:light;--bg:#f7f9fb;--panel:#ffffff;--panel-soft:#f8fafc;--panel-muted:#f1f5f9;--panel-strong:#f0f4f8;--text:#0f172a;--text-muted:#64748b;--text-soft:#94a3b8;--ink:#0f172a;--muted:#64748b;--border:#e2e8f0;--border-soft:#edf2f7;--border-strong:#cbd5e1;--line:#e2e8f0;--accent:#0f766e;--accent-strong:#115e59;--primary:#0f766e;--primary-hover:#115e59;--primary-soft:#d9f5f2;--danger:#dc2626;--danger-hover:#b91c1c;--danger-soft:#fee2e2;--danger-subtle:#fef2f2;--warning:#d97706;--warning-soft:#fef3c7;--warn:#d97706;--warn-subtle:#fffbeb;--info-strong:#1d4ed8;--radius:10px;--radius-sm:10px;--radius-md:12px;--radius-lg:16px;--shadow-sm:0 1px 2px rgba(15,23,42,0.04);--shadow:0 4px 12px rgba(15,23,42,0.07);--shadow-md:0 6px 18px rgba(15,23,42,0.06);--shadow-lg:0 10px 30px rgba(15,23,42,0.08);--sp-1:4px;--space-1:4px;--sp-2:8px;--space-2:8px;--sp-3:12px;--space-3:12px;--sp-4:16px;--space-4:16px;--sp-6:24px;--space-5:20px;--space-6:24px;--sp-8:32px;--space-8:32px;--font-body:"Inter",system-ui,sans-serif;--font-mono:"SFMono-Regular",Consolas,monospace}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;min-height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}h1{font-size:30px;line-height:1.15;font-weight:700}h1,h2{margin:0}h2{font-size:22px;line-height:1.2;font-weight:650}h3{font-size:18px;line-height:1.3;font-weight:600;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;font-size:15px;line-height:1.5}button{cursor:pointer}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--panel);color:var(--text);transition:border-color .15s,box-shadow .15s}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,118,110,.12)}textarea{min-height:120px;resize:vertical}label{display:grid;grid-gap:4px;gap:4px;font-weight:600;color:var(--text);font-size:14px}label span{font-size:13px;color:var(--text-muted);font-weight:500}.multiline-text p{margin:0}.multiline-text p+p{margin-top:.75rem}.app-shell{display:grid;grid-template-columns:var(--sidebar-w,232px) minmax(0,1fr);min-height:100vh;transition:grid-template-columns .2s ease}.app-shell.collapsed{--sidebar-w:72px}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:0;display:flex;flex-direction:column;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow:hidden;z-index:20}.sidebar-brand{display:flex;align-items:center;gap:8px;padding:10px 12px;border-bottom:1px solid var(--border-soft);min-height:52px}.sidebar-logo{flex-shrink:0;width:32px;height:32px;background:var(--primary);border-radius:var(--radius-sm);display:grid;place-items:center;color:white;font-weight:700;font-size:13px;letter-spacing:-.02em}.sidebar-brand-text{overflow:hidden;min-width:0;flex:1 1}.sidebar-brand-text strong{font-size:14px;font-weight:600}.sidebar-brand-text span,.sidebar-brand-text strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-brand-text span{font-size:12px;color:var(--text-muted)}.sidebar-toggle{background:none;border:none;padding:.3rem;margin-left:auto;color:var(--text-muted);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,color .15s}.sidebar-toggle:hover{background:var(--panel-soft);color:var(--text)}.nav-list{display:flex;flex-direction:column;gap:4px;padding:8px 6px;flex:1 1;overflow-y:auto}.nav-link{gap:10px;height:42px;padding:0 12px;border-radius:var(--radius-sm);color:var(--text-muted);font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;transition:background .12s,color .12s}.nav-link,.nav-link .nav-icon{display:flex;align-items:center}.nav-link .nav-icon{flex-shrink:0;width:20px;height:20px;justify-content:center}.nav-link .nav-label{overflow:hidden;text-overflow:ellipsis}.nav-link.active{background:var(--primary-soft);color:var(--primary);font-weight:600}.nav-link:hover:not(.active){background:var(--panel-soft);color:var(--text)}.sidebar-footer{border-top:1px solid var(--border-soft);padding:6px;overflow:hidden}.profile-card{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--panel-soft);min-width:0}.profile-avatar{flex-shrink:0;width:28px;height:28px;background:var(--primary);border-radius:50%;display:grid;place-items:center;color:white;font-size:11px;font-weight:700}.profile-card-text{min-width:0;overflow:hidden}.profile-card-text strong{display:block;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-card-text span{display:block;font-size:12px;color:var(--text-muted)}.main-panel{display:flex;flex-direction:column;min-height:100vh;min-width:0}.top-bar{position:-webkit-sticky;position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:16px;padding:0 24px;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-soft);min-height:56px}.top-bar-title{flex:1 1;min-width:0}.top-bar-title h2{font-size:18px;font-weight:600}.top-bar-title h2,.top-bar-title p{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-bar-title p{margin-top:2px;font-size:13px;color:var(--text-muted)}.top-bar-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.page-content{padding:24px;display:grid;grid-gap:20px;gap:20px;align-content:start;flex:1 1}.page-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.page-actions{display:flex;gap:.5rem;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.07em;font-size:11px;font-weight:600;margin:0 0 4px}.eyebrow,.muted{color:var(--text-muted)}.muted{margin:0}.muted.wide{max-width:60ch}.mono{font-family:var(--font-mono)}.auth-card,.card,.state-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card{padding:24px;box-shadow:var(--shadow-md)}.state-card{padding:10px 14px;font-size:14px;border-radius:var(--radius-md)}.overview-grid,.stats-grid,.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px}.stat-card{background:var(--panel);border:1px solid var(--border-soft);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px 18px;display:grid;grid-gap:6px;gap:6px}.stat-card span{font-size:12px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em}.stat-card strong{font-size:34px;font-weight:700;color:var(--text);line-height:1.1}.stat-card-meta{font-size:13px;color:var(--text-muted)}.activity-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-md)}.side-card{background:var(--panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:18px}.side-card-header{margin-bottom:14px}.side-card-header h3{font-size:14px;font-weight:600;color:var(--text)}.side-card-header p{font-size:13px;color:var(--text-muted);margin:2px 0 0}.dashboard-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:20px;gap:20px;align-items:start}.summary-panel{display:grid;grid-gap:6px;gap:6px;padding:16px;border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--border-soft)}.field-value{display:block;line-height:1.25}.overview-card{display:grid;align-content:start;grid-gap:10px;gap:10px;min-height:0}.form-stack,.stack-gap,.stack-gap-lg,.subform{display:grid;grid-gap:16px;gap:16px}.stack-gap-lg{gap:24px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:16px;gap:16px;align-items:start}.section-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.section-header h3{font-size:16px;font-weight:600}.form-two-col{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-gap:24px;gap:24px;align-items:start}.form-section-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.form-section-header{padding:16px 22px;border-bottom:1px solid var(--border-soft);background:var(--panel-soft)}.form-section-header h3{font-size:14px;font-weight:600;color:var(--text)}.form-section-header p{font-size:13px;color:var(--text-muted);margin:2px 0 0}.form-section-body{padding:22px;display:grid;grid-gap:16px;gap:16px}.encounter-preview{background:var(--panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);position:-webkit-sticky;position:sticky;top:76px}.encounter-preview-header{padding:14px 20px;border-bottom:1px solid var(--border-soft);background:var(--panel-muted)}.encounter-preview-header h3{font-size:14px;font-weight:600;color:var(--text)}.encounter-preview-body{padding:20px;display:grid;grid-gap:16px;gap:16px}.encounter-preview-row{display:grid;grid-gap:4px;gap:4px}.encounter-preview-row dt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted)}.encounter-preview-row dd{font-size:14px;color:var(--text);margin:0}.encounter-preview-section{border-top:1px solid var(--border-soft);padding-top:16px}.encounter-preview-section h4{font-size:13px;font-weight:600;color:var(--text);margin:0 0 8px}.encounter-preview-section p{font-size:13px;color:var(--text-muted);margin:0;line-height:1.55}.encounter-preview-steps{list-style:none;padding:0;margin:0;display:grid;grid-gap:6px;gap:6px}.encounter-preview-steps li{display:flex;gap:8px;align-items:flex-start;font-size:13px;color:var(--text-muted)}.encounter-preview-steps li:before{content:"";flex-shrink:0;width:6px;height:6px;border-radius:50%;background:var(--primary);margin-top:6px}.list-grid,.timeline-list{display:grid;grid-gap:8px;gap:8px}.list-row,.timeline-item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 16px;border-radius:var(--radius-md);background:var(--panel);border:1px solid var(--border-soft);transition:border-color .12s}.list-row:hover,.timeline-item:hover{border-color:var(--primary)}.list-row-tall{align-items:flex-start}.empty-state{padding:48px 24px;display:grid;grid-gap:8px;gap:8px;color:var(--text-muted);text-align:center;justify-items:center}.empty-state-icon{width:48px;height:48px;border-radius:12px;background:var(--primary-soft);display:grid;place-items:center;color:var(--primary);margin-bottom:4px}.empty-state strong{font-size:16px;font-weight:600;color:var(--text)}.empty-state p{font-size:14px;color:var(--text-muted);max-width:36ch}.action-switcher{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.action-chip{display:grid;grid-gap:2px;gap:2px;justify-items:start;padding:12px 14px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);color:var(--text);transition:border-color .12s,background .12s}.action-chip.active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.action-chip.completed{background:#ecfdf5;border-color:#86efac;color:#166534}.action-chip strong{font-size:12px;color:var(--primary)}.action-chip.completed strong{color:#166534}.checkbox-field{display:flex;align-items:center;gap:10px;font-weight:600}.checkbox-field input{width:1rem;height:1rem;margin:0;accent-color:var(--primary)}fieldset{border:0;margin:0;min-width:0;padding:0}.section-muted{opacity:.45}.tabs{display:flex;gap:0;border-bottom:2px solid var(--border);margin-bottom:20px}.tab-btn{background:none;padding:10px 16px;font-size:14px;font-weight:500;color:var(--text-muted);border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:color .12s,border-color .12s}.tab-btn:hover{color:var(--text)}.tab-btn.active{color:var(--primary);font-weight:600;border-bottom-color:var(--primary)}.button{border:none;border-radius:10px;padding:0 16px;height:44px;font-size:14px;font-weight:500;display:inline-flex;justify-content:center;align-items:center;gap:6px;transition:opacity .12s,box-shadow .12s,background .12s;white-space:nowrap}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:var(--primary);color:white;box-shadow:var(--shadow-sm)}.button.primary:hover:not(:disabled){background:var(--primary-hover);box-shadow:var(--shadow-md)}.button.secondary{background:var(--panel-soft);color:var(--text);border:1px solid var(--border)}.button.secondary:hover:not(:disabled){background:var(--border)}.button.tertiary{background:var(--panel);color:var(--primary);border:1px solid var(--border)}.button.tertiary:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.button.danger{background:var(--danger);color:white}.button.danger:hover:not(:disabled){opacity:.9}.button.wide{width:100%}.button.sm{height:36px;padding:0 12px;font-size:13px;border-radius:8px}.dsar-actions-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.dsar-progress-wrap{border:1px solid var(--border);background:var(--panel-soft);border-radius:var(--radius-md);padding:12px;display:grid;grid-gap:8px;gap:8px;margin-top:10px}.dsar-progress-header{display:flex;justify-content:space-between;align-items:center;font-size:14px}.dsar-progress-copy{margin:0;line-height:1.5}.dsar-progress{width:100%;height:10px}.dsar-progress::-webkit-progress-bar{background:var(--panel);border-radius:999px}.dsar-progress::-webkit-progress-value{background:var(--primary);border-radius:999px}.dsar-progress::-moz-progress-bar{background:var(--primary);border-radius:999px}.dsar-progress-meta{display:flex;gap:8px;align-items:center;flex-wrap:wrap;font-size:13px}.dsar-progress-steps{list-style:none;padding:0;margin:4px 0 0;display:grid;grid-gap:8px;gap:8px}.dsar-progress-step{display:flex;gap:10px;align-items:center;font-size:13px}.dsar-progress-step:before{content:"";width:10px;height:10px;border-radius:999px;border:2px solid var(--border-strong);background:var(--panel);flex-shrink:0}.dsar-progress-step.complete:before{background:var(--primary);border-color:var(--primary)}.dsar-progress-step.current:before{background:var(--info-strong);border-color:var(--info-strong);box-shadow:0 0 0 4px rgba(29,78,216,.12)}.dsar-progress-step.upcoming{color:var(--muted)}.dsar-progress-step-label{line-height:1.4}.dsar-review-row{align-items:flex-start}.dsar-review-main{width:100%;display:grid;grid-gap:10px;gap:10px}.dsar-meta-row{display:flex;gap:10px;flex-wrap:wrap;font-size:13px}.dsar-notes-preview{margin:0;line-height:1.5}.dsar-edit-grid{display:grid;grid-gap:12px;gap:12px;padding-top:6px}.status-pill{display:inline-flex;align-items:center;padding:3px 10px;border-radius:999px;background:var(--panel-soft);color:var(--text);font-size:12px;font-weight:600;border:1px solid var(--border)}.status-pill.good{background:var(--primary-soft);color:var(--primary);border-color:rgba(15,118,110,.2)}.status-pill.warn{background:var(--warn-subtle);color:var(--warn);border-color:rgba(217,119,6,.2)}.status-pill.info{background:rgba(29,78,216,.08);color:var(--info-strong);border-color:rgba(29,78,216,.15)}.lab-test-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:.65rem;gap:.65rem;align-items:center;padding:.75rem .9rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.lab-test-row input[type=number],.lab-test-row input[type=text]{width:100px;text-align:right;border-radius:var(--radius-sm);border:1.5px solid var(--line);padding:.4rem .55rem;font-size:.9rem;background:var(--panel);color:var(--ink);transition:border-color .15s}.lab-test-row input.range-normal{border-color:var(--accent);background:rgba(15,118,110,.06);color:var(--accent-strong)}.lab-test-row input.range-warn{border-color:var(--warn);background:var(--warn-subtle);color:var(--warn)}.lab-test-row input.range-danger{border-color:var(--danger);background:var(--danger-subtle);color:var(--danger)}.lab-test-row .unit-label{font-size:.8rem;color:var(--muted);min-width:3rem}.lab-test-row .test-info strong{font-size:.9rem}.lab-test-row .test-info .muted{font-size:.78rem;margin-top:.1rem}.range-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600}.range-badge.normal{background:rgba(15,118,110,.1);color:var(--accent-strong)}.range-badge.warn{background:var(--warn-subtle);color:var(--warn)}.range-badge.danger{background:var(--danger-subtle);color:var(--danger)}.category-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--panel-soft);overflow:hidden}.category-card-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--panel-muted);gap:1rem;border-bottom:1px solid var(--border-soft)}.category-card-body{padding:12px 16px;display:grid;grid-gap:8px;gap:8px}.lab-bulk-grid,.lab-category-entry-grid,.lab-category-list,.lab-import-preview-grid,.lab-import-preview-tests,.lab-modal-body,.lab-result-grid,.lab-results-main,.lab-results-shell{display:grid;grid-gap:14px;gap:14px}.lab-results-layout{display:grid;grid-template-columns:200px minmax(0,1fr);grid-gap:20px;gap:20px;align-items:start}.lab-results-sidebar{position:-webkit-sticky;position:sticky;top:16px;display:grid;grid-gap:4px;gap:4px;background:var(--panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:12px}.lab-sidebar-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--text-muted);padding:2px 10px 6px;margin:0}.lab-category-list{gap:2px}.lab-category-button{display:flex;justify-content:space-between;align-items:center;gap:6px;padding:7px 10px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-muted);font-size:13px;text-align:left;transition:border-color .12s,background .12s,color .12s;width:100%}.lab-category-button:hover{background:var(--panel-muted);color:var(--text)}.lab-category-name{font-weight:500;flex:1 1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lab-category-button span:not(.lab-category-name){font-size:11px;font-weight:600;color:var(--text-muted);flex-shrink:0}.lab-category-button.active{border-color:var(--primary);background:var(--primary-soft);color:var(--primary)}.lab-category-button.active .lab-category-name,.lab-category-button.active span:not(.lab-category-name){color:var(--primary)}.lab-results-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:0 0 4px}.lab-toolbar-count{font-size:14px;font-weight:600;color:var(--text)}.lab-date-filter{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:500;color:var(--text-muted)}.lab-date-filter select{padding:6px 8px;border:1px solid var(--border-soft);border-radius:8px;font-size:13px;background:var(--panel);color:var(--text)}.lab-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.lab-result-card{display:grid;grid-gap:10px;gap:10px;padding:18px 20px;border-radius:var(--radius-md);background:var(--panel);border:1px solid #eef2f7;box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s,transform .15s}.lab-result-card:hover{box-shadow:0 6px 20px rgba(15,23,42,.08);border-color:rgba(15,118,110,.2);transform:translateY(-1px)}.lab-result-card h3{margin:0;font-size:14px;font-weight:600;color:var(--text)}.lab-result-card-header{display:flex;justify-content:space-between;gap:12px;align-items:center}.lab-result-value{font-size:2.625rem;font-weight:700;line-height:1;letter-spacing:-.02em;text-align:right;color:var(--text);white-space:nowrap;flex-shrink:0}.lab-result-unit{font-size:15px;font-weight:400;color:var(--text-muted);letter-spacing:0;margin-left:4px;vertical-align:text-bottom}.lab-result-card-actions,.lab-table-actions{display:flex;gap:0;margin:0 -6px;flex-wrap:wrap;align-items:center}.lab-action{display:inline-flex;align-items:center;height:30px;padding:0 8px;border:none;background:none;border-radius:5px;font-size:14px;font-weight:500;color:var(--text-muted);cursor:pointer;transition:color .12s,background .12s}.lab-action:hover{color:var(--text);background:var(--panel-muted)}.lab-action-sep{width:1px;height:12px;background:var(--border);flex-shrink:0}.lab-range-wrap{position:relative;margin-top:0;padding-top:12px}.lab-range-indicator{position:absolute;top:0;transform:translateX(-50%);text-align:center}.lab-range-arrow{width:0;height:0;margin:0 auto;border-left:3px solid transparent;border-right:3px solid transparent;border-top:5px solid #94a3b8}.lab-range-bar{display:flex;gap:1px;height:5px;border-radius:3px;overflow:hidden;background:var(--border-soft)}.lab-range-segment.high,.lab-range-segment.low{background:#cbd5e1}.lab-range-segment.normal{background:rgba(15,118,110,.38)}.lab-range-labels{position:relative;height:1rem;margin-top:3px}.lab-range-labels span{position:absolute;transform:translateX(-50%);font-size:10.5px;font-weight:500;color:var(--text-muted);opacity:.8}.lab-failure-row,.lab-history-chart-card,.lab-import-preview-card,.lab-meta-card{padding:14px 16px;border-radius:var(--radius-md);background:var(--panel-soft);border:1px solid var(--border-soft)}.lab-import-panel{background:var(--panel-soft);border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:18px 20px}.lab-result-ref-range{font-size:12px}.lab-results-main .section-header{padding-bottom:12px;border-bottom:1px solid var(--border-soft);margin-bottom:2px}.lab-results-main .section-header h3{font-size:20px;font-weight:650;letter-spacing:-.02em;color:var(--text)}.lab-results-main>.card{box-shadow:var(--shadow-sm);border-color:var(--border-soft)}.bulk-menu{position:relative}.bulk-menu>summary{list-style:none;cursor:pointer}.bulk-menu>summary::-webkit-details-marker{display:none}.bulk-menu-panel{position:absolute;top:calc(100% + 6px);right:0;z-index:30;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);min-width:180px;display:grid;padding:6px;grid-gap:2px;gap:2px}.bulk-menu-item{display:block;width:100%;padding:9px 12px;border:none;background:none;border-radius:var(--radius-sm);font-size:14px;font-weight:500;color:var(--text);text-align:left;cursor:pointer;transition:background .12s}.bulk-menu-item:hover{background:var(--panel-soft)}.bulk-menu-item:disabled{opacity:.4;cursor:not-allowed}.lab-bulk-grid{gap:.65rem}.lab-bulk-grid-header{display:flex;justify-content:space-between;gap:1rem;align-items:center}.lab-bulk-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;grid-gap:.65rem;gap:.65rem;align-items:end;padding:.85rem 1rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.lab-category-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-category-entry-card{padding:.9rem 1rem;border-radius:var(--radius);background:var(--panel);border:1px solid var(--line)}.lab-category-entry-card strong{font-size:.8rem;color:var(--muted)}.lab-history-table-wrap{overflow:auto;border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--panel)}.lab-history-table{width:100%;border-collapse:collapse}.lab-history-table td,.lab-history-table th{padding:10px 12px;text-align:left;border-bottom:1px solid var(--border-soft);vertical-align:top;font-size:14px}.lab-history-table th{font-size:12px;font-weight:600;color:var(--text-muted);background:var(--panel-soft);text-transform:uppercase;letter-spacing:.05em}.lab-history-table tbody tr:last-child td{border-bottom:none}.lab-table-sort{border:none;background:none;padding:0;font-weight:600;color:var(--muted);font-size:.75rem;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}.lab-import-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lab-import-preview-tests{gap:.5rem}.lab-import-preview-test{padding-top:.5rem;border-top:1px solid var(--line)}.lab-modal-backdrop{position:fixed;inset:0;display:grid;place-items:center;padding:1.5rem;background:rgba(15,23,42,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:40}.lab-modal-panel{width:min(960px,100%);max-height:calc(100vh - 3rem);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.lab-modal-footer,.lab-modal-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;padding:16px 20px;border-bottom:1px solid var(--border-soft);background:var(--panel-soft)}.lab-modal-header h3{margin:0;font-size:16px;font-weight:600}.lab-modal-body{overflow:auto;padding:1.25rem;align-content:start}.lab-modal-footer{border-bottom:none;border-top:1px solid var(--line);justify-content:flex-end;align-items:center}.med-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-soft);padding-bottom:0}.med-tab{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:none;font-size:14px;font-weight:500;color:var(--text-muted);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:pointer;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color .12s,border-color .12s}.med-tab:hover{color:var(--text)}.med-tab.active{color:var(--primary);border-bottom-color:var(--primary);font-weight:600}.med-tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 5px;background:var(--panel-muted);color:var(--text-muted);border-radius:10px;font-size:11px;font-weight:600}.med-tab.active .med-tab-count{background:var(--primary-soft);color:var(--primary)}.med-row{align-items:center}.med-actions{display:flex;gap:0;opacity:0;transition:opacity .12s}.med-row:hover .med-actions{opacity:1}.med-type-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);flex-shrink:0;margin-top:1px}.med-type-icon.medication{background:var(--primary-soft);color:var(--primary)}.med-type-icon.supplement{background:#fef3c7;color:#d97706}.timeline-type-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm);flex-shrink:0;margin-top:1px;background:var(--panel-muted);color:var(--text-muted)}.timeline-type-icon.type-encounter,.timeline-type-icon.type-medication{background:var(--primary-soft);color:var(--primary)}.timeline-type-icon.type-supplement{background:#fef3c7;color:#d97706}.timeline-type-icon.type-referral{background:#ede9fe;color:#7c3aed}.timeline-type-icon.type-result{background:#e0f2fe;color:#0369a1}.timeline-type-icon.type-imaging,.timeline-type-icon.type-procedure{background:#fce7f3;color:#be185d}.modal-overlay{position:fixed;inset:0;display:grid;place-items:center;padding:1.5rem;background:rgba(15,23,42,.45);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50}.modal-panel{width:min(600px,100%);max-height:calc(100vh - 3rem);display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid var(--border-soft);background:var(--panel-soft)}.modal-header h3{margin:0;font-size:16px;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);font-size:18px;padding:4px 6px;border-radius:var(--radius-sm);line-height:1;transition:background .12s,color .12s}.modal-close:hover{background:var(--panel-muted);color:var(--text)}.modal-body{overflow-y:auto;padding:20px}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:14px 20px;border-top:1px solid var(--border-soft);background:var(--panel-soft)}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:var(--bg)}.auth-card{width:min(440px,100%);padding:32px;display:grid;grid-gap:16px;gap:16px}.auth-card h1{font-size:28px;font-weight:700}.inline-error,.state-card.error{color:var(--danger);font-size:14px}.state-card.success{color:var(--primary);background:var(--primary-soft);border-color:rgba(15,118,110,.2)}.sticky-footer{position:-webkit-sticky;position:sticky;bottom:0;background:linear-gradient(180deg,transparent,var(--bg) 40%);padding-top:12px}@media (max-width:900px){.form-two-col{grid-template-columns:1fr}.encounter-preview{position:static}.dashboard-grid{grid-template-columns:1fr}}@media (max-width:700px){.app-shell{grid-template-columns:1fr}.app-shell.collapsed{--sidebar-w:1fr}.sidebar{position:static;height:auto}.page-content{padding:16px}.page-header{flex-direction:column}.stat-card strong{font-size:26px}.action-switcher,.detail-grid,.lab-category-entry-grid,.lab-import-preview-grid,.lab-result-grid,.lab-results-layout,.overview-grid,.stats-grid,.summary-grid{grid-template-columns:1fr}.lab-bulk-grid-header,.lab-modal-footer,.lab-modal-header,.lab-result-card-header,.lab-results-toolbar{flex-direction:column;align-items:flex-start}.lab-results-sidebar{position:static}.lab-date-filter{min-width:0;flex-direction:column;align-items:flex-start}.lab-bulk-row{grid-template-columns:1fr}.lab-result-value{text-align:left}.lab-modal-backdrop{padding:12px}.lab-modal-panel{max-height:calc(100vh - 24px)}.top-bar{padding:0 16px}}