/* =========================================================
   Панели админ — ҶДММ Чеварҳо (тарҳи такмилёфта)
   ========================================================= */
:root{--a-w:270px}
body.admin{background:
    radial-gradient(circle at 100% 0%,rgba(228,161,27,.06),transparent 40%),
    var(--bg-soft);display:block;min-height:100vh}

/* ---------- Сатҳи паҳлӯӣ ---------- */
.a-side{position:fixed;top:0;left:0;bottom:0;width:var(--a-w);
    background:linear-gradient(190deg,var(--brand-dark) 0%,#082e33 100%);
    color:#cfe0e1;display:flex;flex-direction:column;z-index:60;transition:transform .3s;
    box-shadow:4px 0 24px rgba(0,0,0,.12)}
.a-brand{display:flex;align-items:center;gap:12px;padding:22px 20px;
    border-bottom:1px solid rgba(255,255,255,.08)}
.a-brand__logo{width:58px;height:58px;flex:none;border-radius:12px;background:#fff;
    object-fit:contain;padding:3px;box-shadow:0 6px 16px rgba(0,0,0,.25)}
.a-brand .brand__mark{width:42px;height:42px;font-size:1.3rem}
.a-brand b{color:#fff;display:block;font-size:1.05rem;line-height:1.25}
.a-brand small{color:#8fb3b5;font-size:.74rem;letter-spacing:.3px}
.a-lang-switch{margin:0 20px 14px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08);
    padding-left:0;border-left:0;justify-content:flex-start}

.a-nav{flex:1;padding:18px 12px;display:flex;flex-direction:column;gap:3px;overflow-y:auto}
.a-nav::-webkit-scrollbar{width:6px}
.a-nav::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:6px}
.a-nav a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:12px;
    color:#b9d2d3;font-weight:600;font-size:.95rem;transition:.25s;position:relative;
    border-left:3px solid transparent}
