:root {
    --azul: #1a4f72; --azul2: #2980b9; --verde: #27ae60; --laranja: #e67e22;
    --gold: #f39c12; --vermelho: #e74c3c; --cinza: #7f8c8d;
    --fundo: #eef2f6; --card: #ffffff; --sand: #f5f0e8; --light: #ecf0f1;
    --borda: #e3eaf0; --input-bg: #ffffff; --texto: #2c3e50;
    --sombra: 0 1px 2px rgba(15,35,52,.05), 0 6px 24px rgba(15,35,52,.07);
    --sombra-hover: 0 4px 8px rgba(15,35,52,.08), 0 14px 38px rgba(15,35,52,.13);
    --grad: linear-gradient(135deg, var(--azul) 0%, var(--azul2) 100%);
    --radius: 14px; --radius-sm: 10px;
    --ring: 0 0 0 3px color-mix(in srgb, var(--azul2) 25%, transparent);
    --ease: cubic-bezier(.2,.8,.3,1);
}

/* ===== TEMAS — body[data-tema=*] sobrescreve as variáveis ===== */
body[data-tema="light"] {
    --azul:#1a4f72; --azul2:#2980b9; --verde:#27ae60; --laranja:#e67e22; --gold:#f39c12; --vermelho:#e74c3c;
    --fundo:#eef2f6; --card:#ffffff; --sand:#f5f0e8; --light:#ecf0f1; --borda:#e3eaf0; --input-bg:#ffffff;
    --texto:#2c3e50; --cinza:#7f8c8d;
    --sombra:0 1px 2px rgba(15,35,52,.05), 0 6px 24px rgba(15,35,52,.07);
}
body[data-tema="dark"] {
    --azul:#4a90d9; --azul2:#5dade2; --verde:#2ecc71; --laranja:#e67e22; --gold:#f39c12; --vermelho:#e74c3c;
    --fundo:#0f141b; --card:#1b2430; --sand:#222b37; --light:#2c3845; --borda:#33414f; --input-bg:#141b24;
    --texto:#e6edf3; --cinza:#9aa7b4;
    --sombra:0 1px 2px rgba(0,0,0,.3), 0 6px 24px rgba(0,0,0,.45);
    color-scheme: dark;
}
body[data-tema="blue"] {
    --azul:#1565c0; --azul2:#1e88e5; --verde:#2e9e5b; --laranja:#fb8c00; --gold:#fbc02d; --vermelho:#e53935;
    --fundo:#eef5fb; --card:#ffffff; --sand:#e3f2fd; --light:#d6e4f0; --borda:#cfe0f0; --input-bg:#ffffff;
    --texto:#0d2b45; --cinza:#5a7a93;
    --sombra:0 1px 2px rgba(21,101,192,.06), 0 6px 24px rgba(21,101,192,.13);
}
body[data-tema="orange"] {
    --azul:#e65100; --azul2:#fb8c00; --verde:#43a047; --laranja:#fb8c00; --gold:#f39c12; --vermelho:#d84315;
    --fundo:#fdf6ef; --card:#ffffff; --sand:#fff3e0; --light:#f3e2d2; --borda:#f0ddca; --input-bg:#ffffff;
    --texto:#3e2415; --cinza:#9c7a63;
    --sombra:0 1px 2px rgba(230,81,0,.06), 0 6px 24px rgba(230,81,0,.13);
}
body[data-tema="purple"] {
    --azul:#7b2ff7; --azul2:#a855f7; --verde:#2e9e6b; --laranja:#d6409f; --gold:#d946ef; --vermelho:#e0457b;
    --fundo:#f7f2fc; --card:#ffffff; --sand:#f3ebfb; --light:#ece2f7; --borda:#e7dcf4; --input-bg:#ffffff;
    --texto:#3a2a55; --cinza:#8a7aa6;
    --sombra:0 1px 2px rgba(123,47,247,.07), 0 8px 28px rgba(123,47,247,.14);
    --grad: linear-gradient(135deg, #6d28d9 0%, #a855f7 100%);
}

* { box-sizing: border-box; }
body { font-family: 'Inter', 'Segoe UI', system-ui, -apple-system, Arial, sans-serif; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; margin: 0; background: var(--fundo); color: var(--texto); font-size: 14px; }
a { color: var(--azul2); text-decoration: none; }
::selection { background: color-mix(in srgb, var(--azul2) 25%, transparent); }
*::-webkit-scrollbar { width: 10px; height: 10px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { background: color-mix(in srgb, var(--cinza) 38%, transparent); border-radius: 8px; border: 2px solid transparent; background-clip: content-box; }
*::-webkit-scrollbar-thumb:hover { background: color-mix(in srgb, var(--cinza) 60%, transparent); border: 2px solid transparent; background-clip: content-box; }
:focus-visible { outline: none; box-shadow: var(--ring); border-radius: 6px; }
/* controles nativos legíveis no escuro */
body[data-tema="dark"] select, body[data-tema="dark"] input, body[data-tema="dark"] textarea { color-scheme: dark; }
body[data-tema="dark"] select option, body[data-tema="dark"] select optgroup { background:#1b2430; color:#e6edf3; }

.layout { display: flex; min-height: 100vh; }
.sidebar { width: 238px; background: linear-gradient(172deg, var(--azul) 0%, color-mix(in srgb, var(--azul) 72%, var(--azul2)) 55%, var(--azul2) 130%); color: #fff; padding: 18px 0 14px; flex-shrink: 0; display: flex; flex-direction: column; }
body[data-tema="dark"] .sidebar { background: var(--card); border-right: 1px solid var(--borda); }
.nav-grupo { padding: 14px 20px 5px; font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: 1.2px; color: rgba(255,255,255,.48); }
body[data-tema="dark"] .nav-grupo { color: var(--cinza); }

/* Cabeçalho temático de formulário (padrão) */
.form-card .form-head { margin: -20px -22px 18px; padding: 16px 22px; background: var(--grad); color: #fff; border-radius: var(--radius) var(--radius) 0 0; display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.form-head .fh-avatar { width: 46px; height: 46px; border-radius: 50%; background: rgba(255,255,255,.2); color: #fff; font-weight: 800; font-size: 22px; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border: 2px solid rgba(255,255,255,.4); }
.form-head .fh-info { min-width: 0; }
.form-head .fh-nome { font-size: 18px; font-weight: 800; line-height: 1.2; }
.form-head .fh-sub { font-size: 12.5px; opacity: .9; margin-top: 2px; }
.form-head .fh-flags { margin-left: auto; display: flex; gap: 6px; flex-wrap: wrap; }
.form-head .fh-flag { background: rgba(255,255,255,.92); color: #243; font-size: 11px; font-weight: 700; padding: 4px 9px; border-radius: 999px; box-shadow: 0 2px 6px rgba(0,0,0,.15); }

/* Subtítulo de seção dentro das abas */
.sec-sub { font-size: 12.5px; font-weight: 800; color: var(--azul); text-transform: uppercase; letter-spacing: .5px; border-bottom: 1px solid var(--light); padding-bottom: 7px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }

.opcao-sim { margin-top: 4px; padding: 8px 10px; border-radius: 6px; background: var(--sand); font-size: 12px; font-weight: 700; color: var(--azul); min-height: 18px; line-height: 1.4; }

/* Modal "Gerar Orçamento p/ Cliente" */
.orc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; margin-bottom: 4px; }
.orc-check { display: flex; align-items: center; gap: 9px; padding: 9px 11px; border: 1px solid var(--borda); border-radius: 9px; background: var(--sand); font-size: 12.5px; font-weight: 600; color: var(--texto); cursor: pointer; transition: .12s; }
.orc-check:hover { border-color: var(--azul2); }
.orc-check input { width: 16px; height: 16px; accent-color: var(--azul); cursor: pointer; flex-shrink: 0; }
.orc-check:has(input:checked) { background: rgba(41,128,185,.1); border-color: var(--azul2); }
.orc-link-sec { margin-top: 16px; border-top: 1px solid var(--borda); padding-top: 14px; }
.orc-modal-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 16px; border-top: 1px solid var(--borda); padding-top: 14px; }
@media (max-width: 560px) { .orc-grid { grid-template-columns: 1fr; } }

/* Modal de mensagens prontas */
.msgs-lista { max-height: 56vh; overflow-y: auto; display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.msg-item { border: 1px solid var(--borda); border-radius: 10px; padding: 10px 12px; background: var(--sand); }
.msg-item-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.msg-item-top b { font-size: 13px; color: var(--texto); }
.msg-item-txt { font-size: 12.5px; color: var(--cinza); line-height: 1.5; white-space: normal; }

/* Foto do destino (viagens) */
.foto-destino { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.foto-destino .foto-prev { width: 72px; height: 54px; object-fit: cover; border-radius: 8px; border: 1px solid var(--borda); background: var(--sand); flex-shrink: 0; }
.foto-destino input[type="url"] { flex: 1; min-width: 180px; }
.foto-destino .foto-btn, .foto-destino .foto-rm { margin: 0; cursor: pointer; white-space: nowrap; }
.foto-hint { display: block; font-size: 11px; color: var(--cinza); margin-top: 6px; }

/* Checklist da viagem (Documentos + Pré-embarque lado a lado, fiel ao plugin) */
.check-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
.check-sec .check-title { font-size: 13px; font-weight: 800; color: var(--azul); text-transform: uppercase; letter-spacing: .5px; border-bottom: 1px solid var(--light); padding-bottom: 8px; margin-bottom: 6px; display: flex; align-items: center; gap: 6px; }
.checklist { list-style: none; margin: 0; padding: 0; }
.checklist li { border-bottom: 1px solid var(--light); }
.checklist li:last-child { border-bottom: 0; }
.checklist label { display: flex; align-items: center; gap: 10px; padding: 10px 2px; cursor: pointer; font-size: 13.5px; font-weight: 500; color: var(--texto); }
.checklist input[type="checkbox"] { width: 17px; height: 17px; cursor: pointer; accent-color: var(--azul); flex-shrink: 0; }
@media (max-width: 600px) { .check-grid { grid-template-columns: 1fr; gap: 18px; } }
.sidebar .marca { padding: 0 20px 18px; font-size: 17px; font-weight: 800; display: flex; align-items: center; gap: 8px; }
.sidebar .marca small { display: block; font-size: 10.5px; font-weight: 400; opacity: .7; }
.sidebar nav { flex: 1; padding: 0 10px; }
.sidebar nav a { display: flex; align-items: center; gap: 10px; padding: 8px 12px; margin: 1px 0; color: #e8f1fa; font-size: 13.5px; border-radius: 9px; transition: background .14s var(--ease), transform .14s var(--ease); }
.sidebar nav a:hover { background: rgba(255,255,255,.09); color: #fff; transform: translateX(2px); }
.sidebar nav a.ativo { background: rgba(255,255,255,.16); color: #fff; font-weight: 700; box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 2px 8px rgba(0,0,0,.14); }
.sidebar nav a.ativo::before { content: ''; width: 3px; height: 16px; border-radius: 3px; background: var(--gold); margin-left: -6px; flex-shrink: 0; }
body[data-tema="dark"] .sidebar nav a { color: var(--texto); }
body[data-tema="dark"] .sidebar nav a:hover { background: var(--sand); }
body[data-tema="dark"] .sidebar nav a.ativo { background: color-mix(in srgb, var(--azul2) 16%, transparent); box-shadow: none; color: var(--azul2); }
.sidebar .rodape-side { padding: 14px 20px 0; font-size: 11.5px; }
.sidebar .rodape-dev { display: flex; align-items: center; gap: 8px; }
.sidebar .rodape-dev-link { color: #fff; text-decoration: none; opacity: .85; line-height: 1.3; }
.sidebar .rodape-dev-link strong { font-weight: 800; }
.sidebar .rodape-dev-link:hover { opacity: 1; }
.sidebar .rodape-wpp { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; flex-shrink: 0; border-radius: 50%; background: #25d366; color: #fff; transition: .15s; }
.sidebar .rodape-wpp:hover { transform: scale(1.08); }
.sidebar .rodape-ver { margin-top: 6px; color: #fff; opacity: .55; }

.main { flex: 1; min-width: 0; }
.topbar { background: color-mix(in srgb, var(--card) 86%, transparent); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border-bottom: 1px solid var(--borda); box-shadow: 0 1px 12px rgba(15,35,52,.05); padding: 12px 26px; display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 20; }
.topbar .titulo { font-size: 18px; font-weight: 800; color: var(--azul); letter-spacing: -.3px; white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
.topbar .titulo .titulo-ico { display: inline-flex; color: var(--azul); }
.topbar .titulo .ts-ico { display: block; }
.sidebar nav a .ts-ico { flex-shrink: 0; opacity: .92; }
.sidebar nav a.ativo .ts-ico { opacity: 1; }
.topbar-esq { display: flex; align-items: center; gap: 14px; min-width: 0; flex: 1; }
.busca-global { position: relative; flex: 0 1 280px; min-width: 0; }
.busca-global input { width: 100%; border: 1px solid var(--borda); border-radius: 9px; padding: 8px 12px; font-size: 13px; background: var(--input-bg); color: var(--texto); }
.busca-global input:focus { outline: 2px solid rgba(41,128,185,.25); border-color: var(--azul2); }
.busca-res { display: none; position: absolute; top: calc(100% + 6px); left: 0; right: 0; background: var(--card); border: 1px solid var(--borda); border-radius: 12px; box-shadow: var(--sombra-hover); overflow: hidden; z-index: 50; max-height: 70vh; overflow-y: auto; min-width: 280px; }
.busca-res.aberto { display: block; }
.busca-item { display: flex; flex-direction: column; gap: 1px; padding: 9px 14px; border-bottom: 1px solid var(--light); text-decoration: none; }
.busca-item:last-child { border-bottom: 0; }
.busca-item:hover { background: var(--sand); }
.busca-item .bt { font-size: 10.5px; color: var(--cinza); text-transform: uppercase; letter-spacing: .3px; }
.busca-item .bl { font-size: 13px; font-weight: 600; color: var(--texto); }
.busca-vazio { padding: 12px 14px; font-size: 12.5px; color: var(--cinza); }
@media (max-width: 720px) { .busca-global { display: none; } }
.frase { display: inline-flex; align-items: center; gap: 8px; background: var(--sand); border: 1px solid var(--borda); border-radius: 20px; padding: 4px 14px 4px 5px; font-size: 13px; min-width: 0; }
.frase-btn { border: 0; background: var(--azul); color: #fff; width: 28px; height: 28px; border-radius: 50%; cursor: pointer; font-size: 14px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: .15s; }
.frase-btn:hover { background: var(--azul2); transform: scale(1.08); }
.frase-txt { cursor: pointer; color: var(--texto); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.frase-txt strong { color: var(--azul); }
.frase-txt em { color: var(--cinza); font-style: normal; }
@media (max-width: 860px) { .frase { display: none; } }
.topbar .usuario { font-size: 12.5px; color: var(--cinza); display: flex; align-items: center; gap: 12px; }
.sino { position: relative; }
.sino-btn { position: relative; border: 0; background: none; cursor: pointer; font-size: 18px; line-height: 1; padding: 4px; }
.sino-badge { position: absolute; top: -2px; right: -3px; background: var(--vermelho); color: #fff; font-size: 9px; font-weight: 800; min-width: 15px; height: 15px; border-radius: 8px; display: flex; align-items: center; justify-content: center; padding: 0 3px; }
.sino-drop { display: none; position: absolute; top: calc(100% + 8px); right: 0; width: 300px; background: var(--card); border: 1px solid var(--borda); border-radius: 12px; box-shadow: var(--sombra-hover); overflow: hidden; z-index: 60; }
.sino-drop.aberto { display: block; }
.sino-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 14px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .4px; color: var(--cinza); border-bottom: 1px solid var(--light); }
.sino-limpar { border: 0; background: none; color: var(--azul, #2980b9); font-size: 11px; font-weight: 700; cursor: pointer; padding: 2px 4px; text-transform: none; letter-spacing: 0; }
.sino-limpar:hover { text-decoration: underline; }
.sino-lista { max-height: 340px; overflow-y: auto; }
.sino-item { display: flex; align-items: center; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--light); text-decoration: none; }
.sino-item:last-child { border-bottom: 0; }
.sino-item:hover { background: var(--sand); }
.sino-item.nova { background: rgba(41,128,185,.08); }
.sino-item.nova .si-txt { font-weight: 700; }
.sino-item .si-ico { font-size: 17px; }
.sino-item .si-txt { font-size: 12.5px; color: var(--texto); }
.sino-vazio { padding: 16px 14px; font-size: 12.5px; color: var(--cinza); text-align: center; }
@keyframes sino-tremer { 0%,100%{transform:rotate(0)} 15%{transform:rotate(16deg)} 30%{transform:rotate(-14deg)} 45%{transform:rotate(11deg)} 60%{transform:rotate(-8deg)} 75%{transform:rotate(4deg)} }
.sino-btn.tremer { animation: sino-tremer .55s ease-in-out infinite; transform-origin: 50% 4px; }
.bemvindo { display: flex; align-items: center; gap: 8px; line-height: 1.15; background: transparent; border: 0; cursor: pointer; padding: 4px 8px; border-radius: 999px; transition: background .15s; }
.bemvindo:hover { background: rgba(127,127,127,.14); }
.bv-avatar { width: 30px; height: 30px; border-radius: 50%; background: linear-gradient(135deg, var(--azul), var(--azul2)); color: #fff; font-weight: 800; font-size: 14px; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 2px 6px rgba(0,0,0,.2); flex-shrink: 0; }
.bv-nome { font-size: 13px; font-weight: 600; color: var(--texto); white-space: nowrap; }

/* Modal de perfil do usuário */
.perfil-bg { position: fixed; inset: 0; background: rgba(8,12,18,.55); backdrop-filter: blur(3px); z-index: 9998; display: none; align-items: flex-start; justify-content: center; padding: 80px 16px; }
.perfil-bg.aberto { display: flex; animation: perfilFade .18s ease; }
@keyframes perfilFade { from { opacity: 0; } to { opacity: 1; } }
.perfil-modal { position: relative; width: 100%; max-width: 380px; background: var(--card); border: 1px solid var(--borda); border-radius: 16px; box-shadow: 0 24px 60px rgba(0,0,0,.4); padding: 22px; animation: perfilUp .22s cubic-bezier(.2,.9,.3,1.3); }
@keyframes perfilUp { from { transform: translateY(-14px) scale(.97); opacity: 0; } to { transform: none; opacity: 1; } }
.perfil-x { position: absolute; top: 12px; right: 12px; width: 28px; height: 28px; border: 0; border-radius: 8px; background: var(--sand); color: var(--cinza); cursor: pointer; font-size: 13px; }
.perfil-x:hover { background: var(--vermelho); color: #fff; }
.perfil-topo { display: flex; align-items: center; gap: 13px; margin-bottom: 16px; }
.perfil-avatar { width: 52px; height: 52px; border-radius: 50%; background: linear-gradient(135deg, var(--azul), var(--azul2)); color: #fff; font-weight: 800; font-size: 24px; display: inline-flex; align-items: center; justify-content: center; box-shadow: 0 4px 12px rgba(0,0,0,.25); flex-shrink: 0; }
.perfil-nome { font-size: 16px; font-weight: 800; color: var(--texto); }
.perfil-cargo { font-size: 12px; color: var(--azul); font-weight: 600; }
.perfil-infos { margin: 16px 0; }
.pi-linha { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 9px 0; border-bottom: 1px dashed var(--borda); font-size: 13px; }
.pi-linha:last-child { border-bottom: 0; }
.pi-linha span { color: var(--cinza); }
.pi-linha b { color: var(--texto); text-align: right; word-break: break-word; }
.perfil-acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.perfil-acoes .btn { flex: 1 1 auto; justify-content: center; }

/* Botões de ação padrão (ícone) das listas */
.acoes-cel { display: flex; gap: 6px; align-items: center; }
.acoes-cel form { display: inline-flex; margin: 0; }
.btn-acao { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; padding: 0; border-radius: 9px; border: 1px solid var(--borda); background: var(--card); color: var(--cinza); cursor: pointer; transition: all .14s; line-height: 0; }
.btn-acao:hover { transform: translateY(-1px); box-shadow: 0 3px 8px rgba(0,0,0,.16); }
.btn-acao.editar:hover { background: var(--azul); border-color: var(--azul); color: #fff; }
.btn-acao.ver:hover { background: var(--azul2); border-color: var(--azul2); color: #fff; }
.btn-acao.wpp:hover { background: var(--verde); border-color: var(--verde); color: #fff; }
.btn-acao.imprimir:hover { background: var(--azul2); border-color: var(--azul2); color: #fff; }
.btn-acao.converter:hover { background: var(--gold); border-color: var(--gold); color: #fff; }
.btn-acao.excluir:hover { background: var(--vermelho); border-color: var(--vermelho); color: #fff; }

/* Caixa de dias restantes — neon pulsante */
.dias-neon { display: flex; align-items: center; gap: 14px; text-decoration: none; padding: 14px 18px; border-radius: 14px; border: 2px solid #38e0c4; background: linear-gradient(135deg, rgba(56,224,196,.12), rgba(56,224,196,.04)); color: var(--texto); animation: neonPulse 1.6s ease-in-out infinite; }
.dias-neon .dn-num { font-size: 34px; font-weight: 900; line-height: 1; color: #2ec9af; text-shadow: 0 0 12px rgba(56,224,196,.8); }
.dias-neon .dn-txt { font-size: 14px; font-weight: 800; display: flex; flex-direction: column; }
.dias-neon .dn-txt small { font-size: 10.5px; font-weight: 500; color: var(--cinza); margin-top: 2px; }
.dias-neon.urgente { border-color: #ff5a4d; background: linear-gradient(135deg, rgba(255,90,77,.14), rgba(255,90,77,.04)); animation-name: neonPulseRed; }
.dias-neon.urgente .dn-num { color: #ff5a4d; text-shadow: 0 0 12px rgba(255,90,77,.85); }
.dias-neon.ativa { border-color: #34c759; background: linear-gradient(135deg, rgba(52,199,89,.14), rgba(52,199,89,.04)); animation: none; }
.dias-neon.ativa .dn-num { color: #34c759; text-shadow: 0 0 10px rgba(52,199,89,.7); }
@keyframes neonPulse { 0%,100% { box-shadow: 0 0 4px rgba(56,224,196,.4), 0 0 0 rgba(56,224,196,0) inset; border-color: #38e0c4; } 50% { box-shadow: 0 0 20px rgba(56,224,196,.85), 0 0 30px rgba(56,224,196,.4); border-color: #6affe0; } }
@keyframes neonPulseRed { 0%,100% { box-shadow: 0 0 4px rgba(255,90,77,.4); border-color: #ff5a4d; } 50% { box-shadow: 0 0 20px rgba(255,90,77,.9), 0 0 30px rgba(255,90,77,.45); border-color: #ff8b80; } }
@media (prefers-reduced-motion: reduce) { .dias-neon { animation: none; } }
.data-digital { font-family: 'Consolas', 'Courier New', monospace; font-size: 16px; font-weight: 700; letter-spacing: 1.5px; color: #ff8c1a; text-shadow: 0 0 8px rgba(255,140,26,.6); background: #0a0e16; padding: 4px 10px; border-radius: 6px; line-height: 1; white-space: nowrap; }
@media (max-width: 1100px) { .topbar .usuario .pomodoro { display: none; } }
@media (max-width: 760px) { .bv-nome { display: none; } }
.conteudo { padding: 24px 26px; animation: pageIn .28s var(--ease); }
@keyframes pageIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .conteudo, .flash, .ts-modal { animation: none; } }

.flash { padding: 12px 18px; border-radius: 10px; margin-bottom: 16px; font-weight: 600; font-size: 13.5px; animation: flashIn .25s var(--ease); }
@keyframes flashIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.flash-ok { background: rgba(39,174,96,.12); color: var(--verde); border: 1px solid rgba(39,174,96,.3); border-left-width: 4px; }
.flash-erro { background: rgba(231,76,60,.12); color: var(--vermelho); border: 1px solid rgba(231,76,60,.3); border-left-width: 4px; }

.card { background: var(--card); border-radius: var(--radius); box-shadow: var(--sombra); padding: 20px 22px; margin-bottom: 18px; border: 1px solid var(--borda); }
.card h2 { margin: 0 0 16px; font-size: 15px; color: var(--azul); letter-spacing: -.2px; }

.kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 14px; margin-bottom: 18px; }
.kpi { background: var(--card); border-radius: var(--radius); box-shadow: var(--sombra); padding: 16px 18px; border: 1px solid var(--borda); border-top: 3px solid var(--azul2); transition: transform .18s var(--ease), box-shadow .18s var(--ease); }
.kpi:hover { transform: translateY(-2px); box-shadow: var(--sombra-hover); }
.kpi .l { font-size: 11.5px; text-transform: uppercase; letter-spacing: .4px; color: var(--cinza); }
.kpi .v { font-size: 22px; font-weight: 800; color: var(--azul); margin-top: 2px; }
.kpi .s { font-size: 11.5px; color: var(--cinza); }

table.lista { width: 100%; border-collapse: collapse; }
table.lista th { text-align: left; font-size: 11px; text-transform: uppercase; letter-spacing: .6px; color: var(--cinza); padding: 9px 10px; border-bottom: 2px solid var(--borda); background: color-mix(in srgb, var(--sand) 40%, transparent); }
table.lista th:first-child { border-top-left-radius: 8px; }
table.lista th:last-child { border-top-right-radius: 8px; }
table.lista td { padding: 10px; border-bottom: 1px solid var(--light); font-size: 13.5px; vertical-align: middle; }
table.lista tr:hover td { background: var(--sand); }
table.lista tr:hover td:first-child { border-radius: 8px 0 0 8px; }
table.lista tr:hover td:last-child { border-radius: 0 8px 8px 0; }

.btn { display: inline-flex; align-items: center; gap: 6px; border: 0; border-radius: 10px; padding: 9px 16px; font-size: 13px; font-weight: 600; cursor: pointer; background: var(--grad); color: #fff; text-decoration: none; transition: transform .16s var(--ease), box-shadow .16s var(--ease), filter .2s; box-shadow: 0 1px 2px rgba(26,79,114,.2), 0 4px 14px rgba(26,79,114,.22); }
.btn:hover { transform: translateY(-1px); filter: brightness(1.08); box-shadow: 0 2px 4px rgba(26,79,114,.22), 0 8px 22px rgba(26,79,114,.3); }
.btn:active { transform: translateY(0) scale(.98); }
.btn:focus-visible { box-shadow: var(--ring); }
.btn-verde { background: var(--verde); box-shadow: 0 2px 10px rgba(39,174,96,.28); }
.btn-borda { background: var(--card); color: var(--azul); border: 1.5px solid var(--borda); box-shadow: none; }
.btn-vermelho { background: var(--vermelho); box-shadow: 0 2px 10px rgba(231,76,60,.25); }
.btn-sm { padding: 6px 11px; font-size: 12px; border-radius: 8px; }
.btn-ico { padding: 7px 9px; }

.badge { display: inline-block; font-size: 11px; font-weight: 700; padding: 3px 11px; border-radius: 20px; background: rgba(41,128,185,.13); color: var(--azul2); border: 1px solid rgba(41,128,185,.22); }
.badge-verde { background: rgba(39,174,96,.13); color: var(--verde); border-color: rgba(39,174,96,.26); }
.badge-amarelo { background: rgba(243,156,18,.14); color: var(--gold); border-color: rgba(243,156,18,.3); }
.badge-vermelho { background: rgba(231,76,60,.12); color: var(--vermelho); border-color: rgba(231,76,60,.25); }
.badge-cinza { background: var(--light); color: var(--cinza); border-color: var(--borda); }

.form-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.campo { display: flex; flex-direction: column; gap: 4px; }
.campo.c2 { grid-column: span 2; }
.campo.c3 { grid-column: span 3; }
.campo label { font-size: 12px; font-weight: 700; color: var(--texto); }
.campo input, .campo select, .campo textarea { border: 1px solid var(--borda); border-radius: 9px; padding: 9px 11px; font-size: 13.5px; font-family: inherit; background: var(--input-bg); color: var(--texto); transition: border-color .14s, box-shadow .14s; }
.campo input:focus, .campo select:focus, .campo textarea:focus { outline: none; box-shadow: var(--ring); border-color: var(--azul2); }
.campo input:hover:not(:focus), .campo select:hover:not(:focus), .campo textarea:hover:not(:focus) { border-color: color-mix(in srgb, var(--azul2) 45%, var(--borda)); }
.campo textarea { min-height: 80px; resize: vertical; }

.barra-acoes { display: flex; gap: 10px; align-items: center; margin-bottom: 16px; flex-wrap: wrap; }
.barra-acoes input[type=text] { border: 1px solid var(--borda); border-radius: 9px; padding: 9px 12px; font-size: 13.5px; flex: 1; min-width: 200px; max-width: 360px; background: var(--input-bg); color: var(--texto); }
.barra-acoes .total { font-size: 12px; color: var(--cinza); margin-left: auto; }

.kanban { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; }
.kanban .col { background: var(--sand); border-radius: 14px; padding: 0 8px 8px; overflow: hidden; border: 1px solid var(--light); }
.kanban .col h3 { margin: 0 -8px 10px; padding: 11px 13px; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: #fff; background: linear-gradient(135deg, var(--c, #6b7785), var(--c2, #586374)); display: flex; align-items: center; justify-content: space-between; gap: 8px; box-shadow: 0 2px 6px rgba(0,0,0,.18); }
.kanban .col h3 span { background: rgba(255,255,255,.28); color: #fff; font-size: 11px; font-weight: 800; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; }
.kanban .item { background: var(--card); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; box-shadow: 0 1px 4px rgba(0,0,0,.1); font-size: 12.5px; cursor: grab; border: 1px solid var(--light); border-left: 3px solid var(--c, var(--azul)); transition: box-shadow .16s var(--ease), transform .14s var(--ease); }
.kanban .item:hover { box-shadow: 0 4px 12px rgba(0,0,0,.18); transform: translateY(-1px); }
.kanban .item .n { font-weight: 700; color: var(--texto); }
.kanban .item .s { color: var(--azul2); font-size: 11.5px; margin-top: 2px; }
.kanban .col.drag-over { outline: 2px dashed var(--c, var(--azul2)); outline-offset: -2px; }
.kanban .item:hover { cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.18); transform: translateY(-1px); }
.lead-filtros { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 14px; }
.lead-filtros #lead-busca { flex: 1 1 240px; max-width: 340px; padding: 9px 14px; border-radius: 10px; border: 1px solid var(--borda); background: var(--input-bg); color: var(--texto); font-size: 13px; }
.lead-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.lead-chip { padding: 6px 12px; border-radius: 999px; border: 1px solid var(--borda); background: var(--card); color: var(--texto); font-size: 12px; font-weight: 600; cursor: pointer; transition: all .12s; display: inline-flex; align-items: center; gap: 5px; }
.lead-chip b { font-size: 10.5px; opacity: .7; }
.lead-chip:hover { border-color: var(--c, var(--azul)); }
.lead-chip.ativo { background: var(--c, var(--azul)); border-color: var(--c, var(--azul)); color: #fff; }
.lead-chip.ativo b { opacity: .85; }
.form-acoes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; align-items: center; }
.form-acoes .fa-sep { flex: 1 1 auto; }

.login-bg { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, var(--azul), var(--azul2)); padding: 20px; overflow: hidden; }
.login-bg::before { content: ''; position: absolute; width: 560px; height: 560px; border-radius: 50%; background: radial-gradient(circle, rgba(255,255,255,.14), transparent 65%); top: -180px; right: -120px; }
.login-bg::after { content: ''; position: absolute; width: 460px; height: 460px; border-radius: 50%; background: radial-gradient(circle, rgba(0,0,0,.18), transparent 65%); bottom: -160px; left: -110px; }
.login-card { position: relative; z-index: 1; background: var(--card); border-radius: 20px; padding: 36px; width: 100%; max-width: 400px; box-shadow: 0 8px 24px rgba(0,0,0,.18), 0 28px 80px rgba(0,0,0,.35); border: 1px solid rgba(255,255,255,.35); }
.login-card h1 { margin: 0 0 4px; font-size: 22px; color: var(--azul); letter-spacing: -.3px; }
.login-card .sub { font-size: 13px; color: var(--cinza); margin-bottom: 22px; }
.login-card .campo { margin-bottom: 14px; }
.login-card .btn { width: 100%; justify-content: center; padding: 12px; font-size: 14.5px; }

.vazio { text-align: center; color: var(--cinza); padding: 30px 0; font-size: 13.5px; }

/* ---- Dashboard rico ---- */
.sec-titulo { font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .5px; color: var(--cinza); margin: 4px 0 12px; }

.alertas-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; margin-bottom: 20px; }
.alerta-card { background: var(--card); border-radius: 12px; box-shadow: var(--sombra); padding: 14px 16px; border: 1px solid var(--light); border-left: 4px solid var(--azul2); display: flex; align-items: center; gap: 12px; color: inherit; transition: transform .15s, box-shadow .15s; }
.alerta-card:hover { transform: translateY(-2px); box-shadow: var(--sombra-hover); }
.alerta-ico { font-size: 22px; line-height: 1; }
.alerta-num { font-size: 24px; font-weight: 800; line-height: 1; }
.alerta-lbl { font-size: 11.5px; color: var(--cinza); margin-top: 3px; }

.cambio-head { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.cambio-head .cambio-refresh { margin-left: auto; }
.cambio-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; margin-bottom: 18px; }
.cambio-card { min-width: 0; background: var(--card); border-radius: 12px; box-shadow: var(--sombra); padding: 11px 12px; border: 1px solid var(--light); }
.cambio-card .ct { font-size: 13px; font-weight: 800; color: var(--azul); margin-bottom: 8px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cambio-linha { display: flex; justify-content: space-between; align-items: center; gap: 6px; padding: 4px 0; border-bottom: 1px dashed var(--borda); }
.cambio-linha:last-of-type { border-bottom: 0; }
.cambio-linha .k { font-size: 11px; color: var(--cinza); }
.cambio-linha .v { display: flex; flex-direction: column; align-items: flex-end; line-height: 1.15; }
.cambio-linha .v b { font-size: 13.5px; color: var(--azul); white-space: nowrap; }
.cambio-linha .v i { font-style: normal; font-size: 10px; white-space: nowrap; }
.cambio-linha .v i.up { color: var(--verde); }
.cambio-linha .v i.down { color: var(--vermelho); }
.cambio-linha .v i.flat { color: var(--cinza); }
.cambio-indisp { font-size: 11.5px; color: var(--cinza); padding: 10px 0; }

.dash-3col { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-bottom: 18px; }
.dash-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-bottom: 18px; }

.prog { background: var(--light); border-radius: 8px; height: 22px; overflow: hidden; margin: 12px 0 8px; }
.prog-bar { height: 100%; min-width: 2px; transition: .3s; }

.rank-linha, .funil-linha { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
.rank-nome, .funil-lbl { font-size: 12.5px; min-width: 92px; max-width: 92px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.funil-lbl { min-width: 116px; max-width: 116px; }
.rank-bar-wrap, .funil-bar-wrap { flex: 1; background: var(--light); border-radius: 6px; height: 16px; overflow: hidden; }
.rank-bar, .funil-bar { height: 100%; background: var(--azul2); min-width: 2px; border-radius: 6px; }
.rank-q, .funil-q { font-size: 12.5px; font-weight: 700; min-width: 38px; text-align: right; color: var(--azul); }

.acoes-rapidas { display: flex; flex-direction: column; gap: 9px; }
.acoes-rapidas .btn { justify-content: center; padding: 11px; }

@media (max-width: 980px) {
    .dash-3col, .dash-2col { grid-template-columns: 1fr; }
}

/* Ticker de notícias (fiel ao plugin) */
.ticker { display: flex; align-items: stretch; background: var(--card); border-radius: var(--radius); box-shadow: var(--sombra); overflow: hidden; margin-bottom: 16px; border: 1px solid var(--light); }
.ticker-speed { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 0; background: var(--vermelho); padding: 2px 2px 2px 6px; }
.ticker-speed button { width: 16px; height: 12px; border: 0; background: transparent; color: #fff; font-size: 14px; font-weight: 800; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0; opacity: .85; }
.ticker-speed button:hover { opacity: 1; }
.ticker-vel { color: #fff; font-weight: 800; font-size: 10px; line-height: 1; text-align: center; }
.ticker-tag { background: var(--vermelho); color: #fff; font-weight: 800; font-size: 11px; letter-spacing: .3px; display: flex; align-items: center; gap: 5px; padding: 0 9px 0 4px; white-space: nowrap; }
.ticker-wrap { position: relative; flex: 1; overflow: hidden; display: flex; align-items: center; min-width: 0; }
.ticker-move { display: inline-block; white-space: nowrap; padding: 11px 0; animation: ticker 60s linear infinite; }
.ticker:hover .ticker-move { animation-play-state: paused; }
.ticker-item { color: var(--texto); text-decoration: none; font-size: 13px; font-weight: 600; }
.ticker-item:hover { color: var(--azul); text-decoration: underline; }
.ticker-sep { color: var(--vermelho); margin: 0 14px; font-weight: 800; }
.ticker-refresh { border: 0; background: transparent; color: var(--cinza); width: 30px; cursor: pointer; font-size: 13px; flex-shrink: 0; }
.ticker-refresh:hover { color: var(--azul); }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* Relógio mundial (fiel ao plugin) + foco */
.dash-top { display: flex; gap: 14px; margin-bottom: 16px; flex-wrap: wrap; align-items: stretch; }
.relogio { flex: 1; min-width: 280px; display: flex; flex-direction: column; gap: 8px; background: var(--card); border-radius: var(--radius); box-shadow: var(--sombra); border: 1px solid var(--light); padding: 10px 12px; }

/* Conversor de moedas compacto */
.conversor { flex: 0 1 300px; min-width: 250px; display: flex; flex-direction: column; gap: 8px; background: var(--card); border-radius: var(--radius); box-shadow: var(--sombra); border: 1px solid var(--light); padding: 10px 12px; }

/* Topo remodelado: conversor + relógio compacto + alertas encaixados ao lado */
.dash-topo { display: flex; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; align-items: flex-start; }
.dash-topo .conversor { flex: 0 0 350px; min-width: 320px; }
.dash-topo .relogio { flex: 0 0 290px; min-width: 240px; }
.alertas-area { flex: 1 1 380px; min-width: 300px; }
.alertas-area .alertas-grid { grid-template-columns: repeat(auto-fill, minmax(148px, 1fr)); gap: 10px; margin-bottom: 0; }
.alertas-area .alerta-card { padding: 11px 12px; gap: 10px; border-radius: 11px; }
.alertas-area .alerta-ico { font-size: 19px; }
.alertas-area .alerta-num { font-size: 20px; }
.alertas-area .alerta-lbl { font-size: 11px; }
/* relógio compacto */
.dash-topo .relogio-display { padding: 6px 8px; }
.dash-topo .relogio-display .hora { font-size: 22px; letter-spacing: 2px; }
.dash-topo .relogio-flags { gap: 3px; }
.dash-topo .relogio-flags .bandeira { padding: 1px; }
.dash-topo .relogio-flags .bandeira img { width: 18px; }
@media (max-width: 1180px) { .dash-topo .conversor, .dash-topo .relogio { flex: 1 1 260px; } .alertas-area { flex: 1 1 100%; } }
.conv-titulo { font-size: 12px; font-weight: 800; color: var(--azul); text-transform: uppercase; letter-spacing: .4px; }
.conv-tabs { display: flex; gap: 4px; }
.conv-tab { flex: 1; padding: 5px 0; font-size: 11px; font-weight: 700; border: 1px solid var(--borda); background: var(--sand); color: var(--cinza); border-radius: 7px; cursor: pointer; transition: .12s; }
.conv-tab:hover { border-color: var(--azul2); color: var(--texto); }
.conv-tab.ativa { background: linear-gradient(135deg, var(--azul), var(--azul2)); border-color: var(--azul); color: #fff; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.conv-tipos { display: flex; gap: 4px; }
.conv-tipo { flex: 1; padding: 4px 0; font-size: 10px; font-weight: 700; border: 1px solid var(--borda); background: transparent; color: var(--cinza); border-radius: 6px; cursor: pointer; text-transform: uppercase; letter-spacing: .3px; transition: .12s; }
.conv-tipo:hover { color: var(--texto); border-color: var(--azul2); }
.conv-tipo.ativa { background: var(--azul2); border-color: var(--azul2); color: #fff; }
.conv-corpo { display: flex; align-items: center; gap: 8px; }
.conv-campo { flex: 1; display: flex; align-items: center; gap: 6px; background: var(--input-bg); border: 1px solid var(--borda); border-radius: 9px; padding: 7px 10px; min-width: 0; }
.conv-campo .conv-sigla { font-size: 11px; font-weight: 800; color: var(--azul); flex-shrink: 0; }
.conv-campo input { border: 0; background: none; outline: none; width: 100%; min-width: 0; font-size: 15px; font-weight: 700; color: var(--texto); }
.conv-seta { color: var(--azul); font-size: 15px; flex-shrink: 0; border: 1px solid var(--borda); background: var(--card); border-radius: 8px; width: 30px; height: 30px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: .15s; padding: 0; }
.conv-seta:hover { background: var(--azul); color: #fff; border-color: var(--azul); }
.conv-seta.invertido { background: var(--azul); color: #fff; border-color: var(--azul); }
.conv-result { flex: 1 1 auto; min-width: 110px; text-align: right; font-size: 16px; font-weight: 800; color: var(--verde); white-space: nowrap; }
.conv-taxa { font-size: 10.5px; color: var(--cinza); text-align: right; min-height: 13px; }
.card-vertodos { margin-top: 10px; padding-top: 8px; border-top: 1px solid var(--light); text-align: right; }
.card-vertodos a { font-size: 12.5px; font-weight: 700; color: var(--azul); text-decoration: none; }
.card-vertodos a:hover { text-decoration: underline; }
.relogio-display { background: #0a0e16; border-radius: 6px; padding: 8px 10px; text-align: center; }
.relogio-display .hora { font-family: 'Consolas', 'Courier New', monospace; font-size: 30px; font-weight: 700; letter-spacing: 3px; color: #22d3ee; text-shadow: 0 0 8px rgba(34,211,238,.55); line-height: 1; }
.relogio-display .local { font-size: 11px; color: #9aa7b4; margin-top: 5px; display: flex; align-items: center; justify-content: center; gap: 5px; }
.relogio-display .local img { width: 18px; height: auto; border-radius: 2px; }
.relogio-flags { display: flex; flex-wrap: wrap; gap: 4px; justify-content: center; }
.relogio-flags .bandeira { border: 1px solid transparent; background: none; cursor: pointer; padding: 2px; border-radius: 4px; opacity: .65; transition: .15s; line-height: 0; }
.relogio-flags .bandeira img { width: 24px; height: auto; display: block; border-radius: 2px; }
.relogio-flags .bandeira:hover { opacity: 1; transform: scale(1.18); }
.relogio-flags .bandeira.ativa { opacity: 1; border-color: var(--azul2); background: rgba(41,128,185,.15); }
.pomodoro { display: inline-flex; align-items: center; gap: 6px; background: var(--sand); border: 1px solid var(--borda); border-radius: 20px; padding: 3px 8px 3px 10px; font-size: 13px; align-self: center; }
.pomodoro.descanso { background: rgba(39,174,96,.12); border-color: var(--verde); }
.pomo-icone { font-size: 16px; }
.pomo-fase { font-weight: 700; color: var(--vermelho); font-size: 11px; text-transform: uppercase; letter-spacing: .4px; }
.pomodoro.descanso .pomo-fase { color: var(--verde); }
.pomo-tempo { font-family: 'Consolas', 'Courier New', monospace; font-weight: 700; font-size: 15px; color: var(--texto); min-width: 46px; text-align: center; }
.pomo-btn { border: 0; background: var(--azul); color: #fff; width: 24px; height: 24px; border-radius: 50%; cursor: pointer; font-size: 12px; display: flex; align-items: center; justify-content: center; padding: 0; }
.pomo-btn:hover { background: var(--azul2); }
.pomodoro select { font-size: 11px; padding: 2px 4px; border: 1px solid var(--borda); border-radius: 6px; color: var(--texto); background: var(--input-bg); }

/* Widgets do mundo: estações + eventos (fiel ao plugin) */
.mundo-now { font-size: 13px; color: var(--texto); background: var(--sand); border-radius: var(--radius); padding: 10px 14px; margin: 0 0 16px; }
.mundo-now strong { color: var(--azul); }
.mundo-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.mundo-tabs.meses { grid-template-columns: repeat(12, 1fr); gap: 6px; }
.mundo-tab { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 14px 8px; border: 2px solid var(--borda); border-radius: var(--radius); background: var(--card); color: var(--texto); cursor: pointer; transition: .15s; font-weight: 600; }
.mundo-tab:hover { transform: translateY(-2px); box-shadow: var(--sombra); }
.mundo-tab.active { border-color: var(--azul); }
.mundo-tabs.meses .mundo-tab { padding: 10px 4px; font-weight: 700; font-size: 13px; }
.mundo-tabs.meses .mundo-tab.active { color: var(--azul); }
.mundo-tab .ico { font-size: 24px; line-height: 1; }
.mundo-tab .lbl { font-size: 13px; }
.mundo-tab .cnt { font-size: 11px; color: var(--cinza); background: var(--light); border-radius: 10px; padding: 0 8px; }
.mundo-tab.est-primavera.active { border-color: var(--verde); }
.mundo-tab.est-verao.active { border-color: var(--vermelho); }
.mundo-tab.est-outono.active { border-color: var(--gold); }
.mundo-tab.est-inverno.active { border-color: var(--azul2); }
.agora-badge { position: absolute; top: 6px; right: 6px; font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .4px; color: #fff; background: var(--verde); border-radius: 10px; padding: 1px 6px; }
.mundo-tabs.meses .agora-badge { top: -7px; right: -4px; background: var(--vermelho); }
.mundo-panel { display: none; }
.mundo-panel.active { display: block; }
.mundo-legenda { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font-size: 12px; color: var(--cinza); flex-wrap: wrap; }
.mundo-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.mundo-chip { position: relative; display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: var(--radius); background: var(--card); }
.mundo-chip-pais { cursor: pointer; }
.mundo-chip-pais:hover { border-color: var(--azul); }
.mundo-chip.is-now { border-color: var(--verde); box-shadow: 0 0 0 2px rgba(39,174,96,.12); }
.mundo-chip-ev { align-items: flex-start; border-left: 3px solid var(--gold); }
.mundo-chip .flag { font-size: 22px; line-height: 1; }
.mundo-chip-ev .flag { line-height: 1.2; }
.mundo-chip .info { display: flex; flex-direction: column; gap: 2px; min-width: 0; flex: 1; }
.mundo-chip .nome { font-size: 13px; font-weight: 700; color: var(--texto); }
.mundo-chip .nome .agora { font-size: 10px; color: var(--verde); font-weight: 700; }
.mundo-chip .meta { font-size: 11px; color: var(--cinza); }
.mundo-chip .local { font-size: 12px; color: var(--azul2); }
.mundo-chip .local strong { color: var(--azul); }
.mundo-chip .obs { font-size: 11px; color: var(--cinza); }
.mundo-chip .temp { font-size: 18px; font-weight: 700; }
.temp-primavera { color: var(--verde); }
.temp-verao { color: var(--vermelho); }
.temp-outono { color: var(--gold); }
.temp-inverno { color: var(--azul2); }
.mundo-rm { position: absolute; top: 4px; right: 4px; width: 18px; height: 18px; line-height: 16px; text-align: center; border: 0; border-radius: 50%; background: transparent; color: var(--cinza); font-size: 12px; cursor: pointer; opacity: 0; transition: .15s; padding: 0; }
.mundo-chip:hover .mundo-rm { opacity: 1; }
.mundo-rm:hover { background: var(--vermelho); color: #fff; }
.mundo-add { margin-top: 16px; padding-top: 14px; border-top: 1px dashed var(--borda); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.mundo-add-form { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; width: 100%; margin-top: 10px; }
.mundo-add-form input, .mundo-add-form select { border: 1px solid var(--borda); border-radius: 6px; padding: 8px 10px; font-size: 13px; background: var(--input-bg); color: var(--texto); flex: 1; min-width: 120px; }
@media (max-width: 900px) { .mundo-tabs.meses { grid-template-columns: repeat(6, 1fr); } }
@media (max-width: 700px) { .mundo-tabs { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .mundo-tabs.meses { grid-template-columns: repeat(4, 1fr); } }

/* Paginação (fiel ao plugin) */
.paginacao { display: flex; gap: 4px; justify-content: center; margin-top: 16px; flex-wrap: wrap; }
.paginacao a { padding: 6px 12px; border-radius: 9px; min-width: 34px; text-align: center; font-size: 13px; text-decoration: none; border: 1px solid var(--borda); color: var(--texto); }
.paginacao a:hover { background: var(--azul); color: #fff; border-color: var(--azul); }
.paginacao a.atual { background: var(--grad); color: #fff; border-color: transparent; }

/* Abas de formulário */
.formtabs { display: flex; gap: 4px; flex-wrap: wrap; border-bottom: 2px solid var(--borda); margin-bottom: 18px; }
.formtabs button { border: 0; background: transparent; color: var(--cinza); font-weight: 700; font-size: 13px; padding: 10px 16px; cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -2px; border-radius: 8px 8px 0 0; transition: color .14s, background .14s; }
.formtabs button:hover { background: var(--sand); color: var(--texto); }
.formtabs button.active { color: var(--azul); border-bottom-color: var(--azul2); background: color-mix(in srgb, var(--azul2) 7%, transparent); }
.formtab { display: none; }
.formtab.active { display: block; }

/* Timeline de histórico */
.timeline { list-style: none; margin: 0; padding: 0; }
.timeline li { position: relative; padding: 0 0 14px 20px; border-left: 2px solid var(--borda); }
.timeline li:last-child { border-left-color: transparent; }
.timeline li::before { content: ''; position: absolute; left: -6px; top: 3px; width: 10px; height: 10px; border-radius: 50%; background: var(--azul2); }
.timeline .acao { font-size: 13px; font-weight: 700; color: var(--texto); }
.timeline .desc { font-size: 12.5px; color: var(--cinza); }
.timeline .quando { font-size: 11px; color: var(--cinza); }

/* Onboarding */
.onboarding { border: 1px solid var(--azul2); }
.ob-passos { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 8px; }
.ob-passo { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--borda); border-radius: 10px; text-decoration: none; color: var(--texto); font-size: 13px; background: var(--card); transition: border-color .15s, transform .15s; }
.ob-passo:hover { border-color: var(--azul2); transform: translateY(-1px); }
.ob-passo.feito { opacity: .65; }
.ob-passo .ob-check { font-size: 16px; }

/* Modal genérico */
.ts-modal-bg { position: fixed; inset: 0; background: rgba(0,0,0,.55); display: flex; align-items: center; justify-content: center; z-index: 100; padding: 20px; }
.ts-modal { background: var(--card); border-radius: 16px; width: 100%; max-width: 640px; max-height: 90vh; display: flex; flex-direction: column; box-shadow: 0 24px 70px rgba(0,0,0,.5); border: 1px solid var(--borda); animation: modalUp .22s var(--ease); }
@keyframes modalUp { from { opacity: 0; transform: translateY(12px) scale(.98); } to { opacity: 1; transform: none; } }
.ts-modal-head { display: flex; align-items: center; justify-content: space-between; padding: 16px 20px; border-bottom: 1px solid var(--borda); }
.ts-modal-head h3 { margin: 0; font-size: 17px; color: var(--azul); }
.ts-modal-close { border: 0; background: transparent; font-size: 26px; line-height: 1; color: var(--cinza); cursor: pointer; }
.ts-modal-body { padding: 18px 20px; overflow-y: auto; }
.ts-modal-foot { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-top: 1px solid var(--borda); }

/* Refresh ticker */
.ticker-refresh { border: 0; background: rgba(255,255,255,.15); color: #fff; width: 34px; cursor: pointer; font-size: 15px; flex-shrink: 0; }
.ticker-refresh:hover { background: rgba(255,255,255,.28); }

/* Box: oportunidades de eventos no destino (fiel ao plugin) */
.ev-destino { margin-top: 14px; background: var(--sand); border-radius: var(--radius); padding: 12px 14px; }
.ev-destino .tit { font-size: 12px; font-weight: 700; color: var(--azul); text-transform: uppercase; letter-spacing: .4px; margin-bottom: 10px; }
.ev-destino .lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 8px; }
.ev-destino .ev { display: flex; align-items: center; gap: 10px; background: var(--card); border-radius: 6px; padding: 8px 10px; }
.ev-destino .ev .flag { font-size: 20px; }
.ev-destino .ev .info { flex: 1; display: flex; flex-direction: column; min-width: 0; }
.ev-destino .ev .nome { font-size: 13px; font-weight: 700; color: var(--texto); }
.ev-destino .ev .meta { font-size: 11px; color: var(--cinza); }
.ev-destino .dias { font-size: 11px; font-weight: 800; padding: 3px 8px; border-radius: 10px; white-space: nowrap; color: #fff; }
.ev-destino .dias.urgente { background: var(--vermelho); }
.ev-destino .dias.medio { background: var(--gold); }
.ev-destino .dias.normal { background: var(--azul2); }

/* Seletor de temas (Configurações) */
.tema-grid { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 6px; }
.tema-card { border: 2px solid var(--borda); border-radius: 12px; padding: 12px 14px; cursor: pointer; background: var(--card); min-width: 120px; text-align: left; transition: border-color .15s, transform .15s; }
.tema-card:hover { transform: translateY(-2px); }
.tema-card.sel { border-color: var(--azul2); box-shadow: 0 0 0 3px rgba(41,128,185,.18); }
.tema-card .tt { font-size: 13px; font-weight: 700; margin-bottom: 8px; }
.tema-swatches { display: flex; gap: 5px; }
.tema-swatches i { width: 26px; height: 12px; border-radius: 4px; display: inline-block; }

/* Botão hambúrguer (só mobile) */
.menu-toggle { display: none; flex-direction: column; justify-content: center; gap: 4px; width: 38px; height: 38px; padding: 0 9px; border: 1px solid var(--borda); border-radius: 9px; background: var(--card); cursor: pointer; flex-shrink: 0; }
.menu-toggle span { display: block; height: 2.5px; border-radius: 2px; background: var(--texto); transition: .2s; }
.sidebar-overlay { display: none; }

@media (max-width: 860px) {
    .menu-toggle { display: inline-flex; }
    .layout { flex-direction: column; }
    .sidebar { position: fixed; top: 0; left: 0; z-index: 60; width: 250px; max-width: 82vw; height: 100%; flex-direction: column; align-items: stretch; overflow-y: auto; padding: 16px 0; transform: translateX(-100%); transition: transform .25s ease; box-shadow: 4px 0 24px rgba(0,0,0,.25); }
    body.menu-aberto .sidebar { transform: translateX(0); }
    .sidebar-overlay { position: fixed; inset: 0; z-index: 50; background: rgba(0,0,0,.45); opacity: 0; pointer-events: none; transition: opacity .25s; }
    body.menu-aberto .sidebar-overlay { display: block; opacity: 1; pointer-events: auto; }
    body.menu-aberto { overflow: hidden; }
    .sidebar .marca { padding: 0 18px 14px; white-space: nowrap; }
    .sidebar nav { display: flex; flex-direction: column; }
    .sidebar nav a { padding: 10px 12px; white-space: nowrap; }
    .sidebar .rodape-side { display: block; }
    .form-grid { grid-template-columns: 1fr; }
    .campo.c2, .campo.c3 { grid-column: span 1; }
    .conteudo { padding: 16px 14px; }
}

/* ===== Painel Master ===== */
.kpi.mini { border-top-width: 3px; border-left: 1px solid var(--light); }
.kpi.mini .v { font-size: 20px; }
a.kpi { text-decoration: none; display: block; }
a.kpi:hover { box-shadow: var(--sombra-hover); transform: translateY(-2px); }
a.kpi.sel { outline: 2px solid var(--azul2); }
.kpi-sub { font-size: 11.5px; color: var(--cinza); margin-top: 3px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.grid-2 > .card { margin-bottom: 0; }
.card-tit { font-size: 13px; font-weight: 800; color: var(--azul); text-transform: uppercase; letter-spacing: .4px; border-bottom: 1px solid var(--light); padding-bottom: 9px; margin-bottom: 14px; }
.vazio-sm { color: var(--cinza); font-size: 13px; padding: 14px 0; text-align: center; }
.lista.compacta td { padding: 7px 8px; font-size: 13px; }
.lista.compacta a { font-weight: 600; }
.barchart { display: flex; align-items: flex-end; gap: 12px; height: 200px; padding-top: 18px; }
.bar-col { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.bar { width: 100%; max-width: 46px; background: linear-gradient(180deg, var(--azul2), var(--azul)); border-radius: 7px 7px 0 0; min-height: 3px; transition: .2s; }
.bar-col:hover .bar { filter: brightness(1.1); }
.bar-val { font-size: 10.5px; font-weight: 700; color: var(--azul); margin-bottom: 5px; min-height: 14px; }
.bar-lbl { font-size: 11px; color: var(--cinza); margin-top: 7px; }
.filtros { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; margin-bottom: 16px; }
.chip { padding: 7px 15px; border-radius: 20px; background: var(--card); border: 1px solid var(--borda); color: var(--cinza); font-size: 13px; font-weight: 600; }
.chip.on { background: var(--azul); color: #fff; border-color: var(--azul); }
.filtro-tot { margin-left: auto; font-size: 13px; color: var(--cinza); }
.barra-busca { display: flex; gap: 8px; margin-bottom: 16px; }
.barra-busca input { flex: 1; max-width: 420px; border: 1px solid var(--borda); border-radius: 9px; padding: 9px 12px; font-size: 13.5px; background: var(--input-bg); color: var(--texto); }
.form-grid .campo.full { grid-column: 1 / -1; }
.btn-cinza { background: var(--cinza); }
.check { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; color: var(--texto); cursor: pointer; }
.check input { width: 16px; height: 16px; accent-color: var(--azul); }
.sep { border: 0; border-top: 1px solid var(--light); margin: 16px 0; }
.acoes-rapidas { display: flex; gap: 8px; flex-wrap: wrap; }
.acoes-rapidas form { display: inline; }
.det-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.link-voltar { display: inline-block; margin-bottom: 12px; font-size: 13px; color: var(--cinza); }
.timeline { list-style: none; padding: 0; margin: 0; }
.timeline li { padding: 8px 0 8px 14px; border-left: 2px solid var(--light); font-size: 13px; position: relative; }
.timeline .tl-data { color: var(--cinza); font-size: 11.5px; display: block; }
.dica { font-size: 11px; color: var(--cinza); }
.tema-btn { border: 1px solid var(--borda); background: var(--card); border-radius: 8px; width: 30px; height: 30px; cursor: pointer; font-size: 14px; color: var(--texto); }
.tema-btn:hover { background: var(--sand); }
.marca-logo { max-height: 38px; max-width: 150px; vertical-align: middle; }
.sidebar .marca.marca-stack { flex-direction: column; align-items: center; text-align: center; gap: 8px; padding-top: 10px; padding-bottom: 22px; }
.sidebar .marca.marca-stack .marca-logo { max-height: 72px; max-width: 185px; }
.sidebar .marca.marca-stack .marca-nome { font-size: 24px; }
.sidebar .marca.marca-stack small { margin-left: 0; opacity: .85; letter-spacing: .5px; text-transform: uppercase; font-size: 10px; }
.sidebar nav a .nav-ico { display: inline-flex; align-items: center; justify-content: center; width: 19px; height: 19px; flex-shrink: 0; }
.sidebar nav a .nav-ico svg { width: 19px; height: 19px; }
.logo-preview { width: 150px; height: 80px; border: 1px dashed var(--borda); border-radius: 10px; display: flex; align-items: center; justify-content: center; background: var(--sand); overflow: hidden; }
.logo-preview img { max-width: 100%; max-height: 100%; }
.logo-preview span { color: var(--cinza); font-size: 12px; }
.rec-cat .rec-head { display: flex; gap: 8px; align-items: center; margin-bottom: 12px; }
.rec-cat .rec-ico { width: 52px; text-align: center; font-size: 18px; border: 1px solid var(--borda); border-radius: 9px; padding: 9px 4px; background: var(--input-bg); color: var(--texto); }
.rec-cat .rec-nome { flex: 1; border: 1px solid var(--borda); border-radius: 9px; padding: 9px 11px; font-size: 15px; font-weight: 700; background: var(--input-bg); color: var(--texto); }
.rec-cat .rec-del { margin-left: auto; }
.tpl-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.tpl-opt { display: block; border: 2px solid var(--borda); border-radius: 14px; padding: 12px; cursor: pointer; transition: .15s; background: var(--card); }
.tpl-opt:hover { border-color: var(--azul2); }
.tpl-opt.sel { border-color: var(--azul); box-shadow: 0 0 0 3px rgba(41,128,185,.15); }
.tpl-opt input { position: absolute; opacity: 0; }
.tpl-thumb { height: 150px; border-radius: 10px; overflow: hidden; border: 1px solid var(--light); }
.tpl-classico { background: #f4f6f9; padding: 10px; }
.tpl-classico .tt-hero { background: linear-gradient(135deg,#0c3469,#2d86d8); border-radius: 7px; padding: 12px 10px; text-align: center; }
.tpl-classico .tt-bar { width: 44px; height: 7px; background: rgba(255,159,67,.7); border-radius: 4px; margin: 0 auto 8px; }
.tpl-classico .tt-h { width: 80%; height: 9px; background: rgba(255,255,255,.85); border-radius: 3px; margin: 0 auto 5px; }
.tpl-classico .tt-p { width: 55%; height: 5px; background: rgba(255,255,255,.5); border-radius: 3px; margin: 0 auto 9px; }
.tpl-classico .tt-btn { width: 60px; height: 14px; background: linear-gradient(135deg,#f7861e,#ffae4d); border-radius: 5px; margin: 0 auto; }
.tpl-classico .tt-cards { display: flex; gap: 6px; margin-top: 10px; }
.tpl-classico .tt-cards span { flex: 1; height: 34px; background: #fff; border: 1px solid #e6ecf2; border-radius: 6px; }
.tpl-moderno { background: #091222; padding: 10px; }
.tpl-moderno .tt-hero2 { display: flex; gap: 8px; }
.tpl-moderno .tt-left { flex: 1; padding-top: 6px; }
.tpl-moderno .tt-h { width: 90%; height: 9px; background: rgba(255,255,255,.85); border-radius: 3px; margin-bottom: 5px; }
.tpl-moderno .tt-p { width: 70%; height: 5px; background: rgba(147,164,189,.7); border-radius: 3px; margin-bottom: 8px; }
.tpl-moderno .tt-btn { width: 56px; height: 14px; background: linear-gradient(135deg,#f7861e,#ffae4d); border-radius: 5px; }
.tpl-moderno .tt-mock { width: 78px; height: 70px; background: linear-gradient(160deg,rgba(255,255,255,.1),rgba(255,255,255,.02)); border: 1px solid rgba(255,255,255,.12); border-radius: 8px; }
.tpl-moderno .tt-bento { display: flex; gap: 6px; margin-top: 10px; }
.tpl-moderno .tt-bento span { height: 32px; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.1); border-radius: 6px; flex: 1; }
.tpl-moderno .tt-bento span.big { flex: 2; }
.tpl-meta { padding: 10px 4px 2px; }
.tpl-meta strong { display: block; font-size: 14px; color: var(--texto); }
.tpl-meta small { color: var(--cinza); font-size: 12px; }
@media(max-width:700px){ .tpl-picker { grid-template-columns: 1fr; } }
.logos-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.logo-slot { display: flex; flex-direction: column; }
.logo-box { height: 90px; border: 1px solid var(--borda); border-radius: 10px; display: flex; align-items: center; justify-content: center; overflow: hidden; margin-bottom: 8px; }
.logo-box img { max-width: 88%; max-height: 70%; }
.logo-lbl { font-size: 12.5px; font-weight: 700; color: var(--texto); margin-bottom: 5px; }
@media(max-width:760px){ .logos-grid { grid-template-columns: 1fr; } }
.logo-mini { width: 96px; height: 64px; border: 1px dashed var(--borda); border-radius: 10px; display: flex; align-items: center; justify-content: center; overflow: hidden; background: var(--sand); flex-shrink: 0; }
.logo-mini img { max-width: 88%; max-height: 80%; }
.logo-mini span { color: var(--cinza); font-size: 11px; }
.barra-acoes.barra-inset { margin-bottom: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--light); flex-wrap: wrap; }
.logo-field { display: flex; gap: 12px; align-items: flex-start; }
.logo-field .logo-mini { width: 84px; height: 60px; flex-shrink: 0; }
.logo-controls { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.logo-controls input[type="file"] { max-width: 100%; font-size: 12.5px; }
.logo-controls input[type="url"] { width: 100%; }
.logo-controls .dica { color: var(--cinza); font-size: 11px; }
.btn-rm-logo { align-self: flex-start; background: none; border: 0; color: var(--vermelho); font-size: 12px; font-weight: 600; cursor: pointer; padding: 0; }
.btn-rm-logo:hover { text-decoration: underline; }
.cfg-head { border-bottom: 1px solid var(--light); padding-bottom: 12px; margin-bottom: 16px; }
.cfg-head h2 { margin: 0; }
.card-sub { font-size: 12.5px; color: var(--cinza); margin: 3px 0 0; }
.cfg-check { display: inline-flex; align-items: center; gap: 8px; font-weight: 600; font-size: 13.5px; color: var(--texto); cursor: pointer; }
.cfg-check input { width: 17px; height: 17px; accent-color: var(--azul); }
.cfg-save { display: flex; justify-content: flex-end; margin-bottom: 18px; }
.grid-2 { margin-bottom: 0; }
form .grid-2 { margin-bottom: 18px; }
@media (max-width: 860px) { .grid-2 { grid-template-columns: 1fr; } }
/* Agenda / Calendário (premium) */
.cal-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.cal-nav { display: flex; align-items: center; gap: 12px; }
.cal-navbtn { width: 38px; height: 38px; border-radius: 12px; border: 1px solid var(--borda); background: var(--card); color: var(--azul); font-size: 20px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; box-shadow: var(--sombra); transition: .15s; }
.cal-navbtn:hover { background: var(--azul); color: #fff; border-color: var(--azul); transform: translateY(-1px); }
.cal-mes { margin: 0; font-size: 24px; font-weight: 800; letter-spacing: -.5px; min-width: 200px; text-align: center; background: var(--grad); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; }
.cal-hoje { border: 1px solid var(--borda); background: var(--card); color: var(--texto); font-weight: 700; font-size: 12.5px; border-radius: 10px; padding: 9px 16px; cursor: pointer; text-decoration: none; transition: .15s; box-shadow: var(--sombra); }
.cal-hoje:hover { border-color: var(--azul2); color: var(--azul); }
.cal-filtros { display: flex; gap: 8px; flex-wrap: wrap; }
.cal-f { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--texto); background: var(--card); border: 1px solid var(--borda); border-radius: 30px; padding: 6px 14px; cursor: pointer; transition: .14s; box-shadow: var(--sombra); }
.cal-f i { width: 9px; height: 9px; border-radius: 50%; background: var(--fc); display: inline-block; box-shadow: 0 0 0 3px color-mix(in srgb, var(--fc) 22%, transparent); }
.cal-f:hover { transform: translateY(-1px); }
.cal-f.off { opacity: .45; text-decoration: line-through; box-shadow: none; }
.cal-card { padding: 18px; border-radius: 18px; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; }
.cal-week { margin-bottom: 10px; }
.cal-wd { text-align: center; font-size: 11px; font-weight: 800; color: var(--cinza); text-transform: uppercase; letter-spacing: 1px; padding: 2px 0; }
.cal-cell { position: relative; min-height: 116px; border: 1px solid var(--light); border-radius: 14px; padding: 8px; background: var(--card); display: flex; flex-direction: column; gap: 5px; overflow: hidden; transition: .15s; }
.cal-cell:not(.vazia):hover { border-color: var(--azul2); box-shadow: var(--sombra-hover); transform: translateY(-2px); z-index: 2; }
.cal-cell.vazia { background: transparent; border: 1px dashed var(--light); opacity: .5; }
.cal-grid .cal-cell:nth-child(7n+1):not(.vazia), .cal-grid .cal-cell:nth-child(7n):not(.vazia) { background: color-mix(in srgb, var(--sand) 55%, var(--card)); }
.cal-dnum { font-size: 13px; font-weight: 700; color: var(--texto); width: 26px; height: 26px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; }
.cal-cell.hoje { border-color: transparent; box-shadow: 0 0 0 2px var(--azul2), var(--sombra); }
.cal-cell.hoje .cal-dnum { background: var(--grad); color: #fff; box-shadow: 0 4px 10px color-mix(in srgb, var(--azul) 40%, transparent); }
.cal-evs { display: flex; flex-direction: column; gap: 4px; }
.cal-ev { display: flex; align-items: center; gap: 6px; font-size: 11px; line-height: 1.25; padding: 4px 7px; border-radius: 8px; background: color-mix(in srgb, var(--ec) 12%, var(--card)); color: var(--texto); text-decoration: none; overflow: hidden; border: 1px solid color-mix(in srgb, var(--ec) 24%, transparent); transition: .12s; }
.cal-ev:hover { background: color-mix(in srgb, var(--ec) 24%, var(--card)); transform: translateX(2px); }
.cal-ev-ic { flex-shrink: 0; font-size: 11px; }
.cal-ev-tx { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.cal-mais { font-size: 10.5px; color: var(--cinza); font-weight: 700; padding-left: 6px; }
@media (max-width: 760px) {
  .cal-mes { font-size: 20px; min-width: 150px; }
  .cal-card { padding: 10px; }
  .cal-grid { gap: 5px; }
  .cal-cell { min-height: 64px; border-radius: 10px; padding: 5px; gap: 3px; }
  .cal-ev-tx, .cal-ev-ic { display: none; }
  .cal-ev { justify-content: center; padding: 0; height: 6px; border: 0; background: var(--ec); border-radius: 4px; }
  .cal-filtros { display: none; }
}
/* Automações (réguas) */
.aut-card { transition: .15s; }
.aut-card.on { border-color: var(--azul2); }
.aut-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 4px; }
.aut-head h2 { margin: 0; font-size: 16px; }
.aut-switch { position: relative; display: inline-block; width: 44px; height: 24px; flex-shrink: 0; }
.aut-switch input { opacity: 0; width: 0; height: 0; }
.aut-switch span { position: absolute; inset: 0; background: var(--light); border-radius: 24px; cursor: pointer; transition: .2s; }
.aut-switch span:before { content: ''; position: absolute; width: 18px; height: 18px; left: 3px; top: 3px; background: #fff; border-radius: 50%; transition: .2s; box-shadow: 0 1px 3px rgba(0,0,0,.3); }
.aut-switch input:checked + span { background: var(--verde); }
.aut-switch input:checked + span:before { transform: translateX(20px); }
/* Dashboard premium — KPIs com ícone */
.dash-kpis .kpi { display: flex; align-items: center; gap: 14px; border-top: 0; border-left: 4px solid var(--kc, var(--azul2)); position: relative; overflow: hidden; transition: transform .15s, box-shadow .15s; }
.dash-kpis .kpi:hover { transform: translateY(-3px); box-shadow: var(--sombra-hover); }
.dash-kpis .kpi-ic { width: 46px; height: 46px; border-radius: 13px; display: flex; align-items: center; justify-content: center; font-size: 22px; flex-shrink: 0; background: color-mix(in srgb, var(--kc) 16%, var(--card)); }
.dash-kpis .kpi .v { font-size: 23px; }
/* Meta — anel de progresso */
.meta-ring-wrap { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.meta-ring { flex-shrink: 0; }
.meta-ring text { font-family: inherit; }
.meta-info { flex: 1; min-width: 150px; }
.meta-li { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; font-size: 13px; color: var(--cinza); padding: 4px 0; border-bottom: 1px solid var(--light); }
.meta-li strong { font-size: 15px; color: var(--texto); }
.meta-pace { font-size: 12px; color: var(--cinza); margin-top: 8px; }
/* Dashboard premium — barras de ranking/funil */
.rank-linha, .funil-linha { margin-bottom: 11px; }
.rank-bar-wrap, .funil-bar-wrap { height: 20px; border-radius: 10px; background: color-mix(in srgb, var(--azul2) 9%, var(--light)); }
.rank-bar { background: linear-gradient(90deg, var(--azul), var(--azul2)); border-radius: 10px; box-shadow: 0 1px 4px color-mix(in srgb, var(--azul) 28%, transparent); transition: width .4s ease; }
.funil-bar { border-radius: 10px; transition: width .4s ease; }
.rank-q, .funil-q { color: var(--texto); }
.rank-medal { display: inline-flex; align-items: center; justify-content: center; width: 20px; flex-shrink: 0; font-size: 14px; }
.rank-pos { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--light); color: var(--cinza); font-size: 11px; font-weight: 800; flex-shrink: 0; }
/* Relatórios — gráfico de barras vertical */
.rel-chart { display: flex; align-items: flex-end; gap: 10px; height: 220px; padding-top: 16px; }
.rel-col { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; min-width: 0; }
.rel-bar { width: 100%; max-width: 54px; border-radius: 8px 8px 0 0; background: linear-gradient(180deg, #34d17e, #1e9e5b); min-height: 3px; transition: height .4s ease; }
.rel-col:hover .rel-bar { filter: brightness(1.08); }
.rel-val { font-size: 11px; font-weight: 700; color: var(--verde); margin-bottom: 5px; }
.rel-lbl { font-size: 11px; color: var(--cinza); margin-top: 7px; white-space: nowrap; }
@media (max-width: 600px) { .rel-val { display: none; } .rel-lbl { font-size: 9px; transform: rotate(-45deg); } }
/* ===== Revisão mobile do app ===== */
.barra-acoes { flex-wrap: wrap; }
@media (max-width: 860px) {
  .sidebar .marca.marca-stack { flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 4px 16px 16px; }
  .sidebar .marca.marca-stack .marca-logo { max-height: 56px; max-width: 150px; }
  .sidebar .marca.marca-stack .marca-nome { font-size: 20px; }
  .sidebar .marca.marca-stack small { display: block; }
  .topbar { flex-wrap: wrap; gap: 8px; }
  .topbar .titulo { font-size: 16px; }
}
@media (max-width: 760px) {
  table.lista { display: block; overflow-x: auto; white-space: nowrap; -webkit-overflow-scrolling: touch; }
  .acoes-cel { flex-wrap: wrap; gap: 5px; }
  .acoes-cel .btn { padding: 6px 9px; font-size: 11.5px; }
  .conteudo { padding: 14px 12px; }
  .card { padding: 16px 14px; }
  .barra-acoes input[type=text], .barra-acoes input[type=search] { min-width: 0; flex: 1 1 100%; }
  .kpis { gap: 10px; }
  h1 { font-size: 19px; }
}
@media (max-width: 460px) {
  .dash-kpis .kpi { gap: 10px; }
  .dash-kpis .kpi-ic { width: 40px; height: 40px; font-size: 19px; }
  .btn { padding: 9px 12px; }
}
