:root{--bg:#f0f4fa;--panel:#fff;--panel-strong:#e8eef7;--panel-muted:#f5f8fd;--text:#3d4d66;--text-strong:#0f172a;--muted:#64748b;--border:#d8e0ed;--accent-700:#1d4ed8;--accent-600:#2563eb;--accent-500:#3b82f6;--accent-soft:#2563eb1f;--action-solid:#3d6a9c;--action-solid-hover:#335f88;--sidebar-top:#0b3b73;--sidebar-bottom:#0d4f8c;--sidebar-width-expanded:300px;--sidebar-width-collapsed:76px;--sidebar-text:#fffffff2;--sidebar-muted:#ffffffb8;--sidebar-hover:#ffffff1a;--sidebar-active:#ffffff2e;--green-600:#1d4ed8;--success-soft:#2563eb1f;--danger-bg:#fef2f2;--danger-text:#991b1b;--danger-border:#fecaca;--shadow-sm:0 8px 28px #0f2d5a14;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html,body,#root{height:100%}body{background:radial-gradient(circle at 12% 0%, #2563eb12, transparent 42%), var(--bg);min-width:320px;margin:0}#root{min-height:100%}h1,h2{color:var(--text-strong);margin:0}h1{font-size:26px;line-height:1.2}h2{font-size:20px;line-height:1.2}p{margin:0}a{color:inherit}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{grid-template-columns:var(--sidebar-width-expanded) minmax(0, 1fr);height:100vh;max-height:100vh;transition:grid-template-columns .22s;display:grid;overflow:hidden}.app-shell.sidebar-collapsed{grid-template-columns:var(--sidebar-width-collapsed) minmax(0, 1fr)}.sidebar{background:linear-gradient(165deg, var(--sidebar-top) 0%, var(--sidebar-bottom) 55%, #0a5085 100%);min-height:0;color:var(--sidebar-text);border-right:1px solid #ffffff1f;flex-direction:column;padding:0;display:flex}.sidebar-inner{flex-direction:column;flex:1;gap:8px;min-height:0;padding:24px 18px 12px;display:flex;overflow:hidden auto}.sidebar-brand{justify-content:center;align-items:center;padding:8px 8px 2px;display:flex}.sidebar-logo-button{appearance:none;cursor:pointer;background:0 0;border:none;border-radius:14px;width:100%;margin:0;padding:0;transition:opacity .15s,transform .15s;display:block}.sidebar-logo-button:hover{opacity:.9}.sidebar-logo-button:focus-visible{outline-offset:3px;outline:2px solid #ffffffa6}.sidebar-logo-button:active{transform:scale(.98)}.sidebar-logo{object-fit:contain;filter:drop-shadow(0 4px 18px #0003);width:min(240px,100%);height:auto;max-height:140px;transition:max-height .2s,max-width .2s;display:block}.sidebar-title{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--sidebar-text);margin:4px 8px 18px;font-size:15px;font-weight:650;line-height:1.35;transition:font-size .2s,margin .2s}.sidebar-nav{flex-direction:column;gap:8px;margin-top:50px;display:flex}.sidebar-footer{flex-direction:column;flex-shrink:0;gap:12px;padding:8px 12px 14px;display:flex}.sidebar-user{background:#00000029;border:1px solid #ffffff24;border-radius:14px;flex-direction:column;gap:2px;padding:12px 14px;display:flex}.sidebar-user-label{letter-spacing:.12em;text-transform:uppercase;color:#ffffffb8;font-size:11px;line-height:1.2}.sidebar-user-name{color:var(--sidebar-text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:650;line-height:1.35;overflow:hidden}.sidebar-footer-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;display:grid}.sidebar-collapse{color:var(--sidebar-text);cursor:pointer;font:inherit;background:#00000024;border:1px solid #ffffff38;border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s;display:flex}.sidebar-collapse:hover{background:#00000038;border-color:#ffffff59}.sidebar-collapse:focus-visible{outline-offset:2px;outline:2px solid #ffffffa6}.sidebar-logout{color:#ffd7de;cursor:pointer;font:inherit;background:#7c0f203d;border:1px solid #ff666661;border-radius:14px;justify-content:center;align-items:center;gap:10px;padding:12px 14px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s,color .15s;display:flex}.sidebar-logout:hover{color:#fff1f4;background:#94152857;border-color:#ff888894}.sidebar-logout:focus-visible{outline-offset:2px;outline:2px solid #ffd2dae6}.app-shell.sidebar-collapsed .sidebar-inner{padding:16px 10px 10px}.app-shell.sidebar-collapsed .sidebar-logo{width:48px;max-width:48px;max-height:48px}.app-shell.sidebar-collapsed .sidebar-title{display:none}.app-shell.sidebar-collapsed .nav-button-label,.app-shell.sidebar-collapsed .sidebar-collapse-label,.app-shell.sidebar-collapsed .sidebar-logout-label,.app-shell.sidebar-collapsed .sidebar-user{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell.sidebar-collapsed .nav-button{justify-content:center;padding:12px 10px}.app-shell.sidebar-collapsed .sidebar-collapse{padding:12px 8px}.app-shell.sidebar-collapsed .sidebar-footer{padding:8px 8px 12px}.app-shell.sidebar-collapsed .sidebar-footer-actions{grid-template-columns:1fr}.app-shell.sidebar-collapsed .sidebar-logout{color:#ffb5bf;padding:12px 8px}.nav-button{text-align:left;width:100%;color:var(--sidebar-text);cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:14px;align-items:center;gap:12px;padding:14px 16px;font-size:15px;font-weight:550;transition:background .15s,border-color .15s,transform .12s;display:flex;position:relative}.nav-button:hover{background:var(--sidebar-hover);border-color:#ffffff1f}.nav-button:focus-visible{outline-offset:2px;outline:2px solid #ffffffa6}.nav-button.active{background:var(--sidebar-active);border-color:#ffffff47}.nav-icon{opacity:.95;flex-shrink:0;width:22px;height:22px}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0 0 4px;font-size:11px;font-weight:600}.panel{background:var(--panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:18px;padding:18px}.grow{flex:1;min-height:0}.panel-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:14px;display:grid}.stat-card{background:var(--panel-muted);border:1px solid var(--border);border-radius:14px;padding:14px}.stat-card span{color:var(--muted);margin-bottom:6px;font-size:13px;display:block}.stat-card strong{color:var(--text-strong);font-size:28px}.document-context-stats.export-page-stats{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:14px}@media (width>=1024px){.document-context-stats.export-page-stats{grid-template-columns:repeat(4,minmax(0,1fr))}.document-context-stats.export-page-stats .context-stat-card{gap:10px;padding:12px 14px}.document-context-stats.export-page-stats .context-stat-card-icon{width:56px;min-width:56px;min-height:56px}.document-context-stats.export-page-stats .context-stat-card--blue .context-stat-card-icon .nav-icon{width:32px;height:32px}.document-context-stats.export-page-stats .context-stat-card-text strong{margin:6px 0 0;font-size:22px}}.button-row{flex-wrap:wrap;gap:10px;display:flex}button,.file-field,input,select,textarea{font:inherit}.primary-button,.secondary-button,.ghost-button,.danger-button{cursor:pointer;border:1px solid #0000;border-radius:12px;padding:10px 14px;transition:transform .15s,border-color .15s,background-color .15s}.primary-button{background:var(--action-solid);color:#fff}.primary-button:hover{background:var(--action-solid-hover)}.upload-documents-submit{background:var(--action-solid);color:#fff}.upload-documents-submit:hover:not(:disabled){background:var(--action-solid-hover)}.secondary-button{background:var(--panel-muted);color:var(--text-strong);border-color:var(--border)}.ghost-button{color:var(--text-strong);border-color:var(--border);background:0 0}.ghost-on-light:hover{border-color:var(--accent-soft);background:var(--accent-soft);color:var(--accent-700)}.primary-button.primary-with-icon,.analysis-edit-button.primary-with-icon,.analysis-delete-button.primary-with-icon,.analyses-catalog-add-button.primary-with-icon,.ghost-button.primary-with-icon{align-items:center;gap:8px;display:inline-flex}.primary-button.primary-with-icon .btn-inline-icon{color:#fff}.danger-button{background:var(--danger-bg);color:var(--danger-text);border-color:var(--danger-border)}.primary-button:disabled{opacity:.5;cursor:not-allowed}label{color:var(--muted);font-size:14px;display:block}label+label{margin-top:12px}input,select,textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--panel-muted);width:100%;color:var(--text-strong);border-radius:12px;margin-top:6px;padding:11px 12px}textarea{resize:vertical}.patient-list,.documents-list,.review-list{flex-direction:column;gap:10px;display:flex}.patient-card{text-align:left;border:1px solid var(--border);background:var(--panel-muted);border-radius:14px;flex-direction:row;align-items:stretch;padding:0;display:flex;overflow:hidden}.patient-card.active{border-color:var(--accent-600);box-shadow:0 0 0 1px var(--accent-soft)}.patient-card-main{cursor:pointer;min-width:0;font:inherit;color:inherit;text-align:left;background:0 0;border:none;flex:1;padding:14px}.patient-card-main:focus-visible{outline:2px solid var(--accent-500);outline-offset:-2px}.patient-card-actions{border-left:1px solid var(--border);background:var(--panel);flex-direction:column;flex-shrink:0;display:flex}.icon-tool-button{cursor:pointer;width:48px;min-height:46px;color:var(--accent-600);background:0 0;border:none;flex:1;place-items:center;transition:background .15s;display:grid}.icon-tool-button:hover{background:var(--accent-soft)}.icon-tool-button.danger-outline{color:var(--danger-text)}.icon-tool-button.danger-outline:hover{background:var(--danger-bg)}.icon-tool-button:focus-visible{outline:2px solid var(--accent-500);outline-offset:-2px}.icon-16{width:18px;height:18px}.patient-card strong,.document-row strong,.review-card strong{color:var(--text-strong);display:block}.patient-card span,.patient-card small,.document-row p,.muted{color:var(--muted)}.main-content{background:var(--bg);flex-direction:column;gap:16px;min-height:0;padding:22px 24px 32px;display:flex;overflow:hidden auto}.main-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.main-header-title{color:var(--text-strong);letter-spacing:-.02em;align-items:center;gap:12px;margin:0;font-size:22px;font-weight:650;display:flex}.main-header-icon{color:var(--accent-600);display:flex}.main-header-icon .nav-icon{width:28px;height:28px}.main-header-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;display:flex}.header-search{align-items:center;margin:0;display:flex;position:relative}.header-search-icon{color:var(--muted);pointer-events:none;align-items:center;display:flex;position:absolute;left:12px}.header-search-svg{width:18px;height:18px}.header-search-input{width:clamp(180px,26vw,320px);min-width:200px;max-width:320px;margin-top:0;padding-left:40px;padding-right:12px}.patient-list-empty{text-align:center;margin:0;padding:12px 4px}.refresh-button{background:linear-gradient(145deg, var(--sidebar-top), var(--sidebar-bottom));color:#fff;font:inherit;cursor:pointer;border:1px solid #ffffff47;border-radius:12px;align-items:center;gap:8px;padding:10px 16px;font-size:14px;font-weight:650;transition:filter .15s,transform .12s;display:inline-flex;box-shadow:0 6px 18px #0b3b7361}.refresh-button:hover{filter:brightness(1.1)}.refresh-button:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.refresh-icon{flex-shrink:0;width:18px;height:18px}.panel-title-with-icon{color:var(--text-strong);align-items:center;gap:10px;margin:0;font-size:20px;line-height:1.2;display:flex}.panel-head-icon{width:20px;height:20px;color:var(--accent-600);flex-shrink:0;display:block}.panel-title-with-icon .panel-head-icon{flex-shrink:0}.btn-inline-icon{flex-shrink:0;width:18px;height:18px;display:block}.label-with-icon .label-text-row{color:var(--muted);align-items:center;gap:8px;margin-bottom:6px;font-size:14px;display:flex}.label-field-icon{width:16px;height:16px;color:var(--accent-600);flex-shrink:0;display:block}.label-with-icon input{margin-top:0}.panel-eyebrow-with-icon{align-items:center;gap:8px;display:inline-flex}.panel-eyebrow-with-icon .nav-icon{width:16px;height:16px;color:var(--accent-600)}.hero-title-with-icon{color:var(--text-strong);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.hero-title-with-icon .nav-icon{width:26px;height:26px;color:var(--accent-600);flex-shrink:0}.modal-backdrop{z-index:120;background:#0f172a7a;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--border);width:min(440px,100%);max-height:min(90vh,640px);box-shadow:var(--shadow-sm);border-radius:18px;padding:22px;overflow:auto}.modal--wide-form{width:min(560px,100%);max-height:min(88vh,720px);padding:26px 28px 22px}.modal-title{color:var(--text-strong);margin:0 0 16px;font-size:18px}.modal-title--analysis-editor,.modal-title--wide-form{letter-spacing:-.02em;margin-bottom:18px;font-size:22px;font-weight:750;line-height:1.25}.modal-title-with-icon{align-items:center;gap:10px;display:inline-flex}.modal-title-lead-icon{width:28px;height:28px;color:var(--accent-600);flex-shrink:0}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.modal-actions--analysis-editor{justify-content:flex-start;align-items:center;gap:8px;margin-top:22px}.analysis-modal-save-button,.export-xlsx-button{font:inherit;cursor:pointer;color:#15803d;background:#dcfce7c7;border:1px solid #15803d6b;border-radius:12px;padding:10px 14px;font-weight:650;transition:background .15s,border-color .15s}.analysis-modal-save-button:hover,.export-xlsx-button:hover{background:#bbf7d0e6;border-color:#15803d8c}.analysis-modal-save-button:focus-visible,.export-xlsx-button:focus-visible{outline-offset:2px;outline:2px solid #15803d73}.analysis-modal-save-button.primary-with-icon,.export-xlsx-button.primary-with-icon{align-items:center;gap:8px;display:inline-flex}.analysis-modal-save-button .btn-inline-icon,.export-xlsx-button .btn-inline-icon{color:#15803d}.analysis-modal-cancel-button{cursor:pointer;font:inherit;color:#b91c1c;background:#fef2f2c7;border:1px solid #dc26266b;border-radius:12px;padding:10px 14px;font-weight:650;transition:background .15s,border-color .15s}.analysis-modal-cancel-button:hover{background:#fee2e2eb;border-color:#dc262694}.analysis-modal-cancel-button:focus-visible{outline-offset:2px;outline:2px solid #dc262673}.analysis-modal-cancel-button.primary-with-icon{align-items:center;gap:8px;display:inline-flex}.analysis-modal-cancel-button .btn-inline-icon{color:#b91c1c}.analysis-editor-active-row{margin-top:12px}.analysis-editor-active-label{margin:0;font-weight:650}.modal--wide-form>.entry-field-label+.entry-field-label,.modal--wide-form>.entry-field-label+.entry-editor-grid,.modal--wide-form>.entry-editor-grid+.entry-field-label{margin-top:10px}.modal--wide-form .entry-editor-grid{align-items:start}.modal--wide-form .entry-editor-grid>.entry-field-label{box-sizing:border-box;gap:6px}.modal--wide-form .entry-editor-grid>.entry-field-label>.entry-field-label-text{box-sizing:border-box;align-items:flex-start;min-height:2.75rem;margin-bottom:0}.modal--wide-form .entry-editor-grid>.entry-field-label>input,.modal--wide-form .entry-editor-grid>.entry-field-label>select{box-sizing:border-box;min-height:42px;margin-top:0}.table-measurement-modal-patient{margin:0 0 14px}.table-measurement-modal-patient .entry-field-label-text{color:inherit}.section-stack{flex-direction:column;gap:16px;display:flex}.hero-panel{background:radial-gradient(circle at 100% 0%, #2563eb1f, transparent 45%), linear-gradient(180deg, var(--panel-strong), var(--panel));border:1px solid var(--border);border-radius:22px;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px;display:flex}.hero-actions{flex-direction:column;gap:12px;min-width:280px;display:flex}.file-field{background:var(--panel-muted);border:1px dashed var(--border);border-radius:14px;padding:12px;display:block}.file-field span{color:var(--muted);margin-bottom:8px;display:block}.content-grid{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:16px;display:grid}.document-row,.review-card{border:1px solid var(--border);background:var(--panel-muted);border-radius:14px;padding:14px}.document-row{justify-content:space-between;align-items:center;gap:14px;display:flex}.document-row a,.inline-link{color:var(--accent-600);text-decoration:none}.document-row a:hover,.inline-link:hover{text-decoration:underline}.review-meta{justify-content:space-between;gap:12px;margin-bottom:8px;display:flex}.raw-fragment{color:var(--text-strong);margin:0 0 12px;line-height:1.5}.tag-list{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.tag{background:var(--accent-soft);color:var(--accent-700);border-radius:999px;padding:4px 8px;font-size:12px;font-weight:500;display:inline-flex}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:12px 10px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:13px;font-weight:600}.status-pill{border-radius:999px;padding:4px 10px;font-size:12px;display:inline-flex}.status-pill.confirmed,.status-pill.review{background:var(--accent-soft);color:var(--accent-700)}.error-banner,.busy-banner,.notice-banner{border:1px solid var(--border);border-radius:14px;padding:12px 14px}.error-banner-dismissible{border-width:2px;border-color:#e11d48;align-items:flex-start;gap:12px;padding-right:10px;display:flex;box-shadow:0 0 0 1px #e11d4833,0 4px 14px #be123c14}.error-banner-message{word-break:break-word;flex:1;min-width:0;line-height:1.45}.error-banner-dismiss{color:#be123c;cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;margin:-4px -4px -4px 0;padding:0;transition:background .15s,color .15s;display:inline-flex}.error-banner-dismiss:hover{color:#9f1239;background:#fecdd373}.error-banner-dismiss:focus-visible{outline-offset:2px;outline:2px solid #e11d48}.error-banner-close-icon{width:18px;height:18px;display:block}.error-banner{background:var(--danger-bg);color:var(--danger-text)}.busy-banner{background:var(--accent-soft);color:var(--accent-700)}.notice-banner{color:#1d4ed8;background:#dbeafea6;border-color:#2563eb38}.document-empty-state-banner{border:1px solid var(--border);background:var(--panel-muted);color:var(--text);border-radius:14px;gap:8px;padding:14px 16px;display:grid}.document-empty-state-banner strong{font-size:14px}.document-empty-state-banner p{margin:0;line-height:1.5}.full-width{width:100%}.two-col-on-wide{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:start;gap:16px;display:grid}.document-workspace{grid-template-columns:minmax(320px,.86fr) minmax(0,1.14fr);align-items:start;gap:16px;display:grid}.documents-page{--doc-outline:#9eb0cc;flex-direction:column;gap:16px;display:flex}.documents-page .panel{border-color:var(--doc-outline)}.document-context-panel,.document-tab-panel,.analysis-queue-panel{min-width:0}.document-context-main{justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;display:flex}.document-context-title{color:var(--text-strong);margin:0 0 8px;font-size:22px}.document-patient-select{width:min(340px,100%);margin:0}.document-patient-select-control{box-sizing:border-box;background:var(--panel-muted);width:100%;color:var(--text-strong);cursor:pointer;border:1px solid #5e74966b;border-radius:12px;margin-top:0;padding:11px 12px;font-size:15px;font-weight:650;transition:border-color .15s}.document-patient-select-control:hover{border-color:#3d6a9c8c}.document-patient-select-control:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.document-context-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.context-stat-card{border:1px solid #0000;border-radius:14px;align-items:stretch;gap:14px;min-width:0;padding:16px 18px;display:flex}.context-stat-card--blue{background:linear-gradient(165deg, var(--sidebar-top) 0%, var(--sidebar-bottom) 55%, #0a5085 100%);box-shadow:0 8px 24px #0b3b7338}.context-stat-card--red{background:linear-gradient(145deg,#b91c1c 0%,#dc2626 52%,#991b1b 100%);box-shadow:0 8px 24px #b91c1c47}.context-stat-card-icon{background:#ffffff24;border-radius:12px;flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;width:72px;min-width:72px;min-height:72px;display:flex}.context-stat-card--blue .context-stat-card-icon .nav-icon,.context-stat-card--red .context-stat-card-icon .nav-icon{color:#fffffff2;width:48px;height:48px}.context-stat-card-text{flex-direction:column;justify-content:center;min-width:0;display:flex}.context-stat-card-text>span:first-of-type{color:#ffffffc7;text-transform:uppercase;letter-spacing:.1em;font-size:11px;font-weight:650;display:block}.context-stat-card-text strong{color:#fff;word-break:break-word;margin:8px 0 4px;font-size:18px;line-height:1.25;display:block}.context-stat-card-text small{color:#ffffffd1;font-size:13px;font-weight:500;line-height:1.35;display:block}.document-tabs{flex-wrap:wrap;gap:10px;display:flex}.document-tab{background:var(--panel);color:var(--text-strong);cursor:pointer;font:inherit;border:1px solid #5e74966b;border-radius:8px;align-items:center;gap:10px;padding:10px 14px;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.document-tab-icon{color:#3d6a9c;flex-shrink:0;width:20px;height:20px}.document-tab-label{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:650}.document-tab small{background:var(--panel-muted);min-width:24px;height:24px;color:var(--muted);border-radius:8px;justify-content:center;align-items:center;padding:0 6px;font-size:12px;font-weight:650;display:inline-flex}.document-tab.active{color:#fff;background:#3d6a9c;border-color:#0000}.document-tab.active .document-tab-label{color:#fff}.document-tab.active .document-tab-icon{color:#fffffff2}.document-tab.active small{color:#fff;background:#ffffff38}.empty-workspace-panel{flex-direction:column;gap:12px;display:flex}.document-toolbar-grid,.document-meta-grid,.entry-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.entry-editor-grid>.entry-field-label{margin-top:0}.document-filter-row{flex-wrap:wrap;gap:8px;margin:0;display:flex}.document-list-filters{margin-bottom:12px}.document-filter-chip{background:var(--panel);color:var(--text-strong);cursor:pointer;font:inherit;letter-spacing:.06em;text-transform:uppercase;border:1px solid #5e74966b;border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;padding:8px 12px;font-size:11px;font-weight:650;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.document-filter-chip-icon{color:#3d6a9c;flex-shrink:0;width:16px;height:16px}.document-filter-chip.active .document-filter-chip-icon{color:#fff}.document-filter-chip-label{line-height:1.2}.document-filter-chip:hover{border-color:#3d6a9c8c}.document-filter-chip.active{color:#fff;background:#3d6a9c;border-color:#0000}.compact-file-field{margin-bottom:12px}.document-list-panel-head{flex-wrap:wrap;align-items:flex-start;gap:14px}.document-list-head-toolbar{flex-wrap:nowrap;flex:1;justify-content:flex-end;align-items:stretch;gap:10px;min-width:0;max-width:100%;display:flex}.document-list-search{flex:200px;min-width:160px;max-width:320px}.document-list-head-toolbar .queue-go-button{white-space:nowrap;flex-shrink:0}.documents-page .document-list-search .header-search-input{border:1px solid #5e74966b;transition:border-color .15s}.documents-page .document-list-search .header-search-input:hover{border-color:#3d6a9c80}.documents-page .document-list-search .header-search-input:focus{border-color:#3d6a9ca6}@media (width<=720px){.document-list-head-toolbar{flex-wrap:wrap}.document-list-search{flex:100%;max-width:none}}.documents-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:10px;display:grid}.document-list-card{text-align:left;background:var(--panel-muted);border:1px solid #5e74966b;border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.document-list-card.active{border-color:#3d6a9c;box-shadow:0 0 0 1px #3d6a9c38}.document-list-card-main{justify-content:space-between;align-items:flex-start;gap:10px;min-width:0;display:flex}.document-list-card-info{flex:1;min-width:0}.document-list-card-aside{flex-direction:column;flex-shrink:0;align-items:center;gap:8px;display:flex}.document-list-card-icon-row{flex-direction:row;justify-content:center;align-items:center;gap:6px;display:flex}.document-list-retry-btn{color:#1d4ed8;cursor:pointer;background:linear-gradient(#eff6ff 0%,#dbeafefa 100%);border:1px solid #2563eb61;border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;padding:0;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 1px 2px #2563eb1f}.document-list-retry-btn:hover{background:linear-gradient(#dbeafe 0%,#bfdbfef2 100%);border-color:#1d4ed88c;box-shadow:0 1px 3px #2563eb2e}.document-list-retry-icon{width:17px;height:17px;display:block}.document-list-card strong{color:var(--text-strong);font-size:14px;line-height:1.3;display:block}.document-list-card-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.document-list-card p,.document-list-card small{color:var(--muted);margin:0}.document-list-card p{margin-top:2px;font-size:12px;line-height:1.35}.document-list-card small{font-size:11px;line-height:1.35}.document-list-card .status-pill{white-space:nowrap;text-align:center;border-radius:6px;justify-content:center;align-items:center;max-width:min(100%,200px);padding:4px 8px;font-size:11px;font-weight:650;line-height:1.2;display:inline-flex}.document-list-card-meta{margin-top:4px;display:block}.document-list-card-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:8px;min-width:0;margin-top:4px;display:grid}.document-list-card-actions .queue-go-button,.document-list-card-actions .doc-no-data-button{white-space:nowrap;justify-content:center;width:100%;min-width:0;padding:8px 10px;font-size:12px}.doc-list-open-button:disabled{opacity:.5}.doc-no-data-button{font:inherit;cursor:pointer;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;align-items:center;gap:6px;padding:7px 11px;font-size:13px;font-weight:650;transition:background .15s,border-color .15s;display:inline-flex}.doc-no-data-button:hover{background:#fee2e2;border-color:#fca5a5}.doc-no-data-button .btn-inline-icon{color:#b91c1c;flex-shrink:0}.danger-icon-button{border:1px solid var(--danger-border);background:var(--danger-bg);width:42px;height:42px;color:var(--danger-text);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.danger-icon-button:hover{background:#fee2e2}.danger-icon-button.document-list-delete-btn{border-radius:9px;width:34px;height:34px}.document-list-card-icon-row .danger-icon-button.document-list-delete-btn .icon-16{width:17px;height:17px}.success-icon-button{color:#1d4ed8;cursor:pointer;background:#dbeafee6;border:1px solid #2563eb47;border-radius:12px;justify-content:center;align-items:center;width:42px;height:42px;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.success-icon-button:hover{background:#bfdbfe;border-color:#2563eb61}.document-list-panel,.preview-panel,.document-editor-panel{min-width:0}.analysis-workspace{flex-direction:column;gap:16px;display:flex}.analysis-queue-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.analysis-queue-actions{flex-wrap:wrap;gap:10px;display:flex}.preview-stage{border:1px solid var(--border);background:linear-gradient(#eef4fb,#f8fbff);border-radius:14px;min-height:420px;max-height:calc(100vh - 290px);padding:12px;overflow:auto}.preview-stage--pdf{min-height:760px;max-height:calc(100vh - 170px);overflow:hidden}.preview-stage--image{overflow:hidden}.preview-image-shell,.pdf-main-viewport{scrollbar-gutter:stable both-edges;min-height:100%;overflow:auto}.preview-image{max-width:100%;height:auto;margin:0 auto;display:block}.image-review-viewport{scrollbar-gutter:stable both-edges;min-height:100%;overflow:auto}.image-review-shell{min-height:240px;margin:0 auto;position:relative}.image-review-media{background:#fff;border-radius:10px;width:100%;height:auto;display:block;box-shadow:0 6px 18px #0f172a14}.image-highlight-overlay{pointer-events:none;position:absolute;inset:0}.image-highlight-box{background:#facc1557;border:1px solid #a162076b;border-radius:6px;position:absolute;box-shadow:0 0 0 1px #facc1524,0 0 18px #facc1547}.image-highlight-box--units{background:#fde68a47;border-color:#ca8a0475}.pdf-preview-shell{grid-template-columns:92px minmax(0,1fr);gap:12px;min-height:100%;display:grid}.pdf-preview-shell--native{grid-template-columns:minmax(0,1fr)}.pdf-thumbnails{flex-direction:column;gap:8px;padding-right:2px;display:flex;overflow-y:auto}.pdf-thumbnail-button{cursor:pointer;background:#ffffffd1;border:1px solid #9eb0cccc;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px 6px;transition:border-color .15s,background .15s,transform .12s;display:flex}.pdf-thumbnail-button:hover{background:#fffffff5;border-color:#3b82f68c}.pdf-thumbnail-button.active{background:#dbeafeeb;border-color:#2563ebb8;box-shadow:inset 0 0 0 1px #2563eb14}.pdf-thumbnail-label{color:var(--muted);font-size:12px;font-weight:650}.pdf-thumbnail-canvas,.pdf-main-canvas{background:#fff;display:block;box-shadow:0 6px 18px #0f172a14}.pdf-thumbnail-canvas{border-radius:6px;width:72px;max-width:100%;height:auto}.pdf-main-shell{flex-direction:column;gap:10px;min-width:0;display:flex}.pdf-main-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.pdf-main-viewport{scrollbar-gutter:stable both-edges;background:linear-gradient(#0f172a0a,#94a3b814),#eef4fb;border-radius:16px;min-height:760px;padding:8px;overflow:hidden}.pdf-main-viewport--review{overflow:auto}.pdf-toolbar-page-nav{align-items:center;gap:8px;display:inline-flex}.pdf-page-nav-button{justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.pdf-page-indicator{text-align:center;min-width:58px;color:var(--text-strong);font-size:13px;font-weight:650}.pdf-main-canvas{border-radius:10px;max-width:none;margin:0 auto}.pdf-native-frame{background:#fff;border:none;border-radius:10px;width:100%;height:clamp(840px,100vh - 250px,980px);min-height:840px;display:block}.pdf-native-frame-shell{min-width:100%;position:relative}.pdf-review-canvas-shell{min-height:240px;margin:0 auto;position:relative}.pdf-main-canvas--review{width:100%;height:auto}.pdf-highlight-overlay{pointer-events:none;position:absolute;inset:0}.pdf-highlight-box{background:#facc1557;border:1px solid #a162076b;border-radius:6px;position:absolute;box-shadow:0 0 0 1px #facc1524,0 0 18px #facc1547}.pdf-highlight-box--units{background:#fde68a47;border-color:#ca8a0475}.pdf-review-status{color:var(--muted);font-size:12px;font-weight:650}.pdf-render-error{text-align:center;padding:12px}.document-editor-panel{flex-direction:column;gap:16px;min-width:0;display:flex}.document-actions-row{margin-bottom:4px}.analysis-queue-nav .btn-inline-icon{color:inherit}.analysis-queue-skip{cursor:pointer;font:inherit;color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-weight:650;transition:background .15s,border-color .15s;display:inline-flex}.analysis-queue-skip:hover{background:#fee2e2;border-color:#fca5a5}.preview-panel-sticky{z-index:3;flex-direction:column;align-self:start;min-height:0;max-height:calc(100vh - 24px);display:flex;position:sticky;top:10px}.preview-panel-sticky .preview-stage{flex:1;min-height:280px;max-height:calc(100vh - 140px)}.preview-panel-sticky .preview-stage--pdf{min-height:760px;max-height:calc(100vh - 140px)}.document-editor-head{align-items:flex-start}.document-editor-patient-title{color:var(--text-strong);align-items:center;gap:10px;margin:0;font-size:20px;font-weight:700;line-height:1.25;display:inline-flex}.document-editor-patient-icon{width:26px;height:26px;color:var(--accent-600);flex-shrink:0}.document-editor-filename{word-break:break-word;margin:4px 0 0;font-size:12px}.document-meta-save-row{flex-wrap:wrap;align-items:flex-end;gap:12px;display:flex}.document-meta-fields-pair{flex:1 1 0;align-items:flex-end;gap:8px;min-width:0;display:flex}.document-meta-date-field{flex:none;width:158px;max-width:42vw}.document-meta-note-field{flex:160px;min-width:140px}.document-meta-fields-pair .document-meta-date-field input,.document-meta-fields-pair .document-meta-note-field input{box-sizing:border-box;width:100%;max-width:100%;height:44px;min-height:44px;margin-top:6px;line-height:1.25}.document-meta-save-btn{cursor:pointer;font:inherit;color:#1d4ed8;background:#dbeafe8c;border:1px solid #2563eb52;border-radius:12px;flex-shrink:0;align-items:center;gap:8px;padding:10px 14px;font-weight:650;transition:background .15s,border-color .15s;display:inline-flex}.document-meta-save-btn:hover{background:#bfdbfec7;border-color:#1d4ed87a}.document-meta-save-btn .btn-inline-icon{color:#1d4ed8}.document-meta-save-btn:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.document-editor-toolbar-split{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;width:100%;display:flex}.document-editor-toolbar-start,.document-editor-toolbar-end{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.document-editor-toolbar-end{justify-content:flex-end;margin-left:auto}.document-editor-toolbar-split .queue-go-button,.document-editor-toolbar-split .doc-no-data-button,.document-editor-toolbar-split .doc-open-original-toolbar,.document-editor-toolbar-split .document-editor-delete-doc{box-sizing:border-box;min-height:44px}.document-editor-toolbar-split .doc-no-data-button{padding:10px 14px}.document-editor-toolbar-split .document-editor-delete-doc{width:44px;height:44px;min-height:44px}.doc-open-original-toolbar{font:inherit;color:#1d4ed8;background:#dbeafe8c;border:1px solid #2563eb52;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-weight:650;text-decoration:none;transition:background .15s,border-color .15s;display:inline-flex}.doc-open-original-toolbar:hover{color:#1e40af;background:#bfdbfec7;border-color:#1d4ed87a}.doc-open-original-toolbar:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.entry-field-label{flex-direction:column;gap:6px;display:flex}.entry-field-label-block{margin-top:4px}.entry-editor-card .entry-field-label-block,.manual-entry-panel .entry-field-label-block{margin-top:12px}.entry-field-label-text{color:var(--text-strong);align-items:center;gap:6px;font-size:13px;font-weight:650;display:inline-flex}.entry-field-label-icon{width:16px;height:16px;color:var(--accent-600);flex-shrink:0}.entry-editor-fields-grid{flex-direction:column;display:flex}.entry-editor-fields-grid--review-compact{gap:10px}.entry-editor-analyses-row{flex-flow:row;align-items:stretch;gap:12px;width:100%;display:flex}.entry-editor-card>.entry-editor-analyses-row,.manual-entry-panel>.entry-editor-analyses-row{margin-bottom:12px}.entry-editor-analyses-row>.entry-field-label+.entry-field-label{margin-top:0}.entry-editor-analyses-row .entry-field-label{flex:1 1 0;gap:0;min-width:0;min-height:100%}.entry-editor-analyses-row .entry-field-label>.entry-field-label-text{margin-bottom:6px}.entry-editor-analyses-row .entry-field-label>select{margin-top:auto}.entry-editor-analyses-row .entry-editor-select,.entry-editor-analyses-row select{box-sizing:border-box;width:100%;min-height:42px}.entry-editor-grid .entry-editor-select,.entry-editor-grid select{min-height:42px}.entry-editor-grid .entry-field-label.entry-editor-grid-span-full{grid-column:1/-1}.entry-editor-card>.entry-editor-grid>.entry-field-label+.entry-field-label,.manual-entry-panel>.entry-editor-grid>.entry-field-label+.entry-field-label{margin-top:0}.entry-editor-card .entry-field-label:not(.entry-field-label-block),.manual-entry-panel .entry-field-label:not(.entry-field-label-block){box-sizing:border-box;gap:0;height:100%}.entry-editor-card .entry-field-label:not(.entry-field-label-block)>.entry-field-label-text,.manual-entry-panel .entry-field-label:not(.entry-field-label-block)>.entry-field-label-text{margin-bottom:6px}.entry-editor-card .entry-field-label:not(.entry-field-label-block)>select,.entry-editor-card .entry-field-label:not(.entry-field-label-block)>input,.manual-entry-panel .entry-field-label:not(.entry-field-label-block)>select,.manual-entry-panel .entry-field-label:not(.entry-field-label-block)>input{box-sizing:border-box;min-height:42px;margin-top:auto}.entry-editor-list{flex-direction:column;gap:5px;display:flex}.entry-editor-card,.manual-entry-panel,.empty-editor,.analysis-catalog-card{background:linear-gradient(#e9f0fb 0%,#e2eaf7 100%);border:1px solid #b4c2dc;border-radius:16px;padding:16px;box-shadow:inset 0 1px #ffffffa6}.entry-editor-card--review{transition:border-color .15s,box-shadow .15s,background .15s}.entry-editor-card--review.is-active{background:linear-gradient(#fdf7df 0%,#eef4ff 100%);border-color:#d9770661;box-shadow:inset 0 1px #ffffffbf,0 0 0 2px #f59e0b24}.entry-card-icon-actions{place-self:end;align-items:center;gap:8px;display:inline-flex}.entry-card-icon-button{border-radius:10px;width:38px;height:38px;min-height:38px}.entry-card-icon-button .btn-inline-icon{width:16px;height:16px}.manual-entry-submit-row{margin-top:16px}.manual-tab-panel-head{align-items:flex-start;margin-bottom:14px}.manual-tab-panel-head .panel-title-with-icon{margin-bottom:4px}.manual-tab-panel-head p.muted{max-width:52ch;margin:0;line-height:1.45}@media (width>=1201px){.entry-editor-card--review{padding:12px}.entry-editor-card--review>.entry-editor-fields-grid--review-compact{grid-template-columns:minmax(150px,.92fr) minmax(150px,.9fr) minmax(108px,.52fr) minmax(96px,.44fr) auto;align-items:end;gap:8px;display:grid}.entry-editor-card--review>.entry-editor-fields-grid--review-compact>.entry-editor-analyses-row,.entry-editor-card--review>.entry-editor-fields-grid--review-compact>.entry-editor-grid,.entry-editor-card--review>.entry-editor-fields-grid--review-compact>.entry-card-icon-actions{display:contents}.entry-editor-card--review>.entry-editor-fields-grid--review-compact .entry-field-label{min-width:0}.entry-editor-card--review>.entry-editor-fields-grid--review-compact .entry-field-label>.entry-field-label-text{margin-bottom:4px;font-size:11px}.entry-editor-card--review>.entry-editor-fields-grid--review-compact .entry-editor-select,.entry-editor-card--review>.entry-editor-fields-grid--review-compact select,.entry-editor-card--review>.entry-editor-fields-grid--review-compact input{height:38px;min-height:38px;font-size:13px}.entry-editor-card--review>.entry-editor-fields-grid--review-compact .entry-card-icon-actions{place-self:end;gap:6px;padding-bottom:1px;display:inline-flex}.entry-editor-card--review>.entry-editor-fields-grid--review-compact .entry-card-icon-button{border-radius:9px;width:34px;height:34px;min-height:34px}.document-editor-panel .entry-editor-list{gap:5px}}.document-inline-manual{border-top:1px solid var(--border);padding-top:2px}.document-inline-manual-head{align-items:flex-start;margin-bottom:10px}.document-inline-manual-head .modal-title{margin:0 0 4px}.document-inline-manual-head p.muted{margin:0}.upload-tab-layout,.standalone-manual-layout{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);align-items:start;gap:16px;display:grid}.upload-dropzone-wrap{min-width:0;position:relative}.upload-file-input-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.upload-dropzone-custom{text-align:center;border:2px dashed var(--border);background:linear-gradient(180deg, var(--panel-muted) 0%, var(--panel) 100%);cursor:pointer;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;min-height:200px;padding:28px 22px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.upload-dropzone-custom:hover{border-color:var(--accent-500);box-shadow:0 0 0 1px var(--accent-soft)}.upload-dropzone-custom:focus-visible{outline:2px solid var(--accent-500);outline-offset:2px}.upload-dropzone-custom.is-dragover{border-color:var(--accent-600);background:var(--accent-soft);box-shadow:0 0 0 2px #2563eb2e}.upload-dropzone-hero-icon{width:48px;height:48px;color:var(--accent-600);margin-bottom:12px}.upload-dropzone-title{color:var(--text-strong);font-size:17px;font-weight:700}.upload-dropzone-hint{color:var(--muted);max-width:38ch;margin:8px 0 16px;font-size:14px;line-height:1.45}.upload-dropzone-empty{color:var(--muted);margin:0;font-size:13px;font-style:italic}.upload-selected-list{text-align:left;width:100%;max-height:140px;margin:0;padding:0;list-style:none;overflow-y:auto}.upload-selected-list li{background:var(--panel-muted);color:var(--text-strong);border:1px solid var(--border);border-radius:10px;margin-top:8px;padding:8px 12px;font-size:13px}.upload-selected-list li:first-child{margin-top:0}.queue-go-button{cursor:pointer;font:inherit;background:var(--action-solid);color:#fff;border:1px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-weight:650;transition:background .15s,opacity .15s;display:inline-flex}.queue-go-button:hover:not(:disabled){background:var(--action-solid-hover)}.queue-go-button:disabled{opacity:.5;cursor:not-allowed}.queue-go-button .btn-inline-icon{color:#fff}.upload-side-panel{flex-direction:column;gap:12px;display:flex}.upload-side-card,.manual-side-card{border:1px solid var(--border);background:var(--panel-muted);border-radius:16px;padding:16px}.upload-side-card strong,.manual-side-card strong{color:var(--text-strong);margin-bottom:8px;display:block}.entry-meta-row{justify-content:space-between;align-items:flex-start;gap:12px;margin:10px 0 12px;display:flex}.status-pill.status-ready,.status-pill.status-confirmed{color:#1d4ed8;background:#dbeafee0}.status-pill.status-processing,.status-pill.status-needs_review,.status-pill.status-candidate{background:var(--accent-soft);color:var(--accent-700)}.status-pill.status-missing_date,.status-pill.status-needs_manual_mapping{color:#b45309;background:#f59e0b26}.status-pill.status-no_data{color:#475569;background:#64748b24}.status-pill.status-failed{background:var(--danger-bg);color:var(--danger-text)}.analyses-catalog-intro .analyses-catalog-head{margin-bottom:0}.analyses-catalog-head{flex-wrap:wrap;align-items:flex-start;gap:14px}.analyses-catalog-head>div:first-child{flex:auto;min-width:min(100%,280px)}.analyses-catalog-head .panel-title-with-icon{margin-bottom:6px}.analyses-catalog-lede{max-width:62ch;margin:0;line-height:1.5}.analyses-catalog-head-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:12px;margin-left:auto;display:inline-flex}.analyses-catalog-add-button{cursor:pointer;font:inherit;color:#fff;background:#15803d;border:1px solid #0000;border-radius:12px;padding:10px 14px;font-weight:650;transition:background .15s}.analyses-catalog-add-button:hover{background:#14532d}.analyses-catalog-add-button:focus-visible{outline-offset:2px;outline:2px solid #15803d8c}.analyses-catalog-add-button .btn-inline-icon{color:#fff}.analysis-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;display:grid}.analysis-catalog-card{flex-direction:column;gap:12px;min-width:0;display:flex}.analysis-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.analysis-card-head-main{min-width:0}.analysis-card-title{color:var(--text-strong);margin:0;font-size:18px;font-weight:700;line-height:1.25}.analysis-card-export-line{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.4}.analysis-export-code{color:var(--text-strong);background:#ffffffb8;border:1px solid #b4c2dcf2;border-radius:8px;padding:2px 8px;font-family:ui-monospace,Cascadia Code,Segoe UI Mono,monospace;font-size:12px}.analysis-card-body{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.analysis-card-actions{flex-wrap:nowrap;gap:10px;margin-top:2px;display:flex}.analysis-card-actions .analysis-edit-button,.analysis-card-actions .analysis-delete-button{white-space:nowrap;flex:1 1 0;justify-content:center;min-width:0;font-size:12px}.analysis-card-actions .analysis-edit-button{padding:11px 18px}.analysis-card-actions .analysis-delete-button{padding:7px 10px}.analysis-status-badge{flex-shrink:0}.analysis-status-badge--active{color:#1d4ed8;background:linear-gradient(#bfdbfe 0%,#dbeafef5 100%);border:1px solid #3b82f6bf;font-weight:650;box-shadow:0 0 0 1px #93c5fdd9,inset 0 1px #ffffffd9}.analysis-status-badge--inactive{color:#475569;background:#94a3b829;border:1px solid #64748b61}.analysis-edit-button{font:inherit;cursor:pointer;background:var(--action-solid);color:#fff;border:1px solid #0000;border-radius:12px;padding:10px 14px;font-weight:650;transition:background .15s}.analysis-edit-button:hover{background:var(--action-solid-hover)}.analysis-edit-button:focus-visible{outline:2px solid var(--action-solid);outline-offset:2px}.analysis-edit-button .btn-inline-icon{color:#fff}.analysis-delete-button{font:inherit;cursor:pointer;color:#b91c1c;background:#fef2f2c7;border:1px solid #dc26266b;border-radius:12px;padding:10px 14px;font-weight:650;transition:background .15s,border-color .15s}.analysis-delete-button:hover{background:#fee2e2eb;border-color:#dc262694}.analysis-delete-button:focus-visible{outline-offset:2px;outline:2px solid #dc262673}.analysis-delete-button .btn-inline-icon{color:#b91c1c}.analysis-card-footer{color:var(--muted);border-top:1px solid #b4c2dca6;margin:0;padding-top:4px;font-size:12px}.table-section-intro .table-section-intro-head{flex-wrap:wrap;align-items:flex-start;gap:14px;margin-bottom:0}.table-section-intro-head>div:first-child{flex:240px;min-width:0}.table-section-lede{max-width:62ch;margin:6px 0 0;line-height:1.5}.table-section-filter-label{flex-direction:column;gap:6px;display:flex}.table-section-filter-label .entry-field-label-text{margin-bottom:0}.table-section-filter-label input,.table-section-filter-label select{margin-top:0}.table-section-controls-row{grid-template-columns:1fr;align-items:end;gap:16px;margin-top:14px;display:grid}@media (width>=920px){.table-section-controls-row{grid-template-columns:repeat(3,minmax(0,1fr))}}.table-section-control-cell{min-width:0}.table-section-filter-label.table-section-control-cell .entry-editor-select,.table-section-filter-label.table-section-control-cell input[type=search]{box-sizing:border-box;width:100%;min-height:42px}.table-section-chart-slot.table-section-control-cell{flex-direction:column;justify-content:flex-end;display:flex}.table-chart-visibility{flex-direction:column;align-items:stretch;gap:6px;width:100%;display:flex}.table-chart-visibility-label{color:var(--text-strong);letter-spacing:.01em;align-items:center;gap:6px;font-size:13px;font-weight:650;display:inline-flex}.table-chart-segmented{box-sizing:border-box;background:#f1f5f9eb;border:1px solid #b4c2dce0;border-radius:12px;gap:2px;width:100%;padding:3px;display:flex;box-shadow:inset 0 1px #ffffffbf}.table-chart-segmented button{min-width:0;color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:9px;flex:1 1 0;margin:0;padding:9px 12px;font-family:inherit;font-size:13px;font-weight:650;transition:background .15s,color .15s,box-shadow .15s}.table-chart-segmented button:hover:not(.is-active){color:var(--text-strong)}.table-chart-segmented button.is-active{color:#fff;box-shadow:none;background:#15803d}.table-chart-segmented button.is-active:hover{color:#fff;background:#14532d}.table-chart-segmented button:focus-visible{outline-offset:2px;outline:2px solid #15803d8c}.table-analysis-grid{flex-direction:column;gap:20px;display:flex}.table-analysis-card{flex-direction:column;gap:12px;min-width:0;display:flex}.table-analysis-card-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.table-analysis-card-head-main{flex:200px;min-width:0}.table-analysis-card-title{color:var(--text-strong);margin:0;font-size:17px;font-weight:700;line-height:1.25}.table-analysis-card-meta{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.4}.table-analysis-card-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.table-analysis-inactive-note{margin:0;font-size:12px}.table-analysis-empty{margin:0;font-size:13px}.patient-values-table-wrap{background:#ffffff8c;border:1px solid #b4c2dceb;border-radius:12px;overflow-x:auto}.patient-values-table{border-collapse:collapse;width:100%;font-size:13px}.patient-values-table th,.patient-values-table td{text-align:left;vertical-align:middle;border-bottom:1px solid #b4c2dc8c;padding:7px 12px}.patient-values-table th{letter-spacing:.05em;text-transform:uppercase;color:var(--muted);background:#ffffffb8;font-size:11px;font-weight:650}.patient-values-table tbody tr:last-child td{border-bottom:none}.patient-values-table tbody tr:hover td{background:#ffffff6b}.patient-values-table-date{white-space:nowrap;color:var(--text-strong);width:1%;font-weight:500}.patient-values-table-value{font-variant-numeric:tabular-nums;color:var(--text-strong)}.patient-values-sub{color:var(--muted);font-size:12px;font-weight:500}.patient-values-num{font-weight:650}.patient-values-table-actions{text-align:right;white-space:nowrap;width:1%}.patient-values-table-actions-inner{align-items:center;gap:4px;display:inline-flex}.patient-values-table--pivot{table-layout:auto;width:max-content;min-width:100%}.patient-values-table--pivot .patient-values-pivot-corner,.patient-values-table--pivot .patient-values-pivot-row-head{z-index:2;white-space:normal;background:#fafcfff5;min-width:9rem;max-width:14rem;position:sticky;left:0;box-shadow:1px 0 #b4c2dca6}.patient-values-table--pivot thead .patient-values-pivot-corner{z-index:3;vertical-align:bottom}.patient-values-table--pivot .patient-values-pivot-col-head{white-space:nowrap;text-align:center;min-width:6.5rem}.patient-values-table--pivot .patient-values-pivot-cell{vertical-align:top;text-align:center;min-width:6.5rem}.patient-values-table--pivot tbody tr:hover .patient-values-pivot-cell{background:#ffffff6b}.patient-values-table--pivot tbody tr:hover .patient-values-pivot-row-head{background:#f8fafefa}.patient-values-pivot-stack{flex-direction:column;align-items:stretch;gap:8px;display:flex}.patient-values-pivot-stack .patient-values-pivot-cell-inner{border-top:1px solid #b4c2dc66;padding-top:6px}.patient-values-pivot-stack .patient-values-pivot-cell-inner:first-child{border-top:none;padding-top:0}.patient-values-pivot-cell-inner{flex-direction:column;align-items:center;gap:6px;display:flex}.patient-values-pivot-value{font-variant-numeric:tabular-nums;color:var(--text-strong);font-weight:650;line-height:1.25}.patient-values-pivot-actions{justify-content:center;align-items:center;gap:4px;display:inline-flex}.patient-values-pivot-empty{color:var(--muted);font-variant-numeric:tabular-nums}.table-analysis-add-measurement{padding:8px 12px;font-size:12px}.table-icon-button{border:1px solid var(--border);width:34px;height:34px;color:var(--text-strong);cursor:pointer;background:#fff;border-radius:10px;justify-content:center;align-items:center;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.table-icon-button--compact{border-radius:9px;width:30px;height:30px}.table-icon-button:hover{background:var(--panel);color:var(--accent-700);border-color:#2563eb3d}.table-icon-button--edit{color:#2563eb;background:#2563eb14;border-color:#2563eb6b}.table-icon-button--edit:hover{color:#1d4ed8;background:#2563eb26;border-color:#2563eb94}.table-icon-button.danger{color:#dc2626;background:#dc262612;border-color:#dc26266b}.table-icon-button.danger:hover{color:#b91c1c;background:#dc262624;border-color:#dc26268c}.chart-modal{width:min(980px,100%);max-height:min(92vh,760px)}.chart-shell{flex-direction:column;gap:14px;display:flex}.chart-shell--inline-table{margin-top:12px}.chart-shell--inline-table .chart-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:12px 22px;width:100%;display:flex}.chart-shell--inline-table .chart-legend-item{flex-shrink:0}.chart-point-value{fill:#0f172a;paint-order:stroke fill;stroke:#ffffffeb;stroke-width:3px;stroke-linejoin:round;font-size:10px;font-weight:650}.patient-analysis-chart-empty{margin:12px 0 0;font-size:13px}.chart-svg{border:1px solid var(--border);background:linear-gradient(#2563eb0a,#2563eb03),#fff;border-radius:16px;width:100%;height:auto}.chart-axis{stroke:#94a3b8;stroke-width:1.5px}.chart-grid{stroke:#94a3b838;stroke-width:1px}.chart-label{fill:#64748b;font-size:11px}.chart-axis-date-label{fill:#64748b;font-size:9px}.chart-legend{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.chart-legend-item{color:var(--text-strong);align-items:center;gap:8px;font-size:14px;display:flex}.chart-legend-color{border-radius:999px;flex-shrink:0;width:12px;height:12px}.checkbox-row{align-items:center;gap:10px;margin-top:14px;display:flex}.checkbox-row input{width:16px;height:16px}@media (width<=1200px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100vh;max-height:none;overflow:visible}.app-shell.sidebar-collapsed{grid-template-columns:1fr}.sidebar{border-bottom:1px solid #ffffff1f;border-right:none}.sidebar-inner{flex-flow:wrap;justify-content:center;align-items:center;gap:12px;padding:16px}.sidebar-brand{flex:none;padding:4px}.sidebar-logo{width:auto;max-width:160px;max-height:72px}.sidebar-title{text-align:center;writing-mode:horizontal-tb;flex:180px;max-height:none;margin:0;font-size:13px;transform:none}.app-shell.sidebar-collapsed .sidebar-title{display:none}.sidebar-nav{flex-flow:wrap;justify-content:center;width:100%;margin-top:0}.nav-button{flex:140px;max-width:220px}.app-shell.sidebar-collapsed .nav-button-label{clip:auto;width:auto;height:auto;margin:0;position:static;overflow:visible}.sidebar-collapse{width:100%;max-width:320px;margin:8px auto 12px}.app-shell.sidebar-collapsed .sidebar-collapse-label{clip:auto;width:auto;height:auto;margin:0;position:static;overflow:visible}.content-grid,.hero-panel,.two-col-on-wide,.document-workspace,.document-context-stats,.upload-tab-layout,.standalone-manual-layout,.document-toolbar-grid,.document-meta-grid,.entry-editor-grid{flex-direction:column;grid-template-columns:1fr}.preview-panel-sticky{max-height:none;position:static}.preview-panel-sticky .preview-stage{max-height:none}.pdf-preview-shell{grid-template-columns:1fr}.pdf-thumbnails{flex-direction:row;padding-bottom:2px;overflow:auto hidden}.pdf-thumbnail-button{min-width:84px}.entry-editor-analyses-row{flex-flow:column}.analyses-catalog-head-actions{justify-content:flex-start;width:100%;margin-left:0}.document-meta-save-row,.document-meta-fields-pair{flex-direction:column;align-items:stretch}.document-meta-date-field{width:100%;max-width:none}.document-meta-save-btn{justify-content:center;align-self:stretch}.document-context-main,.analysis-queue-head{align-items:flex-start}.main-content{padding:16px;overflow-y:visible}.preview-stage{min-height:320px;max-height:none}.preview-stage--pdf{min-height:320px}}.login-shell{background:radial-gradient(circle at 100% 0,#2563eb29,#0000 32%),linear-gradient(#f4f8ff 0%,#e7eefb 100%);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fffffff0;border:1px solid #94a3b847;border-radius:24px;flex-direction:column;gap:14px;width:min(440px,100%);padding:30px 32px;display:flex;box-shadow:0 18px 50px #0f172a1f}.login-card--loading{text-align:center;align-items:center}.login-logo{align-self:center;width:min(220px,100%);height:auto}.login-title{text-align:center;letter-spacing:-.03em;color:var(--text-strong);margin:0;font-size:28px;font-weight:760}.login-subtitle{text-align:center;color:var(--muted);margin:0;line-height:1.5}.login-field{flex-direction:column;gap:6px;display:flex}.login-submit-button{color:#fff;background:linear-gradient(#2563eb 0%,#1d4ed8 100%);border-color:#1d4ed86b;justify-content:center;box-shadow:0 10px 24px #2563eb2e}.login-submit-button:hover:not(:disabled){background:linear-gradient(#1d4ed8 0%,#1e40af 100%);border-color:#1e40af8c}.login-submit-button:focus-visible{outline-offset:2px;outline:2px solid #2563eb59}.login-submit-button .btn-inline-icon{color:#fff}.auth-chip{flex-direction:column;align-items:flex-end;gap:2px;min-width:0;display:inline-flex}.auth-chip-name{text-overflow:ellipsis;white-space:nowrap;max-width:240px;color:var(--text-strong);font-weight:650;overflow:hidden}.auth-chip small{color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.users-list{flex-direction:column;gap:14px;display:flex}.users-card{gap:12px}.users-card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.users-card-meta{margin:4px 0 0}.users-toggle{margin-left:auto}.users-grid{align-items:start}.mobile-tab-bar{display:none}@media (width<=900px){.app-shell .sidebar{display:none}.app-shell{grid-template-columns:1fr;min-height:100dvh}.main-content{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}.mobile-tab-bar{z-index:50;padding:6px 6px calc(6px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(#ffffffeb,#f8fafcfa);border-top:1px solid #94a3b859;justify-content:space-around;align-items:stretch;gap:2px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #0f172a14}.mobile-tab-bar__btn{min-width:0;color:var(--muted);font:inherit;letter-spacing:.02em;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;padding:6px 4px;font-size:10px;font-weight:650;transition:background .15s,color .15s;display:flex}.mobile-tab-bar__btn.active{color:var(--accent-700);background:#2563eb1f}.mobile-tab-bar__icon{width:22px;height:22px;color:inherit;flex-shrink:0}.mobile-tab-bar__label{text-overflow:ellipsis;white-space:nowrap;text-align:center;max-width:100%;line-height:1.15;display:block;overflow:hidden}.mobile-more-backdrop{z-index:60;background:#0f172a73;justify-content:center;align-items:flex-end;padding:24px 16px 80px;animation:.18s mobile-more-fade-in;display:flex;position:fixed;inset:0}.mobile-more-sheet{background:var(--panel);border:1px solid var(--border);width:min(440px,100%);max-height:min(72dvh,520px);box-shadow:var(--shadow-sm);border-radius:18px 18px 12px 12px;padding:12px 14px 16px;overflow:auto}.mobile-more-sheet-head{border-bottom:1px solid #b4c2dca6;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;padding-bottom:10px;display:flex}.mobile-more-sheet-user{flex-direction:column;gap:2px;min-width:0;display:flex}.mobile-more-sheet-user strong{color:var(--text-strong);word-break:break-word;font-size:15px}.mobile-more-sheet-role{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:650}.mobile-more-close{border:1px solid var(--border);background:var(--panel-muted);cursor:pointer;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex}.mobile-more-row{background:var(--panel-muted);width:100%;font:inherit;color:var(--text-strong);cursor:pointer;text-align:left;border:1px solid #5e749659;border-radius:12px;align-items:center;gap:12px;margin-top:6px;padding:12px;font-size:15px;font-weight:650;transition:background .15s,border-color .15s;display:flex}.mobile-more-row:first-of-type{margin-top:0}.mobile-more-row.active{color:var(--accent-700);background:#dbeafe8c;border-color:#2563eb73}.mobile-more-row--logout{color:#b91c1c;background:#fef2f2d9;border-color:#dc262659;margin-top:12px}.documents-grid{grid-template-columns:minmax(0,1fr)}.document-tabs-scroll{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin;flex-wrap:nowrap;gap:8px;margin-left:-4px;margin-right:-4px;padding-bottom:4px;padding-left:4px;padding-right:4px;overflow:auto hidden}.document-tabs-scroll .document-tab{scroll-snap-align:start;flex:none;max-width:min(280px,85vw)}.document-filter-row{scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:8px;padding-bottom:6px;overflow-x:auto}.document-filter-chip{scroll-snap-align:start;flex:none}}@keyframes mobile-more-fade-in{0%{opacity:0}to{opacity:1}}@media (width<=768px){.login-shell{min-height:100svh;padding:10px}.login-card{border-radius:18px;gap:10px;width:min(360px,100%);padding:18px 16px;box-shadow:0 14px 34px #0f172a1a}.login-logo{width:min(156px,62vw)}.login-title{font-size:24px}.login-subtitle{font-size:14px;line-height:1.35}.login-field{gap:4px}.login-field input{padding:10px 12px;font-size:16px}.login-submit-button{margin-top:2px;padding:10px 12px}}@media (width<=480px){.login-shell{padding:8px}.login-card{gap:8px;padding:16px 14px}.login-logo{width:min(140px,56vw)}.login-title{font-size:22px}.login-subtitle{font-size:13px}}@media (width<=768px){.main-header{gap:10px}.main-header-actions{gap:8px}.refresh-button .refresh-button-text{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.refresh-button{justify-content:center;min-width:44px;min-height:44px;padding-left:12px;padding-right:12px;position:relative}.mobile-analysis-pane-switch{gap:8px;margin-bottom:12px;display:flex}.mobile-analysis-pane-btn{background:var(--panel-muted);font:inherit;cursor:pointer;color:var(--muted);border:1px solid #5e74966b;border-radius:12px;flex:1 1 0;padding:10px 12px;font-size:14px;font-weight:650;transition:background .15s,border-color .15s,color .15s}.mobile-analysis-pane-btn.active{color:#fff;background:#3d6a9c;border-color:#0000}.document-workspace .preview-panel.is-mobile-pane-hidden,.document-workspace .document-editor-panel.is-mobile-pane-hidden{display:none}.analysis-queue-actions{flex-wrap:wrap;justify-content:flex-start;gap:8px}.analysis-queue-actions .queue-go-button,.analysis-queue-actions .analysis-queue-skip{flex:calc(50% - 6px);justify-content:center;min-width:0}.patient-card-actions .icon-tool-button{min-width:44px;min-height:44px}.patient-values-table-wrap{position:relative}.patient-values-table-wrap:after{content:"";pointer-events:none;background:linear-gradient(270deg,#f8fafcfa,#f8fafc00);border-radius:0 12px 12px 0;width:28px;position:absolute;top:0;bottom:0;right:0}.table-icon-button,.table-icon-button--compact{min-width:40px;min-height:40px}.analysis-grid{grid-template-columns:minmax(0,1fr)}.analysis-catalog-card .tag-list{max-height:5.5em;position:relative;overflow:hidden}.modal-backdrop{align-items:stretch;padding:0}.modal-backdrop .modal{width:100%;max-width:none;min-height:100dvh;max-height:100dvh;padding:16px;padding-bottom:calc(24px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;border-radius:0;overflow-y:auto}.modal-backdrop .modal .modal-actions,.modal-backdrop .modal .modal-actions--analysis-editor{bottom:calc(env(safe-area-inset-bottom,0px));background:var(--panel);border-top:1px solid var(--border);margin-top:20px;padding-top:12px;padding-bottom:12px;position:sticky;box-shadow:0 -8px 24px #ffffffeb}.main-content .export-xlsx-button{justify-content:center;width:100%}}@media (width>=901px){.mobile-analysis-pane-switch{display:none}}
