/* Shared minimal interface. Source images always retain their aspect ratio. */
@font-face{font-family:"Noto Sans Khmer";src:url("fonts/NotoSansKhmer.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{--font-ui:"Segoe UI","Noto Sans Khmer",sans-serif;--font-data:"Segoe UI","Noto Sans Khmer",sans-serif;--canvas:#f7f8fa;--surface:#fff;--surface-raised:#fff;--surface-muted:#f4f6f8;--surface-strong:#edf1f4;--text:#19242e;--text-soft:#485866;--text-muted:#667782;--border:#e0e6eb;--border-strong:#b7c5cc;--primary:#086b67;--primary-hover:#075550;--primary-soft:#e7f3f0;--sidebar:#fff;--sidebar-raised:#eef5f3;--sidebar-text:#34434c;--sidebar-muted:#71808a;--accent:#086b67;--focus:#086b67;--sidebar-width:224px;--content-max:1720px;--shadow-sm:none;--shadow-md:none;--radius-lg:12px}
:root:lang(km){--font-ui:"Noto Sans Khmer","Segoe UI",sans-serif;--font-data:"Noto Sans Khmer","Segoe UI",sans-serif}
:root[data-resolved-theme="dark"]{--canvas:#141a20;--surface:#1b232b;--surface-raised:#212b34;--surface-muted:#202a33;--surface-strong:#29343d;--text:#eaf0f3;--text-soft:#c1ced7;--text-muted:#a1b1bd;--border:#33414c;--border-strong:#50616d;--primary:#83d9c9;--primary-hover:#aae9dd;--primary-soft:#203e39;--on-primary:#102f29;--sidebar:#192128;--sidebar-raised:#273a36;--sidebar-text:#dfebe8;--sidebar-muted:#a8b9b3;--accent:#83d9c9;--focus:#83d9c9}
body{font-family:var(--font-ui);font-size:14px;line-height:1.6}
:lang(km){line-height:1.8;letter-spacing:0}
button,input,select,textarea{font:inherit}input,select,textarea{border-radius:7px;min-height:44px;background:var(--surface)}
textarea{min-height:90px}input[type=checkbox],input[type=radio]{min-height:auto}
.app-sidebar{border-right:1px solid var(--border);padding:22px 14px;background:var(--sidebar)}
.brand-logo{width:38px;height:39px}.brand-copy strong{font-size:14px}.brand-copy small{font-size:10px;color:var(--sidebar-muted)}
.sidebar-header{padding:0 8px 20px}.main-nav{gap:5px}.main-nav a{min-height:44px;border-radius:7px;padding:9px 12px;font-size:14px;border-left:0}
.main-nav a[aria-current=page]{background:var(--primary-soft);color:var(--primary);box-shadow:none}
.nav-label{font-size:10px;color:var(--text-muted);margin:20px 12px 8px;letter-spacing:.07em}
.sidebar-footer{border-top:1px solid var(--border)}.user-card{border-top:0}.user-avatar{background:var(--primary-soft);color:var(--primary);width:32px;height:32px}.user-copy small{color:var(--text-muted)}
.page-shell{width:calc(100% - 64px);padding:18px 0 40px}.context-toolbar{margin-bottom:20px;min-height:40px}.context-toolbar .system-state{font-weight:600;color:var(--text-soft)}
.toolbar-actions{display:flex;align-items:center;gap:12px}.toolbar-actions .language-form{margin:0}.toolbar-actions select{min-height:36px;max-width:132px;padding:5px 28px 5px 10px;font-size:13px}.toolbar-actions label{margin:0}.toolbar-help{font-size:12px}
h1{font-size:clamp(25px,2.5vw,34px);line-height:1.3;letter-spacing:-.02em;font-weight:650}h2{font-size:19px;line-height:1.45;font-weight:650}h3{font-size:16px;font-weight:650}
.page-heading{align-items:center;margin-bottom:22px;gap:20px}.page-heading p{font-size:14px;max-width:760px}.eyebrow{font-weight:600;font-size:10px;letter-spacing:.06em;color:var(--text-muted)}.back-link{min-height:26px;margin-bottom:9px;font-size:13px}
.btn{min-height:42px;border-radius:7px;box-shadow:none;font-weight:600}.btn-primary{box-shadow:none}.btn:hover{transform:none;box-shadow:none}.btn-small{min-height:36px}
.panel,.kpi,.evidence-card,.workflow-strip{box-shadow:none;border-radius:10px}.panel{padding:22px;margin-bottom:22px}.panel-heading{margin-bottom:16px}.panel-heading p{font-size:13px}
.callout{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:7px;padding:12px 16px;background:var(--surface);font-size:13px}.callout p:last-child{margin-bottom:0}
.page-hero{display:block;padding:0;margin:0 0 24px;background:none;border:0;color:var(--text);box-shadow:none}.page-hero h1{font-size:34px;color:var(--text)}.page-hero p{color:var(--text-muted);max-width:720px}.hero-aside{display:none}.hero-copy .form-actions{margin-top:16px}
.kpi-grid{gap:14px;margin-bottom:22px}.kpi{padding:18px 20px;background:var(--surface);color:var(--text);border:1px solid var(--border)}.kpi strong{font-size:30px}.kpi.ink{background:var(--surface);color:var(--text)}.kpi small,.kpi.ink small{color:var(--text-muted)}
.workflow-strip{border:0;background:var(--surface-muted);padding:5px;gap:4px;margin-bottom:22px}.workflow-strip a{padding:10px 12px;border:0;border-radius:7px;gap:8px;min-width:0}.workflow-strip a.current{background:var(--surface);box-shadow:0 1px 3px #00000009;border:1px solid var(--border)}.workflow-strip a strong{width:24px;height:24px;font-size:11px}.workflow-strip a span{font-size:12px}.workflow-strip small{font-size:10px;margin-top:2px}
table th{font-size:12px;font-weight:600;background:var(--surface-muted)}table td,table th{padding:13px 14px}table{font-size:13px}.status,.risk-tag{font-size:11px;border-radius:5px;font-weight:600}
.narrow-page{max-width:960px}.form-panel>p.muted{font-size:12px}.setup-intro{display:flex;align-items:center;gap:10px;margin-bottom:20px;color:var(--text-muted);font-size:12px}.setup-intro span{padding:4px 10px;border:1px solid var(--border);border-radius:6px}.setup-intro .active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}
.input-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 22px}.input-field{display:flex;flex-direction:column;gap:6px;min-width:0}.input-field label{font-size:13px;font-weight:600}.input-field input,.input-field select,.input-field textarea{width:100%;min-width:0}.input-field small{font-size:12px;color:var(--text-muted);font-weight:400}.field-wide{grid-column:1/-1}.optional-mark{font-size:11px;font-weight:400;color:var(--text-muted);margin-left:8px}.required-mark{color:var(--primary)}.inline-add{font-size:12px;align-self:flex-start}.input-check{flex-direction:row;align-items:center}.input-check input{width:auto}
.form-section+.form-section{margin-top:24px}.form-section h2{font-size:15px;margin-bottom:18px}.optional-section{border-top:1px solid var(--border);padding-top:18px;margin-top:24px}.optional-section summary{cursor:pointer;font-weight:600;font-size:13px;padding:4px 0;color:var(--text-soft)}.optional-section[open]>summary{margin-bottom:20px}.optional-section .form-section{margin-top:0}.form-panel .form-actions{border-top:1px solid var(--border);padding-top:20px;margin-top:26px}
.calibration-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:22px}.calibration-layout .panel{min-width:0}.calibration-layout .form-panel{position:sticky;top:20px}.calibration-stage{min-height:0;background:#151d25}.calibration-source{font-size:12px}.calibration-source small{font-size:11px}.calibration-layout .stack-form{gap:16px}.calibration-layout .coordinate-editor{gap:8px}.coordinate-editor input{max-width:100%;width:100%}.calibration-layout .point-counter{padding:10px 12px}.calibration-layout .point-counter strong{font-size:16px}.calibration-help{margin-top:14px;font-size:12px;color:var(--text-muted)}
.processing-setup>form{min-width:0}.filter-bar{padding:14px 18px}.filter-bar .panel-heading{display:none}.filter-bar label{min-width:120px}.result-summary{font-size:12px}.evidence-grid.fast-review{grid-template-columns:1fr;gap:20px}.fast-review .evidence-card{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;overflow:hidden}.fast-review .evidence-image{height:auto;min-height:440px;aspect-ratio:16/10;width:100%;background:#e8ecef;align-self:stretch}.fast-review .evidence-image img{position:absolute;inset:0;object-fit:contain;width:100%;height:100%}.fast-review .evidence-body{padding:20px;min-width:0;border-left:1px solid var(--border)}.evidence-body h3{font-size:19px;margin:10px 0}.evidence-body p{font-size:12px;margin-bottom:10px}.quick-fields{grid-template-columns:1fr 1fr;gap:12px}.quick-fields label:first-child{grid-column:1/-1}.quick-fields label{font-size:12px}.quick-actions{gap:7px}.quick-actions .btn{padding:8px 12px;font-size:12px}.quick-actions .btn-primary{flex:1}.quick-review-form>input{font-size:12px}.review-source{overflow-wrap:anywhere;color:var(--text-muted)}
[data-route=review_queue] .page-heading{margin-bottom:14px}[data-route=review_queue] .page-heading h1{font-size:27px}[data-route=review_queue] .page-heading .eyebrow,[data-route=review_queue] .workflow-strip,[data-route=review_queue] .page-heading p{display:none}[data-route=review_queue] .callout{padding:9px 14px;margin-bottom:14px}[data-route=review_queue] .callout p{margin:0}
details>summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}footer{font-size:11px;padding:14px 24px}.public-page{background:var(--canvas)}.public-preferences{z-index:10}.login-card,.login-panel{box-shadow:none}
@media(min-width:1600px){.fast-review .evidence-card{grid-template-columns:minmax(0,1fr) 380px}.fast-review .evidence-image{min-height:520px}}
@media(min-width:1025px){.sidebar-close{display:none}}
@media(max-width:1200px){.page-shell{width:calc(100% - 40px)}.fast-review .evidence-card{grid-template-columns:minmax(0,1fr) 300px}.fast-review .evidence-image{min-height:390px}.calibration-layout{grid-template-columns:1fr}.calibration-layout .form-panel{position:static}.workflow-strip{overflow-x:auto}.workflow-strip a{min-width:116px}}
@media(max-width:1024px){.app-sidebar{width:270px}.mobile-topbar{background:var(--surface);border-bottom:1px solid var(--border)}.context-toolbar .system-state{display:none}.context-toolbar{justify-content:flex-end}.toolbar-help{display:none}.page-shell{padding-top:12px}.fast-review .evidence-card{grid-template-columns:minmax(0,1fr) 310px}.fast-review .evidence-image{min-height:420px}}
@media(max-width:760px){.page-shell{width:calc(100% - 28px)}.fast-review .evidence-card{grid-template-columns:1fr}.fast-review .evidence-image{aspect-ratio:4/3;min-height:0;height:auto}.fast-review .evidence-body{border-left:0;border-top:1px solid var(--border);padding:16px}.input-grid{grid-template-columns:1fr}.panel{padding:17px}.page-heading h1,.page-hero h1{font-size:27px}.context-toolbar{margin-bottom:12px}.toolbar-actions{gap:8px}.toolbar-actions select{max-width:135px}.setup-intro{flex-wrap:wrap}.filter-bar form{gap:10px}.filter-bar label{min-width:42%}.filter-bar button{width:100%}.kpi-grid{grid-template-columns:1fr 1fr}.kpi{padding:14px}.kpi strong{font-size:26px}.workflow-strip{display:flex}.calibration-layout{gap:0}.calibration-layout .form-panel{position:static}.legend{gap:10px;font-size:12px}.quick-actions .btn{min-height:44px}.brand-copy small{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.panel,.page-shell,.study-layout>*,.two-column>*{min-width:0}
.main-nav a{color:var(--sidebar-text)}.main-nav a:hover{color:var(--primary);background:var(--primary-soft)}.brand:hover{color:var(--sidebar-text)}.brand-logo{box-shadow:none}.sidebar-footer{background:transparent}
.input-field label .required-mark,.input-field label .optional-mark{display:inline}
.input-field>label{display:block}
.quick-actions .btn:not(.btn-primary){background:var(--surface-muted);color:var(--text);border:1px solid var(--border)}
[data-route=review_queue] .bulk-bar{position:static;margin-top:20px}
.toolbar-actions select,.quick-review-form>input{border:1px solid var(--border-strong);padding:9px 11px;color:var(--text);background:var(--surface)}

/* Compact evidence contact sheet; original images remain available on click. */
.evidence-grid.fast-review{grid-template-columns:repeat(auto-fill,minmax(min(290px,100%),1fr));gap:14px;align-items:start}
.fast-review .evidence-card{display:block;min-width:0}
.fast-review .evidence-image{display:block;height:160px;min-height:0;aspect-ratio:auto;position:relative}
.fast-review .evidence-body{padding:12px;border-left:0;border-top:1px solid var(--border)}
.fast-review .evidence-body h3{font-size:17px;margin:8px 0}
.fast-review .quick-fields{gap:8px}.fast-review .quick-actions .btn{padding:7px 9px}
.review-identity{padding:8px;background:var(--surface-muted);border-radius:6px;line-height:1.65;font-variant-numeric:tabular-nums}
.event-timestamp{font-weight:700;font-variant-numeric:tabular-nums}
.event-metadata{font-size:12px;margin:8px 0}.event-metadata summary{cursor:pointer;min-height:30px}
.event-metadata dl{margin:4px 0}.event-metadata dt{color:var(--text-muted)}.event-metadata dd{margin:0 0 6px;overflow-wrap:anywhere}
.live-model-panel .preview-stage{width:100%;max-width:960px;min-height:220px}
.live-model-panel .preview-stage img{max-height:540px}.live-model-panel .run-current{display:block}
.live-model-panel .run-preview{max-width:960px}.preview-health{display:block;margin:8px 0;font-weight:650}
.preview-runtime{overflow-wrap:anywhere}.preview-stage [hidden]{display:none!important}
