:root {
    --admin-bg: #f4f6fb;
    --admin-ink: #151c35;
    --admin-primary: #5356df;
    --admin-sidebar: #111936;
    --admin-border: #e2e6f1;
}
body { background: var(--admin-bg); color: var(--admin-ink); }
.admin-login-body {
    background:
        radial-gradient(circle at 15% 10%, rgba(83,86,223,.25), transparent 36%),
        radial-gradient(circle at 90% 80%, rgba(49,210,192,.18), transparent 30%),
        #0d1530;
}
.login-card { width: min(100%, 510px); padding: clamp(1.5rem, 5vw, 3rem); border-radius: 30px; background: #fff; box-shadow: 0 35px 90px rgba(0,0,0,.33); }
.login-brand { display: inline-flex; align-items: center; gap: .7rem; color: var(--admin-ink); }
.login-brand span { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 14px; color: #fff; font-weight: 900; background: linear-gradient(135deg, #31d2c0, #5356df); }
.letter-spacing { letter-spacing: .14em; }
.btn-primary { --bs-btn-bg: var(--admin-primary); --bs-btn-border-color: var(--admin-primary); }
.input-group-text { background: #f7f8fc; border-color: #dfe3ef; }
.form-control, .form-select { border-color: #dfe3ef; }

.admin-shell { min-height: 100vh; display: flex; }
.admin-sidebar { position: fixed; inset: 0 auto 0 0; z-index: 1030; width: 270px; padding: 1.25rem; color: #fff; background: var(--admin-sidebar); overflow-y: auto; }
.admin-brand { display: flex; align-items: center; gap: .75rem; padding: .55rem; color: #fff; }
.admin-brand-mark { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 14px; font-weight: 900; background: linear-gradient(135deg, #31d2c0, #5356df); }
.admin-nav { display: grid; gap: .35rem; margin-top: 2rem; }
.admin-nav button { width: 100%; display: flex; align-items: center; gap: .8rem; padding: .85rem 1rem; color: rgba(255,255,255,.66); background: transparent; border: 0; border-radius: 13px; text-align: left; font-weight: 650; }
.admin-nav button:hover, .admin-nav button.active { color: #fff; background: rgba(255,255,255,.1); }
.admin-sidebar-footer { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.09); }
.admin-main { flex: 1; margin-left: 270px; min-width: 0; }
.admin-topbar { position: sticky; top: 0; z-index: 1020; display: flex; justify-content: space-between; align-items: center; padding: 1rem 1.5rem; background: rgba(244,246,251,.92); backdrop-filter: blur(15px); border-bottom: 1px solid var(--admin-border); }
.admin-content { padding: 1.5rem; }
.admin-section { display: none; }
.admin-section.active { display: block; }
.panel-card { background: #fff; border: 1px solid var(--admin-border); border-radius: 22px; box-shadow: 0 12px 34px rgba(26,34,70,.06); }
.panel-card-header { padding: 1.15rem 1.35rem; border-bottom: 1px solid var(--admin-border); }
.panel-card-body { padding: 1.35rem; }
.metric-card { height: 100%; padding: 1.25rem; border-radius: 20px; background: #fff; border: 1px solid var(--admin-border); }
.metric-icon { display: grid; place-items: center; width: 46px; height: 46px; border-radius: 15px; background: #eef0ff; color: var(--admin-primary); font-size: 1.25rem; }
.metric-value { font-size: 2rem; font-weight: 900; }
.table > :not(caption) > * > * { padding: .85rem; vertical-align: middle; }
.table thead th { font-size: .76rem; text-transform: uppercase; letter-spacing: .08em; color: #79819b; background: #fafbfe; white-space: nowrap; }
.table-responsive { border-radius: 0 0 22px 22px; }
.lang-tabs .nav-link { font-weight: 700; }
.admin-photo { width: 132px; height: 160px; object-fit: cover; border-radius: 20px; background: #eef0f8; }
.form-label { font-weight: 700; font-size: .88rem; }
.form-control, .form-select { min-height: 45px; border-radius: 12px; }
textarea.form-control { min-height: 110px; }
.modal-content { border: 0; border-radius: 24px; overflow: hidden; }
.modal-header { background: #f8f9fd; border-bottom-color: var(--admin-border); }
.image-thumb { width: 76px; height: 58px; object-fit: cover; border-radius: 10px; background: #eef0f8; }
.status-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: .35rem; }
.status-published { background: #198754; }
.status-draft { background: #ffc107; }
.status-archived { background: #6c757d; }
.mobile-sidebar-toggle { display: none; }
.toast-container { z-index: 3000; }

@media (max-width: 991.98px) {
    .admin-sidebar { transform: translateX(-100%); transition: .25s ease; }
    .admin-sidebar.open { transform: translateX(0); }
    .admin-main { margin-left: 0; }
    .mobile-sidebar-toggle { display: inline-flex; }
    .admin-content { padding: 1rem; }
}
