/* Dynamic Dialects portal theme override.
   Loaded LAST so it wins the cascade over bootstrap-theme-retro / custom-style / new-style.
   Design language mirrors dynamicdialects.com: Bricolage Grotesque + Hanken Grotesk,
   teal #00B5A6 primary, magenta #A81E73 accent, ink #0C1512 on light surfaces.
   Deliberately unlike the Dynamic Dialects red/amber admin theme. */

:root{
  --dd-teal:#00B5A6; --dd-teal-deep:#05675D;
  --dd-mag:#A81E73;  --dd-mag-deep:#7a1457;
  --dd-ink:#0C1512;  --dd-ink-muted:#46514D;
  --dd-surface:#F7F9F8; --dd-surface-alt:#eef3f1; --dd-panel:#ffffff;
  --dd-line:#dde5e2;
}

/* ---- Typography ---- */
body, .form-control, .btn, input, select, textarea, button, table, .page-content{
  font-family:"Hanken Grotesk",-apple-system,"Segoe UI",sans-serif !important;
}
h1,h2,h3,h4,h5,.navbar-brand,.sidebar-user__name,.page-title,.card-title{
  font-family:"Bricolage Grotesque",system-ui,sans-serif !important;
  letter-spacing:-.01em;
}

/* ---- Primary / accent buttons ---- */
.btn-primary,.new-btn.btn-primary,.btn.btn-primary,.swal2-confirm{
  background-color:var(--dd-mag) !important;
  border-color:var(--dd-mag) !important;
  color:#fff !important;
}
.btn-primary:hover,.new-btn.btn-primary:hover,.btn.btn-primary:hover,
.btn-primary:focus,.btn.btn-primary:focus{
  background-color:var(--dd-mag-deep) !important;
  border-color:var(--dd-mag-deep) !important;
}
.btn-success{background-color:var(--dd-teal-deep) !important;border-color:var(--dd-teal-deep) !important;}
a{color:var(--dd-teal-deep);}
a:hover{color:var(--dd-mag);}

/* ---- Left sidebar: light surface, teal accents (colored logo stays visible) ---- */
#sidebar{
  background:var(--dd-panel) !important;
  border-right:1px solid var(--dd-line) !important;
  color:var(--dd-ink) !important;
}
#sidebar .logo{border-bottom:1px solid var(--dd-line);}
#sidebar .navbar-nav>li>a,#sidebar .nav>li>a,#sidebar a{
  color:var(--dd-ink-muted) !important;font-weight:500;border-radius:9px;
}
#sidebar .navbar-nav>li>a:hover,#sidebar .nav>li>a:hover{
  background:var(--dd-surface-alt) !important;color:var(--dd-ink) !important;
}
#sidebar .active>a,#sidebar li.active>a,#sidebar .nav>li.active>a{
  background:var(--dd-surface-alt) !important;color:var(--dd-teal-deep) !important;
  box-shadow:inset 3px 0 0 var(--dd-teal);
}
.sidebar-user{color:var(--dd-ink) !important;}
.sidebar-user__avatar{
  background:linear-gradient(135deg,var(--dd-teal),var(--dd-mag)) !important;color:#fff !important;
}
.sidebar-user__role{color:var(--dd-ink-muted) !important;}

/* ---- Top bar ---- */
#topbar,.navbar.navbar-dark#topbar{
  background:var(--dd-panel) !important;
  border-bottom:1px solid var(--dd-line) !important;
}
#topbar .topbar-search__input{
  background:var(--dd-surface-alt) !important;border:1px solid var(--dd-line) !important;
  color:var(--dd-ink) !important;border-radius:999px;
}
#topbar .topbar-bell,#topbar .navbar-nav>li>a{color:var(--dd-ink-muted) !important;}

/* ---- Login landing (body.index-index) ---- */
body.index-index{background:var(--dd-surface) !important;}
.login-form.page-content,.page-content.login-form{
  background:var(--dd-panel) !important;border:1px solid var(--dd-line) !important;
  border-radius:18px !important;box-shadow:0 10px 40px rgba(12,21,18,.06) !important;
}
.index-index h2{color:var(--dd-ink) !important;font-weight:800 !important;}

/* ---- Focus visibility (keep accessible, brand-tinted) ---- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:3px solid var(--dd-teal) !important;outline-offset:2px !important;
}

/* ---- Accent bits reused across pages ---- */
.badge-primary,.label-primary{background-color:var(--dd-teal-deep) !important;}
.progress-bar{background-color:var(--dd-teal) !important;}
.nav-tabs>li.active>a{border-top:2px solid var(--dd-teal) !important;color:var(--dd-teal-deep) !important;}
