:root{--pad-border:#dce5df;--pad-ink:#214535;--pad-soft:#edf4ef}html{scroll-padding-top:90px}body{overscroll-behavior-y:none}button,input,select,textarea{touch-action:manipulation}button,.btn,.pill,.nav-item,.icon-button,.text-button,select{min-height:44px}input,select,textarea{font-size:16px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #659bd1;outline-offset:3px}button:disabled{opacity:.55;cursor:not-allowed}.sidebar{padding-top:calc(30px + env(safe-area-inset-top))}.topbar{padding-top:env(safe-area-inset-top)}.pad-sync{font-size:12px;color:#5e7868;max-width:180px}.pad-toolbar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:18px 0}.pad-toolbar label{display:flex;gap:8px;align-items:center}.pad-toolbar select{max-width:180px}.pad-budget{background:#edf4ef;border:1px solid #d4e3d9;padding:16px 20px;border-radius:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:22px}.pad-budget strong{color:#28583f}.pad-budget p{margin:3px 0;font-size:13px;color:#66816f}.pad-budget input{width:74px;padding:8px;border:1px solid #cad9cf;border-radius:8px}.pad-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.pad-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.pad-grid>*{min-width:0}.pad-stack{display:grid;gap:16px}.pad-notice{padding:12px 16px;background:#edf3f9;border-left:3px solid #809fb7;color:#496378;line-height:1.6;margin:14px 0}.pad-preview{width:100%;max-height:280px;object-fit:contain;background:#f2f5f2}.pad-history{border-top:1px solid var(--pad-border);padding:12px 0;font-size:14px}.pad-tag{display:inline-block;border:1px solid #d8e4dc;padding:3px 8px;border-radius:5px;margin:3px;font-size:12px}.pad-card-check{display:flex;align-items:center;gap:8px;margin-bottom:10px}.pad-card-check input{width:20px;height:20px}.pad-counts{display:flex;gap:20px;flex-wrap:wrap}.pad-counts b{font-size:26px;color:#367552}.pad-evidence{font-size:13px;line-height:1.7;color:#5c7064}.pad-chart{height:80px;display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid #d7e3da}.pad-chart div{flex:1;min-height:3px;background:#79a68c;border-radius:4px 4px 0 0;position:relative}.pad-chart small{position:absolute;bottom:-23px;width:100%;text-align:center;left:0;font-size:11px;white-space:nowrap}.pad-choice{display:flex;gap:12px;flex-wrap:wrap}.pad-choice label{padding:10px;border:1px solid #d4e0d8;border-radius:10px;display:flex;gap:8px;align-items:center}.pad-diagram{display:flex;gap:8px;padding:18px;background:#edf5ee;border-radius:12px;align-items:center;justify-content:center;font-size:24px}.pad-coach-task{display:grid;grid-template-columns:1fr auto;gap:10px;border-bottom:1px solid #e0e8e2;padding:12px 0}.pad-error{color:#a4493f;background:#fff3ef;padding:12px;border-radius:8px}dialog{max-height:calc(100dvh - 40px);overscroll-behavior:contain}dialog .modal-body{overflow-wrap:anywhere}.practice-prompt{font-size:26px;line-height:1.6}.knowledge-layout,.knowledge-content,.knowledge-detail,.knowledge-browser,.app-shell,main{min-width:0}.pad-form-note{font-size:13px;color:#6c8074;line-height:1.6}.pad-print{display:none}.pad-floating-stop{margin-top:20px;border-top:1px solid #dce5df;padding-top:14px}.pad-photo-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:12px 0}.pad-crop-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pad-crop-fields input{width:100%}.pad-coach-log{max-height:280px;overflow:auto}.pad-status-pill{padding:5px 9px;border-radius:8px;background:#edf4ef;color:#41644f;font-size:12px}
@media(min-width:760px) and (max-width:1200px){.sidebar{width:160px;padding-left:16px;padding-right:16px}.app-shell{margin-left:160px}.sidebar .side-note{display:none}.sidebar .brand{font-size:25px}main{padding:26px 24px 36px}.topbar{padding-left:24px;padding-right:24px}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.right-stack{display:grid;grid-template-columns:1fr 1fr;gap:18px}.right-stack .curve-panel{display:none}.hero{min-height:230px}.hero-art{width:170px;opacity:.8}.knowledge-layout{grid-template-columns:minmax(210px,.8fr) minmax(0,1.2fr)}.profile-grid{grid-template-columns:1fr 1fr}.page-head h1{font-size:29px}.page-head{gap:16px}.title-actions{flex-wrap:wrap}.review-grid{grid-template-columns:minmax(0,1fr) 260px}.brand small{font-size:11px}.sidebar-foot{font-size:11px}.design-link{font-size:11px}}
@media(min-width:760px) and (max-width:900px){.sidebar{width:98px;padding-left:10px;padding-right:10px}.app-shell{margin-left:98px}.brand{justify-content:center}.brand>span:last-child{display:none}.nav-caption,.sidebar .design-link,.sidebar-foot{display:none}.nav-item{flex-direction:column;gap:5px;padding:11px 4px}.nav-count{position:absolute;right:5px;top:5px}.nav-item{position:relative}.knowledge-layout{grid-template-columns:1fr}.review-grid{grid-template-columns:1fr}.right-stack{grid-template-columns:1fr 1fr}.page-head{align-items:flex-start}.date-label{display:none}.pad-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr 1fr}.hero-art{width:135px;right:10px}.hero-content{max-width:75%}}
@media(max-width:759px){.pad-grid,.right-stack,.profile-grid{grid-template-columns:1fr}.pad-sync{display:none}.header-actions{gap:6px}.pad-budget{padding:14px}.pad-toolbar{gap:8px}.pad-toolbar select{max-width:145px}.mobile-nav{padding-bottom:env(safe-area-inset-bottom)}main{padding-bottom:calc(100px + env(safe-area-inset-bottom))}dialog{max-height:calc(100dvh - 20px);width:calc(100% - 20px)}.pad-crop-fields{grid-template-columns:1fr 1fr}.practice-prompt{font-size:23px}.pad-counts{gap:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{body>*{display:none!important}body>.pad-print{display:block!important;margin:0;color:#111;background:white}.pad-print article{break-inside:avoid;border-bottom:1px solid #bbb;padding:18px 0}.pad-print img{max-width:100%;max-height:250px;object-fit:contain}.pad-print .answer-pages{break-before:page}.pad-print .print-space{height:100px}.pad-print h1{font-size:24px}.pad-print p{line-height:1.7}}
#dialog-content>.modal-body{padding:0 30px 28px}.dialog-body{overflow-wrap:anywhere}.pad-catalog{max-height:220px;overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:4px}.pad-catalog label{min-height:44px;display:flex;align-items:center;gap:8px;padding:6px;font-size:14px}.pad-catalog input{width:18px;height:18px}.pad-diff{display:grid;grid-template-columns:1fr 26px 1fr;gap:8px;padding:10px 0;border-bottom:1px solid #e0e8e2}.pad-diff span{line-height:1.7}@media(max-width:759px){#dialog-content>.modal-body{padding:0 20px 20px}.pad-catalog{grid-template-columns:1fr}}
.pad-choice input[type=radio],.pad-choice input[type=checkbox],.pad-card-check input[type=checkbox]{width:20px!important;height:20px!important;min-width:20px;min-height:20px;flex:0 0 20px;padding:0}.pad-choice label{flex:0 1 auto;min-width:130px;white-space:nowrap;min-height:48px}.sidebar .brand small{white-space:nowrap;font-size:10px}.pad-catalog input[type=checkbox]{min-height:18px;padding:0}@media(min-width:1100px) and (max-width:1200px){.dashboard-grid{grid-template-columns:minmax(0,1fr) 278px;gap:20px}.right-stack{display:flex;flex-direction:column;gap:20px}.hero{min-height:260px}.hero-art{width:135px;right:3px}.hero-content{max-width:80%}.hero h2{font-size:27px}.hero .button-row{flex-wrap:wrap}.progress-panel{flex-wrap:wrap}.right-stack .curve-panel{display:block}}@media(max-width:430px){.pad-choice label{min-width:125px;white-space:normal}}
.pad-count-row{display:flex;gap:14px;align-items:center;padding:12px;border-bottom:1px solid #dce5df}.pad-count-row strong{font-size:24px;min-width:32px}.pad-count-row span{color:#467851;font-size:21px;line-height:1.6;max-width:360px}.pad-low-diagram summary{padding:14px 0;min-height:44px;color:#45705b;cursor:pointer}.pad-large-text .question,.pad-large-text .task-info strong,.pad-large-text .mistake-text strong,.pad-large-text .k-node-name{font-size:20px!important}.pad-large-text p,.pad-large-text .subtle,.pad-large-text .pad-form-note,.pad-large-text .pad-evidence,.pad-large-text label,.pad-large-text .nav-item,.pad-large-text button,.pad-large-text select{font-size:18px!important;line-height:1.65}.pad-large-text .practice-prompt{font-size:30px}.pad-large-text .k-detail p{font-size:19px!important}
.pad-transfer-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:8px 0 18px}.pad-transfer-summary>div{background:#f4f8f5;border:1px solid #dce8de;border-radius:12px;padding:16px}.pad-transfer-summary span,.pad-transfer-summary small{display:block;color:#6c8074}.pad-transfer-summary strong{display:block;color:#28583f;font-size:16px;margin:5px 0}.pad-transfer-summary small{font-size:12px}@media(max-width:600px){.pad-transfer-summary{grid-template-columns:1fr}}
@media print{html,body{background:#fff!important;background-image:none!important;color:#222!important}.pad-print p,.pad-print h1,.pad-print h3{color:#222!important}.pad-print{min-height:100%;font-size:15px}}
.pad-ocr-candidates{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.pad-ocr-candidates .btn{min-width:90px;min-height:44px}
.icon-button,.avatar,.arrow-button,.close-button{min-width:44px!important;min-height:44px!important;width:44px;height:44px;flex-shrink:0}.task-row .btn{min-height:44px!important;min-width:44px!important}
body .btn,body .icon-button,body .avatar,body .arrow-button,body .nav-item{min-width:44px!important;min-height:44px!important}
.tb-version-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:15px 18px;margin-bottom:24px;border:1px solid #d6e3db;border-radius:12px;background:#edf4ef}.tb-version-bar label{font-weight:600}.tb-version-bar select{max-width:100%;padding:8px 12px;border:1px solid #c7d8cd;border-radius:8px;background:#fff;color:#315e45}.tb-version-bar>span{font-size:12px;color:#637e6a}.tb-intro{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #d8e4db;padding:16px 0 24px}.tb-intro h2{font-size:27px}.tb-intro p{color:#637d6c;font-size:14px}.tb-layout{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(0,1.2fr);gap:22px;margin-top:24px}.tb-entry{width:100%;display:flex;align-items:center;text-align:left;gap:12px;padding:17px 8px;border:0;border-bottom:1px solid #e2e9e4;background:transparent;color:#2c513c;min-height:76px}.tb-entry.selected{background:#ecf4ef;border-left:3px solid #4f8664}.tb-entry strong,.tb-related strong{display:block;font-weight:600}.tb-entry small,.tb-related small{display:block;font-size:12px;color:#7c877f;margin-top:4px}.tb-order{font-size:13px;color:#819689;min-width:24px}.tb-entry svg,.tb-related svg{width:19px;height:19px;flex-shrink:0;margin-left:auto}.tb-detail-heading{padding-bottom:18px;border-bottom:1px solid #dbe5de}.tb-detail-heading h2{font-size:26px;margin:15px 0 8px}.tb-detail-heading p{font-size:13px;color:#77857b}.tb-section{padding:20px 0;border-bottom:1px solid #e0e8e3}.tb-section h3{margin:0 0 12px}.tb-section p{line-height:1.8}.tb-section .pad-counts b{font-size:22px}.tb-related{display:flex;align-items:center;width:100%;min-height:60px;border:1px solid #d9e5dd;background:#f5f8f5;padding:12px;text-align:left;color:#375d44;margin:9px 0;border-radius:9px}@media(max-width:900px){.tb-layout{grid-template-columns:1fr}.tb-intro{align-items:flex-start;flex-direction:column}}@media(max-width:500px){.tb-version-bar{align-items:flex-start;flex-direction:column}.tb-version-bar select{font-size:14px;width:100%}.tb-intro h2{font-size:24px}}

/* Textbook lessons follow the existing calm, green learning workspace. */
.tb-lesson-picker{margin-top:20px}.tb-lesson-picker select,.tb-version-bar select{min-height:44px;width:100%}.tb-section li{line-height:1.8;margin-bottom:8px}.tb-example summary,.tb-section>summary{cursor:pointer;min-height:44px;padding:12px 0;font-weight:600}.tb-example{border-left:3px solid #6b947b;padding:0 14px;background:#f3f7f4}.tb-question-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tb-question-nav button{min-width:44px;min-height:44px}.tb-prompt{font-weight:600;font-size:18px;white-space:pre-wrap}.tb-practice .btn{min-height:44px;margin-top:8px}.tb-practice input[type=text],#tb-answer{min-height:48px;font-size:18px;width:100%}.tb-help-check{display:flex;align-items:center;gap:10px;min-height:44px}.tb-help-check input{width:22px;height:22px}.tb-feedback,.tb-hint{background:#eef5f0;border-left:3px solid #638d72;padding:16px;margin:16px 0;overflow-wrap:anywhere}.tb-feedback p{margin-bottom:8px}.tb-practice .button-row{flex-wrap:wrap}.tb-layout>*{min-width:0}.tb-section select{max-width:100%}.tb-section p,.tb-entry strong{overflow-wrap:anywhere}@media(min-width:901px){.tb-catalog{align-self:start}.tb-layout{grid-template-columns:minmax(240px,.65fr) minmax(0,1.35fr)}}

.question-figures { margin: 16px 0; display: grid; gap: 12px; }
.question-crop { display: block; width: 100%; height: auto; max-width: 900px; background: #fff; border: 1px solid var(--line, #d8ded4); border-radius: 8px; overflow: hidden; }
@media print { .question-crop { max-width: 100%; break-inside: avoid; } }
.question, .practice-prompt, .pad-print h3 { white-space: pre-wrap; }
.question-source:not([open]) .question-figures { display: none; }
.question-blank { display: inline-block; white-space: pre; }
.library-filters { margin: 0 0 16px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.library-filters .field { margin: 0; min-width: 0; }
#library-results { grid-template-columns: minmax(0,1fr); }
.library-card .card-meta { color: #707875; font-size: 12px; flex-wrap: wrap; }
.library-card-footer { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 16px; }
.library-annotations { display: flex; flex-wrap: wrap; gap: 6px 14px; min-width: 0; color: #707875; font-size: 12px; line-height: 1.6; }
.library-card-footer > button { flex-shrink: 0; }
.library-filters select { width: 100%; min-width: 0; }
#mobile-nav { grid-template-columns: repeat(6,minmax(0,1fr)); }
@media(max-width:650px) { .library-filters { grid-template-columns: repeat(2,minmax(0,1fr)); } #mobile-nav .nav-item { font-size: 10px; padding-inline: 2px; } }
.library-pick { display: flex; align-items: center; gap: 10px; color: #586862; font-size: 14px; margin-bottom: 12px; min-height: 44px; }
.library-pick input { width: 22px; height: 22px; }
@media print { .library-pdf h3 { font-weight: normal; line-height: 1.8; } .library-pdf article { break-inside: avoid; } .library-pdf .question-figures { max-width: 100%; } }

.library-tools { display: flex; align-items: center; gap: 4px; margin-left: auto; flex-shrink: 0; }
.library-tools .icon-button { width: 44px; height: 44px; padding: 12px; border: 0; background: transparent; }
.library-tools .icon-button svg { width: 19px; height: 19px; }
.library-selection-count { font-size: 12px; color: #707875; }
@media print { .pdf-answer,.pdf-explanation { white-space: pre-wrap; } .library-pdf .answer-pages { break-before: page; page-break-before: always; } }
#library-scope { display:flex; gap:8px; align-items:center; }
#library-scope select { min-height:44px; border:1px solid var(--line); border-radius:10px; padding:6px 10px; background:white; color:var(--ink); }
body.library-page { height:100dvh; overflow:hidden; }
.library-page .app-shell { height:100dvh; display:flex; flex-direction:column; }
.library-page .topbar { flex-shrink:0; }
.library-page .grade-picker,.library-page .app-footer { display:none; }
.library-page #main { flex:1; min-height:0; display:flex; flex-direction:column; padding-top:12px; padding-bottom:12px; }
.library-page .library-filters { display:flex; flex-wrap:nowrap; align-items:end; gap:10px; flex-shrink:0; padding:12px; margin-bottom:8px; overflow-x:auto; }
.library-page .library-filters .field { flex:1; min-width:110px; }
.library-page .library-tools { margin-left:0; gap:2px; }
.library-page .filter-bar { flex-shrink:0; margin:0 0 6px; }
.library-page #library-count { flex-shrink:0; margin-bottom:8px; }
.library-page #library-results { flex:1; min-height:0; overflow-y:scroll; overscroll-behavior:contain; scrollbar-gutter:stable; align-content:start; padding-right:8px; }
#library-results::-webkit-scrollbar { width:8px; }
#library-results::-webkit-scrollbar-thumb { background:#b3c4bc; border-radius:6px; }
@media(max-width:759px) { .library-page #main { padding-bottom:calc(90px + env(safe-area-inset-bottom)); } .library-page .breadcrumb,.library-page #help-button {display:none;} #library-scope select {max-width:110px;} .library-page .library-filters .field {min-width:95px;} }
@media print { body.library-page {height:auto;overflow:visible;} }
.library-card-actions { display:flex; gap:8px; flex-shrink:0; }
.manual-error-history { margin-top:20px; }
.manual-error-history p { white-space:pre-wrap; }
#manual-error-message { color:#a4493f; }
@media(max-width:650px) { .library-card-footer {flex-wrap:wrap;} .library-card-actions {margin-left:auto;} }
.manual-error-quick { display:flex; align-items:center; gap:2px; }
.manual-error-date { position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:44px; color:#707875; cursor:pointer; }
.manual-error-date svg { width:19px; height:19px; }
.manual-error-date input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.manual-error-date:focus-within { outline:2px solid #659bd1; border-radius:8px; }
.manual-error-quick .icon-button { border:0; background:transparent; padding:12px; }
.manual-error-quick .icon-button svg { width:19px; height:19px; }
/* Keep navigation titles in the top bar and reserve space for learning content. */
#main > .page-head .eyebrow,#main > .page-head h1,#main > .page-head p,#main > .page-head .date-label { display:none; }
#main > .page-head:not(:has(.title-actions)):not(:has(button)) { display:none; }
#main > .page-head { margin-bottom:12px; justify-content:flex-end; }
#main .panel { padding:16px; }
#main .mistake-card { padding:16px 20px; }
#main .mistake-card .question { min-height:0; margin:8px 0; }
#main .library-card-footer { margin-top:10px; }
.compact-mistake-row { display:flex; align-items:end; gap:8px; }
.compact-mistake-row .field { margin:0; flex:1; min-width:100px; }
.compact-mistake-controls .filter-bar { margin:8px 0; }
.compact-pick { display:flex; align-items:center; min-height:32px; }
.compact-pick input { width:20px; height:20px; }
.compact-management { margin-left:auto; position:relative; }
.compact-management summary { min-height:44px; display:flex; align-items:center; cursor:pointer; font-size:12px; color:#707875; }
.compact-management[open] { position:absolute; right:20px; top:70px; z-index:5; max-width:calc(100% - 40px); padding:12px; background:white; border:1px solid var(--line); border-radius:12px; box-shadow:var(--shadow); }
body.mistakes-page { height:100dvh; overflow:hidden; }
.mistakes-page .app-shell { height:100dvh; display:flex; flex-direction:column; }
.mistakes-page .topbar,.compact-mistake-controls { flex-shrink:0; }
.mistakes-page .app-footer { display:none; }
.mistakes-page #main { flex:1; min-height:0; display:flex; flex-direction:column; padding-top:12px; padding-bottom:12px; position:relative; }
.mistakes-page #mistake-results { flex:1; min-height:0; overflow-y:scroll; overscroll-behavior:contain; scrollbar-gutter:stable; align-content:start; padding-right:8px; grid-template-columns:minmax(0,1fr); }
@media(max-width:759px) { .mistakes-page #main { padding-bottom:calc(90px + env(safe-area-inset-bottom)); } .compact-mistake-row {flex-wrap:wrap;} }
@media print { body.mistakes-page {height:auto;overflow:visible;} }
.library-page #main,.mistakes-page #main { width:100%; margin:0 auto; }
.header-actions .grade-picker { display:none; }
#main .mistake-card { padding:12px 16px; }
#main .library-selecting-card { position:relative; padding-left:54px; }
.library-selecting-card .library-pick { position:absolute; left:6px; top:12px; width:40px; height:44px; margin:0; justify-content:center; }
#main .mistake-card .question { margin:5px 0; }
#main .library-card-footer { margin-top:6px; }
#library-results { gap:10px; }
.library-preview-dialog { width:min(1000px,calc(100vw - 24px)); max-width:1000px; }
.library-preview-actions { position:sticky; top:0; background:white; display:flex; justify-content:flex-end; gap:8px; padding:8px 0; z-index:1; }
.library-preview article { padding:14px 0; border-bottom:1px solid var(--line); }
.library-preview h3,.library-preview p { white-space:pre-wrap; line-height:1.8; }
.library-preview h3 { font-weight:500; }
.library-preview-answers { margin-top:18px; }
.library-preview-answers summary { cursor:pointer; min-height:44px; }
/* Keep the full page visible while choosing a precise recognition area. */
.camera-crop-stage{display:flex;justify-content:center;background:#edf1ef;border-radius:10px;padding:16px;overflow:hidden}
.camera-crop-image{position:relative;width:min(100%,calc(53dvh * var(--camera-aspect)));height:auto;max-width:100%;overflow:hidden;user-select:none}
.camera-crop-image>img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.camera-crop-box{position:absolute;border:3px solid #d63939;box-shadow:0 0 0 2000px #10292266;touch-action:none;cursor:move}
.camera-crop-label{position:absolute;top:5px;left:5px;padding:3px 6px;font-size:11px;color:#fff;background:#b52525;white-space:nowrap;pointer-events:none}
.camera-crop-box>button{position:absolute;width:44px;height:44px;padding:0;border:0;background:transparent;touch-action:none;cursor:nwse-resize}
.camera-crop-box>button:after{content:'';position:absolute;inset:14px;border:2px solid #fff;border-radius:50%;background:#d63939;box-shadow:0 1px 5px #0006}
.camera-crop-box>[data-crop-corner=nw]{left:-22px;top:-22px}.camera-crop-box>[data-crop-corner=ne]{right:-22px;top:-22px}.camera-crop-box>[data-crop-corner=sw]{left:-22px;bottom:-22px}.camera-crop-box>[data-crop-corner=se]{right:-22px;bottom:-22px}
.camera-crop-box:focus-visible,.camera-crop-box>button:focus-visible{outline:3px solid #185eaf;outline-offset:3px}
.camera-crop-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap;margin-top:14px}.camera-crop-actions .btn{min-height:44px}
.camera-progress-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.camera-progress-heading strong{font-size:15px}.camera-progress-heading>span{flex-shrink:0}
.camera-recognition-progress{display:block;width:100%;height:10px;border:0;border-radius:8px;overflow:hidden;background:#e3ece7;appearance:none;-webkit-appearance:none}.camera-recognition-progress::-webkit-progress-bar{background:#e3ece7;border-radius:8px}.camera-recognition-progress::-webkit-progress-value{background:#16816d;border-radius:8px}.camera-recognition-progress:indeterminate{background:linear-gradient(90deg,#e3ece7 0%,#e3ece7 30%,#16816d 50%,#e3ece7 70%,#e3ece7 100%);background-size:200% 100%;animation:camera-recognition-loading 1.8s linear infinite}.camera-recognition-progress:indeterminate::-webkit-progress-bar{background:transparent}
.camera-progress-steps{list-style:none;display:flex;justify-content:space-between;gap:6px;margin:12px 0;padding:0;font-size:12px;color:#7a8982}.camera-progress-steps [aria-current=step]{color:#116653;font-weight:600}.camera-progress-steps .done{color:#327c67}.camera-progress-steps .done:before{content:'✓ ';}
@keyframes camera-recognition-loading{from{background-position:100% 0}to{background-position:-100% 0}}
@media(prefers-reduced-motion:reduce){.camera-recognition-progress:indeterminate{animation:none}}
.camera-ocr-preview{width:100%;max-height:220px;object-fit:contain;background:#f2f5f2;border:1px solid #dce5df;border-radius:8px;margin:8px 0}
.camera-ocr-flags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.camera-ocr-flags span{background:#fff4d6;border:1px solid #ead38a;color:#7a5a12;padding:6px 10px;border-radius:6px;font-size:13px;line-height:1.4}
.intake-image-tools{gap:8px;margin:12px 0}.intake-image-tools .btn{min-height:44px}@media(max-width:600px){.intake-image-tools>span{flex-basis:100%}}
#app-settings{display:grid}
.library-tools [data-action=library-variants]{display:inline-flex;align-items:center;gap:5px;width:auto;padding:7px 9px;font-size:12px;white-space:nowrap}.library-tools .bank-variants-active{background:#147e6b!important;color:#fff!important;border-color:#147e6b}.library-tools button:disabled{opacity:.4;cursor:default}.bank-source-label{color:#657c72}.bank-progress-label{color:#14745f;font-weight:600}.library-page .library-filters .field{min-width:95px}.library-card-actions{flex-wrap:wrap}
