:root{
  --royal:#1B3FC4;--royal-d:#14309F;--royal-rail:#10287F;--royal-soft:#E6ECFE;
  --ink:#111A3A;--muted:#525C7E;--line:#DFE4F3;--line-2:#C4CCE4;--bg:#F4F6FC;--surface:#fff;
  --ok-bg:#E2F5EB;--ok:#0B6B45;--warn-bg:#FCEEDC;--warn:#8A4300;--err:#B3261E;
  --rail-text:#DCE3FF;--rail-muted:#B7C4F5;
  --r:10px;--ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html{scrollbar-color:var(--line-2) transparent}
body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.5 Manrope,system-ui,-apple-system,"Segoe UI",sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased}
::selection{background:var(--royal);color:#fff}
[hidden]{display:none!important}
a{color:var(--royal);text-underline-offset:2px}a:hover{color:var(--royal-d)}
:focus-visible{outline:2px solid var(--royal);outline-offset:2px}
h1{font-size:24px;line-height:1.2;margin:0;font-weight:800;letter-spacing:-.02em;text-wrap:balance}
h2{font-size:15px;line-height:1.3;margin:0;font-weight:700}

.app{min-height:100vh;display:flex;flex-wrap:wrap;align-items:stretch}
.side{flex:0 0 236px;max-width:100%;background:var(--royal-rail);color:var(--rail-text);padding:18px 12px;display:flex;flex-direction:column;gap:18px;position:sticky;top:0;height:100vh;overflow-y:auto;scrollbar-color:rgba(255,255,255,.3) transparent}
.side :focus-visible{outline-color:#fff}
.brand{font-weight:800;font-size:15px;line-height:1.3;padding:0 8px;color:#fff}
.brand strong,.brand>div{display:block;overflow-wrap:anywhere}
.brand small{display:block;font-weight:500;font-size:12px;color:var(--rail-muted);overflow-wrap:anywhere;margin-top:1px}
.logo{display:block;max-width:100%;max-height:64px;object-fit:contain}
.brand .logo,.brand img{display:block;box-sizing:content-box;max-width:calc(100% - 20px);max-height:52px;object-fit:contain;background:#fff;padding:8px 10px;border-radius:var(--r);margin-bottom:10px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav button{all:unset;box-sizing:border-box;cursor:pointer;min-height:42px;padding:9px 10px;border-radius:8px;font-weight:600;display:flex;align-items:center;gap:10px;transition:background-color .15s var(--ease),color .15s var(--ease)}
.nav button:hover{background:rgba(255,255,255,.1);color:#fff}
.nav button:focus-visible{outline:2px solid #fff;outline-offset:-2px}
.nav button.on{background:#fff;color:var(--royal-d)}
.nav svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.quem{margin-top:auto;padding:0 8px;font-size:12.5px;font-weight:600;color:var(--rail-muted)}
.quem b{display:block;color:#fff;font-weight:700}

.main{flex:1 1 560px;min-width:0;max-width:100%;padding:30px clamp(16px,3vw,40px) 64px}
.top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px 20px;margin-bottom:22px}
.sub{color:var(--muted);margin:4px 0 0}
.card{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:18px}
.stack{display:flex;flex-direction:column;gap:14px}.line{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.between{justify-content:space-between}
.grid2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:16px;align-items:start}
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:12px}
.grid3:has(>.card>.num){grid-template-columns:repeat(auto-fit,minmax(min(140px,100%),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.grid3>.card:has(>.num){border:0;border-radius:0;padding:16px 18px}
.num{font-size:28px;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--royal-d)}
.lab{font-size:12.5px;color:var(--muted);font-weight:600}

.btn{font:inherit;font-weight:700;min-height:42px;padding:0 15px;border-radius:8px;border:1px solid var(--line-2);background:#fff;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:background-color .15s var(--ease),border-color .15s var(--ease),transform .1s var(--ease)}
.btn:hover{background:var(--bg);border-color:var(--royal);color:var(--royal-d)}
.btn:active{transform:translateY(1px)}
.btn.pri{background:var(--royal);border-color:var(--royal);color:#fff}.btn.pri:hover{background:var(--royal-d);border-color:var(--royal-d);color:#fff}
.btn.on{background:var(--royal-soft);border-color:var(--royal);color:var(--royal-d)}
.btn:disabled{opacity:.55;cursor:default;transform:none}
.field{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:700;color:#37405F;min-width:0}
.field input,.field select,.field textarea{font:inherit;font-size:14px;font-weight:500;color:var(--ink);min-height:42px;padding:9px 11px;border:1px solid var(--line-2);border-radius:8px;background:#fff;width:100%;transition:border-color .15s var(--ease),box-shadow .15s var(--ease);caret-color:var(--royal)}
.field input:hover,.field select:hover,.field textarea:hover{border-color:#9AA6CC}
.field input:focus,.field select:focus,.field textarea:focus{outline:0;border-color:var(--royal);box-shadow:0 0 0 3px var(--royal-soft)}
.form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:13px}
input[type=checkbox]{accent-color:var(--royal)}
.pill{display:inline-block;padding:2px 9px;border-radius:99px;background:#EDF0F9;font-size:12px;font-weight:700;color:#37405F}
.pill.ok{background:var(--ok-bg);color:var(--ok)}.pill.warn{background:var(--warn-bg);color:var(--warn)}

.scroll{overflow-x:auto}.tb{min-width:680px}
.row{display:grid;gap:10px;padding:11px 4px;border-bottom:1px solid #EBEEF7;align-items:center}.row:last-child{border-bottom:0}.row.h{font-size:12px;font-weight:700;color:var(--muted);padding-top:0}
.c-vendas{grid-template-columns:2fr 1.3fr .7fr .6fr 1fr .8fr 1.5fr}.c-equipe{grid-template-columns:1.4fr 1.8fr .9fr 1.2fr auto}.c-painel{grid-template-columns:1.6fr 1.3fr .7fr .8fr .8fr .6fr}.c-plat{grid-template-columns:1.6fr .7fr 1.1fr .8fr .8fr .8fr 1.1fr auto}

/* Funil: o azul ganha força a cada etapa, até a venda. */
.board{display:flex;gap:10px;overflow-x:auto;padding-bottom:12px;align-items:stretch}
.col{flex:1 0 170px;min-width:0;border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:8px;min-height:calc(100vh - 190px);background:#EEF1FB;transition:outline-color .15s}
.col:nth-child(2){background:#E8EDFB}.col:nth-child(3){background:#E1E8FB}.col:nth-child(4){background:#D9E2FB}.col:nth-child(5){background:#D0DBFA}
.col>.line{flex-wrap:nowrap}.col h2{font-size:13px;color:var(--royal-rail)}
.col .pill{background:#fff;color:var(--royal-d)}
.col.end{background:var(--royal)}.col.end h2{color:#fff}.col.end .lab{color:#E3E9FF}
.col.over{outline:2px dashed var(--royal);outline-offset:-3px}.col.end.over{outline-color:#fff}
.lead{display:block;overflow-wrap:anywhere;cursor:grab;background:#fff;border:1px solid transparent;border-radius:var(--r);padding:12px;box-shadow:0 1px 2px rgba(17,26,58,.08);transition:box-shadow .15s var(--ease),border-color .15s var(--ease)}
.lead:hover{border-color:var(--royal);box-shadow:0 4px 12px rgba(17,26,58,.12)}.lead:active{cursor:grabbing}
.lead span{display:block}.lead .pill{display:inline-block;background:#EDF0F9;color:#37405F}

.drawer{position:fixed;top:0;right:0;bottom:0;width:min(470px,100%);background:#fff;box-shadow:-12px 0 40px rgba(17,26,58,.2);padding:22px;overflow-y:auto;z-index:20;display:flex;flex-direction:column;gap:16px;animation:entra .22s var(--ease)}
@keyframes entra{from{transform:translateX(24px);opacity:.4}}
.shade{position:fixed;inset:0;background:rgba(16,40,127,.45);z-index:30;display:flex;align-items:center;justify-content:center;padding:16px}
.modal{background:#fff;border-radius:14px;padding:24px;width:min(440px,100%);display:flex;flex-direction:column;gap:14px;box-shadow:0 18px 50px rgba(17,26,58,.28)}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);width:min(520px,calc(100% - 32px));background:var(--ink);color:#fff;border-radius:9px;padding:12px 15px;font-weight:600;z-index:40;box-shadow:0 8px 24px rgba(17,26,58,.3)}
.note{background:var(--warn-bg);color:#6E3600;border-radius:9px;padding:11px 14px;font-weight:600}
.big{font-size:24px;font-weight:800;letter-spacing:-.02em;overflow-wrap:anywhere}.m0{margin:0}.w700{max-width:760px}.b{font-weight:700}
.vazio{border:1px dashed var(--line-2);background:transparent;text-align:left}

.login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:16px;background:var(--royal-rail)}
.login .card{width:min(420px,100%);border:0;padding:26px;box-shadow:0 18px 50px rgba(0,0,0,.25)}
.login .sub{color:var(--muted)}
.login>.stack>.sub{color:var(--rail-text)}
.login .brand{color:var(--ink);padding:0}.login .brand small{color:var(--muted)}
.login .brand img,.login .brand .logo{padding:0;background:none;border-radius:0;max-width:100%}

.split{min-height:100vh;display:flex;flex-wrap:wrap}
.split-a{flex:1 1 300px;background:var(--royal-rail);color:var(--rail-text);padding:clamp(24px,5vw,56px);display:flex;flex-direction:column;gap:12px}
.split-a h1{color:#fff;font-size:32px}.split-a p{margin:0;max-width:44ch}.split-a .sub{color:var(--rail-text)}
.split-b{flex:2 1 460px;min-width:0;padding:clamp(16px,4vw,48px)}.split-b form{max-width:680px}
.page{max-width:680px;margin:0 auto;padding:40px 16px 60px}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500}.check input{width:20px;height:20px;flex:none;margin:1px 0 0}
.erro{color:var(--err);font-weight:600}
.file{position:relative;overflow:hidden}.file input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}

@media(max-width:760px){
  .side{flex:1 1 100%;position:static;height:auto;padding:14px 12px;gap:12px}
  .nav{flex-direction:row;overflow-x:auto;padding-bottom:4px}
  .nav button{flex:none;white-space:nowrap;min-height:44px}
  .quem{display:none}
  .main{flex-basis:100%;padding-top:22px}
  .col{min-height:320px}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
