body {margin:0; font-family:'Poppins',sans-serif; background:#f3f4f8; color:#0f172a;}
.shell {min-height:100vh; display:flex;}
.sidebar {width:280px; background:#25282a; color:#f5f5f5; padding:32px 24px; padding-bottom:calc(32px + env(safe-area-inset-bottom)); display:flex; flex-direction:column; gap:28px; position:sticky; top:0; height:100vh; max-height:100vh; overflow-y:auto; transition:transform .3s ease;}
.sidebar__mobile-bar {display:flex; flex-direction:column; align-items:center; gap:20px;}
.sidebar__toggle {display:none; align-items:center; justify-content:center; gap:12px; background:#ffffff; border:1px solid rgba(15,23,42,0.18); color:#0f172a; border-radius:16px; padding:12px 18px; font-weight:600; cursor:pointer; box-shadow:0 16px 32px rgba(15,23,42,0.18);}
.sidebar__toggle span:last-child {font-size:22px; transition:transform .2s;}
.sidebar.is-mobile {position:relative; width:100%; height:auto; max-height:none; overflow:visible; padding:20px 24px;}
.sidebar.is-mobile nav {display:none; width:100%;}
.sidebar.is-mobile.sidebar--open nav {display:flex;}
.sidebar.is-mobile.sidebar--open .sidebar__toggle span:last-child {transform:rotate(90deg);}
.sidebar__logo {display:flex; align-items:center; justify-content:center;}
.sidebar__logo img {width:180px;}
.sidebar nav {display:flex; flex-direction:column; gap:12px;}
.nav-link {
    display:flex;
    align-items:center;
    gap:12px;
    padding:14px 20px;
    border-radius:16px;
    color:#f5f5f5;
    text-decoration:none;
    font-weight:600;
    background:linear-gradient(135deg,#2e3235 0%,#212325 100%);
    box-shadow:0 16px 32px rgba(0,0,0,0.18);
    border:1px solid rgba(255,255,255,0.04);
    transition:transform .2s, box-shadow .2s, background .2s, color .2s;
    width:100%;
    cursor:pointer;
}
.nav-link:hover {
    transform:translateY(-1px);
    box-shadow:0 24px 46px rgba(0,0,0,0.28);
    background:linear-gradient(135deg,#34383b 0%,#25282a 100%);
}
.nav-link.active {
    background:linear-gradient(135deg,#f0811a 0%,#f8a24f 100%);
    color:#fff;
    box-shadow:0 26px 52px rgba(240,129,26,0.32);
    border-color:rgba(240,129,26,0.35);
}
.sidebar__logout {margin-top:8px;}
.sidebar__logout .btn {width:100%;}
.nav-group {display:flex; flex-direction:column; gap:8px;}
.nav-group__trigger {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:14px 20px;
    border-radius:16px;
    color:#f5f5f5;
    text-decoration:none;
    font-weight:600;
    background:linear-gradient(135deg,#2e3235 0%,#212325 100%);
    box-shadow:0 16px 32px rgba(0,0,0,0.18);
    border:1px solid rgba(255,255,255,0.04);
    cursor:pointer;
    transition:transform .2s, box-shadow .2s, background .2s, color .2s;
}
.nav-group__trigger:hover {
    transform:translateY(-1px);
    box-shadow:0 24px 46px rgba(0,0,0,0.28);
    background:linear-gradient(135deg,#34383b 0%,#25282a 100%);
}
.nav-group__trigger span:first-child {font-size:14px;}
.nav-group__trigger span:last-child {font-size:12px; opacity:0.8; transition:transform .2s;}
.nav-group__trigger.open span:last-child {transform:rotate(90deg);}
.nav-group__content {display:none; padding-left:12px; flex-direction:column; gap:8px;}
.nav-group__content a {
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 16px;
    border-radius:14px;
    color:#cbd5f5;
    text-decoration:none;
    font-weight:500;
    background:rgba(15,23,42,0.3);
    border:1px solid rgba(148,163,199,0.18);
    transition:background .2s, transform .2s;
}
.nav-group__content a:hover {
    background:rgba(240,129,26,0.22);
    color:#fff;
    transform:translateX(2px);
}
.nav-group__content a.active {
    background:linear-gradient(135deg,#f0811a 0%,#f8a24f 100%);
    color:#fff;
    border-color:rgba(240,129,26,0.45);
}

@supports (height: 100dvh) {
    .sidebar {height:100dvh; max-height:100dvh;}
}

@supports (height: 100svh) {
    .sidebar {height:100svh; max-height:100svh;}
}
.main {flex:1; padding:40px 48px 0; display:flex; flex-direction:column;}
.main__content {flex:1; display:flex; flex-direction:column; gap:32px;}
.hero-card {background:#fff; border-radius:28px; padding:32px 38px; display:flex; align-items:center; justify-content:space-between; box-shadow:0 22px 55px rgba(15, 23, 42, 0.12); margin-bottom:32px;}
.hero-card--compact {padding:24px 30px;}
.hero-card h1 {margin:0 0 12px; font-size:32px;}
.hero-card--compact h1 {font-size:26px;}
.hero-card p {margin:0; color:#64748b;}
.hero-card__actions {display:flex; gap:14px; flex-wrap:wrap;}
.hero-card__actions .btn {padding:14px 28px;}
.impersonation {background:linear-gradient(90deg,#fde68a,#f0811a); color:#7c2d12; padding:16px 22px; border-radius:18px; margin-bottom:24px; display:flex; justify-content:space-between; align-items:center;}
.impersonation a {color:#7c2d12; font-weight:600; text-decoration:none;}
.grid {display:grid; grid-template-columns:repeat(auto-fit,minmax(320px,1fr)); gap:28px;}
.stat {background:#f5f5f5; border-radius:16px; padding:16px; display:flex; flex-direction:column; gap:6px;}
.stat span {color:#64748b; font-size:13px; text-transform:uppercase; letter-spacing:0.06em;}
.stat strong {font-size:26px; font-weight:700; color:#0f172a;}
.stat-link {text-decoration:none; color:inherit; border:1px solid transparent; transition:transform .2s, box-shadow .2s, border-color .2s; cursor:pointer;}
.stat-link:hover {transform:translateY(-2px); border-color:rgba(240,129,26,0.35); box-shadow:0 18px 38px rgba(15,23,42,0.12);}
.stat--alert {background:#fff5db; border-color:rgba(245,158,11,0.6); box-shadow:0 18px 36px rgba(245,158,11,0.18);}
.stat--alert span {color:#b45309;}
.stat--alert strong {color:#9a3412;}
.panel {background:#fff; border-radius:24px; padding:28px; box-shadow:0 18px 40px rgba(15,23,42,0.08);}
.panel h2 {margin:0 0 16px; font-size:22px;}
.panel h3 {margin:0 0 12px; font-size:18px; color:#1f2937;}
.dashboard-message {
    display:flex;
    flex-wrap:wrap;
    gap:16px;
    align-items:flex-start;
    justify-content:space-between;
    padding:20px 24px;
    margin-top:16px;
    width:100%;
    border-radius:22px;
    border:1px solid #c7d2fe;
    box-shadow:0 18px 40px rgba(15,23,42,0.12);
}
.dashboard-message__content {flex:1 1 280px;}
.dashboard-message__title {margin:0 0 6px; font-size:20px;}
.dashboard-message__body {margin:0; font-size:14px; line-height:1.5;}
.dashboard-message__cta {align-self:flex-start;}
.dashboard-message--info {background:#eef2ff; border-color:#c7d2fe; color:#1e3a8a;}
.dashboard-message--warning {background:#fef3c7; border-color:#facc15; color:#92400e;}
.dashboard-message--success {background:#dcfce7; border-color:#22c55e; color:#166534;}
.dashboard-message--danger {background:#fee2e2; border-color:#f87171; color:#b91c1c;}
.dashboard-message--info .dashboard-message__body {color:#1e40af;}
.dashboard-message--warning .dashboard-message__body {color:#92400e;}
.dashboard-message--success .dashboard-message__body {color:#166534;}
.dashboard-message--danger .dashboard-message__body {color:#b91c1c;}
@media (max-width:720px) {
    .dashboard-message {padding:18px 20px;}
    .dashboard-message__cta {width:100%; justify-content:center;}
}
.dashboard-grid [data-dashboard-card] {position:relative;}
.dashboard-grid [data-dashboard-card] > h2,
.dashboard-grid [data-dashboard-card] > h3,
.dashboard-grid [data-dashboard-card] > h4 {padding-right:52px;}
.dashboard-grid.is-dragging [data-dashboard-card] {transition:transform 0.18s ease, box-shadow 0.18s ease;}
.dashboard-grid [data-dashboard-card].is-dragging {opacity:0.38; transform:scale(0.985); filter:saturate(0.9);}
.dashboard-grid [data-dashboard-card].is-drop-target {outline:2px dashed rgba(240,129,26,0.65); outline-offset:4px;}
.dashboard-drag-handle {
    position:absolute;
    top:16px;
    right:16px;
    width:38px;
    height:38px;
    border-radius:12px;
    border:1px solid rgba(148,163,184,0.4);
    background:rgba(255,255,255,0.96);
    color:#64748b;
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    letter-spacing:1px;
    cursor:grab;
    z-index:2;
    box-shadow:0 10px 22px rgba(15,23,42,0.12);
    transition:transform 0.16s ease, box-shadow 0.16s ease, color 0.16s ease, border-color 0.16s ease;
}
.dashboard-drag-handle:hover {transform:translateY(-1px); border-color:rgba(240,129,26,0.6); color:#f0811a; box-shadow:0 14px 30px rgba(240,129,26,0.22);}
.dashboard-drag-handle:active {cursor:grabbing; transform:scale(0.96);}
.dashboard-drag-ghost {
    opacity:0.92;
    transform:rotate(-1deg) scale(1.01);
    box-shadow:0 30px 70px rgba(15,23,42,0.3);
    border:1px solid rgba(240,129,26,0.35);
}
.dashboard-save-toast {
    position:fixed;
    right:28px;
    bottom:28px;
    padding:10px 16px;
    border-radius:999px;
    background:#0f172a;
    color:#fff;
    font-size:12px;
    font-weight:600;
    letter-spacing:0.03em;
    box-shadow:0 18px 40px rgba(15,23,42,0.25);
    opacity:0;
    transform:translateY(8px);
    transition:opacity 0.2s ease, transform 0.2s ease;
    pointer-events:none;
    z-index:60;
}
.dashboard-save-toast.is-visible {
    opacity:1;
    transform:translateY(0);
}
.dashboard-save-toast.is-success {background:#16a34a;}
.dashboard-save-toast.is-error {background:#dc2626;}
.dashboard-save-toast.is-pending {background:#f59e0b; color:#1f2937;}
@media (max-width:720px) {
    .dashboard-save-toast {
        left:50%;
        right:auto;
        transform:translate(-50%, 8px);
    }
    .dashboard-save-toast.is-visible {
        transform:translate(-50%, 0);
    }
}
.links {display:flex; flex-direction:column; gap:12px;}
.link-item {display:flex; justify-content:space-between; align-items:center; padding:16px 18px; border-radius:16px; background:#f5f5f5; text-decoration:none; color:#0f172a; border:1px solid transparent; transition:transform .2s, border-color .2s;}
.link-item:hover {transform:translateY(-3px); border-color:rgba(240,129,26,0.35);}
.status {display:flex; align-items:flex-start; gap:10px;}
.status span {display:inline-flex; width:14px; height:14px; border-radius:999px; flex-shrink:0; align-self:center; background:#22c55e;}
.status small {display:block; line-height:1.35; color:#475569;}
.status span.muted {background:#e2e8f0;}
.badge {display:inline-flex; padding:6px 12px; border-radius:12px; background:rgba(15,23,42,0.08); color:#0f172a; font-size:12px; font-weight:600; text-transform:uppercase; letter-spacing:0.05em;}
.badge.success {background:rgba(34,197,94,0.2); color:#15803d;}
.badge.pending {background:rgba(250,204,21,0.18); color:#854d0e;}
.badge.danger {background:rgba(248,113,113,0.22); color:#b91c1c;}
.history {display:flex; flex-direction:column; gap:18px;}
.history-item {display:flex; justify-content:space-between; align-items:flex-start; gap:16px; padding-bottom:16px; border-bottom:1px solid #e2e8f0;}
.history-item:last-child {border-bottom:none; padding-bottom:0;}
.history-item h4 {margin:0 0 6px; font-size:16px;}
.history-item p {margin:0; color:#64748b; font-size:14px;}
.history-item time {color:#94a3b8; font-size:13px; font-weight:600;}
.table {width:100%; border-collapse:collapse;}
.table thead {background:#f9f4f1; text-transform:uppercase; letter-spacing:0.06em; font-size:12px; color:#64748b;}
.table th, .table td {padding:16px 18px; text-align:left; border-bottom:1px solid #e2e8f0; font-size:15px; color:#0f172a;}
.table tbody tr:last-child td {border-bottom:none;}
.table-actions {display:flex; gap:10px; flex-wrap:wrap;}
.btn {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    padding:13px 26px;
    border-radius:999px;
    font-weight:600;
    text-decoration:none;
    cursor:pointer;
    border:none;
    transition:transform 0.2s, box-shadow 0.2s, filter 0.2s;
    box-shadow:0 12px 26px rgba(15,23,42,0.08);
    background:#f9f4f1;
    color:#0f172a;
}
.btn:hover {transform:translateY(-1px); box-shadow:0 18px 36px rgba(15,23,42,0.14);}
.btn:focus-visible {outline:2px solid rgba(240,129,26,0.45); outline-offset:3px;}
.btn.primary,
.btn-primary {
    background:linear-gradient(135deg,#f0811a 0%,#f8a24f 100%);
    color:#fff;
    box-shadow:0 18px 38px rgba(240,129,26,0.28);
}
.btn.primary:hover,
.btn-primary:hover {
    box-shadow:0 24px 48px rgba(240,129,26,0.32);
}
.btn.secondary,
.btn-secondary {
    background:linear-gradient(135deg,#0f172a 0%,#1f2937 100%);
    color:#fff;
    box-shadow:0 18px 32px rgba(15,23,42,0.28);
}

.page-loader {
    position:fixed;
    inset:0;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:16px;
    background:rgba(243,244,248,0.9);
    backdrop-filter:blur(4px);
    opacity:0;
    pointer-events:none;
    transition:opacity 0.2s ease;
    z-index:9999;
}
body.is-loading .page-loader {opacity:1; pointer-events:auto;}
.page-loader__spinner {
    width:52px;
    height:52px;
    border-radius:50%;
    border:4px solid rgba(240,129,26,0.25);
    border-top-color:#f0811a;
    animation:page-loader-spin 0.9s linear infinite;
}
.page-loader__text {
    font-size:12px;
    font-weight:700;
    letter-spacing:0.18em;
    text-transform:uppercase;
    color:#7c2d12;
}
@keyframes page-loader-spin {
    to {transform:rotate(360deg);}
}
@media (prefers-reduced-motion: reduce) {
    .page-loader__spinner {animation:none;}
}
.metricool-section {position:relative;}
.metricool-section__content {position:relative; z-index:1;}
.metricool-section__skeleton {
    position:absolute;
    inset:0;
    z-index:2;
    background:rgba(255,255,255,0.92);
    border-radius:24px;
    padding:24px;
    display:none;
}
.metricool-section.is-loading .metricool-section__skeleton {display:block;}
.metricool-section.is-loading .metricool-section__content {opacity:0.25; filter:blur(0.2px);}
.metricool-skeleton {display:grid; gap:10px;}
.metricool-skeleton--calendar {grid-template-columns:repeat(7, minmax(0, 1fr));}
.metricool-skeleton--table {grid-template-columns:repeat(3, minmax(0, 1fr));}
.metricool-skeleton__cell,
.metricool-skeleton__row {
    background:linear-gradient(120deg,#e2e8f0 30%,#f1f5f9 50%,#e2e8f0 70%);
    background-size:200% 100%;
    animation:metricool-shimmer 1.4s ease-in-out infinite;
    border-radius:14px;
}
.metricool-skeleton__cell {height:120px;}
.metricool-skeleton__row {height:18px;}
.metricool-meta {display:block; font-size:12px; color:#94a3b8; margin-top:4px;}
@keyframes metricool-shimmer {
    0% {background-position:200% 0;}
    100% {background-position:-200% 0;}
}
@media (prefers-reduced-motion: reduce) {
    .metricool-skeleton__cell,
    .metricool-skeleton__row {animation:none;}
}
.btn.secondary:hover,
.btn-secondary:hover {box-shadow:0 26px 42px rgba(15,23,42,0.35);}
.btn-danger {background:linear-gradient(135deg,#fee2e2 0%,#fecaca 100%); color:#b91c1c; box-shadow:0 18px 32px rgba(248,113,113,0.25);}
.btn-neutral {background:linear-gradient(135deg,#f9f4f1 0%,#e2e8f0 100%); color:#1f2937;}
.btn.bat-btn {padding:8px 16px; font-size:13px;}
.cta-tile {background:linear-gradient(135deg,#f0811a,#f59e0b); color:#fff; border:none; border-radius:22px; padding:28px;}
.cta-tile p {color:rgba(255,255,255,0.82);}
.top-pages {margin-top:12px; border-top:1px solid #e2e8f0;}
.top-pages li {display:flex; justify-content:space-between; align-items:center; padding:12px 0; border-bottom:1px solid #e2e8f0; font-size:14px; color:#475569;}
.top-pages li:last-child {border-bottom:none;}
.admin-muted {color:#94a3b8; font-size:14px;}
footer {padding:28px 64px; text-align:center; color:#94a3b8;}
.link--nowrap {display:inline-flex; align-items:center; gap:6px; white-space:nowrap;}
.push-section {margin-top:8px; padding:18px; border-radius:22px; background:linear-gradient(135deg,rgba(254,243,199,0.95) 0%,rgba(253,230,138,0.92) 100%); border:1px solid rgba(245,158,11,0.35); box-shadow:0 18px 38px rgba(245,158,11,0.18); display:flex; flex-direction:column; gap:14px;}
.push-section__header {display:flex; align-items:center; gap:12px; color:#92400e;}
.push-section__icon {width:34px; height:34px; border-radius:14px; background:rgba(251,191,36,0.18); display:flex; align-items:center; justify-content:center; border:1px solid rgba(251,191,36,0.45);}
.push-section__icon svg {width:18px; height:18px; fill:#f97316;}
.push-section__title {font-size:15px; font-weight:600; letter-spacing:0.02em;}
.push-section .nav-link {background:linear-gradient(135deg,#fef3c7,#fde68a); color:#92400e; border:1px solid rgba(245,158,11,0.4); box-shadow:0 16px 32px rgba(245,158,11,0.18);}
.push-section .nav-link:hover {box-shadow:0 22px 44px rgba(245,158,11,0.24);}
.push-section .push-toggle.is-active {background:linear-gradient(135deg,#22c55e,#16a34a); color:#fff; border-color:rgba(22,163,74,0.55); box-shadow:0 20px 40px rgba(22,163,74,0.25);}
.push-actions {display:flex; flex-direction:column; gap:10px;}
.push-info {background:linear-gradient(135deg,rgba(255,255,255,0.85) 0%,rgba(254,243,199,0.85) 100%); color:#92400e;}
.push-info:hover {box-shadow:0 18px 36px rgba(245,158,11,0.22);}
.push-modal {position:fixed; inset:0; display:none; align-items:center; justify-content:center; padding:24px; background:rgba(15,23,42,0.55); backdrop-filter:blur(6px); z-index:1000;}
.push-modal.is-open {display:flex;}
.push-modal__dialog {background:#fff; border-radius:28px; max-width:540px; width:100%; padding:32px; box-shadow:0 24px 64px rgba(15,23,42,0.25); display:grid; gap:20px; position:relative;}
.push-modal__title {margin:0; font-size:26px; color:#0f172a;}
.push-modal__text {margin:0; color:#475569; line-height:1.6;}
.push-modal__list {margin:0; padding-left:20px; color:#475569; line-height:1.6;}
.push-modal__actions {display:flex; justify-content:flex-end;}
.push-modal__close {background:linear-gradient(135deg,#0f172a,#1f2937); color:#fff;}
@media(max-width:680px){
    .push-modal__dialog {padding:24px;}
    .push-modal__title {font-size:22px;}
}
@media (max-width:1080px){
    .shell{flex-direction:column;}
    .sidebar{width:100%; height:auto; position:static; align-items:stretch; gap:18px; padding:20px 24px;}
    .sidebar__toggle{display:flex;}
.sidebar__mobile-bar{flex-direction:row; align-items:center; justify-content:space-between;}
.sidebar__toggle{display:flex;}
.sidebar__logo{justify-content:flex-start;}
.sidebar nav{display:none;}
.sidebar.sidebar--open nav{display:flex;}
.main{padding:32px 24px 0;}
}
@media(max-width:720px){.hero-card{flex-direction:column; align-items:flex-start; gap:16px;} .table thead{display:none;} .table tbody, .table tr{display:block;} .table tr{margin-bottom:18px; background:#fff; border-radius:20px; box-shadow:0 16px 32px rgba(15,23,42,0.08);} .table td{display:flex; justify-content:space-between; align-items:center; gap:18px; padding:14px 20px;} .table td::before{content:attr(data-label); font-weight:600; color:#64748b; text-transform:uppercase; letter-spacing:0.06em; font-size:11px;} .table td:last-child{border-bottom:none;}}
