:root{--brand-primary:#8b0000}
body{background:#f5f6fa}
.auth-body{background:linear-gradient(135deg,#ffffff,#f1f5f9)}
.login-hero{min-height:100vh;background:radial-gradient(60% 60% at 50% 40%, #0f172a 0%, #0b1224 45%, #0a0f1f 100%);position:relative;overflow:hidden;color:#e5e7eb}
#map-bg{position:absolute;inset:0;z-index:0;pointer-events:none}
.video-dark-overlay{position:absolute;inset:0;z-index:1;background:
  radial-gradient(60% 60% at 50% 40%, rgba(0,0,0,.35), rgba(0,0,0,.6)),
  linear-gradient(to bottom, rgba(0,0,0,.2), rgba(0,0,0,.5));
backdrop-filter: blur(1px)}
.login-hero #video-bg{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.login-hero #video-bg .v{position:absolute;min-width:100%;min-height:100%;width:auto;height:auto;top:50%;left:50%;transform:translate(-50%,-50%);object-fit:cover;filter:saturate(1.05) brightness(.8);pointer-events:none}
.login-hero #video-bg .v2{mix-blend-mode:screen;opacity:.25}
.login-card-glass{position:relative;z-index:3}
.login-brand{position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:2}
.login-brand img{height:36px;width:auto;display:block;opacity:.95;margin:0 auto}
.login-brand .caption{margin-top:4px;text-align:center;font-size:12px;opacity:.75}
.login-backdrop-text{position:absolute;top:40px;left:50%;transform:translateX(-50%);opacity:.15;font-weight:800;font-size:22px;white-space:nowrap}
.login-card-glass{width:100%;max-width:420px;padding:28px 24px;border-radius:20px;background:rgba(15,23,42,.55);backdrop-filter: blur(10px); box-shadow: 0 0 0 1px rgba(255,255,255,.08), 0 15px 60px rgba(0,0,0,.35); border:1px solid rgba(255,255,255,.12); position:relative}
.login-card-glass:before{content:"";position:absolute;inset:-1px;border-radius:20px;padding:1px;background:linear-gradient(135deg,rgba(139,0,0,.7),rgba(59,130,246,.6),rgba(16,185,129,.6));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.6;pointer-events:none}
.login-card-glass .title{font-weight:700}
.login-card-glass .avatar{width:72px;height:72px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:-58px auto 10px auto;background:linear-gradient(135deg,#d9d9ff,#b3e5ff);color:#0b1224;font-size:34px;box-shadow:0 10px 30px rgba(0,0,0,.45)}
.input-dark{gap:10px;padding:10px 12px;border-radius:12px;background:#0b1224;border:1px solid rgba(255,255,255,.08)}
.input-dark i{opacity:.8}
.input-dark .form-control{background:transparent;border:0;box-shadow:none;color:#e5e7eb}
.input-dark .form-control::placeholder{color:#94a3b8}
.btn-eye{background:transparent;border:0;color:#9ca3af}
.btn-gradient{background:linear-gradient(90deg,#8b0000,#6d28d9,#10b981);color:#fff;border:0}
.btn-gradient:hover{filter:brightness(.95)}
.login-gear{position:absolute;opacity:.05;border:2px solid #fff;border-radius:50%;pointer-events:none;z-index:0}
.login-gear.g1{width:520px;height:520px;right:-120px;bottom:-120px}
.login-gear.g2{width:280px;height:280px;left:-80px;top:120px}
.btn-primary{background:var(--brand-primary);border-color:var(--brand-primary)}
.btn-primary:hover{filter:brightness(.9)}
.app{min-height:100vh}
.app-sidebar{width:280px;background:#ffffff;color:#111827;display:flex;flex-direction:column;align-items:stretch;padding:14px 10px;gap:6px;border-left:1px solid #eef2f7;transition:width .2s ease;border-top-left-radius:24px;border-bottom-left-radius:24px}
.app-sidebar .brand{width:100%;display:flex;align-items:center;justify-content:center;height:48px;border-radius:12px;background:#f3f4f6;font-size:20px}
.app-sidebar .section-label{color:#94a3b8;font-size:12px;margin:6px 8px}
.app-sidebar .item{display:flex;align-items:center;gap:10px;color:#111827;text-decoration:none;width:100%;padding:10px 12px;border-radius:12px;font-size:14px}
.app-sidebar .item i{font-size:18px}
.app-sidebar .item:hover{background:#f3f4f6;color:#111827}
.app-sidebar .item.active{background:#111827;color:#fff}
.app-sidebar .item.active i{color:#fff}
.app-topbar{background:#fff;border:1px solid #eef2f7;padding:10px 14px;position:sticky;top:0;z-index:5;border-radius:18px;margin:8px}
.app-topbar-dark{background:linear-gradient(180deg,#0f172a,#0b1324);border-bottom:0}
.header-chips .chip{background:#ffffff;color:#111827;border:1px solid #e5e7eb;backdrop-filter:blur(8px);padding:6px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.header-chips .chip:hover{background:#f8fafc}
.header-chips .chip:focus,.header-chips .chip:active{outline:none;box-shadow:none;text-decoration:none}
.header-chips .chip-profile{color:#111827;text-decoration:none}
.header-chips .chip-profile:hover{color:#111827;text-decoration:none}
.header-chips .chip-circle{width:38px;height:38px;justify-content:center;padding:0}
.header-chips .chip-lg{padding:8px 14px}
.header-chips .chip-sm{font-size:12px;padding:6px 10px}
.header-chips .chip .avatar{border-radius:999px}
.header-chips .chip .label{font-weight:600}
.search-wrap input{background:#f8fafc;border-color:#e5e7eb}
.company-head{background:#fff;border:1px solid #eef2f7;padding:8px 12px;border-radius:14px}
.sidebar-fab{position:fixed;top:50%;right:calc(280px + 10px);transform:translateY(-50%);background:#fff;border:1px solid #e5e7eb;border-radius:999px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(0,0,0,.06);z-index:6}
body.sidebar-collapsed .sidebar-fab{right:98px}
.app-main{background:#f6f7fb}
.card{border:0;border-radius:16px;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.tile{background:#f8fafc;border-radius:12px;padding:10px}

/* Collapsed state */
body.sidebar-collapsed .app-sidebar{width:88px}
body.sidebar-collapsed .app-sidebar .item span{display:none}
body.sidebar-collapsed .app-sidebar .section-label{display:none}
body.sidebar-collapsed .app-sidebar .brand{background:#fff}
body.sidebar-collapsed .app-sidebar .item{justify-content:center}

/* Dashboard header */
.dash-header{display:flex;align-items:center;gap:12px}
.dash-title{font-weight:800;font-size:22px}
.dash-meta{color:#64748b;font-size:13px}
.kpi-pill{background:linear-gradient(180deg,#ffffff,#f3f4f6);border:1px solid #eef2f7;border-radius:14px;padding:10px 14px;display:flex;align-items:center;gap:10px}
.kpi-pill .num{font-weight:800;font-size:18px;color:#111827}
.dash-wrap{background:#fff;border:1px solid #eef2f7;border-radius:24px;padding:16px 18px;box-shadow:0 6px 18px rgba(0,0,0,.04)}
.pill-balance{background:#efe9ff;border:1px solid #e3dcff;border-radius:16px;padding:10px 14px;min-width:180px}
.pill-balance .num{font-size:22px;font-weight:800;color:#111827}
.pill-balance .pill-menu{border:0}
.header-group{background:#f3f4f6;border:1px solid #e7eaf0;border-radius:16px;padding:6px 8px;display:flex;gap:8px}
.header-group .btn{border-radius:10px}

/* AI assistant promo */
.ai-assist{margin-top:auto;background:#f1f0ff;border:1px solid #e6e4ff;border-radius:16px;padding:12px;color:#4338ca}
.ai-assist .close{background:#fff;border:0;border-radius:50%;width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:#64748b}
.app-content{min-height:calc(100vh - 56px)}
.card.stat .label{color:#6b7280;font-size:13px}
.card.stat .value{font-weight:800;font-size:28px}
.bg-surface{background:#f8fafc}
.tile{background:#f3f4f6;border:1px dashed #e5e7eb;border-radius:12px;padding:16px}
.auth-card{border-radius:16px;border:1px solid #e5e7eb;box-shadow:0 10px 40px rgba(0,0,0,.06)}

/* Concept table helpers */
.tbl-head{background:#f8fafc;border:1px solid #e7eaf0;border-radius:14px;padding:8px 12px}
.pill{display:inline-flex;align-items:center;gap:6px;font-size:12px;padding:4px 8px;border-radius:999px;border:1px solid transparent}
.pill-soft{background:#f3f4f6;color:#111827;border-color:#e5e7eb}
.pill-green{background:#ecfdf5;color:#059669;border-color:#a7f3d0}
.pill-amber{background:#fffbeb;color:#b45309;border-color:#fde68a}
.pill-gray{background:#f3f4f6;color:#6b7280;border-color:#e5e7eb}
.currency-icon{display:inline-flex;align-items:center;line-height:0}
.currency-icon svg{width:14px;height:14px;display:block}
.currency-icon .st0{fill:currentColor !important}
