/* =========================================================
   Cohidro Pro UI Layer · inspirado em interfaces SaaS premium
   Aplicação: SSO raiz, gestão de usuários e telas de autenticação.
   Não altera regras de negócio: apenas apresentação e microinterações.
   ========================================================= */
:root{
  --cx-blue:#2f6cf6;
  --cx-blue-2:#3f57e6;
  --cx-cyan:#06d4e5;
  --cx-green:#00b894;
  --cx-ink:#0f172a;
  --cx-text:#162033;
  --cx-muted:#64748b;
  --cx-border:rgba(15,23,42,.10);
  --cx-border-strong:rgba(15,23,42,.16);
  --cx-surface:rgba(255,255,255,.86);
  --cx-surface-solid:#ffffff;
  --cx-soft:#f7fbff;
  --cx-radius-xl:30px;
  --cx-radius-lg:22px;
  --cx-radius-md:16px;
  --cx-shadow:0 22px 70px rgba(15,23,42,.18);
  --cx-shadow-soft:0 14px 38px rgba(15,23,42,.10);
  --cx-gradient:linear-gradient(135deg,var(--cx-blue-2),var(--cx-blue) 40%,var(--cx-cyan) 73%,var(--cx-green));
  --cx-gradient-soft:linear-gradient(135deg,rgba(47,108,246,.13),rgba(6,212,229,.12),rgba(0,184,148,.11));
}

html{scroll-behavior:smooth;}
body{
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.coh-auth,
body:has(.coh-wrap),
body:has(.wrap){
  background:
    radial-gradient(circle at 10% 10%,rgba(255,255,255,.28),transparent 26rem),
    radial-gradient(circle at 90% 12%,rgba(0,255,225,.28),transparent 30rem),
    radial-gradient(circle at 52% 100%,rgba(47,108,246,.28),transparent 38rem),
    linear-gradient(135deg,#3147d7 0%,#2f6cf6 42%,#06d4e5 100%) !important;
}
body.coh-auth::before,
body:has(.coh-wrap)::before,
body:has(.wrap)::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);
  background-size:44px 44px;
  mask-image:linear-gradient(to bottom,rgba(0,0,0,.65),transparent 78%);
}
body.coh-ready .glass,
body.coh-ready .coh-header-card,
body.coh-ready .coh-system-card,
body.coh-ready .card{
  animation:cxRise .46s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes cxRise{from{opacity:0;transform:translateY(12px) scale(.985);}to{opacity:1;transform:translateY(0) scale(1);}}

.coh-wrap,.wrap{position:relative;z-index:1;}
.glass,.coh-header-card{
  position:relative;
  border:1px solid rgba(255,255,255,.52) !important;
  border-radius:var(--cx-radius-xl) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(255,255,255,.82)) !important;
  backdrop-filter:blur(22px) saturate(1.12) !important;
  box-shadow:var(--cx-shadow) !important;
  overflow:hidden;
}
.glass::before,.coh-header-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.95),transparent);
  pointer-events:none;
}
.topbar,.coh-top{
  position:relative;
  isolation:isolate;
  background:var(--cx-gradient) !important;
  border-bottom:1px solid rgba(255,255,255,.20) !important;
}
.topbar::after,.coh-top::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    radial-gradient(circle at 10% 0%,rgba(255,255,255,.26),transparent 16rem),
    radial-gradient(circle at 90% 0%,rgba(255,255,255,.14),transparent 18rem);
}
.topbar .h5,.coh-top .h5,.titles .h5{
  letter-spacing:-.02em;
  font-weight:820 !important;
}

.coh-system-card,
.card:not(.glass):not(.coh-header-card){
  border:1px solid rgba(255,255,255,.55) !important;
  border-radius:var(--cx-radius-lg) !important;
  background:rgba(255,255,255,.90) !important;
  box-shadow:var(--cx-shadow-soft) !important;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease;
}
.coh-system-card:hover,
.card:not(.glass):not(.coh-header-card):hover{
  transform:translateY(-4px);
  box-shadow:0 24px 58px rgba(15,23,42,.15) !important;
  border-color:rgba(47,108,246,.24) !important;
}
.coh-system-head{
  background:var(--cx-gradient-soft) !important;
}
.coh-ico,
.icon-btn,
.pill i:first-child{
  transition:transform .2s ease;
}
.coh-system-card:hover .coh-ico{transform:scale(1.06) rotate(-2deg);}

