*{box-sizing:border-box}:root{--ink: #1a1a1a;--muted: #66707a;--line: #e3e6e8;--bg: #f7f8f9;--danger: #b42318;--ok: #067647;--ok-line: #abefc6;--ok-bg: #ecfdf3;--warn: #b54708;--warn-line: #fedf89;--warn-bg: #fffaeb;--bad: #b42318;--bad-line: #fecdca;--bad-bg: #fef3f2;--active: #175cd3;--active-line: #b2ddff;--active-bg: #eff8ff}body{margin:0;font-family:-apple-system,Segoe UI,Roboto,Helvetica Neue,sans-serif;color:var(--ink);background:var(--bg);font-size:15px;line-height:1.5}h1{font-size:1.35rem;margin:0 0 .5rem}h2{font-size:1.05rem;margin:0 0 .25rem}p{margin:.25rem 0 .75rem}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85em}.error{color:var(--danger);margin-top:.75rem}.center-page{text-align:center;margin-top:20vh}.auth-card{max-width:24rem;margin:14vh auto 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:2rem}.auth-card form{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}label{font-weight:600;font-size:.85rem}input{font:inherit;padding:.55rem .7rem;border:1px solid var(--line);border-radius:7px}input:focus{outline:2px solid var(--ink);outline-offset:-1px}button{font:inherit;font-weight:600;cursor:pointer;border:none;border-radius:7px;padding:.55rem 1rem;background:var(--ink);color:#fff;margin-top:.5rem}button:disabled{opacity:.55;cursor:default}button.secondary{background:#fff;color:var(--ink);border:1px solid var(--line)}button.danger{background:#fff;color:var(--danger);border:1px solid var(--line)}button.linklike{background:none;border:none;color:var(--ink);text-decoration:underline;font-weight:500;padding:0;margin:0}.shell main{max-width:44rem;margin:0 auto;padding:1.5rem 1rem 3rem;display:flex;flex-direction:column;gap:2rem}.topbar{display:flex;align-items:center;gap:.9rem;padding:.7rem 1rem;background:#fff;border-bottom:1px solid var(--line)}.brand{font-weight:700}.topbar-account{border-left:1px solid var(--line);padding-left:.9rem;color:var(--muted)}.spacer{flex:1}.topbar button{margin-top:0}.rows{list-style:none;margin:.5rem 0;padding:0;background:#fff;border:1px solid var(--line);border-radius:10px}.row{display:flex;align-items:center;gap:.75rem;padding:.65rem 1rem}.row+.row{border-top:1px solid var(--line)}.row>:first-child{min-width:0;overflow-wrap:anywhere}.row button{margin:0 0 0 auto}.badge{font-size:.75rem;font-weight:600;padding:.1rem .5rem;border-radius:99px;border:1px solid var(--line);color:var(--muted);white-space:nowrap;flex:0 0 auto}.badge-current{margin-left:auto;color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}.badge-ok{color:var(--ok);border-color:var(--ok-line);background:var(--ok-bg)}.badge-warn{color:var(--warn);border-color:var(--warn-line);background:var(--warn-bg);margin-left:.4rem}.badge-bad{color:var(--bad);border-color:var(--bad-line);background:var(--bad-bg)}.badge-active{color:var(--active);border-color:var(--active-line);background:var(--active-bg)}.row-end{margin-left:auto}.tabs{display:flex;gap:.25rem;padding:0 1rem;background:#fff;border-bottom:1px solid var(--line)}.tabs a{padding:.55rem .75rem;color:var(--muted);text-decoration:none;font-weight:600;font-size:.9rem;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs a.active{color:var(--ink);border-bottom-color:var(--ink)}select{font:inherit;padding:.35rem .5rem;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--ink)}.account-select{border:none;border-left:1px solid var(--line);border-radius:0;padding-left:.9rem;color:var(--muted);max-width:14rem}.mode-toggle{display:flex;border:1px solid var(--line);border-radius:99px;overflow:hidden}.mode-toggle button{margin:0;padding:.2rem .75rem;font-size:.8rem;border-radius:0;background:#fff;color:var(--muted);font-weight:600}.mode-toggle button.mode-on.mode-live{background:var(--ok-bg);color:var(--ok)}.mode-toggle button.mode-on.mode-test{background:var(--warn-bg);color:var(--warn)}.test-banner,.usage-banner{margin:0;padding:.4rem 1rem;font-size:.85rem;color:var(--warn);background:var(--warn-bg);border-bottom:1px solid var(--warn-line)}.usage-banner-cap{color:var(--bad);background:var(--bad-bg);border-bottom-color:var(--bad-line)}.meter-block{margin:.75rem 0;max-width:28rem}.meter-label{display:flex;justify-content:space-between;font-size:.9rem;margin-bottom:.3rem}.meter{height:8px;border-radius:99px;background:var(--line);overflow:hidden}.meter-fill{height:100%;border-radius:99px;min-width:2px}.meter-ok{background:var(--ok)}.meter-warn{background:var(--warn)}.meter-bad{background:var(--bad)}.billing-actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.shell main{max-width:56rem}.section-head{display:flex;align-items:center;gap:.75rem}.section-head h2{margin:0;flex:1}table{width:100%;margin-top:.5rem;border-collapse:separate;border-spacing:0;background:#fff;border:1px solid var(--line);border-radius:10px;overflow:hidden}th{text-align:left;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:var(--muted);padding:.55rem 1rem;border-bottom:1px solid var(--line)}td{padding:.6rem 1rem;vertical-align:top}tr+tr td{border-top:1px solid var(--line)}td a{color:var(--ink);font-weight:600}.empty{background:#fff;border:1px dashed var(--line);border-radius:10px;padding:1.5rem;margin-top:.5rem;text-align:center}.stale{color:var(--warn)}.detail{display:grid;grid-template-columns:max-content 1fr;gap:.35rem 1.25rem;margin:.75rem 0;background:#fff;border:1px solid var(--line);border-radius:10px;padding:1rem 1.25rem}.detail dt{color:var(--muted);font-size:.85rem;padding-top:.1rem}.detail dd{margin:0;overflow-wrap:anywhere}.callout{border-radius:10px;border:1px solid var(--line);padding:.6rem 1rem;margin:.75rem 0}.callout p{margin:.15rem 0}.callout-warn{border-color:var(--warn-line);background:var(--warn-bg);color:var(--warn)}.callout-bad{border-color:var(--bad-line);background:var(--bad-bg);color:var(--bad)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#1a1a1a59;display:flex;align-items:flex-start;justify-content:center;padding:10vh 1rem 2rem;z-index:10}.dialog{background:#fff;border:1px solid var(--line);border-radius:10px;padding:1.25rem 1.5rem;width:100%;max-width:30rem;max-height:78vh;overflow:auto}.dialog-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.dialog form{display:flex;flex-direction:column;gap:.4rem}.segmented{display:flex;gap:1.1rem;margin:.35rem 0 .1rem}.segmented label{display:flex;align-items:center;gap:.35rem}.row-actions{display:flex;gap:.4rem;justify-content:flex-end}.row-actions button{margin:0;padding:.3rem .6rem;font-size:.8rem}.token-box{display:flex;align-items:center;gap:.5rem;background:var(--bg);border:1px solid var(--line);border-radius:7px;padding:.5rem .7rem;margin:.25rem 0 .75rem}.token-box .mono{flex:1;overflow-wrap:anywhere}.token-box button{margin:0;flex-shrink:0;padding:.3rem .6rem;font-size:.8rem}.checkbox-list{display:flex;flex-direction:column;gap:.3rem;max-height:13rem;overflow:auto;border:1px solid var(--line);border-radius:7px;padding:.5rem .7rem}.checkbox-list label{display:flex;align-items:center;gap:.5rem;font-weight:400}input[type=checkbox],input[type=radio]{width:auto;padding:0;margin:0;accent-color:var(--ink)}.choice-list{display:flex;flex-direction:column;gap:.55rem;border:1px solid var(--line);border-radius:7px;padding:.6rem .7rem;margin:.25rem 0 .5rem;min-width:0}.choice-list legend{font-weight:600;font-size:.85rem;padding:0 .3rem}.choice{display:flex;align-items:baseline;gap:.5rem;font-weight:400}.choice input{flex-shrink:0}.choice .muted{display:block;font-size:.8rem;line-height:1.35}textarea{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;font-size:.85em;padding:.55rem .7rem;border:1px solid var(--line);border-radius:7px;width:100%;min-height:8rem;resize:vertical}textarea:focus{outline:2px solid var(--ink);outline-offset:-1px}.detail-row td{background:var(--bg)}.printer-details{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;padding:.25rem 0}.printer-details h3{font-size:.9rem;margin:0 0 .25rem}.maintenance{grid-column:1 / -1;border-top:1px solid var(--line);padding-top:.9rem}.maintenance-actions{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}.maintenance-actions button{margin-top:0}.printer-details button{margin-top:.5rem}.kv-pre{background:#fff;border:1px solid var(--line);border-radius:7px;padding:.5rem .7rem;overflow:auto;max-height:16rem;margin:.25rem 0 .5rem}
