/* Presentation only: the camera/editor/upload module retains every ID and state. */
.scan-page{--primary:#b8cf96;--primary-ink:#263c27;--primary-hover:#c5dba8;--primary-soft:#eaf2df;--link:#326b26}
.scan-page .topbar{margin-bottom:15px}
.scan-page .scan-screen>.back{display:inline-flex;align-items:center;min-height:32px;margin:0 0 10px;color:var(--muted);font-size:13px;text-decoration:none}
.scan-page #scan-title{margin:0 0 10px;font-size:clamp(25px,7.8vw,32px);font-weight:600;line-height:1.2;letter-spacing:-1px;color:var(--ink)}
/* Тот же тёплый акцент, что и на главной. */
.scan-page #scan-title::after{content:none}
.scan-page #scan-sub{margin:0 0 20px;color:var(--muted);font-size:14px;line-height:1.65}
.scan-page #scan-cam{position:relative;width:100%;height:auto;aspect-ratio:1.12;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:24px;background:#eff1eb;box-shadow:none}
.scan-page #scan-cam[hidden]{display:none}
.scan-page #scan-mock{position:absolute;inset:0}
.scan-page #scan-cam .bracket{position:absolute;width:30px;height:30px;border:3px solid var(--brand-sage);border-radius:8px}
.scan-page #scan-cam .scan-capture-layout-43{border-right:0;border-bottom:0}
.scan-page #scan-cam .scan-capture-layout-44{border-left:0;border-bottom:0}
.scan-page #scan-cam .scan-capture-layout-45{border-right:0;border-top:0}
.scan-page #scan-cam .scan-capture-layout-46{border-left:0;border-top:0}
.scan-page .scan-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;color:#65765b;font-size:13px}
.scan-page .scan-placeholder img{display:block;width:48px;height:48px;opacity:.65}
.scan-page .scan-live-stack{gap:0;margin-top:18px}
/* Visible before permission is granted; inline display:none still hides it after capture. */
.scan-page #scan-live-actions{display:block}
.scan-page .scan-screen .btn{border-radius:16px;min-height:48px;font-weight:600;line-height:1.5;box-shadow:none}
.scan-page .btn-ghost{background:#fff;border:1px solid var(--line);color:var(--ink)}
.scan-page .btn-ghost:hover{background:#f4f6f1}
/* Основное действие — согласованная оранжевая капсула; статусные цвета независимы. */
.scan-page .btn-green{border:0;border-radius:999px;background:var(--action-bg,#FD5506);color:var(--action-ink,#fff)}
.scan-page .btn-green:hover{background:var(--action-hover,#e94c00)}
.scan-page .btn-green:disabled{background:#e8e7e1;color:#777870;opacity:1;cursor:wait}
.scan-page #scan-capture{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;min-height:56px;margin:0;font-size:17px;font-weight:600}
.scan-page #scan-capture::before{content:'';width:21px;height:21px;flex:0 0 21px;background:currentColor;mask:url(../img/home/camera.svg) center/contain no-repeat;-webkit-mask:url(../img/home/camera.svg) center/contain no-repeat}
.scan-page #scan-capture:disabled{background:#e8e7e1;color:#777870;cursor:wait;opacity:1}
.scan-page #scan-upload-live{margin:4px 0 0;border:0;background:transparent;color:var(--link,#326b26);font-size:15px}
.scan-page #scan-enable{color:var(--ink,#202936);background:#fff;border-color:var(--line)}
.scan-page #scan-enable:hover{background:var(--band)}
.scan-page #scan-frozen-actions{margin-top:16px}
.scan-page #scan-ok{min-height:54px;font-size:16px;margin:0 0 10px;border-radius:999px}
.scan-page .photo-actions{gap:9px}
.scan-page .photo-actions .btn{border:1px solid var(--line);background:#f4f6f1;color:var(--ink);font-size:13px}
.scan-page #scan-manual{margin:5px 0 0;border:0;background:transparent;color:var(--link,#326b26);font-size:14px}
.scan-page #scan-status:not(:empty){margin-top:12px;font-size:13px;line-height:1.65;color:var(--muted)}
.scan-page #scan-status.scan-error-visible{color:#761c1c}
.scan-page #seg-lab{margin:0;padding:0;border:0;border-radius:22px;background:transparent;box-shadow:none}
.scan-page #seg-lab[hidden]{display:none}
.scan-page #seg-lab .seg-image-wrap{border-radius:22px;background:#eff1eb;border:1px solid var(--line)}
.scan-page #seg-lab .seg-toolbar{background:rgba(32,41,54,.82);border-radius:13px}
.scan-page #seg-lab .seg-toolbar button{color:var(--ink);border-radius:9px}
.scan-page #seg-lab .seg-toolbar button[aria-pressed="true"]{background:var(--primary-soft,#eaf2df);border-color:#c9dbb4;color:var(--primary-ink,#263c27);box-shadow:inset 0 0 0 2px #a9c187}
.scan-page #seg-lab .seg-manual-tool .fa-hand-pointer{background:var(--ink)}
.scan-page #seg-status{font-size:12px;line-height:1.6;color:var(--muted)}
.scan-page #scan-draft-actions{border:1px solid var(--line);border-left:3px solid var(--brand-orange);border-radius:16px;background:#fffaf0;line-height:1.6}
.scan-page #scan-draft-actions .btn{background:var(--action-bg,#FD5506);border-radius:999px;color:var(--action-ink,#fff)}
.scan-page #scan-draft-actions .btn-ghost{background:transparent;border-radius:16px;color:var(--primary-ink,#263c27);border-color:var(--line)}
.scan-page #scan-busy{background:rgba(32,41,54,.78)}
.scan-page #scan-busy .spinner{border-top-color:#fdb532}
.scan-page .crop-dialog,.scan-page .camera-permission-dialog{background:var(--bg);border-radius:22px}
@media(max-width:340px){.scan-page #scan-sub{font-size:13px}.scan-page #scan-cam{aspect-ratio:1.15}.scan-page .photo-actions .btn{font-size:12px}}
@media(prefers-reduced-motion:reduce){.scan-page #scan-busy .spinner{animation-duration:1.8s}}
