:root{--color-bg:#f5f5f7;--color-surface:#fff;--color-border:#e2e2e6;--color-text:#1a1a1e;--color-text-muted:#6b6b74;--color-accent:#2563eb;--color-accent-hover:#1d4ed8;--color-success:#16a34a;--color-danger:#dc2626;--radius:8px;--shadow:0 1px 2px #0000000f, 0 1px 3px #00000014}*{box-sizing:border-box}body{background:var(--color-bg);color:var(--color-text);max-width:880px;margin:0 auto;padding:0 1.5rem 3rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;line-height:1.5}h1,h2,h3{line-height:1.25}h1{margin:1.5rem 0 1rem;font-size:1.75rem}h2{margin:0 0 .75rem;font-size:1.15rem}h3{margin:0 0 .5rem;font-size:1rem}a{color:var(--color-accent)}nav{border-bottom:1px solid var(--color-border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin-bottom:1.5rem;padding:1rem 0;display:flex}nav a{color:var(--color-text-muted);margin-right:1.25rem;font-weight:500;text-decoration:none}nav a:hover,nav a.active{color:var(--color-accent)}section,.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.25rem 1.5rem}form>div{margin-bottom:1rem}label{margin-bottom:.3rem;font-size:.9rem;font-weight:500;display:block}input,textarea,select{border:1px solid var(--color-border);width:100%;font:inherit;background:var(--color-surface);color:var(--color-text);border-radius:6px;padding:.5rem .75rem}input:focus,textarea:focus,select:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}input[type=file]{border:none;padding:.25rem 0}input[type=checkbox]{width:auto;margin-right:.4rem}button{background:var(--color-accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:6px;padding:.55rem 1.1rem;font-weight:500}button:hover:not(:disabled){background:var(--color-accent-hover)}button:disabled{background:var(--color-border);color:var(--color-text-muted);cursor:not-allowed}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{border-bottom:1px solid var(--color-border);text-align:left;vertical-align:top;padding:.6rem .75rem}th{text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-size:.75rem}ul{margin:0;padding:0;list-style:none}li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:1rem;padding:1rem 1.25rem}.photo-row{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.photo-row img{object-fit:cover;border-radius:6px;max-width:120px;max-height:120px}.status-badge{text-transform:capitalize;border-radius:999px;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-block}.status-uploaded{color:#374151;background:#e5e7eb}.status-processing{color:#1e40af;background:#dbeafe}.status-completed{color:#166534;background:#dcfce7}.status-failed{color:#991b1b;background:#fee2e2}.flags{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 0;display:flex}.flags li{color:#92400e;box-shadow:none;background:#fef3c7;border:none;border-radius:999px;margin:0;padding:.25rem .65rem;font-size:.8rem}.supplement-item{justify-content:space-between;align-items:center;gap:1rem;display:flex}.supplement-item button{background:var(--color-surface);color:var(--color-danger);border:1px solid var(--color-border);flex-shrink:0}.trend-mode-toggle{gap:.5rem;margin-bottom:1rem;display:flex}.trend-mode-toggle button{background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border)}.trend-mode-toggle button:hover:not(:disabled){background:var(--color-surface);border-color:var(--color-accent)}.trend-mode-toggle button.active{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.trend-tiles{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem;display:grid}.trend-tile{text-align:left;background:var(--color-surface);width:100%;color:inherit;font:inherit;border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;padding:1rem;transition:box-shadow .15s,border-color .15s;display:block}.trend-tile:hover{background:var(--color-surface);border-color:var(--color-accent);box-shadow:var(--shadow)}.trend-tile:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.trend-tile-label{color:var(--color-text-muted);margin-bottom:.35rem;font-size:.85rem}.trend-tile-value{align-items:baseline;gap:.4rem;font-size:1.5rem;font-weight:700;display:flex}.trend-tile-meta{color:var(--color-text-muted);margin-top:.25rem;font-size:.8rem}.trend-arrow{font-size:1rem}.trend-good{color:var(--color-success)}.trend-bad{color:var(--color-danger)}.trend-flat{color:var(--color-text-muted)}.range-status-good{color:var(--color-success);font-weight:600}.range-status-bad{color:var(--color-danger);font-weight:600}.range-status-unknown{color:var(--color-text-muted)}.range-editor{border-top:1px solid var(--color-border);margin-top:1rem;padding-top:1rem}.range-editor h4{margin:0 0 .5rem;font-size:.9rem}.range-editor-inputs{gap:1rem;margin-bottom:.75rem;display:flex}.range-editor-inputs label{flex:1}.range-editor-actions{gap:.5rem;display:flex}.range-editor-actions button:last-child{background:var(--color-surface);color:var(--color-danger);border:1px solid var(--color-border)}.range-editor-error{color:var(--color-danger);margin:0 0 .5rem;font-size:.85rem}.range-band{fill:var(--color-accent);opacity:.08}.range-dot-good{fill:var(--color-success)}.range-dot-bad{fill:var(--color-danger)}.range-dot-unknown{fill:var(--color-text-muted)}.lightbox-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.lightbox-content{background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow);width:100%;max-width:640px;max-height:90vh;padding:1.5rem;overflow-y:auto}.lightbox-header{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.25rem;display:flex}.lightbox-header h3{margin:0}.lightbox-close{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;padding:.25rem .5rem;font-size:1.25rem;line-height:1}.lightbox-close:hover{color:var(--color-text);background:0 0}.lightbox-subtitle{color:var(--color-text-muted);margin:0 0 1rem;font-size:.85rem}.trend-chart{width:100%;height:auto}.trend-chart-gridline{stroke:var(--color-border);stroke-width:1px}.trend-chart-axis-label{fill:var(--color-text-muted);font-size:9px}.trend-chart-line{stroke:var(--color-accent);stroke-width:2px}.trend-chart-dot{fill:var(--color-accent)}.trend-chart-band{fill:var(--color-success);opacity:.1}.trend-chart-band-edge{stroke:var(--color-success);stroke-width:1px;stroke-dasharray:4 3;opacity:.7}.trend-chart-band-label{fill:var(--color-success);font-size:9px}.metadata-grid{flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;display:flex}.metadata-form label{flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.metadata-form input,.metadata-form select{min-width:8rem}.limit-condition{border:1px solid var(--color-border);border-radius:6px;margin:.75rem 0;padding:.75rem}.limit-condition-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.limit-condition-options{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.85rem;display:inline-flex}.limit-condition-check{flex-direction:row;align-items:center;gap:.2rem}.limit-amount{margin:.75rem 0}.limit-condition-row input[type=number]{max-width:7rem}.muted{color:var(--color-text-muted)}.clinician-shell{align-items:flex-start;gap:1.5rem;padding-top:1.5rem;display:flex}.clinician-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow);flex-direction:column;flex:0 0 190px;gap:1rem;padding:1rem;display:flex;position:sticky;top:1.5rem}.clinician-nav{border:none;flex-direction:column;align-items:stretch;gap:.15rem;margin:0;padding:0;display:flex}.clinician-nav a{color:var(--color-text-muted);border-radius:6px;margin:0;padding:.5rem .65rem;font-size:.9rem}.clinician-nav a:hover{background:var(--color-bg);color:var(--color-text)}.clinician-nav a.active{background:var(--color-accent);color:#fff}.clinician-sidebar-footer{border-top:1px solid var(--color-border);padding-top:.85rem;font-size:.85rem}.clinician-sidebar-footer button{background:var(--color-surface);width:100%;color:var(--color-danger);border:1px solid var(--color-border);margin-top:.5rem;padding:.4rem .6rem;font-size:.85rem}.clinician-main{flex:auto;min-width:0}.stat-row{flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;display:flex}.stat-row .card{flex:140px;margin-bottom:0}.stat-value{font-size:1.6rem;font-weight:700}.section-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-head button{padding:.35rem .8rem;font-size:.85rem}.patient-row{color:inherit;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;text-decoration:none;display:flex}.patient-row:hover .patient-row-name{color:var(--color-accent)}.patient-row-name{font-weight:500}@media (width<=640px){.clinician-shell{flex-direction:column}.clinician-sidebar{flex-basis:auto;align-self:stretch;width:100%;position:static}.clinician-nav{flex-flow:wrap}}.tab-bar{border-bottom:1px solid var(--color-border);gap:.5rem;margin-bottom:1.5rem;display:flex}.tab-bar button{color:var(--color-text-muted);background:0 0;border:none;border-bottom:2px solid #0000;border-radius:0;padding:.5rem .25rem;font-weight:500}.tab-bar button:hover:not(:disabled){color:var(--color-text);background:0 0}.tab-bar button.active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.searchable-select{position:relative}.searchable-select-list{z-index:20;background:var(--color-surface);border:1px solid var(--color-border);max-height:220px;box-shadow:var(--shadow);border-radius:6px;margin-top:.25rem;position:absolute;left:0;right:0;overflow-y:auto}.searchable-select-list li{box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.searchable-select-list button{text-align:left;width:100%;color:var(--color-text);background:0 0;border:none;border-radius:0;padding:.5rem .75rem;font-weight:400}.searchable-select-list button:hover:not(:disabled){background:var(--color-bg)}
