/* ============================================================
   THEME OVERRIDE — Midnight Indigo
   Sobrescreve tokens de style.css e admin-v32.css.
   Carregar SEMPRE por último (depois de style.css e admin-v32.css).
   Paleta: #0a0a1a  #141432  #1e1e5a  #4f46e5
   Tipografia: Space Grotesk (headings) + DM Sans (body)
   ============================================================ */

:root {
  /* Paleta base */
  --mn-bg-0:     #07071a;
  --mn-bg-1:     #0a0a1a;
  --mn-bg-2:     #141432;
  --mn-bg-3:     #1e1e5a;
  --mn-surface:  rgba(255,255,255,0.04);
  --mn-surface-2:rgba(255,255,255,0.07);
  --mn-border:   rgba(139,148,255,0.14);
  --mn-border-strong: rgba(139,148,255,0.28);
  --mn-text:     #eef0ff;
  --mn-text-dim: #b8bde0;
  --mn-muted:    #7a80b3;
  --mn-brand:    #4f46e5;
  --mn-brand-2:  #6366f1;
  --mn-brand-3:  #818cf8;
  --mn-success:  #22c55e;
  --mn-warning:  #f59e0b;
  --mn-danger:   #ef4444;
  --mn-grad:     linear-gradient(135deg,#4f46e5 0%,#6366f1 55%,#818cf8 100%);
  --mn-grad-soft:linear-gradient(135deg,rgba(79,70,229,.18),rgba(129,140,248,.10));
  --mn-shadow-sm: 0 2px 10px rgba(4,4,20,.55);
  --mn-shadow-md: 0 12px 30px rgba(4,4,20,.55);
  --mn-shadow-lg: 0 24px 60px rgba(4,4,20,.65);
  --mn-glow:     0 0 0 1px rgba(79,70,229,.35), 0 14px 40px rgba(79,70,229,.30);

  /* Reescreve tokens do style.css (frontoffice) */
  --bg-primary:   var(--mn-bg-1);
  --bg-secondary: var(--mn-bg-2);
  --bg-tertiary:  #1a1c46;
  --surface:      var(--mn-surface);
  --surface-hover:var(--mn-surface-2);
  --border:       var(--mn-border);
  --border-strong:var(--mn-border-strong);
  --text-primary: var(--mn-text);
  --text-secondary:var(--mn-text-dim);
  --text-muted:   var(--mn-muted);
  --brand:        var(--mn-brand);
  --brand-2:      var(--mn-brand-2);
  --brand-3:      var(--mn-brand-3);
  --gradient-brand: var(--mn-grad);
  --gradient-card:  var(--mn-grad-soft);
  --gradient-hero:
     radial-gradient(1000px 500px at 12% -10%, rgba(79,70,229,.28), transparent 60%),
     radial-gradient(900px 500px at 110% 10%, rgba(129,140,248,.18), transparent 60%);
  --shadow-sm: var(--mn-shadow-sm);
  --shadow-md: var(--mn-shadow-md);
  --shadow-lg: var(--mn-shadow-lg);
  --shadow-glow: var(--mn-glow);

  /* Reescreve tokens do admin-v32.css */
  --v32-bg-0: var(--mn-bg-0);
  --v32-bg-1: var(--mn-bg-1);
  --v32-bg-2: var(--mn-bg-2);
  --v32-surface: var(--mn-surface);
  --v32-surface-2: var(--mn-surface-2);
  --v32-border: var(--mn-border);
  --v32-border-strong: var(--mn-border-strong);
  --v32-text: var(--mn-text);
  --v32-text-dim: var(--mn-text-dim);
  --v32-muted: var(--mn-muted);
  --v32-primary: var(--mn-brand);
  --v32-primary-2: var(--mn-brand-3);
  --v32-accent: var(--mn-brand-2);
  --v32-success: var(--mn-success);
  --v32-warning: var(--mn-warning);
  --v32-danger: var(--mn-danger);
  --v32-grad: var(--mn-grad);
  --v32-grad-soft: var(--mn-grad-soft);
  --v32-shadow: var(--mn-shadow-md);
  --v32-glow: var(--mn-glow);
}

/* ---------- Tipografia ---------- */
html, body {
  font-family: 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  letter-spacing: -0.005em;
}
h1, h2, h3, h4, h5, .navbar-brand, .page-title, .h-page,
.card-title, .display-1, .display-2, .display-3, .display-4 {
  font-family: 'Space Grotesk','DM Sans',sans-serif !important;
  letter-spacing: -0.02em;
}

/* ---------- Fundo global (frontoffice) ---------- */
body:not(.is-admin) {
  background:
    radial-gradient(1100px 520px at 8% -10%, rgba(79,70,229,.22), transparent 60%),
    radial-gradient(900px 500px at 110% 8%, rgba(129,140,248,.14), transparent 60%),
    linear-gradient(180deg, var(--mn-bg-1), var(--mn-bg-0) 70%) !important;
  background-attachment: fixed;
}

/* ---------- Navbar ---------- */
.navbar-custom {
  background: rgba(10,10,26,.72) !important;
  border-bottom: 1px solid var(--mn-border) !important;
}
.navbar-custom .navbar-brand {
  background: var(--mn-grad);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ---------- Botões ---------- */
.btn-primary,
.btn-primary:focus {
  background: var(--mn-grad) !important;
  border: none !important;
  color: #fff !important;
  box-shadow: 0 6px 18px rgba(79,70,229,.35);
}
.btn-primary:hover { filter: brightness(1.08); box-shadow: 0 10px 26px rgba(79,70,229,.45); }
.btn-outline-light {
  border-color: var(--mn-border-strong) !important;
  color: var(--mn-text) !important;
  background: rgba(255,255,255,.02);
}
.btn-outline-light:hover {
  background: var(--mn-brand) !important;
  border-color: var(--mn-brand) !important;
  color:#fff !important;
}
.btn-warning { background: var(--mn-warning) !important; border:none !important; color:#1a1a1a !important; }
.btn-info    { background: var(--mn-brand-2) !important; border:none !important; color:#fff !important; }
.btn-danger  { background: var(--mn-danger) !important; border:none !important; }

/* ---------- Cards / Superfícies ---------- */
.card, .panel, .box, .content-box, .dash-card {
  background: linear-gradient(180deg, rgba(30,30,90,.35), rgba(20,20,50,.55)) !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: 16px !important;
  color: var(--mn-text);
  box-shadow: var(--mn-shadow-sm);
}
.card:hover { border-color: var(--mn-border-strong) !important; }

/* ---------- Formulários ---------- */
.form-control, .form-select {
  background: rgba(10,10,30,.55) !important;
  color: var(--mn-text) !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: 10px !important;
}
.form-control::placeholder { color: var(--mn-muted) !important; }
.form-control:focus, .form-select:focus {
  border-color: var(--mn-brand) !important;
  box-shadow: 0 0 0 3px rgba(79,70,229,.28) !important;
  background: rgba(10,10,30,.75) !important;
  color: #fff !important;
}

/* ---------- Tabelas (admin/cliente) ---------- */
.table { color: var(--mn-text); }
.table thead th {
  background: rgba(30,30,90,.55) !important;
  color: var(--mn-text) !important;
  border-color: var(--mn-border) !important;
  text-transform: uppercase; font-size: .72rem; letter-spacing:.08em;
}
.table tbody tr { background: rgba(255,255,255,.015); }
.table tbody tr:hover { background: rgba(79,70,229,.10) !important; }
.table td, .table th { border-color: var(--mn-border) !important; }

/* ---------- Alerts / Badges ---------- */
.alert { border-radius: 12px; border:1px solid var(--mn-border); }
.alert-success { background: rgba(34,197,94,.12); color:#a7f3d0; }
.alert-danger  { background: rgba(239,68,68,.12); color:#fecaca; }
.alert-warning { background: rgba(245,158,11,.12); color:#fde68a; }
.alert-info    { background: rgba(99,102,241,.14); color:#c7d2fe; }
.badge { border-radius: 999px; padding:.35em .7em; font-weight:600; }

/* ---------- Breadcrumbs ---------- */
.breadcrumb {
  background: var(--mn-surface) !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: 12px;
  padding: .55rem 1rem;
}
.breadcrumb-item a { color: var(--mn-brand-3); text-decoration:none; }
.breadcrumb-item.active { color: var(--mn-text-dim); }

/* ---------- Admin: menu, cards de estatística ---------- */
body.is-admin .admin-menu-bar {
  background: rgba(10,10,30,.85) !important;
  border-bottom: 1px solid var(--mn-border);
  backdrop-filter: blur(10px);
}
body.is-admin .admin-menu-bar .btn {
  border-color: var(--mn-border-strong) !important;
}
body.is-admin .admin-menu-bar .btn:hover {
  background: var(--mn-brand) !important; color:#fff !important;
}

/* Dashboard cards (área do cliente e admin) */
.stat-card, .metric-card, .kpi-card {
  background: linear-gradient(160deg, rgba(79,70,229,.18), rgba(20,20,50,.6)) !important;
  border: 1px solid var(--mn-border-strong) !important;
  border-radius: 18px !important;
  padding: 1.2rem 1.4rem;
  color: var(--mn-text);
  box-shadow: var(--mn-shadow-md);
  position: relative; overflow: hidden;
}
.stat-card::before, .metric-card::before, .kpi-card::before {
  content:""; position:absolute; inset:0;
  background: radial-gradient(400px 200px at 100% 0%, rgba(129,140,248,.20), transparent 60%);
  pointer-events:none;
}
.stat-card .value, .stat-card .num, .kpi-card .value {
  font-family: 'Space Grotesk',sans-serif;
  font-size: 2rem; font-weight: 800; color:#fff;
  background: var(--mn-grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}

/* ---------- Splash ---------- */
.splash { background: var(--mn-bg-0) !important; }
.splash-logo {
  background: var(--mn-grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  font-family:'Space Grotesk',sans-serif; font-weight:800;
}
.splash-bar span { background: var(--mn-grad) !important; }

/* ---------- Footer ---------- */
footer, .site-footer {
  background: rgba(7,7,26,.75) !important;
  border-top: 1px solid var(--mn-border);
  color: var(--mn-text-dim);
}

/* ---------- Popup Promo ---------- */
.popup-promo, .promo-popup {
  background: linear-gradient(160deg, rgba(30,30,90,.95), rgba(10,10,30,.98)) !important;
  border: 1px solid var(--mn-border-strong) !important;
  box-shadow: var(--mn-shadow-lg);
  color: var(--mn-text);
}

/* ---------- Modo claro (opcional) ---------- */
html[data-theme="light"] body:not(.is-admin) {
  background: linear-gradient(180deg,#f6f7ff,#eef0ff) !important;
  color:#111132 !important;
}
html[data-theme="light"] .card { background:#fff !important; color:#111132 !important; }
html[data-theme="light"] .form-control { background:#fff !important; color:#111132 !important; }

/* ============================================================
   ADMIN POLISH v2 — melhorias específicas do painel
   ============================================================ */

/* --- Navbar: evita quebras feias e mantém logo visível --- */
body.is-admin .navbar,
body.is-admin .admin-topbar,
body.is-admin .admin-menu-bar {
  flex-wrap: wrap;
  gap: .5rem;
  row-gap: .6rem;
}
body.is-admin .navbar-brand,
body.is-admin .admin-brand {
  font-family: 'Space Grotesk', sans-serif;
  font-weight: 800;
  background: var(--mn-grad);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  white-space: nowrap;
  flex: 0 0 auto;
}
body.is-admin .admin-menu-bar {
  overflow-x: auto;
  scrollbar-width: thin;
  padding-bottom: .35rem;
}
body.is-admin .admin-menu-bar::-webkit-scrollbar { height: 6px; }
body.is-admin .admin-menu-bar::-webkit-scrollbar-thumb {
  background: var(--mn-border-strong); border-radius: 6px;
}
body.is-admin .admin-menu-bar .btn {
  white-space: nowrap;
  font-size: .88rem;
  padding: .5rem .95rem;
}

/* Barra de busca alinhada e enxuta */
body.is-admin .admin-search,
body.is-admin form[role="search"] {
  flex: 1 1 260px;
  max-width: 420px;
  margin-left: auto;
}

/* --- Hero do dashboard: paleta indigo unificada --- */
.dash-hero {
  background:
    radial-gradient(600px 240px at 100% 0%, rgba(129,140,248,.35), transparent 60%),
    linear-gradient(135deg, #0a0a1a 0%, #141432 55%, #1e1e5a 100%) !important;
  border: 1px solid var(--mn-border-strong);
  box-shadow: var(--mn-shadow-lg) !important;
}
.dash-hero h1 {
  font-family: 'Space Grotesk', sans-serif;
  background: linear-gradient(90deg,#fff,#c7cbff);
  -webkit-background-clip: text; -webkit-text-fill-color: transparent;
}
.dash-hero p { color: var(--mn-text-dim) !important; }

/* --- Quick actions: um único estilo "glass" com ícone colorido --- */
.quick-actions .btn,
.quick-actions .btn-primary,
.quick-actions .btn-warning,
.quick-actions .btn-info,
.quick-actions .btn-secondary {
  background: rgba(255,255,255,0.04) !important;
  border: 1px solid var(--mn-border-strong) !important;
  color: var(--mn-text) !important;
  backdrop-filter: blur(6px);
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.quick-actions .btn i { color: var(--mn-brand-3); margin-right: .35rem; }
.quick-actions .btn:hover {
  background: var(--mn-grad) !important;
  border-color: transparent !important;
  color: #fff !important;
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(79,70,229,.35);
}
.quick-actions .btn:hover i { color: #fff; }

/* --- KPI cards: mais compactos, com brilho de borda --- */
.kpi {
  background: linear-gradient(160deg, rgba(30,30,90,.55), rgba(10,10,30,.75)) !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: 16px !important;
  padding: 1.15rem 1.25rem !important;
  color: var(--mn-text);
  transition: transform .15s ease, border-color .15s ease;
}
.kpi:hover { transform: translateY(-3px); border-color: var(--mn-border-strong) !important; }
.kpi .lbl { color: var(--mn-text-dim); }
.kpi .val {
  font-family: 'Space Grotesk',sans-serif;
  background: linear-gradient(90deg,#fff,#c7cbff);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.kpi .sub { color: var(--mn-muted); }
.kpi.k-green  { border-left: 3px solid var(--mn-success) !important; }
.kpi.k-blue   { border-left: 3px solid #3b82f6 !important; }
.kpi.k-purple { border-left: 3px solid var(--mn-brand-2) !important; }
.kpi.k-orange { border-left: 3px solid var(--mn-warning) !important; }
.kpi.k-red    { border-left: 3px solid var(--mn-danger) !important; }
.kpi.k-cyan   { border-left: 3px solid #06b6d4 !important; }

/* --- Chart cards --- */
.chart-card {
  background: linear-gradient(160deg, rgba(20,20,50,.7), rgba(10,10,30,.85)) !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: 16px !important;
  color: var(--mn-text);
}
.chart-card h6 { color: var(--mn-text); }
.chart-card h6 i { color: var(--mn-brand-3); }

/* --- Top list (dark bg fix) --- */
.top-list li { border-bottom-color: var(--mn-border) !important; }
.top-list .nome { color: var(--mn-text); }
.top-list .meta { color: var(--mn-muted) !important; }
.top-list .total { color: var(--mn-brand-3) !important; }
.top-list .rank { background: var(--mn-grad) !important; }

/* --- "Últimos pedidos" heading: cor escura inline invisível no dark bg --- */
h3[style*="#0f172a"] {
  color: var(--mn-text) !important;
  font-family: 'Space Grotesk', sans-serif;
}
h3[style*="#0f172a"] i { color: var(--mn-brand-3); }

/* --- Recent table --- */
.recent-table {
  background: linear-gradient(160deg, rgba(20,20,50,.6), rgba(10,10,30,.8));
  border: 1px solid var(--mn-border);
  border-radius: 16px;
}
.recent-table table { color: var(--mn-text); margin: 0 !important; }
.recent-table thead th {
  background: rgba(255,255,255,0.03);
  color: var(--mn-text-dim) !important;
  border-bottom: 1px solid var(--mn-border) !important;
}
.recent-table tbody tr { border-color: var(--mn-border) !important; }
.recent-table tbody tr:hover { background: rgba(79,70,229,.08); }
.recent-table td, .recent-table th { border-color: var(--mn-border) !important; }
.recent-table small { color: var(--mn-muted); }

/* Badges: contraste no dark */
.badge.bg-warning { color: #1a1a2e !important; }
.badge.bg-secondary { background: var(--mn-surface-2) !important; color: var(--mn-text) !important; }

/* Breadcrumb pill (Home › Admin) */
.breadcrumb, .crumbs {
  background: rgba(255,255,255,0.03) !important;
  border: 1px solid var(--mn-border);
  border-radius: 999px;
  padding: .35rem .9rem !important;
  display: inline-flex !important;
  align-items: center; gap: .4rem;
  color: var(--mn-text-dim);
}
.breadcrumb a, .crumbs a { color: var(--mn-brand-3) !important; }

/* ============================================================
   IDENTIDADE VISUAL — alinhamento com Midnight Indigo
   ============================================================ */
.iv-icon {
  background: var(--mn-grad) !important;
  box-shadow: 0 8px 24px rgba(79,70,229,.45) !important;
}
.iv-title { color: var(--mn-text) !important; font-family:'Space Grotesk',sans-serif; }
.iv-sub   { color: var(--mn-text-dim) !important; }

.iv-info {
  background: linear-gradient(135deg, rgba(79,70,229,.15), rgba(129,140,248,.08)) !important;
  border: 1px solid var(--mn-border-strong) !important;
  color: var(--mn-text-dim) !important;
}
.iv-info i { color: var(--mn-brand-3) !important; }
.iv-info code {
  background: rgba(255,255,255,.06) !important;
  color: var(--mn-brand-3) !important;
  border: 1px solid var(--mn-border);
}

.iv-card {
  background: linear-gradient(160deg, rgba(30,30,90,.55), rgba(10,10,30,.75)) !important;
  border: 1px solid var(--mn-border) !important;
  border-radius: 18px !important;
}
.iv-card::before {
  background: linear-gradient(135deg, transparent 40%, rgba(79,70,229,.55), transparent 80%) !important;
}
.iv-card:hover {
  border-color: var(--mn-border-strong) !important;
  box-shadow: 0 20px 40px -20px rgba(79,70,229,.55) !important;
}
.iv-card-head .ico {
  background: rgba(79,70,229,.18) !important;
  color: var(--mn-brand-3) !important;
}
.iv-card h5   { color: var(--mn-text) !important; font-family:'Space Grotesk',sans-serif; }
.iv-card .desc,
.iv-card .desc strong { color: var(--mn-text-dim) !important; }
.iv-card .desc strong { color: var(--mn-text) !important; }

/* Preview claro mantido, mas com moldura sutil */
.iv-preview { border: 1px solid var(--mn-border); }
.iv-badge   { background: var(--mn-success) !important; }
.iv-badge.empty { background: var(--mn-muted) !important; }

.iv-drop {
  border-color: var(--mn-border-strong) !important;
  background: rgba(255,255,255,0.02) !important;
}
.iv-drop:hover {
  border-color: var(--mn-brand-2) !important;
  background: rgba(79,70,229,.08) !important;
}
.iv-drop i { color: var(--mn-brand-3) !important; }
.iv-drop .txt   { color: var(--mn-text-dim) !important; }
.iv-drop .txt b { color: var(--mn-text) !important; }
.iv-drop .txt span { color: var(--mn-muted) !important; }
.iv-drop.has-file {
  border-color: var(--mn-success) !important;
  background: rgba(34,197,94,.10) !important;
}
.iv-drop.has-file i { color: var(--mn-success) !important; }

.iv-preview-new {
  background: rgba(79,70,229,.10) !important;
  border-color: var(--mn-border-strong) !important;
}
.iv-preview-new .lbl { color: var(--mn-brand-3) !important; }

.iv-remove {
  border-color: rgba(239,68,68,.4) !important;
  color: #fca5a5 !important;
}
.iv-remove:hover {
  background: rgba(239,68,68,.18) !important;
  border-color: var(--mn-danger) !important;
  color: #fff !important;
}

.iv-btn-save {
  background: var(--mn-grad) !important;
  box-shadow: 0 10px 28px -8px rgba(79,70,229,.7) !important;
}
.iv-btn-save:hover {
  box-shadow: 0 14px 34px -6px rgba(79,70,229,.9) !important;
}
.iv-btn-back {
  border-color: var(--mn-border-strong) !important;
  color: var(--mn-text-dim) !important;
}
.iv-btn-back:hover {
  background: rgba(255,255,255,.05) !important;
  color: var(--mn-text) !important;
  border-color: var(--mn-brand-2) !important;
}

.iv-alert.ok {
  background: rgba(34,197,94,.12) !important;
  border-color: rgba(34,197,94,.35) !important;
  color: #86efac !important;
}
.iv-alert.err {
  background: rgba(239,68,68,.12) !important;
  border-color: rgba(239,68,68,.35) !important;
  color: #fca5a5 !important;
}

/* ============================================================
   LICENÇAS — polish (v3): remove roxo/rosa, botões e selects
   ============================================================ */
/* Ícone da chave e "+" no card com gradiente indigo */
.lic-hero h1 i,
.lic-card h5 i {
  background: linear-gradient(135deg,#4f46e5,#818cf8) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* Endpoint pill dentro do hero */
.lic-hero .lic-stat code {
  color: #c7d2fe !important;
  background: rgba(255,255,255,.06) !important;
  padding: .15rem .45rem !important;
  border-radius: 6px !important;
  font-size: .78rem !important;
  word-break: break-all !important;
}
.lic-hero .lic-stat:last-child { flex: 1; min-width: 260px; }

/* Botão check (gerar licença) — força indigo */
.lic-card .btn-primary,
.lic-card button[type="submit"] {
  background: linear-gradient(135deg,#4f46e5,#6366f1) !important;
  border: 1px solid rgba(129,140,248,.55) !important;
  color: #fff !important;
  box-shadow: 0 6px 18px -6px rgba(79,70,229,.55) !important;
  transition: all .2s ease !important;
}
.lic-card .btn-primary:hover,
.lic-card button[type="submit"]:hover {
  background: linear-gradient(135deg,#6366f1,#818cf8) !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 22px -6px rgba(79,70,229,.7) !important;
}

/* Selects e inputs dentro dos cards de licença */
.lic-card .form-control,
.lic-card .form-select {
  background: rgba(10,10,26,.6) !important;
  border: 1px solid rgba(139,148,255,.22) !important;
  color: #eef0ff !important;
  border-radius: 10px !important;
}
.lic-card .form-control:focus,
.lic-card .form-select:focus {
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,.25) !important;
  background: rgba(10,10,26,.85) !important;
}
.lic-card .form-control::placeholder { color: #7a80a8 !important; }
/* seta customizada do select em tom claro */
.lic-card .form-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23a5b4fc'%3E%3Cpath d='M8 11L3 6h10z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right .75rem center !important;
  background-size: 14px !important;
}
/* opções nativas do dropdown (o máximo que o browser deixa estilizar) */
.lic-card .form-select option {
  background: #141432 !important;
  color: #eef0ff !important;
}

/* Card do filtro: botão aplicar e reset */
form.lic-card .btn-primary {
  background: linear-gradient(135deg,#4f46e5,#6366f1) !important;
}
form.lic-card .btn-outline-secondary,
form.lic-card .btn-secondary {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(139,148,255,.28) !important;
  color: #c7d2fe !important;
}
form.lic-card .btn-outline-secondary:hover,
form.lic-card .btn-secondary:hover {
  background: rgba(99,102,241,.18) !important;
  border-color: #6366f1 !important;
  color: #fff !important;
}

/* Labels no card ficam com fonte da marca */
.lic-card label {
  font-family: "Space Grotesk", "DM Sans", sans-serif !important;
  color: #a5b4fc !important;
}

/* Hero: título com fonte da marca */
.lic-hero h1 { font-family: "Space Grotesk", sans-serif !important; }
.lic-stat strong {
  font-family: "Space Grotesk", sans-serif !important;
  background: linear-gradient(135deg,#818cf8,#c7d2fe);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Tabela: chave com destaque melhor */
.lic-tablewrap .chave {
  background: linear-gradient(135deg, rgba(79,70,229,.18), rgba(129,140,248,.10)) !important;
  border: 1px solid rgba(129,140,248,.25) !important;
  color: #c7d2fe !important;
}

/* Badges de status na tabela */
.lic-tablewrap .badge.bg-success,
.lic-tablewrap .badge.status-ativa {
  background: linear-gradient(135deg,#059669,#10b981) !important;
  color: #fff !important;
}
.lic-tablewrap .badge.bg-danger,
.lic-tablewrap .badge.status-revogada {
  background: linear-gradient(135deg,#b91c1c,#ef4444) !important;
}
.lic-tablewrap .badge.bg-warning,
.lic-tablewrap .badge.status-expirada {
  background: linear-gradient(135deg,#a16207,#eab308) !important;
  color: #0a0a1a !important;
}

/* Botões de ação na tabela (revogar/estender/excluir) — glass unificado */
.lic-tablewrap .btn-sm {
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(139,148,255,.22) !important;
  color: #c7d2fe !important;
  border-radius: 8px !important;
}
.lic-tablewrap .btn-sm:hover {
  background: linear-gradient(135deg,#4f46e5,#6366f1) !important;
  border-color: #818cf8 !important;
  color: #fff !important;
}
.lic-tablewrap .btn-sm.btn-danger:hover,
.lic-tablewrap .btn-sm[data-danger]:hover {
  background: linear-gradient(135deg,#b91c1c,#ef4444) !important;
  border-color: #f87171 !important;
}

/* ============================================================
   LICENÇAS v4 — força dropdown nativo em modo escuro + fix roxo/rosa
   Chave: color-scheme: dark faz o Chrome/Edge/Safari abrirem o
   popup do <select> em tema escuro nativo.
   ============================================================ */

/* Global: todos os selects e inputs do admin em color-scheme dark */
html, body { color-scheme: dark; }
select, input, textarea { color-scheme: dark !important; }

/* Força ícones roxos das páginas de licença → indigo */
.lic-hero h1 i.fa-key,
.lic-hero h1 i,
.lic-card h5 i.fa-plus,
.lic-card h5 i {
  color: #818cf8 !important;
  -webkit-text-fill-color: #818cf8 !important;
  background: none !important;
  filter: drop-shadow(0 0 8px rgba(129,140,248,.55));
}

/* Título "Licenças" e "Gerar licença manual" em branco puro */
.lic-hero h1,
.lic-card h5 {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: none !important;
}

/* Botão check ✓ e botão filtro — override AGRESSIVO do rosa/gradiente */
.lic-card .btn.btn-primary,
.lic-card button.btn-primary,
form.lic-card .btn.btn-primary,
form.lic-card button[type="submit"].btn-primary,
.lic-card form .btn-primary {
  background: linear-gradient(135deg,#4f46e5 0%,#6366f1 100%) !important;
  background-image: linear-gradient(135deg,#4f46e5 0%,#6366f1 100%) !important;
  background-color: #4f46e5 !important;
  border: 1px solid #818cf8 !important;
  color: #ffffff !important;
  box-shadow: 0 8px 20px -6px rgba(79,70,229,.55) !important;
}
.lic-card .btn.btn-primary:hover,
form.lic-card .btn.btn-primary:hover {
  background: linear-gradient(135deg,#6366f1,#818cf8) !important;
  background-image: linear-gradient(135deg,#6366f1,#818cf8) !important;
  transform: translateY(-1px);
}

/* Selects: fundo escuro + seta indigo */
.lic-card select.form-select,
form.lic-card select.form-select {
  background-color: #0f0f26 !important;
  color: #eef0ff !important;
  border: 1px solid rgba(129,140,248,.28) !important;
  border-radius: 10px !important;
  color-scheme: dark !important;
}
.lic-card select.form-select option,
form.lic-card select.form-select option {
  background-color: #141432 !important;
  color: #eef0ff !important;
}
.lic-card select.form-select option:checked,
.lic-card select.form-select option:hover {
  background: linear-gradient(#4f46e5,#4f46e5) !important;
  background-color: #4f46e5 !important;
  color: #fff !important;
}

/* Estado ao clicar/abrir: remove o outline azul-Windows */
.lic-card .form-select:focus,
.lic-card .form-control:focus {
  outline: none !important;
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 3px rgba(99,102,241,.28) !important;
}

/* Endpoint dentro do hero: linha inteira legível */
.lic-hero .lic-stat:last-child { min-width: 320px; flex: 1 1 320px; }
.lic-hero .lic-stat code {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
}

/* ============================================================
   DARK SELECT — dropdown custom (JS dark-select.js)
   ============================================================ */
.ds-wrap{position:relative;width:100%}
.ds-btn{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  background:#0f0f26; color:#eef0ff;
  border:1px solid rgba(129,140,248,.28); border-radius:10px;
  padding:.55rem .85rem; font-size:.95rem; line-height:1.3;
  font-family:"DM Sans",sans-serif; text-align:left; cursor:pointer;
  transition:border-color .15s ease, box-shadow .15s ease, background .15s ease;
}
.ds-btn:hover{border-color:#6366f1}
.ds-btn i{color:#818cf8; transition:transform .2s ease}
.ds-wrap.on .ds-btn{
  border-color:#6366f1;
  box-shadow:0 0 0 3px rgba(99,102,241,.28);
  background:#141432;
}
.ds-wrap.on .ds-btn i{transform:rotate(180deg)}
.ds-list{
  position:absolute; left:0; right:0; top:calc(100% + 6px); z-index:60;
  max-height:280px; overflow-y:auto;
  background:#141432; border:1px solid rgba(129,140,248,.32);
  border-radius:12px; padding:.35rem;
  box-shadow:0 20px 40px -12px rgba(0,0,0,.6), 0 0 0 1px rgba(79,70,229,.15);
  opacity:0; transform:translateY(-4px); pointer-events:none;
  transition:opacity .15s ease, transform .15s ease;
}
.ds-wrap.on .ds-list{opacity:1; transform:translateY(0); pointer-events:auto}
.ds-item{
  padding:.5rem .7rem; border-radius:8px; color:#eef0ff;
  font-size:.9rem; cursor:pointer; user-select:none;
  transition:background .12s ease, color .12s ease;
}
.ds-item + .ds-item{margin-top:2px}
.ds-item:hover{background:rgba(99,102,241,.18); color:#fff}
.ds-item.sel{background:linear-gradient(135deg,#4f46e5,#6366f1); color:#fff; font-weight:600}
/* scrollbar da lista */
.ds-list::-webkit-scrollbar{width:8px}
.ds-list::-webkit-scrollbar-thumb{background:rgba(129,140,248,.35); border-radius:4px}
.ds-list::-webkit-scrollbar-track{background:transparent}