.btn,.coh-btn-primary,.btn-soft,.coh-logout,.coh-btn-outline{
  border-radius:14px !important;
  font-weight:760 !important;
  letter-spacing:-.005em;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease, color .18s ease !important;
}
.btn:hover,.coh-btn-primary:hover,.btn-soft:hover,.coh-logout:hover,.coh-btn-outline:hover{transform:translateY(-1px);}
.coh-btn-primary,.btn-primary{
  border-color:transparent !important;
  background:linear-gradient(135deg,var(--cx-blue),#4b67ff) !important;
  box-shadow:0 14px 28px rgba(47,108,246,.22) !important;
  color:#fff !important;
}
.btn-soft,.coh-logout{
  border:1px solid rgba(255,255,255,.55) !important;
  background:rgba(255,255,255,.14) !important;
  color:#fff !important;
  backdrop-filter:blur(10px);
}
.btn-soft:hover,.coh-logout:hover{background:rgba(255,255,255,.23) !important;color:#fff !important;}

.form-control,.form-select{
  border-radius:14px !important;
  border-color:rgba(15,23,42,.13) !important;
  min-height:44px;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.form-control:focus,.form-select:focus{
  border-color:rgba(47,108,246,.55) !important;
  box-shadow:0 0 0 .25rem rgba(47,108,246,.13) !important;
}
.table{
  --bs-table-bg:transparent;
  overflow:hidden;
}
.table thead th{
  background:#f8fbff !important;
  color:#334155 !important;
  font-size:.75rem;
  text-transform:uppercase;
  letter-spacing:.055em;
  border-bottom:1px solid rgba(15,23,42,.08) !important;
}
.table tbody tr{transition:background .16s ease, transform .16s ease;}
.table tbody tr:hover{background:rgba(47,108,246,.045) !important;}
.badge,.pill,.perm-badge{
  border-radius:999px !important;
  font-weight:760 !important;
  letter-spacing:.005em;
}
.alert{
  border-radius:18px !important;
  border:1px solid rgba(15,23,42,.09) !important;
  box-shadow:0 12px 28px rgba(15,23,42,.07);
}
.nav-pills .nav-link{
  border:1px solid rgba(15,23,42,.08) !important;
  background:rgba(255,255,255,.70) !important;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}
.nav-pills .nav-link.active{
  border-color:transparent !important;
  background:linear-gradient(135deg,var(--cx-blue),#4b67ff) !important;
  box-shadow:0 14px 28px rgba(47,108,246,.22) !important;
}

[data-cx-reveal]{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s cubic-bezier(.2,.8,.2,1);}
[data-cx-reveal].is-visible{opacity:1;transform:translateY(0);}
.cx-ripple{position:relative;overflow:hidden;}
.cx-ripple > .cx-wave{
  position:absolute;
  width:12px;height:12px;border-radius:999px;
  background:rgba(255,255,255,.45);
  transform:translate(-50%,-50%) scale(0);
  animation:cxRipple .62s ease-out;
  pointer-events:none;
}
@keyframes cxRipple{to{transform:translate(-50%,-50%) scale(26);opacity:0;}}

@media (max-width: 767.98px){
  .glass,.coh-header-card{border-radius:24px !important;}
  .topbar,.coh-top{gap:.75rem;}
  .topbar .brand,.brand{min-width:0;}
  .btn-soft,.coh-logout{padding:.45rem .65rem !important;}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms !important;transition-duration:.001ms !important;scroll-behavior:auto !important;}
}


/* =========================================================
   DARK MODE PREMIUM · Central SSO / Gestão de Usuários
   ========================================================= */
:root,html[data-bs-theme="light"]{color-scheme:light;}
html[data-bs-theme="dark"]{color-scheme:dark;}
.coh-theme-toggle{
  width:40px;height:40px;min-width:40px;display:inline-flex!important;align-items:center!important;justify-content:center!important;
  border-radius:999px!important;border:1px solid rgba(255,255,255,.52)!important;color:#fff!important;
  background:rgba(255,255,255,.14)!important;box-shadow:0 10px 24px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.22)!important;
  transition:transform .18s ease, background .18s ease, box-shadow .18s ease;
}
.coh-theme-toggle:hover,.coh-theme-toggle:focus-visible{transform:translateY(-1px);background:rgba(255,255,255,.24)!important;color:#fff!important;}
.btn-soft-icon{padding:0!important;}
html[data-bs-theme="dark"] .coh-theme-toggle{color:#facc15!important;background:rgba(15,23,42,.34)!important;border-color:rgba(255,255,255,.26)!important;}
html[data-bs-theme="dark"] body,
html[data-bs-theme="dark"] body.coh-auth,
html[data-bs-theme="dark"] body:has(.coh-wrap),
html[data-bs-theme="dark"] body:has(.wrap){
  color:#e6edf7!important;
  background:
    radial-gradient(circle at 10% 10%,rgba(59,130,246,.20),transparent 26rem),
    radial-gradient(circle at 90% 12%,rgba(45,212,191,.16),transparent 30rem),
    radial-gradient(circle at 52% 100%,rgba(99,102,241,.16),transparent 38rem),
    linear-gradient(135deg,#040b16 0%,#08111f 50%,#071827 100%)!important;
}
html[data-bs-theme="dark"] .coh-bg-orb{opacity:.22;filter:blur(48px);}
html[data-bs-theme="dark"] .glass,
html[data-bs-theme="dark"] .coh-header-card,
html[data-bs-theme="dark"] .coh-system-card,
html[data-bs-theme="dark"] .card:not(.coh-system-card){
  background:linear-gradient(180deg,rgba(15,23,42,.92),rgba(13,24,41,.86))!important;
  border-color:rgba(148,163,184,.22)!important;
  color:#e6edf7!important;
  box-shadow:0 24px 78px rgba(0,0,0,.45)!important;
}
html[data-bs-theme="dark"] .coh-top,
html[data-bs-theme="dark"] .topbar{
  background:linear-gradient(90deg,rgba(30,41,59,.98),rgba(37,99,235,.92) 46%,rgba(15,118,110,.94) 100%)!important;
  border-bottom-color:rgba(148,163,184,.18)!important;
}
html[data-bs-theme="dark"] .coh-body,
html[data-bs-theme="dark"] .p-3{color:#e6edf7!important;}
html[data-bs-theme="dark"] .coh-systems-title,
html[data-bs-theme="dark"] .coh-system-name,
html[data-bs-theme="dark"] .section-title,
html[data-bs-theme="dark"] .titles .h5{color:#f8fbff!important;}
html[data-bs-theme="dark"] .coh-system-desc,
html[data-bs-theme="dark"] .hint,
html[data-bs-theme="dark"] .text-muted,
html[data-bs-theme="dark"] .text-secondary{color:#9aa8bd!important;}
html[data-bs-theme="dark"] .coh-system-head{background:linear-gradient(90deg,rgba(59,130,246,.16),rgba(45,212,191,.12))!important;border-color:rgba(148,163,184,.18)!important;}
html[data-bs-theme="dark"] .coh-ico{background:rgba(59,130,246,.18)!important;color:#93c5fd!important;}
html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select,
html[data-bs-theme="dark"] .input-group-text{
  background-color:rgba(15,23,42,.92)!important;border-color:rgba(148,163,184,.24)!important;color:#e6edf7!important;
}
html[data-bs-theme="dark"] .form-control::placeholder{color:#7f8ea3!important;}
html[data-bs-theme="dark"] .table{--bs-table-bg:transparent;--bs-table-color:#e6edf7;--bs-table-border-color:rgba(148,163,184,.16);--bs-table-hover-bg:rgba(59,130,246,.10);color:#e6edf7!important;}
html[data-bs-theme="dark"] .table thead th{background:rgba(15,23,42,.96)!important;color:#cbd5e1!important;border-color:rgba(148,163,184,.18)!important;}
html[data-bs-theme="dark"] .nav-pills .nav-link{background:rgba(15,23,42,.60)!important;color:#b9c5d6!important;}
html[data-bs-theme="dark"] .nav-pills .nav-link.active{background:linear-gradient(135deg,#2563eb,#0f766e)!important;color:#fff!important;}
html[data-bs-theme="dark"] .pill,
html[data-bs-theme="dark"] .audit-pre{background:rgba(15,23,42,.78)!important;border-color:rgba(148,163,184,.20)!important;color:#e6edf7!important;}
html[data-bs-theme="dark"] .badge.text-bg-light{background:rgba(148,163,184,.18)!important;color:#dbeafe!important;border-color:rgba(148,163,184,.24)!important;}
html[data-bs-theme="dark"] .border,
html[data-bs-theme="dark"] .border-top,
html[data-bs-theme="dark"] .border-bottom{border-color:rgba(148,163,184,.18)!important;}
html[data-bs-theme="dark"] .alert:not(.alert-danger):not(.alert-warning):not(.alert-success):not(.alert-info){background:rgba(15,23,42,.82)!important;border-color:rgba(148,163,184,.20)!important;color:#e6edf7!important;}
html[data-bs-theme="dark"] .btn-outline-primary{border-color:rgba(96,165,250,.45)!important;color:#bfdbfe!important;}
html[data-bs-theme="dark"] .btn-outline-primary:hover{background:#2563eb!important;color:#fff!important;}
html[data-bs-theme="dark"] ::selection{background:rgba(59,130,246,.45);color:#fff;}

/* =========================================================
   DARK MODE REFINADO v2 · Central SSO e Gestão de Usuários
   ========================================================= */
html[data-bs-theme="dark"]{
  --coh-dark-bg:#06101d;
  --coh-dark-surface:#0d1829;
  --coh-dark-surface-2:#101d30;
  --coh-dark-elevated:#13223a;
  --coh-dark-text:#e6edf7;
  --coh-dark-heading:#f8fbff;
  --coh-dark-muted:#9aa8bd;
  --coh-dark-border:rgba(148,163,184,.22);
  --bs-body-bg:#06101d;
  --bs-body-color:#e6edf7;
  --bs-heading-color:#f8fbff;
  --bs-border-color:rgba(148,163,184,.22);
}
html[data-bs-theme="dark"] body,
html[data-bs-theme="dark"] body.coh-auth,
html[data-bs-theme="dark"] body:has(.coh-wrap),
html[data-bs-theme="dark"] body:has(.wrap){
  color:var(--coh-dark-text)!important;
  background:
    radial-gradient(circle at 8% 8%,rgba(59,130,246,.20),transparent 30rem),
    radial-gradient(circle at 92% 8%,rgba(45,212,191,.16),transparent 31rem),
    radial-gradient(circle at 50% 100%,rgba(99,102,241,.12),transparent 36rem),
    linear-gradient(135deg,#040b16 0%,#08111f 52%,#071827 100%)!important;
}
html[data-bs-theme="dark"] .coh-header-card,
html[data-bs-theme="dark"] .glass,
html[data-bs-theme="dark"] .card.glass,
html[data-bs-theme="dark"] .card:not(.coh-system-card){
  background:linear-gradient(180deg,rgba(15,23,42,.96),rgba(13,24,41,.92))!important;
  border:1px solid var(--coh-dark-border)!important;
  color:var(--coh-dark-text)!important;
  box-shadow:0 24px 78px rgba(0,0,0,.46)!important;
}
html[data-bs-theme="dark"] .coh-body,
html[data-bs-theme="dark"] .p-3{background:transparent!important;color:var(--coh-dark-text)!important;}
html[data-bs-theme="dark"] .coh-top,
html[data-bs-theme="dark"] .topbar{
  background:linear-gradient(90deg,rgba(30,41,59,.98),rgba(37,99,235,.92) 48%,rgba(15,118,110,.94) 100%)!important;
  border-bottom:1px solid rgba(148,163,184,.18)!important;
}
html[data-bs-theme="dark"] .coh-system-card{
  background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(12,24,40,.94))!important;
  border:1px solid rgba(148,163,184,.24)!important;
  color:var(--coh-dark-text)!important;
  box-shadow:0 18px 58px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
html[data-bs-theme="dark"] .coh-system-card:hover{
  transform:translateY(-3px);
  border-color:rgba(96,165,250,.40)!important;
  box-shadow:0 24px 72px rgba(0,0,0,.50),0 0 0 1px rgba(96,165,250,.12)!important;
}
html[data-bs-theme="dark"] .coh-system-head{
  background:linear-gradient(90deg,rgba(37,99,235,.22),rgba(20,184,166,.16))!important;
  border-bottom:1px solid rgba(148,163,184,.18)!important;
}
html[data-bs-theme="dark"] .coh-system-body{background:rgba(8,17,31,.34)!important;}
html[data-bs-theme="dark"] .coh-ico{
  background:linear-gradient(135deg,rgba(37,99,235,.30),rgba(20,184,166,.22))!important;
  color:#bfdbfe!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 10px 24px rgba(0,0,0,.22)!important;
}
html[data-bs-theme="dark"] .coh-systems-title,
html[data-bs-theme="dark"] .coh-system-name,
html[data-bs-theme="dark"] .section-title,
html[data-bs-theme="dark"] .titles .h5,
html[data-bs-theme="dark"] h1,
html[data-bs-theme="dark"] h2,
html[data-bs-theme="dark"] h3,
html[data-bs-theme="dark"] h4,
html[data-bs-theme="dark"] h5,
html[data-bs-theme="dark"] h6{color:var(--coh-dark-heading)!important;}
html[data-bs-theme="dark"] .coh-system-desc,
html[data-bs-theme="dark"] .hint,
html[data-bs-theme="dark"] .text-muted,
html[data-bs-theme="dark"] .text-secondary,
html[data-bs-theme="dark"] #pwa-install-area div{color:var(--coh-dark-muted)!important;}
html[data-bs-theme="dark"] #pwa-install-area hr{border-color:rgba(148,163,184,.26)!important;opacity:1!important;}
html[data-bs-theme="dark"] .coh-btn,
html[data-bs-theme="dark"] .btn-primary{
  background:linear-gradient(135deg,#2563eb,#4f46e5)!important;
  border-color:transparent!important;
  color:#fff!important;
  box-shadow:0 14px 30px rgba(37,99,235,.26)!important;
}
html[data-bs-theme="dark"] .coh-logout,
html[data-bs-theme="dark"] .btn-soft,
html[data-bs-theme="dark"] .btn-outline-primary,
html[data-bs-theme="dark"] .btn-outline-secondary,
html[data-bs-theme="dark"] .btn-outline-light{
  background:rgba(15,23,42,.48)!important;
  border-color:rgba(226,232,240,.28)!important;
  color:#dbeafe!important;
}
html[data-bs-theme="dark"] .coh-logout:hover,
html[data-bs-theme="dark"] .btn-soft:hover,
html[data-bs-theme="dark"] .btn-outline-primary:hover,
html[data-bs-theme="dark"] .btn-outline-secondary:hover,
html[data-bs-theme="dark"] .btn-outline-light:hover{background:rgba(59,130,246,.18)!important;color:#fff!important;}
html[data-bs-theme="dark"] .table{
  --bs-table-bg:transparent!important;
  --bs-table-color:var(--coh-dark-text)!important;
  --bs-table-border-color:rgba(148,163,184,.16)!important;
  --bs-table-striped-bg:rgba(148,163,184,.045)!important;
  --bs-table-hover-bg:rgba(59,130,246,.15)!important;
  color:var(--coh-dark-text)!important;
}
html[data-bs-theme="dark"] .table > :not(caption) > * > *{background-color:transparent!important;color:inherit!important;border-color:rgba(148,163,184,.14)!important;}
html[data-bs-theme="dark"] .table thead th{background:linear-gradient(180deg,rgba(19,34,58,.98),rgba(15,27,45,.96))!important;color:#dbe7f5!important;border-color:rgba(148,163,184,.18)!important;}
html[data-bs-theme="dark"] .table tbody tr{background-color:rgba(15,23,42,.44)!important;}
html[data-bs-theme="dark"] .table tbody tr:nth-child(even){background-color:rgba(15,23,42,.58)!important;}
html[data-bs-theme="dark"] .table tbody tr:hover{background-color:rgba(59,130,246,.18)!important;color:#fff!important;}
html[data-bs-theme="dark"] .form-control,
html[data-bs-theme="dark"] .form-select,
html[data-bs-theme="dark"] .input-group-text{
  background-color:rgba(15,23,42,.92)!important;
  border-color:rgba(148,163,184,.24)!important;
  color:var(--coh-dark-text)!important;
}
html[data-bs-theme="dark"] .form-control::placeholder{color:#7f8ea3!important;}
html[data-bs-theme="dark"] .modal-content,
html[data-bs-theme="dark"] .dropdown-menu{
  background:linear-gradient(180deg,#101b2d,#0d1727)!important;
  border:1px solid rgba(148,163,184,.22)!important;
  color:var(--coh-dark-text)!important;
  box-shadow:0 24px 70px rgba(0,0,0,.46)!important;
}
html[data-bs-theme="dark"] .dropdown-item{color:var(--coh-dark-text)!important;}
html[data-bs-theme="dark"] .dropdown-item:hover{background:rgba(59,130,246,.16)!important;color:#fff!important;}
html[data-bs-theme="dark"] .badge.text-bg-light,
html[data-bs-theme="dark"] .perm-badge{background:rgba(148,163,184,.16)!important;color:#dbeafe!important;border-color:rgba(148,163,184,.24)!important;}
html[data-bs-theme="dark"] .coh-footer{color:rgba(226,232,240,.75)!important;text-shadow:none!important;}
html[data-bs-theme="dark"] .coh-footer b{color:#f8fbff!important;}
html[data-bs-theme="dark"] ::selection{background:rgba(59,130,246,.45);color:#fff;}


/* =========================================================
   DARK MODE FINAL v3 · Correção dos boxes da Central SSO
   ========================================================= */
html[data-bs-theme="dark"] .coh-header-card{
  background:linear-gradient(180deg,#0d1829 0%,#0b1424 100%)!important;
  border-color:rgba(148,163,184,.24)!important;
}
html[data-bs-theme="dark"] .coh-body{
  background:#0b1424!important;
}
html[data-bs-theme="dark"] .coh-system-card,
html[data-bs-theme="dark"] a.coh-system-card,
html[data-bs-theme="dark"] .coh-systems-grid .card{
  background:#101d30!important;
  background-image:linear-gradient(180deg,#13223a 0%,#0e1a2d 100%)!important;
  border:1px solid rgba(148,163,184,.28)!important;
  color:#e6edf7!important;
  overflow:hidden!important;
}
html[data-bs-theme="dark"] .coh-system-card .coh-system-head,
html[data-bs-theme="dark"] .coh-system-head{
  background:linear-gradient(135deg,rgba(37,99,235,.26),rgba(20,184,166,.18))!important;
  border-bottom:1px solid rgba(148,163,184,.20)!important;
  color:#f8fbff!important;
}
html[data-bs-theme="dark"] .coh-system-card .coh-system-body,
html[data-bs-theme="dark"] .coh-system-body{
  background:#0f1b2e!important;
  color:#dbe7f5!important;
}
html[data-bs-theme="dark"] .coh-system-card .coh-system-desc,
html[data-bs-theme="dark"] .coh-system-desc{
  color:#b6c4d8!important;
}
html[data-bs-theme="dark"] .coh-system-card .coh-system-name,
html[data-bs-theme="dark"] .coh-system-name{
  color:#ffffff!important;
}
html[data-bs-theme="dark"] .coh-system-card .coh-ico,
html[data-bs-theme="dark"] .coh-ico{
  background:linear-gradient(135deg,rgba(96,165,250,.28),rgba(45,212,191,.20))!important;
  color:#bfdbfe!important;
}
html[data-bs-theme="dark"] #pwa-install-area,
html[data-bs-theme="dark"] #pwa-install-area *:not(.btn):not(i){
  color:#aebbd0!important;
}

/* DARK MODE v4 · SSO raiz - cards de sistemas legíveis */
html[data-bs-theme="dark"] .coh-system-card{
  background:linear-gradient(180deg,#101d30 0%,#0d1829 100%)!important;
  border:1px solid rgba(148,163,184,.22)!important;
  color:#e6edf7!important;
  box-shadow:0 18px 54px rgba(0,0,0,.34)!important;
}
html[data-bs-theme="dark"] .coh-system-head{
  background:linear-gradient(135deg,rgba(37,99,235,.28),rgba(20,184,166,.18))!important;
  border-bottom:1px solid rgba(148,163,184,.18)!important;
  color:#f8fbff!important;
}
html[data-bs-theme="dark"] .coh-system-body,
html[data-bs-theme="dark"] .coh-system-card .p-3{
  background:rgba(8,17,31,.34)!important;
  color:#e6edf7!important;
}
html[data-bs-theme="dark"] .coh-system-name{color:#f8fbff!important;}
html[data-bs-theme="dark"] .coh-system-desc{color:#aebbd0!important;}
html[data-bs-theme="dark"] .coh-ico{background:rgba(59,130,246,.20)!important;color:#bfdbfe!important;}
