:root{--brand:#e63946;--brand-dark:#c1121f;--side:#14161c;--side-2:#1d2029}
body{background:#f4f5f8;font-family:"Inter","Noto Sans Kannada",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;font-size:.94rem}
.btn-brand{background:var(--brand);border-color:var(--brand);color:#fff}
.btn-brand:hover,.btn-brand:focus{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}
.text-brand{color:var(--brand)!important}.bg-brand{background:var(--brand)!important;color:#fff}
.sidebar{width:248px;background:var(--side);min-height:100vh;position:fixed;top:0;left:0;z-index:1040;overflow-y:auto;transition:transform .2s}
.sidebar .logo{padding:18px 20px;color:#fff;font-weight:700;font-size:1.1rem;display:flex;gap:10px;align-items:center;border-bottom:1px solid #262a35}
.sidebar .logo img{height:34px;width:34px;object-fit:cover;border-radius:8px}
.sidebar .grp{color:#6c7386;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;padding:14px 20px 4px}
.sidebar a.nav-link{color:#c3c8d4;padding:8px 20px;display:flex;gap:10px;align-items:center;border-left:3px solid transparent}
.sidebar a.nav-link:hover{background:var(--side-2);color:#fff}
.sidebar a.nav-link.active{background:var(--side-2);color:#fff;border-left-color:var(--brand)}
.main{margin-left:248px;min-height:100vh}
.topbar{background:#fff;border-bottom:1px solid #e6e8ee;padding:10px 20px;position:sticky;top:0;z-index:1030}
.content{padding:20px}
.card{border:1px solid #e6e8ee;border-radius:12px;box-shadow:0 1px 2px rgba(16,24,40,.04)}
.card-header{background:#fff;border-bottom:1px solid #eef0f4;font-weight:600}
.stat{border-radius:12px;padding:16px;background:#fff;border:1px solid #e6e8ee;height:100%}
.stat .v{font-size:1.5rem;font-weight:700}.stat .l{color:#6b7280;font-size:.82rem}
.stat i{font-size:1.4rem;color:var(--brand)}
.table>:not(caption)>*>*{padding:.55rem .6rem}
.table thead th{font-size:.75rem;text-transform:uppercase;color:#6b7280;letter-spacing:.03em;background:#fafbfc}
.avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#e9ecf2;display:inline-flex;align-items:center;justify-content:center;font-weight:600;color:#555}
.avatar-lg{width:96px;height:96px;font-size:2rem}
.page-title{font-weight:700;font-size:1.3rem;margin:0}
.form-label{font-weight:500;font-size:.85rem;color:#374151}
@media(max-width:991px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:none}.main{margin-left:0}}
@media print{.sidebar,.topbar,.no-print{display:none!important}.main{margin:0}.content{padding:0}body{background:#fff}.card{border:0;box-shadow:none}}
/* Member portal + shop */
.portal-nav{background:var(--side)}.portal-nav .nav-link,.portal-nav .navbar-brand{color:#fff}
.hero{background:linear-gradient(120deg,var(--side) 0%,#2b2f3b 60%,var(--brand) 140%);color:#fff;padding:70px 0}
.product-card img{height:200px;object-fit:cover;border-radius:12px 12px 0 0;background:#eee}
.kiosk{min-height:100vh;background:var(--side);color:#fff}
.kiosk-result{border-radius:16px;padding:24px;font-size:1.3rem}
.bottom-nav{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #e6e8ee;display:flex;z-index:1030}
.bottom-nav a{flex:1;text-align:center;padding:8px 0;color:#6b7280;font-size:.72rem;text-decoration:none}
.bottom-nav a i{display:block;font-size:1.25rem}.bottom-nav a.active{color:var(--brand)}
.has-bottom-nav{padding-bottom:70px}
.table a,.list-group a,.card-body a.text-dark{text-decoration:none}
