/* b10 shared design system foundation */
:root{
  --b10-bg:#FFFFFF;
  --b10-sidebar:#F9F9F9;
  --b10-surface:#FFFFFF;
  --b10-surface-muted:#F9F9F9;
  --b10-border:#E7E7E7;
  --b10-border-soft:#F1F2F4;
  --b10-text:#111111;
  --b10-text-secondary:#5F6368;
  --b10-text-tertiary:#8B9097;
  --b10-accent:#FF6F00;
  --b10-accent-hover:#E56200;
  --b10-accent-soft:#FFF3E8;
  --b10-success:#2E7D32;
  --b10-warning:#D97706;
  --b10-danger:#B71C1C;
  --b10-info:#1565C0;
  --b10-radius:8px;
  --b10-radius-sm:6px;
  --b10-space-1:4px;
  --b10-space-2:8px;
  --b10-space-3:12px;
  --b10-space-4:16px;
  --b10-space-5:24px;
  --b10-space-6:32px;
  --b10-shadow-subtle:0 1px 2px rgba(17,17,17,0.04);

  /* Compatibility aliases for older inline/page styles. */
  --brand:var(--b10-accent);
  --brand-dark:var(--b10-accent-hover);
  --brand-light:var(--b10-accent-soft);
  --text-primary:var(--b10-text);
  --text-secondary:var(--b10-text-secondary);
  --text-muted:var(--b10-text-tertiary);
  --border:var(--b10-border);
  --border-light:var(--b10-border-soft);
  --bg:var(--b10-bg);
  --bg-card:var(--b10-surface);
  --radius:var(--b10-radius);
  --radius-sm:var(--b10-radius-sm);
  --shadow-sm:var(--b10-shadow-subtle);
  --shadow-md:var(--b10-shadow-subtle);
  --shadow-lg:0 8px 24px rgba(17,17,17,0.08);
}

html{
  background:var(--b10-bg);
  color:var(--b10-text);
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

body{
  background:var(--b10-bg) !important;
  color:var(--b10-text) !important;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}

button,
input,
select,
textarea{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
}

button{
  letter-spacing:0;
}

a{
  color:var(--b10-accent);
}

table{
  width:100%;
  border-collapse:collapse;
  background:var(--b10-surface);
}

th{
  background:var(--b10-surface-muted) !important;
  color:var(--b10-text-secondary) !important;
  border-bottom:1px solid var(--b10-border) !important;
  font-weight:600;
}

td{
  color:var(--b10-text-secondary);
  border-bottom:1px solid var(--b10-border-soft) !important;
}

tr:hover td{
  background:var(--b10-surface-muted);
}

input,
select,
textarea,
.fi,
.fi-light,
.si,
.search-bar,
.filter-sel{
  background:var(--b10-surface) !important;
  border:1px solid var(--b10-border) !important;
  border-radius:var(--b10-radius) !important;
  color:var(--b10-text) !important;
  outline:none;
}

input:focus,
select:focus,
textarea:focus,
.fi:focus,
.fi-light:focus,
.si:focus,
.search-bar:focus,
.filter-sel:focus{
  border-color:var(--b10-accent) !important;
  box-shadow:0 0 0 3px rgba(255,111,0,0.12) !important;
}

::placeholder{
  color:var(--b10-text-tertiary) !important;
  opacity:1;
}

.b10-panel,
.panel,
.card,
.table-card,
.stat-card,
.bench-card,
.ctm-wrap,
.insight-card,
.metric-card,
.split-card,
.login-card{
  background:var(--b10-surface);
  border:1px solid var(--b10-border);
  border-radius:var(--b10-radius);
  box-shadow:none;
}

.b10-table,
.table-wrap,
.v142-table-wrap{
  background:var(--b10-surface);
  border:1px solid var(--b10-border);
  border-radius:var(--b10-radius);
  overflow:auto;
  max-width:100%;
  overscroll-behavior:contain;
}

.b10-btn,
.btn-g,
.btn-sm,
.btn-ghost{
  background:var(--b10-surface) !important;
  border:1px solid var(--b10-border) !important;
  border-radius:var(--b10-radius-sm) !important;
  color:var(--b10-text-secondary) !important;
  font-weight:500 !important;
  box-shadow:none !important;
}

.b10-btn:hover,
.btn-g:hover,
.btn-sm:hover,
.btn-ghost:hover{
  border-color:var(--b10-accent) !important;
  color:var(--b10-accent) !important;
  background:var(--b10-surface) !important;
}

.b10-btn-primary,
.btn-primary,
.btn-o{
  background:var(--b10-accent) !important;
  border:1px solid var(--b10-accent) !important;
  border-radius:var(--b10-radius-sm) !important;
  color:#FFFFFF !important;
  font-weight:600 !important;
  box-shadow:none !important;
}

.b10-btn-primary:hover,
.btn-primary:hover,
.btn-o:hover{
  background:var(--b10-accent-hover) !important;
  border-color:var(--b10-accent-hover) !important;
}

.btn-p{
  background:var(--b10-text) !important;
  border:1px solid var(--b10-text) !important;
  border-radius:var(--b10-radius-sm) !important;
  color:#FFFFFF !important;
  font-weight:600 !important;
  box-shadow:none !important;
}

.btn-p:disabled,
.btn-o:disabled,
.btn-primary:disabled,
.btn-login:disabled{
  opacity:.45 !important;
  cursor:not-allowed !important;
}

.b10-sidebar,
.sidebar{
  background:var(--b10-sidebar) !important;
  border-right:1px solid var(--b10-border);
  color:var(--b10-text) !important;
  box-shadow:none !important;
}

.sb-logo,
.logo-area,
.sidebar-footer,
.sb-footer{
  border-color:var(--b10-border) !important;
}

.sb-logo-sub,
.logo-sub,
.sb-user-role,
.sb-role,
.nav-section,
.topbar-sub,
.card-sub,
.table-title-sub,
.stat-sub,
.empty-sub,
.b10-muted,
.v142-muted{
  color:var(--b10-text-secondary) !important;
}

.sb-user-name,
.sb-name,
.topbar-title,
.card-title,
.table-title,
.empty-text{
  color:var(--b10-text) !important;
}

.nav-item{
  color:var(--b10-text-secondary) !important;
}

.nav-item:hover,
.nav-item.active{
  background:var(--b10-accent-soft) !important;
  color:var(--b10-accent) !important;
}

.nav-dot{
  background:currentColor !important;
}

.b10-topbar,
.topbar{
  background:var(--b10-surface) !important;
  border-bottom:1px solid var(--b10-border) !important;
  box-shadow:none !important;
}

.content,
.main,
.app,
.page{
  background:var(--b10-bg);
}

.b10-page-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:var(--b10-space-4);
  margin-bottom:var(--b10-space-5);
}

