:root{color-scheme:light;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#f5f7f9;color:#172026}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}.app-shell{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:28px 0}.topbar,.panel-header,.method-card-header,.topbar-actions,.button-row,.footer,.secure-badge,.small-button,.icon-button,.tabs button,.metric,.add-method,.note{display:flex;align-items:center}.topbar{justify-content:space-between;gap:16px;margin-bottom:20px}.topbar h1,.panel h2,.auth-panel h1{margin:0;letter-spacing:0}.topbar h1{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.05}.eyebrow{margin:0 0 6px;color:#5c6972;font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.topbar-actions{gap:10px}.secure-badge{gap:7px;border:1px solid #dce3e8;background:#fff;border-radius:8px;padding:9px 12px;font-weight:700;color:#2f5949}.icon-button,.small-button,.tabs button,.add-method{border:1px solid #d8e1e7;background:#fff;color:#172026;border-radius:8px;min-height:38px}.icon-button{justify-content:center;width:40px}.small-button,.add-method{gap:7px;padding:8px 12px;font-weight:800}.small-button.primary{background:#0f766e;border-color:#0f766e;color:#fff}.danger-button{color:#af2f2f}.status-grid{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr)) minmax(260px,1.8fr);gap:12px;margin-bottom:16px}.metric{gap:12px;background:#fff;border:1px solid #dce3e8;border-radius:8px;padding:14px}.metric span{color:#66747e;font-size:.78rem;font-weight:700}.metric strong{display:block;margin-top:2px;font-size:1.15rem}.metric.success{border-color:#9bd3bf;background:#f1fbf6}.metric.danger{border-color:#f0b0aa;background:#fff5f3}.alert{margin-bottom:16px;padding:12px 14px;border-radius:8px;background:#fff4e0;border:1px solid #e9c079;color:#6d4400;font-weight:700}.tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto}.tabs button{gap:8px;padding:10px 14px;font-weight:850}.tabs button.active{background:#172026;color:#fff;border-color:#172026}.panel,.auth-panel{background:#fff;border:1px solid #dce3e8;border-radius:8px;box-shadow:0 16px 40px #1620260f}.panel{padding:18px}.panel-header{justify-content:space-between;gap:14px;margin-bottom:16px}.count-pill,.connection-status,.status-badge{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;padding:3px 10px;font-size:.76rem;font-weight:850;text-transform:capitalize}.count-pill{background:#edf3f7;color:#43515b}.count-pill.danger{background:#ffe8e6;color:#a4362e}.panel-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.table-wrap{overflow-x:auto}.orders-table-wrap{border:1px solid #e8eef2;border-radius:8px}table{width:100%;border-collapse:collapse;min-width:900px}.orders-table{min-width:1120px}th,td{padding:12px 10px;border-bottom:1px solid #e8eef2;text-align:left;vertical-align:top}td .small-button+.small-button{margin-top:6px}td strong,td small{display:block}td small{margin-top:4px;color:#66747e;font-size:.78rem;line-height:1.25}th{color:#66747e;font-size:.75rem;text-transform:uppercase}.orders-table th{position:sticky;top:0;z-index:1;background:#fff}.row-actions{display:grid;gap:6px;min-width:132px}.row-actions .small-button{justify-content:center;min-height:34px;padding:7px 10px}.row-action-trigger{justify-content:center;min-width:112px}.status-badge.queued{background:#e9f2ff;color:#245c9a}.status-badge.printing{background:#fff7db;color:#8a6200}.status-badge.printed{background:#e8f7ee;color:#1c6a43}.status-badge.failed{background:#ffe8e6;color:#a4362e}.status-badge.retrying{background:#fff0dc;color:#945400}.row-error{margin:6px 0 0;max-width:420px;color:#a4362e;font-size:.78rem;line-height:1.35}.diagnostic-box{margin-top:12px;border-radius:8px;padding:12px;font-size:.82rem;line-height:1.45}.diagnostic-box.danger{border:1px solid #f0b0aa;background:#fff5f3;color:#73302b}.diagnostic-box.success{border:1px solid #9bd3bf;background:#f1fbf6;color:#1c5d3c}.diagnostic-box strong{display:block;margin-bottom:8px;color:#172026}.diagnostic-box ol{margin:0 0 10px 18px;padding:0}.diagnostic-box li{margin:3px 0}.diagnostic-box p{margin:6px 0 0}.diagnostic-box span{font-weight:900}.empty-state{border:1px dashed #cbd6dd;border-radius:8px;padding:36px;text-align:center;color:#66747e;font-weight:800}.button-row{flex-wrap:wrap;justify-content:flex-end;gap:8px}.filter-grid{display:grid;grid-template-columns:minmax(210px,1.4fr) repeat(6,minmax(130px,1fr));gap:12px;margin-bottom:16px;padding:12px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fbfc}.source-strip{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:12px;margin-bottom:16px}.source-card{border:1px solid #dce3e8;border-radius:8px;padding:12px;background:#fff}.source-card.online{border-color:#9bd3bf;background:#f1fbf6}.source-card.waiting{border-color:#e9c079;background:#fff8e9}.source-card span,.source-card small{display:block}.source-card span{color:#66747e;font-size:.75rem;font-weight:850;text-transform:uppercase}.source-card strong{display:block;margin:4px 0}.source-card small{color:#43515b;line-height:1.35}.filter-actions{display:flex;align-items:end}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0;padding:10px 12px;border:1px solid #e3ebf0;border-radius:8px;background:#f8fbfc}.pagination-bar strong,.page-indicator{color:#172026;font-weight:850}.pagination-bar span{color:#66747e}.pagination-controls{display:flex;align-items:center;gap:8px}.pagination-controls label{display:flex;grid-template-columns:none;align-items:center;gap:8px}.pagination-controls select{width:82px;min-height:36px}.page-indicator{min-width:110px;text-align:center}.printer-main{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:14px;align-items:end;margin-bottom:16px}label{display:grid;gap:7px;color:#43515b;font-size:.78rem;font-weight:850}input,select{width:100%;border:1px solid #cfd9df;border-radius:8px;background:#fff;color:#172026;min-height:40px;padding:8px 10px}.checkbox-line{display:flex;align-items:center;gap:8px;color:#172026}.checkbox-line input{width:18px;min-height:18px}.method-list{display:grid;gap:12px}.method-card{border:1px solid #dce3e8;border-radius:8px;padding:14px;background:#fbfdfe}.method-card-header{justify-content:space-between;gap:12px;margin-bottom:12px}.method-card-header>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.method-name{max-width:260px;font-weight:850}.connection-status.online{background:#e8f7ee;color:#1c6a43}.connection-status.offline{background:#ffe8e6;color:#a4362e}.connection-status.unknown{background:#edf3f7;color:#43515b}.form-grid{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:12px}.add-method{margin-top:12px}.note{gap:8px;margin-top:14px;padding:12px;background:#f6f9fb;border:1px solid #dce3e8;border-radius:8px;color:#43515b;font-weight:700}.summary-grid,.detail-grid{display:grid;gap:12px}.summary-grid{grid-template-columns:repeat(4,minmax(160px,1fr))}.summary-grid>div,.detail-item{border:1px solid #e3ebf0;border-radius:8px;padding:12px;background:#f8fbfc}.summary-grid span,.detail-item span{display:block;color:#66747e;font-size:.76rem;font-weight:850;text-transform:uppercase}.summary-grid strong,.detail-item strong{display:block;margin-top:4px;color:#172026}.modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:18px;background:#101b2270}.modal-panel{width:min(980px,100%);max-height:min(760px,calc(100vh - 36px));overflow:auto;border:1px solid #dce3e8;border-radius:8px;background:#fff;box-shadow:0 22px 70px #16202647;padding:18px}.actions-modal{width:min(460px,100%);border:1px solid #dce3e8;border-radius:8px;background:#fff;box-shadow:0 22px 70px #16202647;padding:18px}.invoice-preview-modal{width:min(980px,100%)}.modal-header{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}.modal-header h2{margin:0}.action-list{display:grid;gap:10px;margin-top:16px}.action-list button{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:center;width:100%;min-height:62px;border:1px solid #dce3e8;border-radius:8px;background:#fff;color:#172026;padding:12px;text-align:left}.action-list button:hover:not(:disabled){border-color:#9bd3bf;background:#f4fbf8}.action-list button.primary-action{border-color:#0f766e;background:#0f766e;color:#fff}.action-list button.primary-action small{color:#ffffffc7}.action-list strong,.action-list small{display:block}.action-list strong{font-size:.94rem}.action-list small{margin-top:3px;color:#66747e;line-height:1.3}.receipt-preview-shell{display:grid;place-items:start stretch;margin-top:18px;padding:18px;border:1px solid #e3ebf0;border-radius:8px;background:#f6f9fb}.receipt-preview-grid{display:grid;grid-template-columns:repeat(2,minmax(280px,1fr));gap:18px;width:100%;align-items:start}.receipt-preview-card{display:grid;gap:10px;justify-items:center;align-content:start;align-items:start;min-width:0}.receipt-preview-title{width:min(100%,430px);min-height:0;padding:10px 12px;border:1px solid #d8e1e7;border-radius:8px;background:#fff;color:#172026;text-align:center;align-self:start}.receipt-preview-title strong{font-size:1rem;font-weight:950}.receipt-preview{width:min(100%,430px);max-height:min(620px,calc(100vh - 190px));overflow:auto;margin:0;padding:24px 18px;border:1px solid #d8e1e7;border-radius:4px;background:#fff;color:#172026;box-shadow:0 12px 36px #1620261f;font-family:Courier New,Courier,monospace;font-size:1rem;line-height:1.68;white-space:pre;overflow-wrap:normal}.receipt-preview-line{display:block;width:100%;min-height:1.48em;white-space:pre}.receipt-preview-line.align-center{display:flex;align-items:center;justify-content:center;justify-self:stretch;text-align:center;white-space:normal}.receipt-preview-line.is-bold{font-weight:950;text-shadow:.028em 0 0 currentColor}.receipt-preview-line.is-double{font-size:1.9em;line-height:1.36;letter-spacing:0}.receipt-preview-line.is-double{margin-bottom:.28em}.receipt-preview-line.align-center.is-bold:not(.is-double){margin-top:.15em;margin-bottom:.18em}.inline-error{width:100%;border:1px solid #efb2ab;border-radius:8px;background:#fff3f1;color:#9b2f26;padding:12px;font-weight:800}@media(max-width:820px){.receipt-preview-grid{grid-template-columns:1fr}}.compact-tabs{margin-top:14px}.detail-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}.detail-item.wide{grid-column:1 / -1}.timeline{display:grid;gap:10px}.timeline-item{border-left:3px solid #0f766e;padding:8px 12px;background:#f8fbfc}.timeline-item span{color:#66747e;font-size:.78rem;font-weight:800}.timeline-item strong{margin-top:2px;text-transform:capitalize}.timeline-item p{margin:4px 0 0;color:#43515b}.modal-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;margin-top:16px}.footer{gap:8px;justify-content:center;margin-top:18px;color:#66747e;font-size:.85rem;font-weight:700}.auth-screen{min-height:100vh;display:grid;place-items:center;padding:20px}.auth-panel{width:min(420px,100%);padding:26px}.auth-panel label{margin-top:14px}.auth-panel>button{width:100%;min-height:42px;margin-top:12px;border:0;border-radius:8px;background:#0f766e;color:#fff;font-weight:900}.auth-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:8px;background:#e8f7ee;color:#0f766e;margin-bottom:14px}.auth-error{margin:12px 0 0;border:1px solid #f0b0aa;border-radius:8px;padding:10px 12px;background:#fff5f3;color:#a4362e;font-size:.85rem;font-weight:800}.input-with-icon{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:8px;border:1px solid #cfd9df;border-radius:8px;padding-left:10px}.input-with-icon input{border:0}.password-toggle{width:38px;min-height:38px;display:grid;place-items:center;border:0;border-left:1px solid #e5edf2;border-radius:0 8px 8px 0;background:#fff;color:#50606b;margin:0;padding:0}.password-toggle:hover{color:#0f766e}.spin{animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:980px){.status-grid,.form-grid,.filter-grid,.source-strip,.summary-grid,.detail-grid,.printer-main{grid-template-columns:1fr 1fr}}@media(max-width:680px){.app-shell{width:min(100% - 20px,1440px);padding:18px 0}.topbar,.panel-header{align-items:flex-start;flex-direction:column}.status-grid,.form-grid,.filter-grid,.source-strip,.summary-grid,.detail-grid,.printer-main{grid-template-columns:1fr}.topbar-actions,.button-row,.pagination-bar,.pagination-controls{width:100%;justify-content:flex-start}.pagination-bar{align-items:flex-start;flex-direction:column}.pagination-controls{flex-wrap:wrap}}
