/* ═══════════════════════════════════════════════════════════════════════
   Freedom — Design System v2.1
   ARQUIVO ÚNICO DE TOKENS — substitui todos os :root anteriores:
   style.css, mc-theme-2025.css, freedom-redesign-2025.css,
   freedom-brand.css, freedom-v2.css, chat_v2.css, chat_whatsapp.css,
   freedom-ux-nova.css, freedom-v2.css

   Paleta v2.1 — Preto Profundo
   #000000  fundo principal
   #1A1A1A  cards / superfícies
   #FFFFFF  texto principal
   #AAAAAA  labels / subtítulos
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Fonte principal ─────────────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800;900&display=swap');

/* ── Tokens ──────────────────────────────────────────────────────────── */
:root {

  /* MARCA — Laranja Freedom */
  --or:          #00C9B8;
  --or-dk:       #00A99A;
  --or-dkk:      #008578;
  --or-lt:       rgba(0,201,184,.12);
  --or-lt2:      rgba(0,201,184,.20);
  --or-glow:     rgba(0, 201, 184, 0.14);
  --or-shadow:   0 6px 20px rgba(0, 201, 184, 0.28);

  /* ALIAS --pr → teal (compatibilidade com código legado) */
  --pr:          #00C9B8;
  --pr-dk:       #00A99A;
  --pr-lt:       rgba(0,201,184,.12);
  --pr-glow:     rgba(0,201,184,.18);
  --pr-shadow:   0 6px 20px rgba(0,201,184,.28);

  /* FUNDOS */
  --bg:          #000000;
  --bg2:         #0a0a0a;
  --surface:     #1A1A1A;
  --surface2:    #222222;

  /* TEXTO */
  --tx:          #FFFFFF;
  --tx2:         #CCCCCC;
  --tx3:         #AAAAAA;
  --tx4:         #666666;

  /* SEMÂNTICAS */
  --green:       #10B981;
  --green-dk:    #059669;
  --green-lt:    #ECFDF5;
  --amber:       #F59E0B;
  --amber-dk:    #D97706;
  --amber-lt:    #FFFBEB;
  --red:         #EF4444;
  --red-dk:      #DC2626;
  --red-lt:      #FEF2F2;
  --blue:        #3B82F6;
  --blue-dk:     #2563EB;
  --blue-lt:     #EFF6FF;

  /* BORDAS */
  --bd:          rgba(255, 255, 255, 0.08);
  --bd2:         rgba(255, 255, 255, 0.13);
  --border:      rgba(255, 255, 255, 0.09);
  --hover:       rgba(255, 255, 255, 0.04);

  /* GEOMETRIA — escala consistente */
  --r-xs:        6px;
  --r-sm:        10px;
  --r:           14px;
  --r-lg:        20px;
  --r-xl:        24px;
  --r-2xl:       32px;
  --r-pill:      9999px;

  /* ESPAÇAMENTO — escala 4px */
  --sp-1:        4px;
  --sp-2:        8px;
  --sp-3:        12px;
  --sp-4:        16px;
  --sp-5:        20px;
  --sp-6:        24px;
  --sp-8:        32px;
  --sp-10:       40px;
  --sp-12:       48px;

  /* SOMBRAS */
  --shadow-xs:   0 1px 4px  rgba(0, 0, 0, 0.60);
  --shadow-sm:   0 2px 10px rgba(0, 0, 0, 0.65);
  --shadow:      0 4px 20px rgba(0, 0, 0, 0.70);
  --shadow-md:   0 8px 32px rgba(0, 0, 0, 0.75);
  --shadow-lg:   0 16px 48px rgba(0, 0, 0, 0.50);

  /* TIPOGRAFIA */
  --font:        'Nunito', system-ui, -apple-system, sans-serif;

  /* TRANSIÇÕES */
  --ease:        cubic-bezier(0.4, 0, 0.2, 1);
  --spring:      cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:    0.15s;
  --dur:         0.22s;
  --dur-slow:    0.35s;

  /* TABBAR */
  --tabbar-h:    72px;
  --topbar-h:    58px;

  /* SAFE AREA */
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-top:    env(safe-area-inset-top, 0px);
}

/* ══════════════════════════════════════════════════════════════
   Freedom — Icon System CSS
   Complementa mc_icons.js
   ══════════════════════════════════════════════════════════════ */

