/* ========== АДМИН-ПАНЕЛЬ — GIRAFFE BG ========== */

/* Хедер в режиме админки — тёмный с золотом */
body.admin-mode header {
    background: rgba(6,4,2,0.9) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid rgba(201,146,58,0.2);
    box-shadow: 0 4px 30px rgba(0,0,0,0.5);
}
body.admin-mode header .nav-menu a {
    color: #7a6040;
    transition: color 0.2s;
}
body.admin-mode header .nav-menu a:hover,
body.admin-mode header .nav-menu a.active {
    color: #e8b84b;
}
body.admin-mode header .nav-menu a.active::after,
body.admin-mode header .nav-menu a::after {
    background: #c9923a !important;
}
body.admin-mode header .cart-btn {
    background: transparent !important;
    color: #e8b84b !important;
    border: 1px solid #8a6020 !important;
    box-shadow: none !important;
}
body.admin-mode header .cart-btn:hover {
    background: rgba(201,146,58,0.1) !important;
    border-color: #e8b84b !important;
}
body.admin-mode header .cart-count {
    background: linear-gradient(135deg, #8a6020, #e8b84b) !important;
    color: #080604 !important;
}
body.admin-mode header .account-btn {
    background: transparent !important;
    border: 1px solid #8a6020 !important;
    color: #e8b84b !important;
}
body.admin-mode header .account-btn:hover {
    background: rgba(201,146,58,0.1) !important;
    border-color: #e8b84b !important;
}
body.admin-mode header .logo-img {
    filter: brightness(0.9) sepia(0.3) hue-rotate(-20deg);
}
body.admin-mode header .burger span {
    background: #c9923a !important;
}

/* Футер в режиме админки */
body.admin-mode footer {
    background: rgba(6,4,2,0.96) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-top: 1px solid rgba(201,146,58,0.25);
    color: #7a6040 !important;
    position: relative;
    z-index: 2;
}
body.admin-mode footer::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, #8a6020, #e8b84b, #8a6020, transparent);
    opacity: 0.6;
}
body.admin-mode footer .footer-col-title {
    color: #8a6020 !important;
    letter-spacing: 3px !important;
}
body.admin-mode footer .footer-col a,
body.admin-mode footer .footer-col ul li a {
    color: #9a8060 !important;
    transition: color 0.2s;
}
body.admin-mode footer .footer-col a:hover,
body.admin-mode footer .footer-col ul li a:hover {
    color: #e8b84b !important;
}
body.admin-mode footer .footer-bottom,
body.admin-mode footer .copyright {
    color: #5a4020 !important;
    border-color: rgba(201,146,58,0.15) !important;
}
body.admin-mode footer .footer-logo {
    filter: brightness(0.85) sepia(0.3) hue-rotate(-20deg);
}

#page-admin {
    --g-gold:    #c9923a;
    --g-gold2:   #e8b84b;
    --g-gold3:   #f5d070;
    --g-gold4:   #8a6020;
    --g-black:   #080808;
    --g-surface: rgba(10,8,4,0.94);
    --g-card:    rgba(14,11,5,0.96);
    --g-border:  rgba(201,146,58,0.18);
    --g-border2: rgba(201,146,58,0.32);
    --g-text:    #e8dcc8;
    --g-muted:   #7a6040;
}

#admin-app {
    width: 100%;
    min-width: 0;
    min-height: 100vh;
    position: relative;
    background-color: #080604;
}

/* Два слоя фона-жирафа — зеркально по краям */
#admin-app::before {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
url('/uploads/giraffe-bg.jpg'),
url('/uploads/giraffe-bg.jpg');
    background-repeat: no-repeat, no-repeat;
    background-position: left center, right center;
    background-size: auto 100vh, auto 100vh;
    /* Правый — зеркально */
    /* Трюк: через CSS transform нельзя отдельно зеркалить слой background,
       поэтому используем HTML-элементы вместо псевдоэлемента */
    display: none;
}

/* Жирафы — реальные div поверх фона */
.admin-bg-giraffe {
    position: fixed;
    top: 0;
    height: 100vh;
    width: 45vw;
    max-width: 700px;
    background-image: url('/uploads/giraffe-bg.jpg');
    background-size: cover;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}
