:root { --ink:#172236;--muted:#69758a;--line:#e5e9ef;--paper:#fff;--bg:#f5f6f8;--nav:#111b2b;--blue:#315efb;--green:#188a65;--amber:#b96b12; }
* { box-sizing:border-box; }
body { margin:0;background:var(--bg);color:var(--ink);font-family:Inter,"Segoe UI",system-ui,sans-serif; }
button,input,textarea { font:inherit; }
.shell { min-height:100vh;display:grid;grid-template-columns:245px 1fr; }
aside { background:var(--nav);color:#fff;padding:28px 20px;display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:245px; }
.brand { display:flex;align-items:center;gap:12px;font-weight:700; }
.brand>span { background:#ffb21a;color:#172236;width:42px;height:42px;border-radius:12px;display:grid;place-items:center; }
.brand small { display:block;color:#8894a8;font-weight:500;margin-top:2px; }
nav { margin-top:48px;display:grid;gap:8px; }
nav a { border:0;background:transparent;color:#aeb7c6;padding:12px 14px;text-align:left;border-radius:9px;cursor:pointer;text-decoration:none; }
nav a.active,nav a:hover { color:#fff;background:#233047; }
.local-status { margin-top:auto;padding:15px;border:1px solid #2b394f;border-radius:10px;color:#cbd2dd;font-size:13px; }
.local-status i { display:inline-block;width:8px;height:8px;border-radius:50%;background:#33cf91;margin-right:7px; }
.local-status small { color:#778399;margin-left:17px; }
main { grid-column:2;padding:38px 42px 60px;max-width:1500px;width:100%; }
header { display:flex;justify-content:space-between;align-items:center;margin-bottom:28px; }
h1,h2,p { margin-top:0; } h1 { margin-bottom:0;font-size:30px;letter-spacing:-.8px; } h2 { margin-bottom:6px;font-size:19px; }
.eyebrow { color:#8a94a6;font-size:11px;font-weight:700;letter-spacing:1.4px;margin-bottom:7px; }
.refresh,.row-actions button,.row-actions a { border:1px solid var(--line);background:#fff;color:#344055;border-radius:8px;padding:8px 11px;cursor:pointer;text-decoration:none;font-size:12px; }
.stats { display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:20px; }
.stats article,.panel { background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 3px 12px rgba(22,34,54,.035); }
.stats article { padding:21px 23px; }.stats span { color:var(--muted);font-size:13px; }.stats strong { display:block;font-size:31px;margin:7px 0 5px; }.stats small { color:#99a2b1; }
.stats .green { color:var(--green); }.stats .amber { color:var(--amber); }
.panel { margin-bottom:20px;overflow:hidden; }
.intro { background:linear-gradient(120deg,#fff 55%,#edf2ff);display:grid;grid-template-columns:1fr 1fr;padding:25px 28px;gap:35px;align-items:center; }
.intro p,.section-title p { color:var(--muted);margin:0;line-height:1.55; }
.tag { display:inline-block;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:1px;margin-bottom:10px; }
.steps { display:grid;grid-template-columns:28px 1fr;align-items:center;gap:7px 10px;font-size:13px;color:#536078; }
.steps b { width:26px;height:26px;display:grid;place-items:center;color:var(--blue);background:#fff;border-radius:50%;border:1px solid #dbe2f1; }
.section-title { padding:20px 23px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:18px; }
.table-wrap { overflow:auto; }table { border-collapse:collapse;width:100%; }th,td { padding:14px 17px;text-align:left;white-space:nowrap;border-bottom:1px solid #edf0f4;font-size:13px; }th { color:#828c9d;font-size:11px;text-transform:uppercase;letter-spacing:.4px; }tbody tr:last-child td { border-bottom:0; }
.status { font-size:11px;font-weight:700;border-radius:20px;padding:5px 9px;color:var(--amber);background:#fff3de; }.status.uploaded { color:var(--green);background:#e7f8f1; }
.row-actions { display:flex;gap:7px; }.empty { padding:35px;text-align:center;color:var(--muted); }
.settings form { padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;max-width:850px; }
.settings select { box-sizing:border-box;width:100%;padding:10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink);margin-top:6px; }
.settings label small { display:block;margin-top:6px;color:var(--muted);font-weight:400; }
.form-heading { margin-top:5px;padding:15px 0 3px;border-top:1px solid var(--line); }.form-heading:first-child { margin-top:0;padding-top:0;border-top:0; }.form-heading h3 { margin:0 0 4px;font-size:15px; }.form-heading p { margin:0;color:var(--muted);font-size:12px; }
.scanner-mode-options { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px; }
.scanner-mode-options>label { display:flex;align-items:flex-start;gap:11px;padding:14px;border:1px solid var(--line);border-radius:10px;background:#fafbfc;cursor:pointer; }
.scanner-mode-options>label.active { border-color:#7893ed;background:#f3f6ff;box-shadow:0 0 0 1px #7893ed inset; }
.scanner-mode-options input { flex:0 0 auto;width:auto;margin:2px 0 0;padding:0; }
.scanner-mode-options span,.scanner-mode-options strong { display:block; }.scanner-mode-options strong { color:var(--ink);font-size:13px; }
.printer-state { align-self:center;padding:6px 10px;border-radius:999px;background:#fff1d6;color:#936100;font-size:12px;font-weight:700; }
.printer-state.ready { background:#dcf5e9;color:#147a59; }
.settings .printer-form { display:block;max-width:none;padding:0; }
.printer-tabs { display:flex;align-items:stretch;gap:4px;padding:14px 20px 0;border-bottom:1px solid var(--line);overflow-x:auto; }
.printer-tabs button { flex:0 0 auto;border:0;border-bottom:3px solid transparent;background:transparent;color:#6b7688;padding:11px 14px 12px;cursor:pointer;font-size:13px;font-weight:650;white-space:nowrap; }
.printer-tabs button.active { border-bottom-color:var(--blue);color:var(--blue); }
.printer-tabs button small { margin-left:5px;color:#929baa;font-weight:500; }
.printer-tabs button i { display:inline-block;width:7px;height:7px;margin-left:7px;border-radius:50%;background:#d69b45; }.printer-tabs button i.ready { background:#24a878; }
.printer-tabs .tab-refresh { margin-left:auto;border:1px solid var(--line);border-bottom:1px solid var(--line);border-radius:8px;padding:8px 12px;height:36px;align-self:center;color:#40506a;background:#fff; }
.printer-tab-panel { max-width:900px;min-height:250px;padding:25px 24px 30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:20px; }
.printer-tab-panel .wide { grid-column:1/-1; }
.tab-heading { display:flex;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:17px;border-bottom:1px solid var(--line); }.tab-heading h3 { margin:0 0 5px;font-size:17px; }.tab-heading p { margin:0;color:var(--muted);font-size:12px; }
.tab-summary,.tab-status { flex:0 0 auto;padding:6px 10px;border-radius:999px;background:#eef1f5;color:#5f6b7e;font-size:11px;font-weight:700;white-space:nowrap; }.tab-status { background:#fff1d6;color:#936100; }.tab-status.ready { background:#dcf5e9;color:#147a59; }
.printer-actions { display:flex;align-items:center;justify-content:flex-start;gap:9px;padding:17px 24px;border-top:1px solid var(--line);background:#fafbfc;overflow-x:auto; }
.printer-actions button { flex:0 0 auto;min-height:40px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:9px 17px;cursor:pointer;white-space:nowrap;line-height:1; }
.printer-actions button:disabled { opacity:.55;cursor:not-allowed; }.printer-actions .primary { border-color:var(--blue);background:var(--blue);color:#fff; }
label { color:#5b6678;font-size:12px;font-weight:600; }label.wide { grid-column:1/-1; }
input,textarea { display:block;width:100%;border:1px solid #d7dce4;border-radius:8px;padding:10px 12px;margin-top:6px;color:var(--ink);background:#fff; }
.check { display:flex;align-items:center;gap:9px; }.check input { width:auto;margin:0; }.actions { display:flex;justify-content:flex-end;gap:9px; }.actions button { border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:10px 16px;cursor:pointer; }.actions button:disabled { opacity:.55;cursor:not-allowed; }.actions .primary { border-color:var(--blue);background:var(--blue);color:#fff; }
.notice { margin-bottom:18px;padding:12px 15px;border-radius:9px; }.notice.error { background:#fff0f0;color:#a23a3a; }.notice.success { background:#e9f8f2;color:#187455; }
.scanner-settings-grid { display:grid;grid-template-columns:1fr 1fr;gap:0; }.scanner-settings-grid>article { min-height:390px;padding:25px; }.scanner-settings-grid>article+article { border-left:1px solid var(--line); }.scanner-settings-grid h3 { margin:0 0 6px;font-size:17px; }.scanner-settings-grid p { color:var(--muted);font-size:13px; }.scanner-settings-grid button { border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 13px;cursor:pointer;white-space:nowrap; }.scanner-settings-grid .primary { border-color:var(--blue);background:var(--blue);color:#fff; }.pairing-flow{display:grid;gap:12px;margin-top:20px}.pairing-card { display:flex;align-items:center;gap:20px;padding:14px;border:1px solid var(--line);border-radius:12px;background:#fafbfc; }.pairing-card.setup{border-color:#f0cf84;background:#fffbf0}.pairing-card img { width:135px;height:135px;border-radius:7px; }.pairing-card strong,.pairing-card a,.pairing-card small { display:block;margin-bottom:9px;overflow-wrap:anywhere; }.pairing-card a { color:var(--blue);font-size:12px; }.pairing-card small,.device-row small { color:var(--muted);font-size:11px; }.device-heading { display:flex;justify-content:space-between;align-items:start;gap:15px; }.device-row { display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line); }.device-row strong,.device-row small { display:block; }.device-active,.device-revoked { padding:5px 8px;border-radius:999px;background:#dcf5e9;color:#147a59;font-size:10px;font-weight:750; }.device-revoked { background:#eef1f5;color:#7b8595; }.empty.compact { padding:28px 0;text-align:left; }
.postage-upload { display:flex;align-items:center;gap:14px;padding:24px; }.postage-drop { flex:1;display:block;padding:20px;border:2px dashed #cfd6e1;border-radius:12px;background:#fafbfc;cursor:pointer; }.postage-drop.filled { border-color:#8fa8ff;background:#f5f7ff; }.postage-drop input { position:absolute;width:1px;height:1px;opacity:0;pointer-events:none; }.postage-drop strong,.postage-drop span { display:block; }.postage-drop strong { color:var(--ink);font-size:14px; }.postage-drop span { margin-top:5px;color:var(--muted);font-size:11px;font-weight:400; }.postage-scale { flex:0 1 300px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff; }.postage-scale>div { display:flex;justify-content:space-between;gap:15px;color:var(--ink);font-size:12px; }.postage-scale output { color:var(--blue);font-weight:750; }.postage-scale input { width:100%;margin:8px 0 5px;padding:0;border:0; }.postage-scale small { display:block;color:var(--muted);font-size:10px;line-height:1.35; }.postage-upload button,.postage-actions button,.postage-actions a { border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);padding:10px 16px;cursor:pointer;text-decoration:none;white-space:nowrap; }.postage-upload .primary,.postage-actions .primary { border-color:var(--blue);background:var(--blue);color:#fff; }.postage-upload button:disabled,.postage-actions button:disabled { opacity:.55;cursor:not-allowed; }.postage-message { margin:0 24px 18px;padding:12px 14px;border-radius:9px; }.postage-message.error { color:#a23a3a;background:#fff0f0; }.postage-message.success { color:#187455;background:#e9f8f2; }.postage-summary { display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line); }.postage-summary div { padding:16px 20px; }.postage-summary div+div { border-left:1px solid var(--line); }.postage-summary span,.postage-summary strong { display:block; }.postage-summary span { color:var(--muted);font-size:11px; }.postage-summary strong { margin-top:5px;font-size:16px; }.postage-warning { display:flex;gap:12px;margin:20px 24px 0;padding:13px 15px;border:1px solid #f0cf84;border-radius:10px;background:#fffbf0;color:#6e5420;font-size:12px;line-height:1.45; }.postage-warning strong { flex:0 0 auto; }.postage-pages { display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;padding:20px 24px 24px; }.postage-pages article { overflow:hidden;border:2px solid var(--line);border-radius:12px;background:#fafbfc; }.postage-pages article.selected { border-color:#6f8eff; }.postage-pages article>label { display:flex;align-items:center;gap:8px;padding:11px 13px;background:#fff;border-bottom:1px solid var(--line); }.postage-pages article>label input { width:auto;margin:0; }.postage-preview { min-height:170px;padding:16px;display:grid;place-items:center;background:#e9edf2; }.postage-preview img { display:block;max-width:100%;max-height:230px;box-shadow:0 2px 8px rgba(0,0,0,.15); }.postage-pages footer { display:flex;justify-content:space-between;padding:9px 12px;color:var(--muted);font-size:11px;background:#fff;border-top:1px solid var(--line); }.postage-actions { display:flex;justify-content:flex-end;gap:9px;padding:17px 24px;border-top:1px solid var(--line);background:#fafbfc; }
.carrier-manager>.section-title>button,.carrier-form .primary { border:1px solid var(--blue);border-radius:8px;background:var(--blue);color:#fff;padding:9px 14px;cursor:pointer; }
.carrier-form { padding:24px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;border-bottom:1px solid var(--line);background:#fafbfc; }.carrier-form .wide { grid-column:1/-1; }.carrier-form select { display:block;width:100%;margin-top:6px;padding:10px;border:1px solid #d7dce4;border-radius:8px;background:#fff; }.carrier-form small { display:block;margin-top:6px;color:var(--muted);font-weight:400; }.carrier-form-actions { display:flex;justify-content:flex-end;gap:9px; }.carrier-form-actions button { border:1px solid var(--line);border-radius:8px;background:#fff;padding:9px 14px;cursor:pointer; }
.carrier-manager td small { display:block;margin-top:3px;color:var(--muted); }.carrier-aliases { max-width:340px;white-space:normal;line-height:1.4; }.carrier-message { margin:18px 22px 0;padding:11px 14px;border-radius:8px; }.carrier-message.error { background:#fff0f0;color:#a23a3a; }.carrier-message.success { background:#e9f8f2;color:#187455; }
@media(max-width:850px){.shell{display:block}aside{position:static;width:auto;height:auto}.local-status{display:none}main{padding:25px}.stats,.intro,.scanner-settings-grid,.postage-summary,.scanner-mode-options{grid-template-columns:1fr}.scanner-settings-grid>article+article,.postage-summary div+div{border-left:0;border-top:1px solid var(--line)}.pairing-card{display:block}.settings form,.carrier-form{grid-template-columns:1fr}label.wide,.carrier-form .wide{grid-column:auto}.printer-tabs .tab-refresh{margin-left:0}.printer-tab-panel{grid-template-columns:1fr}.printer-tab-panel .wide{grid-column:auto}.tab-heading{display:block}.tab-heading>span{display:inline-block;margin-top:10px}.postage-upload,.postage-actions{align-items:stretch;flex-direction:column}}


.scale-warning[data-v-ea3e9a48] { margin-top:4px!important;color:#a23a3a!important;font-weight:650;
}

