/* PlantMaster Pro v4.8 — Unified Scanner only */
.scanner-head{align-items:flex-end}.scanner-modes{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:9px;margin-bottom:16px}.scanner-modes button{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;align-items:center;gap:1px 9px;min-height:76px;padding:11px;text-align:left;background:linear-gradient(145deg,var(--pm-panel-2),var(--pm-panel));border-color:var(--pm-line)}.scanner-modes button i{grid-row:1/3;display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#071525;color:var(--brand-secondary);font-style:normal;font-size:21px}.scanner-modes button b{font-size:13px}.scanner-modes button small{color:var(--pm-muted);font-size:9px;line-height:1.2}.scanner-modes button.active{border-color:var(--brand-primary);background:linear-gradient(145deg,color-mix(in srgb,var(--brand-primary) 22%,var(--pm-panel-2)),var(--pm-panel));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brand-primary) 40%,transparent)}.scanner-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);gap:14px;align-items:start}.scan-stage{padding:18px}.scan-stage-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:14px}.scan-stage-head h2,.scan-stage-head p{margin:0}.scan-stage-head p{margin-top:4px;color:var(--pm-muted)}.secure-chip{padding:5px 9px;border:1px solid #167358;border-radius:99px;color:#6fe0b7;background:#08271f;font-size:9px;white-space:nowrap}.camera-frame{position:relative;min-height:340px;display:grid;place-items:center;overflow:hidden;border:1px solid #31516f;border-radius:16px;background:#02070d}.camera-frame video{width:100%;max-height:60vh;object-fit:cover}.camera-frame #qrFallback{width:100%}.scan-reticle{pointer-events:none;position:absolute;inset:17%;border:2px solid color-mix(in srgb,var(--brand-secondary) 75%,white);border-radius:17px;box-shadow:0 0 0 999px rgba(0,0,0,.22)}.scan-reticle span:before,.scan-reticle span:after{content:"";position:absolute;width:30px;height:30px;border-color:white}.scan-reticle span:before{left:-3px;top:-3px;border-left:4px solid;border-top:4px solid;border-radius:8px 0 0}.scan-reticle span:after{right:-3px;bottom:-3px;border-right:4px solid;border-bottom:4px solid;border-radius:0 0 8px}.scan-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.scan-actions button{min-height:42px}.scanner-field{display:grid;gap:5px;margin-top:13px;color:var(--pm-muted)}.scanner-field>div{display:grid;grid-template-columns:1fr auto;gap:7px}.scan-result-panel{position:sticky;top:88px;min-height:300px;padding:16px;border:1px solid color-mix(in srgb,var(--brand-primary) 38%,var(--pm-line));border-radius:var(--pm-radius);background:linear-gradient(145deg,var(--pm-panel-2),var(--pm-panel));box-shadow:var(--pm-shadow)}.scanner-empty{min-height:270px;display:grid;place-content:center;text-align:center;color:var(--pm-muted)}.scanner-empty i{font-style:normal;font-size:44px;color:var(--brand-secondary)}.scanner-empty b{color:var(--pm-text);font-size:17px}.scanner-empty p{max-width:300px}.scanner-result{display:grid;gap:12px}.result-heading{display:flex;align-items:center;gap:10px}.result-heading>div{min-width:0;flex:1}.result-heading small{color:var(--brand-secondary);text-transform:uppercase;font-size:9px;letter-spacing:.1em}.result-heading h3{margin:2px 0;overflow-wrap:anywhere}.result-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:color-mix(in srgb,var(--brand-primary) 25%,#06111e);font-size:23px}.confidence{padding:5px 8px;border:1px solid #45617d;border-radius:99px;color:#bcd0e4;font-size:9px;white-space:nowrap}.confidence.high{color:#65e2b4;border-color:#16845c}.confidence.unknown{color:#ffd477;border-color:#956710}.scanner-result dl{margin:0}.result-section{padding-top:10px;border-top:1px solid var(--pm-line)}.result-section h4{margin:0 0 7px}.result-section pre{max-height:230px;overflow:auto;white-space:pre-wrap;padding:9px;background:#061321;border-radius:10px;color:var(--pm-text)}.result-section ul,.result-section ol{margin:6px 0;padding-left:20px}.result-section.safety{padding:11px;border:1px solid #866412;border-left:4px solid var(--pm-warn);border-radius:10px;background:#291e07}.scan-result-actions{display:flex;flex-wrap:wrap;gap:7px}.scanner-processing,.scanner-error{min-height:270px;display:grid;place-content:center;text-align:center}.scanner-processing .spinner{margin:auto}.qr-maker{display:grid;grid-template-columns:minmax(220px,1fr) minmax(300px,1.5fr) 240px;gap:14px;align-items:center;margin-top:14px}.qr-maker h2,.qr-maker p{margin:0}.qr-maker-controls{display:grid;grid-template-columns:1fr auto auto;gap:7px}.qr-maker #scannerQrOutput{display:grid;place-items:center;min-height:90px}.qr-maker #scannerQrOutput img,.qr-maker #scannerQrOutput canvas{max-width:150px!important;max-height:150px!important}.page-preview,.vision-preview{min-height:380px;display:grid;place-items:center;overflow:hidden;border:1px solid #31516f;border-radius:15px;background:#02070d}.vision-preview>img{max-width:100%;max-height:62vh;object-fit:contain}.image-meta{position:absolute;align-self:end;margin:10px;padding:5px 9px;border-radius:8px;background:#000b;color:white;font-size:10px}.page-preview{display:block}.page-strip{display:flex;gap:7px;padding:8px;overflow-x:auto;border-bottom:1px solid var(--pm-line)}.page-strip button{display:grid;min-width:78px;padding:5px}.page-strip button.active{border-color:var(--brand-primary)}.page-strip img{width:68px;height:68px;object-fit:cover;border-radius:6px}.active-page{height:430px;display:grid;place-items:center;padding:10px}.active-page img{max-width:100%;max-height:100%;object-fit:contain}.file-preview{display:grid;place-items:center;gap:5px}.file-preview i{font-style:normal;font-size:48px}.source-list{display:grid;gap:8px}.saved-result{position:static;max-width:900px;margin:auto}.guide-steps{padding:5px}.scanner-layout+.card{margin-top:14px}#scannerGuide{width:min(760px,94vw);padding:18px}.scanner-head .actions{margin:0}
body[data-theme="light"] .scanner-modes button,body[data-theme="light"] .scan-result-panel,body[data-theme="light"] .qr-maker{background:linear-gradient(145deg,#fff,#f4f8fc)}body[data-theme="light"] .scanner-modes button i,body[data-theme="light"] .result-section pre{background:#e7f0f8}body[data-theme="light"] .scanner-empty b,body[data-theme="light"] .result-section pre{color:var(--pm-text)}
@media(max-width:1050px){.scanner-modes{grid-template-columns:repeat(3,1fr)}.scanner-layout{grid-template-columns:1fr}.scan-result-panel{position:static}.qr-maker{grid-template-columns:1fr 1fr}.qr-maker #scannerQrOutput{grid-column:1/-1}}
@media(max-width:650px){.scanner-head{display:block}.scanner-head .actions{margin-top:10px}.scanner-modes{display:flex;overflow-x:auto;padding-bottom:4px}.scanner-modes button{min-width:145px}.scan-stage{padding:13px}.camera-frame{min-height:290px}.scan-reticle{inset:18% 12%}.scan-actions{display:grid;grid-template-columns:1fr 1fr}.scan-actions button{min-width:0;font-size:11px}.page-preview,.vision-preview{min-height:300px}.active-page{height:340px}.qr-maker{grid-template-columns:1fr;padding:14px}.qr-maker-controls{grid-template-columns:1fr 1fr}.qr-maker-controls input{grid-column:1/-1}.qr-maker #scannerQrOutput{grid-column:auto}.scan-result-panel{padding:13px}.result-heading{align-items:flex-start}.scanner-layout{gap:10px}}
/* v4.9.6 automatic completion and scanner result page */
.scanner-result-page{display:grid;gap:12px}.scanner-complete-banner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;border:1px solid #16815d;border-radius:15px;background:linear-gradient(145deg,#0b2c24,var(--pm-panel))}.scanner-complete-banner small{color:#6fe0b7;font-size:9px;letter-spacing:.12em}.scanner-complete-banner h2,.scanner-complete-banner p{margin:2px 0}.scanner-complete-banner p{color:var(--pm-muted)}.scanner-complete-banner>div:last-child{display:flex;gap:7px}.scanner-result-full{display:block!important;position:static!important;width:100%;min-height:240px;margin:0;padding:17px;overflow:visible}.scanner-result-full .scanner-result{max-width:1000px;margin:auto}.scanner-result-full .result-section pre{max-height:none}.scanner-processing h3,.scanner-processing p{margin:5px 0}
@media(max-width:650px){.scanner-complete-banner{display:grid;padding:12px}.scanner-complete-banner>div:last-child{display:grid;grid-template-columns:1fr 1fr}.scanner-result-full{padding:12px}.scanner-result-page{scroll-margin-top:76px}}