.admin-bg-giraffe.left {
    left: 0;
    background-position: center center;
    /* мягко растворяется вправо к центру */
    mask-image: linear-gradient(90deg, #000 0%, #000 50%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 50%, transparent 100%);
}
.admin-bg-giraffe.right {
    right: 0;
    background-position: center center;
    transform: scaleX(-1); /* зеркалим */
    mask-image: linear-gradient(90deg, #000 0%, #000 50%, transparent 100%);
    -webkit-mask-image: linear-gradient(90deg, #000 0%, #000 50%, transparent 100%);
}

/* Тёмный оверлей по центру для читаемости */
#admin-app::after {
    content: '';
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
radial-gradient(ellipse 55% 100% at 50% 50%,
    rgba(6,4,2,0.96) 0%,
    rgba(6,4,2,0.82) 55%,
    rgba(6,4,2,0.3) 85%,
    transparent 100%);
}

#admin-app > * { position: relative; z-index: 1; }

/* СТРУКТУРА */
.admin-inner {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    padding: 0 2rem;
    box-sizing: border-box;
}
@media (max-width: 768px) { .admin-inner { padding: 0 1rem; } }
.admin-panel { padding: 0 0 5rem; width: 100%; box-sizing: border-box; }

/* HERO */
.admin-hero {
    background: radial-gradient(ellipse 60% 100% at 50% 50%,
rgba(4,3,1,0.9) 0%,
rgba(4,3,1,0.7) 50%,
rgba(4,3,1,0.2) 85%,
transparent 100%);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    border-bottom: 1px solid var(--g-border);
    padding: 1.8rem 0 1.6rem;
    width: 100%;
    box-sizing: border-box;
    position: relative;
}
.admin-hero-inner { position: relative; z-index: 1; }
.admin-hero-top {
    display: block;
    position: relative;
    text-align: center;
}
.admin-hero-title-wrap {
    text-align: center;
    width: 100%;
}
.admin-hero-eyebrow {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--g-gold4);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 10px;
}
.admin-hero-eyebrow::before,
.admin-hero-eyebrow::after {
    content: '';
    flex: 0 0 28px;
    height: 1px;
    background: var(--g-gold4);
    opacity: 0.5;
}
.admin-hero h2 {
    font-family: 'Playfair Display', serif;
    font-size: 2.4rem;
    font-weight: 700;
    margin: 0 0 8px;
    line-height: 1.1;
    letter-spacing: -0.5px;
    background: linear-gradient(135deg, var(--g-gold3) 0%, var(--g-gold2) 45%, var(--g-gold) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    text-shadow: none;
}
.admin-hero-sub {
    font-size: 0.76rem;
    color: var(--g-muted);
    letter-spacing: 0.5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.admin-hero-sub .status-dot {
    width: 6px; height: 6px;
    border-radius: 50%;
    background: var(--g-gold2);
    box-shadow: 0 0 8px var(--g-gold2);
    animation: gPulse 3s ease-in-out infinite;
    flex-shrink: 0;
}
@keyframes gPulse {
    0%,100% { opacity: 1; }
    50% { opacity: 0.35; }
}
.admin-logout-btn {
    position: absolute;
    top: 0;
    right: 2rem;
    background: rgba(8,6,2,0.85);
    border: 1px solid var(--g-gold4);
    color: var(--g-gold2);
    padding: 13px 32px;
    border-radius: 2px;
    font-size: 0.85rem;
    font-weight: 800;
    cursor: pointer;
    font-family: inherit;
    letter-spacing: 3px;
    text-transform: uppercase;
    transition: all 0.25s;
    backdrop-filter: blur(4px);
    z-index: 5;
}
.admin-logout-btn:hover {
    border-color: var(--g-gold2);
    color: var(--g-gold3);
    background: rgba(201,146,58,0.15);
    box-shadow: 0 0 20px rgba(201,146,58,0.15);
}
@media (max-width: 768px) {
    .admin-logout-btn {
right: 1rem;
padding: 10px 20px;
font-size: 0.75rem;
letter-spacing: 2px;
    }
}

/* ТАБЫ */
.admin-tabs {
    background: rgba(6,5,2,0.75);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--g-border);
    width: 100%;
    box-sizing: border-box;
    position: sticky;
    top: 0;
    z-index: 10;
}
.admin-tabs-inner {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    padding: 0 2rem;
    display: flex;
    justify-content: center;
    box-sizing: border-box;
    overflow-x: auto;
}
.admin-tabs-inner::-webkit-scrollbar { display: none; }
.admin-tab {
    padding: 14px 20px;
    border: none;
    border-bottom: 2px solid transparent;
    background: transparent;
    font-family: 'Raleway', sans-serif;
    font-size: 0.75rem;
    font-weight: 800;
    color: var(--g-muted);
    cursor: pointer;
    transition: color 0.2s, border-color 0.2s;
    display: flex;
    align-items: center;
    gap: 7px;
    margin-bottom: -1px;
    white-space: nowrap;
    letter-spacing: 2px;
    text-transform: uppercase;
}
.admin-tab:hover { color: var(--g-gold2); }
.admin-tab.active { color: var(--g-gold2); border-bottom-color: var(--g-gold); }

.admin-tab-content { display: none; }
.admin-tab-content.active {
    display: block;
    min-height: 400px;
    animation: fadeInUp 0.2s ease;
}

/* СЕКЦИИ — стекло поверх жирафа */
.admin-section {
    background: var(--g-card);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--g-border);
    border-radius: 2px;
    padding: 22px 24px;
    margin-bottom: 12px;
    position: relative;
    box-shadow: 0 8px 40px rgba(0,0,0,0.5);
}
.admin-section::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, var(--g-gold4), var(--g-gold2), var(--g-gold4), transparent);
    opacity: 0.6;
}
.admin-section-title {
    font-size: 0.65rem;
    font-weight: 800;
    color: var(--g-gold4);
    margin: 0 0 16px;
    display: flex;
    align-items: center;
    gap: 10px;
    letter-spacing: 3px;
    text-transform: uppercase;
}
.admin-section-title::after {
    content: '';
    flex: 1;
    height: 1px;
    background: linear-gradient(90deg, var(--g-border), transparent);
}

/* КАРТОЧКИ СТАТИСТИКИ */
.stats-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin-bottom: 12px;
}
.stats-grid .stat-card {
    flex: 1 1 180px;
    max-width: 240px;
    min-width: 160px;
}
.stat-card {
    background: var(--g-card);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--g-border);
    border-radius: 2px;
    padding: 20px 16px 18px;
    text-align: center;
    position: relative;
    overflow: hidden;
    transition: transform 0.25s, border-color 0.25s, box-shadow 0.25s;
}
.stat-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, var(--g-gold4), var(--g-gold2), var(--g-gold4), transparent);
    opacity: 0; transition: opacity 0.3s;
}
.stat-card:hover {
    transform: translateY(-3px);
    border-color: var(--g-border2);
    box-shadow: 0 16px 48px rgba(0,0,0,0.5);
}
.stat-card:hover::before { opacity: 1; }
.stat-card .stat-icon { font-size: 1.3rem; margin-bottom: 10px; opacity: 0.55; transition: opacity 0.25s; }
.stat-card:hover .stat-icon { opacity: 1; }
.stat-card .stat-val {
    font-family: 'Playfair Display', serif;
    font-size: 2rem; font-weight: 700; line-height: 1; letter-spacing: -1px;
    background: linear-gradient(135deg, var(--g-gold3), var(--g-gold2), var(--g-gold));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
}
.stat-card .stat-label {
    font-size: 0.6rem; color: var(--g-muted); margin-top: 7px;
    text-transform: uppercase; letter-spacing: 2px; font-weight: 800;
}
.stats-loading { text-align: center; padding: 40px; color: var(--g-muted); }

