*{box-sizing:border-box}
body{margin:0;background:#0d0f12;color:#f4f4f4;font-family:Arial,Helvetica,sans-serif}
a{color:inherit;text-decoration:none}
.layout{min-height:100vh;display:flex}
.sidebar{width:240px;background:#111419;border-right:1px solid #252a32;padding:20px}
.brand{font-weight:800;font-size:21px;margin-bottom:24px}.brand span{color:#e53935}
.sidebar nav{display:flex;flex-direction:column;gap:8px}
.sidebar nav a{padding:11px 12px;background:#171b21;border:1px solid #252a32;border-radius:8px}
.sidebar nav a:hover{background:#20262e}
.content{flex:1;padding:24px}
.topbar{display:flex;justify-content:space-between;gap:15px;align-items:center;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid #252a32}
.cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.card{background:#15191f;border:1px solid #272d36;border-radius:10px;padding:18px}
.card .num{font-size:30px;font-weight:800;margin-top:8px}
.panel{background:#15191f;border:1px solid #272d36;border-radius:10px;padding:18px;margin-bottom:18px}
table{width:100%;border-collapse:collapse}
th,td{padding:11px;border-bottom:1px solid #282e36;text-align:left}
th{color:#b8bec7;font-size:13px}
input,select,textarea{width:100%;padding:11px;background:#0f1216;border:1px solid #303743;color:#fff;border-radius:7px}
label{display:block;margin-bottom:6px;color:#cfd4db}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{margin-bottom:14px}.full{grid-column:1/-1}
button,.btn{display:inline-block;padding:10px 14px;border:0;border-radius:7px;background:#d93025;color:white;font-weight:700;cursor:pointer}
.btn.secondary{background:#29313b}.btn.danger{background:#9e1c1c}
.badge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:12px;font-weight:700}
.badge.active{background:#123d28;color:#75e3a4}.badge.suspended{background:#4a3211;color:#ffc773}.badge.expired{background:#4a1717;color:#ff9c9c}
.alert{padding:12px 14px;border-radius:8px;margin-bottom:16px}.alert.success{background:#123d28}.alert.error{background:#4a1717}
.actions{display:flex;gap:7px;flex-wrap:wrap}.muted{color:#949ca7;font-size:13px}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}
.login-box{width:100%;max-width:390px;background:#15191f;border:1px solid #272d36;border-radius:12px;padding:24px}
.login-box h1{margin-top:0}.login-box .field{margin-bottom:14px}
@media(max-width:900px){.sidebar{width:190px}.cards{grid-template-columns:1fr 1fr}.form-grid{grid-template-columns:1fr}}
@media(max-width:650px){.layout{display:block}.sidebar{width:100%}.sidebar nav{display:grid;grid-template-columns:1fr 1fr}.cards{grid-template-columns:1fr}.content{padding:14px}.topbar{align-items:flex-start;flex-direction:column}}

.badge.ended{background:#541d2a;color:#ffb1c0}
.pagination{display:flex;gap:6px;flex-wrap:wrap;margin-top:16px}
.pagination a{min-width:34px;text-align:center;padding:8px 10px;border-radius:7px;background:#20262e;border:1px solid #303743}
.pagination a.current{background:#d93025;border-color:#d93025}
.live-box{min-height:300px;border:1px dashed #3b4350;border-radius:10px;background:#0f1216;display:grid;place-items:center;text-align:center;padding:25px}
.live-title{font-size:18px;font-weight:700;margin-bottom:8px}

.badge.expired{background:#5a1020;color:#ffd4dc;border:1px solid #7b2034}
.badge.warning{background:#6a4d00;color:#ffe9a6;border:1px solid #8f6b00}
.badge.suspended{background:#3a3f46;color:#d7dce2;border:1px solid #555d66}
