:root{color:#334155;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--background:#f6f8f7;--surface:#fff;--ink:#17211d;--body:#405049;--muted:#75817c;--border:#e4e9e6;--border-strong:#cdd6d1;--accent:#247a5a;--accent-strong:#176044;--accent-soft:#e7f4ee;--green:#287a4e;--green-soft:#e8f5ec;--warning-ink:#8a5a12;--warning-soft:#fbf3df;--warning-border:#ead8aa;--danger:#a33d3d;background:#f6f8f7;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 45%, transparent);outline-offset:2px}::selection{color:var(--ink);background:var(--accent-soft)}.app-shell{grid-template-columns:248px minmax(0,1fr);min-height:100vh;display:grid}.auth-page{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-card{border:1px solid var(--border);background:var(--surface);border-radius:18px;gap:24px;width:min(430px,100%);padding:32px;display:grid;box-shadow:0 24px 70px #17211d1a}.auth-card p{color:var(--muted);margin:8px 0 0;line-height:1.6}.auth-card form,.auth-card label{gap:9px;display:grid}.auth-card form{gap:16px}.auth-card label{color:var(--body);font-size:.76rem;font-weight:700}.auth-card input{border:1px solid var(--border-strong);width:100%;font:inherit;border-radius:9px;padding:11px 12px}.sidebar{box-sizing:border-box;border-right:1px solid var(--border);background:var(--surface);flex-direction:column;height:100vh;padding:28px 20px 20px;display:flex;position:sticky;top:0}.brand{color:var(--ink);letter-spacing:-.02em;align-items:center;gap:11px;padding:0 8px 28px;font-weight:750;display:flex}.brand-mark{color:#fff;background:var(--accent);border-radius:11px;place-items:center;width:36px;height:36px;display:grid}.sidebar nav{gap:6px;display:grid}.nav-link{color:var(--muted);border-radius:10px;align-items:center;gap:11px;padding:11px 12px;font-size:.9rem;font-weight:600;text-decoration:none;display:flex}.nav-link:hover,.nav-link:focus-visible{color:var(--ink);background:var(--background)}.nav-link.active{color:var(--accent-strong);background:var(--accent-soft)}.logout-button{cursor:pointer;background:0 0;border:0;width:100%;margin-top:14px}.demo-notice{border:1px solid var(--warning-border);color:var(--warning-ink);background:var(--warning-soft);border-radius:12px;gap:10px;margin-top:auto;padding:13px;display:flex}.demo-notice div{gap:2px;display:grid}.demo-notice strong{font-size:.78rem}.demo-notice span{font-size:.7rem}main{width:min(1120px,100% - 64px);margin:0 auto;padding:38px 0 72px}.topbar,.section-heading,.timeline-card-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.eyebrow{color:var(--accent-strong);letter-spacing:.09em;text-transform:uppercase;font-size:.72rem;font-weight:750}h1,h2,h3{color:var(--ink);letter-spacing:-.025em;margin:0}h1{margin-top:4px;font-size:clamp(1.75rem,3vw,2.35rem);line-height:1.12}h2{margin-top:4px;font-size:1.35rem}h3{margin-top:7px;font-size:1rem;line-height:1.35}button{font:inherit}.primary-button,.secondary-button,.status-panel button{cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-size:.82rem;font-weight:700;display:inline-flex}.primary-button{border:1px solid var(--accent);color:#fff;background:var(--accent)}.primary-button:hover{background:var(--accent-strong)}.secondary-button,.status-panel button{border:1px solid var(--border-strong);color:var(--ink);background:var(--surface)}.summary-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:34px 0 44px;display:grid}.patient-overview{border:1px solid var(--border);background:var(--border);border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:28px;display:grid;overflow:hidden}.patient-overview div{background:var(--surface);gap:6px;min-width:0;padding:15px 17px;display:grid}.patient-overview span{color:var(--muted);font-size:.7rem}.patient-overview strong{overflow-wrap:anywhere;color:var(--ink);font-size:.84rem}.summary-grid article{border:1px solid var(--border);background:var(--surface);border-radius:14px;flex-direction:column;justify-content:center;min-height:108px;padding:19px 20px;display:flex}.summary-grid span,.summary-grid small{color:var(--muted);font-size:.73rem}.summary-grid strong{color:var(--ink);margin:7px 0 4px;font-size:1.18rem}.content-section{scroll-margin-top:24px}.crud-section{border-top:1px solid var(--border);margin-top:54px;padding-top:34px}.section-heading{align-items:center;margin-bottom:24px}.filter-chips{flex-wrap:wrap;gap:8px;margin:-8px 0 20px 58px;display:flex}.filter-chip{border:1px solid var(--border-strong);min-height:34px;color:var(--body);background:var(--surface);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:0 12px;font-size:.75rem;font-weight:700;display:inline-flex}.filter-chip span{min-width:21px;color:var(--muted);background:var(--background);border-radius:999px;padding:2px 6px;font-size:.65rem}.filter-chip.active{border-color:var(--accent);color:var(--accent-strong);background:var(--accent-soft)}.timeline{margin:0;padding:0;list-style:none;position:relative}.timeline:before{content:"";background:var(--border-strong);width:1px;position:absolute;top:24px;bottom:24px;left:19px}.timeline-item{grid-template-columns:40px minmax(0,1fr);gap:18px;margin-bottom:14px;display:grid;position:relative}.timeline-marker{z-index:1;border:1px solid var(--border-strong);width:38px;height:38px;color:var(--accent-strong);background:var(--surface);border-radius:50%;place-items:center;display:grid;position:relative}.timeline-card{border:1px solid var(--border);background:var(--surface);border-radius:14px;padding:19px 21px}.compact-timeline .timeline-item{margin-bottom:9px}.timeline-card-open{text-align:left;cursor:pointer;justify-content:space-between;align-items:flex-start;gap:18px;width:100%;min-height:100px;display:flex}.timeline-card-open:hover{border-color:var(--accent);box-shadow:0 6px 18px #17604412}.timeline-card-open>div{min-width:0}.timeline-card-open p{color:var(--body);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:8px 0 0;font-size:.8rem;line-height:1.45;display:-webkit-box;overflow:hidden}.timeline-card-open time{color:var(--muted);flex:none;font-size:.72rem}.timeline-card:hover{border-color:var(--border-strong)}.timeline-card-header time{color:var(--muted);flex:none;font-size:.72rem}.timeline-card>p{color:var(--body);margin:12px 0 16px;font-size:.86rem;line-height:1.6}.event-type{color:var(--accent-strong);background:var(--accent-soft);border-radius:999px;padding:4px 8px;font-size:.65rem;font-weight:750;display:inline-flex}.event-type-treatment{color:var(--green);background:var(--green-soft)}.event-type-open_question{color:var(--warning-ink);background:var(--warning-soft)}.event-metadata{border-top:1px solid var(--border);flex-wrap:wrap;gap:20px;margin:0;padding-top:14px;display:flex}.event-metadata div{gap:6px;font-size:.7rem;display:flex}.event-metadata dt{color:var(--muted)}.event-metadata dd{color:var(--body);margin:0;font-weight:650}.timeline-actions,.row-actions,.form-footer{justify-content:flex-end;align-items:center;gap:8px;display:flex}.timeline-actions{margin-top:14px}.event-detail-dialog{width:min(700px,100%)}.event-detail-dialog .dialog-header h2{margin-top:9px}.detail-date{color:var(--muted);margin-bottom:16px;font-size:.75rem;display:inline-flex}.detail-summary{color:var(--body);white-space:pre-wrap;margin:0 0 22px;font-size:.95rem;line-height:1.75}.detail-metadata{margin-bottom:4px}.timeline-actions .secondary-button{min-height:34px}.danger-button{color:var(--danger)}.crud-form{border:1px solid var(--border);background:var(--surface);border-radius:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;padding:22px;display:grid}.profile-view-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.profile-view-grid article{border:1px solid var(--border);background:var(--surface);border-radius:13px;padding:18px 19px}.profile-view-grid article.wide{grid-column:1/-1}.profile-view-grid span{color:var(--accent-strong);letter-spacing:.04em;text-transform:uppercase;font-size:.7rem;font-weight:750}.profile-view-grid p,.profile-view-grid ul{color:var(--body);margin:10px 0 0;font-size:.84rem;line-height:1.6}.profile-view-grid ul{padding-left:19px}.crud-form label{color:var(--body);gap:7px;font-size:.76rem;font-weight:700;display:grid}.crud-form .full-width,.form-footer.full-width{grid-column:1/-1}.crud-form input,.crud-form textarea,.compact-form input{border:1px solid var(--border-strong);width:100%;color:var(--ink);background:var(--surface);font:inherit;border-radius:9px;padding:10px 11px;font-size:.85rem}.crud-form textarea{resize:vertical}.form-footer{min-height:42px}.form-footer .form-error{margin-right:auto}.compact-form{grid-template-columns:minmax(160px,.8fr) minmax(220px,1.5fr) auto;gap:10px;margin-bottom:18px;display:grid}.compact-form-four{grid-template-columns:repeat(3,minmax(150px,1fr)) auto}.record-list{gap:9px;display:grid}.pagination{border-top:1px solid var(--border);color:var(--muted);justify-content:space-between;align-items:center;gap:14px;margin-top:18px;padding-top:14px;font-size:.72rem;display:flex}.pagination div{align-items:center;gap:10px;display:flex}.pagination strong{color:var(--body);font-size:.72rem}.pagination button{border:1px solid var(--border-strong);width:34px;height:34px;color:var(--body);background:var(--surface);cursor:pointer;border-radius:9px;place-items:center;display:grid}.pagination button:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.pagination button:disabled{cursor:not-allowed;opacity:.4}.record-row{border:1px solid var(--border);background:var(--surface);border-radius:12px;justify-content:space-between;align-items:center;gap:18px;padding:15px 17px;display:flex}.record-row>div:first-child{gap:4px;min-width:0;display:grid}.record-row strong{overflow-wrap:anywhere;color:var(--ink);font-size:.86rem}.record-row span{color:var(--muted);font-size:.72rem}.record-row a.icon-button{text-decoration:none}.imaging-viewer{color:#e8eef4;background:#0b1117;border-radius:14px;gap:12px;margin-bottom:20px;padding:15px;display:grid}.imaging-viewer-empty{color:#aab7c4;place-items:center;min-height:120px}.viewer-controls{grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto;align-items:end;gap:10px;display:grid}.viewer-controls label{color:#aab7c4;gap:5px;font-size:.7rem;display:grid}.viewer-controls select{color:#edf4fa;background:#151e27;border:1px solid #33404b;border-radius:9px;min-width:0;padding:9px 10px}.viewer-buttons{gap:7px;display:flex}.viewer-buttons .icon-button{color:#d9e4ec;background:#151e27;border-color:#33404b}.viewer-stage{background:#020407;border:1px solid #222e38;border-radius:12px;place-items:center;min-height:520px;display:grid;position:relative;overflow:hidden}.viewer-stage img{object-fit:contain;max-width:100%;max-height:68vh;display:block}.viewer-loading{color:#d9e4ec;background:#0b1117d1;border-radius:999px;padding:5px 8px;font-size:.68rem;position:absolute;bottom:12px;right:12px}.viewer-slider{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;display:grid}.viewer-slider input{width:100%}.viewer-slider span{color:#aab7c4;font-size:.72rem}.status-panel{border:1px dashed var(--border-strong);color:var(--muted);background:var(--surface);border-radius:14px;justify-items:start;gap:8px;padding:24px;display:grid}.status-panel.error{color:var(--danger)}.status-panel span{color:var(--muted);font-size:.82rem}.dialog-backdrop{z-index:40;overscroll-behavior:contain;background:#17211d75;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.dialog{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:var(--surface);border-radius:17px;width:min(620px,100%);max-height:calc(100vh - 48px);padding:24px;overflow-y:auto}.dialog-header,.dialog-actions{justify-content:space-between;align-items:center;gap:16px;display:flex}.dialog-header{margin-bottom:24px}.icon-button{border:1px solid var(--border);width:40px;height:40px;color:var(--muted);background:var(--surface);cursor:pointer;border-radius:10px;flex:none;place-items:center;display:grid}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;display:grid}.form-grid label{color:var(--body);gap:7px;font-size:.76rem;font-weight:700;display:grid}.form-grid .full-width{grid-column:1/-1}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--border-strong);width:100%;color:var(--ink);background:var(--surface);font:inherit;border-radius:9px;padding:10px 11px;font-size:.85rem}.form-grid textarea{resize:vertical}.field-error,.form-error{color:var(--danger);font-size:.72rem}.form-error{margin:16px 0 0}.dialog-actions{border-top:1px solid var(--border);justify-content:flex-end;margin-top:24px;padding-top:18px}.primary-button:disabled{cursor:wait;opacity:.65}@media (width<=820px){.app-shell{display:block}.sidebar{border-right:0;border-bottom:1px solid var(--border);width:100%;height:auto;padding:15px 18px;position:relative}.brand{padding:0}.sidebar nav{z-index:30;padding:7px 6px calc(7px + env(safe-area-inset-bottom));border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #17211d14}.sidebar nav .nav-link{text-align:center;flex-direction:column;flex:1;gap:3px;min-width:0;padding:7px 2px;font-size:0}.sidebar nav .nav-link:after{content:attr(data-mobile-label);font-size:.62rem;line-height:1}.sidebar nav .nav-link svg{width:17px;height:17px}.demo-notice{margin:0;padding:8px 10px;position:absolute;top:17px;right:18px}.demo-notice svg,.demo-notice span{display:none}main{width:min(100% - 32px,680px);padding-top:26px;padding-bottom:calc(94px + env(safe-area-inset-bottom))}.summary-grid{grid-template-columns:1fr;gap:9px;margin:26px 0 36px}.patient-overview{grid-template-columns:repeat(2,minmax(0,1fr))}.compact-form,.compact-form-four{grid-template-columns:1fr}.filter-chips{margin-left:0}.viewer-controls{grid-template-columns:1fr}.summary-grid article{min-height:76px}}@media (width<=560px){.topbar,.section-heading,.timeline-card-header{flex-direction:column;align-items:stretch}.primary-button,.secondary-button{width:100%}.timeline-item{grid-template-columns:30px minmax(0,1fr);gap:10px}.timeline:before{left:14px}.timeline-marker{width:28px;height:28px}.timeline-marker svg{width:14px}.timeline-card{padding:16px}.dialog-backdrop{align-items:end;height:100dvh;padding:0}.dialog{width:100%;max-height:92dvh;padding-bottom:calc(24px + env(safe-area-inset-bottom));border-radius:17px 17px 0 0}.form-grid{grid-template-columns:1fr}.form-grid .full-width{grid-column:auto}.crud-form{grid-template-columns:1fr;padding:17px}.crud-form .full-width,.form-footer.full-width{grid-column:auto}.record-row,.pagination{flex-direction:column;align-items:flex-start}.pagination div{justify-content:space-between;width:100%}.patient-overview{grid-template-columns:1fr}.viewer-stage{min-height:300px}.viewer-slider,.profile-view-grid{grid-template-columns:1fr}.profile-view-grid article.wide{grid-column:auto}.timeline-card-open{flex-direction:column}}