/* Селектор периода статистики */
.stats-period-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin-bottom: 16px;
    flex-wrap: wrap;
}
.stats-period-label {
    font-size: 0.72rem;
    color: var(--g-muted);
    text-transform: uppercase;
    letter-spacing: 2px;
    font-weight: 700;
}
.stats-period-tabs {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
    background: var(--g-card);
    border: 1px solid var(--g-border);
    border-radius: 2px;
    padding: 4px;
}
.stats-period-tab {
    background: transparent;
    color: var(--g-muted);
    border: 1px solid transparent;
    padding: 7px 14px;
    border-radius: 2px;
    font-family: inherit;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.stats-period-tab:hover {
    color: var(--g-gold3);
    background: rgba(201,146,58,0.08);
}
.stats-period-tab.active {
    background: rgba(201,146,58,0.15);
    color: var(--g-gold3);
    border-color: var(--g-border2);
}
.stats-period-tab[disabled] { opacity: 0.5; cursor: wait; }
@media (max-width: 640px) {
    .stats-period-tab { padding: 6px 10px; font-size: 0.72rem; }
}

/* ФОРМА ВХОДА */
.login-form {
    max-width: 360px;
    margin: 15vh auto 0;
    background: var(--g-card);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid var(--g-border2);
    border-radius: 2px;
    padding: 3rem 2.2rem 2.6rem;
    text-align: center;
    position: relative;
    box-shadow: 0 40px 100px rgba(0,0,0,0.7);
}
.login-form::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 2px;
    background: linear-gradient(90deg, transparent 5%, var(--g-gold4) 25%, var(--g-gold3) 50%, var(--g-gold4) 75%, transparent 95%);
}
.login-form .login-icon { font-size: 2.5rem; margin-bottom: 18px; display: block; }
.login-form h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.5rem; margin-bottom: 6px;
    background: linear-gradient(135deg, var(--g-gold3), var(--g-gold2), var(--g-gold));
    -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
    font-weight: 700;
}
.login-form .login-sub { font-size: 0.74rem; color: var(--g-muted); margin-bottom: 28px; letter-spacing: 0.5px; }
.login-form input {
    width: 100%; padding: 13px 16px;
    border: 1px solid var(--g-border);
    border-radius: 2px;
    font-size: 1.1rem; font-family: inherit; margin-bottom: 14px;
    background: rgba(8,6,2,0.6);
    color: var(--g-gold2); text-align: center; letter-spacing: 6px;
    transition: border-color 0.2s, box-shadow 0.2s; box-sizing: border-box;
}
.login-form input::placeholder { letter-spacing: 3px; color: var(--g-gold4); font-size: 0.9rem; }
.login-form input:focus {
    outline: none; border-color: var(--g-gold4);
    box-shadow: 0 0 0 1px var(--g-gold4), 0 0 30px rgba(201,146,58,0.1);
}
.login-form .btn-login {
    width: 100%; padding: 13px;
    background: transparent; color: var(--g-gold2);
    border: 1px solid var(--g-gold4); border-radius: 2px;
    font-size: 0.7rem; font-weight: 800; cursor: pointer;
    font-family: inherit; letter-spacing: 5px; text-transform: uppercase;
    transition: all 0.25s;
}
.login-form .btn-login:hover {
    background: rgba(201,146,58,0.1);
    border-color: var(--g-gold2); color: var(--g-gold3);
    box-shadow: 0 0 30px rgba(201,146,58,0.12);
    transform: translateY(-1px);
}

/* ТАБЛИЦА */
.admin-table { width: 100%; border-collapse: collapse; font-size: 0.87rem; }
.admin-table th {
    text-align: left; padding: 10px 12px;
    background: rgba(8,6,2,0.5);
    color: var(--g-gold4);
    font-weight: 800; font-size: 0.62rem;
    text-transform: uppercase; letter-spacing: 2.5px;
    border-bottom: 1px solid var(--g-border);
}
.admin-table td { padding: 11px 12px; border-bottom: 1px solid var(--g-border); color: var(--g-text); }
.admin-table tr:last-child td { border-bottom: none; }
.admin-table tr:hover td { background: rgba(201,146,58,0.04); }

