/* ==========================================================
   Ativa Movea — Theme V2 (componentes)
   Camada aditiva de refinamento visual, aplicada sobre os três
   subsistemas de estilo do sistema (app principal, módulo V12
   legado, módulo SKU) usando os tokens de theme-v2-tokens.css.
   Não altera marcação, lógica, queries ou permissões — só
   seletores CSS já existentes. Carregar por último, depois de
   theme-v2-tokens.css.
   ========================================================== */

body{
  font-family:var(--tv2-font-body);
  background:var(--tv2-bg) !important;
  color:var(--tv2-ink);
}
h1,h2,h3,.metric-card strong,.am-title h1,.sku-header h1{
  font-family:var(--tv2-font-heading);
  letter-spacing:var(--tv2-tracking-heading);
}

/* ---------- Sidebar / navegação (app principal) ---------- */
.sidebar{
  background:linear-gradient(180deg,var(--tv2-sidebar-start),var(--tv2-sidebar-end)) !important;
  box-shadow:var(--tv2-shadow-lg);
}
.sidebar nav a{
  color:var(--tv2-sidebar-text-muted);
  border-radius:var(--tv2-radius-sm);
}
.sidebar nav a span{color:var(--tv2-rose-soft)}
.sidebar nav a:hover,.sidebar nav a.active{
  background:linear-gradient(135deg,rgba(182,103,124,.32),rgba(182,103,124,.14)) !important;
  color:#fff !important;
}
.sidebar-user{border-top-color:rgba(255,255,255,.1)}
.avatar{background:var(--tv2-rose)}
.mobile-bottom-nav .active{color:var(--tv2-rose-strong) !important}

/* ---------- Login ---------- */
.auth-bg{
  background:
    radial-gradient(circle at 15% 10%,rgba(182,103,124,.32),transparent 30%),
    radial-gradient(circle at 85% 75%,rgba(28,20,24,.3),transparent 35%),
    linear-gradient(135deg,var(--tv2-sidebar-start),var(--tv2-sidebar-end) 55%,var(--tv2-rose)) !important;
}
.auth-brand h1{color:var(--tv2-ink)}

/* ---------- Topbar ---------- */
.topbar{border-bottom-color:var(--tv2-line)}
.online-dot{background:var(--tv2-ok)}

