:root{
  --bg:#070b16;
  --bg-2:#0b1020;
  --panel:#11182b;
  --panel-2:#151e33;
  --line:rgba(255,255,255,.10);
  --text:#eef4ff;
  --muted:#9ba8c2;
  --brand:#8b5cf6;
  --brand-2:#22d3ee;
  --brand-3:#f59e0b;
  --success:#30d158;
  --danger:#ff5c7a;
  --radius:22px;
  --shadow:0 24px 80px rgba(0,0,0,.35);
}
*{box-sizing:border-box}
body{
  min-height:100vh;
  background:
    radial-gradient(circle at 12% -5%,rgba(139,92,246,.28),transparent 28rem),
    radial-gradient(circle at 92% 8%,rgba(34,211,238,.20),transparent 26rem),
    linear-gradient(180deg,var(--bg),var(--bg-2) 48%,#090d18);
  color:var(--text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
a{color:#9edcff;text-decoration:none}a:hover{color:#fff}.text-muted{color:var(--muted)!important}.border-top{border-color:var(--line)!important}
.container,.container-fluid{position:relative}.page-shell{padding-top:1.25rem;padding-bottom:2.5rem}.glass-nav{background:rgba(7,11,22,.78);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.navbar-brand{letter-spacing:-.04em}.brand-mark{width:34px;height:34px;border-radius:12px;background:linear-gradient(135deg,var(--brand),var(--brand-2));display:inline-grid;place-items:center;box-shadow:0 0 30px rgba(139,92,246,.45)}
.navbar-dark .navbar-nav .nav-link{color:#c5d0e3;border-radius:999px;padding:.55rem .85rem}.navbar-dark .navbar-nav .nav-link:hover{color:#fff;background:rgba(255,255,255,.08)}
.btn{border-radius:999px;font-weight:700}.btn-warning{background:linear-gradient(135deg,#ffcc66,#f59e0b);border:0;color:#1e1300;box-shadow:0 10px 30px rgba(245,158,11,.22)}.btn-outline-dark,.btn-outline-secondary,.btn-outline-primary{border-color:var(--line);color:#dce8ff}.btn-outline-dark:hover,.btn-outline-secondary:hover,.btn-outline-primary:hover{background:rgba(255,255,255,.10);border-color:rgba(255,255,255,.2);color:#fff}.btn-success{background:linear-gradient(135deg,#22c55e,#10b981);border:0}.btn-primary{background:linear-gradient(135deg,var(--brand),#6366f1);border:0}.btn-outline-success{border-color:rgba(48,209,88,.45);color:#85f0a1}.btn-outline-success:hover{background:rgba(48,209,88,.12);color:#fff}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,rgba(139,92,246,.28),rgba(34,211,238,.14)),rgba(255,255,255,.04);color:#fff;border:1px solid var(--line);border-radius:32px;box-shadow:var(--shadow)}
.hero:after{content:"";position:absolute;right:-8rem;top:-8rem;width:22rem;height:22rem;border-radius:999px;background:radial-gradient(circle,rgba(34,211,238,.35),transparent 65%);filter:blur(4px)}
.hero h1{letter-spacing:-.06em;line-height:.95}.hero .lead{color:#c9d6ea}.hero-pill{display:inline-flex;gap:.5rem;align-items:center;border:1px solid var(--line);background:rgba(255,255,255,.08);border-radius:999px;padding:.45rem .8rem;color:#dbeafe;font-weight:700;font-size:.85rem}.hero-input{background:rgba(255,255,255,.09);border:1px solid var(--line);border-radius:999px;padding:.6rem;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}.hero-input .form-control{background:transparent;border:0;color:#fff}.hero-input .form-control::placeholder{color:#8fa0bd}.hero-input .form-control:focus{box-shadow:none;color:#fff;background:transparent}
.card,.dropdown-menu{background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045));border:1px solid var(--line);box-shadow:0 18px 55px rgba(0,0,0,.22);border-radius:var(--radius);color:var(--text)}.card-header,.modal-header,.modal-footer{border-color:var(--line)}.card h1,.card h2,.card h3,.card h4,.card h5,.card h6{color:#fff}.feature-card{height:100%;transition:.18s transform,.18s border-color}.feature-card:hover{transform:translateY(-3px);border-color:rgba(34,211,238,.45)}.icon-bubble{width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,rgba(139,92,246,.9),rgba(34,211,238,.75));display:grid;place-items:center;font-weight:900;color:#fff;margin-bottom:1rem}.metric-card{padding:1.25rem}.metric-value{font-size:2rem;font-weight:900;letter-spacing:-.05em}.metric-label{color:var(--muted);font-size:.9rem}
.table{color:#dbe7fa}.table thead th{color:#8fa0bd;text-transform:uppercase;font-size:.72rem;letter-spacing:.08em;border-color:var(--line);background:rgba(255,255,255,.035)}.table td{vertical-align:middle;border-color:var(--line)}.table tbody tr:hover{background:rgba(255,255,255,.035)}.table-responsive{border-radius:var(--radius)}
.form-control,.form-select,textarea{background:rgba(255,255,255,.06);border:1px solid var(--line);color:#eef4ff;border-radius:14px}.form-control:focus,.form-select:focus,textarea:focus{background:rgba(255,255,255,.09);border-color:rgba(34,211,238,.55);color:#fff;box-shadow:0 0 0 .25rem rgba(34,211,238,.12)}.form-control::placeholder{color:#8290aa}.form-select option{background:#11182b;color:#fff}.alert{border-radius:18px;border:1px solid var(--line)}.alert-info{background:rgba(34,211,238,.11);color:#c9f6ff}.badge{border-radius:999px}.badge-soft{background:rgba(34,211,238,.14);color:#9befff;border:1px solid rgba(34,211,238,.24)}.text-bg-success{background:rgba(34,197,94,.18)!important;color:#9ef3b5!important;border:1px solid rgba(34,197,94,.25)}.text-bg-secondary{background:rgba(148,163,184,.18)!important;color:#dbe7fa!important;border:1px solid rgba(148,163,184,.25)}
.ai-shell{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem}.side-panel{position:sticky;top:84px;height:calc(100vh - 100px);background:rgba(255,255,255,.055);border:1px solid var(--line);border-radius:24px;padding:1rem}.side-panel a{display:flex;align-items:center;gap:.7rem;color:#cbd7eb;border-radius:14px;padding:.7rem .75rem;margin:.15rem 0}.side-panel a:hover,.side-panel a.active{background:rgba(255,255,255,.08);color:#fff}.dot{width:.55rem;height:.55rem;border-radius:50%;background:linear-gradient(135deg,var(--brand),var(--brand-2));box-shadow:0 0 18px rgba(34,211,238,.65)}
.dashboard-preview{background:#090e1b;border:1px solid var(--line);border-radius:26px;padding:1rem;box-shadow:0 30px 100px rgba(0,0,0,.38)}.preview-bar{height:12px;border-radius:20px;background:linear-gradient(90deg,var(--brand),var(--brand-2),var(--brand-3));margin-bottom:1rem}.mini-chart{height:150px;border-radius:20px;background:linear-gradient(180deg,rgba(34,211,238,.16),rgba(139,92,246,.07));border:1px solid var(--line);position:relative;overflow:hidden}.mini-chart:before{content:"";position:absolute;left:8%;right:8%;bottom:22%;height:42%;border:2px solid rgba(34,211,238,.65);border-top:0;border-left:0;transform:skewX(-18deg);border-radius:0 0 18px 0}.score-ring{width:132px;height:132px;border-radius:999px;background:conic-gradient(var(--brand-2) 0 78%,rgba(255,255,255,.09) 78% 100%);display:grid;place-items:center;margin:auto}.score-ring span{width:102px;height:102px;border-radius:999px;background:#0d1426;display:grid;place-items:center;font-size:2rem;font-weight:900;color:#fff}
footer{background:rgba(0,0,0,.08)}@media(max-width:992px){.ai-shell{display:block}.side-panel{position:relative;top:auto;height:auto;margin-bottom:1rem}.hero h1{font-size:2.4rem}.navbar-nav{padding-top:1rem}.navbar-dark .navbar-nav .nav-link{border-radius:12px}}

/* Persistent global sidebar layout */
.with-sidebar{
  padding-left:292px;
}
.app-sidebar{
  position:fixed;
  left:18px;
  top:18px;
  bottom:18px;
  width:256px;
  z-index:1040;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:linear-gradient(180deg,rgba(255,255,255,.095),rgba(255,255,255,.045));
  border:1px solid var(--line);
  border-radius:28px;
  box-shadow:0 28px 90px rgba(0,0,0,.38);
  backdrop-filter:blur(22px);
}
.sidebar-brand{
  padding:1.05rem 1rem .85rem;
  border-bottom:1px solid var(--line);
}
.brand-link{
  display:flex;
  align-items:center;
  gap:.75rem;
  color:#fff;
}
.brand-link:hover{color:#fff}
.brand-link strong{
  display:block;
  line-height:1.05;
  letter-spacing:-.045em;
}
.brand-link small{
  display:block;
  color:var(--muted);
  font-size:.72rem;
  margin-top:.15rem;
}
.sidebar-nav{
  padding:.75rem;
  overflow-y:auto;
  scrollbar-width:thin;
  flex:1;
}
.sidebar-nav a{
  display:flex;
  align-items:center;
  gap:.72rem;
  color:#c9d5e9;
  border-radius:16px;
  padding:.76rem .82rem;
  margin:.14rem 0;
  font-weight:700;
  font-size:.93rem;
}
.sidebar-nav a span{
  width:1.25rem;
  text-align:center;
  color:#9feaff;
}
.sidebar-nav a:hover,
.sidebar-nav a.active{
  background:linear-gradient(135deg,rgba(139,92,246,.22),rgba(34,211,238,.13));
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.07);
}
.sidebar-footer{
  padding:1rem;
  border-top:1px solid var(--line);
}
.user-mini{
  display:flex;
  align-items:center;
  gap:.7rem;
  min-width:0;
}
.user-avatar{
  width:38px;
  height:38px;
  border-radius:14px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#fff;
  font-weight:900;
}
.user-name{font-weight:800;color:#fff;font-size:.9rem}.user-role{color:var(--muted);font-size:.75rem;text-transform:capitalize}.min-w-0{min-width:0}.mobile-topbar{display:none}.with-sidebar .container{max-width:1320px}.with-sidebar .container-fluid{max-width:none}.with-sidebar footer{margin-left:0}.offcanvas{background:#080d19!important}.mobile-sidebar-nav{padding:0}.mobile-sidebar-nav a{color:#dbe7fa}
@media(max-width:1100px){
  .with-sidebar{padding-left:0;padding-top:70px}
  .app-sidebar{display:none}
  .mobile-topbar{display:block;position:fixed;top:0;left:0;right:0;z-index:1030;border-bottom:1px solid var(--line)}
  .with-sidebar .container,.with-sidebar .container-fluid{max-width:100%}
}
