/* EduBil360 Design System 1A — canonical tokens and role profiles. */
.eb-app {
  color-scheme: dark;
  --eb-bg-app: #050816;
  --eb-bg-sidebar: #080d20;
  --eb-bg-surface: #0e1730;
  --eb-bg-elevated: #141f3d;
  --eb-bg-muted: #0a1228;
  --eb-text-primary: #f4f7ff;
  --eb-text-secondary: #aab5ce;
  --eb-text-tertiary: #7f8aa5;
  --eb-text-inverse: #07101f;
  --eb-border-subtle: rgba(171, 186, 226, .16);
  --eb-border-strong: rgba(171, 186, 226, .34);
  --eb-accent-primary: #3f67d7;
  --eb-accent-secondary: #3f67d7;
  --eb-accent-soft: rgba(63, 103, 215, .14);
  --eb-focus-ring: #62d7f4;
  --eb-status-success: #4fd69c;
  --eb-status-success-bg: rgba(79, 214, 156, .12);
  --eb-status-info: #63b3ff;
  --eb-status-info-bg: rgba(99, 179, 255, .12);
  --eb-status-warning: #f0bd62;
  --eb-status-warning-bg: rgba(240, 189, 98, .13);
  --eb-status-danger: #ff7f91;
  --eb-status-danger-bg: rgba(255, 127, 145, .13);
  --eb-status-ai: #b995ff;
  --eb-status-ai-bg: rgba(185, 149, 255, .13);
  --eb-status-draft: #a8b2ca;
  --eb-status-disabled: #68738c;
  --eb-chart-primary: var(--eb-role-accent);
  --eb-chart-secondary: #63b3ff;
  --eb-chart-supporting: #7f8aa5;
  --eb-chart-grid: rgba(171, 186, 226, .16);
  --eb-chart-positive: var(--eb-status-success);
  --eb-chart-warning: var(--eb-status-warning);
  --eb-chart-critical: var(--eb-status-danger);
  --eb-chart-canvas: rgba(124, 108, 242, .18);
  --eb-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --eb-font-mono: "Cascadia Code", "SFMono-Regular", Consolas, monospace;
  --eb-font-size-xs: .75rem;
  --eb-font-size-sm: .875rem;
  --eb-font-size-md: 1rem;
  --eb-font-size-lg: 1.125rem;
  --eb-font-size-xl: clamp(1.35rem, 2vw, 1.65rem);
  --eb-font-size-page: clamp(1.85rem, 4vw, 2.75rem);
  --eb-line-tight: 1.18;
  --eb-line-normal: 1.55;
  --eb-space-1: .25rem;
  --eb-space-2: .5rem;
  --eb-space-3: .75rem;
  --eb-space-4: 1rem;
  --eb-space-5: 1.25rem;
  --eb-space-6: 1.5rem;
  --eb-space-8: 2rem;
  --eb-space-10: 2.5rem;
  --eb-space-12: 3rem;
  --eb-radius-sm: .5rem;
  --eb-radius-md: .75rem;
  --eb-radius-lg: 1rem;
  --eb-radius-xl: 1.35rem;
  --eb-border-width: 1px;
  --eb-shadow-1: 0 10px 28px rgba(0, 0, 0, .18);
  --eb-shadow-2: 0 22px 56px rgba(0, 0, 0, .28);
  --eb-z-base: 1;
  --eb-z-sticky: 20;
  --eb-z-drawer: 50;
  --eb-z-popover: 70;
  --eb-z-modal: 90;
  --eb-motion-fast: 120ms;
  --eb-motion-normal: 200ms;
  --eb-motion-slow: 320ms;
  --eb-ease-standard: cubic-bezier(.2, .8, .2, 1);
  --eb-breakpoint-mobile: 390px;
  --eb-breakpoint-tablet: 768px;
  --eb-breakpoint-laptop: 1366px;
  --eb-breakpoint-desktop: 1440px;
  --eb-control-height: 44px;
  --eb-row-height: 48px;
  --eb-card-padding: var(--eb-space-6);
  --eb-layout-gap: var(--eb-space-6);
  --eb-content-max: 1540px;
  --eb-sidebar-width: 272px;
  --eb-sidebar-collapsed-width: 84px;
  --eb-role-accent: var(--eb-accent-primary);
  --eb-role-accent-soft: var(--eb-accent-soft);
  font-family: var(--eb-font-sans);
  line-height: var(--eb-line-normal);
  color: var(--eb-text-primary);
  background: var(--eb-bg-app);
}

