/* Login e nova senha com a mesma identidade do CRM: fontes, cores, modo escuro e o tema da empresa
   (Manutenção › Aparência). O index.php coloca as cores da empresa em <html style="--accent…;--hdr…">. */
:root{--bg:#f3f5f8;--surface:#fff;--sunk:#e8ecf2;--line:#d5dbe4;--fg:#16202e;--muted:#5b6878;--accent:#1f56d6;--accent-fg:#fff;
  --bad:#b3261e;--bad-soft:#fbe3e1;--good:#1b7a4b;--good-soft:#def3e7;--mod-op:#d8452b;--mod-es:#c99a06;--mod-mn:#5b6878;
  --lado:var(--esq,var(--hdr,#16202e));--lado-fg:var(--esq-fg,var(--hdr-fg,#eef2f8));
  --shadow:0 1px 2px rgba(22,32,46,.06),0 4px 14px rgba(22,32,46,.06);
  --f-display:"Bricolage Grotesque","Segoe UI",system-ui,sans-serif;--f-body:"IBM Plex Sans","Segoe UI",system-ui,sans-serif}
@media (prefers-color-scheme:dark){:root{--bg:#0f141c;--surface:#18202b;--sunk:#121922;--line:#2a3442;--fg:#e6ebf2;--muted:#93a0b2;
  --accent:#6f9bff;--accent-fg:#0b1220;--bad:#ff8a80;--bad-soft:#3a1a18;--good:#5cc98f;--good-soft:#15301f;--mod-op:#ff7a5c;--mod-es:#f0c43c;--mod-mn:#93a0b2;
  --lado:var(--esq,var(--hdr,#0b0e13));--lado-fg:var(--esq-fg,var(--hdr-fg,#e6ebf2));--shadow:0 1px 2px rgba(0,0,0,.3),0 4px 14px rgba(0,0,0,.25);color-scheme:dark}}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{min-height:100vh;min-height:100dvh;background:var(--bg);color:var(--fg);font:15px/1.45 var(--f-body);-webkit-text-size-adjust:100%}
button,input{font:inherit;color:inherit}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid color-mix(in srgb,var(--btn,var(--accent)) 55%,var(--dir-fg,var(--fg)));outline-offset:2px}

/* Estrutura: celular e tablet = barra do CRM em cima + formulário; computador = painel da empresa ao lado */
.tela{min-height:100vh;min-height:100dvh;display:flex}
.lado{display:none}
.principal{flex:1;display:flex;flex-direction:column;min-width:0}

/* Barra igual ao topo do CRM: usa a cor do lado esquerdo do login, ou a cor do topo do CRM */
.barra{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--esq,var(--hdr,var(--surface)));color:var(--esq-fg,var(--hdr-fg,var(--fg)));
  border-bottom:1px solid var(--line);padding:10px max(16px,env(safe-area-inset-right)) 10px max(16px,env(safe-area-inset-left));padding-top:max(10px,env(safe-area-inset-top))}
.marca{display:flex;align-items:center;gap:10px;min-width:0}
.marca>div{min-width:0}
.marca b{display:block;font-family:var(--f-display);font-weight:700;font-size:18px;letter-spacing:-.01em;line-height:1.15;overflow-wrap:anywhere}
.marca small{display:block;font-weight:500;font-size:11.5px;letter-spacing:.04em;text-transform:uppercase;opacity:.72}
.marca .logo{flex:none;width:34px;height:34px;object-fit:contain;border-radius:8px;background:#fff}
.marca i.logo{display:grid;place-items:center;background:var(--accent);color:var(--accent-fg);font-style:normal;font-weight:700;font-family:var(--f-display)}

.idi{position:relative;flex:none}
#idi-btn{display:flex;align-items:center;gap:4px;border:1px solid color-mix(in srgb,currentColor 25%,transparent);background:transparent;color:inherit;border-radius:8px;padding:6px 8px;cursor:pointer;min-height:36px}
#idi-btn svg,#idi-menu svg{width:24px;height:16px;border-radius:2px;display:block;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
#idi-btn .seta{font-size:10px;opacity:.8}
#idi-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:4px;display:flex;flex-direction:column;gap:2px;box-shadow:0 8px 24px rgba(0,0,0,.18);z-index:5}
#idi-menu button{border:0;background:transparent;padding:8px 10px;border-radius:6px;cursor:pointer}
#idi-menu button:hover,#idi-menu button[aria-checked=true]{background:var(--sunk)}

/* Formulário (cartão do CRM). Cores do lado direito e do botão vêm de Manutenção › Aparência › Tela de login */
.principal{--muted:color-mix(in srgb,var(--dir-fg,var(--fg)) 66%,var(--dir,var(--surface)));--line:color-mix(in srgb,var(--dir-fg,var(--fg)) 18%,var(--dir,var(--surface)))}
.caixa{color:var(--dir-fg,var(--fg));width:min(440px,100% - 32px);margin:clamp(20px,6vh,64px) auto 24px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:28px;box-shadow:var(--shadow);background:var(--dir,var(--surface))}
h1{font-family:var(--f-display);font-weight:700;font-size:24px;letter-spacing:-.01em;margin:0 0 4px}
.dica{color:var(--muted);font-size:14px;margin:0 0 18px}
label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:500;color:var(--muted);margin-bottom:14px}
input{font-size:16px;color:var(--dir-fg,var(--fg));background:color-mix(in srgb,var(--dir-fg,var(--fg)) 4%,var(--dir,var(--surface)));border:1px solid var(--line);border-radius:8px;padding:11px 12px;width:100%;min-height:46px}
input:focus{border-color:color-mix(in srgb,var(--btn,var(--accent)) 55%,var(--dir-fg,var(--fg)))}
.senha{position:relative}.senha input{padding-right:84px}
.senha button{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:inherit;font-size:13px;font-weight:600;cursor:pointer;padding:8px;text-decoration:underline;text-decoration-color:var(--btn,var(--accent));text-underline-offset:3px}
form>button{width:100%;font-weight:600;border:0;border-radius:8px;padding:12px;min-height:48px;background:var(--btn,var(--accent));color:var(--btn-fg,var(--accent-fg));cursor:pointer;margin-top:4px}
form>button:hover{filter:brightness(1.07)}
button:disabled{opacity:.6;cursor:wait}
.erro{background:var(--bad-soft);color:var(--bad);border-radius:8px;padding:9px 11px;font-size:14px;margin:0 0 14px}
.ok{background:var(--good-soft);color:var(--good);border-radius:8px;padding:9px 11px;font-size:14px;margin:0 0 14px}
.ok a{color:inherit;font-weight:600}
.link{background:none;border:0;color:inherit;text-decoration:underline;text-decoration-color:var(--btn,var(--accent));text-decoration-thickness:2px;text-underline-offset:4px;font-size:14px;font-weight:500;cursor:pointer;padding:10px 0;margin-top:6px}
.rod{color:var(--muted);font-size:12px;text-align:center;margin:20px 0 0}
.rod.versao{margin-top:8px;opacity:.8}
.rod a{color:inherit;text-decoration-color:var(--btn,var(--accent))}

/* Celular: formulário ocupa a largura toda, sem moldura */
@media (max-width:520px){
  .caixa{width:100%;margin:0;border:0;border-radius:0;box-shadow:none;padding:24px max(16px,env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom));flex:1}
  .marca b{font-size:16px}.marca small{font-size:10.5px}
}
/* Celular deitado / telas baixas: menos espaço em cima */
@media (max-height:520px){.caixa{margin-top:12px}}

/* Computador e tablet deitado: painel da empresa (cor do topo) à esquerda, formulário à direita, tela inteira */
@media (min-width:900px){
  .lado{display:flex;flex-direction:column;justify-content:center;gap:36px;flex:0 0 clamp(360px,42vw,620px);background:var(--lado);color:var(--lado-fg);padding:56px clamp(40px,5vw,80px)}
  .lado .marca{gap:14px}.lado .marca b{font-size:clamp(24px,2.2vw,32px)}.lado .marca small{font-size:12.5px}
  .lado .marca .logo{width:56px;height:56px;border-radius:12px;font-size:24px}
  .mods{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px}
  .mods li{display:grid;grid-template-columns:12px 1fr;column-gap:12px;align-items:baseline}
  .mods li::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--c);box-shadow:0 0 0 3px color-mix(in srgb,var(--c) 30%,transparent);grid-row:span 2;align-self:start;margin-top:6px}
  .mods b{font-weight:600;font-size:16px}.mods span{opacity:.78;font-size:14px}
  .lado-rod{margin:0;font-size:15px;line-height:1.5;opacity:.88;max-width:44ch;padding-left:14px;border-left:3px solid currentColor}
  .tela:not(.so) .barra{background:transparent;color:var(--dir-fg,var(--fg));border:0;justify-content:flex-end;padding:20px 28px 0}
  .tela:not(.so) .barra .marca{display:none}
  .tela:not(.so) .caixa{margin:auto;border:0;box-shadow:none;background:transparent;padding:24px 32px 48px;width:min(440px,100%)}
  .tela:not(.so) .principal{background:var(--dir,var(--surface))}
}