/* ФОРМЫ */
.admin-form {
    background: var(--g-card);
    backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
    border: 1px solid var(--g-border); border-radius: 2px;
    padding: 22px 24px; margin-bottom: 12px; position: relative;
    box-shadow: 0 4px 40px rgba(0,0,0,0.4);
}
.admin-form::before {
    content: ''; position: absolute;
    top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, var(--g-gold4), var(--g-gold2), var(--g-gold4), transparent);
    opacity: 0.4;
}
.admin-form-title {
    font-size: 0.65rem; font-weight: 800; color: var(--g-gold4);
    margin: 0 0 16px; letter-spacing: 3px; text-transform: uppercase;
    display: flex; align-items: center; gap: 10px;
}
.admin-form-title::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg, var(--g-border), transparent); }
.admin-form input[type="text"],
.admin-form input[type="url"],
.admin-form input[type="email"],
.admin-form textarea {
    width: 100%; padding: 11px 14px;
    border: 1px solid var(--g-border); border-radius: 2px;
    font-size: 0.9rem; font-family: inherit; margin-bottom: 10px;
    background: rgba(8,6,2,0.5); color: var(--g-text);
    transition: border-color 0.2s, box-shadow 0.2s; box-sizing: border-box;
}
.admin-form input::placeholder, .admin-form textarea::placeholder { color: var(--g-muted); }
.admin-form input:focus, .admin-form textarea:focus {
    outline: none; border-color: var(--g-gold4);
    box-shadow: 0 0 0 1px var(--g-gold4), 0 0 20px rgba(201,146,58,0.06);
}
.admin-form textarea { min-height: 100px; resize: vertical; }
.admin-form button.btn-primary {
    background: transparent; color: var(--g-gold2);
    border: 1px solid var(--g-gold4); border-radius: 2px;
    padding: 10px 28px; font-weight: 800; font-size: 0.7rem;
    cursor: pointer; font-family: inherit; letter-spacing: 2px;
    text-transform: uppercase; transition: all 0.25s;
}
.admin-form button.btn-primary:hover {
    background: rgba(201,146,58,0.1); border-color: var(--g-gold2);
    color: var(--g-gold3); box-shadow: 0 0 20px rgba(201,146,58,0.1);
    transform: translateY(-1px);
}
.admin-form button.btn-primary:disabled { opacity: 0.3; transform: none; }

/* ПЕРЕОПРЕДЕЛЕНИЯ */
#page-admin .rich-editor-wrap {
    border: 1px solid var(--g-border);
    border-radius: 2px;
    background: rgba(8,6,2,0.9);
}
#page-admin .rich-editor-wrap:focus-within { border-color: var(--g-gold4); }
#page-admin .rich-editor-body {
    background: rgba(8,6,2,0.7);
    color: var(--g-text);
    border-color: var(--g-border);
    min-height: 140px;
}
#page-admin .rich-editor-body:empty::before {
    color: var(--g-muted);
}
#page-admin .rich-editor-toolbar {
    background: rgba(4,3,1,0.92);
    border-bottom: 1px solid var(--g-border);
}
#page-admin .rich-editor-toolbar button {
    background: transparent;
    color: var(--g-muted);
    border: 1px solid var(--g-border);
}
#page-admin .rich-editor-toolbar button:hover {
    background: rgba(201,146,58,0.1);
    color: var(--g-gold2);
    border-color: var(--g-border2);
}
#page-admin .rich-editor-toolbar button.active {
    background: rgba(201,146,58,0.15);
    color: var(--g-gold2);
    border-color: var(--g-gold4);
}
#page-admin .rich-editor-toolbar .toolbar-sep { background: var(--g-border); }
#page-admin .admin-news-list li {
    background: rgba(14,11,5,0.95);
    border: 1px solid var(--g-border);
    color: var(--g-text);
}
#page-admin .admin-news-list li:hover { border-color: var(--g-border2); background: rgba(18,14,6,0.95); }
#page-admin .admin-news-list li strong { color: var(--g-text); }
#page-admin .admin-news-list li small { color: var(--g-muted); }

/* Карточки тематик и статистики тематик в тёмной админке */
#page-admin .topic-admin-card {
    background: rgba(14,11,5,0.95);
    border: 1px solid var(--g-border);
    color: var(--g-text);
    border-radius: 2px;
}
#page-admin .topic-admin-card:hover { border-color: var(--g-border2); background: rgba(18,14,6,0.95); }
#page-admin .topic-admin-card.topic-hidden { opacity: 0.5; background: rgba(8,6,2,0.7); }
#page-admin .topic-admin-name { color: var(--g-text); }
#page-admin .topic-admin-meta { color: var(--g-muted); }
#page-admin .topic-admin-meta code {
    background: rgba(201,146,58,0.1);
    color: var(--g-gold3);
    padding: 1px 6px;
    border-radius: 2px;
    border: 1px solid var(--g-border);
}
#page-admin .topic-admin-cover {
    background: rgba(8,6,2,0.7);
    border: 1px solid var(--g-border);
    border-radius: 2px;
}
#page-admin .topic-admin-cover-placeholder {
    color: var(--g-gold2);
    background: rgba(201,146,58,0.08);
}
#page-admin .topic-hidden-badge {
    background: rgba(160,50,50,0.15);
    color: #c08080;
    border: 1px solid rgba(160,50,50,0.3);
}
#page-admin .btn-topic-small,
#page-admin .btn-topic-toggle,
#page-admin .btn-topic-edit {
    background: rgba(201,146,58,0.12);
    color: var(--g-gold2);
    border: 1px solid var(--g-border2);
    border-radius: 2px;
}
#page-admin .btn-topic-small:hover,
#page-admin .btn-topic-toggle:hover,
#page-admin .btn-topic-edit:hover {
    background: rgba(201,146,58,0.2);
    color: var(--g-gold3);
}
#page-admin .btn-topic-delete {
    background: rgba(160,50,50,0.15);
    color: #c08080;
    border: 1px solid rgba(160,50,50,0.3);
    border-radius: 2px;
}
#page-admin .btn-topic-delete:hover {
    background: rgba(160,50,50,0.25);
    color: #e0a0a0;
}
/* Статистика тематик */
#page-admin .topic-stat {
    background: rgba(14,11,5,0.95);
    border: 1px solid var(--g-border);
    border-radius: 2px;
}
#page-admin .topic-stat-label { color: var(--g-muted); }
#page-admin .topic-stat-val   { color: var(--g-text); }
#page-admin .topic-stat-alert {
    background: rgba(160,50,50,0.12);
    border-color: rgba(160,50,50,0.3);
}
#page-admin .topic-stat-alert .topic-stat-val { color: #e0a0a0; }
/* Drag handle в тёмной теме */
#page-admin .drag-handle { color: var(--g-muted); }
#page-admin .drag-handle:hover { color: var(--g-gold3); }
/* Индикаторы drag-over — золотые вместо розовых */
#page-admin .topic-admin-card.drag-over-top::before,
#page-admin .topic-admin-card.drag-over-bottom::after,
#page-admin .mc-admin-card.drag-over-top::before,
#page-admin .mc-admin-card.drag-over-bottom::after,
#page-admin .admin-news-list li.drag-over-top::before,
#page-admin .admin-news-list li.drag-over-bottom::after {
    background: var(--g-gold3);
    box-shadow: 0 0 10px rgba(201,146,58,0.6);
}
/* Форма редактирования тематики */
#page-admin .topic-form-wrap {
    background: rgba(14,11,5,0.95);
    border: 1px solid var(--g-border);
    color: var(--g-text);
}
#page-admin .topic-form-wrap input[type="text"],
#page-admin .topic-form-wrap input:not([type]),
#page-admin .topic-form-wrap textarea {
    background: rgba(8,6,2,0.85);
    color: var(--g-text);
    border: 1px solid var(--g-border);
}
#page-admin .del-btn { background: rgba(160,50,50,0.15); color: #c08080; border: 1px solid rgba(160,50,50,0.3); border-radius: 2px; }
#page-admin .del-btn:hover { background: rgba(160,50,50,0.25); color: #e0a0a0; }
#page-admin .btn-mc-small { background: rgba(201,146,58,0.12); color: var(--g-gold2); border: 1px solid var(--g-border2); border-radius: 2px; }
#page-admin .btn-mc-small:hover { background: rgba(201,146,58,0.2); color: var(--g-gold3); }
#page-admin select { background: rgba(8,6,2,0.85); color: var(--g-text); border: 1px solid var(--g-border); border-radius: 2px; padding: 8px 12px; font-family: inherit; }
#page-admin label { color: var(--g-text); }
#page-admin small, #page-admin .hint { color: var(--g-muted); }
#page-admin input[type="checkbox"] { accent-color: var(--g-gold); }
#page-admin .sort-saved-msg { color: var(--g-gold2); }
#page-admin .drag-handle { color: var(--g-muted); }