/* ---------- Botões (app principal / V12 / SKU) ---------- */
.btn,.am-btn,.sku-btn{
  border-radius:var(--tv2-radius-sm) !important;
  min-height:var(--tv2-tap-min);
  transition:transform .15s ease,box-shadow .15s ease;
}
.btn.primary,.am-btn:not(.secondary):not(.danger):not(.warn),.sku-btn:not(.secondary):not(.danger){
  background:linear-gradient(135deg,var(--tv2-rose),var(--tv2-rose-strong)) !important;
  color:#fff !important;
  box-shadow:var(--tv2-shadow-sm);
}
.btn.dark{background:var(--tv2-ink) !important;color:#fff !important}
.btn.ghost,.am-btn.secondary,.sku-btn.secondary{
  background:var(--tv2-rose-pale) !important;
  color:var(--tv2-rose-strong) !important;
  border:1px solid var(--tv2-line) !important;
}
.btn.danger,.am-btn.danger,.sku-btn.danger{
  background:var(--tv2-danger-soft) !important;
  color:var(--tv2-danger) !important;
}
.am-btn.warn{background:var(--tv2-warn-soft) !important;color:var(--tv2-warn) !important}
.btn:hover,.am-btn:hover,.sku-btn:hover,.am-pill:hover{
  transform:translateY(-1px);
  box-shadow:var(--tv2-shadow-md);
}
.icon-btn{color:var(--tv2-rose-strong)}
.am-pill{border-color:var(--tv2-line) !important}

/* ---------- Cards / painéis ---------- */
.card,.am-card,.am-stat,.sku-card{
  background:var(--tv2-paper) !important;
  border-color:var(--tv2-line) !important;
  border-radius:var(--tv2-radius-lg) !important;
  box-shadow:var(--tv2-shadow-sm) !important;
}
.metric-card{
  border-radius:var(--tv2-radius-lg) !important;
  box-shadow:var(--tv2-shadow-md) !important;
}
.metric-card:not(.dark):not(.light):not(.gold){
  background:linear-gradient(145deg,var(--tv2-rose),var(--tv2-rose-strong)) !important;
}
.metric-card.dark{background:linear-gradient(145deg,var(--tv2-ink),var(--tv2-ink-2)) !important}
.metric-card.light{background:linear-gradient(145deg,#fff,var(--tv2-rose-soft)) !important;color:var(--tv2-ink) !important;border-color:var(--tv2-line) !important}
.metric-card.gold{background:linear-gradient(145deg,var(--tv2-gold),var(--tv2-gold-strong)) !important}
.am-stat strong,.am-title h1{color:var(--tv2-ink)}

/* ---------- Tabelas ---------- */
.table-wrap,.am-table-wrap{border-color:var(--tv2-line) !important;border-radius:var(--tv2-radius-md) !important}
th,.am-table th,.sku-table th{background:var(--tv2-rose-pale) !important;color:var(--tv2-ink-2) !important}
td,.am-table td,.sku-table td{border-top-color:var(--tv2-line) !important;border-bottom-color:var(--tv2-line) !important}
tbody tr:hover td{background:var(--tv2-rose-pale) !important}

/* ---------- Formulários ---------- */
input,select,textarea,.am-field input,.am-field select,.am-field textarea,.sku-field input,.sku-field select,.sku-field textarea{
  border-color:var(--tv2-line) !important;
  border-radius:var(--tv2-radius-sm) !important;
  min-height:var(--tv2-tap-min);
}
input:focus,select:focus,textarea:focus,
.am-field input:focus,.am-field select:focus,.am-field textarea:focus,
.sku-field input:focus,.sku-field select:focus,.sku-field textarea:focus{
  border-color:var(--tv2-rose) !important;
  box-shadow:0 0 0 4px rgba(182,103,124,.16) !important;
}

/* ---------- Badges / status (app principal) ---------- */
.badge{background:var(--tv2-rose-soft) !important;color:var(--tv2-ink-2) !important}
.badge.success,.status-concluido,.status-confirmado{background:var(--tv2-ok-soft) !important;color:var(--tv2-ok) !important}
.badge.warning,.status-separacao{background:var(--tv2-warn-soft) !important;color:var(--tv2-warn) !important}
.badge.danger,.status-cancelado{background:var(--tv2-danger-soft) !important;color:var(--tv2-danger) !important}
.status-orcamento{background:#e9eaf3 !important;color:#555d84 !important}
.status-enviado{background:var(--tv2-info-soft) !important;color:var(--tv2-info) !important}
/* Status de peças piloto (mesmo esquema, cobre os valores do enum de pilot_projects) */
.status-ideia,.status-desenvolvimento,.status-modelagem{background:#e9eaf3 !important;color:#555d84 !important}
.status-corte,.status-costura,.status-teste,.status-ajustes{background:var(--tv2-warn-soft) !important;color:var(--tv2-warn) !important}
.status-piloto,.status-producao{background:var(--tv2-info-soft) !important;color:var(--tv2-info) !important}
.status-aprovada{background:var(--tv2-ok-soft) !important;color:var(--tv2-ok) !important}
/* Status de lotes de produção (production_batches) */
.status-aguardando_tecido{background:#e9eaf3 !important;color:#555d84 !important}
.status-cortando{background:var(--tv2-warn-soft) !important;color:var(--tv2-warn) !important}
.status-em_faccao,.status-aplicando_dtf{background:var(--tv2-info-soft) !important;color:var(--tv2-info) !important}
.status-finalizado{background:var(--tv2-ok-soft) !important;color:var(--tv2-ok) !important}

.am-badge{background:var(--tv2-rose-soft) !important;color:var(--tv2-ink-2) !important}
.am-badge.green{background:var(--tv2-ok-soft) !important;color:var(--tv2-ok) !important}
.am-badge.red{background:var(--tv2-danger-soft) !important;color:var(--tv2-danger) !important}
.sku-badge{background:var(--tv2-rose-soft) !important;color:var(--tv2-ink-2) !important}
.stock.warning{background:var(--tv2-warn-soft) !important;color:var(--tv2-warn) !important}
.stock.danger{background:var(--tv2-danger-soft) !important;color:var(--tv2-danger) !important}

/* ---------- Alertas ---------- */
.alert.success,.am-alert.ok,.sku-alert.ok{background:var(--tv2-ok-soft) !important;color:var(--tv2-ok) !important}
.alert.error,.am-alert.err,.sku-alert.err{background:var(--tv2-danger-soft) !important;color:var(--tv2-danger) !important}
.am-alert.warn{background:var(--tv2-warn-soft) !important;color:var(--tv2-warn) !important}
.note{background:var(--tv2-rose-pale) !important;border-color:var(--tv2-line) !important}
