/* ============================================================
   AURORA GLASS v5 THEME — layered OVER portal.css
   Loaded after portal.css. Pure additive / override.
   Nothing in portal.css is modified, so all existing
   functionality stays 100% intact.
   ============================================================ */

/* fonts */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@500;600;700&family=Noto+Nastaliq+Urdu:wght@400;600;700&display=swap');

/* ---------- THEME VARIABLES (override portal.css :root) ---------- */
:root{
  --primary-color:#6366f1; --primary-hover:#4f46e5;
  --info-color:#06b6d4; --success-color:#10b981; --warning-color:#f59e0b; --danger-color:#ef4444;
  --accent:#6366f1; --accent2:#8b5cf6; --accent3:#06b6d4; --pink:#ec4899;
  --ink:#0a0f1f; --muted:#6b7896; --line:rgba(148,163,184,.16);
  --glass:rgba(255,255,255,.62); --glass-brd:rgba(255,255,255,.78);
  --card-text:#0a0f1f; --au-r:24px;
  --o1:#a5b4fc; --o2:#d8b4fe; --o3:#67e8f9; --o4:#fbcfe8; --o5:#bfdbfe;
}
[data-accent="violet"]{--primary-color:#8b5cf6;--accent:#8b5cf6;--accent2:#a855f7;--accent3:#ec4899}
[data-accent="cyan"]{--primary-color:#06b6d4;--accent:#06b6d4;--accent2:#3b82f6;--accent3:#8b5cf6}
[data-accent="emerald"]{--primary-color:#10b981;--accent:#10b981;--accent2:#059669;--accent3:#06b6d4}

/* dark mode */
[data-theme="dark"]{
  --light-bg:#0a0f1f; --text-main:#e8ecf6; --text-muted:#8a94ad;
  --border-color:rgba(255,255,255,.09); --card-bg:rgba(22,28,46,.66);
  /* glass-card rules in portal.css use rgba(var(--card-bg-rgb,255,255,255),.7) — define it dark */
  --card-bg-rgb:22, 28, 46;
  --ink:#e8ecf6; --muted:#8a94ad; --line:rgba(255,255,255,.08);
  --glass:rgba(22,28,46,.62); --glass-brd:rgba(255,255,255,.09); --card-text:#e8ecf6;
  --o1:#312e81; --o2:#4c1d95; --o3:#0e7490; --o4:#831843; --o5:#1e3a8a;
  --header-bg:#141a2e;
}
[data-theme="dark"] body{background:#0a0f1f}
[data-theme="dark"] .text-gray-800,[data-theme="dark"] .text-dark{color:var(--text-main)!important}
[data-theme="dark"] .bg-white,[data-theme="dark"] .bg-light{background:var(--card-bg)!important;color:var(--text-main)}
[data-theme="dark"] .table{color:var(--text-main)}
[data-theme="dark"] .modal-header.bg-white{background:var(--card-bg)!important}
[data-theme="dark"] .form-control{background:rgba(255,255,255,.05);color:var(--text-main);border-color:var(--line)}
[data-theme="dark"] .nav-tabs .nav-link{color:var(--text-muted)}

/* ---------- ANIMATED MESH BACKGROUND ---------- */
.aurora-mesh{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
  background:linear-gradient(135deg,#eef1ff 0%,#f6f0ff 45%,#eafcff 100%);transition:background .5s}
[data-theme="dark"] .aurora-mesh{background:linear-gradient(135deg,#0a0f1f 0%,#0f1428 45%,#0b1322 100%)}
.aurora-mesh .orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.5;mix-blend-mode:multiply;transition:background .5s}
[data-theme="dark"] .aurora-mesh .orb{mix-blend-mode:screen;opacity:.38}
.aurora-mesh .a{width:540px;height:540px;background:radial-gradient(circle,var(--o1),transparent 70%);top:-180px;left:-140px;animation:au-f1 20s ease-in-out infinite}
.aurora-mesh .b{width:470px;height:470px;background:radial-gradient(circle,var(--o2),transparent 70%);top:-100px;right:-130px;animation:au-f2 24s ease-in-out infinite}
.aurora-mesh .c{width:500px;height:500px;background:radial-gradient(circle,var(--o3),transparent 70%);bottom:-200px;right:16%;animation:au-f3 22s ease-in-out infinite}
.aurora-mesh .d{width:390px;height:390px;background:radial-gradient(circle,var(--o4),transparent 70%);bottom:-140px;left:6%;animation:au-f1 26s ease-in-out infinite}
.aurora-mesh .e{width:330px;height:330px;background:radial-gradient(circle,var(--o5),transparent 70%);top:35%;left:42%;animation:au-f2 28s ease-in-out infinite}
@keyframes au-f1{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(60px,46px) scale(1.1)}}
@keyframes au-f2{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(-55px,55px) scale(1.13)}}
@keyframes au-f3{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(46px,-46px) scale(1.07)}}
/* keep app content above mesh */
body{background:transparent!important}
#app-view,#login-view,#company-view{position:relative;z-index:2}

/* ---------- GLASS SIDEBAR ---------- */
.sidebar{
  background:var(--glass)!important;backdrop-filter:blur(26px) saturate(185%);-webkit-backdrop-filter:blur(26px) saturate(185%);
  border-right:1px solid var(--glass-brd)!important;border-radius:0 28px 28px 0;
  box-shadow:14px 0 50px -24px rgba(79,70,229,.4);position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar .text-white{color:var(--ink)!important}
.sidebar .text-info{color:var(--accent)!important}
.sidebar .text-white-50,.sidebar a.text-white-50{color:var(--muted)!important}
.sidebar .border-bottom{border-color:var(--line)!important}
.sidebar .nav-link{color:var(--muted)!important;border-radius:14px;margin:.3rem .75rem}
.sidebar .nav-link i{color:var(--muted)!important;opacity:.8}
.sidebar .nav-link:hover{background:rgba(125,125,150,.14)!important;color:var(--ink)!important;transform:translateX(3px)}
.sidebar .nav-link:hover i{color:var(--ink)!important;opacity:1}
.sidebar .nav-link.active{background:linear-gradient(135deg,var(--accent),var(--accent2))!important;color:#fff!important;
  box-shadow:0 12px 26px -8px var(--accent)}
.sidebar .nav-link.active i{color:#fff!important;opacity:1}
.sidebar .nav-link.text-danger{color:var(--danger-color)!important}
.sidebar .nav-link.text-danger:hover{background:rgba(239,68,68,.12)!important}
#tenant-switcher-select{background:rgba(125,125,150,.12)!important;color:var(--ink)!important;border:1px solid var(--line)!important}
#tenant-switcher-select option{background:var(--header-bg,#fff);color:var(--ink)}
/* section group labels inside dynamic nav */
.sidebar .nav-section-title,.sidebar .text-uppercase{color:var(--muted)!important}

/* ---------- GLASS CARDS / PANELS ---------- */
.card{
  background:var(--glass)!important;backdrop-filter:blur(22px) saturate(185%);-webkit-backdrop-filter:blur(22px) saturate(185%);
  border:1px solid var(--glass-brd)!important;border-radius:var(--au-r)!important;
  box-shadow:0 18px 44px -26px rgba(30,41,59,.42)!important;transition:transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s!important}
.card:hover{transform:translateY(-4px);box-shadow:0 30px 60px -26px rgba(99,102,241,.42)!important}
.clickable-card,.stat-card{border-radius:var(--au-r)!important}
.modal-content{background:var(--glass)!important;backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);
  border:1px solid var(--glass-brd)!important;border-radius:22px!important;color:var(--card-text)}
[data-theme="dark"] .modal-header{background:transparent!important;color:var(--text-main)}
[data-theme="dark"] .modal-body,[data-theme="dark"] .modal-footer{color:var(--text-main)}

/* ---------- MODERN BUTTONS ---------- */
.btn{border-radius:13px;font-weight:600;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2))!important;border:0!important;box-shadow:0 12px 26px -10px var(--accent)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 18px 32px -10px var(--accent)}
.btn-rounded{border-radius:99px!important}

/* login glass */
.login-card{background:var(--glass)!important;backdrop-filter:blur(28px) saturate(185%);-webkit-backdrop-filter:blur(28px) saturate(185%);
  border:1px solid var(--glass-brd)!important;border-radius:28px!important;color:var(--card-text)}
[data-theme="dark"] .login-card{color:var(--text-main)}

/* ---------- SIDEBAR CONTROL STRIP (injected) ---------- */
.au-sb-controls{padding:10px 14px 4px;display:flex;flex-direction:column;gap:8px}
.au-search{display:flex;align-items:center;gap:9px;padding:10px 13px;border-radius:13px;background:rgba(125,125,150,.12);
  border:1px solid var(--line);color:var(--muted);font-size:12.5px;cursor:pointer;transition:.2s}
.au-search:hover{background:rgba(125,125,150,.2)}
.au-search kbd{margin-left:auto;font-size:10px;background:var(--glass);border:1px solid var(--line);border-radius:6px;padding:2px 6px}
[dir="rtl"] .au-search kbd{margin-left:0;margin-right:auto}
.au-quick{display:flex;gap:8px}
.au-quick button{flex:1;height:40px;border-radius:12px;border:1px solid var(--line);background:rgba(125,125,150,.1);
  color:var(--muted);font-size:14px;cursor:pointer;transition:.2s;position:relative}
.au-quick button:hover{color:var(--accent);background:rgba(99,102,241,.12);transform:translateY(-2px)}
.au-quick button .au-bdot{position:absolute;top:8px;right:9px;width:7px;height:7px;border-radius:50%;background:var(--pink)}

/* ---------- THEME POPUP ---------- */
.au-pop{position:fixed;background:var(--glass);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);
  border:1px solid var(--glass-brd);border-radius:18px;box-shadow:0 30px 70px -20px rgba(0,0,0,.45);padding:16px;z-index:10050;display:none;width:240px;animation:au-pop .25s cubic-bezier(.34,1.56,.64,1)}
.au-pop.show{display:block}
@keyframes au-pop{from{opacity:0;transform:scale(.94) translateY(-6px)}to{opacity:1;transform:scale(1)}}
.au-pop .lab{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:10px}
.au-swatches{display:flex;gap:10px;margin-bottom:16px}
.au-swatches button{width:34px;height:34px;border-radius:11px;border:2px solid transparent;cursor:pointer;transition:.2s}
.au-swatches button.on{border-color:var(--card-text);transform:scale(1.1)}
.au-mode{display:flex;background:rgba(125,125,150,.14);border-radius:12px;padding:4px}
.au-mode button{flex:1;border:0;background:transparent;padding:9px;border-radius:9px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:.2s}
.au-mode button.on{background:var(--card-text);color:var(--light-bg)}

/* ---------- NOTIFICATION DROPDOWN ---------- */
.au-notif{position:fixed;width:340px;background:var(--glass);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);
  border:1px solid var(--glass-brd);border-radius:20px;box-shadow:0 30px 70px -20px rgba(0,0,0,.45);padding:8px;z-index:10050;display:none;animation:au-pop .25s cubic-bezier(.34,1.56,.64,1)}
.au-notif.show{display:block}
.au-notif .nh{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 10px}
.au-notif .nh b{font-size:14px;color:var(--card-text)}.au-notif .nh span{font-size:11px;color:var(--accent);cursor:pointer;font-weight:600}
.au-notif .ni{display:flex;gap:12px;padding:12px 14px;border-radius:13px;cursor:pointer}
.au-notif .ni:hover{background:rgba(125,125,150,.1)}
.au-notif .ni .d{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;font-size:13px;flex-shrink:0}
.au-notif .ni .t{font-size:12.5px;font-weight:600;color:var(--card-text)}.au-notif .ni .s{font-size:11px;color:var(--muted)}

/* ---------- COMMAND PALETTE + SHORTCUTS OVERLAY ---------- */
.au-overlay{position:fixed;inset:0;z-index:10100;background:rgba(10,15,31,.5);backdrop-filter:blur(6px);display:none;align-items:flex-start;justify-content:center;padding-top:13vh}
.au-overlay.show{display:flex}
.au-cmdk{width:min(560px,92vw);background:var(--glass);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);
  border:1px solid var(--glass-brd);border-radius:22px;box-shadow:0 40px 80px -20px rgba(0,0,0,.5);overflow:hidden;animation:au-pop .3s cubic-bezier(.34,1.56,.64,1)}
