body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;--navbar-h:80px;--sidebar-w:270px;--sidebar-w-collapsed:72px}
.app-auth.app-sidebar-collapsed{--sidebar-w:var(--sidebar-w-collapsed)}
.app-navbar{box-shadow:0 10px 24px rgba(0,0,0,.12);min-height:var(--navbar-h)}
.app-brand-icon{display:inline-flex;width:28px;height:28px;align-items:center;justify-content:center;border-radius:.6rem;background:rgba(255,255,255,.18)}
.app-brand-logo{display:inline-flex;width:64px;height:64px;align-items:center;justify-content:center;border-radius:.6rem;background:rgba(255,255,255,.18);overflow:hidden}
.app-brand-logo-img{width:100%;height:100%;object-fit:contain;display:block}
.app-navbar .app-brand-logo{background:transparent}
.app-navbar .app-brand-logo-img{filter:brightness(0) invert(1);opacity:.95}
.app-login-logo{width:88px;height:88px;object-fit:contain;display:block}
.app-shell{display:flex;min-height:calc(100vh - var(--navbar-h))}
.app-sidebar{width:var(--sidebar-w);flex:0 0 auto;position:sticky;top:var(--navbar-h);height:calc(100vh - var(--navbar-h));overflow:auto;transition:width .18s ease}
.app-content{flex:1 1 auto;min-width:0;position:relative}
.app-content::before{content:"";position:fixed;inset:var(--navbar-h) 0 0 var(--sidebar-w);background-image:url("/assets/images/logo.svg");background-repeat:no-repeat;background-position:center;background-size:520px;opacity:.08;pointer-events:none;z-index:0}
.app-content>.container-fluid{position:relative;z-index:1}
.app-sidebar-backdrop{position:fixed;inset:var(--navbar-h) 0 0 0;background:rgba(0,0,0,.35);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:1025}
.app-sidebar-open .app-sidebar-backdrop{opacity:1;pointer-events:auto}
.app-footer{position:fixed;left:0;right:0;bottom:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-top:1px solid rgba(0,0,0,.08);z-index:1030}
.app-footer .container-fluid{display:flex;align-items:center;flex-direction:column;padding:6px}
body{padding-top:var(--navbar-h);padding-bottom:72px}
body.app-auth{padding-bottom:0}
.app-auth .app-content>.container-fluid{padding-bottom:92px}
@media (min-width: 992px){.app-auth .app-footer{left:var(--sidebar-w)}}
.app-navlink{display:flex;align-items:center;gap:.6rem;border-radius:.7rem;padding:.55rem .75rem;color:rgba(255,255,255,.92)}
.app-navlink:hover{background:rgba(255,255,255,.08);color:#fff}
.app-navlink.active{background:rgba(255,255,255,.14);color:#fff}
.app-auth.app-sidebar-collapsed .app-navlink{justify-content:center;padding:.65rem .5rem}
.app-auth.app-sidebar-collapsed .app-navlink span{display:none}
.app-auth.app-sidebar-collapsed .app-sidebar .mb-3{display:none}
.card{border:0;box-shadow:0 10px 30px rgba(16,24,40,.08)}
.table> :not(caption)>*>*{padding:.65rem .75rem}

@media (max-width: 991.98px){
 body{--navbar-h:64px}
 .app-navbar .navbar-brand{font-size:1rem}
 .app-navbar .navbar-brand{gap:.5rem!important}
 .app-navbar .app-brand-logo{width:44px;height:44px;border-radius:.5rem}
 .app-navbar .app-brand-logo-img{width:44px;height:44px}
 #sidebarToggle{padding:.25rem .45rem}
 .app-shell{display:block}
 .app-sidebar{position:fixed;top:var(--navbar-h);left:0;height:calc(100vh - var(--navbar-h));width:270px;transform:translateX(-102%);transition:transform .18s ease;z-index:1035}
 .app-sidebar-open .app-sidebar{transform:translateX(0)}
 .app-content::before{inset:var(--navbar-h) 0 0 0;background-size:360px;opacity:.06}
 .app-auth .app-footer{left:0}
 .app-content>.container-fluid{padding:1rem!important;padding-bottom:7rem!important}
}
