:root{--azul:#0a1538;--azul2:#111d42;--roxo:#5a2d8a;--roxo2:#7b4fa8;--laranja:#f5a623;--verde:#00c897;--branco:#fff;--cinza:#f4f6fb;--texto:#dfe6ff;--borda:rgba(255,255,255,.12)}*{box-sizing:border-box}body{margin:0;font-family:'Open Sans',sans-serif;background:var(--azul);color:var(--branco)}h1,h2,h3{font-family:'Montserrat',sans-serif}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;background:radial-gradient(circle at top,var(--roxo),transparent 34%),var(--azul)}.login-card{width:100%;max-width:420px;background:rgba(17,29,66,.94);border:1px solid var(--borda);border-radius:24px;padding:34px;box-shadow:0 30px 80px rgba(0,0,0,.35)}.login-card h1{margin:0 0 8px}.login-card p{color:rgba(255,255,255,.7);margin:0 0 25px}.admin-shell{display:flex;min-height:100vh}.sidebar{width:265px;background:#070f28;border-right:1px solid var(--borda);padding:24px;position:fixed;top:0;bottom:0;left:0}.brand{display:flex;align-items:center;gap:12px;margin-bottom:35px}.brand-mark{width:44px;height:44px;border-radius:14px;background:var(--laranja);color:var(--azul);display:flex;align-items:center;justify-content:center;font-weight:900}.brand strong{display:block;font-family:'Montserrat',sans-serif}.brand span{font-size:.82rem;color:rgba(255,255,255,.55)}.sidebar nav{display:grid;gap:9px}.sidebar a{color:rgba(255,255,255,.82);text-decoration:none;padding:13px 14px;border-radius:14px;font-weight:700}.sidebar a:hover{background:rgba(245,166,35,.14);color:var(--laranja)}.main-content{margin-left:265px;flex:1;padding:28px}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.topbar h1{margin:0;font-size:1.8rem}.topbar p{margin:5px 0 0;color:rgba(255,255,255,.6)}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}.card{background:rgba(255,255,255,.045);border:1px solid var(--borda);border-radius:22px;padding:22px;box-shadow:0 18px 45px rgba(0,0,0,.18)}.metric strong{font-size:2.3rem;font-family:'Montserrat',sans-serif;color:var(--laranja)}.metric span{display:block;color:rgba(255,255,255,.65);margin-top:6px}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:18px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 20px;font-family:'Montserrat',sans-serif;font-weight:800;text-decoration:none;cursor:pointer}.btn-primary{background:var(--laranja);color:var(--azul)}.btn-secondary{background:rgba(255,255,255,.08);color:var(--branco);border:1px solid var(--borda)}.btn-danger{background:#e44;color:white}.form{display:grid;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field label{display:block;margin-bottom:7px;font-weight:700;color:rgba(255,255,255,.86)}input,textarea,select{width:100%;padding:13px 15px;border-radius:14px;border:1px solid var(--borda);background:rgba(255,255,255,.06);color:var(--branco);font:inherit}select option{background:#111d42;color:#fff}textarea{min-height:110px;resize:vertical}.table-wrap{overflow:auto;border-radius:18px;border:1px solid var(--borda)}table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.035)}th,td{text-align:left;padding:14px;border-bottom:1px solid var(--borda);vertical-align:middle}th{font-family:'Montserrat',sans-serif;font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.65)}td{color:rgba(255,255,255,.88)}.avatar{width:54px;height:54px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.08)}.actions{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;padding:5px 10px;border-radius:999px;font-size:.8rem;font-weight:800}.pill-on{background:rgba(0,200,151,.14);color:var(--verde)}.pill-off{background:rgba(255,255,255,.1);color:rgba(255,255,255,.55)}.alert{padding:14px 16px;border-radius:16px;margin-bottom:16px;border:1px solid var(--borda)}.alert-error{background:rgba(228,68,68,.12);color:#ffb6b6}.alert-success{background:rgba(0,200,151,.12);color:#b7ffe8}.preview{max-width:130px;border-radius:14px;border:1px solid var(--borda)}.api-box code{display:block;background:rgba(0,0,0,.25);padding:10px;border-radius:12px;margin:7px 0;color:#d6e1ff}@media(max-width:850px){.sidebar{position:static;width:100%;border-right:0}.admin-shell{display:block}.main-content{margin-left:0;padding:18px}.form-row{grid-template-columns:1fr}.topbar{align-items:flex-start}.sidebar nav{grid-template-columns:repeat(2,1fr)}}

.banner-thumb{width:150px;height:58px;border-radius:12px;object-fit:cover;background:rgba(255,255,255,.08);border:1px solid var(--borda)}.banner-preview{width:min(100%,520px);max-height:220px;object-fit:cover;border-radius:18px;border:1px solid var(--borda)}.hint{margin:0;color:rgba(255,255,255,.6);font-size:.9rem}.table-link{color:var(--laranja);font-weight:800;text-decoration:none}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 24px;
}