/* ── Ícone base ──────────────────────────────────────────────── */
.mc-icon {
  display: inline-block;
  vertical-align: middle;
  flex-shrink: 0;
}

/* ── Wrapper ícone + texto ───────────────────────────────────── */
.mc-icon-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ── Spin (loading) ──────────────────────────────────────────── */
@keyframes mc-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.mc-icon-spin { animation: mc-spin .75s linear infinite; }

/* ── Status dot ──────────────────────────────────────────────── */
.mc-status-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}

/* ════════════════════════════════════════════════════════════════
   SISTEMA DE BOTÕES PADRONIZADO
   ════════════════════════════════════════════════════════════════ */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border-radius: 10px;
  padding: 10px 16px;
  font-size: 14px;
  font-weight: 600;
  font-family: var(--font);
  border: none;
  cursor: pointer;
  transition: opacity .15s ease, transform .12s ease, box-shadow .15s ease;
  white-space: nowrap;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.btn:disabled {
  opacity: .45;
  cursor: not-allowed;
  pointer-events: none;
}
.btn:active:not(:disabled) {
  transform: scale(0.97);
}

/* ── Variantes de cor ────────────────────────────────────────── */
.btn-primary {
  background: var(--pr, #00C9B8);
  color: #fff;
  box-shadow: 0 2px 8px rgba(0,201,184,.25);
}
.btn-primary:active:not(:disabled) {
  box-shadow: 0 1px 3px rgba(0,201,184,.2);
}

.btn-success {
  background: #22C55E;
  color: #fff;
  box-shadow: 0 2px 8px rgba(34,197,94,.25);
}

.btn-danger {
  background: #EF4444;
  color: #fff;
  box-shadow: 0 2px 8px rgba(239,68,68,.25);
}

.btn-warning {
  background: #F59E0B;
  color: #fff;
}

.btn-ghost {
  background: transparent;
  color: var(--tx3, #AAAAAA);
  border: 1.5px solid var(--bd, rgba(255,255,255,0.08));
}
.btn-ghost:hover { background: var(--hover, rgba(255,255,255,0.04)); }

.btn-link {
  background: transparent;
  color: var(--pr, #00C9B8);
  padding: 6px 8px;
  border-radius: 6px;
}

/* ── Tamanhos ────────────────────────────────────────────────── */
.btn-sm {
  padding: 6px 12px;
  font-size: 13px;
  border-radius: 8px;
}
.btn-lg {
  padding: 13px 20px;
  font-size: 15px;
  border-radius: 12px;
}
.btn-full { width: 100%; }

/* ════════════════════════════════════════════════════════════════
   EMPTY STATES — padronizado com ícone SVG
   ════════════════════════════════════════════════════════════════ */
.mc-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  text-align: center;
  gap: 10px;
}
.mc-empty-icon {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--bg, #000000);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 4px;
}
.mc-empty-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--tx, #FFFFFF);
}
.mc-empty-sub {
  font-size: 13px;
  color: var(--tx3, #AAAAAA);
  line-height: 1.5;
}

/* ════════════════════════════════════════════════════════════════
   DISPONIBILIDADE — sem emojis 🟢🔴
   ════════════════════════════════════════════════════════════════ */
.mc-disponivel-on  { color: #22C55E; font-weight: 600; }
.mc-disponivel-off { color: #EF4444; font-weight: 600; }

/* ════════════════════════════════════════════════════════════════
   INPUTS — base escura consistente com a paleta
   ════════════════════════════════════════════════════════════════ */
input,
select,
textarea,
.form-control {
  background: #111111;
  color: var(--tx, #FFFFFF);
  border-color: var(--bd, rgba(255,255,255,0.08));
}
input::placeholder,
textarea::placeholder {
  color: var(--tx4, #666666);
}
input:focus,
select:focus,
textarea:focus,
.form-control:focus {
  border-color: rgba(255, 255, 255, 0.28);
  outline: none;
}

/* ════════════════════════════════════════════════════════════════
   SCROLLBAR — sutil no fundo preto
   ════════════════════════════════════════════════════════════════ */
* {
  scrollbar-width: thin;
  scrollbar-color: #2a2a2a transparent;
}
*::-webkit-scrollbar        { width: 4px; height: 4px; }
*::-webkit-scrollbar-track  { background: transparent; }
*::-webkit-scrollbar-thumb  { background: #2a2a2a; border-radius: 99px; }