:root{--sidebar-width:260px;--sidebar-bg:#1e293b;--sidebar-hover:#334155;--content-bg:#f1f5f9}html{-webkit-text-size-adjust:100%}body{background:var(--content-bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow-x:clip;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y}.admin-wrapper{display:flex;min-height:100vh}.admin-sidebar{width:var(--sidebar-width);height:100vh;max-height:100dvh;background:var(--sidebar-bg);position:fixed;left:0;top:0;overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;z-index:1000}.admin-content{margin-left:var(--sidebar-width);flex:1 1;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;overflow-x:clip}.admin-main{flex:1 1;min-height:0}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}.grid-filter-row .grid-filter-cell{background:#fff;border-bottom:1px solid #dee2e6;font-weight:400;padding:.75rem;vertical-align:middle}.grid-filter-row .form-control,.grid-filter-row .form-select{font-size:.875rem}body.mobile-menu-open{overflow:hidden;position:fixed;width:100%;left:0;right:0}.sidebar-group-title{color:#94a3b8;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}.sidebar-link{color:#cbd5e1!important;border-radius:.375rem;margin-bottom:.25rem;padding:.5rem 1rem!important}.sidebar-link:hover{background:var(--sidebar-hover);color:#fff!important}.sidebar-link.active{background:#3b82f6;color:#fff!important}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1e293b,#334155)}.login-card{width:100%;max-width:420px}.database-config-wrapper{width:100%;max-width:520px;padding:1rem}.database-config-card .card-header{background:#f8fafc}.stat-card{border:none;border-radius:.75rem;box-shadow:0 1px 3px rgba(0,0,0,.08)}.stat-card .stat-value{font-size:2rem;font-weight:700}.stat-card-link{color:inherit;transition:transform .15s ease,box-shadow .15s ease}.stat-card-link:hover .stat-card{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.1)}.stat-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.fault-status-badge{font-weight:500}.permission-matrix{overflow-x:auto}.permission-matrix table td,.permission-matrix table th{white-space:nowrap;vertical-align:middle}.admin-navbar{flex-wrap:nowrap;min-height:56px}.admin-navbar-greeting{min-width:0;max-width:100%}.sidebar-backdrop{position:fixed;inset:0;z-index:1040;border:0;padding:0;margin:0;background:rgba(15,23,42,.55);cursor:pointer;pointer-events:auto}.sidebar-close-btn{line-height:1;flex-shrink:0}.sidebar-nav{display:flex;flex-direction:column}@media (max-width:991.98px){.admin-sidebar{width:min(88vw,300px);transform:translateX(-100%);transition:transform .25s ease,visibility .25s ease;box-shadow:4px 0 24px rgba(0,0,0,.2);z-index:1050;pointer-events:none;visibility:hidden}.admin-sidebar.is-open{transform:translateX(0);pointer-events:auto;visibility:visible}.admin-sidebar:not(.is-open){box-shadow:none}.admin-content{margin-left:0;width:100%;max-width:100%}.admin-main{padding:1rem!important}.sidebar-brand-title{font-size:1.1rem}.stat-card .stat-value{font-size:1.5rem}}@media (max-width:575.98px){.admin-main{padding:.75rem!important}.admin-navbar-greeting{font-size:.9rem}.card-header .row{row-gap:.75rem}}