:root { --app-bg:#f5f5f7; --app-ink:#1d1d1f; --app-muted:#6e6e73; --app-primary:#007aff; --app-primary-dark:#005ecb; --app-accent:#ff9500; --app-border:#d2d2d7; --app-shadow:0 8px 24px rgba(0,0,0,.07); }
body { background:var(--app-bg)!important; color:var(--app-ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif!important; }
.navbar { background:rgba(255,255,255,.92)!important; border-bottom:1px solid var(--app-border); box-shadow:0 4px 18px rgba(31,43,74,.05)!important; backdrop-filter:blur(14px); }
.navbar-dark .navbar-brand,.navbar-dark .nav-link { color:var(--app-ink)!important; }
.sidebar { background:#f2f2f7!important; border-right:1px solid #d2d2d7; box-shadow:4px 0 18px rgba(0,0,0,.04)!important; }
.sidebar-menu { padding:18px 12px; }
.sidebar-menu a { margin:4px 0; border:0!important; border-radius:7px; color:#3a3a3c!important; padding:12px 14px!important; font-size:14px; }
.sidebar-menu a:hover,.sidebar-menu a.active { color:#007aff!important; background:rgba(0,122,255,.10)!important; }
.sidebar-menu a.active { box-shadow:inset 3px 0 var(--app-primary); }
.main-content { background:var(--app-bg)!important; padding:32px!important; }
.card { border:1px solid var(--app-border)!important; border-radius:10px!important; box-shadow:var(--app-shadow)!important; }
.card:hover { transform:none!important; }
.card-header { background:transparent!important; border-bottom:1px solid var(--app-border)!important; padding:18px 22px!important; font-weight:650; }
.card-body { padding:22px!important; }
.welcome-card { border:0!important; background:linear-gradient(120deg,#1d1d1f,#007aff 68%,#5ac8fa)!important; box-shadow:0 14px 30px rgba(0,122,255,.22)!important; }
.welcome-card h2 { font-size:clamp(1.45rem,3vw,2.1rem); letter-spacing:-.03em; }
.btn-primary { background:var(--app-primary)!important; border-color:var(--app-primary)!important; }
.form-control,.form-select { border-color:var(--app-border); border-radius:7px; padding:.65rem .8rem; }
.form-control:focus,.form-select:focus { border-color:var(--app-primary); box-shadow:0 0 0 .2rem rgba(99,91,255,.14); }
.table { --bs-table-hover-bg:#f7f8fc; }
.table thead th { color:var(--app-muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.05em; border-bottom-width:1px; }
.badge { border-radius:999px; padding:.4em .7em; }
.nav-tabs { gap:8px; border-bottom:1px solid var(--app-border); }
.nav-tabs .nav-link { border:0; color:var(--app-muted); border-radius:6px 6px 0 0; }
.nav-tabs .nav-link.active { color:var(--app-primary); background:#e5f1ed; font-weight:650; }
.permission-help { color:var(--app-muted); font-size:.88rem; }
.contents { display:contents; }
.permission-grid { display:grid; grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(120px,1fr)); align-items:center; border-bottom:1px solid var(--app-border); }
.permission-row { display:grid!important; grid-template-columns:minmax(180px,1.4fr) repeat(4,minmax(120px,1fr)); width:100%; }
#permissions-table-body { display:block; width:100%; }
.permission-grid > div { padding:12px 14px; }
.permission-label { color:var(--app-muted); font-size:.78rem; font-weight:650; text-align:center; }
.permission-action { text-align:center; }
.permission-module small { display:none!important; }
.permission-check { display:inline-flex; align-items:center; gap:7px; cursor:pointer; color:var(--app-ink); font-size:.78rem; }
.permission-check span { display:inline; color:var(--app-muted); font-size:.76rem; }
@media(max-width:800px){.permission-grid{grid-template-columns:150px repeat(4,100px);overflow:auto}.permission-check span{display:none!important}}
@media(max-width:768px){.main-content{padding:18px!important}.sidebar{width:100%}}
