.shell { display:flex; min-height:100vh; }
.sidebar {
    width:260px;
    background:#0f172a;
    color:#e5e7eb;
    padding:14px;
    box-shadow: 0 10px 35px rgba(0,0,0,.15);
}
.brand { font-weight:800; letter-spacing:.2px; font-size:16px; margin-bottom:14px; display:flex; align-items:center; gap:10px; }
.brand-badge { width:30px; height:30px; border-radius:10px; background:#1d4ed8; display:inline-flex; align-items:center; justify-content:center; font-weight:800; }
.nav { display:flex; flex-direction:column; gap:6px; margin-top:8px; }
.nav a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    text-decoration:none;
    color:#e5e7eb;
    padding:10px 10px;
    border-radius:12px;
    transition: background .15s ease, transform .05s ease;
    border:1px solid rgba(255,255,255,.06);
}
.nav a:hover { background:rgba(255,255,255,.07); }
.nav a:active { transform: translateY(1px); }
.nav .active { background:rgba(29,78,216,.35); border-color:rgba(29,78,216,.35); }
.nav small { opacity:.75; }
.sidebar-footer { margin-top:14px; padding-top:12px; border-top:1px solid rgba(255,255,255,.08); opacity:.9; font-size:13px; }

.content { flex:1; display:flex; flex-direction:column; }
.topbar {
    background:#ffffff;
    border-bottom:1px solid rgba(0,0,0,.08);
    padding:12px 14px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
}
.page-wrap { padding:14px; }

.pill {
    display:inline-flex; align-items:center; gap:8px;
    padding:8px 10px;
    border-radius:999px;
    background:#f1f5f9;
    border:1px solid rgba(0,0,0,.08);
    font-size:13px;
    color:#0f172a;
}
.btn {
    border:1px solid rgba(0,0,0,.15);
    background:#fff;
    border-radius:12px;
    padding:8px 10px;
    cursor:pointer;
}
.btn:hover { background:#f8fafc; }
.btn-primary { background:#1d4ed8; border-color:#1d4ed8; color:#fff; }
.btn-primary:hover { background:#1b46c2; }
.muted { opacity:.75; }

/* Simple card/table baseline (so pages look consistent) */
.card { background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:14px; box-shadow:0 12px 30px rgba(0,0,0,.06); }
.card-body { padding:12px; }
.form-control { width:100%; padding:10px 11px; border:1px solid #d8dde6; border-radius:12px; }
.table th, .table td { font-size:14px; }