/* Промокоды — оборачивающие контейнеры полностью непрозрачные */
#page-admin .promo-list {
    background: #0d0a04 !important;
    padding: 4px 0;
}
#page-admin .promo-add-form {
    background: #0d0a04 !important;
    border: 1px solid rgba(201,146,58,0.2) !important;
    padding: 22px 24px !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    position: relative;
}
#page-admin .promo-add-form::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; height: 1px;
    background: linear-gradient(90deg, transparent, #8a6020, #e8b84b, #8a6020, transparent);
    opacity: 0.5;
}
#page-admin .promo-add-form h4 {
    color: #8a6020 !important;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-size: 0.75rem;
    margin-bottom: 16px;
}
#page-admin .promo-form-label {
    color: #7a6040 !important;
    font-size: 0.72rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    margin-bottom: 4px;
    font-weight: 700;
}

/* Промокоды — таб получает свой фон */
#page-admin #tab-promos,
#page-admin #tab-promos * {
    background-color: #0d0a04 !important;
    color: #e8dcc8 !important;
}
#page-admin #tab-promos { padding: 20px; }
/* Возвращаем нужные цвета элементам */
#page-admin #tab-promos .promo-code-badge {
    color: #e8b84b !important;
    border: 1px solid rgba(201,146,58,0.4) !important;
}
#page-admin #tab-promos .promo-del-btn {
    background-color: rgba(80,20,20,0.8) !important;
    color: #c09090 !important;
    border: 1px solid rgba(160,60,60,0.5) !important;
}
#page-admin #tab-promos .promo-del-btn:hover {
    background-color: #5a1a1a !important;
    color: #fff !important;
}
#page-admin #tab-promos .promo-info .promo-desc { color: #7a6040 !important; }
#page-admin #tab-promos input:focus,
#page-admin #tab-promos select:focus {
    border-color: #c9923a !important;
    outline: none !important;
}
#page-admin .promo-list { background: transparent; }

/* Мастер-классы */
/* ========== УНИФИЦИРОВАННЫЕ КАРТОЧКИ НОВОСТЕЙ/МК В АДМИНКЕ ========== */
#page-admin .admin-item-card {
    display: flex;
    gap: 14px;
    padding: 14px;
    background: #0d0a04 !important;
    border: 1px solid rgba(201,146,58,0.3) !important;
    border-radius: 2px !important;
    margin-bottom: 10px;
    align-items: flex-start;
    transition: border-color 0.25s;
}
#page-admin .admin-item-card:hover {
    border-color: rgba(201,146,58,0.55) !important;
}
#page-admin .admin-item-card .mc-admin-card-thumb {
    width: 110px;
    height: 70px;
    object-fit: cover;
    border-radius: 2px !important;
    flex-shrink: 0;
    background: rgba(201,146,58,0.08) !important;
}
#page-admin .admin-item-info {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
#page-admin .admin-item-meta-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 0.75rem;
}
#page-admin .admin-item-date {
    color: #8a7050 !important;
    letter-spacing: 0.5px;
}
#page-admin .admin-item-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.2rem;
    font-weight: 600;
    color: #e8dcc8 !important;
    line-height: 1.25;
}
#page-admin .admin-item-sub {
    font-size: 0.82rem;
    color: #7a6040 !important;
    line-height: 1.4;
}
#page-admin .admin-item-actions {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
    margin-top: 4px;
}
#page-admin .admin-item-btn {
    background: transparent !important;
    color: #c9923a !important;
    border: 1px solid rgba(201,146,58,0.4) !important;
    border-radius: 2px !important;
    padding: 6px 12px !important;
    font-size: 0.75rem !important;
    font-family: inherit !important;
    letter-spacing: 1px !important;
    cursor: pointer;
    transition: all 0.2s !important;
    font-weight: 600 !important;
}
#page-admin .admin-item-btn:hover {
    background: rgba(201,146,58,0.12) !important;
    color: #e8b84b !important;
    border-color: #c9923a !important;
    box-shadow: none !important;
}
#page-admin .admin-item-btn-danger {
    color: #c08080 !important;
    border-color: rgba(160,60,60,0.4) !important;
}
#page-admin .admin-item-btn-danger:hover {
    background: rgba(80,20,20,0.5) !important;
    color: #fff !important;
    border-color: #c06060 !important;
}