.a-nav a .ico{width:19px;height:19px;flex:none;color:#7fa5a7;transition:.25s}
.a-nav a:hover{background:rgba(255,255,255,.06);color:#fff;padding-left:18px}
.a-nav a:hover .ico{color:var(--accent-2)}
.a-nav a.active{background:linear-gradient(90deg,rgba(228,161,27,.16),rgba(228,161,27,.03));
    color:#fff;border-left-color:var(--accent)}
.a-nav a.active .ico{color:var(--accent)}
.a-nav .badge{margin-left:auto;background:linear-gradient(120deg,#ff6b6b,#e0524f);color:#fff;
    font-style:normal;font-size:.7rem;font-weight:800;min-width:20px;height:20px;border-radius:10px;
    display:grid;place-items:center;padding:0 6px;box-shadow:0 3px 8px rgba(224,82,82,.5)}

.a-side__bottom{padding:14px 12px;border-top:1px solid rgba(255,255,255,.08);display:grid;gap:4px}
.a-side__bottom a{display:flex;align-items:center;gap:11px;padding:11px 14px;border-radius:12px;
    color:#b9d2d3;font-weight:600;transition:.2s;font-size:.9rem}
.a-side__bottom a .ico{width:17px;height:17px}
.a-open:hover{background:rgba(255,255,255,.07);color:#fff}
.a-logout:hover{background:rgba(224,82,82,.18);color:#ffb4b4}

.a-overlay{position:fixed;inset:0;background:rgba(6,20,22,.55);backdrop-filter:blur(2px);
    z-index:55;opacity:0;visibility:hidden;transition:.3s}
.a-overlay.show{opacity:1;visibility:visible}
.a-burger{display:none;position:fixed;top:14px;left:14px;z-index:65;width:44px;height:44px;
    border:0;border-radius:12px;background:var(--grad);color:#fff;cursor:pointer;place-items:center;
    box-shadow:var(--shadow-sm)}
.a-burger .ico{width:20px;height:20px}

/* ---------- Қисми асосӣ ---------- */
.a-main{margin-left:var(--a-w);min-height:100vh;padding:0 0 50px;animation:aFadeIn .4s ease}
@keyframes aFadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.a-top{background:rgba(255,255,255,.92);backdrop-filter:blur(10px);padding:18px 32px;
    display:flex;align-items:center;justify-content:space-between;box-shadow:var(--shadow-sm);
    position:sticky;top:0;z-index:40}
.a-top h1{font-size:1.35rem;color:var(--brand-dark);font-weight:800}
.a-user{display:flex;align-items:center;gap:12px}
.a-user__name{font-weight:600;color:var(--muted);font-size:.92rem}
.a-user__ava{width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;
    display:grid;place-items:center;font-weight:800;box-shadow:0 0 0 3px var(--brand-light),var(--shadow-sm)}
.a-content{padding:32px}
.a-flash{margin:20px 32px -8px;background:var(--brand-light);border:1px solid var(--brand);
    color:var(--brand-dark);padding:14px 18px;border-radius:12px;font-weight:600;
    display:flex;align-items:center;gap:10px;animation:aFadeIn .3s ease}
.a-flash::before{content:"✓";display:grid;place-items:center;width:22px;height:22px;border-radius:50%;
    background:var(--brand);color:#fff;font-size:.8rem;flex:none}
.a-flash--warn{background:#fff6e0;border-color:var(--accent);color:#7a5300}
.a-flash--warn::before{content:"!";background:var(--accent);color:#1c2b2d}

/* ---------- Кортҳои омор ---------- */
.a-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:30px}
.a-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;
    box-shadow:var(--shadow-sm);display:flex;align-items:center;gap:16px;transition:.3s;
    position:relative;overflow:hidden}
.a-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;
    background:var(--grad-accent);transform:scaleX(0);transform-origin:left;transition:transform .35s}
.a-card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.a-card:hover::before{transform:scaleX(1)}
.a-card__ico{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;
    background:var(--brand-light);color:var(--brand);flex:none;transition:.3s}
.a-card:hover .a-card__ico{background:var(--grad);color:#fff;transform:rotate(-6deg) scale(1.05)}
.a-card__ico .ico{width:24px;height:24px}
.a-card__num{font-size:1.9rem;font-weight:800;color:var(--brand-dark);line-height:1}
.a-card__label{color:var(--muted);font-size:.88rem;margin-top:2px}

/* ---------- Панел / Ҷадвал ---------- */
.panel{background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);
    overflow:hidden;margin-bottom:26px;position:relative}
.panel::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad-accent)}
.panel__head{display:flex;align-items:center;justify-content:space-between;gap:16px;
    padding:20px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.panel__head h2{font-size:1.12rem;color:var(--brand-dark);font-weight:800}
.panel__body{padding:24px}
.hint{color:var(--muted);font-size:.88rem}

.table{width:100%;border-collapse:collapse}
.table th,.table td{text-align:right;padding:14px;border-bottom:1px solid var(--line);vertical-align:middle}
.table th{background:var(--bg-soft);color:var(--muted);font-size:.78rem;text-transform:uppercase;
    letter-spacing:.5px;font-weight:700}
.table tr:last-child td{border-bottom:0}
.table tr:hover td{background:var(--brand-light)}
.table td:first-child,.table th:first-child{text-align:left}
.t-thumb{width:56px;height:44px;border-radius:9px;object-fit:cover;background:var(--bg-soft);
    display:block;box-shadow:var(--shadow-sm)}
.t-title{font-weight:700;color:var(--ink)}
.t-sub{color:var(--muted);font-size:.85rem}
.t-actions{display:flex;gap:8px;justify-content:flex-end}

.tag{display:inline-block;padding:3px 11px;border-radius:100px;font-size:.76rem;font-weight:700}
.tag--on{background:#e3f5e8;color:#1c7a3e}
.tag--off{background:#fdeaea;color:#b23434}
.tag--new{background:var(--grad-accent);color:#1c2b2d}

/* ---------- Тугмаҳо ---------- */
.abtn{display:inline-flex;align-items:center;gap:7px;padding:10px 20px;border-radius:11px;
    font-weight:700;cursor:pointer;border:1px solid transparent;font-size:.9rem;transition:.22s;
    font-family:inherit}
.abtn .ico{width:16px;height:16px}
.abtn--primary{background:var(--grad);color:#fff;box-shadow:0 6px 16px rgba(13,92,99,.25)}
.abtn--primary:hover{transform:translateY(-2px);box-shadow:0 10px 22px rgba(13,92,99,.32)}
.abtn--accent{background:var(--grad-accent);color:#1c2b2d}
.abtn--ghost{background:#fff;border-color:var(--line);color:var(--ink)}
.abtn--ghost:hover{border-color:var(--brand);color:var(--brand);background:var(--brand-light)}
.abtn--sm{padding:7px 13px;font-size:.83rem}
.abtn--danger{background:#fff;border-color:#f0c2c2;color:#b23434}
.abtn--danger:hover{background:#fdeaea;border-color:#e0a0a0}
.abtn--icon{padding:8px;width:36px;height:36px;justify-content:center}
.abtn:active{transform:scale(.96)}

/* ---------- Форма ---------- */
.aform{display:grid;gap:18px;max-width:760px}
.aform .row{display:grid;gap:18px;grid-template-columns:1fr 1fr}
.aform .row--3{grid-template-columns:1fr 1fr 1fr}
.field label{display:block;font-weight:700;margin-bottom:7px;font-size:.9rem;color:var(--ink)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=password],
.field input[type=date],.field input[type=number],.field input[type=url],.field textarea,.field select{
    width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:11px;
    font-family:inherit;font-size:1rem;background:var(--bg-soft);transition:.2s}
.field textarea{resize:vertical;min-height:130px}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--brand);
    background:#fff;box-shadow:0 0 0 4px var(--brand-light)}
.field .hint{color:var(--muted);font-size:.83rem;margin-top:6px}
.field--check{display:flex;align-items:center;gap:10px}

/* Муҳаррири матни бой (RTE) — саҳифабандии матн барои Pages */
.rte{border:1px solid var(--line);border-radius:11px;overflow:hidden;background:var(--bg-soft)}
.rte__toolbar{display:flex;gap:2px;padding:6px;border-bottom:1px solid var(--line);background:#fff}
.rte__btn{width:34px;height:34px;display:grid;place-items:center;background:none;border:0;
    border-radius:8px;cursor:pointer;color:var(--muted);transition:.15s}
.rte__btn .ico{width:18px;height:18px}
.rte__btn:hover{background:var(--brand-light);color:var(--brand)}
.rte__btn.active{background:var(--grad);color:#fff}
.rte__area{min-height:260px;max-height:520px;overflow-y:auto;padding:14px 16px;
    font-family:inherit;font-size:1rem;line-height:1.6;background:#fff}
.rte__area:focus{outline:none}
.rte__area:empty::before{content:attr(data-placeholder);color:var(--muted)}
.field--check input{width:20px;height:20px;accent-color:var(--brand)}
.aform__actions{display:flex;gap:12px;align-items:center;margin-top:4px}
.a-preview{width:120px;height:90px;border-radius:11px;object-fit:cover;border:1px solid var(--line);
    background:var(--bg-soft);margin-top:10px;box-shadow:var(--shadow-sm)}
.empty-row{text-align:center;color:var(--muted);padding:44px 20px}
.empty-row::before{content:"—";display:block;font-size:1.6rem;color:var(--line);margin-bottom:6px}

/* Огоҳиномаи хусусияти қуфлшуда (тарифи болотар лозим аст) */
.a-locked{display:flex;flex-direction:column;align-items:center;text-align:center;
    gap:10px;padding:36px 20px;color:var(--muted);background:var(--bg-soft);border-radius:12px}
.a-locked .ico{width:32px;height:32px;color:var(--accent-2)}
.a-locked p{max-width:420px}

/* ---------- Галереяи расмҳои маҳсулот ---------- */
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:14px}
.gallery-grid__item{border:1px solid var(--line);border-radius:12px;padding:8px;text-align:center;
    background:var(--bg-soft)}
.gallery-grid__item img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:8px;
    background:#eef2f2;margin-bottom:8px}

/* ---------- Гурӯҳҳои менюи сомона ---------- */
.menu-group{border:1px solid var(--line);border-radius:14px;overflow:hidden;margin-bottom:18px}
.menu-group:last-child{margin-bottom:0}
.menu-group__head{display:flex;align-items:center;justify-content:space-between;gap:14px;
    flex-wrap:wrap;padding:16px 18px;background:var(--brand-light)}
.menu-group__head h3{font-size:1rem;color:var(--brand-dark);font-weight:800}
.menu-group .table{background:#fff}

/* ---------- Чат бо муштариён ---------- */
.achat{display:flex;flex-direction:column;height:min(600px,70vh)}
.achat__thread{flex:1;overflow-y:auto;padding:8px 4px 20px;display:flex;flex-direction:column;gap:12px}
.achat__msg{max-width:70%;display:flex;flex-direction:column;gap:4px}
.achat__msg--visitor{align-self:flex-start}
.achat__msg--admin{align-self:flex-end;align-items:flex-end}
.achat__bubble{padding:11px 15px;border-radius:14px;font-size:.92rem;line-height:1.5}
.achat__msg--visitor .achat__bubble{background:var(--bg-soft);border:1px solid var(--line);
    color:var(--ink);border-bottom-left-radius:4px}
.achat__msg--admin .achat__bubble{background:var(--grad);color:#fff;border-bottom-right-radius:4px}
.achat__time{font-size:.72rem;color:var(--muted);padding:0 4px}
.achat__form{display:flex;gap:10px;align-items:flex-end;border-top:1px solid var(--line);padding-top:16px;position:relative}
.achat__form textarea{flex:1;min-height:50px;max-height:120px;border:1px solid var(--line);
    border-radius:10px;padding:10px 14px;font-family:inherit;font-size:.94rem;resize:vertical;
    background:var(--bg-soft)}
.achat__form textarea:focus{outline:none;border-color:var(--brand);background:#fff}

/* ---------- Вуруд ---------- */
.a-login{min-height:100vh;display:grid;place-items:center;position:relative;overflow:hidden;
    background:var(--grad);padding:20px}
.a-login::before{content:"";position:absolute;inset:0;opacity:.4;
    background:radial-gradient(circle at 15% 20%,rgba(228,161,27,.35),transparent 40%),
               radial-gradient(circle at 85% 80%,rgba(255,255,255,.12),transparent 45%)}
.a-login__box{background:#fff;border-radius:22px;box-shadow:var(--shadow-lg);padding:44px;
    width:100%;max-width:410px;position:relative;z-index:2}
.a-login__logo{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:28px;text-align:center}
.a-login__logoimg{width:150px;height:150px;object-fit:contain}
.a-login__logo .brand__mark{width:60px;height:60px;font-size:1.8rem}
.a-login__logo b{font-size:1.3rem;color:var(--brand-dark)}
.a-login__logo small{color:var(--muted)}
.a-err{background:#fdeaea;border:1px solid #e05252;color:#8a2020;padding:12px 14px;
    border-radius:11px;font-weight:600;margin-bottom:16px;font-size:.9rem}

@media(max-width:900px){
    .a-cards{grid-template-columns:repeat(2,1fr)}
    .a-side{transform:translateX(-100%)}
    .a-side.open{transform:translateX(0)}
    .a-main{margin-left:0}
    .a-burger{display:grid}
    .a-top{padding-left:70px}
    .aform .row{grid-template-columns:1fr}
}
@media(max-width:560px){
    .a-cards{grid-template-columns:1fr}
    .a-content{padding:18px}
    .table th:nth-child(2),.table td:nth-child(2){display:none}
    .a-user__name{display:none}
    .menu-group__head{padding:14px}
}