.stats-grid.secondary {
    margin-top: 24px;
}

.stat-card {
    background: linear-gradient(145deg, #111d42, #0a1538);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 22px;
    padding: 24px;
    box-shadow: 0 18px 40px rgba(0,0,0,0.25);
}

.stat-card.highlight {
    background: linear-gradient(145deg, #5a2d8a, #111d42);
}

.stat-label {
    display: block;
    color: rgba(255,255,255,0.72);
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-bottom: 8px;
}

.stat-card strong {
    display: block;
    color: #fff;
    font-size: 38px;
    font-weight: 900;
    line-height: 1;
}

.stat-card small {
    display: block;
    margin-top: 10px;
    color: rgba(255,255,255,0.58);
}

.dashboard-grid {
    display: grid;
    grid-template-columns: 1.2fr 1fr;
    gap: 24px;
}

.dashboard-card {
    background: rgba(255,255,255,0.04);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 24px;
    padding: 26px;
}

.dashboard-card h2 {
    color: #fff;
    margin-bottom: 20px;
    font-size: 22px;
}

.radio-status {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
}

.radio-status div {
    background: rgba(255,255,255,0.04);
    border-radius: 16px;
    padding: 16px;
}

.radio-status span {
    display: block;
    color: rgba(255,255,255,0.55);
    font-size: 13px;
    margin-bottom: 6px;
}

.radio-status strong {
    color: #fff;
    font-size: 17px;
}

.music-card {
    display: flex;
    align-items: center;
    gap: 18px;
}

.music-card img {
    width: 92px;
    height: 92px;
    border-radius: 18px;
    object-fit: cover;
    background: #0a1538;
}

.music-card strong {
    display: block;
    color: #fff;
    font-size: 18px;
    margin-bottom: 8px;
}

.music-card span {
    color: rgba(255,255,255,0.65);
}

@media (max-width: 900px) {
    .stats-grid,
    .dashboard-grid,
    .radio-status {
        grid-template-columns: 1fr;
    }
}

.checkbox-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 10px;
}

.check-card {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    padding: 12px 14px;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
}

.check-card:hover {
    background: rgba(255,255,255,0.09);
}

.check-card input {
    width: 18px;
    height: 18px;
    accent-color: #f5a623;
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.form-actions {
    display: flex;
    gap: 12px;
    margin-top: 22px;
    flex-wrap: wrap;
}

@media (max-width: 700px) {
    .checkbox-grid,
    .form-row {
        grid-template-columns: 1fr;
    }
}
.checkbox-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.check-card {
    display: flex;
    align-items: center;
    gap: 10px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.08);
    border-radius: 14px;
    padding: 12px 14px;
    color: #fff;
    cursor: pointer;
    font-weight: 600;
}

.check-card:hover {
    background: rgba(255,255,255,0.09);
}

.check-card input {
    width: 18px;
    height: 18px;
    accent-color: #f5a623;
}

@media (max-width: 700px) {
    .checkbox-grid {
        grid-template-columns: 1fr;
    }
}

.form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.form-actions {
    display: flex;
    gap: 12px;
    margin-top: 22px;
    flex-wrap: wrap;
}

.alert-success {
    background: rgba(37, 211, 102, 0.14);
    border: 1px solid rgba(37, 211, 102, 0.35);
    color: #25d366;
    padding: 14px 16px;
    border-radius: 14px;
    margin-bottom: 16px;
    font-weight: 700;
}

@media (max-width: 700px) {
    .form-row {
        grid-template-columns: 1fr;
    }
}