/*
 * adq.css — visual do GoCode Adquirente: moderno e "suspenso" (barra do topo e cartões flutuando, sombras suaves,
 * cantos bem arredondados), em tons de roxo. Carregado por último (theme_styles()): só ajusta aparência, não muda
 * comportamento. A cor principal continua vindo da marca (--kt-primary); o roxo é o padrão quando a empresa não
 * escolheu outra (DEFAULT_COLOR_PRIMARY no .env).
 */
:root {
  --adq-roxo: var(--kt-primary, #820ad1);
  --adq-roxo-escuro: #5b0a95;
  --adq-fundo: #f4f1f8;                 /* lilás bem claro: os cartões brancos "saltam" do fundo */
  --adq-card: #ffffff;
  --adq-borda: #ece6f3;
  --adq-texto: #1f1530;
  --adq-texto-2: #6f6680;
  --adq-raio: 20px;
  --adq-raio-sm: 12px;
  --adq-sombra: 0 1px 2px rgba(45, 16, 80, .04), 0 8px 28px rgba(45, 16, 80, .07);
  --adq-sombra-alta: 0 2px 4px rgba(45, 16, 80, .06), 0 18px 44px rgba(45, 16, 80, .14);
  --kt-text-dark: var(--adq-texto);
  --bs-body-color: var(--adq-texto);
  --bs-border-radius: 12px;
  --bs-border-radius-sm: 10px;
  --bs-border-radius-lg: 16px;
}

/* ---------------------------------------------------------------- base */
.app-body { background: var(--adq-fundo); color: var(--adq-texto); }
h1, h2, h3, h4, h5, h6, .card-title { letter-spacing: -.01em; }

/* ---------------------------------------------------------------- barra do topo flutuante */
.app-header {
  position: sticky; top: 12px; z-index: 1030;
  margin: 12px 12px 4px;
  border-radius: var(--adq-raio);
  background: linear-gradient(120deg, var(--adq-roxo) 0%, var(--adq-roxo-escuro) 100%) !important;
  box-shadow: 0 10px 30px rgba(91, 10, 149, .28);
  border-bottom: 0 !important;
}
.app-header .container-xxl { padding-top: .55rem !important; padding-bottom: .55rem !important; }
.app-nav-link { border-radius: 999px; padding-left: .85rem; padding-right: .85rem; color: rgba(255, 255, 255, .86); }
.app-nav-link:hover { background: rgba(255, 255, 255, .14); color: #fff; }
.app-nav-link.active { background: #fff; color: var(--adq-roxo) !important; box-shadow: 0 4px 12px rgba(0, 0, 0, .12); }
.app-user-btn { border-radius: 999px; background: rgba(255, 255, 255, .14); border: 0; }
.app-user-btn:hover { background: rgba(255, 255, 255, .24); }
.app-header .dropdown-menu { margin-top: 10px !important; }

/* ---------------------------------------------------------------- cartões suspensos */
.card {
  background: var(--adq-card);
  border: 1px solid var(--adq-borda);
  border-radius: var(--adq-raio);
  box-shadow: var(--adq-sombra);
}
.card > .card-header { background: transparent; border-bottom: 1px solid var(--adq-borda); border-radius: var(--adq-raio) var(--adq-raio) 0 0; }
.card > .card-footer { background: transparent; border-top: 1px solid var(--adq-borda); border-radius: 0 0 var(--adq-raio) var(--adq-raio); }
.stat-card { transition: transform .18s ease, box-shadow .18s ease; }
.stat-card:hover { transform: translateY(-3px); box-shadow: var(--adq-sombra-alta); }
.stat-icon { border-radius: 14px; }

/* ---------------------------------------------------------------- botões em pílula */
.btn { border-radius: 999px; font-weight: 600; padding-left: 1.15rem; padding-right: 1.15rem; }
.btn-sm { padding-left: .9rem; padding-right: .9rem; }
.btn-icon, .btn.btn-icon { padding-left: 0; padding-right: 0; }
.btn-primary { background: var(--adq-roxo); border-color: var(--adq-roxo); box-shadow: 0 6px 16px rgba(var(--kt-primary-rgb, 130, 10, 209), .28); }
.btn-primary:hover, .btn-primary:focus { background: var(--kt-primary-active, #6a08ab); border-color: var(--kt-primary-active, #6a08ab); transform: translateY(-1px); }
.btn-light { background: #f1ecf7; border-color: #f1ecf7; color: var(--adq-texto); }
.btn-light:hover { background: #e7dff1; border-color: #e7dff1; }
.btn-light-primary { background: rgba(var(--kt-primary-rgb, 130, 10, 209), .1); color: var(--adq-roxo); border: 0; }
.btn-light-primary:hover { background: var(--adq-roxo); color: #fff; }

/* ---------------------------------------------------------------- campos */
.form-control, .form-select { border-radius: var(--adq-raio-sm); border-color: #e3dcec; background-color: #fcfbfe; padding-top: .7rem; padding-bottom: .7rem; }
.form-control:focus, .form-select:focus { border-color: var(--adq-roxo); box-shadow: 0 0 0 4px rgba(var(--kt-primary-rgb, 130, 10, 209), .14); background-color: #fff; }
.input-group > .form-control, .input-group > .form-select { border-radius: var(--adq-raio-sm); }
.input-group-text { border-radius: var(--adq-raio-sm); background: #f4f0f9; border-color: #e3dcec; }
.form-check-input:checked { background-color: var(--adq-roxo); border-color: var(--adq-roxo); }

/* ---------------------------------------------------------------- tabelas, menus suspensos, avisos, etiquetas */
.sheet-wrap { border-color: var(--adq-borda); border-radius: 16px; }
.table > thead th { color: var(--adq-texto-2); font-weight: 600; text-transform: uppercase; font-size: .8rem; letter-spacing: .04em; }
.dropdown-menu { border: 1px solid var(--adq-borda); border-radius: 16px; box-shadow: var(--adq-sombra-alta); padding: .5rem; }
.dropdown-item { border-radius: 10px; padding: .55rem .8rem; }
.dropdown-item:hover, .dropdown-item:focus { background: rgba(var(--kt-primary-rgb, 130, 10, 209), .08); color: var(--adq-roxo); }
.dropdown-item.active, .dropdown-item:active { background: var(--adq-roxo); color: #fff; }
.alert { border-radius: 16px; border-width: 1px; }
.badge { border-radius: 999px; font-weight: 600; padding: .4em .75em; }
.modal-content { border: 0; border-radius: 24px; box-shadow: var(--adq-sombra-alta); }
.nav-line-tabs .nav-link.active, .nav-tabs .nav-link.active { color: var(--adq-roxo); border-bottom-color: var(--adq-roxo); }
.progress { border-radius: 999px; background: #ece6f3; }
.progress-bar { border-radius: 999px; }
.pagination .page-link { border-radius: 10px !important; margin: 0 2px; border: 0; }

/* ---------------------------------------------------------------- telas de login e cadastro */
.auth-page { background: radial-gradient(1200px 600px at 10% -10%, rgba(130, 10, 209, .22), transparent 60%),
                         radial-gradient(900px 500px at 110% 110%, rgba(91, 10, 149, .18), transparent 60%), var(--adq-fundo); }
.auth-card .card, .auth-card.card { box-shadow: var(--adq-sombra-alta); }

/* ---------------------------------------------------------------- celular */
@media (max-width: 991.98px) {
  .app-header { top: 8px; margin: 8px 8px 2px; border-radius: 18px; }
}
@media (max-width: 767.98px) {
  .card { border-radius: 18px; }
}

/* ================================================================ modo escuro */
[data-bs-theme=dark] {
  --adq-fundo: #121017;
  --adq-card: #1c1924;
  --adq-borda: #2b2636;
  --adq-texto: #ece8f3;
  --adq-texto-2: #a79fb6;
  --adq-roxo-escuro: #3d0766;
  --adq-sombra: 0 1px 2px rgba(0, 0, 0, .3), 0 10px 30px rgba(0, 0, 0, .35);
  --adq-sombra-alta: 0 2px 6px rgba(0, 0, 0, .4), 0 20px 48px rgba(0, 0, 0, .5);
  --kt-text-dark: #f3f0f8;
  --bs-body-color: #ddd7e7;
}
[data-bs-theme=dark] body, [data-bs-theme=dark] .app-body { background: var(--adq-fundo); color: #ddd7e7; }
[data-bs-theme=dark] .card, [data-bs-theme=dark] .modal-content, [data-bs-theme=dark] .dropdown-menu { background-color: var(--adq-card) !important; border-color: var(--adq-borda); }
[data-bs-theme=dark] .app-header, [data-bs-theme=dark] .app-header.brand-bg { background: linear-gradient(120deg, #6a0bb0 0%, var(--adq-roxo-escuro) 100%) !important; border-bottom: 0 !important; box-shadow: 0 10px 30px rgba(0, 0, 0, .45); }
[data-bs-theme=dark] .app-header .app-user-btn { background: rgba(255, 255, 255, .14) !important; border-color: transparent !important; color: #fff !important; }
[data-bs-theme=dark] .sheet-avatar { color: #d9b8ff; background: rgba(178, 107, 255, .16); }
[data-bs-theme=dark] .app-nav-link.active { background: rgba(255, 255, 255, .95); color: #5b0a95 !important; }
[data-bs-theme=dark] .btn-light { background: #2a2534; border-color: #2a2534; color: #ddd7e7; }
[data-bs-theme=dark] .btn-light:hover { background: #352f42; border-color: #352f42; }
[data-bs-theme=dark] .btn-light-primary { background: rgba(178, 107, 255, .14); color: #c79bff; }
[data-bs-theme=dark] .form-control, [data-bs-theme=dark] .form-select { background-color: #17141e; border-color: #2f2a3b; }
[data-bs-theme=dark] .form-control:focus, [data-bs-theme=dark] .form-select:focus { background-color: #1a1622; border-color: #b26bff; }
[data-bs-theme=dark] .input-group-text { background: #221e2b; border-color: #2f2a3b; }
[data-bs-theme=dark] .dropdown-item:hover, [data-bs-theme=dark] .dropdown-item:focus { background: rgba(178, 107, 255, .12); color: #e3ccff; }
[data-bs-theme=dark] .progress { background: #2b2636; }
[data-bs-theme=dark] .auth-page { background: radial-gradient(1200px 600px at 10% -10%, rgba(130, 10, 209, .28), transparent 60%),
                                              radial-gradient(900px 500px at 110% 110%, rgba(91, 10, 149, .22), transparent 60%), var(--adq-fundo); }

/* opção escolhida em grupos de botões (compra/aluguel/comodato, estados da equipe) */
.btn-check:checked + .btn-light, .btn-check:checked + .btn-light:hover { background: var(--adq-roxo); border-color: var(--adq-roxo); color: #fff; box-shadow: 0 6px 16px rgba(var(--kt-primary-rgb, 130, 10, 209), .28); }
[data-bs-theme=dark] .btn-check:checked + .btn-light { background: #8f2be0; border-color: #8f2be0; color: #fff; }
