:root{
  --ol-primary:#0f4c81;
  --ol-primary-dark:#0b2f4d;
  --ol-accent:#14b8a6;
  --ol-bg:#f4f7fb;
  --ol-surface:#ffffff;
  --ol-text:#0f172a;
  --ol-muted:#64748b;
  --ol-border:#dbe3ef;
  --ol-shadow:0 18px 50px rgba(15,23,42,.08);
  --ol-radius:22px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ol-bg);color:var(--ol-text);font-family:Inter,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.5}
a{text-decoration:none}
img{max-width:100%;display:block}
.ol-shell{max-width:1200px;margin:0 auto;padding:24px 18px 96px}
.ol-section{margin-top:28px}
.ol-panel,.ol-card{background:var(--ol-surface);border:1px solid var(--ol-border);border-radius:var(--ol-radius);box-shadow:var(--ol-shadow)}
.ol-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center}
.ol-brand-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.ol-brand{display:flex;align-items:center;gap:12px}
.ol-brand-badge{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,var(--ol-primary),var(--ol-accent));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:18px;box-shadow:0 14px 36px rgba(20,184,166,.25)}
.ol-brand-title{font-size:1.05rem;font-weight:800;letter-spacing:-.02em}
.ol-brand-sub{font-size:.8rem;color:var(--ol-muted)}
.ol-actions{display:flex;gap:10px;flex-wrap:wrap}
.ol-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 18px;border-radius:16px;border:1px solid transparent;font-weight:700;font-size:.95rem;transition:.2s ease;cursor:pointer}
.ol-btn-primary{background:linear-gradient(135deg,var(--ol-primary),#1d6db0);color:#fff;box-shadow:0 14px 36px rgba(15,76,129,.22)}
.ol-btn-primary:hover{transform:translateY(-1px);color:#fff}
.ol-btn-secondary{background:#fff;border-color:var(--ol-border);color:var(--ol-text)}
.ol-btn-secondary:hover{border-color:var(--ol-primary);color:var(--ol-primary)}
.ol-btn-accent{background:linear-gradient(135deg,var(--ol-accent),#2dd4bf);color:#042f2e;box-shadow:0 14px 36px rgba(20,184,166,.22)}
.ol-kicker{display:inline-flex;align-items:center;gap:10px;padding:8px 14px;border-radius:999px;background:#ecfeff;color:#0f766e;border:1px solid #99f6e4;font-size:.82rem;font-weight:700}
.ol-kicker-dot{width:8px;height:8px;border-radius:50%;background:#14b8a6;box-shadow:0 0 0 6px rgba(20,184,166,.12)}
.ol-hero h1{font-size:clamp(2rem,4vw,4rem);line-height:1.02;letter-spacing:-.04em;margin:14px 0 12px}
.ol-hero p{font-size:1rem;color:#334155;max-width:680px}
.ol-highlight{color:var(--ol-primary)}
.ol-grid-3,.ol-grid-4,.ol-grid-2{display:grid;gap:16px}
.ol-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.ol-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.ol-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.ol-stat-card{padding:18px}
.ol-stat-label{font-size:.82rem;color:var(--ol-muted);margin-bottom:6px}
.ol-stat-value{font-size:1.6rem;font-weight:800;letter-spacing:-.03em}
.ol-stat-note{font-size:.85rem;color:#475569}
.ol-phone{background:linear-gradient(180deg,#0f172a,#020617);color:#e2e8f0;border-radius:34px;padding:14px;border:1px solid rgba(148,163,184,.3);box-shadow:0 32px 70px rgba(2,6,23,.45);max-width:340px;margin-left:auto}
.ol-phone-screen{background:linear-gradient(180deg,#020617,#111827);border-radius:24px;padding:14px;min-height:570px}
.ol-phone-top{display:flex;align-items:center;justify-content:center;color:#94a3b8;font-size:.72rem;margin-bottom:12px}
.ol-phone-card{background:rgba(15,23,42,.72);border:1px solid rgba(148,163,184,.18);border-radius:20px;padding:14px;margin-bottom:12px}
.ol-phone-title{font-size:.82rem;color:#94a3b8;margin-bottom:6px}
.ol-phone-cta{display:inline-flex;padding:8px 12px;border-radius:999px;background:#14b8a6;color:#042f2e;font-size:.8rem;font-weight:800}
.ol-phone-nav{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;border-top:1px solid rgba(148,163,184,.18);padding-top:12px;margin-top:12px;font-size:.74rem;text-align:center;color:#94a3b8}
.ol-feature-card{padding:22px}
.ol-feature-title{font-size:1rem;font-weight:800;margin-bottom:8px}
.ol-feature-copy{font-size:.93rem;color:#475569}
.ol-quote{padding:24px 26px;background:linear-gradient(135deg,var(--ol-primary-dark),var(--ol-primary));color:#fff;border:none}
.ol-quote p{margin:0}
.ol-quote small{display:block;margin-top:10px;color:#cbd5e1}
.ol-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.ol-page-title{font-size:1.8rem;line-height:1.05;letter-spacing:-.03em;margin:0}
.ol-page-subtitle{color:var(--ol-muted);margin-top:6px}
.ol-dashboard{max-width:1180px;margin:0 auto;padding:26px 18px 40px}
.ol-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:18px 0}
.ol-content-grid{display:grid;grid-template-columns:1.4fr .9fr;gap:16px}
.ol-table-wrap{overflow:auto}
.ol-table{width:100%;border-collapse:collapse}
.ol-table th,.ol-table td{padding:12px 14px;border-bottom:1px solid var(--ol-border);text-align:left;font-size:.92rem;vertical-align:top}
.ol-table th{font-size:.8rem;color:var(--ol-muted);text-transform:uppercase;letter-spacing:.05em;background:#f8fafc}
.ol-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:.78rem;font-weight:800}
.ol-badge.success{background:#dcfce7;color:#166534}
.ol-badge.warning{background:#fef3c7;color:#92400e}
.ol-badge.info{background:#dbeafe;color:#1d4ed8}
.ol-list{display:grid;gap:12px}
.ol-list-item{padding:14px;border:1px solid var(--ol-border);border-radius:18px;background:#fff}
.ol-list-item strong{display:block;margin-bottom:4px}
.ol-empty{padding:24px;text-align:center;color:var(--ol-muted)}
.ol-auth-card{max-width:480px;margin:48px auto;background:#fff;border:1px solid var(--ol-border);border-radius:28px;box-shadow:var(--ol-shadow);padding:28px}
.ol-input,.ol-select,.ol-textarea{width:100%;padding:12px 14px;border:1px solid var(--ol-border);border-radius:14px;background:#fff}
.ol-form-row{display:grid;gap:14px;margin-bottom:14px}
.ol-surface-dark{background:#0f172a;color:#e2e8f0}
.ol-surface-dark .ol-feature-copy,.ol-surface-dark .ol-page-subtitle,.ol-surface-dark .ol-stat-label{color:#cbd5e1}
.container{max-width:1180px;margin:0 auto}
.card{background:#fff;border:1px solid var(--ol-border);box-shadow:var(--ol-shadow);border-radius:18px}
.btn-outline{border:1px solid var(--ol-border);background:#fff;color:var(--ol-text)}
.btn-danger{background:#dc2626;border-color:#dc2626;color:#fff}
@media (max-width: 991px){
  .ol-hero,.ol-content-grid{grid-template-columns:1fr}
  .ol-grid-3,.ol-kpis,.ol-grid-4{grid-template-columns:1fr 1fr}
  .ol-phone{margin:0 auto}
}
@media (max-width: 640px){
  .ol-shell,.ol-dashboard{padding-left:14px;padding-right:14px}
  .ol-brand-row,.ol-page-header{flex-direction:column;align-items:flex-start}
  .ol-grid-2,.ol-grid-3,.ol-grid-4,.ol-kpis{grid-template-columns:1fr}
  .ol-hero h1{font-size:2.25rem}
  .ol-btn{width:100%}
}


/* Dashboard V1 runtime-safe layout */
.ol-dashboard-v1{max-width:1280px;margin:0 auto;padding-bottom:8px;}
.ol-hero-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:20px;padding:24px;align-items:stretch;}
.ol-hero-copy{min-width:0}.ol-hero-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.ol-hero-metrics>div,.ol-spotlight-card{padding:14px 16px;border-radius:18px;border:1px solid var(--ol-border);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(248,250,252,.9));}.ol-hero-metrics span,.ol-spotlight-grid span{display:block;font-size:.78rem;color:var(--ol-muted);margin-bottom:6px}.ol-hero-metrics strong,.ol-spotlight-grid strong{font-size:1rem;font-weight:800}.ol-spotlight-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ol-kpis-v1{margin-top:0}.ol-stat-live .ol-stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.ol-stat-live .ol-stat-top i{font-size:1.1rem;color:var(--ol-primary)}
.ol-analytics-grid{margin-top:16px}.ol-chart-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:16px;align-items:start}.ol-chart-panel{height:360px;display:flex;flex-direction:column;overflow:hidden}.ol-chart-panel-small{height:360px}.ol-canvas-wrap{position:relative;flex:1;min-height:0}.ol-canvas-wrap canvas{position:absolute;inset:0;width:100%!important;height:100%!important;display:block}.ol-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ol-quick-action{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--ol-border);background:#fff;color:var(--ol-text);font-weight:700;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.ol-quick-action:hover{transform:translateY(-1px);border-color:var(--ol-primary);box-shadow:0 12px 24px rgba(15,23,42,.08)}.ol-quick-action i{color:var(--ol-primary)}
body.theme-dark .ol-hero-metrics>div, body.theme-dark .ol-spotlight-card, body.theme-dark .ol-quick-action{background:#111c2d;border-color:rgba(148,163,184,.18);color:#e5eefc}
@media (max-width:1100px){.ol-hero-panel,.ol-chart-grid{grid-template-columns:1fr}.ol-quick-actions{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.ol-hero-metrics{grid-template-columns:1fr}.ol-quick-actions{grid-template-columns:1fr}.ol-chart-panel,.ol-chart-panel-small{height:320px}}


/* Safe feature-preserving merge additions */
.ol-preserved-strip{padding:20px;}
.ol-link-pills{display:flex;flex-wrap:wrap;gap:10px}
.ol-link-pill{display:inline-flex;align-items:center;justify-content:center;padding:10px 14px;border-radius:999px;background:var(--portal-primary-soft);color:var(--portal-primary);font-weight:700;text-decoration:none;border:1px solid transparent}
.ol-link-pill:hover{background:var(--portal-primary);color:#fff}
.ol-link-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ol-tile-link{display:flex;align-items:center;gap:12px;padding:14px 16px;border-radius:18px;border:1px solid var(--portal-border);background:var(--portal-card);text-decoration:none;color:var(--portal-text);font-weight:700;min-height:60px}
.ol-tile-link:hover{transform:translateY(-1px);box-shadow:var(--portal-shadow)}
.ol-summary-stack{display:grid;gap:12px}
.ol-summary-card{border:1px solid var(--portal-border);border-radius:18px;padding:16px;background:var(--portal-card)}
.ol-summary-title{font-weight:800;margin-bottom:8px}
.ol-summary-copy{color:var(--portal-muted);line-height:1.55}
.ol-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ol-label{display:block;font-weight:700;margin-bottom:8px}
.ol-note{padding:14px 16px;border-radius:16px;background:var(--portal-primary-soft);color:var(--portal-text);border:1px solid var(--portal-border)}
.ol-inline-banner{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:14px 16px;border-radius:18px;background:var(--portal-primary-soft);border:1px solid var(--portal-border)}
.ol-inline-banner strong{display:block}
.ol-inline-banner span{display:block;color:var(--portal-muted);font-size:.92rem}
.ol-rank-shell{border:1px solid var(--portal-border);border-radius:18px;padding:12px;background:var(--portal-card)}
.ol-rank-list{display:grid;gap:10px}
.ol-rank-item{display:flex;align-items:center;gap:12px;padding:10px 8px;border-bottom:1px solid var(--portal-border)}
.ol-rank-item:last-child{border-bottom:none}
.ol-rank-pos{width:56px;height:40px;border-radius:12px;background:var(--portal-primary-soft);color:var(--portal-primary);display:flex;align-items:center;justify-content:center;font-weight:900}
.ol-rank-main{display:grid;gap:2px}
.ol-rank-main span{font-size:.88rem;color:var(--portal-muted)}
.ol-btn.is-disabled{pointer-events:none;opacity:.55}
@media (max-width: 992px){.ol-link-grid,.ol-form-grid{grid-template-columns:1fr}.ol-inline-banner{flex-direction:column;align-items:flex-start}}



/* Clean mobile action hub */
.ol-mobile-hub{display:grid;gap:10px;background:linear-gradient(180deg,#0b4a86,#083865);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:14px;box-shadow:0 18px 42px rgba(2,6,23,.18)}
.ol-mobile-hub-top{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ol-mobile-hub-quick{display:flex;align-items:center;justify-content:center;gap:6px;min-width:0;padding:11px 10px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14);color:#fff;font-size:.75rem;font-weight:800;text-align:center;box-shadow:inset 0 1px 0 rgba(255,255,255,.08)}
.ol-mobile-hub-quick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ol-mobile-hub-quick-primary{background:linear-gradient(135deg,#fbbf24,#fcd34d);color:#10233a;border-color:rgba(255,255,255,.28)}
.ol-mobile-hub-quick-accent{background:linear-gradient(135deg,#22c55e,#14b8a6);color:#042a28;border-color:rgba(255,255,255,.28)}
.ol-mobile-acc{border:1px solid rgba(255,255,255,.12);border-radius:18px;background:rgba(255,255,255,.08);overflow:hidden}
.ol-mobile-acc summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;color:#fff;font-weight:800}
.ol-mobile-acc summary::-webkit-details-marker{display:none}
.ol-mobile-acc summary span{display:block;font-size:.88rem;line-height:1.1}
.ol-mobile-acc summary small{display:block;margin-left:auto;color:rgba(255,255,255,.76);font-size:.68rem;font-weight:600;text-align:right;max-width:52%}
.ol-mobile-acc[open]{background:rgba(255,255,255,.12)}
.ol-mobile-acc-body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 14px 14px}
.ol-mobile-acc-link{display:flex;align-items:center;justify-content:center;min-width:0;padding:10px 12px;border-radius:14px;background:#fff;color:#0f172a;border:1px solid rgba(255,255,255,.9);font-size:.76rem;font-weight:700;text-align:center}
.ol-mobile-acc-link-btn{appearance:none;cursor:pointer}
.ol-mobile-acc-link-danger{background:#fee2e2;color:#991b1b;border-color:#fecaca}
@media (min-width:640px){.ol-mobile-hub{display:none}}
@media (max-width:640px){.ol-mobile-acc-body{grid-template-columns:1fr}.ol-mobile-hub-top{grid-template-columns:1fr 1fr}.ol-mobile-hub-top > :last-child{grid-column:1 / -1}}


@media (max-width:640px){
  .ol-mobile-action-hub{display:block !important;}
  .ol-mobile-action-hub:not(:first-of-type){display:none !important;}
}


/* GLOBAL PREMIUM UI POLISH PASS */
:root{
  --ol-card-shadow:0 16px 38px rgba(15,23,42,.06);
  --ol-card-shadow-hover:0 22px 48px rgba(15,23,42,.10);
  --ol-card-radius:24px;
}
.ol-card,.ol-panel{
  border-radius:var(--ol-card-radius);
  box-shadow:var(--ol-card-shadow);
}
.ol-card:hover,.ol-panel:hover{
  box-shadow:var(--ol-card-shadow-hover);
}
.ol-page-header{gap:14px}
.ol-actions{gap:10px}
.ol-btn{
  min-height:44px;
  border-radius:16px;
  box-shadow:0 8px 20px rgba(15,23,42,.05);
}
.ol-stat-card,.ol-feature-card{padding:20px}
.ol-list-item{
  border-radius:18px;
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}
.ol-premium-grid{
  display:grid;
  gap:16px;
}
.ol-premium-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:24px;
  box-shadow:0 16px 38px rgba(15,23,42,.06);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ol-premium-card:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(15,23,42,.10);
  border-color:#cbd5e1;
}
.ol-premium-card-body{padding:18px}
.ol-premium-kicker{
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.ol-soft-panel{
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.ol-compact-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ol-compact-actions > *{flex:1 1 170px}
.ol-mobile-disclosure{
  display:none;
}
.ol-mobile-disclosure-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:18px;
  border:1px solid #dbe3ef;
  background:#fff;
  color:#0f172a;
  font-weight:700;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.ol-mobile-disclosure-panel{
  display:none;
  margin-top:10px;
}
.ol-mobile-disclosure.is-open .ol-mobile-disclosure-panel{display:block}
.ol-mobile-disclosure.is-open .ol-mobile-disclosure-btn .chev{transform:rotate(180deg)}
.ol-mobile-disclosure-btn .chev{transition:transform .2s ease}
.ol-responsive-table-card{display:none}
.ol-course-card{
  position:relative;
  overflow:hidden;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:0 18px 38px rgba(2,6,23,.20);
}
.ol-course-card .ol-course-title{font-size:14px;line-height:1.25}
.ol-course-card .ol-course-desc{font-size:11px;line-height:1.45}
.ol-auth-card{
  border-radius:24px;
  border:1px solid #e2e8f0;
  box-shadow:0 16px 38px rgba(15,23,42,.05);
}
@media (max-width: 900px){
  .ol-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ol-content-grid{grid-template-columns:1fr}
}
@media (max-width: 640px){
  .ol-dashboard{padding:18px 14px 34px}
  .ol-page-header{align-items:stretch}
  .ol-page-header > div:last-child{width:100%}
  .ol-actions{width:100%}
  .ol-actions > *{flex:1 1 100%}
  .ol-stat-card,.ol-feature-card{padding:16px}
  .ol-kpis{grid-template-columns:1fr 1fr;gap:12px}
  .ol-grid-3,.ol-grid-2{grid-template-columns:1fr}
  .ol-mobile-disclosure{display:block}
  .ol-desktop-actions{display:none !important}
  .ol-table-wrap{display:none}
  .ol-responsive-table-card{display:grid;gap:12px}
}


/* FULL INTERNAL PAGE UNIFICATION PASS */
.ol-unify-shell{display:grid;gap:18px}
.ol-section-card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:26px;
  box-shadow:0 16px 38px rgba(15,23,42,.06);
  overflow:hidden;
}
.ol-section-card-body{padding:18px}
.ol-section-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.ol-section-title{
  font-size:1.05rem;
  line-height:1.15;
  font-weight:800;
  letter-spacing:-.02em;
  color:#0f172a;
  margin:0;
}
.ol-section-subtitle{
  margin-top:4px;
  color:#64748b;
  font-size:.92rem;
}
.ol-stat-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.ol-stat-tile{
  border:1px solid #e2e8f0;
  background:linear-gradient(180deg,#fff,#f8fafc);
  border-radius:20px;
  padding:14px;
  box-shadow:0 8px 20px rgba(15,23,42,.04);
}
.ol-stat-tile-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  color:#64748b;
}
.ol-stat-tile-value{
  margin-top:6px;
  font-size:1.35rem;
  line-height:1;
  font-weight:800;
  color:#0f172a;
}
.ol-grid-cards{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.ol-mini-card{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:22px;
  padding:16px;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.ol-mini-card:hover{
  transform:translateY(-2px);
  box-shadow:0 18px 38px rgba(15,23,42,.09);
  border-color:#cbd5e1;
}
.ol-mini-kicker{
  font-size:11px;
  line-height:1;
  font-weight:700;
  letter-spacing:.10em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.ol-mini-title{
  font-size:.98rem;
  line-height:1.25;
  font-weight:800;
  color:#0f172a;
}
.ol-mini-copy{
  margin-top:6px;
  font-size:.8rem;
  line-height:1.5;
  color:#64748b;
}
.ol-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.ol-toolbar > *{flex:1 1 180px}
.ol-table-card-list{display:none}
.ol-table-card{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:22px;
  padding:14px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.ol-table-card-grid{
  display:grid;
  gap:8px;
}
.ol-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ol-tight-form{
  display:grid;
  gap:12px;
}
.ol-tight-form .row{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.ol-mobile-actions{display:none}
@media (max-width: 1024px){
  .ol-stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ol-grid-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .ol-unify-shell{gap:14px}
  .ol-section-card{border-radius:22px}
  .ol-section-card-body{padding:14px}
  .ol-section-header{margin-bottom:12px}
  .ol-section-title{font-size:1rem}
  .ol-section-subtitle{font-size:.84rem}
  .ol-stat-strip{grid-template-columns:1fr 1fr;gap:10px}
  .ol-grid-cards{grid-template-columns:1fr}
  .ol-toolbar{display:none}
  .ol-mobile-actions{display:block}
  .ol-tight-form .row{grid-template-columns:1fr}
  .ol-table-card-list{display:grid;gap:12px}
}


/* FULL TABLE + ACTION CLEANUP PASS */
.ol-action-disclosure{display:none}
.ol-action-disclosure-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border:1px solid #dbe3ef;
  background:#fff;
  color:#0f172a;
  border-radius:16px;
  padding:10px 12px;
  font-size:.84rem;
  font-weight:700;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.ol-action-disclosure-panel{display:none;margin-top:10px}
.ol-action-disclosure.is-open .ol-action-disclosure-panel{display:grid}
.ol-action-disclosure.is-open .ol-action-disclosure-btn .chev{transform:rotate(180deg)}
.ol-action-disclosure-btn .chev{transition:transform .2s ease}

.ol-clean-table-wrap{
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:#fff;
  overflow:hidden;
  box-shadow:0 16px 36px rgba(15,23,42,.05);
}
.ol-clean-table{width:100%;border-collapse:separate;border-spacing:0}
.ol-clean-table thead th{
  background:#f8fafc;
  color:#475569;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:700;
  padding:14px 12px;
  border-bottom:1px solid #e2e8f0;
}
.ol-clean-table tbody td{
  padding:14px 12px;
  vertical-align:top;
  border-bottom:1px solid #eef2f7;
}
.ol-clean-table tbody tr:last-child td{border-bottom:0}
.ol-clean-table-card-list{display:none}

.ol-record-card{
  border:1px solid #e2e8f0;
  background:#fff;
  border-radius:22px;
  padding:14px;
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.ol-record-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.ol-record-title{
  font-size:.98rem;
  line-height:1.25;
  font-weight:800;
  color:#0f172a;
}
.ol-record-meta{
  margin-top:4px;
  font-size:.78rem;
  color:#64748b;
  line-height:1.45;
}
.ol-record-grid{
  display:grid;
  gap:8px;
  margin-top:12px;
}
.ol-record-pill{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:5px 9px;
  font-size:.72rem;
  font-weight:700;
  border:1px solid #e2e8f0;
  background:#f8fafc;
  color:#334155;
}
.ol-record-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:12px;
}
.ol-record-actions > *{flex:1 1 120px}
.ol-btn-danger{
  background:#fee2e2;
  color:#991b1b;
  border:1px solid #fecaca;
}
.ol-btn-danger:hover{background:#fecaca}
.ol-btn-ghost{
  background:#fff;
  color:#0f172a;
  border:1px solid #e2e8f0;
}
.ol-btn-ghost:hover{background:#f8fafc}
@media (max-width: 640px){
  .ol-clean-table-wrap{display:none}
  .ol-clean-table-card-list{display:grid;gap:12px}
  .ol-action-disclosure{display:block}
}


/* MICRO-INTERACTION + TOAST SYSTEM PASS */
:root{--ol-ease:cubic-bezier(.2,.8,.2,1);}
.ol-btn,.ol-premium-card,.ol-mini-card,.ol-record-card,.ol-card,.ol-panel,.ol-stat-tile,.ol-mobile-disclosure-btn,.ol-action-disclosure-btn,.ol-list-item{transition:transform .18s var(--ol-ease),box-shadow .18s var(--ol-ease),border-color .18s var(--ol-ease),background-color .18s var(--ol-ease),opacity .18s var(--ol-ease);}
.ol-btn:hover,.ol-mobile-disclosure-btn:hover,.ol-action-disclosure-btn:hover{transform:translateY(-1px);}
.ol-btn:active,.ol-mobile-disclosure-btn:active,.ol-action-disclosure-btn:active{transform:translateY(0) scale(.985);}
.ol-premium-card:hover,.ol-mini-card:hover,.ol-record-card:hover,.ol-card:hover,.ol-panel:hover,.ol-stat-tile:hover,.ol-list-item:hover{transform:translateY(-2px);}
.ol-fade-up{animation:ol-fade-up .42s var(--ol-ease) both;}
@keyframes ol-fade-up{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.ol-pulse-dot{position:relative;}
.ol-pulse-dot::after{content:"";position:absolute;inset:-4px;border-radius:999px;border:2px solid currentColor;opacity:.18;animation:ol-pulse 1.8s infinite;}
@keyframes ol-pulse{0%{transform:scale(.8);opacity:.24}70%{transform:scale(1.6);opacity:0}100%{opacity:0}}
.ol-toast-stack{position:fixed;right:16px;top:84px;z-index:9999;display:grid;gap:10px;width:min(360px,calc(100vw - 24px));}
.ol-toast{display:flex;align-items:flex-start;gap:12px;border-radius:20px;padding:14px 14px;border:1px solid #e2e8f0;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);box-shadow:0 18px 38px rgba(15,23,42,.12);animation:ol-toast-in .35s var(--ol-ease) both;}
.ol-toast-hide{animation:ol-toast-out .28s var(--ol-ease) forwards}
@keyframes ol-toast-in{from{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes ol-toast-out{to{opacity:0;transform:translateY(-6px) scale(.98)}}
.ol-toast-icon{width:34px;height:34px;flex:0 0 34px;display:grid;place-items:center;border-radius:999px;font-size:15px;font-weight:800;}
.ol-toast-success .ol-toast-icon{background:#dcfce7;color:#166534}
.ol-toast-error .ol-toast-icon{background:#fee2e2;color:#991b1b}
.ol-toast-info .ol-toast-icon{background:#dbeafe;color:#1d4ed8}
.ol-toast-warning .ol-toast-icon{background:#fef3c7;color:#92400e}
.ol-toast-title{font-size:.92rem;font-weight:800;color:#0f172a}
.ol-toast-copy{margin-top:2px;font-size:.82rem;color:#64748b;line-height:1.45}
.ol-toast-close{margin-left:auto;border:0;background:transparent;color:#94a3b8;font-size:16px;line-height:1;cursor:pointer;}
@media (max-width:640px){.ol-toast-stack{right:12px;left:12px;width:auto;top:78px;}}


/* EXECUTIVE DASHBOARD + ANALYTICS PASS */
.ol-exec-hero{
  position:relative;
  overflow:hidden;
  border-radius:30px;
  padding:24px;
  background:linear-gradient(135deg,#020617 0%, #0f172a 42%, #0f3a74 100%);
  color:#fff;
  box-shadow:0 24px 60px rgba(2,6,23,.26);
  border:1px solid rgba(255,255,255,.08);
}
.ol-exec-hero::before{
  content:"";
  position:absolute;
  inset:auto -12% -45% auto;
  width:260px;height:260px;border-radius:999px;
  background:radial-gradient(circle, rgba(45,212,191,.18), rgba(45,212,191,0) 70%);
}
.ol-exec-title{
  font-size:clamp(1.4rem,3.2vw,2.7rem);
  line-height:1.02;
  font-weight:900;
  letter-spacing:-.04em;
}
.ol-exec-copy{
  margin-top:8px;
  max-width:760px;
  color:rgba(255,255,255,.78);
  font-size:.96rem;
  line-height:1.6;
}
.ol-exec-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:16px;
}
.ol-exec-kpi{
  border-radius:22px;
  padding:14px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.10);
  backdrop-filter:blur(8px);
}
.ol-exec-kpi-label{
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(255,255,255,.68);
  font-weight:700;
}
.ol-exec-kpi-value{
  margin-top:8px;
  font-size:1.6rem;
  line-height:1;
  font-weight:900;
}
.ol-exec-kpi-delta{
  margin-top:7px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  font-size:.74rem;
  font-weight:700;
  border-radius:999px;
  padding:5px 9px;
  background:rgba(255,255,255,.10);
}
.ol-exec-grid{
  display:grid;
  grid-template-columns:1.45fr .95fr;
  gap:16px;
}
.ol-chart-card{
  border:1px solid #e2e8f0;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 38px rgba(15,23,42,.06);
  overflow:hidden;
}
.ol-chart-card-body{padding:18px}
.ol-chart-wrap{
  position:relative;
  height:260px;
  margin-top:12px;
}
.ol-chart-legend{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.ol-chart-legend span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.78rem;
  color:#64748b;
}
.ol-chart-legend i{
  width:10px;height:10px;border-radius:999px;display:inline-block;
}
.ol-analytics-list{
  display:grid;
  gap:10px;
}
.ol-analytics-item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:12px 13px;
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.ol-analytics-item strong{color:#0f172a}
.ol-analytics-item small{display:block;color:#64748b;margin-top:2px}
.ol-progress{
  height:8px;
  border-radius:999px;
  background:#e2e8f0;
  overflow:hidden;
  margin-top:8px;
}
.ol-progress > span{
  display:block;height:100%;
  border-radius:999px;
  background:linear-gradient(90deg,#14b8a6,#2563eb);
}
.ol-section-tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:7px 10px;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  background:#eff6ff;
  color:#1d4ed8;
}
@media (max-width: 1024px){
  .ol-exec-grid{grid-template-columns:1fr}
  .ol-exec-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 640px){
  .ol-exec-hero{padding:18px;border-radius:24px}
  .ol-exec-copy{font-size:.88rem}
  .ol-exec-kpis{grid-template-columns:1fr 1fr;gap:10px}
  .ol-exec-kpi{padding:12px}
  .ol-exec-kpi-value{font-size:1.35rem}
  .ol-chart-wrap{height:220px}
}


/* EMPTY STATES + SMART FEEDBACK PASS */
.ol-empty-state{
  position:relative;
  overflow:hidden;
  border:1px solid #e2e8f0;
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(37,99,235,.08), transparent 30%),
    radial-gradient(circle at bottom left, rgba(20,184,166,.08), transparent 28%),
    linear-gradient(180deg,#ffffff,#f8fafc);
  box-shadow:0 18px 42px rgba(15,23,42,.06);
  padding:28px 22px;
  text-align:center;
}
.ol-empty-state.compact{
  padding:20px 16px;
  border-radius:22px;
}
.ol-empty-icon{
  width:68px;
  height:68px;
  margin:0 auto 14px;
  border-radius:22px;
  display:grid;
  place-items:center;
  font-size:28px;
  background:linear-gradient(135deg,#dbeafe,#ecfeff);
  border:1px solid #bfdbfe;
  color:#1d4ed8;
  box-shadow:0 14px 28px rgba(37,99,235,.10);
}
.ol-empty-title{
  font-size:1.1rem;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.02em;
  color:#0f172a;
}
.ol-empty-copy{
  margin:8px auto 0;
  max-width:620px;
  color:#64748b;
  font-size:.92rem;
  line-height:1.65;
}
.ol-empty-actions{
  margin-top:16px;
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:10px;
}
.ol-feedback-banner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border-radius:22px;
  padding:16px 18px;
  border:1px solid #e2e8f0;
  background:#fff;
  box-shadow:0 14px 30px rgba(15,23,42,.05);
}
.ol-feedback-banner.success{
  border-color:#bbf7d0;
  background:linear-gradient(180deg,#f0fdf4,#ffffff);
}
.ol-feedback-banner.warning{
  border-color:#fde68a;
  background:linear-gradient(180deg,#fffbeb,#ffffff);
}
.ol-feedback-banner.info{
  border-color:#bfdbfe;
  background:linear-gradient(180deg,#eff6ff,#ffffff);
}
.ol-feedback-banner.error{
  border-color:#fecaca;
  background:linear-gradient(180deg,#fef2f2,#ffffff);
}
.ol-feedback-icon{
  width:40px;height:40px;flex:0 0 40px;
  border-radius:14px;
  display:grid;place-items:center;
  font-size:18px;font-weight:800;
}
.ol-feedback-banner.success .ol-feedback-icon{background:#dcfce7;color:#166534}
.ol-feedback-banner.warning .ol-feedback-icon{background:#fef3c7;color:#92400e}
.ol-feedback-banner.info .ol-feedback-icon{background:#dbeafe;color:#1d4ed8}
.ol-feedback-banner.error .ol-feedback-icon{background:#fee2e2;color:#991b1b}
.ol-feedback-title{
  font-size:.95rem;
  font-weight:800;
  color:#0f172a;
}
.ol-feedback-copy{
  margin-top:4px;
  color:#64748b;
  font-size:.8rem;
  line-height:1.55;
}
.ol-smart-tip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:7px 10px;
  border-radius:999px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  color:#475569;
  font-size:.76rem;
  font-weight:700;
}
@media (max-width:640px){
  .ol-empty-state{padding:22px 16px;border-radius:24px}
  .ol-empty-icon{width:58px;height:58px;font-size:24px;border-radius:18px}
  .ol-empty-title{font-size:1rem}
  .ol-empty-copy{font-size:.86rem}
  .ol-feedback-banner{padding:14px}
}


/* PREMIUM AUTH + PROFILE EXPERIENCE PASS */
.ol-auth-shell{
  min-height:100vh;
  display:grid;
  place-items:center;
  padding:28px 16px;
  background:
    radial-gradient(circle at top, rgba(37,99,235,.08), transparent 40%),
    radial-gradient(circle at bottom, rgba(20,184,166,.08), transparent 40%),
    #f8fafc;
}
.ol-auth-card{
  width:100%;
  max-width:420px;
  border-radius:28px;
  border:1px solid #e2e8f0;
  background:#fff;
  box-shadow:0 24px 60px rgba(15,23,42,.12);
  padding:22px;
}
.ol-auth-header{
  text-align:center;
  margin-bottom:16px;
}
.ol-auth-title{
  font-size:1.4rem;
  font-weight:900;
  letter-spacing:-.03em;
  color:#0f172a;
}
.ol-auth-sub{
  margin-top:6px;
  font-size:.9rem;
  color:#64748b;
}
.ol-auth-form{
  display:grid;
  gap:12px;
  margin-top:14px;
}
.ol-auth-form input{
  border:1px solid #e2e8f0;
  border-radius:16px;
  padding:12px 14px;
  font-size:.9rem;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.ol-auth-form input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.ol-auth-actions{
  margin-top:10px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.ol-auth-footer{
  margin-top:14px;
  text-align:center;
  font-size:.85rem;
  color:#64748b;
}
.ol-profile-card{
  border-radius:26px;
  border:1px solid #e2e8f0;
  background:#fff;
  box-shadow:0 18px 42px rgba(15,23,42,.08);
  padding:20px;
}
.ol-profile-header{
  display:flex;
  align-items:center;
  gap:14px;
}
.ol-avatar{
  width:52px;
  height:52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  font-weight:900;
  color:#fff;
  background:linear-gradient(135deg,#2563eb,#14b8a6);
}
.ol-profile-name{
  font-size:1.05rem;
  font-weight:800;
  color:#0f172a;
}
.ol-profile-meta{
  font-size:.82rem;
  color:#64748b;
}
.ol-profile-grid{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.ol-profile-row{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:.8rem;
  color:#334155;
}
.ol-profile-row strong{
  color:#0f172a;
}
@media (max-width:640px){
  .ol-auth-card{border-radius:22px;padding:18px}
  .ol-profile-card{border-radius:22px;padding:16px}
}


/* BRANDING + PRODUCT IDENTITY PASS */
:root{
  --ol-brand-primary:#0f3a74;
  --ol-brand-primary-2:#2563eb;
  --ol-brand-accent:#14b8a6;
  --ol-brand-accent-2:#0ea5e9;
  --ol-brand-gold:#f59e0b;
  --ol-brand-bg:#f8fafc;
  --ol-brand-text:#0f172a;
  --ol-brand-muted:#64748b;
  --ol-brand-surface:#ffffff;
  --ol-brand-border:#e2e8f0;
  --ol-gradient-brand:linear-gradient(135deg,#0f3a74 0%, #2563eb 48%, #14b8a6 100%);
  --ol-gradient-soft:linear-gradient(135deg,rgba(37,99,235,.10),rgba(20,184,166,.08));
  --ol-shadow-brand:0 20px 48px rgba(15,58,116,.16);
}
html,body{
  background:var(--ol-brand-bg);
  color:var(--ol-brand-text);
  font-feature-settings:"ss01" on,"cv01" on;
}
body{
  letter-spacing:-0.01em;
}
.ol-brand-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:.74rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ol-brand-dot{
  width:10px;height:10px;border-radius:999px;
  background:linear-gradient(135deg,#14b8a6,#f59e0b);
  box-shadow:0 0 0 5px rgba(20,184,166,.12);
}
.ol-brand-wordmark{
  display:flex;
  align-items:center;
  gap:12px;
}
.ol-brand-mark{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  background:var(--ol-gradient-brand);
  color:#fff;font-weight:900;font-size:1rem;
  box-shadow:var(--ol-shadow-brand);
}
.ol-brand-name{
  font-size:1rem;
  font-weight:900;
  letter-spacing:-.03em;
  color:#fff;
}
.ol-brand-tagline{
  font-size:.72rem;
  color:rgba(255,255,255,.72);
  margin-top:2px;
}
.ol-btn-primary{
  background:var(--ol-gradient-brand);
  color:#fff;
  box-shadow:0 16px 34px rgba(15,58,116,.22);
}
.ol-btn-primary:hover{filter:brightness(1.03)}
.ol-btn-accent{
  background:linear-gradient(135deg,#14b8a6,#0ea5e9);
  color:#032b2c;
  box-shadow:0 16px 34px rgba(20,184,166,.18);
}
.ol-btn-secondary{
  background:#fff;
  border-color:var(--ol-brand-border);
  color:var(--ol-brand-text);
}
.ol-page-title,.ol-section-title,.ol-feature-title,.ol-auth-title,.ol-profile-name{
  letter-spacing:-.035em;
}
.ol-page-subtitle,.ol-feature-copy,.ol-auth-sub,.ol-profile-meta{
  color:var(--ol-brand-muted);
}
.ol-card,.ol-panel,.ol-premium-card,.ol-mini-card,.ol-record-card,.ol-section-card,.ol-chart-card,.ol-profile-card,.ol-auth-card{
  border-color:var(--ol-brand-border);
}
.ol-surface-brand{
  background:var(--ol-gradient-brand);
  color:#fff;
}
.ol-surface-soft{
  background:var(--ol-gradient-soft);
}
.ol-icon-badge{
  width:36px;height:36px;border-radius:12px;
  display:grid;place-items:center;
  background:linear-gradient(135deg,#eff6ff,#ecfeff);
  color:#1d4ed8;
  border:1px solid #dbeafe;
  box-shadow:0 8px 18px rgba(37,99,235,.08);
  flex:0 0 36px;
}
.ol-typography-tight h1,
.ol-typography-tight h2,
.ol-typography-tight h3{
  letter-spacing:-.04em;
}
.ol-soft-gradient-border{
  position:relative;
}
.ol-soft-gradient-border::before{
  content:"";
  position:absolute;
  inset:0;
  padding:1px;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(37,99,235,.25),rgba(20,184,166,.20),rgba(245,158,11,.18));
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
  pointer-events:none;
}
.ol-brand-banner{
  border-radius:26px;
  padding:18px 18px;
  background:linear-gradient(135deg,#0f3a74 0%, #0f172a 55%, #14b8a6 100%);
  color:#fff;
  box-shadow:var(--ol-shadow-brand);
  border:1px solid rgba(255,255,255,.08);
}
.ol-brand-banner-title{
  font-size:1.1rem;
  font-weight:900;
  letter-spacing:-.03em;
}
.ol-brand-banner-copy{
  margin-top:6px;
  color:rgba(255,255,255,.76);
  font-size:.88rem;
  line-height:1.55;
}


/* FULL NOTIFICATIONS + AUTOMATION PASS */
.ol-notify-bell{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  border:1px solid #e2e8f0;
  background:#fff;
  color:#0f172a;
  box-shadow:0 12px 24px rgba(15,23,42,.05);
}
.ol-notify-count{
  min-width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 6px;
  border-radius:999px;
  background:linear-gradient(135deg,#ef4444,#f59e0b);
  color:#fff;
  font-size:11px;
  font-weight:800;
}
.ol-notify-dot{
  position:absolute;
  top:8px;
  right:8px;
  width:10px;
  height:10px;
  border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 6px rgba(34,197,94,.12);
}
.ol-alert-strip{
  display:grid;
  gap:12px;
}
.ol-alert-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border-radius:24px;
  padding:16px 18px;
  border:1px solid #e2e8f0;
  background:#fff;
  box-shadow:0 14px 30px rgba(15,23,42,.05);
}
.ol-alert-card strong{
  display:block;
  color:#0f172a;
  font-size:.96rem;
}
.ol-alert-card p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.8rem;
  line-height:1.55;
}
.ol-alert-card.success{border-color:#bbf7d0;background:linear-gradient(180deg,#f0fdf4,#fff)}
.ol-alert-card.warning{border-color:#fde68a;background:linear-gradient(180deg,#fffbeb,#fff)}
.ol-alert-card.info{border-color:#bfdbfe;background:linear-gradient(180deg,#eff6ff,#fff)}
.ol-alert-card .ol-alert-icon{
  width:42px;height:42px;flex:0 0 42px;
  display:grid;place-items:center;
  border-radius:14px;
  font-size:18px;font-weight:900;
}
.ol-alert-card.success .ol-alert-icon{background:#dcfce7;color:#166534}
.ol-alert-card.warning .ol-alert-icon{background:#fef3c7;color:#92400e}
.ol-alert-card.info .ol-alert-icon{background:#dbeafe;color:#1d4ed8}
.ol-automation-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.ol-automation-card{
  border:1px solid #e2e8f0;
  border-radius:24px;
  padding:16px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  box-shadow:0 12px 24px rgba(15,23,42,.05);
}
.ol-automation-card h3{
  margin:0;
  font-size:.98rem;
  font-weight:800;
  color:#0f172a;
  letter-spacing:-.02em;
}
.ol-automation-card p{
  margin:6px 0 0;
  color:#64748b;
  font-size:.84rem;
  line-height:1.55;
}
.ol-automation-meta{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ol-automation-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:6px 9px;
  background:#fff;
  border:1px solid #e2e8f0;
  font-size:.74rem;
  font-weight:700;
  color:#475569;
}
.ol-live-status{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:7px 10px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  font-size:.76rem;
  font-weight:800;
  color:#334155;
}
.ol-live-status::before{
  content:"";
  width:9px;height:9px;border-radius:999px;
  background:#22c55e;
  box-shadow:0 0 0 0 rgba(34,197,94,.4);
  animation:ol-livePulse 1.8s infinite;
}
@keyframes ol-livePulse{
  0%{box-shadow:0 0 0 0 rgba(34,197,94,.45)}
  70%{box-shadow:0 0 0 10px rgba(34,197,94,0)}
  100%{box-shadow:0 0 0 0 rgba(34,197,94,0)}
}
@media (max-width: 1024px){
  .ol-automation-grid{grid-template-columns:1fr 1fr}
}
@media (max-width: 640px){
  .ol-alert-card{padding:14px}
  .ol-automation-grid{grid-template-columns:1fr}
}


/* ADMIN POWER TOOLS + BULK ACTIONS PASS */
.ol-bulk-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 16px;
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  box-shadow:0 14px 28px rgba(15,23,42,.05);
  margin-bottom:14px;
}
.ol-bulk-toolbar-left{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.ol-bulk-count{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border-radius:999px;
  padding:7px 10px;
  background:#eff6ff;
  border:1px solid #bfdbfe;
  color:#1d4ed8;
  font-size:.76rem;
  font-weight:800;
}
.ol-bulk-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.ol-checkbox{
  width:18px;
  height:18px;
  accent-color:#2563eb;
  cursor:pointer;
}
.ol-power-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.ol-power-card{
  border:1px solid #e2e8f0;
  border-radius:24px;
  padding:16px;
  background:#fff;
  box-shadow:0 12px 24px rgba(15,23,42,.05);
}
.ol-power-card h3{
  margin:0;
  font-size:1rem;
  font-weight:800;
  color:#0f172a;
}
.ol-power-card p{
  margin:6px 0 0;
  color:#64748b;
  font-size:.84rem;
  line-height:1.55;
}
.ol-power-meta{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.ol-power-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border-radius:999px;
  padding:6px 9px;
  background:#f8fafc;
  border:1px solid #e2e8f0;
  font-size:.74rem;
  font-weight:700;
  color:#475569;
}
.ol-row-quick-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:10px;
}
.ol-row-quick-actions > *{
  flex:1 1 120px;
}
@media (max-width:1024px){
  .ol-power-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .ol-bulk-toolbar{
    flex-direction:column;
    align-items:stretch;
    padding:12px;
  }
  .ol-bulk-actions > *{flex:1 1 120px}
  .ol-power-grid{grid-template-columns:1fr}
}


/* REAL DATA INTELLIGENCE + ADVANCED ANALYTICS PASS */
.ol-intel-grid{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
}
.ol-intel-card{
  border:1px solid #e2e8f0;
  border-radius:26px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  overflow:hidden;
}
.ol-intel-body{padding:18px}
.ol-intel-metrics{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.ol-intel-metric{
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:14px;
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.ol-intel-metric-label{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
  color:#64748b;
}
.ol-intel-metric-value{
  margin-top:6px;
  font-size:1.3rem;
  line-height:1;
  font-weight:900;
  color:#0f172a;
}
.ol-intel-metric-note{
  margin-top:8px;
  font-size:.78rem;
  color:#64748b;
}
.ol-insight-list{
  display:grid;
  gap:10px;
}
.ol-insight-item{
  border:1px solid #e2e8f0;
  border-radius:18px;
  padding:12px 13px;
  background:#fff;
}
.ol-insight-item strong{
  display:block;
  color:#0f172a;
  font-size:.92rem;
}
.ol-insight-item p{
  margin:4px 0 0;
  color:#64748b;
  font-size:.82rem;
  line-height:1.55;
}
.ol-sparkline{
  margin-top:10px;
  height:54px;
  border-radius:14px;
  background:linear-gradient(180deg,#eff6ff,#fff);
  border:1px solid #dbeafe;
  position:relative;
  overflow:hidden;
}
.ol-sparkline svg{
  width:100%;
  height:100%;
  display:block;
}
.ol-decision-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.ol-decision-card{
  border:1px solid #e2e8f0;
  border-radius:20px;
  padding:14px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  box-shadow:0 10px 24px rgba(15,23,42,.04);
}
.ol-decision-card h3{
  margin:0;
  font-size:.9rem;
  font-weight:800;
  color:#0f172a;
}
.ol-decision-card p{
  margin:6px 0 0;
  font-size:.8rem;
  color:#64748b;
  line-height:1.5;
}
@media (max-width:1024px){
  .ol-intel-grid{grid-template-columns:1fr}
  .ol-decision-strip{grid-template-columns:1fr 1fr}
  .ol-intel-metrics{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:640px){
  .ol-intel-body{padding:14px}
  .ol-intel-metrics{grid-template-columns:1fr}
  .ol-decision-strip{grid-template-columns:1fr}
}


/* UNIFIED COMMAND CENTER + EXECUTIVE OPERATIONS PASS */
.ol-command-hero{
  border-radius:30px;
  padding:24px;
  background:linear-gradient(135deg,#0f172a 0%, #0f3a74 52%, #14b8a6 100%);
  color:#fff;
  box-shadow:0 24px 60px rgba(15,23,42,.18);
  border:1px solid rgba(255,255,255,.08);
}
.ol-command-hero h1{
  margin:0;
  font-size:1.7rem;
  font-weight:900;
  letter-spacing:-.04em;
}
.ol-command-hero p{
  margin:8px 0 0;
  color:rgba(255,255,255,.78);
  max-width:70ch;
}
.ol-command-grid{
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:18px;
}
.ol-command-stack{
  display:grid;
  gap:18px;
}
.ol-command-score{
  display:grid;
  place-items:center;
  min-height:180px;
  border-radius:28px;
  background:linear-gradient(180deg,#fff,#f8fafc);
  border:1px solid #e2e8f0;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
}
.ol-command-score .value{
  font-size:3rem;
  line-height:1;
  font-weight:900;
  color:#0f172a;
}
.ol-command-score .label{
  margin-top:8px;
  color:#64748b;
  font-size:.88rem;
}
.ol-command-board{
  border:1px solid #e2e8f0;
  border-radius:28px;
  background:#fff;
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  overflow:hidden;
}
.ol-command-board .head{
  padding:18px 18px 0;
}
.ol-command-board .body{
  padding:18px;
}
.ol-action-list{
  display:grid;
  gap:12px;
}
.ol-action-item{
  display:flex;
  gap:12px;
  align-items:flex-start;
  border:1px solid #e2e8f0;
  border-radius:20px;
  padding:14px;
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.ol-action-index{
  width:34px;height:34px;border-radius:12px;
  display:grid;place-items:center;
  font-weight:900;color:#fff;
  background:linear-gradient(135deg,#2563eb,#14b8a6);
  flex:0 0 34px;
}
.ol-ops-strip{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.ol-ops-card{
  border:1px solid #e2e8f0;
  border-radius:22px;
  padding:16px;
  background:#fff;
  box-shadow:0 12px 24px rgba(15,23,42,.05);
}
.ol-ops-card .k{
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
  font-weight:700;
}
.ol-ops-card .v{
  margin-top:8px;
  font-size:1.6rem;
  line-height:1;
  font-weight:900;
  color:#0f172a;
}
.ol-ops-card .n{
  margin-top:8px;
  color:#64748b;
  font-size:.82rem;
}
@media (max-width:1024px){
  .ol-command-grid{grid-template-columns:1fr}
  .ol-ops-strip{grid-template-columns:1fr 1fr}
}
@media (max-width:640px){
  .ol-command-hero{padding:18px;border-radius:24px}
  .ol-command-hero h1{font-size:1.35rem}
  .ol-ops-strip{grid-template-columns:1fr}
}


/* KPI READABILITY + PREMIUM CONTRAST FIX */
.ol-stat-tile{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(20,184,166,.08), transparent 36%),
    radial-gradient(circle at top left, rgba(37,99,235,.08), transparent 34%),
    linear-gradient(180deg,#ffffff 0%, #f8fafc 100%) !important;
  border:1px solid rgba(15,23,42,.08) !important;
  border-radius:24px !important;
  box-shadow:0 14px 34px rgba(15,23,42,.10) !important;
  color:#0f172a !important;
}
.ol-stat-tile::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,.25), transparent 45%);
}
.ol-stat-tile .ol-stat-tile-label{
  position:relative;
  z-index:2;
  color:#64748b !important;
  font-size:.76rem !important;
  font-weight:800 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase;
  line-height:1.15;
}
.ol-stat-tile .ol-stat-tile-value{
  position:relative;
  z-index:2;
  margin-top:10px !important;
  color:#0f172a !important;
  font-size:clamp(1.7rem,2.4vw,2.35rem) !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:-.03em;
}
.ol-stat-tile .ol-stat-tile-sub{
  position:relative;
  z-index:2;
  margin-top:8px;
  color:#475569 !important;
  font-size:.80rem;
  line-height:1.35;
}
.ol-stat-tile *{
  text-shadow:none !important;
}
.ol-exec-kpi{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.16), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.10)) !important;
  border:1px solid rgba(255,255,255,.16) !important;
  box-shadow:0 16px 32px rgba(2,6,23,.14);
}
.ol-exec-kpi-label{
  color:rgba(255,255,255,.84) !important;
  font-size:.74rem !important;
  font-weight:800 !important;
}
.ol-exec-kpi-value{
  color:#ffffff !important;
  text-shadow:0 1px 2px rgba(2,6,23,.18);
}
.ol-exec-kpi-delta{
  background:rgba(255,255,255,.16) !important;
  color:#f8fafc !important;
}
@media (max-width:640px){
  .ol-stat-tile{
    border-radius:20px !important;
    padding:14px 12px !important;
  }
  .ol-stat-tile .ol-stat-tile-label{
    font-size:.70rem !important;
  }
  .ol-stat-tile .ol-stat-tile-value{
    font-size:1.75rem !important;
  }
}


.ol-ops-card{
  background:
    radial-gradient(circle at top right, rgba(20,184,166,.08), transparent 34%),
    radial-gradient(circle at top left, rgba(37,99,235,.08), transparent 32%),
    linear-gradient(180deg,#ffffff,#f8fafc) !important;
}
.ol-ops-card .k{color:#64748b !important}
.ol-ops-card .v{color:#0f172a !important}
.ol-ops-card .n{color:#475569 !important}


/* COMPACT ENROLLMENT CARD WRAP FIX */
.ol-enrollment-stack{
  display:grid;
  gap:14px;
}
.ol-enrollment-card{
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:
    radial-gradient(circle at top right, rgba(20,184,166,.05), transparent 36%),
    radial-gradient(circle at top left, rgba(37,99,235,.05), transparent 32%),
    linear-gradient(180deg,#ffffff,#f8fafc);
  box-shadow:0 14px 30px rgba(15,23,42,.05);
  padding:16px;
  overflow:hidden;
}
.ol-enrollment-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
}
.ol-enrollment-title-row{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-start;
  gap:10px;
}
.ol-enrollment-title{
  font-size:1.02rem;
  line-height:1.35;
  font-weight:900;
  letter-spacing:-.02em;
  color:#0f172a;
  min-width:0;
  max-width:100%;
}
.ol-enrollment-badge{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 10px;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}
.ol-enrollment-badge.is-active{
  background:#ecfdf5;
  color:#047857;
  border:1px solid #bbf7d0;
}
.ol-enrollment-badge.is-inactive{
  background:#fff1f2;
  color:#be123c;
  border:1px solid #fecdd3;
}
.ol-enrollment-meta{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.ol-enrollment-meta-box{
  border:1px solid #e2e8f0;
  border-radius:16px;
  background:#fff;
  padding:12px;
}
.ol-enrollment-meta-k{
  font-size:.68rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:#64748b;
  font-weight:800;
}
.ol-enrollment-meta-v{
  margin-top:6px;
  color:#0f172a;
  font-size:.9rem;
  line-height:1.45;
  font-weight:700;
  word-break:break-word;
}
.ol-enrollment-actions{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}
.ol-enrollment-toggle-form,
.ol-enrollment-payment-form{
  min-width:0;
}
.ol-enrollment-toggle-btn{
  width:100%;
  min-height:56px;
  border:none;
  border-radius:18px;
  padding:14px 16px;
  color:#fff;
  font-size:.92rem;
  font-weight:800;
  box-shadow:0 12px 24px rgba(15,23,42,.12);
}
.ol-enrollment-toggle-btn.is-danger{
  background:linear-gradient(135deg,#e11d48,#f43f5e);
}
.ol-enrollment-toggle-btn.is-success{
  background:linear-gradient(135deg,#047857,#16a34a);
}
.ol-enrollment-payment-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:10px;
  align-items:stretch;
}
.ol-enrollment-payment-input{
  min-width:0;
  width:100%;
  min-height:56px;
  border-radius:18px;
  border:1px solid #dbe3ef;
  background:#fff;
  padding:0 14px;
  color:#0f172a;
  font-size:.92rem;
}
.ol-enrollment-payment-input:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
.ol-enrollment-pay-btn{
  min-width:112px;
  min-height:56px;
  border:none;
  border-radius:18px;
  padding:14px 16px;
  background:linear-gradient(135deg,#0f172a,#1e293b);
  color:#fff;
  font-size:.92rem;
  font-weight:800;
  box-shadow:0 12px 24px rgba(15,23,42,.14);
}
.ol-empty-lite{
  border:1px dashed #cbd5e1;
  border-radius:22px;
  background:linear-gradient(180deg,#f8fafc,#ffffff);
  padding:18px;
  color:#64748b;
  font-size:.92rem;
}
@media (max-width: 1100px){
  .ol-enrollment-meta{
    grid-template-columns:1fr;
  }
}
@media (max-width: 640px){
  .ol-enrollment-card{
    padding:14px;
    border-radius:20px;
  }
  .ol-enrollment-title{
    font-size:.96rem;
  }
  .ol-enrollment-payment-form{
    grid-template-columns:1fr;
  }
  .ol-enrollment-pay-btn,
  .ol-enrollment-toggle-btn{
    min-width:100%;
  }
}


/* ACADEMY COURSE CHAT HUB */
.ol-chat-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
}
.ol-chat-panel,
.ol-chat-room-shell{
  border:1px solid #e2e8f0;
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(20,184,166,.05), transparent 34%),
    radial-gradient(circle at top left, rgba(37,99,235,.05), transparent 32%),
    linear-gradient(180deg,#ffffff,#f8fafc);
  box-shadow:0 18px 42px rgba(15,23,42,.06);
  padding:18px;
}
.ol-chat-room-list,
.ol-chat-instructor-list,
.ol-chat-member-list{
  display:grid;
  gap:12px;
}
.ol-chat-room-card,
.ol-chat-instructor-card{
  border:1px solid #e2e8f0;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 24px rgba(15,23,42,.04);
  padding:14px;
}
.ol-chat-room-link{display:block;color:inherit}
.ol-chat-room-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.ol-chat-room-title,
.ol-chat-course-group-title,
.ol-side-title,
.ol-chat-member-name{
  color:#0f172a;
  font-weight:900;
  letter-spacing:-.02em;
}
.ol-chat-room-title{font-size:1rem;}
.ol-chat-course-group-title{font-size:.95rem;margin:8px 0 10px;}
.ol-chat-room-copy,
.ol-chat-member-role{
  color:#64748b;
  font-size:.85rem;
  line-height:1.5;
}
.ol-chat-chip{
  display:inline-flex;
  align-items:center;
  border-radius:999px;
  padding:6px 10px;
  background:#eff6ff;
  color:#1d4ed8;
  border:1px solid #bfdbfe;
  font-size:.72rem;
  font-weight:800;
  white-space:nowrap;
}
.ol-chat-room-actions{
  margin-top:12px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.ol-chat-instructor-grid{
  display:grid;
  gap:10px;
}
.ol-chat-instructor-card{
  display:flex;
  align-items:center;
  gap:12px;
}
.ol-chat-avatar{
  width:42px;height:42px;border-radius:14px;
  display:grid;place-items:center;
  font-weight:900;color:#fff;
  background:linear-gradient(135deg,#2563eb,#14b8a6);
  box-shadow:0 10px 24px rgba(37,99,235,.18);
  flex:0 0 42px;
}
.ol-chat-room-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.ol-chat-room-layout{
  margin-top:18px;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
}
.ol-chat-stream{
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:linear-gradient(180deg,#f8fafc,#ffffff);
  padding:16px;
  min-height:420px;
  max-height:62vh;
  overflow:auto;
}
.ol-chat-sidebar{
  display:grid;
  gap:14px;
}
.ol-chat-side-card{
  border:1px solid #e2e8f0;
  border-radius:24px;
  background:#fff;
  padding:16px;
}
.ol-chat-member-item{
  display:flex;
  align-items:center;
  gap:10px;
}
.ol-chat-bubble-row{
  display:flex;
  justify-content:flex-start;
  margin-bottom:12px;
}
.ol-chat-bubble-row.is-me{
  justify-content:flex-end;
}
.ol-chat-bubble{
  max-width:min(78%, 560px);
  border:1px solid #e2e8f0;
  border-radius:18px 18px 18px 8px;
  background:#fff;
  padding:12px 13px;
  color:#0f172a;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.ol-chat-bubble.is-me{
  border-radius:18px 18px 8px 18px;
  background:linear-gradient(135deg,#0f172a,#1e3a8a);
  color:#fff;
}
.ol-chat-bubble-meta{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-bottom:6px;
  font-size:.74rem;
  color:#64748b;
}
.ol-chat-bubble.is-me .ol-chat-bubble-meta{
  color:rgba(255,255,255,.78);
}
.ol-chat-compose{
  margin-top:16px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:end;
}
.ol-chat-compose-input{
  min-height:78px;
  border-radius:20px;
  border:1px solid #dbe3ef;
  background:#fff;
  padding:14px;
  color:#0f172a;
  font-size:.92rem;
}
.ol-chat-compose-input:focus{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.12);
}
@media (max-width: 900px){
  .ol-chat-grid,
  .ol-chat-room-layout,
  .ol-chat-compose{
    grid-template-columns:1fr;
  }
}

/* Notification dock: bell-only mode requested */
#ol-global-notification-dock{
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.ol-notification-bell-only{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  border-radius:18px;
  border:1px solid #dbeafe;
  background:#eff6ff;
  color:#1d4ed8;
  font-size:18px;
  box-shadow:0 14px 35px rgba(15,23,42,.08);
  cursor:pointer;
}
.ol-notification-bell-only:hover{
  transform:translateY(-1px);
}


/* Safety fix: command center must never render as ghost/blank desktop content */
.ol-mobile-command-shell,
.ol-mobile-command-center{
  display:none !important;
}
@media (max-width: 640px){
  .ol-mobile-command-shell{
    display:block !important;
    padding:10px 10px 8px !important;
    margin:0 !important;
  }
  .ol-mobile-command-center{
    display:block !important;
  }
}

/* Phase: premium mobile command center */
@media (max-width: 640px){
  .ol-mobile-command-center{
    display:block;
    padding:10px;
    border-radius:22px;
    background:linear-gradient(180deg,#083865 0%,#062a4f 100%);
    box-shadow:0 18px 44px rgba(2,6,23,.22);
  }
  .ol-mobile-command-grid{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:9px !important;
  }
  .ol-mobile-command-grid > :last-child{grid-column:auto !important;}
  .ol-mobile-command-card{
    position:relative;
    min-height:78px;
    display:flex;
    align-items:center;
    gap:9px;
    padding:10px 9px;
    border-radius:18px;
    color:#fff;
    text-decoration:none;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.22);
    box-shadow:0 12px 26px rgba(2,6,23,.18), inset 0 1px 0 rgba(255,255,255,.2);
    isolation:isolate;
  }
  .ol-mobile-command-card::before{
    content:"";
    position:absolute;
    inset:-45% -35% auto auto;
    width:110px;
    height:110px;
    border-radius:999px;
    background:rgba(255,255,255,.2);
    z-index:-1;
  }
  .ol-mobile-command-card:active{transform:scale(.985)}
  .ol-command-icon{
    width:34px;
    height:34px;
    flex:0 0 34px;
    display:grid;
    place-items:center;
    border-radius:15px;
    background:rgba(255,255,255,.92);
    color:#0f172a;
    font-size:1.2rem;
    box-shadow:0 8px 18px rgba(2,6,23,.14);
  }
  .ol-command-text{min-width:0;line-height:1.1;}
  .ol-command-text b{
    display:block;
    font-size:.8rem;
    font-weight:950;
    letter-spacing:-.02em;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .ol-command-text small{
    display:block;
    margin-top:4px;
    font-size:.62rem;
    font-weight:800;
    opacity:.92;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
  }
  .ol-command-arrow{
    margin-left:auto;
    font-size:1.25rem;
    font-weight:900;
    line-height:1;
    opacity:.92;
  }
  .ol-command-training{background:linear-gradient(135deg,#2563eb,#06b6d4);}
  .ol-command-school{background:linear-gradient(135deg,#059669,#10b981);}
  .ol-command-arena{background:linear-gradient(135deg,#f97316,#f59e0b);}
  .ol-command-profile{background:linear-gradient(135deg,#7c3aed,#4f46e5);}
  .ol-command-support{background:linear-gradient(135deg,#0891b2,#22d3ee);}
  .ol-command-account{background:linear-gradient(135deg,#334155,#64748b);}
}


/* Release 41.3 — unified mobile page rhythm */
@media (max-width:768px){
  html,body{min-height:100%;}
  body>.min-h-screen{min-height:100dvh!important;}
  main{padding-top:12px!important;}
  main .max-w-6xl.mx-auto{width:100%;}
  main > *:last-child{margin-bottom:0!important;}
  .ol-course-card{border-color:rgba(148,163,184,.20);}
}