/* Бейдж статуса опубликован/скрыт */
#page-admin .item-status-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 2px;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    text-transform: uppercase;
}
#page-admin .item-status-badge.published {
    color: #a0d0a0 !important;
    background: rgba(50,90,50,0.22);
    border: 1px solid rgba(50,90,50,0.4);
}
#page-admin .item-status-badge.draft {
    color: #d0a060 !important;
    background: rgba(160,100,20,0.18);
    border: 1px solid rgba(160,100,20,0.35);
}

/* Плашка «Новое» */
#page-admin .item-new-badge {
    display: inline-block;
    padding: 2px 10px;
    border-radius: 2px;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 1.5px;
    text-transform: uppercase;
    background: linear-gradient(135deg, #8a6020, #e8b84b) !important;
    color: #080808 !important;
}

#page-admin .admin-item-card .drag-handle {
    align-self: center;
    font-size: 1.2rem;
    color: rgba(201,146,58,0.4) !important;
    cursor: grab;
    padding: 0 4px;
    user-select: none;
}
#page-admin .admin-item-card .drag-handle:active { cursor: grabbing; }

/* Мастер-классы */
#page-admin .mc-admin-card {
    background: #0d0a04 !important;
    border: 1px solid rgba(201,146,58,0.3) !important;
    border-radius: 2px !important;
    color: #e8dcc8 !important;
}
#page-admin .mc-admin-card:hover { border-color: rgba(201,146,58,0.5) !important; }
#page-admin .mc-admin-card-info h4 { color: #e8dcc8 !important; }
#page-admin .mc-admin-card-info .meta { color: #7a6040 !important; }
#page-admin .mc-admin-card-thumb { background: rgba(201,146,58,0.08) !important; }
#page-admin .mc-admin-badge {
    background: rgba(50,90,50,0.25) !important;
    color: #a0d0a0 !important;
    border: 1px solid rgba(50,90,50,0.35) !important;
}
#page-admin .mc-admin-badge.draft {
    background: rgba(160,100,20,0.2) !important;
    color: #d0a060 !important;
    border-color: rgba(160,100,20,0.35) !important;
}

#page-admin .mc-admin-item, #page-admin .mc-list-admin-item {
    background: rgba(14,11,5,0.95) !important;
    border: 1px solid var(--g-border) !important;
    color: var(--g-text) !important;
    border-radius: 2px !important;
}
#page-admin .mc-admin-item:hover { border-color: var(--g-border2) !important; }
#page-admin #mc-selected-products > div {
    background: rgba(8,6,2,0.7) !important;
    border: 1px solid var(--g-border) !important;
    color: var(--g-text) !important;
}

#page-admin .badge-new { background: linear-gradient(135deg, var(--g-gold4), var(--g-gold2)); color: #080808; }
#page-admin .message.success { background: rgba(50,90,50,0.25); color: #a0d0a0; border: 1px solid rgba(50,90,50,0.35); border-radius: 2px; padding: 10px 14px; margin-top: 10px; }
#page-admin .message.error { background: rgba(160,50,50,0.2); color: #d0a0a0; border: 1px solid rgba(160,50,50,0.3); border-radius: 2px; padding: 10px 14px; margin-top: 10px; }
#page-admin .btn { background: transparent; color: var(--g-muted); border: 1px solid var(--g-border); border-radius: 2px; }

/* BAR-chart доставки */
#page-admin .delivery-bar-fill { background: linear-gradient(90deg, var(--g-gold4), var(--g-gold2)) !important; }

