/* Silent unified theme: landing / legal / cabinet / admin */
:root {
    --s-bg: #07070c;
    --s-surface: rgba(19, 19, 26, .74);
    --s-surface2: #15151f;
    --s-border: rgba(255, 255, 255, .09);
    --s-text: #f0f0f5;
    --s-text2: #9a9ab0;
    --s-accent: #6c5ce7;
    --s-accent2: #a29bfe;
    --s-green: #00d68f;
    --s-red: #ff3d71;
    --s-radius: 22px;
}
html, body {
    background: var(--s-bg) !important;
    color: var(--s-text);
}
body {
    background-image:
        radial-gradient(900px 500px at 10% -10%, rgba(108, 92, 231, .22), transparent 60%),
        radial-gradient(700px 420px at 100% 0%, rgba(0, 214, 143, .08), transparent 60%),
        radial-gradient(700px 500px at 50% 110%, rgba(162, 155, 254, .1), transparent 60%) !important;
    background-attachment: fixed !important;
}
a { color: var(--s-accent2); }
.card, .panel, .stat-card, .form-card, .table-card, .login-box {
    background: var(--s-surface) !important;
    border: 1px solid var(--s-border) !important;
    border-radius: var(--s-radius) !important;
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    box-shadow: 0 18px 50px rgba(0, 0, 0, .28) !important;
    transition: transform .22s cubic-bezier(.2,.9,.2,1), border-color .22s, box-shadow .22s;
}
.card:hover, .panel:hover, .stat-card:hover {
    transform: translateY(-2px);
    border-color: rgba(108, 92, 231, .5) !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .38) !important;
}
.card-title, .panel-title { color: var(--s-text) !important; }
.card-subtitle, .muted { color: var(--s-text2) !important; }
.action-btn, .btn, .btn-primary, button.btn-primary {
    border-radius: 14px !important;
    font-weight: 700;
    transition: transform .15s, box-shadow .2s, background .2s;
}
.btn-primary, .action-btn.btn-primary {
    background: linear-gradient(135deg, #6c5ce7, #8f7ff5) !important;
    border-color: transparent !important;
    color: #fff !important;
    box-shadow: 0 10px 28px rgba(108, 92, 231, .32) !important;
}
.btn-primary:hover, .action-btn.btn-primary:hover { transform: translateY(-1px); box-shadow: 0 16px 36px rgba(108, 92, 231, .42) !important; }
.btn-secondary, .action-btn.btn-secondary {
    background: rgba(255, 255, 255, .05) !important;
    border: 1px solid var(--s-border) !important;
    color: var(--s-text) !important;
}
.btn-danger, .action-btn.btn-danger { background: linear-gradient(135deg, #ff3d71, #d92b5b) !important; color: #fff !important; }
.form-input, input, textarea, select {
    background: var(--s-surface2) !important;
    border: 1px solid var(--s-border) !important;
    border-radius: 14px !important;
    color: var(--s-text) !important;
}
.form-input:focus, input:focus, textarea:focus, select:focus {
    border-color: var(--s-accent) !important;
    box-shadow: 0 0 0 3px rgba(108, 92, 231, .16) !important;
    outline: none;
}
table { border-collapse: collapse; }
th { color: var(--s-text2) !important; font-weight: 600; }
th, td { border-bottom: 1px solid var(--s-border) !important; }
tr:hover { background: rgba(255, 255, 255, .03); }
code, kbd, .code { background: rgba(255,255,255,.06) !important; border: 1px solid var(--s-border) !important; border-radius: 7px; }
.badge, .status-chip { border-radius: 999px; }
/* Scrollbars */
* { scrollbar-width: thin; scrollbar-color: rgba(108,92,231,.45) transparent; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-thumb { background: rgba(108,92,231,.45); border-radius: 999px; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* ===== Admin ===== */
.sidebar {
    background: rgba(12, 12, 18, .84) !important;
    border-right: 1px solid var(--s-border) !important;
    backdrop-filter: blur(18px);
}
.sidebar .logo, .side-logo { color: var(--s-text); }
.sidebar .logo-icon, .side-logo .dot {
    background: linear-gradient(135deg, #6c5ce7, #a29bfe) !important;
    box-shadow: 0 8px 24px rgba(108, 92, 231, .4);
}
.nav-item {
    border-radius: 13px !important;
    color: var(--s-text2) !important;
    transition: background .2s, color .2s, transform .15s;
}
.nav-item:hover { background: rgba(255,255,255,.05) !important; color: var(--s-text) !important; transform: translateX(2px); }
.nav-item.active { background: rgba(108, 92, 231, .16) !important; color: var(--s-accent2) !important; font-weight: 700; }
.nav-label { color: var(--s-text2) !important; }
.header-bar {
    background: rgba(7, 7, 12, .72) !important;
    border-bottom: 1px solid var(--s-border) !important;
    backdrop-filter: blur(16px);
    position: sticky; top: 0; z-index: 30;
}
.burger { background: rgba(255,255,255,.06) !important; border: 1px solid var(--s-border) !important; border-radius: 12px !important; }
.kpi, .stat-value { color: var(--s-accent2) !important; }
.alert { border-radius: 16px !important; }

/* ===== Cabinet shell ===== */
.app-header {
    background: rgba(19, 19, 26, .78) !important;
    border-bottom: 1px solid var(--s-border) !important;
    backdrop-filter: blur(16px);
}
.tabbar {
    background: rgba(19, 19, 26, .9) !important;
    border-top: 1px solid var(--s-border) !important;
    backdrop-filter: blur(16px);
}
.tabbar a.active, .tabbar button.active { color: var(--s-accent2) !important; }
.sheet-body { background: rgba(19, 19, 26, .96) !important; border-top: 1px solid var(--s-border) !important; border-radius: 24px 24px 0 0 !important; }
.sidebar .side-link { border-radius: 13px; }
.sidebar .side-link:hover { background: rgba(255,255,255,.05); }
.sidebar .side-link.active { background: rgba(108, 92, 231, .16); color: var(--s-accent2); }
.sidebar { background: rgba(12,12,18,.84); border-right: 1px solid var(--s-border); }
.app-footer { border-top: 1px solid var(--s-border); }

/* ===== Chat ===== */
.tg-chat-head {
    top: 52px;
    background: rgba(19, 19, 26, .82) !important;
    border-bottom: 1px solid var(--s-border) !important;
    border-radius: 0 0 20px 20px;
    backdrop-filter: blur(18px);
}
.tg-avatar { background: linear-gradient(135deg, #6c5ce7, #a29bfe) !important; box-shadow: 0 6px 18px rgba(108,92,231,.35); }
.tg-bubble { border-radius: 20px !important; box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.tg-own { background: linear-gradient(135deg, #6c5ce7, #5a4bd1) !important; color: #fff !important; border-bottom-right-radius: 6px !important; }
.tg-contact { background: rgba(21, 21, 31, .86) !important; border: 1px solid var(--s-border) !important; color: var(--s-text) !important; border-bottom-left-radius: 6px !important; backdrop-filter: blur(12px); }
.tg-forward { border-left: 3px solid var(--s-accent2) !important; background: rgba(255,255,255,.06) !important; border-radius: 10px; }
.tg-composer {
    background: rgba(19, 19, 26, .9) !important;
    border-top: 1px solid var(--s-border) !important;
    backdrop-filter: blur(18px);
}
.tg-composer textarea { border-radius: 20px !important; background: rgba(21,21,31,.9) !important; border: 1px solid var(--s-border) !important; }
.tg-attach { background: rgba(255,255,255,.06) !important; border: 1px solid var(--s-border) !important; }
.tg-send { background: linear-gradient(135deg,#6c5ce7,#8f7ff5) !important; box-shadow: 0 8px 22px rgba(108,92,231,.35); }
.tg-send:active { transform: scale(.94); }
.tg-loading { color: var(--s-text2); }
@media (min-width: 900px) { .tg-composer { left: 216px; } }

