.scan-page .scan-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);align-items:start;gap:16px;display:grid}@media (max-width:860px){.scan-page .scan-grid{grid-template-columns:1fr}}.scan-page .panel h2{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);margin:6px 0 4px;font-size:19px;font-weight:700}[dir=rtl] .scan-page .panel h2{letter-spacing:0;font-family:var(--font-arabic)}.scan-page .panel .help{color:var(--color-text-muted);margin:0 0 16px;font-size:13.5px}[dir=rtl] .scan-page .panel .help{font-family:var(--font-arabic)}.scan-page .field{margin-block-end:16px}.scan-page .field label{color:var(--color-text-muted);margin-block-end:9px;font-size:13px;font-weight:600;display:block}[dir=rtl] .scan-page .field label{font-family:var(--font-arabic)}.scan-page .input{background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--r-md);align-items:center;gap:10px;padding:14px 16px;transition:border-color .2s;display:flex}.scan-page .input:focus-within{border-color:var(--color-accent-line)}.scan-page .input.err{border-color:var(--color-fail)}.scan-page .input svg{width:18px;height:18px;color:var(--color-text-dim);flex:none}.scan-page .input input{min-width:0;color:var(--color-text-primary);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:15.5px}.scan-page .input input::placeholder{color:var(--color-text-dim)}.scan-page .input .pfx{font-family:var(--font-mono);color:var(--color-text-dim);font-size:14px}.scan-page .field-err{color:var(--color-fail);margin-block-start:7px;font-size:12.5px}.scan-page .pcards{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:520px){.scan-page .pcards{grid-template-columns:1fr}}.scan-page .pcard{text-align:start;color:var(--color-text-primary);background:var(--color-card);border:1px solid var(--color-border-soft);border-radius:var(--r-card-lg);cursor:pointer;transition:border-color .2s, transform .25s var(--ease);font:inherit;align-items:flex-start;gap:11px;inline-size:100%;padding:13px;display:flex}.scan-page .pcard:hover{transform:translateY(-2px)}.scan-page .pcard.sel{border-color:var(--color-accent);background:var(--color-accent-soft)}.scan-page .pcard .pic{border-radius:var(--r-sm);background:var(--color-bg-wash);border:1px solid var(--color-border-soft);width:30px;height:30px;color:var(--color-text-muted);flex:none;place-items:center;display:grid}.scan-page .pcard.sel .pic{border-color:var(--color-accent-line);color:var(--color-accent-hover);background:0 0}.scan-page .pcard .pic svg{width:16px;height:16px}.scan-page .pcard .pn{font-size:14px;font-weight:600}.scan-page .pcard .pd{color:var(--color-text-muted);margin-block-start:3px;font-size:12px;line-height:1.4}[dir=rtl] .scan-page .pcard .pd{font-family:var(--font-arabic)}.scan-page .pcard .tick{width:17px;height:17px;color:var(--color-accent-hover);opacity:0;flex:none;margin-inline-start:auto}.scan-page .pcard.sel .tick{opacity:1}.scan-page .chips{flex-wrap:wrap;gap:10px;display:flex}.scan-page .chip{font:inherit;color:var(--color-text-muted);background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--r-pill);cursor:pointer;align-items:center;gap:9px;padding:9px 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}[dir=rtl] .scan-page .chip{font-family:var(--font-arabic)}.scan-page .chip .bx{border:1.5px solid var(--color-border-strong);color:#0000;border-radius:5px;place-items:center;width:16px;height:16px;display:grid}.scan-page .chip.on{color:var(--color-text-primary);border-color:var(--color-accent-line);background:var(--color-accent-soft)}.scan-page .chip.on .bx{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-fg)}.scan-page .chip .bx svg{width:11px;height:11px}.scan-page .sec{margin-block-end:18px}.scan-page .scanbtn{font:inherit;border-radius:var(--r-md);cursor:pointer;background:var(--color-accent);color:var(--color-accent-fg);inline-size:100%;transition:background .2s, transform .3s var(--ease);border:1px solid #0000;justify-content:center;align-items:center;gap:9px;padding:14px 24px;font-size:15.5px;font-weight:600;display:inline-flex}[dir=rtl] .scan-page .scanbtn{font-family:var(--font-arabic)}.scan-page .scanbtn:hover{background:var(--color-accent-deep)}.scan-page .scanbtn:disabled{opacity:.45;cursor:default}.scan-page .scanbtn svg{width:16px;height:16px}.scan-page .scan-prog{gap:8px;margin:18px 0 10px;display:flex}.scan-page .scan-prog .leg{flex:1}.scan-page .scan-prog .leg .bar{border-radius:var(--r-pill);background:var(--track);height:6px;overflow:hidden}.scan-page .scan-prog .leg .bar i{height:100%;background:var(--color-accent);border-radius:var(--r-pill);inline-size:0;transition:inline-size .5s var(--ease);display:block}.scan-page .scan-prog .leg.done .bar i{inline-size:100%}.scan-page .scan-prog .leg.active .bar i{inline-size:100%;animation:scanPulse 1.1s var(--ease) infinite}.scan-page .scan-prog .leg .lbl{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-dim);margin-block-start:7px;font-size:10.5px}[dir=rtl] .scan-page .scan-prog .leg .lbl{letter-spacing:0;font-family:var(--font-arabic)}.scan-page .scan-prog .leg.active .lbl,.scan-page .scan-prog .leg.done .lbl{color:var(--color-accent-hover)}@keyframes scanPulse{0%,to{opacity:1}50%{opacity:.4}}.scan-page .prog-head{align-items:center;gap:10px;display:flex}.scan-page .prog-head .spin{width:18px;height:18px;color:var(--color-accent-hover);animation:.9s linear infinite scanSpin}@keyframes scanSpin{to{transform:rotate(360deg)}}.scan-page .prog-title{color:var(--color-text-primary);font-size:15px;font-weight:600}.scan-page .prog-sub{color:var(--color-text-muted);margin-block-start:4px;font-size:13px}.scan-page .scan-done{text-align:center;padding:8px 0}.scan-page .scan-done .big{font-family:var(--font-display);letter-spacing:-.02em;color:var(--color-text-primary);font-size:34px;font-weight:800}.scan-page .scan-done .big .of{color:var(--color-text-dim);font-size:18px;font-weight:600}.scan-page .scan-done .row{flex-wrap:wrap;justify-content:center;gap:10px;margin-block-start:16px;display:flex}.scan-page .scan-hist-row{border-block-end:1px solid var(--color-border-soft);align-items:center;gap:12px;padding:12px 0;display:flex}.scan-page .scan-hist-row:last-child{border-block-end:0}.scan-page .scan-hist-row .when{font-family:var(--font-mono);color:var(--color-text-dim);min-inline-size:84px;font-size:12px}.scan-page .scan-hist-row .sc{min-inline-size:38px;font-size:15px;font-weight:700}.scan-page .scan-hist-row .sc.pass{color:var(--color-pass)}.scan-page .scan-hist-row .sc.partial{color:var(--color-partial)}.scan-page .scan-hist-row .sc.fail{color:var(--color-fail)}.scan-page .scan-hist-row .meta{min-inline-size:0;color:var(--color-text-muted);flex:1;font-size:12.5px}.scan-page .scan-hist-row a{color:var(--color-accent-hover);white-space:nowrap;font-size:12.5px;font-weight:600;text-decoration:none}.scan-page .hist-empty{color:var(--color-text-dim);padding:14px 0;font-size:13.5px}.scan-page .upsell{background:var(--color-bg-wash);border:1px solid var(--color-border-soft);border-radius:var(--r-md);text-align:center;padding:18px}.scan-page .upsell .ut{color:var(--color-text-primary);font-size:15.5px;font-weight:700}.scan-page .upsell .ub{color:var(--color-text-muted);margin:6px 0 14px;font-size:13px;line-height:1.5}.scan-page .upsell .urow{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.scan-page .ucta{font:inherit;border-radius:var(--r-pill);cursor:pointer;background:var(--color-accent);color:var(--color-accent-fg);border:1px solid #0000;align-items:center;gap:7px;padding:10px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.scan-page .ucta.ghost{color:var(--color-text-muted);border-color:var(--color-border-strong);background:0 0}.scan-page .bulk-toggle{font:inherit;color:var(--color-accent-hover);cursor:pointer;background:0 0;border:0;margin-block-start:14px;padding:0;font-size:13px;font-weight:600}.scan-page .bulk textarea{resize:vertical;background:var(--color-card);border:1px solid var(--color-border-strong);border-radius:var(--r-md);min-block-size:96px;inline-size:100%;color:var(--color-text-primary);font:inherit;margin-block-start:10px;padding:12px 14px;font-size:14px}.scan-page .bulk textarea:focus{border-color:var(--color-accent-line);outline:0}.scan-page .bulk .bulk-status{color:var(--color-text-muted);flex-direction:column;gap:6px;margin-block-start:10px;font-size:12.5px;display:flex}.scan-page .bulk .bulk-skip{color:var(--color-partial)}.scan-page .inline-err{color:var(--color-fail);margin-block-start:10px;font-size:13px}
