[hidden]{display:none!important}
.login-screen{position:fixed;inset:0;display:grid;place-items:center;background:var(--nav)}
.login-card{width:min(360px,92vw);display:grid;gap:16px;padding:28px}
.login-brand{color:var(--ink);padding:0 0 8px}
.error-text{color:#c0392b;margin:0}
.warn-text{color:var(--warn)}
.small{font-size:12px}
.warn-badge{background:#fde8e4;color:#b33a24}
.side-link{color:#b8c5df;font-size:12px;margin-top:6px}
.num{text-align:right;white-space:nowrap}
.table th.num{text-align:right}
.table.compact td,.table.compact th{padding:9px 12px}
.billing-card{margin-bottom:18px;display:grid;gap:12px}
.billing-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;flex-wrap:wrap}
.billing-sum{display:flex;gap:22px}
.billing-sum span{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.5px}
.billing-sum strong{font-size:18px}
.billing-card details summary{cursor:pointer;color:var(--blue);font-size:13px;margin:4px 0 8px}
.month-pick{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:650}
.month-pick input{font:inherit;border:1px solid var(--line);border-radius:8px;padding:8px 10px}
.toolbar{align-items:center}
.key-box{background:#0f1a2e;color:#d6e4ff;border-radius:8px;padding:14px;font-size:12px;white-space:pre-wrap;word-break:break-all;user-select:all}
.inline-check{display:flex;gap:8px;align-items:center;font-size:13px;font-weight:500;color:var(--ink)}
.user-list{display:grid;gap:6px;max-height:260px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:10px}
.field select{font:inherit;border:1px solid #d8e0ed;border-radius:7px;padding:10px;background:white}
dialog{width:min(720px,94vw)}
.modal-box{min-width:0}
.settings-card{margin-bottom:18px}
.field textarea{font:inherit;border:1px solid #d8e0ed;border-radius:7px;padding:10px;background:white;resize:vertical}
.modal-actions.wrap{flex-wrap:wrap}
.danger{color:#b33a24;background:#fdeeea}
.invoice-send{margin-top:16px}
.billing-head .secondary,.billing-head .primary{align-self:center}
.nowrap{white-space:nowrap}
