:root { --sidebar: #172033; --accent: #536dfe; --canvas: #f5f7fb; }
body { background: var(--canvas); color: #20263a; }
.app-shell { min-height: 100vh; display: flex; }
.sidebar { width: 245px; position: fixed; inset: 0 auto 0 0; padding: 24px 18px; background: var(--sidebar); display: flex; flex-direction: column; }
.brand { color: white; font-size: 1.35rem; font-weight: 700; text-decoration: none; margin-bottom: 28px; }
.sidebar-label { color: #8490aa; text-transform: uppercase; font-size: .7rem; letter-spacing: .12em; margin: 0 12px 8px; }
.sidebar .nav-link { color: #c7cfdf; border-radius: .6rem; padding: .7rem .8rem; }
.sidebar .nav-link:hover { color: white; background: rgba(255,255,255,.08); }
.sidebar-user { color: white; border-top: 1px solid rgba(255,255,255,.12); padding-top: 16px; }
.content { margin-left: 245px; width: calc(100% - 245px); }
.metric-card, .panel { border: 0; border-radius: 1rem; box-shadow: 0 .25rem 1.25rem rgba(31,45,61,.07); }
.metric-value { font-size: 1.8rem; font-weight: 700; }
.table > :not(caption) > * > * { padding: .85rem .75rem; vertical-align: middle; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 1rem; background: linear-gradient(135deg, #172033, #35466d); }
.login-card { width: min(430px, 100%); border: 0; border-radius: 1.2rem; }
@media (max-width: 767px) { .sidebar { position: static; width: 100%; min-height: auto; } .app-shell { display: block; } .content { margin: 0; width: 100%; } .sidebar-user { margin-top: 1rem !important; } }