/* B2B заказы в админке */
.b2b-count-badge {
    display: inline-block;
    background: #e53935;
    color: #fff;
    border-radius: 50%;
    font-size: 0.65rem;
    font-weight: 800;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    margin-left: 4px;
    vertical-align: middle;
}
#page-admin #tab-b2b { background: #0d0a04; padding: 20px; }
#page-admin .b2b-order-card {
    background: #100d06 !important;
    border: 1px solid rgba(201,146,58,0.25) !important;
    border-radius: 2px !important;
    padding: 16px;
    margin-bottom: 12px;
    transition: border-color 0.2s;
}
#page-admin .b2b-order-card:hover { border-color: rgba(201,146,58,0.5) !important; }
#page-admin .b2b-order-card.status-pending_review { border-left: 3px solid #ffd54f !important; }
#page-admin .b2b-order-card.status-invoice_issued { border-left: 3px solid #42a5f5 !important; }
#page-admin .b2b-order-card.status-paid           { border-left: 3px solid #66bb6a !important; }
#page-admin .b2b-order-card.status-rejected       { border-left: 3px solid #ef5350 !important; }
#page-admin .b2b-order-card.status-shipped        { border-left: 3px solid #ab47bc !important; }
#page-admin .b2b-order-head { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; flex-wrap:wrap; margin-bottom:8px; }
#page-admin .b2b-order-title { font-size:1rem; color:#e8dcc8; font-weight:700; }
#page-admin .b2b-order-meta  { font-size:0.8rem; color:#7a6040; margin-bottom:10px; line-height:1.6; }
#page-admin .b2b-status-badge { display:inline-block; padding:3px 10px; border-radius:2px; font-size:0.7rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; }
#page-admin .b2b-status-badge.pending_review { background:rgba(255,213,79,0.15); color:#ffd54f; border:1px solid rgba(255,213,79,0.3); }
#page-admin .b2b-status-badge.invoice_issued { background:rgba(66,165,245,0.15); color:#42a5f5; border:1px solid rgba(66,165,245,0.3); }
#page-admin .b2b-status-badge.paid           { background:rgba(102,187,106,0.15); color:#66bb6a; border:1px solid rgba(102,187,106,0.3); }
#page-admin .b2b-status-badge.rejected       { background:rgba(239,83,80,0.15);  color:#ef5350; border:1px solid rgba(239,83,80,0.3); }
#page-admin .b2b-status-badge.shipped        { background:rgba(171,71,188,0.15); color:#ab47bc; border:1px solid rgba(171,71,188,0.3); }
#page-admin .b2b-pos-row { display:flex; gap:10px; align-items:center; font-size:0.82rem; padding:5px 0; border-bottom:1px solid rgba(201,146,58,0.08); }
#page-admin .b2b-pos-row:last-child { border-bottom:none; }
#page-admin .b2b-pos-name { flex:1; color:#e8dcc8; }
#page-admin .b2b-pos-qty  { color:#7a6040; white-space:nowrap; }
#page-admin .b2b-pos-stock { font-size:0.75rem; white-space:nowrap; }
#page-admin .b2b-pos-stock.ok   { color:#66bb6a; }
#page-admin .b2b-pos-stock.warn { color:#ffd54f; }
#page-admin .b2b-pos-stock.err  { color:#ef5350; }
#page-admin .b2b-order-actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; padding-top:12px; border-top:1px solid rgba(201,146,58,0.12); }
#page-admin .b2b-action-btn { padding:7px 14px; border-radius:2px; font-size:0.75rem; font-weight:700; letter-spacing:1px; cursor:pointer; transition:all 0.2s; border:1px solid rgba(201,146,58,0.4); background:transparent; color:#c9923a; font-family:inherit; }
#page-admin .b2b-action-btn:hover { background:rgba(201,146,58,0.12); color:#e8b84b; box-shadow:none !important; }
#page-admin .b2b-action-btn.primary { background:rgba(201,146,58,0.18); border-color:#c9923a; color:#e8b84b; }
#page-admin .b2b-action-btn.danger  { color:#ef5350; border-color:rgba(239,83,80,0.4); }
#page-admin .b2b-action-btn.danger:hover { background:rgba(239,83,80,0.1); color:#ef5350; }

.admin-hero-eyebrow {
    font-size: 0.62rem;
    font-weight: 800;
    letter-spacing: 5px;
    text-transform: uppercase;
    color: var(--g-gold4);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}
.admin-hero-eyebrow::before,
.admin-hero-eyebrow::after {
    content: '';
    flex: 0 0 28px;
    height: 1px;
    background: var(--g-gold4);
    opacity: 0.5;
}

/* Промокоды — перебиваем глобальные белые стили */
#page-admin .promo-item {
    background: #0d0a04 !important;
    border: 1px solid rgba(201,146,58,0.3) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
    color: #e8dcc8 !important;
}
#page-admin .promo-code-badge {
    background: rgba(201,146,58,0.15) !important;
    color: #e8b84b !important;
    border: 1px solid rgba(201,146,58,0.35) !important;
    border-radius: 2px !important;
}
#page-admin .promo-info div { color: #e8dcc8 !important; }
#page-admin .promo-info .promo-desc { color: #7a6040 !important; }
#page-admin .promo-info .promo-uses { color: #5a4020 !important; }
#page-admin .promo-del-btn {
    background: rgba(80,20,20,0.5) !important;
    color: #c09090 !important;
    border: 1px solid rgba(160,60,60,0.4) !important;
    border-radius: 2px !important;
}
#page-admin .promo-del-btn:hover {
    background: rgba(120,30,30,0.7) !important;
    color: #fff !important;
    border-color: #c06060 !important;
}
#page-admin .promo-add-form {
    background: #0d0a04 !important;
    border: 1px solid rgba(201,146,58,0.2) !important;
    border-radius: 2px !important;
    box-shadow: none !important;
}
#page-admin .promo-add-form h4 { color: #8a6020 !important; }
#page-admin .promo-form-row input,
#page-admin .promo-form-row select,
#page-admin .promo-new-code,
#page-admin #promo-new-code,
#page-admin #promo-new-discount,
#page-admin #promo-new-type {
    background: #080602 !important;
    color: #e8dcc8 !important;
    border: 1px solid rgba(201,146,58,0.25) !important;
    border-radius: 2px !important;
}

/* Чекбокс-лейблы (плашка «Новое» и «Опубликовать») */
#page-admin label[style*="background:#fff0f5"],
#page-admin label[style*="background: #fff0f5"] {
    background: rgba(14,11,5,0.95) !important;
    border-color: rgba(201,146,58,0.3) !important;
    color: #e8dcc8 !important;
}
/* Перехватываем inline стиль label через атрибут */
#page-admin .admin-form label,
#page-admin #tab-news label,
#page-admin #tab-mc label {
    background: transparent !important;
    color: #e8dcc8 !important;
    border-color: rgba(201,146,58,0.25) !important;
}
/* Конкретно лейбл с галочкой «Новое» */
#page-admin label:has(input[id*="is-new"]),
#page-admin label:has(input[id*="is_new"]),
#page-admin label:has(#news-is-new),
#page-admin label:has(#mc-form-is-new),
#page-admin label:has(#mc-form-published) {
    background: rgba(14,11,5,0.95) !important;
    border: 1px solid rgba(201,146,58,0.25) !important;
    color: #e8dcc8 !important;
    border-radius: 2px !important;
}

