/* estilo.css — visual mínimo compartilhado do crm/. Sem framework externo,
   de propósito (mesmo espírito "autocontido" do restante da pasta).

   Tema claro/escuro: mesmo padrão de admin/css/admin.css e cliente-novo/css/
   cliente.css — variáveis em :root (claro, padrão) sobrescritas em
   :root[data-theme="dark"] (alternado por alternarTema() em js/ui.js,
   persistido em localStorage "crm_tema", aplicado antes do CSS carregar via
   include/tema_script.php pra não piscar o tema errado). */

:root {
    --bg-pagina: #f4f6f9;
    --bg-card: #ffffff;
    --texto: #1f2430;
    --texto-suave: #6b7280;
    --texto-fraco: #9aa1ad;
    --borda: #eaecf0;
    --borda-input: #d7dbe3;
    --cor-acento: #0091ff;
    --cor-acento-hover: #0077d6;
    --btn-sec-bg: #eef1f6;
    --btn-sec-bg-hover: #dfe4ec;
    --btn-sec-cor: #1f2430;
    --sombra-card: rgba(0,0,0,.06);
    --sombra-modal: rgba(20,24,34,.45);
    --cor-primaria: #001871;
}

:root[data-theme="dark"] {
    --bg-pagina: #0f1a2e;
    --bg-card: #16213a;
    --texto: #e4e8f1;
    --texto-suave: #93a0bd;
    --texto-fraco: #66719073;
    --borda: #26314d;
    --borda-input: #2c3956;
    --cor-acento: #3aa0ff;
    --cor-acento-hover: #59aeff;
    --btn-sec-bg: #212d47;
    --btn-sec-bg-hover: #2a3856;
    --btn-sec-cor: #e4e8f1;
    --sombra-card: rgba(0,0,0,.4);
    --sombra-modal: rgba(0,0,0,.65);
}

* { box-sizing: border-box; }

body {
    font-family: -apple-system, "Segoe UI", Arial, sans-serif;
    margin: 0;
    background: var(--bg-pagina);
    color: var(--texto);
}

a { color: var(--cor-acento); }

