:root{font-family:system-ui,sans-serif;color:#24211d;background:#f6f0e4;font-size:16px}*{box-sizing:border-box}body{margin:0}header{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;background:#24211d;color:white;padding:1rem}h1{font-size:1.35rem;margin:0;flex:1}main{max-width:1400px;margin:auto;padding:1rem}nav,.actions{display:flex;gap:.6rem;flex-wrap:wrap}button,input,select,textarea{font:inherit;padding:.65rem;border:1px solid #726b60;border-radius:4px}button{cursor:pointer;background:#fff;min-height:44px}button:hover,button:focus-visible{outline:3px solid #d2a437}button:disabled{opacity:.5;cursor:wait}button[aria-pressed="true"]{background:#24211d;color:#fff}label{display:flex;flex-direction:column;gap:.35rem}nav label{flex-direction:row;align-items:center}form{display:flex;gap:1rem;flex-wrap:wrap;align-items:end;margin:1rem 0;padding:1rem;background:#fff;border:1px solid #c2b390}form label{flex:1 1 180px}textarea{min-height:80px}section{margin-top:1rem}[hidden]{display:none!important}#message{margin:0;padding:.8rem;min-height:2rem;font-weight:600}body.test header{background:#733700}body.test nav:after{content:'TRAINING / TEST RECORDS — EXCLUDED FROM LIVE';font-weight:bold}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}.card{padding:1rem;background:white;text-align:left;overflow-wrap:anywhere}.card img{width:100%;height:180px;object-fit:contain}.counts{display:flex;gap:1rem;flex-wrap:wrap}.counts p{background:white;padding:1rem;font-size:1.2rem}.v2-tools{padding:1rem;border:2px solid #733700;background:#fff7e8}dialog{width:min(1100px,96vw);max-height:95vh;overflow:auto;background:#f6f0e4;border:2px solid #24211d}dialog::backdrop{background:#0009}#preview{display:block;max-width:100%;height:min(55vh,600px);object-fit:contain;margin:auto}pre{white-space:pre-wrap;font:inherit}.actions{width:100%}.progress{padding:.5rem;border-bottom:1px solid #aaa;overflow-wrap:anywhere}.table-scroll{overflow:auto}table{border-collapse:collapse;width:100%;background:#fff;font-size:.9rem}th,td{padding:.55rem;border:1px solid #aaa;text-align:left;white-space:nowrap}.changed{background:#fff0a8;font-weight:700}@media(max-width:600px){main{padding:.6rem}form{padding:.6rem}form label{flex-basis:100%}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card{padding:.5rem}.card img{height:130px}}
#vail-research{max-width:1040px;margin:auto}#vail-card{background:#fff;padding:1rem;margin-top:1rem;border:1px solid #c2b390}#vail-photo{display:block;max-width:100%;max-height:72vh;object-fit:contain;margin:1rem auto;background:#eee}#vail-human-form{align-items:stretch}#vail-human-form .check{flex-direction:row;align-items:center}.vail-list{display:flex;gap:.35rem;overflow-x:auto;padding:.5rem 0}.vail-list button{min-width:54px}.vail-list .done{background:#d5efda}.vail-list .active{outline:3px solid #24211d}#vail-ai,#vail-summary{background:#fff;padding:1rem;margin-top:1rem;border:1px solid #c2b390;white-space:pre-wrap}#vail-duplicate{font-weight:600}
#vail-recommendation{background:#f7f3e9;border:1px solid #c2b390;padding:1rem;margin:1rem 0}#vail-recommendation h4{margin:.1rem 0 .7rem}.recommendation-row{display:flex;justify-content:space-between;border-bottom:1px solid #ded3bb;padding:.25rem 0;margin:0}#vail-human-form fieldset{border:1px solid #c2b390;margin:.75rem 0;padding:.8rem;min-width:0}#vail-human-form fieldset[hidden]{display:none}#vail-human-form legend{font-weight:700}#vail-reasons{line-height:1.5}.muted{color:#57534b;font-size:.92rem}#vail-approve{background:#2d2922;color:#fff;min-height:44px}#vail-adjust,#vail-save{min-height:44px}#vail-human-form select,#vail-human-form textarea{max-width:100%;min-height:42px}@media(max-width:600px){#vail-card{padding:.7rem}.recommendation-row{display:block}#vail-human-form .actions{display:grid;grid-template-columns:1fr}#vail-human-form .actions button{width:100%}}
.missing-preview{display:grid;place-items:center;height:180px;background:#e5e5e5;color:#333;text-align:center;padding:1rem}.card p{overflow-wrap:anywhere;margin:.35rem 0}#preview-notice{text-align:center;font-weight:600}#original-download{display:block;text-align:center;margin:1rem auto}
.brand{flex:1 1 300px}.brand span{display:block;color:#e6d9bd;font-size:.88rem;margin-top:.2rem}.startup{max-width:760px;margin:1.5rem auto;padding:1.2rem 1.5rem;background:#fff;border-left:5px solid #b68b38;box-shadow:0 2px 12px #24211d12}.startup p{margin:.2rem 0 1rem}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0 1.5rem}.quick-actions button{text-align:left;padding:1.2rem;background:#fff;border:1px solid #c2b390;border-top:4px solid #b68b38;min-height:110px}.quick-actions strong,.quick-actions span{display:block}.quick-actions span{margin-top:.5rem;color:#4d493f;font-size:.9rem}.card{border:1px solid #d7cab0;border-top:3px solid #b68b38;box-shadow:0 1px 5px #24211d12}.card:hover{transform:translateY(-2px)}.card img{background:#eee}.card-title{font-weight:700}.card-status{color:#4d493f}.card-context{font-size:.85rem;color:#5d574e}.empty-state{grid-column:1/-1;padding:2rem;background:white;border:1px dashed #a79b81;text-align:center}.missing-preview{background:#e9e4da;border:1px dashed #a79b81}.grid button:focus-visible,nav button:focus-visible,.quick-actions button:focus-visible{outline:3px solid #b68b38;outline-offset:3px}@media(max-width:767px){.quick-actions{grid-template-columns:1fr}.quick-actions button{min-height:75px}}@media(max-width:420px){.grid{grid-template-columns:1fr}.card img,.missing-preview{height:200px}header{padding:.85rem}}
/* Focused signed-in dashboard presentation. Status values and navigation remain unchanged. */
header #identity{font-size:.82rem;color:#e9ddc6;border:1px solid #8d826c;padding:.35rem .6rem;border-radius:3px;max-width:100%;overflow-wrap:anywhere}
header #logout{background:#f6f0e4;color:#24211d;border-color:#d6c49e;padding:.5rem .8rem}
.workspace-nav{max-width:1160px;margin:0 auto 1.5rem;align-items:center;gap:.15rem;border-bottom:1px solid #c9bda4}
.workspace-nav button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:#3c3830;padding:.65rem .75rem;font-size:.93rem;font-weight:600}
.workspace-nav button:hover{background:#eee6d6}.workspace-nav button[aria-current="page"]{border-bottom-color:#a67c28;color:#211e18;background:#fffaf0}
.workspace-nav .test-toggle{margin-left:auto;min-height:44px;padding:.4rem .65rem;border:1px solid #c9bda4;background:#fff9ee;border-radius:3px;font-size:.8rem;font-weight:700;white-space:nowrap}
.dashboard-shell{max-width:1160px;margin:0 auto}.dashboard-intro{margin-bottom:1.25rem}.dashboard-intro h2{font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.2;margin:0}.dashboard-intro p{color:#575145;margin:.4rem 0 0}
.dashboard-shell .quick-actions{gap:.85rem;margin:1.2rem 0 1.8rem}.dashboard-shell .quick-actions button{position:relative;min-width:0;min-height:145px;padding:1.1rem 1.15rem 1.3rem;border:1px solid #c5b89d;border-top:3px solid #aa812f;border-radius:3px;box-shadow:0 2px 8px #29241a0d}
.dashboard-shell .quick-actions button:hover{border-color:#9a762c;box-shadow:0 4px 12px #29241a1a}.dashboard-shell .quick-actions button:focus-visible{outline:3px solid #a67c28;outline-offset:3px}
.dashboard-shell .quick-actions strong{font-size:1.08rem;line-height:1.3;color:#24211d;margin:.4rem 0}.dashboard-shell .quick-actions span{line-height:1.4}.dashboard-shell .quick-actions .action-eyebrow{font-size:.71rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#795b20;margin:0}.dashboard-shell .quick-actions .action-count{font-size:.82rem;color:#534c3f;border-top:1px solid #e4dac6;padding-top:.55rem;margin-top:.7rem}
.snapshot-panel{border-top:1px solid #c4b89f;padding-top:1.25rem}.snapshot-heading{display:flex;align-items:start;justify-content:space-between;gap:1rem}.snapshot-heading h3{font-size:1.32rem;margin:0}.snapshot-heading p{color:#625b4d;font-size:.9rem;margin:.25rem 0 0}.snapshot-heading button{min-height:36px;padding:.35rem .65rem;font-size:.84rem;color:#403a2f;background:transparent;border-color:#b8aa8f;white-space:nowrap}
#count-progress{color:#5c5548;font-size:.85rem;margin:.85rem 0}.dashboard-shell .counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;align-items:start}.stat-section{min-width:0;margin:0}.stat-section h4{margin:0 0 .55rem;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;color:#5b5141}.stat-featured,.stat-maintenance{grid-column:1/-1}.stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem}.stat-featured .stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-maintenance .stat-grid{grid-template-columns:1fr}
.stat-card{display:flex;flex-direction:column;gap:.2rem;min-width:0;min-height:88px;padding:.75rem .9rem;border:1px solid #d6c9b0;border-radius:3px;background:#fff;box-shadow:0 1px 4px #29241a0b}.stat-value{font-size:1.48rem;line-height:1.1;font-variant-numeric:tabular-nums;color:#24211d}.stat-label{font-size:.84rem;color:#514b40}.stat-primary{min-height:105px;padding:.95rem 1.1rem;border-top:3px solid #aa812f}.stat-primary .stat-value{font-size:2rem}.stat-primary:nth-child(2){border-top-color:#68806a}.stat-zero{background:#f4f0e8;box-shadow:none}.stat-zero .stat-value{color:#686256}.stat-history{min-height:68px;background:#f2eee6;border-color:#d8ceba;box-shadow:none}.stat-history .stat-value{font-size:1.28rem}.stat-note{font-size:.76rem;color:#625b4d;line-height:1.35}
@media(max-width:767px){.workspace-nav{gap:0}.workspace-nav button{font-size:.86rem;padding:.58rem .55rem}.workspace-nav .test-toggle{margin:.45rem 0 .5rem auto}.dashboard-shell .quick-actions{gap:.7rem}.dashboard-shell .quick-actions button{min-height:105px}.dashboard-shell .counts{grid-template-columns:1fr}.stat-section{grid-column:1/-1}}
@media(max-width:420px){.workspace-nav button{flex:1 1 42%;text-align:center}.workspace-nav .test-toggle{width:100%;justify-content:center}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.snapshot-heading{align-items:center}.snapshot-heading p{max-width:18rem}.stat-primary .stat-value{font-size:1.8rem}header #identity{order:3;flex:1 1 auto}}

/* Event navigation uses the existing archive visual language. */
.event-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}.event-card{padding:1rem;border:1px solid #c2b390;border-radius:8px;background:#fff}.event-card a,#collection-navigation a{display:inline-flex;align-items:center;min-height:44px;padding:.6rem;gap:.5rem;margin:.25rem;color:#24211d;font-weight:650}.event-card h3{margin-top:0}#recorded-event{overflow-wrap:anywhere}

/* Continuous review retains the existing modal and private previews. */
#review{max-height:94dvh;overflow:auto;width:min(1100px,94vw);box-sizing:border-box}#review [hidden]{display:none!important}.review-toolbar{position:sticky;top:0;z-index:2;background:#fff;padding:.6rem;border-bottom:1px solid #ccc;display:flex;gap:.5rem;flex-wrap:wrap}.review-toolbar p{flex-basis:100%;margin:.15rem 0}.review-toolbar button,#review-form button{min-height:44px}#review-form .actions{position:sticky;bottom:0;background:#fff;padding:.6rem 0}.review-hint{font-size:.9rem}#preview{max-height:55dvh;object-fit:contain}#review-end{padding:1rem}#review-end a{display:block;margin:1rem 0}@media(max-width:600px){#review{width:98vw;padding:.6rem}.review-toolbar{gap:.3rem}.review-toolbar button{padding:.5rem}#review-form .actions{display:flex;flex-wrap:wrap;gap:.4rem}}

#preview{height:auto;max-height:55dvh}#review-feedback:empty{display:none}.review-toolbar #review-progress{font-size:.88rem}#review-approve{background:#24211d;color:#fff}

/* Keep natural proportions and controls inside a shared bounded review area. */
#video-preview{display:block;width:auto;height:auto;max-width:min(900px,100%);max-height:65dvh;object-fit:contain;margin:0 auto;background:#111}
#review-body{min-width:0;overflow-wrap:anywhere}#review{max-width:98vw}#video-preview[hidden]{display:none}
@media(max-width:600px){#video-preview{max-height:55dvh;max-width:100%}}
/* Long event/source option labels must not widen the mobile page. */
#filters label{min-width:0;max-width:100%}#filters select,#filters input{min-width:0;max-width:100%;width:100%}
