:root{color-scheme:light;--paper:#fff;--canvas:#f4f8fd;--ink:#182b44;--muted:#445c77;--line:#b9cbe0;--surface:#eaf3ff;--main:#20548e;--main-ink:#fff;--error:#81351d;--error-surface:#fff1e6;--good:#16563f;--good-surface:#e5f5ec}
*{box-sizing:border-box}body{margin:0;font:16px/1.45 system-ui,"Segoe UI",sans-serif;background:var(--canvas);color:var(--ink)}
.mobile{width:min(100%,640px);min-height:100vh;min-height:100dvh;margin:0 auto;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
header{display:flex;align-items:center;gap:12px;background:var(--surface);color:var(--ink);border-bottom:1px solid var(--line);padding:14px 16px}
header strong{display:block;color:var(--ink);font-size:22px}header div span{display:block;color:var(--muted);font-size:14px}.logo{background:var(--main);color:var(--main-ink);border-radius:11px;width:38px;height:38px;display:grid;place-items:center;font-size:23px;font-weight:750}
#view{padding:16px;display:flex;flex-direction:column;gap:12px;flex:1}h1,h2,p{margin:0}h1{font-size:clamp(22px,6vw,30px);line-height:1.16}h2{font-size:19px}small,.small{font-size:14px;color:var(--muted)}
button,input,select{font:inherit;min-height:49px;border-radius:11px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:9px 11px;max-width:100%}
button{font-weight:650;line-height:1.2}button.primary{min-height:56px;background:var(--main);border-color:var(--main);color:var(--main-ink)}
button.link{background:transparent;border-color:transparent;color:var(--main)}button:disabled{color:var(--muted);background:var(--surface);border-color:var(--line)}
button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #2b619b;outline-offset:2px}
form,.card,.actions{display:grid;gap:9px}.actions{margin-top:auto}.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:12px}
.row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px}.pair,.quantities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quantities div{text-align:center;background:var(--surface);border-radius:14px;padding:12px 4px}.quantities b{font-size:clamp(38px,11vw,60px);line-height:1;display:block;font-variant-numeric:tabular-nums}
.badge{display:inline-block;border-radius:7px;padding:3px 7px;background:var(--surface);color:var(--ink);font-size:14px;font-weight:650}
progress{width:100%;height:9px;accent-color:var(--main)}.message{margin:10px 16px 0;padding:9px 11px;border-radius:9px;background:var(--surface);color:var(--ink)}
.warn{background:var(--error-surface);color:var(--error);padding:9px;border-radius:9px}.success{background:var(--good-surface);color:var(--good);padding:9px;border-radius:9px}
label{display:grid;gap:4px;font-weight:600;min-width:0}.choice{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:9px;background:var(--paper);padding:5px 9px}
.choice input{min-height:40px;accent-color:var(--main)}a{color:var(--main)}[hidden]{display:none!important}

.crew-more>summary{min-height:44px;padding:12px 4px;cursor:pointer;color:#214775;font-weight:600}.crew-more button{width:100%}

.ocr-photo{margin:0;padding:8px;background:#fff;border:1px solid #dce7e5;border-radius:8px}.ocr-photo figcaption{font-size:.83rem;margin-bottom:5px}.ocr-photo img{display:block;width:100%;height:auto;image-rendering:auto}

button { transition: background-color .12s, color .12s, transform .12s; touch-action: manipulation; }
button:not(:disabled):active, button[data-waiting] { background: #123965; color: #fff; transform: scale(.98); }
button[data-waiting] { pointer-events: none; }
.scan-progress { display: flex; align-items: center; gap: 9px; }
.scan-spin { width: 16px; height: 16px; border: 2px solid var(--line); border-top-color: var(--main); border-radius: 50%; animation: scan-spin .8s linear infinite; }
.found-route { text-align: left; }
@keyframes scan-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { button { transition: none; } .scan-spin { animation: none; } }

#voice-toggle { margin-inline-start: auto; min-height: 44px; padding: 6px 9px; font-size: 13px; }
#voice-toggle[aria-pressed="true"] { color: var(--good); background: var(--good-surface); }


.task-layout, .task-heading, .task-content { display: grid; gap: 12px; min-width: 0; }
.task-content h1 { overflow-wrap: anywhere; }
.task-layout > .actions { margin: 0; }

#crew-original { width: min(100% - 16px, 850px); max-height: calc(100% - 16px); padding: 0; border: 1px solid var(--line); border-radius: 14px; color: var(--ink); }
#crew-original::backdrop { background: rgb(24 43 68 / .65); }
#crew-original header { position: sticky; top: 0; z-index: 1; }
#crew-original header strong { font-size: 18px; }
.original-tools { display: flex; align-items: end; gap: 8px; padding: 8px; }
.original-tools label { flex: 1; font-size: 14px; }
.original-tools select { width: 100%; }
.original-image { overflow: auto; }
.original-image img { display: block; width: 100%; height: auto; }
.original-image img.zoomed { width: 180%; max-width: none; }

@media (orientation: landscape) and (min-width: 560px) {
 .mobile { width: min(100%, 1024px); padding-inline: env(safe-area-inset-left) env(safe-area-inset-right); }
 header { padding-block: 8px; }
 #view { padding-block: 10px; }
 .task-layout { grid-template-columns: minmax(0, 1fr) minmax(13rem, .8fr); gap: 8px 20px; align-items: start; }
 .task-heading { grid-column: 1 / -1; gap: 5px; }
 .task-content { gap: 8px; }
 .task-layout > .actions { position: sticky; top: 8px; gap: 5px; }
 .task-layout button.link { min-height: 44px; }
 .task-layout .quantities b { font-size: clamp(38px, 9vh, 60px); }
}

.photo-empty{display:flex;align-items:center;gap:.55rem;color:#415674;font-size:.88rem}
.photo-empty span{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:.5rem;background:#dceafe;color:#1a457c;font-weight:700}
.ocr-photo img{max-height:9rem;object-fit:contain}
button:disabled{opacity:.72}

#commands-toggle{font-size:.78rem;min-height:2.55rem;padding:.35rem .55rem}
@media(max-width:460px){.mobile>header{flex-wrap:wrap}.mobile>header>div{flex:1 0 45%}}

.review-scan{margin:8px 0}
.review-scan summary{cursor:pointer}
.review-image{max-width:100%;overflow:auto}
.review-image img{display:block;width:100%;height:auto}
.review-scan.scan-zoom .review-image img{width:220%;max-width:none}

.crew-brand img { display: block; width: 122px; height: auto; }

.mobile>header :is(#voice-toggle,#commands-toggle){height:44px;min-height:44px}
#commands-toggle[aria-pressed=true]{color:var(--good);background:var(--good-surface)}
.crew-action-row{align-items:end}
.crew-action-row label{flex:1;min-width:155px}
.crew-action-row :is(select,button){min-height:49px;height:49px}