.pagina-centralizada {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.caixa-login {
    background: var(--bg-card);
    padding: 2.5rem;
    border-radius: 12px;
    box-shadow: 0 4px 24px var(--sombra-card);
    width: 100%;
    max-width: 360px;
}

.caixa-login h1 {
    font-size: 1.3rem;
    margin: 0 0 1.5rem;
    text-align: center;
}

label {
    display: block;
    font-size: .85rem;
    font-weight: 600;
    margin: .9rem 0 .3rem;
}

input, select, textarea {
    width: 100%;
    padding: .6rem .7rem;
    border: 1px solid var(--borda-input);
    border-radius: 8px;
    font-size: .95rem;
    background: var(--bg-card);
    color: var(--texto);
}

.btn {
    display: inline-block;
    padding: .6rem 1.2rem;
    border-radius: 8px;
    border: none;
    font-size: .9rem;
    font-weight: 600;
    cursor: pointer;
}
.btn-primario { background: var(--cor-acento); color: #fff; margin-top: 1.2rem; width: 100%; }
.btn-primario:hover { background: var(--cor-acento-hover); }
.btn-secundario { background: var(--btn-sec-bg); color: var(--btn-sec-cor); }
.btn-secundario:hover { background: var(--btn-sec-bg-hover); }
.btn-perigo { background: #ffe3e3; color: #c0392b; }

.msg-erro { color: #c0392b; background: #ffe3e3; padding: .6rem .8rem; border-radius: 8px; font-size: .9rem; }
.msg-status { margin-top: .6rem; font-size: .85rem; display: none; }
.msg-status.ok { color: #1a7f37; display: block; }
.msg-status.erro { color: #c0392b; display: block; }

.topo {
    background: var(--bg-card);
    padding: .7rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    box-shadow: 0 1px 4px var(--sombra-card);
    flex-wrap: wrap;
    gap: .6rem;
    row-gap: .4rem;
}
.topo-esquerda { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.topo strong { font-size: 1.05rem; }
.topo .usuario { font-size: .85rem; color: var(--texto-suave); display: flex; align-items: center; gap: .6rem; }

.logo-crm { height: 30px; width: auto; display: block; }
.logo-clara { display: block; }
.logo-escura { display: none; }
:root[data-theme="dark"] .logo-clara { display: none; }
:root[data-theme="dark"] .logo-escura { display: block; }

.nav-crm { display: flex; align-items: center; gap: .3rem; flex-wrap: wrap; }
.nav-item {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    padding: .4rem .7rem;
    border-radius: 8px;
    font-size: .85rem;
    font-weight: 600;
    color: var(--texto-suave);
    text-decoration: none;
}
.nav-item:hover { background: var(--btn-sec-bg); color: var(--texto); }
.nav-item.ativo { background: var(--cor-acento); color: #fff; }

.btn-tema {
    background: none;
    border: 1px solid var(--borda-input);
    border-radius: 20px;
    padding: .3rem .7rem;
    font-size: .8rem;
    cursor: pointer;
    color: var(--texto-suave);
}
.btn-tema:hover { background: var(--btn-sec-bg); }

.btn-config { font-size: 1.1rem; text-decoration: none; line-height: 1; }

.btn-ajuda {
    background: none;
    border: 1px solid var(--borda-input);
    border-radius: 20px;
    padding: .3rem .7rem;
    font-size: .9rem;
    line-height: 1;
    cursor: pointer;
    color: var(--texto-suave);
}
.btn-ajuda:hover { background: var(--btn-sec-bg); }

/* Ajuda — acordeão (dentro de #modalAjuda, ver include/ajuda.php) */
.ajuda-item { border-bottom: 1px solid var(--borda); }
.ajuda-item:last-child { border-bottom: none; }
.ajuda-pergunta { padding: .85rem .1rem; font-weight: 700; color: var(--cor-primaria); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: .5rem; font-size: .92rem; }
:root[data-theme="dark"] .ajuda-pergunta { color: #7fb3ff; }
.ajuda-pergunta::after { content: '+'; font-size: 1.2rem; color: var(--cor-acento); flex-shrink: 0; }
.ajuda-item.aberto .ajuda-pergunta::after { content: '−'; }
.ajuda-resposta { display: none; padding: 0 .1rem .9rem; color: var(--texto-suave); font-size: .87rem; line-height: 1.55; }
.ajuda-item.aberto .ajuda-resposta { display: block; }
.ajuda-resposta strong { color: var(--texto); }

.nav-hamburguer {
    display: none;
    background: none;
    border: 1px solid var(--borda-input);
    border-radius: 8px;
    font-size: 1.1rem;
    padding: .25rem .6rem;
    cursor: pointer;
    color: var(--texto);
}

@media (max-width: 900px) {
    .nav-hamburguer { display: inline-block; }
    .nav-crm {
        display: none;
        width: 100%;
        flex-direction: column;
        align-items: stretch;
        gap: .2rem;
        order: 10;
    }
    .nav-crm.aberto { display: flex; }
    .nav-item { justify-content: flex-start; }
}

.container {
    max-width: 980px;
    margin: 1.5rem auto;
    padding: 0 1rem;
}

.painel {
    background: var(--bg-card);
    border-radius: 12px;
    padding: 1.4rem;
    margin-bottom: 1.4rem;
    box-shadow: 0 1px 4px var(--sombra-card);
}
.painel h2 { margin-top: 0; font-size: 1.05rem; }

.grid-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: .8rem; margin-bottom: 1rem; }
.card-item {
    border: 1px solid var(--borda);
    border-radius: 10px;
    padding: .9rem;
}
.card-item h3 { margin: 0 0 .3rem; font-size: .95rem; }
.card-item .meta { font-size: .8rem; color: var(--texto-suave); }

table { width: 100%; border-collapse: collapse; font-size: .88rem; }
th, td { text-align: left; padding: .5rem .6rem; border-bottom: 1px solid var(--borda); }
th { color: var(--texto-suave); font-weight: 600; }

.aviso {
    background: #fff8e1;
    border: 1px solid #f4dfa0;
    color: #7a5b00;
    padding: .8rem 1rem;
    border-radius: 8px;
    font-size: .88rem;
}
:root[data-theme="dark"] .aviso { background: #3a2f0f; border-color: #6b551c; color: #f4dfa0; }

.linha-form { display: flex; gap: .7rem; flex-wrap: wrap; align-items: flex-end; }
.linha-form > div { flex: 1; min-width: 160px; }

.modal-fundo {
    display: none;
    position: fixed;
    inset: 0;
    background: var(--sombra-modal);
    align-items: center;
    justify-content: center;
    z-index: 50;
}
.modal-fundo.aberto { display: flex; }
.modal-caixa {
    background: var(--bg-card);
    border-radius: 12px;
    padding: 1.4rem;
    width: 100%;
    max-width: 420px;
    max-height: 90vh;
    overflow-y: auto;
}
.modal-caixa h3 { margin-top: 0; }
.modal-acoes { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; margin-top: 1.2rem; }
.modal-acoes .btn-perigo { margin-right: auto; }

.lista-simples { list-style: none; margin: 0; padding: 0; font-size: .85rem; }
.lista-simples li { padding: .35rem 0; border-bottom: 1px solid var(--borda); display: flex; justify-content: space-between; align-items: center; gap: .5rem; }
.lista-simples li.sem-registro { color: var(--texto-fraco); justify-content: flex-start; }
.btn-link-perigo { background: none; border: none; color: #c0392b; font-size: .8rem; cursor: pointer; padding: 0; }
.btn-link-perigo:hover { text-decoration: underline; }
.btn-link { background: none; border: none; color: var(--cor-primaria); font-size: .8rem; cursor: pointer; padding: 0; }
.btn-link:hover { text-decoration: underline; }
.lista-simples .acoes-item { display: flex; gap: .7rem; flex-shrink: 0; }

/* Spinner de carregamento embutido no botão (botaoCarregando(), js/ui.js) */
.spinner {
    display: inline-block;
    width: 13px;
    height: 13px;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: spinner-girar .6s linear infinite;
    vertical-align: middle;
    margin-right: .45rem;
    opacity: .75;
}
@keyframes spinner-girar { to { transform: rotate(360deg); } }
button:disabled { cursor: default; opacity: .85; }

/* Seletor de cor da fase — sem isso herda padding/width:100% de "input" e vira
   uma tarja fina; aqui fica um círculo pequeno que ainda mostra a cor escolhida. */
input[type="color"] {
    -webkit-appearance: none;
    appearance: none;
    width: 40px;
    height: 40px;
    padding: 2px;
    border: 2px solid var(--borda-input);
    border-radius: 50%;
    cursor: pointer;
    background: var(--bg-card);
}
input[type="color"]::-webkit-color-swatch-wrapper { padding: 0; border-radius: 50%; }
input[type="color"]::-webkit-color-swatch { border: none; border-radius: 50%; }
input[type="color"]::-moz-color-swatch { border: none; border-radius: 50%; }

/* Link de WhatsApp no card do lead — não deve herdar o cursor "grab" do card. */
.link-whatsapp {
    display: inline-flex;
    align-items: center;
    gap: .2rem;
    margin-left: .4rem;
    padding: .05rem .4rem;
    border-radius: 20px;
    background: #e7f9ee;
    color: #128c4a !important;
    font-size: .78rem;
    text-decoration: none;
    cursor: pointer;
}
.link-whatsapp:hover { background: #d3f3e0; }
:root[data-theme="dark"] .link-whatsapp { background: #123423; color: #6ee7a8 !important; }
:root[data-theme="dark"] .link-whatsapp:hover { background: #17492f; }

.rodape-crm {
    text-align: center;
    font-size: .8rem;
    color: var(--texto-suave);
    padding: 1.5rem 1rem 2rem;
}

/* Texto justificado só em documentos longos tipo política de privacidade —
   mesmo padrão do privacidade.php do site principal (.doc-card). Não aplica
   no resto do crm/ (formulários/telas curtas não ganham nada com isso). */
.doc-privacidade p,
.doc-privacidade li {
    text-align: justify;
    line-height: 1.7;
}
