:root{--bg: #f6f7f8;--panel: #ffffff;--ink: #17232a;--ink-soft: #55656e;--ink-faint: #8296a0;--line: #dde4e8;--accent: #0e6e69;--accent-ink: #ffffff;--danger: #a83c33;--danger-wash: #f6e7e4;--warn-wash: #f4ecdc;--warn-ink: #8f6520;--ok-wash: #e4efe4;--ok-ink: #3c7247;--radius: 8px;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.shell{display:flex;min-height:100vh}.sidebar{width:210px;flex:0 0 auto;background:#1b2b32;color:#cfdde3;display:flex;flex-direction:column;padding:16px 10px;gap:2px}.sidebar .brand{color:#fff;font-weight:700;padding:6px 10px 16px;letter-spacing:.02em}.sidebar .brand span{color:#6fd3c9}.sidebar a{color:#cfdde3;padding:7px 10px;border-radius:6px;display:block}.sidebar a:hover{background:#ffffff12;text-decoration:none}.sidebar a.active{background:#ffffff21;color:#fff}.sidebar .foot{margin-top:auto;padding:10px;font-size:12px;color:#90a6af}.main{flex:1;padding:24px 28px;max-width:1200px}h1{font-size:20px;margin:0 0 4px}h2{font-size:15px;margin:0 0 10px}.sub{color:var(--ink-soft);margin:0 0 18px}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin-bottom:16px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.grow{flex:1}.grid{display:grid;gap:12px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:12px 14px}.stat .n{font-size:20px;font-weight:700}.stat .l{color:var(--ink-faint);font-size:12px}table{width:100%;border-collapse:collapse;background:var(--panel)}th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);padding:8px 10px;border-bottom:1px solid var(--line)}td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}tr:hover td{background:#fafbfb}.tablecard{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;margin-bottom:16px}button,.btn{font:inherit;border:1px solid var(--line);background:var(--panel);color:var(--ink);padding:6px 12px;border-radius:6px;cursor:pointer}button:hover{border-color:var(--ink-faint)}button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}button.danger{background:var(--danger);border-color:var(--danger);color:#fff}button.ghost{border-color:transparent;background:transparent;color:var(--accent)}button:disabled{opacity:.5;cursor:not-allowed}input,select,textarea{font:inherit;border:1px solid var(--line);border-radius:6px;padding:6px 10px;background:#fff;color:var(--ink);width:100%}input:focus,select:focus,textarea:focus{outline:2px solid #9ecfcb;border-color:var(--accent)}label{display:block;font-size:12px;color:var(--ink-soft);margin-bottom:3px}.field{margin-bottom:12px}.error{color:var(--danger);font-size:12px;margin-top:3px}.badge{display:inline-block;font-size:11px;font-weight:600;padding:1px 8px;border-radius:999px}.badge.active,.badge.ok{background:var(--ok-wash);color:var(--ok-ink)}.badge.trial{background:#e3ecf5;color:#2d5e8e}.badge.suspended,.badge.warn{background:var(--warn-wash);color:var(--warn-ink)}.badge.archived,.badge.off{background:#e7e9ea;color:#5f6d74}.badge.danger{background:var(--danger-wash);color:var(--danger)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#141e2273;display:grid;place-items:center;z-index:50}.dialog{background:var(--panel);border-radius:10px;padding:20px;width:min(480px,92vw);max-height:90vh;overflow:auto}.dialog h2{margin-bottom:12px}.dialog .actions{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px}.tabs button{border:none;background:none;padding:8px 12px;border-bottom:2px solid transparent;border-radius:0}.tabs button.active{border-bottom-color:var(--accent);color:var(--accent);font-weight:600}.center-page{min-height:100vh;display:grid;place-items:center}.login-card{width:360px}.mono{font-family:ui-monospace,monospace;font-size:12px;word-break:break-all}.muted{color:var(--ink-faint);font-size:12px}.otp-box{background:var(--warn-wash);border-radius:6px;padding:10px 12px;margin:10px 0}pre.details{margin:0;font-size:11px;white-space:pre-wrap;word-break:break-word;color:var(--ink-soft)}