.au-cmdk input{width:100%;border:0;background:transparent;padding:20px 22px;font-size:16px;color:var(--card-text);outline:0;border-bottom:1px solid var(--line);font-family:inherit}
.au-cmdk .res{max-height:340px;overflow:auto;padding:8px}
.au-cmdk .res a{display:flex;align-items:center;gap:13px;padding:12px 14px;border-radius:13px;color:var(--card-text);text-decoration:none;font-size:14px;cursor:pointer;font-weight:500}
.au-cmdk .res a i{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(99,102,241,.13);color:var(--accent);font-size:14px}
.au-cmdk .res a:hover,.au-cmdk .res a.sel{background:rgba(99,102,241,.14)}
.au-cmdk .res a .k{margin-left:auto;font-size:11px;color:var(--muted)}
[dir="rtl"] .au-cmdk .res a .k{margin-left:0;margin-right:auto}
.au-sc{width:min(520px,92vw);background:var(--glass);backdrop-filter:blur(30px) saturate(190%);-webkit-backdrop-filter:blur(30px) saturate(190%);
  border:1px solid var(--glass-brd);border-radius:22px;box-shadow:0 40px 80px -20px rgba(0,0,0,.5);padding:24px;animation:au-pop .3s cubic-bezier(.34,1.56,.64,1)}
