:root{
  --ds-bg:#f6f8fc;
  --ds-surface:#ffffff;
  --ds-surface-2:#f8fafc;
  --ds-border:#e7edf7;
  --ds-text:#0f172a;
  --ds-muted:#64748b;
  --ds-primary:#2563eb;
  --ds-primary-2:#06b6d4;
  --ds-success:#10b981;
  --ds-warning:#f59e0b;
  --ds-danger:#ef4444;
  --ds-radius-sm:12px;
  --ds-radius:18px;
  --ds-radius-lg:26px;
  --ds-shadow:0 14px 40px rgba(15,23,42,.08);
  --ds-shadow-soft:0 8px 24px rgba(15,23,42,.06);
}
html{scroll-behavior:smooth}
body{
  background:var(--ds-bg);
  color:var(--ds-text);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
a{color:var(--ds-primary)}
img,svg,video{max-width:100%;height:auto}
table{max-width:100%}
input,select,textarea{
  border:1px solid var(--ds-border);
  border-radius:var(--ds-radius-sm);
  padding:11px 13px;
  background:#fff;
  color:var(--ds-text);
  outline:none;
}
input:focus,select:focus,textarea:focus{border-color:var(--ds-primary);box-shadow:0 0 0 4px rgba(37,99,235,.12)}
button,.btn,.button,a.btn,.s365-btn,.s36-btn,.s35-btn,.s34-btn,.s33-btn,.s32-btn,.s31-btn,.stage30-btn{
  border:0;
  border-radius:14px;
  min-height:42px;
  padding:11px 16px;
  font-weight:850;
  letter-spacing:-.01em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,opacity .18s ease;
}
button:hover,.btn:hover,.button:hover,a.btn:hover,.s365-btn:hover,.s36-btn:hover,.s35-btn:hover,.s34-btn:hover,.s33-btn:hover,.s32-btn:hover,.s31-btn:hover,.stage30-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 24px rgba(15,23,42,.12);
  opacity:.96;
}
.card,.panel,.box,.widget,.dashboard-card,.smh-card,.s365-card,.s36-card,.s35-card,.s34-card,.s33-card,.s32-card,.s31-card,.stage30-card{
  background:var(--ds-surface)!important;
  border:1px solid var(--ds-border)!important;
  border-radius:var(--ds-radius-lg)!important;
  box-shadow:var(--ds-shadow-soft)!important;
  color:var(--ds-text)!important;
}
.card p,.panel p,.box p,.widget p,.dashboard-card p,.smh-card p,.s365-card p,.s36-card p,.s35-card p,.s34-card p,.s33-card p,.s32-card p,.s31-card p,.stage30-card p{color:var(--ds-muted)!important}
.badge,.status,.label,.pill,.s365-badge,.s36-badge,.s35-badge,.s34-badge,.s33-badge,.s32-badge,.s31-badge,.stage30-badge{
  border-radius:999px!important;
  padding:6px 10px!important;
  font-size:12px!important;
  font-weight:900!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
}
.badge-success,.status-success,.is-active,.active-badge{background:#ecfdf5!important;color:#047857!important}
.badge-warning,.status-warning,.pending-badge{background:#fffbeb!important;color:#b45309!important}
.badge-danger,.status-danger,.error-badge{background:#fef2f2!important;color:#b91c1c!important}
.badge-info,.status-info,.info-badge{background:#eff6ff!important;color:#2563eb!important}

/* Readability guard for dark/glass UI */
[class*="hero"],[class*="panel"],[class*="console"],[class*="brain"],[class*="map"],[class*="orb"],[class*="shield"]{
  overflow-wrap:anywhere;
}
[class*="hero"] h1,[class*="hero"] h2,[class*="hero"] h3,[class*="hero"] strong,
[class*="panel"] strong,[class*="console"] strong,[class*="brain"] strong,[class*="map"] strong{
  color:#fff!important;
}
[class*="hero"] p,[class*="panel"] p,[class*="console"] p,[class*="brain"] p,[class*="map"] p{
  color:#dbeafe!important;
}
.transparent,.glass,.glass-card{
  backdrop-filter:blur(16px);
  background:rgba(255,255,255,.88)!important;
  color:var(--ds-text)!important;
  border:1px solid rgba(226,232,240,.9)!important;
}

/* Unified page shell */
.ds-page-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin:0 0 18px}
.ds-page-title h1{font-size:clamp(28px,4vw,46px);margin:0;color:var(--ds-text);letter-spacing:-.04em}
.ds-page-title p{margin:8px 0 0;color:var(--ds-muted);line-height:1.65;max-width:780px}
.ds-shell{background:#fff;border:1px solid var(--ds-border);border-radius:28px;box-shadow:var(--ds-shadow);padding:22px;margin:18px 0}
.ds-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.ds-card{background:#fff;border:1px solid var(--ds-border);border-radius:24px;padding:20px;box-shadow:var(--ds-shadow-soft)}
.ds-card h3{margin:10px 0 8px;color:var(--ds-text);letter-spacing:-.02em}
.ds-card p{margin:0;color:var(--ds-muted);line-height:1.62;font-size:14px}
.ds-icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:#eff6ff;color:var(--ds-primary);font-size:22px}
.ds-empty{border:1px dashed #cbd5e1;border-radius:24px;background:linear-gradient(180deg,#fff,#f8fafc);padding:26px;text-align:center}
.ds-empty strong{display:block;font-size:18px;color:var(--ds-text);margin-bottom:6px}
.ds-empty p{color:var(--ds-muted);margin:0 0 14px}
.ds-tooltip{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;background:#eff6ff;color:var(--ds-primary);font-weight:900;font-size:12px;cursor:help;position:relative}
.ds-tooltip:hover:after{content:attr(data-tip);position:absolute;z-index:20;bottom:120%;left:50%;transform:translateX(-50%);width:240px;background:#061126;color:#fff;padding:10px 12px;border-radius:12px;font-size:12px;line-height:1.45;box-shadow:var(--ds-shadow)}
.ds-stepper{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ds-step{background:#fff;border:1px solid var(--ds-border);border-radius:20px;padding:16px;box-shadow:var(--ds-shadow-soft)}
.ds-step b{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:12px;background:#eff6ff;color:var(--ds-primary);margin-bottom:10px}
.ds-step strong{display:block;color:var(--ds-text);margin-bottom:4px}
.ds-step span{color:var(--ds-muted);font-size:13px;line-height:1.45}

/* Tables mobile polish */
.table-wrap,.ds-table-wrap{overflow-x:auto;border-radius:20px}
table.s365-table,table.s36-table,table.s35-table,table.s34-table,table.s33-table,table.s32-table,table.s31-table,table.stage30-table{min-width:720px}

/* Reduce menu visual overload */
.s365-nav-groups{max-width:100%}
.s365-nav-links a{line-height:1.25}
.s365-nav-group summary{letter-spacing:-.01em}

/* Loading skeleton */
.ds-skeleton{position:relative;overflow:hidden;background:#e2e8f0;border-radius:12px;min-height:16px}
.ds-skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);animation:dsShimmer 1.4s infinite}
@keyframes dsShimmer{100%{transform:translateX(100%)}}

@media(max-width:1100px){.ds-grid{grid-template-columns:repeat(2,1fr)}.ds-stepper{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){
  .ds-grid,.ds-stepper{grid-template-columns:1fr}
  .ds-page-title{display:block}
  .ds-shell{padding:16px;border-radius:22px}
  .ds-card{border-radius:20px}
  button,.btn,.button,a.btn{width:auto;max-width:100%}
}
