:root{--bg: var(--medfilm-app-bg);--surface: var(--medfilm-app-card);--surface-2: var(--medfilm-app-card2);--surface-3: var(--medfilm-app-card-hi);--ink: var(--medfilm-app-head);--muted: var(--medfilm-app-dim);--line: var(--medfilm-app-border);--line-strong: var(--medfilm-app-border2);--accent: var(--medfilm-app-accent);--accent-2: var(--medfilm-app-accent2);--accent-glow: var(--medfilm-app-accent-glow);--warn: #fbbf24;--bad: #ef4444;--ok: #34d399;--shadow: 0 8px 20px rgba(0, 0, 0, .4);color-scheme:dark;font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Noto Sans SC,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:var(--ink);background:var(--bg)}*{box-sizing:border-box}html,body,.app-shell{width:100%;min-height:100%;margin:0}body{background:var(--bg);font-size:14px;letter-spacing:0;user-select:none;-webkit-user-select:none}input,textarea,select,[contenteditable]{user-select:text;-webkit-user-select:text}button,input,select{font:inherit}button{border:1px solid var(--line);border-radius:8px;min-height:38px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--surface);color:var(--ink);cursor:pointer}button svg,.warning svg,.drop-icon svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}button:disabled{cursor:not-allowed;opacity:.48}.primary{background:var(--accent);border-color:var(--accent);color:#fff}.secondary:hover,.primary:hover:not(:disabled){filter:brightness(.98)}.secondary.danger{border-color:#ef444466;color:var(--bad);background:#ef44441a}.secondary.danger:hover:not(:disabled){filter:brightness(.98)}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - 48px)}.sidebar{height:calc(100vh - 48px);border-right:1px solid var(--line);background:var(--surface-2);padding:18px;position:sticky;top:0;align-self:start;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}h1,h2,h3,p{margin:0}small,.muted{color:var(--muted)}.side-section:first-of-type{margin-top:0}.side-section{margin-top:18px}.side-section h2{font-size:12px;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:0}.side-section>h2{margin-bottom:10px}.side-section-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.side-section-header .muted{font-size:11px;text-align:right}.workflow-list{display:grid;gap:8px}.workflow-item{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:10px;display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;cursor:pointer}.workflow-item.selected{border-color:var(--accent);background:var(--accent-glow)}.workflow-item input{margin:2px 0 0;accent-color:var(--accent)}.workflow-item strong,.workflow-item small{display:block}.workflow-item strong{font-size:13px}.workflow-item small{margin-top:3px;font-size:12px}.workspace{min-width:0;padding:20px}.topbar{min-height:42px;display:flex;align-items:center;justify-content:flex-end;gap:16px;margin-bottom:14px}.topbar-actions{display:flex;gap:10px;flex:0 0 auto}.main-grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(360px,1.1fr);gap:16px}.panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-width:0;padding:16px}.compact-panel{padding:10px;min-height:174px}.compact-panel .panel-header{margin-bottom:6px;min-height:24px}.study-stack{display:grid;gap:12px;min-width:0;align-content:start}.context-panel{min-height:0}.context-kv input,.context-kv select{width:100%;min-height:24px;border:none;background:transparent;color:var(--ink);font-size:13px;text-align:right;padding:0;outline:none}.context-kv input:focus,.context-kv select:focus{outline:1px solid var(--accent);outline-offset:2px;border-radius:4px}.context-kv input::placeholder{color:var(--muted);opacity:.6}.panel.wide{grid-column:1 / -1}.panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;margin-bottom:12px}.panel-header h3{font-size:15px}.status{border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.status.neutral{background:var(--surface-2);color:var(--muted)}.status.ok{background:#34d3991f;color:var(--ok)}.status.warn{background:#fbbf241f;color:var(--warn)}.status.bad{background:#ef44441f;color:var(--bad)}.compact-panel .drop-zone{min-height:104px;padding:10px;gap:5px}.drop-zone{min-height:176px;border:1px dashed var(--line-strong);border-radius:8px;background:var(--surface-2);display:grid;place-items:center;align-content:center;gap:7px;text-align:center;cursor:pointer;padding:18px}.drop-zone.dragging{border-color:var(--accent);background:var(--accent-glow)}.drop-zone input{display:none}.drop-icon{width:30px;height:30px;border-radius:8px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--accent)}.drop-zone strong{font-size:14px}.drop-zone small{font-size:12px}.import-actions{display:flex;gap:10px;margin-top:8px}.import-demo{display:flex;flex-direction:column;gap:4px;margin-top:10px;padding-top:10px;border-top:1px dashed var(--line)}.import-demo label{font-size:12px}.import-demo .demo-loader{width:100%;padding:6px 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface, #fff);font-size:13px;cursor:pointer}.import-demo .demo-loader:focus{outline:2px solid var(--accent, var(--accent));outline-offset:1px}.kv-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.kv-grid div{min-height:34px;border:1px solid var(--line);border-radius:8px;padding:7px 8px;background:var(--surface-2);display:grid;grid-template-columns:minmax(68px,.55fr) minmax(0,1fr);gap:8px;align-items:center}.kv-grid span,.kv-grid strong{display:inline}.kv-grid span{color:var(--muted);font-size:12px;margin-bottom:0}.kv-grid strong{font-size:13px;text-align:right;overflow-wrap:anywhere}.warnings{display:grid;gap:8px;margin-top:12px}.warning{display:flex;gap:8px;align-items:center;color:var(--warn);background:#fbbf2414;border:1px solid rgba(251,191,36,.3);border-radius:8px;padding:9px 10px}.plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.side-plan-grid{grid-template-columns:1fr;gap:8px}.plan-item{border:1px solid var(--line);border-radius:8px;min-height:62px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--surface-2)}.side-plan-grid .plan-item{min-height:54px;padding:9px}.side-plan-grid .plan-item strong{font-size:13px}.side-plan-grid .plan-item small{font-size:12px}.policy-item{grid-column:1 / -1;background:#4fc3f70f}.plan-item-pending{background:#fbbf240d;border-color:#fbbf244d}.plan-item strong,.plan-item small{display:block}.plan-item small{margin-top:4px}.runtime-pill{border-radius:999px;border:1px solid rgba(79,195,247,.25);background:#4fc3f714;color:var(--accent-2);font-size:12px;padding:4px 8px;white-space:nowrap}.runtime-pill.pending{background:#fbbf2414;border-color:#fbbf244d;color:var(--warn)}.queue{display:grid;gap:10px}.queue-row{min-height:52px;display:grid;grid-template-columns:minmax(170px,1fr) minmax(160px,2fr) 46px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--surface-2)}.queue-copy strong,.queue-copy small{display:block}.queue-copy small{margin-top:3px}.meter{height:9px;border-radius:999px;background:var(--surface-2);overflow:hidden}.meter span{display:block;height:100%;background:var(--accent);transition:width .12s linear}.pct{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right}.results{display:grid;gap:12px}.result-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}.result-card{min-height:84px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:12px;display:grid;align-content:space-between;gap:8px}.result-card span{color:var(--muted);font-size:12px;line-height:1.35}.result-card strong{font-size:18px;line-height:1.1;font-weight:750;white-space:nowrap;overflow-wrap:normal;word-break:normal}.clinical-note-stack{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.clinical-note{border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:8px;background:var(--surface-2);padding:11px 12px}.clinical-note.warn{border-left-color:var(--warn);background:#fbbf2414}.clinical-note.danger{border-left-color:var(--bad);background:#ef444414}.clinical-note-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.clinical-note-header strong{font-size:13px}.clinical-note-list{display:grid;gap:8px}.clinical-note-list div{display:grid;grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:16px}.clinical-note-list span,.qc-note-row span{color:var(--muted);font-size:12px}.clinical-note-list p{margin:0;line-height:1.45}.qc-note-table{display:grid;border-top:1px solid var(--line)}.qc-note-row{min-height:34px;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1fr);gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:6px 0}.qc-note-row:last-child{border-bottom:0}.qc-note-row strong{font-size:13px;font-weight:600;text-align:right;white-space:nowrap;overflow-wrap:normal;word-break:normal}.evidence-stack{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}.evidence-stack.evidence-grid,.evidence-stack.evidence-comparison{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}.evidence-stack.evidence-full-width{grid-template-columns:1fr}.evidence-image{border:1px solid var(--line);border-radius:8px;background:var(--surface-2);padding:12px;display:grid;gap:10px}.evidence-image-copy{display:grid;gap:3px}.evidence-image-copy strong{font-size:13px}.evidence-image-copy span{color:var(--muted);font-size:12px;line-height:1.35}.evidence-image img{width:min(100%,640px);aspect-ratio:1 / 1;object-fit:contain;border:1px solid var(--line);border-radius:6px;background:#111827}.evidence-stack.evidence-grid .evidence-image img,.evidence-stack.evidence-comparison .evidence-image img,.evidence-stack.evidence-full-width .evidence-image img{width:100%}.evidence-stack.evidence-full-width .evidence-image img,.evidence-stack.presentation-image-first-landmark-report .evidence-image img{aspect-ratio:auto;max-height:720px}.evidence-legend{display:flex;flex-wrap:wrap;gap:10px;color:var(--muted);font-size:12px}.evidence-legend span{display:inline-flex;align-items:center;gap:5px}.evidence-legend i{width:10px;height:10px;border-radius:50%;display:inline-block}.result-detail-stack{display:grid;gap:12px;border-top:1px solid var(--line);padding-top:12px}.result-detail{min-width:0}.result-detail-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.result-detail-header strong{font-size:13px}.result-detail-header span{color:var(--muted);font-size:12px}.result-detail-table{display:grid;border-top:1px solid var(--line)}.result-detail-row{min-height:38px;display:grid;gap:16px;align-items:center;border-bottom:1px solid var(--line);padding:7px 0}.result-detail-row.has-reference{grid-template-columns:minmax(170px,1fr) minmax(110px,auto) minmax(240px,1.15fr)}.result-detail-row.no-reference{grid-template-columns:minmax(170px,1fr) minmax(110px,auto)}.result-detail-heading{min-height:30px;color:var(--muted);font-size:11px;font-weight:700;letter-spacing:0;text-transform:uppercase}.result-detail-row span{color:var(--muted)}.result-detail-row strong{font-size:14px;font-weight:700;text-align:right;white-space:nowrap;overflow-wrap:normal;word-break:normal}.result-detail-row em{color:var(--muted);font-size:12px;font-style:normal;line-height:1.35;text-align:right;overflow-wrap:anywhere}.result-detail-heading strong,.result-detail-heading em{color:var(--muted);font-size:11px;font-weight:700}.result-warnings{display:grid;gap:8px}.empty{min-height:64px;border:1px dashed var(--line);border-radius:8px;color:var(--muted);display:grid;place-items:center;background:var(--surface-2)}.skeleton-line{height:34px;border-radius:8px;background:linear-gradient(90deg,var(--surface-2) 0%,var(--line) 50%,var(--surface-2) 100%);background-size:180% 100%;animation:shimmer 1.2s linear infinite}@keyframes shimmer{0%{background-position:0 0}to{background-position:-180% 0}}@media (max-width: 980px){.app-shell{grid-template-columns:1fr}.sidebar{height:auto;max-height:none;overflow:visible;position:static;border-right:0;border-bottom:1px solid var(--line)}.main-grid,.plan-grid,.result-grid{grid-template-columns:1fr}}@media (max-width: 620px){.workspace,.sidebar{padding:14px}.topbar{align-items:flex-start;flex-direction:column}.topbar-actions,.import-actions{width:100%}.topbar-actions button,.import-actions button{flex:1 1 auto}.kv-grid,.queue-row{grid-template-columns:1fr}.result-detail-row,.result-detail-row.has-reference,.result-detail-row.no-reference,.clinical-note-list div,.qc-note-row{grid-template-columns:1fr;gap:3px}.qc-note-row strong,.result-detail-row strong,.result-detail-row em,.pct{text-align:left}}
