.printer-setup-card{margin-bottom:18px}.printer-setup-head{margin-bottom:12px}.printer-route-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.printer-route{border:1px solid var(--border);border-radius:16px;padding:14px;background:var(--panel-soft,rgba(255,255,255,.025))}.printer-route.route-ok{box-shadow:inset 0 0 0 1px rgba(70,190,120,.12)}.printer-route.route-warn{box-shadow:inset 0 0 0 1px rgba(230,170,70,.16)}.printer-route-kicker{font-size:.72rem;font-weight:800;letter-spacing:.12em;opacity:.65}.printer-route h4{margin:6px 0 4px;font-size:1.05rem}.printer-route p{margin:0 0 10px;color:var(--muted);font-size:.88rem}.printer-route-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}.printer-route-tags span{border:1px solid var(--border);border-radius:999px;padding:4px 8px;font-size:.75rem}.printer-route dl{margin:0;display:grid;gap:6px}.printer-route dl div{display:flex;justify-content:space-between;gap:12px;font-size:.84rem}.printer-route dt{color:var(--muted)}.printer-route dd{margin:0;font-weight:700;text-align:right}.printer-setup-status{margin-top:12px;padding:12px 14px;border-radius:14px;display:grid;gap:4px;border:1px solid var(--border)}.printer-setup-status.good{background:rgba(70,190,120,.08)}.printer-setup-status.warn{background:rgba(230,170,70,.09)}.printer-setup-status span{font-size:.88rem;color:var(--muted)}.printer-setup-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.printer-test-stage{position:fixed;inset:0;z-index:9999;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:18px;overflow:auto}.printer-test-shell{width:min(720px,100%);max-height:94vh;overflow:auto;background:var(--panel,#111827);border:1px solid var(--border);border-radius:18px;padding:16px}.printer-test-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.printer-test-head>div{display:grid;gap:2px}.printer-test-head span{font-size:.84rem;color:var(--muted)}.printer-test-paper{width:80mm;min-height:120mm;box-sizing:border-box;margin:0 auto;background:white;color:black;padding:4mm;font:12px/1.35 "Courier New",monospace;white-space:pre-wrap;overflow-wrap:normal;border-radius:3px;box-shadow:0 10px 30px rgba(0,0,0,.35)}.printer-test-actions{margin-top:12px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.printer-test-actions p{flex-basis:100%;margin:4px 0 0;color:var(--muted);font-size:.82rem}@media(max-width:760px){.printer-route-grid{grid-template-columns:1fr}.printer-test-stage{padding:6px}.printer-test-shell{border-radius:12px;padding:10px}.printer-test-paper{max-width:100%;width:80mm}}@media print{body.printer-test-printing *{visibility:hidden!important}body.printer-test-printing .printer-test-stage,body.printer-test-printing .printer-test-stage .printer-test-paper,body.printer-test-printing .printer-test-stage .printer-test-paper *{visibility:visible!important}.printer-test-stage{position:absolute!important;inset:0!important;padding:0!important;background:white!important;display:block!important}.printer-test-shell{width:auto!important;max-height:none!important;overflow:visible!important;background:white!important;border:0!important;border-radius:0!important;padding:0!important}.printer-test-paper{position:absolute;left:0;top:0;width:76mm;min-height:0;margin:0;padding:2mm;box-shadow:none;border-radius:0;font:10pt/1.2 monospace;white-space:pre-wrap}.no-print{display:none!important}@page{margin:2mm}}
