.printer-status{padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--bg);font-weight:700;overflow-wrap:anywhere}
.printer-status[data-connected="true"]{border-color:#70a58c;color:#25714f}
.printer-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.printer-advanced{border:1px solid var(--line);border-radius:10px;padding:12px;grid-column:1/-1}
.printer-advanced summary{cursor:pointer;font-weight:700;margin-bottom:8px}
.receipt-preview{max-height:48vh;overflow:auto;background:#e9e9e9;padding:14px;border:1px solid #ccc;border-radius:10px;margin-top:12px;color:black}
.receipt-preview .receipt{max-width:100%;width:280px;background:white;color:black;padding:14px;margin:auto;font:700 12px/1.4 Arial,sans-serif;overflow-wrap:anywhere}
.receipt-preview .receipt.mm58{width:210px}.receipt-preview h1,.receipt-preview h2,.receipt-preview .receipt-brand,.receipt-preview .receipt-foot{text-align:center}
.receipt-preview h1{font-size:21px;margin:0 0 5px}.receipt-preview .receipt-logo{max-width:110px;max-height:100px;display:block;margin:auto}
.receipt-preview table{width:100%;border-collapse:collapse}.receipt-preview td,.receipt-preview th{padding:5px 2px;border-bottom:1px dashed;vertical-align:top;text-align:left}
.receipt-preview td:last-child,.receipt-preview th:last-child{text-align:right}.receipt-preview small{display:block}
.receipt-preview .receipt-summary-row,.receipt-preview .receipt-grand-total{display:flex;justify-content:space-between;gap:10px;margin:6px 0}
.receipt-preview .receipt-grand-total{border-block:2px solid;font-size:18px;padding:5px 0}.receipt-preview .receipt-info{margin:8px 0;border-block:1px dashed;padding:6px 0}
.receipt-preview .receipt-note,.receipt-preview .receipt-foot{margin-top:10px}.print-error{padding:12px;border:1px solid #cf6767;border-radius:9px;margin:10px 0;color:var(--red);font-weight:700}
.print-job-actions{flex-wrap:wrap}.menu-price-review{margin:12px 0;padding:12px;border:1px solid #ddad53;border-radius:9px;background:var(--goldbg);color:var(--ink)}

/* Explicit permission states remain distinguishable without relying on color. */
.permission-grid .permission-option{display:flex;align-items:center;gap:12px;min-height:70px;padding:13px 14px;border:1.5px solid #cbd5d0;border-radius:12px;background:#fff;cursor:pointer;transition:background .15s,border-color .15s;min-width:0}
.permission-option .permission-copy{display:grid;gap:3px;min-width:0}
.permission-option .permission-name{font-size:14px;line-height:1.3;font-weight:750;color:#263a31}
.permission-option .permission-state{font-size:11px;line-height:1.3;color:#68776f;font-weight:600}
.permission-option .state-assigned{display:none}
.permission-option input[type="checkbox"]{appearance:none;-webkit-appearance:none;width:24px;height:24px;min-width:24px;margin:0;display:grid;place-content:center;border:2px solid #9aaba2;border-radius:6px;background:#fff;cursor:pointer;opacity:1}
.permission-option input[type="checkbox"]::before{content:"";width:10px;height:6px;border-left:2.5px solid white;border-bottom:2.5px solid white;transform:translateY(-1px) rotate(-45deg) scale(0)}
.permission-option input[type="checkbox"]:checked{background:#176448;border-color:#176448}
.permission-option input[type="checkbox"]:checked::before{transform:translateY(-1px) rotate(-45deg) scale(1)}
.permission-grid .permission-option:has(input:checked){background:#edf8f2;border-color:#75b99a}
.permission-option:has(input:checked) .state-assigned{display:inline;color:#176448}
.permission-option:has(input:checked) .state-unassigned{display:none}
.permission-option input:focus-visible{outline:3px solid #e39a40;outline-offset:3px}
.permission-grid .permission-option:has(input:disabled){cursor:default}
.permission-option input:disabled{cursor:default}
html[data-theme="dark"] .permission-grid .permission-option{background:#1b2925;border-color:#56665f}
html[data-theme="dark"] .permission-option .permission-name{color:#f1f7f3}
html[data-theme="dark"] .permission-option .permission-state{color:#bbc9c1}
html[data-theme="dark"] .permission-option input[type="checkbox"]{background:#1b2925;border-color:#a6bbb0}
html[data-theme="dark"] .permission-grid .permission-option:has(input:checked){background:#193d2f;border-color:#65c99b}
html[data-theme="dark"] .permission-option input:checked{background:#7cddb0;border-color:#7cddb0}
html[data-theme="dark"] .permission-option input:checked::before{border-color:#102b20}
html[data-theme="dark"] .permission-option:has(input:checked) .state-assigned{color:#9ae9bf}
@media(max-width:620px){.permission-grid .permission-option{padding:11px;gap:9px}.permission-option .permission-name{font-size:12px}}
@media(forced-colors:active){.permission-option input[type="checkbox"]{appearance:auto}.permission-option input::before{display:none}}
