:root{--bg: #f4f5f2;--panel: #ffffff;--ink: #1f2a24;--muted: #5f6b63;--line: #dde3dd;--accent: #2e6b4f;--accent-dark: #24523d;--accent-ink: #ffffff;--danger: #a8402f;--warn: #8a6d1d;--ok: #2e6b4f;--radius: 8px;--shadow: 0 1px 2px rgb(31 42 36 / .06), 0 2px 8px rgb(31 42 36 / .05);--mono: ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font:15px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{font-size:1.45rem;margin:.2rem 0 .8rem}h2{font-size:1.05rem;margin:.2rem 0 .7rem;color:var(--accent-dark)}h3{font-size:.95rem;margin:.6rem 0 .4rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code,.mono{font-family:var(--mono);font-size:.86em}.muted{color:var(--muted)}.small{font-size:.85rem}.break{word-break:break-all}.block{display:block}.error{color:var(--danger);font-weight:500}.notice{color:var(--ok);font-weight:500}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.page-loading{padding:4rem;text-align:center;color:var(--muted)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.main{max-width:1180px;width:100%;margin:0 auto;padding:1.2rem 1.4rem 3rem;flex:1}.topbar{background:#14342a;color:#fff;display:flex;align-items:center;gap:1.6rem;padding:0 1.2rem;min-height:54px;position:sticky;top:0;z-index:20;flex-wrap:wrap;row-gap:0}.topbar a{color:#d7e4dc;padding:.55rem .4rem;display:inline-block}.topbar nav{display:flex;gap:.4rem;flex:1}.topbar nav a.active{color:#fff;border-bottom:3px solid #7fb89a}.brand{font-weight:650;color:#fff!important;letter-spacing:.01em}.brand-sub{color:#9fc4ae;font-weight:400}.brand-mark{margin-right:.35rem}.topbar-user{display:flex;align-items:center;gap:.7rem}@media (max-width: 1180px){.user-name{display:none}}@media (max-width: 720px){.topbar{gap:.6rem;padding:0 .8rem}.topbar nav{overflow-x:auto}}.user-name{color:#d7e4dc}.role-badge{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;background:#2c5545;color:#cfe6d7;border-radius:99px;padding:.15rem .6rem}.page-head{display:flex;align-items:center;gap:1rem;justify-content:space-between;flex-wrap:wrap;margin-bottom:.6rem}.crumbs{margin-bottom:.4rem;color:var(--muted)}.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:1rem 1.1rem;margin:.8rem 0}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.8rem;margin:.6rem 0 1.4rem}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:.9rem 1rem;display:flex;flex-direction:column;color:inherit}.stat-card:hover{text-decoration:none;border-color:var(--accent)}.stat-num{font-size:1.7rem;font-weight:650;color:var(--accent-dark)}.stat-label{color:var(--muted)}.table{width:100%;border-collapse:collapse;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:.55rem .75rem;border-bottom:1px solid var(--line);vertical-align:top}.table thead th{background:#eef2ee;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.table tbody tr:hover{background:#f7faf7}input,select,textarea{font:inherit;color:inherit;background:#fff;border:1px solid #c4cdc4;border-radius:6px;padding:.45rem .6rem;max-width:100%}input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{display:flex;flex-direction:column;gap:.25rem;font-weight:550;font-size:.9rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.8rem;margin-bottom:.8rem}.form-grid .span-2{grid-column:1 / -1}.stack{display:flex;flex-direction:column;gap:.6rem}.row{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.row.spread{justify-content:space-between}.inline-label{display:flex;align-items:center;gap:.5rem;font-weight:400}.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin:.7rem 0}.filters input,.filters select{min-width:130px}.check{display:flex;flex-direction:row;align-items:center;gap:.4rem;font-weight:400}.scope-picker{border:1px dashed var(--line);border-radius:6px;padding:.5rem .7rem;display:flex;gap:1rem;flex-wrap:wrap}.scope-picker legend{font-size:.8rem;color:var(--muted);padding:0 .3rem}.small-input{width:120px}.btn{font:inherit;cursor:pointer;border:1px solid var(--line);background:#fff;border-radius:6px;padding:.45rem .9rem;font-weight:550;color:var(--ink)}.btn:hover{background:#f0f4f0;text-decoration:none}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent-dark)}.btn-danger{background:#fff;color:var(--danger);border-color:#d8b3ab}.btn-danger:hover{background:#fbf1ef}.btn-ghost{border-color:transparent;background:transparent}.btn-ghost:hover{background:#edf2ed}.topbar .btn-ghost{color:#d7e4dc;border-color:#4a7a63}.topbar .btn-ghost:hover{background:#1e4437;color:#fff}.btn-outline{border-color:var(--accent);color:var(--accent-dark);background:#fff}.btn-block{width:100%}.linkish{background:none;border:none;color:var(--accent);cursor:pointer;font:inherit;padding:0}.linkish:hover{text-decoration:underline}.chip{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;border-radius:99px;padding:.12rem .6rem;background:#eef2ee;color:var(--muted);border:1px solid var(--line)}.chip-dot{width:8px;height:8px;border-radius:50%;background:currentColor}.chip-open{color:#1d5d3f;background:#e9f3ec;border-color:#cfe4d6}.chip-closed{color:#55605a}.chip-vet{color:#6b4f10;background:#f6efdb;border-color:#e6d9b0}.chip-released,.chip-accepted{color:#1d5d3f;background:#e9f3ec}.chip-deceased,.chip-rejected{color:var(--danger);background:#f9ebe8;border-color:#eccfc8}.chip-externally_transferred{color:#274b6d;background:#e8eff6;border-color:#cfdeec}.chip-pending{color:#6b4f10;background:#f6efdb}.chip-quarantined{color:#7a1f1f;background:#f9e4e4;border-color:#eec3c3}.chip-superseded{color:var(--warn)}.chip-in_care{color:#1d5d3f}.login-wrap{min-height:100vh;display:grid;place-items:center;background:#14342a}.login-card{background:#fff;border-radius:12px;box-shadow:var(--shadow);padding:2rem 2.2rem;width:min(380px,92vw);display:flex;flex-direction:column;gap:.6rem}.login-card h1{margin:0;color:var(--accent-dark)}.login-card .muted{margin-top:-.6rem;margin-bottom:.4rem}.case-layout{display:grid;grid-template-columns:300px 1fr;gap:1rem;align-items:start}@media (max-width: 900px){.case-layout{grid-template-columns:1fr}}.kv{display:grid;grid-template-columns:auto 1fr;gap:.25rem .9rem;margin:0}.kv dt{color:var(--muted);font-size:.85rem}.kv dd{margin:0}.kv-small dt{min-width:130px}.subject-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.subject-list li{border:1px solid var(--line);border-radius:6px;padding:.5rem .7rem}.timeline{list-style:none;margin:0;padding:0;position:relative}.timeline:before{content:"";position:absolute;left:7px;top:6px;bottom:6px;width:2px;background:var(--line)}.timeline-item{position:relative;padding:.45rem 0 .7rem 1.8rem}.timeline-item:before{content:"";position:absolute;left:2px;top:.85rem;width:12px;height:12px;border-radius:50%;background:#9db8a6;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}.tl-head{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.tl-body{margin-top:.15rem}.ev-badge{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .5rem;border-radius:4px;background:#eef2ee;color:var(--muted)}.evb-admission{background:#e2efe7;color:#1d5d3f}.evb-internal_assessment{background:#e2ecf4;color:#274b6d}.evb-note{background:#f0ede4;color:#5c5236}.evb-weight{background:#efe7f0;color:#5a3d63}.evb-document_added{background:#e8eef0;color:#3c5a63}.evb-vet_handover_out,.evb-vet_return{background:#f6efdb;color:#6b4f10}.evb-release{background:#e2efe7;color:#1d5d3f}.evb-death,.evb-euthanasia{background:#f6e6e2;color:#7c2d1e}.evb-external_transfer_out{background:#e8eff6;color:#274b6d}.evb-correction{background:#f9f0d9;color:#7a5c0f}.payload-view{background:#f6f8f6;border:1px solid var(--line);border-radius:6px;padding:.6rem .8rem;font-family:var(--mono);font-size:.8rem;overflow-x:auto;max-height:300px}.correction-form{border:1px dashed #e0c98c;background:#fdfaf1;border-radius:6px;padding:.7rem}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media (max-width: 800px){.quick-grid{grid-template-columns:1fr}}.event-menu{display:flex;gap:.45rem;flex-wrap:wrap;align-items:center;margin-top:.9rem}.doc-list{list-style:none;padding:0;margin:.6rem 0 0;display:flex;flex-direction:column;gap:.3rem}.upload-label{display:flex;flex-direction:row;align-items:center;gap:.8rem;font-weight:400}.submission-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.8rem}.submission-card{margin:0}.attributed{color:#5c5236;background:#f6f3ea;border-radius:4px;padding:0 .3rem}.tabs{display:flex;gap:.3rem;border-bottom:2px solid var(--line);margin-bottom:.8rem}.tab{border:none;background:none;font:inherit;padding:.5rem .9rem;cursor:pointer;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-2px}.tab.active{color:var(--accent-dark);border-bottom-color:var(--accent);font-weight:600}.qr-panel{border:1px solid var(--line);border-radius:8px;padding:.8rem;margin-top:.9rem;background:#fbfdfb}.qr-svg{width:170px;height:170px;flex-shrink:0}.pair-box{border-top:1px dashed var(--line);margin-top:1rem;padding-top:.6rem}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#14342a73;display:grid;place-items:center;z-index:50;padding:1rem}.modal{background:#fff;border-radius:10px;box-shadow:var(--shadow);padding:1.2rem 1.3rem;width:min(640px,95vw);max-height:88vh;overflow:auto}.chip-corrected{background:#f6e8c8;color:#6b4d0d;border:1px solid #d9b95c;font-weight:600}.chip-superseded{background:#e7efeb;color:#2c5545}.chip-effective{background:#2c5545;color:#eaf4ee;border-radius:99px;padding:.1rem .5rem;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.timeline-item.ev-superseded>.tl-head{background:#fbf4e3}.correction-panel{border:1px solid #e3d9b8;border-left:4px solid #d9b95c;background:#fdfaf1;border-radius:8px;padding:.6rem .8rem;margin-top:.4rem}.correction-chain{margin:.3rem 0 0;padding-left:1.1rem;display:grid;gap:.5rem}.corrected-link{color:#8a6a12;font-weight:600}.provenance{margin-top:.3rem}.backfill-box{border:1px dashed #b9cbbf;border-radius:8px;padding:.5rem .8rem;margin:.6rem 0}.backfill-box summary{cursor:pointer;font-weight:550}.checkbox-label{display:flex;align-items:center;gap:.5rem}.checkbox-label input{width:auto}@media (max-width: 640px){body{font-size:15px}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.page-head{flex-direction:column;align-items:stretch;gap:.5rem}.page-head .btn{width:100%}table.cases{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.filters{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}.filters input[type=search]{grid-column:1 / -1}.btn{min-height:44px}.linkish{min-height:40px}.timeline-item{padding-left:0}.tl-head{flex-wrap:wrap;gap:.3rem}.modal-panel,.panel{max-width:100%}.quick-actions .row,.actions-row{flex-wrap:wrap}.correction-panel{margin:.5rem 0 0}.new-case .btn-primary{width:100%}input[type=date],input[type=time]{width:100%;min-height:44px}.payload-view{overflow-x:auto;max-width:100%}.tl-body,.correction-panel{overflow-wrap:anywhere;min-width:0}.correction-chain{padding-left:.6rem}.mono{overflow-wrap:anywhere}.case-side{width:auto!important;max-width:100%}.case-grid,.two-col,.detail-grid{grid-template-columns:1fr!important}dl.kv{grid-template-columns:auto 1fr}dl.kv dd{min-width:0;overflow-wrap:anywhere}aside,section{max-width:100vw}img,video,pre{max-width:100%}.main{overflow-x:clip}.case-layout>*{max-width:100%}.topbar{row-gap:0}.topbar nav{overflow-x:auto;scrollbar-width:thin}}.occ-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin:.4rem 0}@media (max-width: 640px){.occ-grid{grid-template-columns:1fr}}.intake-items{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.5rem}.intake-item{border:1px solid var(--border, #dde6df);border-radius:8px;padding:.5rem .7rem}.intake-item .row{gap:.5rem;flex-wrap:wrap}.chip-pending{background:#f4f1e6;color:#6b6a4d}.chip-accepted{background:#2c5545;color:#eaf4ee}.chip-rejected{background:#f3e1e1;color:#8a2d2d}.chip-partially_resolved{background:#f6e8c8;color:#6b4d0d}.assign-inline{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}.assign-inline label{display:flex;gap:.4rem;align-items:center}.session-picker{list-style:none;margin:.4rem 0;padding:0;display:grid;gap:.3rem}.session-picker label{display:flex;gap:.5rem;align-items:baseline}.assign-candidates{border:1px solid #dfe7e2;border-radius:8px;padding:.6rem;margin-top:.4rem}.merge-check{display:flex;gap:.5rem;align-items:center}.merge-check input{width:auto}.intake-item.merge-selected{border-color:#2c5545;background:#f2f8f4}.split-row{align-items:end;flex-wrap:wrap}.merge-preview{margin:.3rem 0;padding-left:1.1rem}.merge-form{border-left:4px solid #2c5545}.backup-card-grid,.backup-config-grid{display:grid;gap:4px 24px;margin:8px 0}.backup-config-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.backup-now{display:flex;align-items:center;gap:12px;margin:12px 0}.backup-now-msg{font-size:.9rem}.status-badge{font-weight:600}.backup-succeeded{color:#1b7a34}.backup-failed{color:#b3261e}.backup-running,.backup-pending{color:#8a6a12}.trigger-badge{display:inline-block;padding:1px 8px;border-radius:10px;font-size:.78rem;border:1px solid var(--border, #ccc)}.trigger-scheduled{background:#eef4ff}.trigger-manual{background:#f3eefe}.trigger-pre_upgrade{background:#fff3e6}.trigger-cli{background:#eef7ee}.health-healthy{color:#1b7a34;font-weight:600}.health-degraded{color:#8a6a12;font-weight:600}.health-critical{color:#b3261e;font-weight:600}.run-detail-grid{display:grid;grid-template-columns:180px 1fr;gap:4px 16px;margin:0}.run-detail-grid dt{color:var(--muted, #666)}.run-detail-grid dd{margin:0;word-break:break-all}.error-text{color:#b3261e}.img-preview-btn{padding:0;border:0;background:none;cursor:zoom-in;line-height:0}.tl-image{max-width:260px;max-height:200px;object-fit:cover;border-radius:8px;border:1px solid var(--line, #ccc)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:50;padding:2rem}.lightbox-inner{background:#fff;border-radius:10px;padding:1rem;max-width:min(90vw,900px);max-height:90vh;overflow:auto;text-align:center}.lightbox-inner img{max-width:100%;max-height:70vh;border-radius:6px}.case-thumb{width:100%;max-width:260px;border-radius:10px;border:1px solid var(--line, #ccc);margin-bottom:.5rem}.case-thumb-small{width:56px;height:56px;object-fit:cover;border-radius:8px;border:1px solid var(--line, #ccc)}.thumb-choice{gap:.5rem}.doc-thumb{width:48px;height:48px;object-fit:cover;border-radius:6px;border:1px solid var(--line, #ccc);vertical-align:middle;margin-right:.5rem}.upload-meta{margin:.5rem 0}.checkbox-row{display:flex;gap:1rem;flex-wrap:wrap}.careplan-history summary{cursor:pointer;margin-top:.5rem}