/* ========== ЖЁСТКИЙ OVERRIDE ВСЕХ КНОПОК В АДМИНКЕ ========== */
/* Все кнопки — белый текст, прозрачный фон, золотая рамка */
#page-admin button,
#page-admin .btn,
#page-admin .btn-primary,
#page-admin input[type="button"],
#page-admin input[type="submit"] {
    background: rgba(14,11,5,0.95) !important;
    color: #fff !important;
    border: 1px solid var(--g-gold4) !important;
    border-radius: 2px !important;
    letter-spacing: 1.5px;
    font-weight: 700;
    transition: all 0.25s !important;
}
#page-admin button:hover,
#page-admin .btn:hover,
#page-admin .btn-primary:hover {
    background: rgba(201,146,58,0.15) !important;
    border-color: var(--g-gold2) !important;
    color: #fff !important;
    box-shadow: 0 0 16px rgba(201,146,58,0.12) !important;
}
#page-admin button:disabled { opacity: 0.4 !important; }

/* Возвращаем специфичные стили для кнопок-иконок чтобы не ломать */
#page-admin .admin-tab,
#page-admin .rich-editor-toolbar button,
#page-admin .drag-handle,
#page-admin input[type="checkbox"],
#page-admin .burger,
#page-admin .burger:hover {
    background: transparent !important;
    border: none !important;
    letter-spacing: normal;
}
#page-admin .admin-tab.active { border-bottom: 2px solid var(--g-gold) !important; }
#page-admin .rich-editor-toolbar button {
    border: 1px solid var(--g-border) !important;
    color: var(--g-muted) !important;
    background: transparent !important;
    letter-spacing: normal;
}
#page-admin .rich-editor-toolbar button:hover {
    background: rgba(201,146,58,0.1) !important;
    color: var(--g-gold2) !important;
    border-color: var(--g-border2) !important;
}
/* Кнопки удаления — красноватые */
#page-admin .del-btn {
    background: rgba(80,20,20,0.6) !important;
    color: #fff !important;
    border: 1px solid rgba(180,60,60,0.5) !important;
}
#page-admin .del-btn:hover {
    background: rgba(120,30,30,0.7) !important;
    border-color: #c06060 !important;
}
/* Кнопки-ссылки в аккаунте админа не трогаем */
#page-admin .admin-logout-btn { letter-spacing: 3px; }
#page-admin .admin-logout-btn:hover { color: var(--g-gold2) !important; }
/* Кнопка входа */
#page-admin .login-form .btn-login { letter-spacing: 5px; }

@media (max-width: 900px) {
    #admin-app { background-attachment: scroll; }
    .admin-hero h2 { font-size: 1.8rem; }
    .admin-tab { font-size: 0.7rem; letter-spacing: 1px; padding: 12px 12px; }
    .admin-form, .admin-section { padding: 16px; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Промокоды */
.promo-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
    margin-bottom: 24px;
}
.promo-item {
    display: flex;
    align-items: center;
    gap: 12px;
    background: #fff;
    border-radius: 14px;
    padding: 14px 18px;
    box-shadow: 0 2px 10px rgba(233,30,99,0.06);
    flex-wrap: wrap;
}
.promo-code-badge {
    background: var(--pink-light);
    color: var(--pink);
    font-weight: 700;
    font-size: 0.95rem;
    padding: 4px 14px;
    border-radius: 8px;
    letter-spacing: 1px;
    font-family: monospace;
    flex-shrink: 0;
}
.promo-info { flex: 1; min-width: 0; }
.promo-info .promo-desc { font-size: 0.88rem; color: var(--muted); }
.promo-info .promo-uses { font-size: 0.78rem; color: #bbb; margin-top: 2px; }
.promo-del-btn {
    background: none;
    border: 1.5px solid #f0e6ea;
    color: #ccc;
    border-radius: 8px;
    padding: 5px 10px;
    cursor: pointer;
    font-size: 0.8rem;
    transition: all 0.2s;
    flex-shrink: 0;
}
.promo-del-btn:hover { border-color: #e53935; color: #e53935; }

.promo-add-form {
    background: #fff;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 2px 10px rgba(233,30,99,0.06);
}
.promo-add-form h4 {
    font-size: 1rem;
    margin-bottom: 14px;
    color: var(--text);
}
.promo-form-row {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr auto;
    gap: 10px;
    align-items: end;
}
.promo-form-row input,
.promo-form-row select {
    padding: 10px 14px;
    border: 1.5px solid #e0d0d8;
    border-radius: 10px;
    font-size: 0.9rem;
    font-family: 'Raleway', sans-serif;
    width: 100%;
}
.promo-form-row input:focus,
.promo-form-row select:focus { outline: none; border-color: var(--pink); }
.promo-form-label {
    font-size: 0.78rem;
    color: var(--muted);
    margin-bottom: 4px;
    font-weight: 600;
}

@media (max-width: 640px) {
    .promo-form-row { grid-template-columns: 1fr 1fr; }
    .stats-grid { grid-template-columns: repeat(2, 1fr); }
    .admin-tab { padding: 10px 10px; font-size: 0.78rem; }
}
@media (max-width: 400px) {
    .promo-form-row { grid-template-columns: 1fr; }
}
