* { box-sizing: border-box; margin: 0; padding: 0; }
body {
    font-family: Arial, Helvetica, sans-serif;
    background: #0b1120;
    color: #e5e7eb;
}
a { text-decoration: none; color: inherit; }
.admin-layout { display: grid; grid-template-columns: 280px 1fr; min-height: 100vh; }
.sidebar {
    background: linear-gradient(180deg, #111827, #0f172a);
    border-right: 1px solid rgba(255,255,255,0.08);
    padding: 26px 18px;
}
.sidebar h1 { font-size: 1.2rem; margin-bottom: 8px; }
.sidebar p { color: #94a3b8; margin-bottom: 26px; }
.menu { display: grid; gap: 8px; }
.menu a {
    padding: 13px 14px; border-radius: 14px; color: #cbd5e1;
    background: rgba(255,255,255,0.02);
}
.menu a.active, .menu a:hover { background: rgba(109,40,217,0.18); color: white; }
.main { padding: 28px; }
.top { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 26px; }
.card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 22px; padding: 24px;
    box-shadow: 0 18px 36px rgba(0,0,0,0.2);
}
.grid-2, .grid-3 { display: grid; gap: 18px; }
.grid-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
label { display: block; font-weight: 700; margin-bottom: 8px; }
input, textarea, select {
    width: 100%; padding: 13px 14px; border-radius: 14px;
    border: 1px solid rgba(255,255,255,0.1); background: #111827; color: white;
}
textarea { min-height: 120px; resize: vertical; }
button, .button {
    border: 0; cursor: pointer; padding: 13px 18px; border-radius: 14px;
    background: linear-gradient(135deg, #7c3aed, #06b6d4); color: white; font-weight: 700;
}
.small { font-size: 0.88rem; color: #94a3b8; }
.flash { padding: 14px 16px; border-radius: 14px; margin-bottom: 20px; }
.flash.success { background: rgba(34,197,94,0.15); border: 1px solid rgba(34,197,94,0.35); }
.flash.error { background: rgba(239,68,68,0.15); border: 1px solid rgba(239,68,68,0.35); }
.repeat-box { border: 1px solid rgba(255,255,255,0.08); padding: 18px; border-radius: 18px; margin-bottom: 16px; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 20px; }
.login-card { width: min(460px, 100%); }
.badge {
    display: inline-block; padding: 8px 12px; border-radius: 999px; background: rgba(124,58,237,0.16); margin-bottom: 14px;
}
.stats-cards { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.stat { padding: 18px; border-radius: 20px; background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.08); }
.stat strong { font-size: 1.6rem; display: block; margin-bottom: 8px; }
@media (max-width: 1024px) {
    .admin-layout { grid-template-columns: 1fr; }
    .grid-2, .grid-3, .stats-cards { grid-template-columns: 1fr; }
}
