/* === CognOS global tokens & base === */
:root {
  --bg: #0b0c10; --surface: #12141a; --surface-2: #171a22;
  --text: #e8eef6; --muted: #a7b1c2;
  --accent: #6ee7ff; --accent-2: #7c6fff;
  --ring: rgba(110,231,255,.3);
  --shadow: 0 10px 30px rgba(0,0,0,.35);
  --radius: 16px;

  /* nudge Bootstrap defaults to our theme */
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--text);
  --bs-link-color: inherit;
}

@media (prefers-color-scheme: light){
  :root{
    --bg:#f8fafc; --surface:#fff; --surface-2:#f1f5f9;
    --text:#0f172a; --muted:#475569;
    --accent:#0ea5e9; --accent-2:#7c3aed;
    --ring: rgba(14,165,233,.25);
    --shadow: 0 8px 24px rgba(2,6,23,.08);
  }
}

html,body {
  height: 100%;
  background: var(--bg);
  color: var(--text);
}

a { color: inherit; }

/* === CognOS global tokens & base === */
:root {
    --bg: #0b0c10;
    --surface: #12141a;
    --surface-2: #171a22;
    --text: #e8eef6;
    --muted: #a7b1c2;
    --accent: #6ee7ff;
    --accent-2: #7c6fff;
    --ring: rgba(110,231,255,.3);
    --shadow: 0 10px 30px rgba(0,0,0,.35);
    --radius: 16px;
    /* nudge Bootstrap defaults to our theme */
    --bs-body-bg: var(--bg);
    --bs-body-color: var(--text);
    --bs-link-color: inherit;
}

@media (prefers-color-scheme: light) {
    :root {
        --bg: #f8fafc;
        --surface: #fff;
        --surface-2: #f1f5f9;
        --text: #0f172a;
        --muted: #475569;
        --accent: #0ea5e9;
        --accent-2: #7c3aed;
        --ring: rgba(14,165,233,.25);
        --shadow: 0 8px 24px rgba(2,6,23,.08);
    }
}

html, body {
    height: 100%;
    background: var(--bg);
    color: var(--text);
}

a {
    color: inherit;
}

:focus {
    outline: 2px solid var(--accent);
    outline-offset: 2px;
}

h1:focus, h1:focus-visible {
    outline: none;
}




/* Use logical props so this auto-flips */
.page {
    margin-inline: auto;
}

.text-start {
    text-align: start;
}

.text-end {
    text-align: end;
}

.actions {
    margin-inline-start: auto;
}

/* Only the few things that need explicit RTL overrides */
[dir="rtl"] .ico-chevron {
    transform: scaleX(-1);
}
/* flip arrow icons */
[dir="rtl"] .breadcrumbs {
    direction: rtl;
}
/* or: flex-direction: row-reverse */
[dir="rtl"] .pager {
    flex-direction: row-reverse;
}

[dir="rtl"] .ms-auto {
    margin-inline-start: 0;
    margin-inline-end: auto;
}
/* example util */



/* Let hero text follow the reading direction */
.hero-card,
.hero-card :is(h1,h2,h3,h4,h5,h6,p,small,span) {
    text-align: start; /* flips to right in RTL, left in LTR */
}

/* If a previous rule forces left, bump specificity once */
.page .hero-card .title,
.page .hero-card .subtitle,
.page .hero-card .body {
    text-align: start !important;
}

/* Make any legacy utilities logical */
.text-left {
    text-align: start;
}

.text-right {
    text-align: end;
}


/* text inside the cards follows reading direction */
.is-grid .is-card :is(h1,h2,h3,h4,h5,h6,p,small,span) {
    text-align: start; /* left in LTR, right in RTL */
}

/* if something earlier forces left, bump specificity once */
.page .is-grid .is-card h3,
.page .is-grid .is-card p {
    text-align: start !important;
}


.brand {
    unicode-bidi: isolate;
    direction: ltr;
}
/* safe in both LTR/RTL */
