:root {
    --masara-red: #c8102e;
    --masara-red-dark: #a00d25;
    --masara-black: #111111;
    --masara-gray: #f4f4f5;
    --sidebar-w: 250px;
}

body { background: var(--masara-gray); color: #1b1b1b; -webkit-tap-highlight-color: transparent; }

/* Brand buttons & links */
.btn-masara { background: var(--masara-red); border-color: var(--masara-red); color: #fff; }
.btn-masara:hover, .btn-masara:focus { background: var(--masara-red-dark); border-color: var(--masara-red-dark); color: #fff; }
.btn { min-height: 44px; }
.form-control, .form-select { min-height: 46px; }
a { color: var(--masara-red); }
.form-control:focus, .form-select:focus { border-color: var(--masara-red); box-shadow: 0 0 0 .2rem rgba(200,16,46,.15); }

/* Sidebar */
.masara-sidebar { background: var(--masara-black); color: #fff; width: var(--sidebar-w); }
.masara-sidebar .brand { font-weight: 800; letter-spacing: .12em; font-size: 1.4rem; }
.masara-sidebar .brand span { color: var(--masara-red); }
.masara-sidebar .nav-link { color: #d4d4d8; padding: .85rem 1.1rem; border-radius: .6rem; font-size: 1.02rem; }
.masara-sidebar .nav-link i { width: 1.6rem; display: inline-block; }
.masara-sidebar .nav-link:hover { background: #222; color: #fff; }
.masara-sidebar .nav-link.active { background: var(--masara-red); color: #fff; }

@media (min-width: 992px) {
    .masara-sidebar { position: fixed; top: 0; bottom: 0; left: 0; }
    .masara-main { margin-left: var(--sidebar-w); }
}

/* Top bar (mobile) */
.masara-topbar { background: var(--masara-black); color: #fff; position: sticky; top: 0; z-index: 1020; }
.masara-topbar .brand { font-weight: 800; letter-spacing: .12em; }
.masara-topbar .brand span { color: var(--masara-red); }

/* Cards */
.stat-card { border: 0; border-left: 5px solid var(--masara-red); border-radius: .75rem; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.stat-card .stat-value { font-size: 1.5rem; font-weight: 700; }
.stat-card .stat-label { font-size: .8rem; text-transform: uppercase; letter-spacing: .04em; color: #6b7280; }
.panel { background: #fff; border: 0; border-radius: .75rem; box-shadow: 0 1px 3px rgba(0,0,0,.08); }
.panel-header { border-bottom: 1px solid #eee; padding: .9rem 1.1rem; font-weight: 700; }

/* Login */
.login-wrap { min-height: 100vh; background: var(--masara-black); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.login-card { width: 100%; max-width: 400px; border-radius: 1rem; }
.login-card .brand { font-weight: 800; letter-spacing: .15em; font-size: 1.8rem; }
.login-card .brand span { color: var(--masara-red); }
