:root{--bg:#0b1020;--panel:#111936;--panel2:#151f42;--text:#e8eefc;--muted:#9aa8c7;--line:#263152;--accent:#d7aa45;--good:#23c77a;--bad:#ef5b5b;--warn:#f7b955;--blue:#6ea8ff}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Segoe UI,Arial,sans-serif;background:#080d1b;color:var(--text)}a{color:inherit}.shell{display:grid;grid-template-columns:280px 1fr;min-height:100vh}.sidebar{background:linear-gradient(180deg,#111936,#0b1020);border-right:1px solid var(--line);padding:22px;position:sticky;top:0;height:100vh}.brand{display:flex;gap:12px;align-items:center;margin-bottom:28px}.mark{width:42px;height:42px;border-radius:14px;background:linear-gradient(135deg,#d7aa45,#6ea8ff);display:grid;place-items:center;color:#08101f;font-weight:900}.brand span{display:block;color:var(--muted);font-size:13px;margin-top:2px}nav{display:grid;gap:8px}nav a,.sidebar-footer a{padding:11px 12px;border-radius:12px;text-decoration:none;color:var(--muted)}nav a:hover,.sidebar-footer a:hover{background:rgba(255,255,255,.06);color:var(--text)}.sidebar-footer{position:absolute;bottom:22px;left:22px;right:22px;display:grid;gap:8px}.sidebar-footer small{color:var(--muted);padding:0 12px}.main{padding:30px}.header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px}.header h1{margin:0;font-size:30px}.header p{margin:6px 0 0;color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.card{background:linear-gradient(180deg,var(--panel),#0e1630);border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 18px 45px rgba(0,0,0,.2)}.metric{font-size:34px;font-weight:800;margin-top:8px}.label{color:var(--muted);font-size:13px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:18px;background:var(--panel)}table{width:100%;border-collapse:collapse;min-width:900px}th,td{padding:13px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{color:#c9d5f4;font-size:13px;background:#121b3a;position:sticky;top:0}td{color:#e7edfb;font-size:14px}.muted{color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--accent);color:#08101f;text-decoration:none;border:0;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer}.btn.secondary{background:#263152;color:var(--text)}.btn.danger{background:var(--bad);color:#fff}.btn.small{padding:7px 10px;font-size:12px}.badge{display:inline-flex;padding:5px 9px;border-radius:999px;font-size:12px;font-weight:700;background:#263152;color:#dbe6ff}.badge.active,.badge.trial,.badge.paid{background:rgba(35,199,122,.15);color:#52e7a0}.badge.suspended,.badge.revoked,.badge.cancelled,.badge.expired,.badge.overdue{background:rgba(239,91,91,.15);color:#ff8a8a}.badge.pending_payment,.badge.unpaid{background:rgba(247,185,85,.15);color:#ffd48a}.form{display:grid;gap:14px;max-width:900px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.field label{display:block;margin-bottom:6px;color:#c9d5f4;font-size:13px}.field input,.field select,.field textarea{width:100%;background:#0c1329;color:var(--text);border:1px solid var(--line);border-radius:12px;padding:11px 12px}.field textarea{min-height:90px}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.notice{padding:12px 14px;border-radius:14px;border:1px solid var(--line);background:#101936;margin-bottom:16px}.notice.good{border-color:rgba(35,199,122,.35);background:rgba(35,199,122,.08)}.notice.bad{border-color:rgba(239,91,91,.35);background:rgba(239,91,91,.08)}.license-key{font-family:Consolas,monospace;background:#060b18;border:1px dashed var(--accent);padding:14px;border-radius:14px;color:#ffd67e;font-size:16px;word-break:break-all}.login{min-height:100vh;display:grid;place-items:center;padding:22px}.login-card{width:100%;max-width:440px}.code{font-family:Consolas,monospace;color:#a8c7ff}@media(max-width:900px){.shell{grid-template-columns:1fr}.sidebar{position:relative;height:auto}.sidebar-footer{position:relative;left:auto;right:auto;bottom:auto;margin-top:20px}.grid{grid-template-columns:1fr 1fr}.row{grid-template-columns:1fr}}@media(max-width:560px){.grid{grid-template-columns:1fr}.main{padding:18px}}
