*{box-sizing:border-box}
body{margin:0;font-family:Arial,sans-serif;background:#f5f7fb;color:#152238}
.wrap{max-width:1100px;margin:6vh auto;padding:32px}
.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.auth-card{width:min(460px,100%);background:#fff;padding:36px;border-radius:24px;box-shadow:0 10px 40px #0001}
.logo{font-size:42px;font-weight:800;letter-spacing:3px}
.logo.small{font-size:28px}
h1{font-size:36px;margin:12px 0}
label{display:block;font-weight:700;margin:18px 0 7px}
input{width:100%;padding:14px;border:1px solid #ccd4df;border-radius:10px;font-size:16px}
button{width:100%;margin-top:22px;padding:14px;border:0;border-radius:10px;background:#0b5cab;color:#fff;font-size:16px;font-weight:700;cursor:pointer}
a{color:#0b5cab;text-decoration:none}
.muted{color:#65748a}
.alert{background:#fff0f0;border:1px solid #e4aaaa;padding:12px;border-radius:10px;color:#9a2020}
.test-box{margin:24px 0;padding:16px;background:#f5f7fb;border-radius:12px}
.test-box p{margin:7px 0}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:18px 32px;background:#fff;border-bottom:1px solid #e4e9ef;position:sticky;top:0;z-index:20}
.brand-row{display:flex;align-items:center;gap:14px}
.logout{margin-left:18px}
.badge{display:inline-block;padding:7px 12px;border-radius:999px;background:#e8f1fb;color:#0b5cab;font-weight:700}
.app-shell{display:flex;min-height:calc(100vh - 73px)}
.sidebar{width:260px;background:#fff;border-right:1px solid #e4e9ef;padding:24px 14px;display:flex;flex-direction:column;gap:5px}
.side-title{font-size:18px;font-weight:800;padding:0 12px 16px}
.nav-section{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:#7a8798;padding:18px 12px 6px;font-weight:800}
.nav-item{display:block;padding:11px 12px;border-radius:9px;color:#24344d}
.nav-item:hover,.nav-item.active{background:#edf4fb;color:#0b5cab}
.nav-bottom{margin-top:auto}
.content{flex:1;max-width:1200px;padding:42px}
.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.card{background:#fff;padding:24px;border-radius:18px;box-shadow:0 4px 24px #0001}
.admin-card{margin-top:18px}
.permission-list{display:flex;flex-wrap:wrap;gap:8px}
.permission-chip{padding:6px 9px;border-radius:999px;background:#eef2f7;font-size:12px}
.menu-toggle{display:none;width:auto;margin:0;padding:8px 10px;background:transparent;color:#152238}
@media(max-width:800px){
    .topbar{padding:14px 18px}
    .topbar>div:last-child span{display:none}
    .menu-toggle{display:block}
    .app-shell{position:relative}
    .sidebar{position:fixed;left:-280px;top:73px;bottom:0;z-index:15;transition:left .2s;box-shadow:8px 0 30px #0002}
    body.nav-open .sidebar{left:0}
    .content{padding:28px 18px}
    h1{font-size:30px}
}
