:root{--bg:#f4f6fb;--text:#1b2233;--muted:#71809a;--line:#e1e7f0;--nav:#0d1425;--nav2:#17213a;--accent:#3977f6;--ok:#1f9d62;--warn:#b97b00;--bad:#d54d5a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:inherit}.top{height:64px;padding:0 24px;background:var(--nav);color:#fff;display:flex;align-items:center;justify-content:space-between}.top a{color:#cfe0ff}
.shell{display:grid;grid-template-columns:230px 1fr;min-height:calc(100vh - 64px)}aside{background:var(--nav2);padding:16px 12px}nav{display:grid;gap:5px}nav a{color:#dce6ff;text-decoration:none;padding:11px 12px;border-radius:8px}nav a:hover{background:#202e4c}
main{padding:24px;min-width:0}.page-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}.page-head h1{margin:0}
.panel,.card{background:#fff;border:1px solid var(--line);border-radius:13px;padding:18px}.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.metric{font-size:29px;font-weight:800}.muted{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.full{grid-column:1/-1}.field{display:grid;gap:6px}.field label{font-weight:700}.field input,.field select,.field textarea{padding:10px;border:1px solid #cbd5e4;border-radius:8px;width:100%;background:#fff}.field textarea{min-height:90px}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;padding:9px 12px;text-decoration:none;cursor:pointer;background:#26334f;color:#fff;font-weight:700}.btn.primary{background:var(--accent)}.btn.ok{background:var(--ok)}.btn.warn{background:var(--warn)}.btn.bad{background:var(--bad)}.btn.light{background:#eaf0fb;color:#26334f}.btn.sm{padding:6px 9px;font-size:12px}
.actions,.toolbar{display:flex;flex-wrap:wrap;gap:7px}.toolbar{margin-bottom:12px}
.flash{padding:11px 13px;border-radius:9px;margin-bottom:12px}.flash.success{background:#e4f7ed;color:#17633f}.flash.error{background:#fde9ec;color:#8b2630}.flash.info{background:#e8f0ff;color:#274e96}
table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line)}th,td{padding:10px 11px;border-bottom:1px solid #edf0f4;text-align:left;vertical-align:top}th{font-size:12px;text-transform:uppercase;color:#66738c;background:#fafbfc}
.badge{display:inline-block;padding:4px 8px;border-radius:999px;font-size:11px;font-weight:800;text-transform:uppercase}.badge-active,.badge-paid{background:#dff6e9;color:#17633f}.badge-pending,.badge-open{background:#fff0cc;color:#785600}.badge-scheduled{background:#e7efff;color:#315b9d}.badge-suspended,.badge-overdue,.badge-cancelled{background:#ffe3e7;color:#8d2831}.badge-expired,.badge-revoked,.badge-void{background:#eceff5;color:#59647a}.badge-trial{background:#e9e7ff;color:#5746a3}
.login,.install{min-height:100vh;background:linear-gradient(150deg,#0c1425,#162a4a);padding:30px}.login-wrap{max-width:440px;margin:8vh auto}.install-wrap{max-width:980px;margin:auto}.brand{color:#fff;margin-bottom:18px}.brand h1{margin-bottom:4px}
.reqs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.req{padding:9px 10px;background:#f7f8fb;border-radius:8px}.req.ok{color:#17633f}.req.bad{color:#922c36}
.code{font-family:ui-monospace,Consolas,monospace;background:#0e1628;color:#dbe7ff;padding:12px;border-radius:9px;word-break:break-all}.simple{padding:35px}.error-page{max-width:700px;margin:auto}
@media(max-width:950px){.shell{grid-template-columns:1fr}aside{display:none}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.full{grid-column:auto}}
