:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:#101114;background:#f3f4f6}*{box-sizing:border-box}body{margin:0}.wrap{max-width:900px;margin:auto;padding:28px 18px 60px}header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px}h1{font-size:40px;line-height:1;margin:5px 0 8px}.eyebrow{font-weight:800;letter-spacing:.12em;font-size:12px}.card{background:#fff;border:1px solid #e5e7eb;border-radius:18px;padding:20px;margin:14px 0;box-shadow:0 8px 24px rgba(0,0,0,.04)}label{display:block;font-weight:700;font-size:13px;margin:12px 0 7px}label span{font-weight:500;color:#777}input,textarea,select{width:100%;border:1px solid #d7d9df;border-radius:11px;padding:12px 13px;font:inherit;background:#fff}textarea{min-height:180px;resize:vertical}.grid3,.setup-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.setup-grid{grid-template-columns:repeat(2,1fr)}button{border:0;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{width:100%;font-size:18px;padding:17px;background:#101114;color:#fff}.secondary{background:#101114;color:#fff;margin-top:14px}.ghost{background:#fff;border:1px solid #ddd}.section-title{display:flex;justify-content:space-between;align-items:center}.section-title h2{margin:0}.printers{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:14px}.printer{display:flex;gap:12px;border:1px solid #e1e3e8;border-radius:14px;padding:14px;cursor:pointer}.printer input{width:auto}.printer strong{display:block}.meta{font-size:12px;color:#666;margin-top:5px}.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#9ca3af;margin-right:5px}.dot.online{background:#16a34a}.message{text-align:center;font-weight:700;margin-top:14px;min-height:24px}.message.ok{color:#15803d}.message.err{color:#b91c1c}details summary{font-weight:800;cursor:pointer}.empty{color:#777;padding:8px}@media(max-width:650px){header{align-items:center}h1{font-size:32px}.grid3,.setup-grid,.printers{grid-template-columns:1fr}.wrap{padding:18px 12px 40px}}
.muted{color:#666}.admin-row{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.inline{margin:0}.pending{display:grid;gap:12px;margin-top:14px}.pending-card{border:1px solid #e1e3e8;border-radius:14px;padding:14px}.pending-head{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}.badge{font-size:11px;font-weight:900;background:#fff7ed;color:#c2410c;border:1px solid #fed7aa;border-radius:999px;padding:5px 9px;height:max-content}.errtxt{color:#b91c1c}@media(max-width:650px){.admin-row{grid-template-columns:1fr}}
.grid2{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.linkbtn{display:inline-block;text-decoration:none;color:#101114;font-weight:800;padding:12px 16px;border-radius:12px}.hidden{display:none!important}.printer-admin label{margin-top:0}.enabled-badge{background:#ecfdf5;color:#047857;border-color:#a7f3d0}.disabled-badge{background:#fef2f2;color:#b91c1c;border-color:#fecaca}.job-table{display:grid;gap:0;border:1px solid #e5e7eb;border-radius:12px;overflow:hidden}.job-row{display:grid;grid-template-columns:1.25fr 2fr .6fr .8fr;gap:12px;padding:11px 12px;border-top:1px solid #eee;font-size:13px}.job-row:first-child{border-top:0}.job-head{background:#f8fafc}.status-printed{color:#15803d;font-weight:800}.status-failed{color:#b91c1c;font-weight:800}.status-pending,.status-printing{color:#b45309;font-weight:800}@media(max-width:650px){.grid2{grid-template-columns:1fr}.job-row{grid-template-columns:1fr 1fr}.job-head{display:none}}
.compact-card{display:grid;grid-template-columns:1fr 1fr;gap:18px}.receipt-meta div{display:flex;flex-direction:column;gap:4px}.receipt-meta span{font-size:11px;font-weight:800;letter-spacing:.08em;color:#6b7280}.receipt-meta strong{font-size:18px}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}.mode-tab{background:#f3f4f6;color:#374151;border:1px solid #e5e7eb}.mode-tab.active{background:#101114;color:#fff;border-color:#101114}.counter{display:flex;justify-content:space-between;color:#777;font-size:11px;font-weight:700;margin-top:6px}.picture-drop{border:1px dashed #cbd5e1;border-radius:12px;padding:16px;text-align:center;color:#64748b;margin-top:8px}.picture-preview{display:block;max-width:100%;max-height:420px;object-fit:contain;margin:14px auto;border-radius:12px;border:1px solid #e5e7eb;background:#fff}.hint{font-size:12px;color:#6b7280;margin-top:7px}@media(max-width:650px){.compact-card,.mode-tabs{grid-template-columns:1fr}}