.au-sc h3{font-size:17px;font-weight:800;color:var(--card-text);margin-bottom:18px;display:flex;align-items:center;gap:10px}
.au-sc .r{display:flex;align-items:center;justify-content:space-between;padding:11px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--card-text)}
.au-sc .r:last-child{border:0}
.au-sc kbd{background:rgba(125,125,150,.16);border:1px solid var(--line);border-radius:7px;padding:4px 9px;font-size:11.5px;font-family:inherit;color:var(--card-text);margin-left:6px}

/* ---------- AI ASSISTANT PANEL ---------- */
.au-ai-panel{position:fixed;top:0;right:0;height:100vh;width:380px;max-width:92vw;z-index:10200;
  background:var(--glass);backdrop-filter:blur(34px) saturate(190%);-webkit-backdrop-filter:blur(34px) saturate(190%);
  border-left:1px solid var(--glass-brd);box-shadow:-30px 0 80px -20px rgba(0,0,0,.4);
  transform:translateX(100%);transition:transform .4s cubic-bezier(.16,1,.3,1);display:flex;flex-direction:column}
[dir="rtl"] .au-ai-panel{right:auto;left:0;border-left:0;border-right:1px solid var(--glass-brd);transform:translateX(-100%)}
.au-ai-panel.show{transform:translateX(0)}
.au-ai-head{display:flex;align-items:center;gap:12px;padding:20px;border-bottom:1px solid var(--line)}
.au-ai-head .av{width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;display:grid;place-items:center;font-size:17px}
.au-ai-head b{font-size:15px;color:var(--card-text)}.au-ai-head small{color:#10b981;font-size:11px;font-weight:600}
.au-ai-head .x{margin-left:auto;color:var(--muted);cursor:pointer;font-size:18px}
[dir="rtl"] .au-ai-head .x{margin-left:0;margin-right:auto}
.au-ai-body{flex:1;overflow:auto;padding:18px;display:flex;flex-direction:column;gap:14px}
.au-msg{max-width:85%;padding:12px 15px;border-radius:16px;font-size:13px;line-height:1.55}
.au-msg.bot{background:rgba(125,125,150,.14);color:var(--card-text);border-bottom-left-radius:5px;align-self:flex-start}
.au-msg.me{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;border-bottom-right-radius:5px;align-self:flex-end}
.au-ai-sugg{display:flex;flex-wrap:wrap;gap:8px;padding:0 18px 12px}
.au-ai-sugg button{background:rgba(99,102,241,.1);color:var(--accent);border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12px;font-weight:600;cursor:pointer}
.au-ai-input{display:flex;gap:10px;padding:16px 18px;border-top:1px solid var(--line)}
.au-ai-input input{flex:1;border:1px solid var(--line);background:rgba(125,125,150,.08);border-radius:12px;padding:11px 14px;font-size:13px;color:var(--card-text);outline:0;font-family:inherit}
.au-ai-input button{width:44px;border:0;border-radius:12px;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;cursor:pointer}

/* ---------- FAB ---------- */
/* z-index kept BELOW Bootstrap modal backdrop (1040) so FAB hides when a modal/SweetAlert is open */
.au-fab{position:fixed;bottom:26px;right:26px;z-index:1035}
[dir="rtl"] .au-fab{right:auto;left:26px}
.au-fab .main{width:58px;height:58px;border-radius:19px;border:0;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:21px;cursor:pointer;box-shadow:0 16px 36px -10px var(--accent);transition:.35s cubic-bezier(.34,1.56,.64,1)}
.au-fab.open .main{transform:rotate(135deg)}
.au-fab .items{position:absolute;bottom:70px;right:5px;display:flex;flex-direction:column;gap:12px;align-items:flex-end}
[dir="rtl"] .au-fab .items{right:auto;left:5px;align-items:flex-start}
.au-fab .fi{display:flex;align-items:center;gap:10px;opacity:0;transform:translateY(16px) scale(.8);pointer-events:none;transition:.3s cubic-bezier(.34,1.56,.64,1)}
.au-fab.open .fi{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.au-fab.open .fi:nth-child(1){transition-delay:.05s}.au-fab.open .fi:nth-child(2){transition-delay:.1s}.au-fab.open .fi:nth-child(3){transition-delay:.15s}
.au-fab .fi span{background:var(--glass);backdrop-filter:blur(12px);border:1px solid var(--glass-brd);color:var(--card-text);font-size:12px;font-weight:600;padding:7px 12px;border-radius:9px;white-space:nowrap}
.au-fab .fi button{width:46px;height:46px;border-radius:14px;border:1px solid var(--glass-brd);background:var(--glass);backdrop-filter:blur(12px);color:var(--accent);font-size:16px;cursor:pointer}

/* AI floating toggle (left of FAB) */
.au-ai-toggle{position:fixed;bottom:26px;right:96px;z-index:1035;width:58px;height:58px;border-radius:19px;border:1px solid var(--glass-brd);
  background:var(--glass);backdrop-filter:blur(16px);color:var(--accent);font-size:21px;cursor:pointer;box-shadow:0 16px 36px -10px rgba(0,0,0,.3);transition:.3s}
[dir="rtl"] .au-ai-toggle{right:auto;left:96px}
.au-ai-toggle:hover{transform:translateY(-3px)}

/* ---------- TOASTS ---------- */
.au-toasts{position:fixed;top:20px;right:20px;z-index:10300;display:flex;flex-direction:column;gap:10px}
[dir="rtl"] .au-toasts{right:auto;left:20px}
.au-toast{display:flex;align-items:center;gap:12px;background:var(--glass);backdrop-filter:blur(24px) saturate(190%);-webkit-backdrop-filter:blur(24px) saturate(190%);
  border:1px solid var(--glass-brd);border-radius:15px;padding:14px 18px;box-shadow:0 20px 44px -16px rgba(0,0,0,.4);min-width:280px;color:var(--card-text);animation:au-toast-in .4s cubic-bezier(.34,1.56,.64,1)}
@keyframes au-toast-in{from{opacity:0;transform:translateX(40px)}to{opacity:1;transform:translateX(0)}}
[dir="rtl"] .au-toast{animation:au-toast-in-r .4s cubic-bezier(.34,1.56,.64,1)}
@keyframes au-toast-in-r{from{opacity:0;transform:translateX(-40px)}to{opacity:1;transform:translateX(0)}}
.au-toast .ti{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;font-size:14px;flex-shrink:0}
.au-toast b{font-size:13px;display:block}.au-toast small{font-size:11px;color:var(--muted)}

/* ripple */
.au-ripple{position:absolute;border-radius:50%;background:rgba(255,255,255,.5);transform:scale(0);animation:au-rip .6s linear;pointer-events:none}
@keyframes au-rip{to{transform:scale(3.5);opacity:0}}

/* ---------- RTL (Urdu) ---------- */
[dir="rtl"] .urdu-font,[dir="rtl"] #user-name-display,[dir="rtl"] .nav-link{font-family:'Noto Nastaliq Urdu','Inter',sans-serif}
[dir="rtl"] .sidebar{border-right:0;border-left:1px solid var(--glass-brd)!important;border-radius:28px 0 0 28px}
[dir="rtl"] .sidebar .nav-link:hover{transform:translateX(-3px)}
[dir="rtl"] .sidebar .nav-link i{margin-right:0;margin-left:.75rem}

/* hide FAB + AI toggle until logged in (app-view visible) */
#app-view.hidden ~ #au-shell .au-fab,
#app-view.hidden ~ #au-shell .au-ai-toggle{display:none!important}

/* ============================================================
   CONTRAST FIXES — light & dark mode
   ============================================================ */

/* --- sidebar collapsible section headers (were light-blue, invisible on glass) --- */
.sidebar .nav-section-header{color:var(--muted)!important;border-radius:14px;margin:.2rem .75rem;font-weight:600}
.sidebar .nav-section-header i{color:var(--muted)!important}
.sidebar .nav-section-header:hover{background:rgba(125,125,150,.14)!important;color:var(--ink)!important}
.sidebar .nav-section-header:hover i{color:var(--ink)!important}
.sidebar .nav-section-header.expanded{color:var(--ink)!important}
.sidebar .nav-section-header.expanded i.toggle-icon,.sidebar .nav-section-header.expanded i{color:var(--accent)!important}
.sidebar .nav-section-header .toggle-icon{opacity:.7}

/* --- top actions bar (was hardcoded #fff -> floats transparent in both modes) --- */
.dashboard-actions{background:transparent!important;border-bottom:0!important;box-shadow:none!important;margin-bottom:.5rem!important}

/* --- tabs & pills (Settings, etc.) --- */
.nav-tabs{background-color:transparent!important;border-bottom:2px solid var(--line)!important}
.nav-tabs .nav-link{color:var(--muted)}
.nav-tabs .nav-link:hover{color:var(--ink)}
.nav-tabs .nav-link.active{background:var(--glass)!important;color:var(--accent)!important;border-color:transparent}
.mmg-pills .nav-link{background:rgba(125,125,150,.1)!important;border:1px solid var(--line)!important;color:var(--muted)!important}
.mmg-pills .nav-link.active{background:linear-gradient(135deg,var(--accent),var(--accent2))!important;color:#fff!important;border-color:transparent!important}

/* ============================================================
   DARK MODE — comprehensive readability overrides
   ============================================================ */
[data-theme="dark"] .form-control,
[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .custom-select,
[data-theme="dark"] select.form-control,
[data-theme="dark"] textarea.form-control{background-color:rgba(255,255,255,.05)!important;color:var(--text-main)!important;border-color:var(--line)!important}
[data-theme="dark"] .form-control::placeholder{color:#7681a0!important}
[data-theme="dark"] select.form-control option{background:#141a2e;color:var(--text-main)}
[data-theme="dark"] .input-group-text{background:rgba(255,255,255,.05);color:var(--text-muted);border-color:var(--line)}
[data-theme="dark"] label,[data-theme="dark"] .form-group label{color:var(--text-main)}

[data-theme="dark"] .table{color:var(--text-main)}
[data-theme="dark"] .table thead th{color:var(--text-muted);border-color:var(--line)}
[data-theme="dark"] .table td,[data-theme="dark"] .table th{border-color:var(--line)}
[data-theme="dark"] .table-hover tbody tr:hover{background:rgba(255,255,255,.04)}
[data-theme="dark"] .table-bordered,[data-theme="dark"] .table-bordered td,[data-theme="dark"] .table-bordered th{border-color:var(--line)}

[data-theme="dark"] .dropdown-menu{background:#141a2e;border-color:var(--line)}
[data-theme="dark"] .dropdown-item{color:var(--text-main)}
[data-theme="dark"] .dropdown-item:hover{background:rgba(255,255,255,.06);color:#fff}
[data-theme="dark"] .dropdown-header,[data-theme="dark"] .dropdown-divider{border-color:var(--line)}

[data-theme="dark"] .list-group-item{background:transparent;color:var(--text-main);border-color:var(--line)}
[data-theme="dark"] .border,[data-theme="dark"] .border-top,[data-theme="dark"] .border-bottom,
[data-theme="dark"] .border-left,[data-theme="dark"] .border-right{border-color:var(--line)!important}
[data-theme="dark"] hr{border-color:var(--line)}

[data-theme="dark"] .text-dark,[data-theme="dark"] .text-gray-800,[data-theme="dark"] .text-gray-900,
[data-theme="dark"] .text-gray-700,[data-theme="dark"] .text-black-50,[data-theme="dark"] .text-secondary{color:var(--text-main)!important}
[data-theme="dark"] .text-muted{color:var(--text-muted)!important}

/* light surfaces inside dark mode -> dark glass (but NOT payslip/report which must stay white) */
[data-theme="dark"] .bg-white:not(.payslip-container):not(.mmg-report-content),
[data-theme="dark"] .bg-light:not(.payslip-container):not(.mmg-report-content){background:rgba(255,255,255,.045)!important;color:var(--text-main)}
[data-theme="dark"] .rounded-lg.bg-light,[data-theme="dark"] .border.rounded{background:rgba(255,255,255,.04)!important}

[data-theme="dark"] .close{color:var(--text-main);text-shadow:none;opacity:.8}
[data-theme="dark"] .modal-header{border-color:var(--line)}
[data-theme="dark"] .modal-footer{border-color:var(--line)}
[data-theme="dark"] .card-header{background:transparent;border-color:var(--line);color:var(--text-main)}
[data-theme="dark"] .nav-tabs .nav-link.active{background:rgba(255,255,255,.06)!important}
[data-theme="dark"] .page-link{background:#141a2e;border-color:var(--line);color:var(--text-main)}
[data-theme="dark"] .page-item.active .page-link{background:var(--accent);border-color:var(--accent)}
[data-theme="dark"] ::-webkit-scrollbar-thumb{background:#374151}

/* generic: INLINE white backgrounds -> dark in dark mode (covers dashboard inner panels) */
[data-theme="dark"] [style*="background: white"],
[data-theme="dark"] [style*="background:white"],
[data-theme="dark"] [style*="background: #fff"],
[data-theme="dark"] [style*="background:#fff"],
[data-theme="dark"] [style*="background-color: #fff"],
[data-theme="dark"] [style*="background-color:#fff"],
[data-theme="dark"] [style*="background: #ffffff"],
[data-theme="dark"] [style*="background:#ffffff"],
[data-theme="dark"] [style*="background-color: #ffffff"],
[data-theme="dark"] [style*="background:#FFF"],
[data-theme="dark"] [style*="background: rgb(255, 255, 255)"]{background:rgba(255,255,255,.05)!important}

/* light-gray inline backgrounds (progress tracks, soft panels) -> dark */
[data-theme="dark"] .progress,
[data-theme="dark"] [style*="background: #f1f5f9"],[data-theme="dark"] [style*="background:#f1f5f9"],
[data-theme="dark"] [style*="background: #f8fafc"],[data-theme="dark"] [style*="background:#f8fafc"],
[data-theme="dark"] [style*="background: #f8f9fa"],[data-theme="dark"] [style*="background:#f8f9fa"],
[data-theme="dark"] [style*="background: #f9fafb"],[data-theme="dark"] [style*="background:#fafafa"]{background:rgba(255,255,255,.08)!important}

/* protect printable documents (payslip / report) — keep them white like paper */
[data-theme="dark"] .payslip-container,
[data-theme="dark"] .payslip-container [style*="background"],
[data-theme="dark"] .mmg-report-content,
[data-theme="dark"] .mmg-report-content [style*="background"]{background:#fff!important;color:#1e293b}

/* org chart cards (injected <style> with hardcoded white) */
[data-theme="dark"] .org-card{background:rgba(255,255,255,.06)!important;border-color:var(--line)!important}
[data-theme="dark"] .org-card-header{color:var(--text-main)!important;border-color:var(--line)!important}
[data-theme="dark"] .org-card-desig{color:var(--text-muted)!important}
[data-theme="dark"] .org-card-dept{color:#7681a0!important}
[data-theme="dark"] .org-vacant{background:rgba(255,255,255,.03)!important}
[data-theme="dark"] #hierarchy-summary{background:transparent!important;border-color:var(--line)!important}
[data-theme="dark"] .org-card-id-badge{color:#fff}

/* finance P&L inner table (injected white) */
[data-theme="dark"] .pl-inner-table{background:rgba(255,255,255,.05)!important}

/* ---- DARK MODE: outline buttons (default Bootstrap blue is too faint on dark) ---- */
[data-theme="dark"] .btn-outline-primary{color:#a5b4fc!important;border-color:rgba(129,140,248,.55)!important}
[data-theme="dark"] .btn-outline-primary:hover{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important}
[data-theme="dark"] .btn-outline-secondary{color:#cbd5e1!important;border-color:rgba(203,213,225,.4)!important}
[data-theme="dark"] .btn-outline-secondary:hover{background:rgba(203,213,225,.15)!important;color:#fff!important}
[data-theme="dark"] .btn-outline-info{color:#67e8f9!important;border-color:rgba(103,232,249,.5)!important}
[data-theme="dark"] .btn-outline-info:hover{background:rgba(103,232,249,.16)!important;color:#fff!important}
[data-theme="dark"] .btn-outline-success{color:#6ee7b7!important;border-color:rgba(110,231,183,.5)!important}
[data-theme="dark"] .btn-outline-success:hover{background:rgba(110,231,183,.16)!important;color:#fff!important}
[data-theme="dark"] .btn-outline-danger{color:#fca5a5!important;border-color:rgba(252,165,165,.5)!important}
[data-theme="dark"] .btn-outline-danger:hover{background:rgba(252,165,165,.16)!important;color:#fff!important}
[data-theme="dark"] .btn-outline-warning{color:#fcd34d!important;border-color:rgba(252,211,77,.5)!important}
[data-theme="dark"] .btn-outline-warning:hover{background:rgba(252,211,77,.16)!important;color:#1a1f2e!important}
[data-theme="dark"] .btn-outline-dark{color:#cbd5e1!important;border-color:rgba(203,213,225,.4)!important}

/* Jarvis input area: clearer dark surface + readable text */
[data-theme="dark"] .input-group[style*="background: white"],
[data-theme="dark"] .input-group[style*="background:white"]{background:rgba(255,255,255,.07)!important}
[data-theme="dark"] #jarvisInput{color:var(--text-main)!important}

/* ---- DARK MODE: inline dark text colors -> light (readability) ---- */
[data-theme="dark"] [style*="color: #1e293b"],[data-theme="dark"] [style*="color:#1e293b"],
[data-theme="dark"] [style*="color: #0f172a"],[data-theme="dark"] [style*="color:#0f172a"],
[data-theme="dark"] [style*="color: #334155"],[data-theme="dark"] [style*="color:#334155"],
[data-theme="dark"] [style*="color: #475569"],[data-theme="dark"] [style*="color:#475569"],
[data-theme="dark"] [style*="color: #1e3a8a"],[data-theme="dark"] [style*="color:#1e3a8a"],
[data-theme="dark"] [style*="color: #111"],[data-theme="dark"] [style*="color: #000"],
[data-theme="dark"] [style*="color: rgb(51, 65, 85)"],[data-theme="dark"] [style*="color: rgb(30, 41, 59)"]{color:#cbd5e1!important}
/* keep printable docs' text dark (they stay white in dark mode) */
[data-theme="dark"] .payslip-container [style*="color"],
[data-theme="dark"] .mmg-report-content [style*="color"]{color:#1e293b!important}

/* AI Pulse marquee bar — match aurora accent (was bright royal blue) */
.ai-marquee-wrapper{background:linear-gradient(135deg,var(--accent),var(--accent2))!important;
  border:1px solid var(--glass-brd)!important;box-shadow:0 14px 30px -14px var(--accent)!important}
[data-theme="dark"] .ai-marquee-wrapper{background:linear-gradient(135deg,rgba(99,102,241,.24),rgba(139,92,246,.16))!important;
  border:1px solid rgba(255,255,255,.1)!important;box-shadow:0 10px 30px -16px rgba(0,0,0,.6)!important}

/* Hero quick-action dock buttons (inline white) — keep icons readable in dark */
[data-theme="dark"] .quick-action-dock .btn-white{background:rgba(255,255,255,.06)!important;color:var(--text-main)!important;border-color:var(--line)!important}

/* mobile: dock controls adapt */
@media(max-width:767px){
  .sidebar{border-radius:0}
  .au-fab{bottom:18px;right:18px}.au-ai-toggle{bottom:18px;right:84px}
}
