/* Thermal printer — top-bar button, connect dialog, settings card */
.pr-chip{display:inline-flex;align-items:center;gap:7px;height:34px;padding:0 12px;border-radius:20px;border:1px solid var(--border);background:var(--glass);color:var(--text2);font:600 12px/1 inherit;font-family:inherit;cursor:pointer;position:relative;transition:.15s;}
.pr-chip:hover{transform:translateY(-1px);box-shadow:var(--shadow);}
.pr-chip i{width:7px;height:7px;border-radius:50%;background:#94A3B8;}
.pr-chip.on{color:var(--green-dark);background:var(--green-light);border-color:rgba(34,197,94,.35);} .pr-chip.on i{background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.25);}
.pr-chip.warn{color:#B45309;background:#FFFBEB;border-color:#F5D58B;} .pr-chip.warn i{background:#F59E0B;}
.pr-chip.busy i{background:#2563EB;animation:prPulse 1s ease-in-out infinite;}
@keyframes prPulse{50%{opacity:.25;transform:scale(1.5)}}
@media(max-width:560px){.pr-chip span{display:none;} .pr-chip{padding:0 10px;}}

.pr-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:12px 0;}
.pr-opt{display:flex;align-items:center;gap:12px;text-align:left;padding:13px 14px;border-radius:16px;border:2px solid var(--border);background:var(--glass);color:var(--text);font-family:inherit;cursor:pointer;transition:.15s;}
.pr-opt:hover:not(:disabled){border-color:#2563EB;transform:translateY(-1px);box-shadow:var(--shadow);}
.pr-opt.on{border-color:var(--green);box-shadow:0 0 0 4px rgba(34,197,94,.16);}
.pr-opt:disabled{opacity:.5;cursor:not-allowed;}
.pr-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#16A34A,#2563EB);flex-shrink:0;}
.pr-tx b{display:block;font-size:14px;} .pr-tx small{display:block;color:var(--text2);font-size:11.5px;line-height:1.35;margin-top:2px;font-weight:500;}

.pr-status{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 14px;border-radius:16px;border:1px solid var(--border);background:rgba(148,163,184,.1);margin:10px 0 4px;}
.pr-status>i{width:10px;height:10px;border-radius:50%;background:#94A3B8;flex-shrink:0;}
.pr-status b{display:block;font-size:13.5px;} .pr-status small{display:block;color:var(--text2);font-size:12px;margin-top:1px;}
.pr-status.on{background:var(--green-light);border-color:rgba(34,197,94,.35);} .pr-status.on>i{background:#22C55E;box-shadow:0 0 0 4px rgba(34,197,94,.25);}
.pr-status.warn{background:rgba(245,158,11,.12);border-color:rgba(245,158,11,.4);} .pr-status.warn>i{background:#F59E0B;}
.pr-btns{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap;}
.pr-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:4px 18px;margin-top:6px;}
.pr-grid .settings-row{align-self:end;}
.pr-err{margin:8px 0;padding:10px 12px;border-radius:12px;background:#FEF2F2;border:1px solid #FECACA;color:#B91C1C;font-size:12.5px;font-weight:600;}
.pr-note{display:flex;align-items:center;gap:7px;margin:10px 0 0;font-size:12.5px;color:var(--text2);} .pr-note.ok{color:var(--green-dark);} .pr-note b{color:inherit;}
.pr-help{margin-top:14px;border-top:1px dashed var(--border);padding-top:12px;font-size:12.5px;color:var(--text2);}
.pr-help summary{cursor:pointer;font-weight:700;color:var(--text);} .pr-help ul{margin:10px 0 0;padding-left:18px;line-height:1.6;} .pr-help li{margin-bottom:5px;}
html[data-theme="dark"] .pr-err{background:rgba(239,68,68,.12);border-color:rgba(248,113,113,.4);color:#FCA5A5;}
html[data-theme="dark"] .pr-chip.warn{background:rgba(245,158,11,.14);color:#FCD34D;border-color:rgba(245,158,11,.4);}
.section-title .svg-ic,.modal h3 .svg-ic{vertical-align:-3px;margin-right:7px;color:var(--green);}
html[data-theme="dark"] .pr-chip.on{color:#86EFAC;}

/* ---- v8: attractive connect-printer window ---- */
.pr-hero{display:flex;align-items:center;gap:14px;padding:16px;border-radius:20px;margin:-4px 0 14px;color:#fff;background:linear-gradient(135deg,#0F7A3D,#16A34A 55%,#2563EB);position:relative;overflow:hidden;}
.pr-hero::after{content:"";position:absolute;right:-30px;top:-40px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.14);}
.pr-hero-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.35);flex-shrink:0;position:relative;z-index:1;}
.pr-hero h3{margin:0 0 3px !important;font-size:18px !important;color:#fff;} .pr-hero p{margin:0;font-size:12.5px;line-height:1.4;opacity:.95;position:relative;z-index:1;} .pr-hero>div{position:relative;z-index:1;}
.pr-hero .svg-ic{color:#fff !important;margin:0 !important;vertical-align:middle;}
.pr-steps{list-style:none;display:flex;gap:8px;margin:0 0 14px;padding:0;}
.pr-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;padding:10px 6px;border-radius:14px;background:rgba(148,163,184,.12);border:1px solid var(--border);}
.pr-steps b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;color:#fff;background:linear-gradient(135deg,#16A34A,#2563EB);}
.pr-steps span{font-size:11.5px;font-weight:600;line-height:1.25;color:var(--text2);}
.pr-lbl{margin:4px 2px 0;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text2);}
.pr-modal-opts,.modal .pr-opts{grid-template-columns:1fr;}
.pr-opt{position:relative;}
.pr-opt .pr-tx{flex:1;min-width:0;}
.pr-tx b em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-left:8px;padding:2px 8px;border-radius:20px;color:#15803D;background:rgba(34,197,94,.16);vertical-align:1px;}
.pr-go{font-size:22px;line-height:1;color:var(--text2);opacity:.6;flex-shrink:0;} .pr-opt.on .pr-go{color:var(--green);opacity:1;}
.pr-ic.ble{background:linear-gradient(135deg,#2563EB,#4F46E5);} .pr-ic.usb{background:linear-gradient(135deg,#16A34A,#0F766E);} .pr-ic.serial{background:linear-gradient(135deg,#7C3AED,#2563EB);} .pr-ic.rawbt{background:linear-gradient(135deg,#F59E0B,#EA580C);}
.pr-tip{display:flex;align-items:center;gap:7px;margin:12px 0 0;font-size:12px;color:var(--text2);} .pr-tip .svg-ic{color:var(--green);margin:0 !important;}
.pr-scan{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:22px 12px 18px;margin-bottom:6px;border-radius:20px;background:rgba(37,99,235,.07);border:1px dashed rgba(37,99,235,.4);}
.pr-scan b{font-size:15.5px;} .pr-scan small{font-size:12.5px;color:var(--text2);line-height:1.5;}
.pr-radar{position:relative;width:96px;height:96px;display:grid;place-items:center;margin-bottom:6px;}
.pr-radar i{position:absolute;inset:0;border-radius:50%;border:2px solid #2563EB;opacity:0;animation:prRadar 2.4s ease-out infinite;} .pr-radar i:nth-child(2){animation-delay:.8s;} .pr-radar i:nth-child(3){animation-delay:1.6s;}
.pr-radar span{position:relative;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#16A34A,#2563EB);box-shadow:0 8px 22px -6px rgba(37,99,235,.7);}
.pr-radar .svg-ic{color:#fff !important;margin:0 !important;}
@keyframes prRadar{0%{transform:scale(.55);opacity:.7}100%{transform:scale(1.15);opacity:0}}
html[data-theme="dark"] .pr-tx b em{color:#86EFAC;background:rgba(34,197,94,.2);}
html[data-theme="dark"] .pr-scan{background:rgba(59,130,246,.12);}
@media(max-width:420px){.pr-steps span{font-size:10.5px;}.pr-hero{padding:14px;}}

/* ---- v10: bill design picker ---- */
.pd-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:8px;}
.pd-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:4px;text-align:left;padding:12px;border-radius:16px;border:2px solid var(--border);background:var(--glass);color:var(--text);font-family:inherit;cursor:pointer;transition:.15s;}
.pd-card:hover{border-color:#2563EB;transform:translateY(-1px);box-shadow:var(--shadow);}
.pd-card.on{border-color:var(--green);box-shadow:0 0 0 4px rgba(34,197,94,.16);}
.pd-card b{font-size:14px;} .pd-card b em{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-left:8px;padding:2px 8px;border-radius:20px;color:#15803D;background:rgba(34,197,94,.16);vertical-align:1px;}
.pd-card small{font-size:11.5px;line-height:1.35;color:var(--text2);font-weight:500;}
.pd-tick{position:absolute;right:10px;top:10px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--green);} .pd-tick:empty{display:none;} .pd-tick .svg-ic{color:#fff !important;margin:0 !important;}
.pd-sk{display:flex;flex-direction:column;gap:5px;width:100%;height:92px;padding:10px 12px;margin-bottom:6px;border-radius:10px;background:#fff;border:1px solid #E2E8F0;box-shadow:0 6px 14px -10px rgba(15,23,42,.5);overflow:hidden;}
.pd-sk i{display:block;border-radius:2px;background:#CBD5E1;height:4px;}
.pd-sk i.c{width:46%;height:6px;align-self:center;background:#475569;margin-bottom:2px;}
.pd-sk i.h,.pd-sk i.r{display:flex;justify-content:space-between;background:none;height:5px;} .pd-sk i.h b,.pd-sk i.r b{display:block;height:100%;border-radius:2px;background:#94A3B8;} .pd-sk i.h b:nth-child(1){width:28%;background:#475569;} .pd-sk i.h b:nth-child(2){width:14%;background:#475569;} .pd-sk i.h b:nth-child(3){width:22%;background:#475569;}
.pd-sk i.r b:nth-child(1){width:46%;} .pd-sk i.r b:nth-child(2){width:8%;} .pd-sk i.r b:nth-child(3){width:20%;}
.pd-sk i.n{width:55%;background:#64748B;} .pd-sk i.q{width:90%;height:3px;background:#CBD5E1;} .pd-sk i.s{background:#94A3B8;}
.pd-sk i.t{width:100%;height:9px;margin-top:auto;background:#0F172A;}
html[data-theme="dark"] .pd-card b em{color:#86EFAC;background:rgba(34,197,94,.2);}

.pr-err .pr-alt{display:block;margin-top:9px;}
.modal .pr-help{margin-top:12px;}
