:root{color:#10201e;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page:#f4f8f7;--surface:#fff;--surface-soft:#edf6f4;--surface-warm:#fffaf0;--ink:#10201e;--ink-soft:#223b37;--muted:#5d706c;--line:#d5e3df;--line-strong:#bed2cd;--primary:#0f766e;--primary-dark:#0b5f59;--primary-soft:#ddf5f1;--accent:#2563eb;--accent-soft:#eef4ff;--amber:#a16207;--amber-soft:#fff7ed;--red:#b42318;--red-soft:#fff1f1;--shadow:0 20px 54px #10201e1a;--shadow-soft:0 10px 26px #10201e0f;--radius:8px;background:#f4f8f7;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(180deg, #fbfdfc 0%, #f4f8f700 320px), var(--page);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}#root{min-height:100vh}.app-shell{flex-direction:column;gap:22px;width:min(1120px,100%);min-height:100vh;margin:0 auto;padding:28px 24px 56px;display:flex}.app-topbar{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.brand-lockup{color:var(--ink);align-items:center;gap:12px;font-size:1.04rem;font-weight:850;display:inline-flex}.brand-mark{border-radius:var(--radius);background:var(--primary);color:#fff;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 10px 22px #0f766e2e}.brand-mark svg{width:27px;height:27px}.topbar-actions{align-items:center;gap:10px;display:inline-flex}.topbar-button{border:1px solid var(--line-strong);background:var(--surface);min-height:30px;color:var(--ink-soft);white-space:nowrap;border-radius:7px;padding:0 11px;font-size:.78rem;font-weight:850}.topbar-button:hover{color:var(--primary-dark);border-color:#a8c6c0}.workspace-pill,.verified-pill,.engine-pill{background:var(--primary-soft);min-height:28px;color:var(--primary-dark);white-space:nowrap;border:1px solid #b7d7d1;border-radius:999px;align-items:center;padding:0 10px;font-size:.78rem;font-weight:850;display:inline-flex}.engine-pill{background:var(--accent-soft);color:#184e8a;border-color:#aac7ef}.locale-switcher{border:1px solid var(--line-strong);background:var(--surface);border-radius:7px;align-items:center;min-height:30px;padding:2px;display:inline-flex}.locale-option{min-width:38px;min-height:24px;color:var(--muted);background:0 0;border:0;border-radius:5px;padding:0 9px;font-size:.76rem;font-weight:850}.locale-option-active{background:var(--primary);color:#fff}.locale-option:focus-visible{outline-offset:2px;outline:3px solid #0f766e40}.patient-card-badges{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.page-header{grid-template-columns:minmax(0,1fr) 310px;align-items:end;gap:28px;padding:24px 0 8px;display:grid}.eyebrow,.section-label,.result-label{color:var(--primary-dark);letter-spacing:0;text-transform:uppercase;margin:0 0 8px;font-size:.78rem;font-weight:900}.page-header h1{max-width:780px;color:var(--ink);letter-spacing:0;margin:0;font-size:clamp(2.35rem,5vw,4rem);line-height:1}.page-header p:not(.eyebrow){max-width:690px;color:var(--muted);margin:14px 0 0;font-size:1.03rem;line-height:1.6}.review-note{border-radius:var(--radius);background:var(--surface-warm);color:#3e3320;box-shadow:var(--shadow-soft);border:1px solid #d8c99f;margin:0;padding:16px}.review-note strong,.review-note span{display:block}.review-note strong{color:var(--amber);text-transform:uppercase;margin-bottom:5px;font-size:.82rem;font-weight:900}.review-note span{font-size:.9rem;line-height:1.5}.upload-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr);align-items:stretch;gap:20px;padding:20px;display:grid}.upload-copy{padding:4px 0}.upload-copy h2{color:var(--ink);margin:0 0 10px;font-size:1.35rem;line-height:1.2}.upload-copy p:not(.section-label){max-width:520px;color:var(--muted);margin:0;line-height:1.58}.upload-workflow{border:1px solid var(--line);border-radius:var(--radius);background:#fbfdfc;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:14px;padding:16px;display:grid}.upload-control{gap:8px;min-width:0;display:grid}.upload-control-label{color:var(--ink);font-size:.88rem;font-weight:850}.file-picker{border:1px solid var(--line-strong);background:var(--surface);border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:44px;display:grid;overflow:hidden}.file-input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.file-picker-trigger{border-right:1px solid var(--line-strong);min-height:42px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#f8faf9;justify-content:center;align-items:center;padding:0 14px;font-size:.9rem;font-weight:850;display:inline-flex}.file-picker-trigger:hover{background:var(--primary-soft);color:var(--primary-dark)}.file-input:focus-visible+.file-picker-trigger{outline-offset:-3px;outline:3px solid #0f766e40}.file-picker-name{min-width:0;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;padding:0 12px;font-size:.9rem;font-weight:650;overflow:hidden}.file-hint{min-height:1.25rem;color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:.88rem;line-height:1.4}.primary-button{background:var(--primary);color:#fff;white-space:nowrap;border:0;border-radius:7px;justify-content:center;align-items:center;min-height:44px;padding:0 18px;font-weight:850;display:inline-flex;box-shadow:0 10px 24px #0f766e2e}.primary-button:hover:not(:disabled){background:var(--primary-dark)}.primary-button:focus-visible{outline-offset:2px;outline:3px solid #0f766e40}.primary-button:disabled{box-shadow:none;background:#9aa8a4}.secondary-button{border:1px solid var(--line-strong);background:var(--surface);min-height:42px;color:var(--ink);white-space:nowrap;border-radius:7px;justify-content:center;align-items:center;padding:0 16px;font-weight:850;display:inline-flex}.secondary-button:hover{color:var(--primary-dark);border-color:#a8c6c0}.auth-shell{place-items:center;width:min(640px,100%);min-height:100vh;margin:0 auto;padding:28px 24px;display:grid}.auth-panel{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;box-shadow:var(--shadow);gap:16px;padding:28px;display:grid}.auth-panel h1{color:var(--ink);margin:0;font-size:1.75rem;line-height:1.15}.auth-panel p:not(.section-label){color:var(--muted);margin:0;line-height:1.55}.auth-panel-warning{background:var(--surface-warm);border-color:#e8d39b}.results-panel,.timeline-view,.alert-stack{flex-direction:column;gap:16px;display:flex}.result-summary{border-radius:var(--radius);color:var(--ink);background:#f1fbf7;border:1px solid #a7d7c8;justify-content:space-between;align-items:center;gap:18px;padding:18px 20px;display:flex}.result-summary h2{margin:0;font-size:1.02rem;line-height:1.35}.result-stats{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.result-stats span{background:var(--surface);min-height:28px;color:var(--primary-dark);white-space:nowrap;border:1px solid #b7d7d1;border-radius:999px;align-items:center;padding:0 9px;font-size:.78rem;font-weight:850;display:inline-flex}.alert{border-radius:var(--radius);margin:0;padding:13px 14px;font-weight:700;line-height:1.5}.alert-error{background:var(--red-soft);color:var(--red);border:1px solid #f5b5b5}.alert-warning{color:#8a5a00;background:#fff8e6;border:1px solid #f2d38b}.alert-info{background:var(--accent-soft);color:#184e8a;border:1px solid #aac7ef}.patient-card,.episode-card,.timeline-section,.pre-episode-context,.documentation-events{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.patient-card-header,.episode-card-header,.timeline-section-header{border-bottom:1px solid var(--line);background:#fbfdfc;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.patient-card-header h2,.episode-card-header h2,.timeline-section-header h2{color:var(--ink);letter-spacing:0;margin:0;font-size:1.16rem;line-height:1.25}.timeline-section-header span{color:var(--muted);font-size:.9rem;font-weight:800}.patient-grid{background:linear-gradient(#fff 0%,#fbfdfc 100%);grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0;padding:18px;display:grid}.episode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:18px 18px 0;display:grid}.episode-grid:last-child{padding-bottom:18px}.episode-field{border:1px solid var(--line);border-radius:var(--radius);background:#fbfdfc;min-width:0;padding:12px}.episode-grid dt{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:.76rem;font-weight:850}.episode-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:700}.episode-events{flex-wrap:wrap;gap:8px;padding:18px;display:flex}.episode-events span{background:var(--primary-soft);min-height:28px;color:var(--primary-dark);border:1px solid #b7d7d1;border-radius:999px;align-items:center;padding:0 10px;font-size:.8rem;font-weight:850;display:inline-flex}.patient-field{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-soft);min-width:0;padding:13px}.patient-grid dt{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:.76rem;font-weight:850}.patient-grid dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-weight:700}.timeline-section{flex-direction:column;display:flex}.timeline-list{gap:12px;padding:16px;display:grid}.event-card{border:1px solid var(--line);border-left:4px solid var(--primary);border-radius:var(--radius);background:var(--surface);grid-template-columns:126px minmax(0,1fr);gap:18px;padding:17px;display:grid}.event-card-documentation{border-left-color:var(--line-strong);background:#fbfdfc}.event-card-pre_episode_context{background:#fbfcfd;border-left-color:#8ea7b8}.event-date-column{color:var(--ink-soft);flex-direction:column;gap:5px;font-size:.88rem;font-weight:850;display:flex}.event-date-column span{color:var(--muted);font-size:.82rem}.event-content{min-width:0}.event-title-row{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:8px;display:flex}.event-card h3{color:var(--ink);letter-spacing:0;margin:0;font-size:1.08rem;line-height:1.35}.event-card p{color:#344b47;margin:0;line-height:1.58}.event-meta{flex-wrap:wrap;gap:7px;margin-top:13px;display:flex}.event-meta span,.event-pill{white-space:nowrap;border-radius:999px;align-items:center;min-height:26px;padding:0 9px;font-size:.78rem;font-weight:850;display:inline-flex}.event-meta span{border:1px solid var(--line);color:#344b47;background:#f8faf9}.event-pill{background:var(--accent-soft);color:#1d4ed8}.event-pill-high{background:var(--amber-soft);color:var(--amber)}.event-pill-critical{background:var(--red-soft);color:var(--red)}.event-card blockquote{border-left:3px solid var(--accent);color:#475467;background:#f7fbff;margin:15px 0 0;padding:11px 12px;line-height:1.5}.pre-episode-context,.documentation-events{overflow:hidden}.pre-episode-context summary,.documentation-events summary{min-height:52px;color:var(--muted);cursor:pointer;background:#fbfdfc;justify-content:space-between;align-items:center;gap:16px;padding:0 18px;font-size:.9rem;font-weight:850;display:flex}.pre-episode-context summary{padding-top:14px;padding-bottom:14px}.pre-episode-context summary h2{color:var(--ink);margin:0;font-size:1.02rem;line-height:1.3}.pre-episode-context summary p:not(.section-label){color:var(--muted);margin:4px 0 0;font-size:.86rem;font-weight:700;line-height:1.45}.pre-episode-context summary>span{color:var(--muted);white-space:nowrap;flex:none;font-size:.86rem;font-weight:850}.empty-state{border:1px dashed var(--line-strong);border-radius:var(--radius);color:var(--muted);background:#fbfdfc;margin:16px;padding:18px}@media (width<=860px){.page-header,.upload-form{grid-template-columns:1fr}.review-note{max-width:520px}.upload-workflow{grid-template-columns:1fr}.primary-button{width:100%}.patient-grid,.episode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-summary,.patient-card-header,.episode-card-header,.timeline-section-header{flex-direction:column;align-items:flex-start}.result-stats{justify-content:flex-start}}@media (width<=620px){.app-shell{padding:22px 16px 40px}.app-topbar{flex-direction:column;align-items:flex-start}.topbar-actions{flex-wrap:wrap;align-items:flex-start}.page-header h1{font-size:2.18rem}.patient-grid,.episode-grid,.event-card{grid-template-columns:1fr}.event-title-row{flex-direction:column;gap:8px}}@media (width<=460px){.upload-form,.upload-workflow,.patient-card-header,.episode-card-header,.timeline-section-header,.timeline-list,.event-card{padding:14px}}
