:root{--as-bg:#020617;--as-panel:rgba(15,23,42,.92);--as-panel-solid:#0f172a;--as-border:rgba(148,163,184,.18);--as-text:#e5e7eb;--as-muted:#94a3b8;--as-primary:#2563eb;--as-success:#22c55e;--as-danger:#ef4444;--as-warning:#f59e0b;--as-radius:22px;--as-shadow:0 24px 80px rgba(0,0,0,.35)}*{box-sizing:border-box}html,body{min-height:100%}.as-body{margin:0;background:radial-gradient(circle at top left,rgba(37,99,235,.20),transparent 28rem),radial-gradient(circle at bottom right,rgba(14,165,233,.12),transparent 26rem),var(--as-bg);color:var(--as-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.as-app-shell{min-height:100vh;display:flex}.as-sidebar{width:288px;min-height:100vh;background:rgba(2,6,23,.86);border-right:1px solid var(--as-border);backdrop-filter:blur(24px);position:fixed;left:0;top:0;z-index:40;display:flex;flex-direction:column;padding:22px}.as-brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}.as-brand-icon{width:46px;height:46px;border-radius:16px;display:grid;place-items:center;font-weight:900;font-size:22px;color:#fff;background:linear-gradient(135deg,#2563eb,#06b6d4);box-shadow:0 18px 34px rgba(37,99,235,.32)}.as-brand-title{font-weight:800;letter-spacing:-.04em;font-size:18px}.as-brand-subtitle{font-size:12px;color:var(--as-muted)}.as-nav{display:flex;flex-direction:column;gap:6px}.as-nav a{color:#cbd5e1;text-decoration:none;min-height:44px;border-radius:14px;display:flex;align-items:center;padding:0 14px;font-size:14px;transition:.18s ease}.as-nav a:hover{color:#fff;background:rgba(148,163,184,.10)}.as-nav a.active{color:#fff;background:linear-gradient(135deg,rgba(37,99,235,.95),rgba(14,165,233,.78));box-shadow:0 16px 34px rgba(37,99,235,.24)}.as-sidebar-footer{margin-top:auto;border-top:1px solid var(--as-border);padding-top:18px}.as-admin-mini{display:flex;align-items:center;gap:12px}.as-admin-avatar{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;background:rgba(148,163,184,.15);color:#fff;font-weight:800}.as-admin-name{font-size:13px;font-weight:700}.as-admin-role{font-size:11px;color:var(--as-muted)}.as-main{width:100%;padding-left:288px}.as-topbar{min-height:90px;border-bottom:1px solid var(--as-border);background:rgba(2,6,23,.62);backdrop-filter:blur(22px);padding:20px 32px;display:flex;align-items:center;justify-content:space-between;gap:20px;position:sticky;top:0;z-index:20}.as-page-kicker{font-size:12px;color:var(--as-muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:4px}.as-page-title{font-size:26px;font-weight:850;letter-spacing:-.04em;margin:0}.as-content{padding:32px}.as-mobile-menu{display:none;border:1px solid var(--as-border);background:rgba(15,23,42,.8);color:#fff;border-radius:14px;height:42px;width:42px}.as-card{background:var(--as-panel);border:1px solid var(--as-border);border-radius:var(--as-radius);box-shadow:var(--as-shadow);padding:22px}.as-card-soft{background:rgba(15,23,42,.62);border:1px solid var(--as-border);border-radius:18px;padding:18px}.as-stat-card{background:linear-gradient(180deg,rgba(15,23,42,.94),rgba(15,23,42,.72));border:1px solid var(--as-border);border-radius:22px;padding:22px;min-height:142px;position:relative;overflow:hidden}.as-stat-card:after{content:"";position:absolute;width:120px;height:120px;right:-40px;top:-40px;border-radius:999px;background:rgba(37,99,235,.14)}.as-stat-label{color:var(--as-muted);font-size:13px;margin-bottom:12px}.as-stat-value{font-size:34px;line-height:1;font-weight:900;letter-spacing:-.06em}.as-stat-meta{margin-top:12px;color:#cbd5e1;font-size:12px}.as-section-title{font-size:17px;font-weight:800;letter-spacing:-.02em;margin:0}.as-section-subtitle{color:var(--as-muted);font-size:13px;margin-top:4px}.as-table{color:var(--as-text);margin:0}.as-table thead th{color:#94a3b8;font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:11px;border-bottom:1px solid var(--as-border);padding:14px 12px}.as-table tbody td{border-bottom:1px solid rgba(148,163,184,.10);padding:15px 12px;vertical-align:middle}.as-table tbody tr:hover{background:rgba(148,163,184,.05)}.as-badge{display:inline-flex;align-items:center;min-height:26px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:800}.as-badge-success{background:rgba(34,197,94,.14);color:#86efac;border:1px solid rgba(34,197,94,.22)}.as-badge-danger{background:rgba(239,68,68,.14);color:#fca5a5;border:1px solid rgba(239,68,68,.22)}.as-badge-warning{background:rgba(245,158,11,.14);color:#fcd34d;border:1px solid rgba(245,158,11,.22)}.as-badge-info{background:rgba(14,165,233,.14);color:#7dd3fc;border:1px solid rgba(14,165,233,.22)}.form-control,.form-select{background-color:rgba(15,23,42,.78)!important;border:1px solid var(--as-border)!important;color:#fff!important;border-radius:14px!important;min-height:44px}.form-control:focus,.form-select:focus{box-shadow:0 0 0 4px rgba(37,99,235,.22)!important;border-color:rgba(37,99,235,.72)!important}.form-label{color:#cbd5e1;font-size:13px;font-weight:700}.btn{border-radius:13px;font-weight:800}.btn-primary{background:linear-gradient(135deg,#2563eb,#06b6d4);border:none;box-shadow:0 14px 30px rgba(37,99,235,.22)}.btn-outline-light{border-color:rgba(226,232,240,.24)}.as-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.as-empty{text-align:center;color:var(--as-muted);padding:34px 10px}.as-login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.as-login-card{width:min(100%,430px)}.as-login-logo{width:62px;height:62px;border-radius:22px;background:linear-gradient(135deg,#2563eb,#06b6d4);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900;margin-bottom:20px}.as-alert{border-radius:16px;border:1px solid var(--as-border)}code{white-space:normal}.font-monospace{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}@media(max-width:991px){.as-sidebar{transform:translateX(-105%);transition:.22s ease}.as-sidebar.as-open{transform:translateX(0)}.as-main{padding-left:0}.as-mobile-menu{display:inline-grid;place-items:center}.as-topbar{padding:16px}.as-content{padding:18px}}

/* Mobile sidebar fix - v2.4.1 */
.as-sidebar {
    height: 100vh;
    height: 100dvh;
    overflow: hidden;
}
.as-nav {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    overflow-x: hidden;
    padding-right: 4px;
    scrollbar-width: thin;
    scrollbar-color: rgba(148, 163, 184, .45) transparent;
}
.as-nav::-webkit-scrollbar { width: 6px; }
.as-nav::-webkit-scrollbar-track { background: transparent; }
.as-nav::-webkit-scrollbar-thumb {
    background: rgba(148, 163, 184, .38);
    border-radius: 999px;
}
.as-sidebar-footer {
    flex: 0 0 auto;
    background: linear-gradient(180deg, rgba(2, 6, 23, 0), rgba(2, 6, 23, .94) 24%);
}
.as-sidebar-close,
.as-sidebar-backdrop {
    display: none;
}
@media (max-width: 991px) {
    body.as-sidebar-open {
        overflow: hidden;
        touch-action: none;
    }
    .as-sidebar {
        width: min(86vw, 340px);
        max-width: 340px;
        height: 100vh;
        height: 100dvh;
        min-height: 0;
        padding: 22px 16px 16px 22px;
        z-index: 1050;
        box-shadow: 28px 0 80px rgba(0, 0, 0, .48);
    }
    .as-sidebar.as-open {
        transform: translateX(0);
    }
    .as-sidebar-close {
        display: grid;
        place-items: center;
        position: absolute;
        top: 14px;
        right: 14px;
        width: 38px;
        height: 38px;
        border-radius: 14px;
        border: 1px solid rgba(226, 232, 240, .18);
        background: rgba(15, 23, 42, .86);
        color: #fff;
        font-size: 26px;
        line-height: 1;
        z-index: 2;
    }
    .as-brand {
        padding-right: 48px;
        margin-bottom: 18px;
        flex: 0 0 auto;
    }
    .as-nav {
        flex: 1 1 auto;
        min-height: 0;
        max-height: none;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        padding: 4px 8px 12px 0;
    }
    .as-nav a {
        min-height: 48px;
        font-size: 15px;
    }
    .as-sidebar-footer {
        margin-top: 0;
        padding-top: 14px;
    }
    .as-sidebar-backdrop {
        display: block;
        position: fixed;
        inset: 0;
        z-index: 1040;
        background: rgba(0, 0, 0, .55);
        opacity: 0;
        pointer-events: none;
        transition: opacity .2s ease;
    }
    body.as-sidebar-open .as-sidebar-backdrop {
        opacity: 1;
        pointer-events: auto;
    }
    .as-topbar {
        z-index: 30;
    }
    .as-content {
        overflow-x: hidden;
    }
}


/* Mobile sidebar robust fix - v2.4.2 */
@media (max-width: 991px) {
    html.as-menu-lock,
    body.as-sidebar-open {
        overflow: hidden !important;
    }

    .as-sidebar {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        bottom: 0 !important;
        width: min(88vw, 360px) !important;
        max-width: 360px !important;
        height: 100vh !important;
        height: 100dvh !important;
        min-height: 0 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
        transform: translate3d(-110%, 0, 0) !important;
        transition: transform .22s ease !important;
        z-index: 2147483001 !important;
        padding: 16px 18px 20px 22px !important;
        box-shadow: 28px 0 90px rgba(0,0,0,.58) !important;
    }

    .as-sidebar.as-open,
    body.as-sidebar-open .as-sidebar {
        transform: translate3d(0, 0, 0) !important;
    }

    .as-sidebar-close {
        display: grid !important;
        place-items: center !important;
        position: sticky !important;
        top: 0 !important;
        margin: 0 0 14px auto !important;
        padding: 0 !important;
        width: 44px !important;
        min-width: 44px !important;
        max-width: 44px !important;
        height: 44px !important;
        min-height: 44px !important;
        border-radius: 16px !important;
        border: 1px solid rgba(226,232,240,.22) !important;
        background: rgba(15,23,42,.96) !important;
        color: #fff !important;
        font-size: 28px !important;
        line-height: 1 !important;
        z-index: 3 !important;
        box-shadow: 0 10px 24px rgba(0,0,0,.25) !important;
        appearance: none !important;
        -webkit-appearance: none !important;
    }

    .as-brand {
        margin-top: -58px !important;
        padding-right: 56px !important;
        flex: 0 0 auto !important;
    }

    .as-nav {
        flex: none !important;
        display: flex !important;
        flex-direction: column !important;
        overflow: visible !important;
        min-height: auto !important;
        max-height: none !important;
        padding: 4px 0 18px 0 !important;
        gap: 6px !important;
    }

    .as-nav a {
        min-height: 48px !important;
        font-size: 15px !important;
        flex: 0 0 auto !important;
    }

    .as-sidebar-footer {
        margin-top: 12px !important;
        flex: 0 0 auto !important;
        padding-bottom: max(12px, env(safe-area-inset-bottom)) !important;
    }

    .as-sidebar-backdrop {
        display: none;
        position: fixed !important;
        inset: 0 !important;
        z-index: 2147483000 !important;
        background: rgba(0,0,0,.58) !important;
    }

    body.as-sidebar-open .as-sidebar-backdrop {
        display: block !important;
    }
}


/* Mobile sidebar final stable fix - v2.4.3: checkbox based, no JS required to open/close */
.as-menu-toggle-check{position:fixed!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important;left:-9999px!important}.as-sidebar-backdrop{display:none}@media(max-width:991px){html.as-menu-lock,body.as-sidebar-open{overflow:hidden!important}.as-mobile-menu{display:inline-grid!important;place-items:center!important;width:44px!important;height:44px!important;min-width:44px!important;border-radius:14px!important;border:1px solid rgba(226,232,240,.22)!important;background:rgba(15,23,42,.92)!important;color:#fff!important;font-size:24px!important;line-height:1!important;cursor:pointer!important;user-select:none!important;-webkit-tap-highlight-color:transparent!important;position:relative!important;z-index:2147482000!important}.as-sidebar{position:fixed!important;top:0!important;left:0!important;bottom:0!important;width:min(88vw,360px)!important;max-width:360px!important;height:100vh!important;height:100dvh!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important;transform:translate3d(-112%,0,0)!important;transition:transform .22s ease!important;z-index:2147483001!important;padding:16px 18px 20px 22px!important;box-shadow:28px 0 90px rgba(0,0,0,.58)!important}.as-menu-toggle-check:checked~.as-sidebar,body.as-sidebar-open .as-sidebar{transform:translate3d(0,0,0)!important}.as-sidebar-backdrop{position:fixed!important;inset:0!important;z-index:2147483000!important;background:rgba(0,0,0,.62)!important;cursor:pointer!important;-webkit-tap-highlight-color:transparent!important}.as-menu-toggle-check:checked~.as-sidebar-backdrop,body.as-sidebar-open .as-sidebar-backdrop{display:block!important}.as-sidebar-close{display:grid!important;place-items:center!important;position:sticky!important;top:0!important;margin:0 0 14px auto!important;padding:0!important;width:44px!important;min-width:44px!important;max-width:44px!important;height:44px!important;min-height:44px!important;border-radius:16px!important;border:1px solid rgba(226,232,240,.22)!important;background:rgba(15,23,42,.98)!important;color:#fff!important;font-size:28px!important;line-height:1!important;z-index:5!important;box-shadow:0 10px 24px rgba(0,0,0,.25)!important;appearance:none!important;-webkit-appearance:none!important;cursor:pointer!important;user-select:none!important;-webkit-tap-highlight-color:transparent!important}.as-brand{margin-top:-58px!important;padding-right:56px!important;flex:0 0 auto!important}.as-nav{flex:none!important;display:flex!important;flex-direction:column!important;overflow:visible!important;min-height:auto!important;max-height:none!important;padding:4px 0 18px 0!important;gap:6px!important}.as-nav a{min-height:48px!important;font-size:15px!important;flex:0 0 auto!important}.as-sidebar-footer{margin-top:12px!important;flex:0 0 auto!important;padding-bottom:max(12px,env(safe-area-inset-bottom))!important}}

/* v2.4.4 - destaque robusto da página atual no menu lateral */
.as-nav a{position:relative;justify-content:space-between;gap:12px}.as-nav a.active{outline:1px solid rgba(125,211,252,.24)}.as-nav a.active:before{content:"";position:absolute;left:8px;top:50%;width:5px;height:24px;border-radius:999px;background:#7dd3fc;transform:translateY(-50%);box-shadow:0 0 18px rgba(125,211,252,.7)}.as-nav a.active .as-nav-text{padding-left:10px;font-weight:850}.as-nav-current{flex:0 0 auto;display:inline-flex;align-items:center;min-height:22px;padding:0 9px;border-radius:999px;background:rgba(255,255,255,.16);color:#fff;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
