:root{
  /* Paleta base (NT) - Dark Mode Default */
  --bg:#0B1324;
  --surface:#0F172A;
  --muted:#94A3B8;
  --text:#E2E8F0;

  --brand-600:#2563EB;   /* azul logomarca */
  --brand-700:#1D4ED8;
  --brand-800:#1E40AF;
  --ink:#2F3438;         /* grafite do lettering */

  --primary:var(--brand-600);
  --primary-600:var(--brand-700);
  --primary-700:var(--brand-800);

  --success:#16A34A;
  --warning:#EA580C;
  --danger:#DC2626;

  --focus:rgba(37,99,235,.55);
  --ring:rgba(37,99,235,.35);

  --radius:16px;
}

[data-mode="light"] {
  /* Paleta base (NT) - Light Mode */
  --bg:#F6F8FC;
  --surface:#FFFFFF;
  --muted:#475569;
  --text:#0F172A;

  --brand-600:#2563EB;
  --brand-700:#1D4ED8;
  --brand-800:#1E40AF;
  --ink:#2F3438;

  --primary:var(--brand-600);
  --primary-600:var(--brand-700);
  --primary-700:var(--brand-800);

  --success:#16A34A;
  --warning:#EA580C;
  --danger:#DC2626;

  --focus:rgba(37,99,235,.55);
  --ring:rgba(37,99,235,.35);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,Segoe UI,Roboto,Arial,Helvetica,sans-serif;
  background:linear-gradient(180deg,var(--bg),#0A1226 40%,#080F22 100%);
  color:var(--text);
  transition: background-color 0.3s, color 0.3s;
}

[data-mode="light"] body {
  background: var(--bg);
}

.container{padding:16px;max-width:1100px;margin:0 auto}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

/* ---------- Topbar / Navegação ---------- */
.topbar{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 12px;border-bottom:1px solid rgba(255,255,255,0.06);
  background:rgba(10,16,32,0.6);backdrop-filter: blur(8px);
}
[data-mode="light"] .topbar {
  border-bottom:1px solid rgba(0,0,0,0.06);
  background:rgba(255,255,255,0.6);
}

.brand{display:flex;align-items:center;gap:10px}
.logo{border-radius:8px}
.brand-name{font-weight:600;letter-spacing:.2px;color:#eaf1ff}
[data-mode="light"] .brand-name {color:var(--text);}

.menu-btn{
  background:none;border:1px solid rgba(255,255,255,.12);color:var(--text);
  padding:10px 14px;border-radius:12px;font-size:16px;min-height:44px
}
[data-mode="light"] .menu-btn {border:1px solid rgba(0,0,0,.12);}

.top-actions{display:flex;gap:8px;align-items:center}

.drawer{
  position:fixed;inset:0 40% 0 0;background:rgba(5,10,22,0.9);
  transform:translateX(-100%);transition:.25s ease;z-index:20
}
[data-mode="light"] .drawer {background:rgba(255,255,255,0.9);}

.drawer[aria-hidden="false"]{transform:none}
.drawer-nav{display:flex;flex-direction:column;padding:16px;gap:8px}
.nav-link{padding:14px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06)}
[data-mode="light"] .nav-link {background:rgba(0,0,0,.03);border:1px solid rgba(0,0,0,.06);}

.nav-link:focus{outline:2px solid var(--primary);outline-offset:2px}

/* ---------- Botões ---------- */
.btn{
  height:48px;min-height:44px;padding:0 16px;border-radius:14px;border:1px solid transparent;
  color:#fff;background:var(--primary);cursor:pointer;font-weight:600;line-height:1
}
[data-mode="light"] .btn {color:#fff;}

.btn:hover{background:var(--primary-600)}
.btn:active{background:var(--primary-700)}
.btn:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

.btn.ghost{
  background:transparent;border:1px solid rgba(255,255,255,.14);color:var(--text)
}
[data-mode="light"] .btn.ghost {border:1px solid rgba(0,0,0,.14);}

.btn.ghost:hover{border-color:rgba(255,255,255,.26);background:rgba(255,255,255,.04)}
[data-mode="light"] .btn.ghost:hover {border-color:rgba(0,0,0,.26);background:rgba(0,0,0,.04);}

.btn.ghost:active{background:rgba(255,255,255,.06)}
[data-mode="light"] .btn.ghost:active {background:rgba(0,0,0,.06);}

.btn.secondary{
  background:transparent;border:1px solid var(--brand-600);color:#d9e6ff
}
[data-mode="light"] .btn.secondary {color:var(--text);}

.btn.secondary:hover{background:rgba(37,99,235,.12)}

.btn.sm{height:40px;font-size:.9rem}

/* ---------- Cards / Layout ---------- */
.card{
  background:linear-gradient(180deg,#0F1A36,#0D152E);
  border:1px solid rgba(255,255,255,.06);
  border-radius:var(--radius);padding:16px
}
[data-mode="light"] .card {
  background:linear-gradient(180deg,#FFFFFF,#F6F8FC);
  border:1px solid rgba(0,0,0,.06);
}

.row{display:flex;gap:12px;flex-wrap:wrap}
.grid{display:grid;gap:12px}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:900px){ .grid-cols-3{grid-template-columns:repeat(3,1fr)} }
.grid-col-span-2{grid-column:span 2 / span 2}

.hidden{display:none !important}
.text-muted{color:var(--muted)}

label{display:block;margin:8px 0 4px}

/* ---------- Inputs ---------- */
input,select,textarea{
  width:100%;height:48px;min-height:44px;padding:0 12px;border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:#0B1326;color:var(--text)
}
[data-mode="light"] input,[data-mode="light"] select,[data-mode="light"] textarea {
  border:1px solid rgba(0,0,0,.12);
  background:#FFFFFF;
}

input::placeholder,textarea::placeholder{color:var(--muted)}
select option{background:var(--surface);color:var(--text)}
[data-mode="light"] select option {background:#FFFFFF;}

textarea{height:auto;min-height:120px;padding:12px}

/* ---------- Kanban ---------- */
.kanban{
  display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))
}
.column{
  background:var(--surface);border:1px solid rgba(255,255,255,.1);
  border-radius:var(--radius);padding:12px;
}
[data-mode="light"] .column {
  background:var(--surface);border:1px solid rgba(0,0,0,.1);
}

.stack{display:flex;flex-direction:column;gap:8px}
.ticket{
  background:var(--surface);border:1px solid rgba(255,255,255,.06);
  border-radius:12px;padding:12px;cursor:grab
}
[data-mode="light"] .ticket {
  background:var(--surface);border:1px solid rgba(0,0,0,.06);
}

.ticket:active{cursor:grabbing}
.ticket [data-act]{margin-left:auto}

/* ---------- Agenda ---------- */
.timebar{display:grid;gap:12px;grid-template-columns:repeat(1,1fr)}
@media(min-width:900px){ .timebar{grid-template-columns:repeat(2,1fr)} }
.slot{
  border:1px dashed rgba(255,255,255,.1);
  border-radius:12px;padding:10px;
  display:flex;justify-content:space-between;align-items:center
}
[data-mode="light"] .slot {border:1px dashed rgba(0,0,0,.1);}

/* ---------- Badges ---------- */
.badge{
  display:inline-block;padding:6px 10px;border-radius:999px;font-size:.8rem;
  background:#0b1939;border:1px solid rgba(255,255,255,.08)
}
[data-mode="light"] .badge {background:#f0f4ff;border:1px solid rgba(0,0,0,.08);}

.badge.brand{background:rgba(37,99,235,.15);border-color:rgba(37,99,235,.28);color:#cfe0ff}
[data-mode="light"] .badge.brand {background:rgba(37,99,235,.1);border-color:rgba(37,99,235,.15);color:#2563EB;}

.badge.success{background:rgba(22,163,74,.15);border-color:rgba(22,163,74,.28);color:#d9fbe3}
[data-mode="light"] .badge.success {background:rgba(22,163,74,.1);border-color:rgba(22,163,74,.15);color:#16A34A;}

.badge.warn{background:rgba(234,88,12,.15);border-color:rgba(234,88,12,.28);color:#ffd9c5}
[data-mode="light"] .badge.warn {background:rgba(234,88,12,.1);border-color:rgba(234,88,12,.15);color:#EA580C;}

/* ---------- Empty ---------- */
.empty{
  padding:20px;border:1px dashed rgba(255,255,255,.15);
  border-radius:16px;color:var(--muted);text-align:center
}
[data-mode="light"] .empty {border:1px dashed rgba(0,0,0,.15);}

/* ---------- Toasts ---------- */
.toast{
  position:fixed;left:50%;transform:translateX(-50%);bottom:16px;z-index:50;
  background:#0D162C;border:1px solid rgba(255,255,255,.16);
  padding:12px 16px;border-radius:12px;min-width:220px
}
[data-mode="light"] .toast {background:#FFFFFF;border:1px solid rgba(0,0,0,.16);}

.toast.success{border-color:rgba(22,163,74,.45);background:rgba(7,22,13,.85)}
[data-mode="light"] .toast.success {border-color:rgba(22,163,74,.45);background:rgba(240,255,244,.85);color:#0F172A;}

.toast.error{border-color:rgba(220,38,38,.45);background:rgba(26,6,6,.85)}
[data-mode="light"] .toast.error {border-color:rgba(220,38,38,.45);background:rgba(255,241,242,.85);color:#0F172A;}

.toast.info{border-color:rgba(37,99,235,.45);background:rgba(7,12,26,.85)}
[data-mode="light"] .toast.info {border-color:rgba(37,99,235,.45);background:rgba(239,246,255,.85);color:#0F172A;}

/* ---------- Acessibilidade ---------- */
.visually-hidden{position:absolute;opacity:0;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
*:focus-visible{outline:3px solid var(--focus);outline-offset:2px}

/* ---------- Dialog (Agendar / Ver) ---------- */
.overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.5);backdrop-filter:blur(2px);
  display:flex;align-items:center;justify-content:center;z-index:100
}
[data-mode="light"] .overlay {background:rgba(255,255,255,.5);}

.dialog{
  width:min(560px,92vw);
  background:linear-gradient(180deg,#111a33,#0d152e);
  border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:16px
}
[data-mode="light"] .dialog {
  background:linear-gradient(180deg,#FFFFFF,#F6F8FC);
  border:1px solid rgba(0,0,0,.1);
}

.dialog .actions{display:flex;gap:8px;justify-content:flex-end;margin-top:12px}
.dialog .grid{display:grid;gap:12px}
@media(min-width:600px){ .dialog .grid{grid-template-columns:repeat(2,1fr)} }

/* Menu de ações no card */
.menu{
  position:absolute; right:8px; top:36px;
  background:rgba(10,16,32,.98);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px; padding:8px; min-width:180px;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
}
[data-mode="light"] .menu {
  background:rgba(255,255,255,.98);
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 10px 30px rgba(0,0,0,.15);
}

.menu button{width:100%; text-align:left; padding:10px 12px; border-radius:8px;}
.menu button:hover{background:rgba(255,255,255,.06)}
[data-mode="light"] .menu button:hover {background:rgba(0,0,0,.06);}

/* =========================
   THEMING POR TENANT
   Aplica-se quando <html data-theme="...">
   ========================= */

/* Tema padrão (fallback) */
:root[data-theme="default"]{
  --brand-600:#22C55E;
  --brand-700:#16A34A;
  --brand-800:#15803D;
  --primary:var(--brand-600);
  --primary-600:var(--brand-700);
  --primary-700:var(--brand-800);
}
:root[data-theme="nt"]{
  --brand-600:#2563EB;
  --brand-700:#1D4ED8;
  --brand-800:#1E40AF;
  --primary:var(--brand-600);
  --primary-600:var(--brand-700);
  --primary-700:var(--brand-800);
}

/* (Opcional) modo claro por tenant - Mantido para compatibilidade, mas principal é data-mode */
@media (prefers-color-scheme: light) {
  :root[data-theme]{
    --bg:#F6F8FC;
    --surface:#FFFFFF;
    --text:#0F172A;
    --muted:#475569;
    background:#F6F8FC;
  }
  :root[data-theme] body{
    background:#F6F8FC;
    color:var(--text);
  }
  :root[data-theme] .card{
    background:#fff;
    border-color:#e6eaf3;
  }
  :root[data-theme] .column{ background:#fff; border-color:#e6eaf3; }
  :root[data-theme] .ticket{ background:#fff; border-color:#e6eaf3; }
}