.b10-page-title{
  color:var(--b10-text);
  font-size:20px;
  font-weight:600;
  line-height:1.2;
  letter-spacing:0;
}

.b10-page-subtitle{
  color:var(--b10-text-secondary);
  font-size:13px;
  line-height:1.5;
  margin-top:var(--b10-space-1);
}

.b10-tabs,
.v142-inline-tabs,
.ctm-tabs{
  display:flex;
  gap:var(--b10-space-1);
  background:var(--b10-surface-muted) !important;
  border:1px solid var(--b10-border);
  border-radius:var(--b10-radius);
  padding:var(--b10-space-1);
}

.b10-tabs button,
.v142-inline-tabs button,
.ctm-tab{
  background:transparent !important;
  border:0 !important;
  border-radius:var(--b10-radius-sm) !important;
  color:var(--b10-text-secondary) !important;
  font-weight:500 !important;
}

.b10-tabs button.active,
.v142-inline-tabs button.active,
.ctm-tab.active{
  background:var(--b10-surface) !important;
  color:var(--b10-text) !important;
  box-shadow:none !important;
}

.b10-badge,
.badge,
.band-pill,
.type-pill{
  border-radius:999px;
  font-weight:600;
}

.badge-orange,
.rtype-audit{
  background:var(--b10-accent-soft) !important;
  color:#B54D00 !important;
  border:1px solid rgba(255,111,0,0.2) !important;
}

.badge-gray,
.badge-grey,
.type-pill{
  background:var(--b10-surface-muted) !important;
  color:var(--b10-text-secondary) !important;
  border:1px solid var(--b10-border) !important;
}

.b10-empty-state,
.empty-state{
  color:var(--b10-text-secondary);
  text-align:center;
  padding:var(--b10-space-6) var(--b10-space-5);
}

.lbl,
.b10-label{
  color:var(--b10-text-secondary) !important;
  font-weight:600;
  letter-spacing:.04em;
}

.spinner,
.spin{
  border-color:var(--b10-border) !important;
  border-top-color:var(--b10-accent) !important;
}
