:root { --side: 230px; --bg: #f4f6fb; --primary: #3667ff; }
body { background: var(--bg); font-size: 14px; }
.layout { display: flex; min-height: 100vh; }
.sidebar {
    width: var(--side); background: #111827; color: #cbd5e1;
    display: flex; flex-direction: column; position: fixed; top: 0; bottom: 0;
}
.sidebar .brand { font-size: 20px; font-weight: 700; color: #fff; padding: 18px 20px; border-bottom: 1px solid #1f2937; }
.sidebar .nav { padding: 12px 8px; flex: 1; }
.sidebar .nav-link { color: #cbd5e1; border-radius: 8px; padding: 10px 14px; margin-bottom: 2px; }
.sidebar .nav-link:hover { background: #1f2937; color: #fff; }
.sidebar .nav-link.active { background: var(--primary); color: #fff; }
.sidebar-foot { padding: 14px 20px; border-top: 1px solid #1f2937; font-size: 12px; display: flex; flex-direction: column; gap: 4px; }
.content { margin-left: var(--side); padding: 24px 28px; width: calc(100% - var(--side)); }
.page-title { font-size: 22px; font-weight: 700; margin-bottom: 18px; }
.stat-card { background: #fff; border-radius: 12px; padding: 18px; box-shadow: 0 1px 3px rgba(0,0,0,.06); }
.stat-card .num { font-size: 28px; font-weight: 700; }
.stat-card .lbl { color: #6b7280; font-size: 13px; }
.card { border: none; box-shadow: 0 1px 3px rgba(0,0,0,.06); border-radius: 12px; }
.table thead th { font-size: 12px; text-transform: uppercase; color: #6b7280; letter-spacing: .03em; }
.table td { vertical-align: middle; }
.badge-status { font-size: 12px; }
.login-wrap { max-width: 380px; margin: 8vh auto; }
.login-card { background: #fff; padding: 32px; border-radius: 14px; box-shadow: 0 8px 30px rgba(0,0,0,.1); }
.settings-group h5 { font-size: 14px; text-transform: uppercase; color: #6b7280; margin: 22px 0 10px; letter-spacing: .04em; }
.code-cell { font-family: ui-monospace, monospace; font-size: 12px; }
