/* Functional refinements: quiet surfaces, explicit selection, stable viewport sizing. */
:root{--ui-scale:1;--radius:16px;--line:#dedee5;--shadow:0 2px 6px #00000003,0 12px 32px #00000003}
:root[data-theme=dark]{--line:#343438;--shadow:0 2px 6px #00000012,0 12px 32px #00000012}
.app-shell,.login-screen{min-height:calc(100dvh / var(--ui-scale))}.sidebar{height:calc(100dvh / var(--ui-scale));width:218px}.topbar{height:64px}main{min-height:calc(100dvh / var(--ui-scale) - 118px);padding-top:28px}.heading{margin-bottom:24px}.heading h1{font-size:28px;letter-spacing:-.8px;line-height:1.25}.heading .eyebrow{font-size:9px;color:var(--dim);margin-bottom:5px}.brand{font-size:22px}.topbar .user-menu{gap:18px}
.button{min-height:36px;padding:9px 15px;font-weight:600}.button:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb,var(--mint) 70%,transparent);outline-offset:3px}td{padding:13px 18px}th{padding:12px 18px;font-weight:600}.table-wrap tbody tr:nth-child(even){background:color-mix(in srgb,var(--panel2) 25%,transparent)}
.scale-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--dim)}.scale-caption .text-button{font-size:11px}.appearance-panel input[type=range]{width:100%;cursor:ew-resize;touch-action:none;outline-offset:5px}.appearance-panel input[type=range]:focus-visible{outline:2px solid var(--mint)}
.review-workspace .image-scroll{height:min(calc(65dvh / var(--ui-scale)),780px)}.review-workspace.expanded{inset:auto;left:12px;top:12px;width:calc(100vw / var(--ui-scale) - 24px);height:calc(100dvh / var(--ui-scale) - 24px)}
.summary-row{cursor:pointer;transition:background-color .15s ease}.summary-row:hover{background:color-mix(in srgb,var(--mint) 8%,var(--panel))!important}.summary-row.active{background:color-mix(in srgb,var(--mint) 14%,var(--panel))!important}.summary-row.active td:first-child{box-shadow:inset 3px 0 var(--mint)}.summary-pick{padding:4px 0;text-align:left;line-height:1.5;border:0;background:none;color:inherit;width:100%;font:inherit;cursor:pointer}.summary-pick:focus-visible{outline:2px solid var(--mint);outline-offset:5px;border-radius:3px}.summary-pick[aria-pressed=true]{color:var(--mint);font-weight:600}
#boxes-svg.highlighting .bbox:not(.summary-match){opacity:.16}#boxes-svg .bbox.summary-match{opacity:1;stroke:#0084ff;stroke-width:3.5;stroke-dasharray:none;fill:#0084ff38;filter:drop-shadow(0 0 1px white)}#boxes-svg .bbox.selected{stroke:#0084ff;fill:#0084ff40;stroke-width:3.5;filter:drop-shadow(0 0 1px white)}
.bbox{transition:opacity .15s ease,fill .15s ease}#clear-highlight{white-space:nowrap}.summary-heading{min-height:58px}.summary-heading .text-button{font-size:12px}.photo-rail{padding:11px;gap:8px}.photo-tab{transition:border-color .15s ease,box-shadow .15s ease}.photo-tab.active{box-shadow:0 0 0 2px color-mix(in srgb,var(--mint) 12%,transparent)}
:root[data-theme=light] .badge.done,:root[data-theme=light] .badge{background:#e9f4ed;color:#25643a}:root[data-theme=light] .badge.running,:root[data-theme=light] .badge.queued{background:#fff2d4;color:#775600}:root[data-theme=light] .badge.error{background:#fcecee;color:#a72b3d}:root[data-theme=light] .badge.draft{background:#ececf1;color:#666672}
:root[data-motion=off] *, :root[data-motion=off] *::before, :root[data-motion=off] *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
@media(max-width:760px){.sidebar{width:63px}.heading h1{font-size:23px}.review-workspace.expanded{left:4px;top:4px;width:calc(100vw / var(--ui-scale) - 8px);height:calc(100dvh / var(--ui-scale) - 8px)}.summary-heading{flex-wrap:wrap}.summary-heading select{min-width:140px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