.eb-app[data-eb-theme="light"] {
  color-scheme: light;
  --eb-bg-app: #f3f6fb;
  --eb-bg-sidebar: #ffffff;
  --eb-bg-surface: #ffffff;
  --eb-bg-elevated: #f8faff;
  --eb-bg-muted: #edf2f8;
  --eb-text-primary: #15213a;
  --eb-text-secondary: #536079;
  --eb-text-tertiary: #748099;
  --eb-text-inverse: #ffffff;
  --eb-border-subtle: rgba(35, 55, 91, .13);
  --eb-border-strong: rgba(35, 55, 91, .28);
  --eb-accent-soft: rgba(63, 103, 215, .1);
  --eb-chart-grid: rgba(35, 55, 91, .13);
  --eb-chart-canvas: rgba(92, 80, 215, .12);
  --eb-shadow-1: 0 10px 28px rgba(35, 55, 91, .08);
  --eb-shadow-2: 0 22px 56px rgba(35, 55, 91, .13);
}

@media (prefers-color-scheme: light) {
  .eb-app[data-eb-theme="system"] {
    color-scheme: light;
    --eb-bg-app: #f3f6fb;
    --eb-bg-sidebar: #ffffff;
    --eb-bg-surface: #ffffff;
    --eb-bg-elevated: #f8faff;
    --eb-bg-muted: #edf2f8;
    --eb-text-primary: #15213a;
    --eb-text-secondary: #536079;
    --eb-text-tertiary: #748099;
    --eb-text-inverse: #ffffff;
    --eb-border-subtle: rgba(35, 55, 91, .13);
    --eb-border-strong: rgba(35, 55, 91, .28);
    --eb-accent-soft: rgba(63, 103, 215, .1);
    --eb-chart-grid: rgba(35, 55, 91, .13);
    --eb-chart-canvas: rgba(92, 80, 215, .12);
    --eb-shadow-1: 0 10px 28px rgba(35, 55, 91, .08);
    --eb-shadow-2: 0 22px 56px rgba(35, 55, 91, .13);
  }
}

.eb-app[data-eb-density="spacious"] { --eb-control-height: 48px; --eb-row-height: 56px; --eb-card-padding: var(--eb-space-8); --eb-layout-gap: var(--eb-space-8); }
.eb-app[data-eb-density="balanced"] { --eb-control-height: 44px; --eb-row-height: 48px; --eb-card-padding: var(--eb-space-6); --eb-layout-gap: var(--eb-space-6); }
.eb-app[data-eb-density="compact"] { --eb-control-height: 38px; --eb-row-height: 42px; --eb-card-padding: var(--eb-space-4); --eb-layout-gap: var(--eb-space-4); }

.eb-app[data-eb-effect="minimal"] { --eb-shadow-1: none; --eb-shadow-2: none; }
.eb-app[data-eb-effect="modern"] { --eb-surface-filter: saturate(110%); }
.eb-app[data-eb-effect="cinematic"] { --eb-surface-filter: saturate(115%) blur(10px); --eb-shadow-1: 0 14px 38px rgba(0,0,0,.24); }

.eb-app[data-eb-role="platform"],
.eb-app[data-eb-role="founder"],
.eb-app[data-eb-role="admin"],
.eb-app[data-eb-role="institution"],
.eb-app[data-eb-role="teacher"],
.eb-app[data-eb-role="coach"],
.eb-app[data-eb-role="student"],
.eb-app[data-eb-role="parent"],
.eb-app[data-eb-role="staff"] {
  --eb-role-accent: var(--eb-accent-primary);
  --eb-role-accent-soft: var(--eb-accent-soft);
}
