.printers-workspace{padding:24px;min-height:calc(100dvh - 100px)}
.printers-page{max-width:1080px;margin:0 auto}
.printers-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:22px}
.printers-heading h1{font-size:24px;font-weight:500;letter-spacing:-.5px;margin:0}
.printers-heading p{margin:6px 0 0;color:var(--muted);font-size:13px}
.printers-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:28px;align-items:start}
.printer-card{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:22px}
.printer-card-heading{display:flex;gap:12px;align-items:center}
.printer-card h2{font-size:16px;font-weight:500;margin:0 0 5px}
.printer-icon{background:#edf5e9;color:#357341;padding:10px;border-radius:10px;display:flex}
.printer-connection{color:var(--muted);font-size:12px}
.printer-connection.is-connected{color:#2f713d}
.printer-description{font-size:13px;line-height:1.7;color:var(--muted);margin:16px 0}
.printer-download{color:var(--brand-ink);font-size:12px;margin-left:12px;text-underline-offset:3px}
#printer-settings-form{border-top:1px solid var(--line);margin-top:20px;padding-top:18px;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:16px}
#printer-settings-form>label{display:grid;gap:7px;font-size:12px;color:var(--muted)}
#printer-settings-form select{width:100%;min-width:0;min-height:42px;font:inherit;font-size:13px;color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:7px;padding:9px}
#printer-settings-form>.printer-switch{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;color:var(--ink);font-size:13px}
.printer-switch input{width:18px;height:18px;margin:0;accent-color:#357341;flex:none}
.printer-switch small{display:block;color:var(--muted);font-size:11px;line-height:1.6;margin-top:4px}
.printer-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}
.printers-workspace .button{font-size:12px;min-height:40px;padding:9px 12px}
.printers-workspace button:disabled,.printers-workspace select:disabled{opacity:.5;cursor:not-allowed}
.printer-saved{grid-column:1/-1;margin:0;font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.printer-feedback,.printer-error{font-size:12px;line-height:1.6;margin:14px 0 0;padding:10px 12px;border-radius:7px;background:#edf5e9;color:#286235}
.printer-error{background:#fff3ed;color:#96452a}
.printer-guide{font-size:12px;line-height:1.8;color:var(--muted);margin-top:16px}
.printer-guide summary{cursor:pointer;color:var(--ink);padding:8px 0}
.printer-guide ol{padding-left:20px}.printer-guide li{margin-bottom:6px}
.printer-preview-panel{padding:12px 0;text-align:center}
.printer-preview-caption{display:flex;justify-content:space-between;max-width:302px;margin:0 auto 14px;color:var(--muted);font-size:11px}
.printer-preview-caption b{font-weight:500}
.printer-sample{max-width:100%;width:80mm;margin:auto;background:white;color:#202720;box-shadow:0 3px 12px #1028180c;outline:1px solid var(--line);font:12px/1.5 Arial,sans-serif;text-align:left}
.printer-sample.is-narrow{width:58mm}
.printer-sample .receipt{padding:4mm 8mm 10mm}
.printer-sample.is-narrow .receipt{padding:4mm 4mm 10mm}
.printer-sample .receipt-heading{text-align:center;margin-bottom:16px}
.printer-sample h2{font-size:18px;margin:0}
.printer-sample p{margin:8px 0}
.printer-sample hr{border:0;border-top:1px dashed #a0a5a0;margin:12px 0}
.printer-sample table{width:100%;border-collapse:collapse}
.printer-sample .receipt-amount{text-align:right;white-space:nowrap}
.printer-sample .receipt-row{display:flex;justify-content:space-between;align-items:center}
.printer-sample .receipt-total strong{font-size:18px}
.printer-preview-panel>p{font-size:11px;line-height:1.8;color:var(--muted);margin-top:16px}
@media(max-width:780px){.printers-workspace{padding:18px 14px}.printers-layout{grid-template-columns:1fr;gap:16px}.printer-card{padding:18px}.printers-heading h1{font-size:22px}}
@media(max-width:430px){#printer-settings-form{grid-template-columns:1fr}.printer-actions{flex-direction:column}.printer-download{display:inline-block;margin:12px 0 0}.printers-heading{align-items:start}.printers-workspace .button{min-height:44px}#printer-settings-form select{font-size:16px}}
.printer-certificate{margin-top:18px;padding:12px 14px;background:#f3f7f1;border:1px solid #e1e9dd;border-radius:12px;font-size:12px;line-height:1.5}.printer-certificate strong{color:#316b3a}.printer-certificate p{margin:4px 0 8px;color:#667085}.printer-certificate a{color:#316b3a;text-underline-offset:3px}.printer-certificate details{margin-top:9px;color:#667085}.printer-certificate code{display:block;overflow-wrap:anywhere;font-size:11px;margin-top:5px}

.print-load-frame { position:fixed;left:-10000px;top:0;width:1100px;height:1200px;border:0;pointer-events:none; }
.print-order-feedback { position:fixed;bottom:48px;left:50%;transform:translateX(-50%);z-index:10000;background:#edf5e9;color:#285d34;border:1px solid #b9d4b5;box-shadow:0 4px 18px #19271e15;border-radius:12px;padding:14px 18px;max-width:min(580px,calc(100% - 32px));font-size:13px;line-height:1.6; }
.print-order-feedback.is-error { background:#fff6ee;border-color:#dfbb99;color:#723c1e; }
.print-order-feedback a { font-weight:600;text-decoration:underline;white-space:nowrap; }
.print-order-feedback button { margin-left:12px;border:0;background:none;color:inherit;cursor:pointer;text-decoration:underline; }
.print-order-notices { position:fixed;bottom:48px;left:50%;transform:translateX(-50%);z-index:10000;width:min(580px,calc(100% - 32px));max-height:65vh;overflow:auto;display:grid;gap:8px; }
.print-order-notices:empty { display:none; }
.print-order-notices .print-order-feedback { position:static;transform:none;max-width:100%; }
.print-order-feedback strong,.print-order-feedback span { display:block; }
