/* =====================================================================
   MV Engenharia — componentes do sistema (carregado depois de estilo.css)
   ===================================================================== */
[hidden]{display:none!important}
body.com-modal{overflow:hidden}
code{background:var(--verde-sup);color:var(--verde-esc);padding:1px 6px;border-radius:5px;font-size:11.5px;font-family:ui-monospace,Consolas,monospace}
.sub2{font-size:11.5px;color:var(--cinza);line-height:1.45}
.sub3{font-size:11px;color:var(--cinza-cla)}
.rot-mini{font-size:10.5px;text-transform:uppercase;letter-spacing:.7px;color:var(--cinza);font-weight:650;margin-bottom:6px}
.numerao{font-size:28px;font-weight:700;letter-spacing:-1px;color:var(--verde);line-height:1.15}
.linha-kv{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:7px 0;border-bottom:1px solid #F0F0EC;font-size:13px}
.linha-kv:last-child{border-bottom:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.link{color:var(--verde);font-weight:600;font-size:12px;text-decoration:underline;text-underline-offset:2px;padding:0}
tr.clicavel{cursor:pointer}
td.acoes{text-align:right;white-space:nowrap}
td.acoes .bt{margin-left:4px}
.dica-rod{padding:10px 18px;border-top:1px solid var(--linha);font-size:12px;color:var(--cinza);background:#FAFAF8}

/* botões */
.bt{display:inline-flex;align-items:center;justify-content:center;gap:6px;line-height:1.2;transition:.12s;border:1px solid transparent}
.bt:hover{filter:brightness(1.08)}
.bt:disabled{opacity:.45;cursor:not-allowed;filter:none}
.bt.pq{padding:5px 11px;font-size:12px;border-radius:7px}
.bt.sec{border-color:var(--linha)}
.bt.sec:hover{background:var(--verde-sup);filter:none}
.bt.perigo{background:var(--erro)}
.bt.perigo-txt{color:var(--erro)}
.bt.whats{background:#1FA855;color:#fff}

/* topo: sino */
.sino-cx{position:relative}
.sino{position:relative;width:38px;height:38px;border-radius:50%;font-size:17px;display:grid;place-items:center;background:var(--papel)}
.sino:hover{background:var(--verde-sup)}
.sino span{position:absolute;top:-3px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--erro);color:#fff;
  font-size:10.5px;font-weight:700;display:grid;place-items:center;border:2px solid #fff}
.sino-painel{position:absolute;right:0;top:46px;width:380px;max-width:calc(100vw - 24px);background:#fff;border:1px solid var(--linha);
  border-radius:12px;box-shadow:0 12px 40px rgba(28,28,26,.18);z-index:50;overflow:hidden}
.sino-painel header{display:flex;justify-content:space-between;align-items:center;padding:12px 15px;border-bottom:1px solid var(--linha)}
.sino-painel header button{font-size:12px;color:var(--verde);font-weight:600}
.sino-painel .ativar{width:100%;padding:10px;background:var(--verde-sup);color:var(--verde-esc);font-weight:600;font-size:12.5px;border-bottom:1px solid var(--linha)}
.sino-painel .lista{max-height:430px;overflow-y:auto}
.sino-painel .lista a{display:block;padding:11px 15px 11px 18px;border-bottom:1px solid #F2F2EE;cursor:pointer;position:relative}
.sino-painel .lista a:hover{background:#FAFAF8}
.sino-painel .lista a.nova{background:#F3F8F0}
.sino-painel .lista a.nova::before{content:"";position:absolute;left:7px;top:17px;width:6px;height:6px;border-radius:50%;background:var(--verde-cla)}
.sino-painel .lista b{display:block;font-size:13px;font-weight:650}
.sino-painel .lista span{display:block;font-size:12px;color:var(--cinza);line-height:1.4;margin-top:2px}
.sino-painel .lista i{display:block;font-style:normal;font-size:11px;color:var(--cinza-cla);margin-top:3px}

/* saudação e "sua vez" */
.saud{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:16px}
.saud h2{margin:0;font-size:22px;letter-spacing:-.4px}
.saud p{margin:3px 0 0;color:var(--cinza);font-size:13.5px}
.atalhos{display:flex;gap:8px;flex-wrap:wrap}
.vez-item{display:flex;align-items:center;gap:13px;padding:13px 18px;border-bottom:1px solid #F0F0EC;cursor:pointer}
.vez-item:last-child{border-bottom:0}
.vez-item:hover{background:#FBFBF9}
.vez-ic{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;flex:0 0 34px;font-size:14px;font-weight:700}
.vez-ic.etapa{background:#E6EFF7;color:var(--info)}
.vez-ic.at{background:#FBF2DC;color:#7A5A10}
.vez-ic.fu{background:var(--verde-sup);color:var(--verde)}
.vez-tx{flex:1;min-width:0}
.vez-tx b{display:block;font-size:14px}
.vez-tx span{display:block;font-size:12.5px;color:var(--cinza)}
.vez-tx i{display:block;font-size:11.5px;color:var(--cinza-cla);font-style:italic;margin-top:2px}
.vez-ac{display:flex;align-items:center;gap:9px;flex-wrap:wrap;justify-content:flex-end}

/* funil */
.col-funil{transition:.12s;border:2px dashed transparent}
.col-funil.sobre{border-color:var(--verde-cla);background:var(--verde-sup)}
.col-funil .soma{font-size:11.5px;color:var(--cinza);margin-bottom:9px}
.col-funil .nada{font-size:11.5px;color:var(--cinza-cla);padding:14px 4px;text-align:center}
.col-funil.perdido{background:#F7EFED;min-height:0}
.col-funil.perdido .perdidos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.col-funil.perdido .card-op{margin:0;opacity:.8}
.card-op{cursor:grab}
.card-op:active{cursor:grabbing}
.card-op.arrasta{opacity:.4}
.card-op:hover{border-color:var(--verde-cla);box-shadow:var(--sombra)}
.card-op .pe2{font-size:11px;color:var(--cinza-cla);margin-top:5px}

/* esteira */
.pa-ac{display:flex;flex-direction:column;gap:5px;align-items:flex-end;flex:0 0 auto}
.pa .obs{font-size:12px;color:var(--preto);background:#FAFAF8;border-left:3px solid var(--verde-cla);padding:6px 10px;margin-top:6px;border-radius:0 6px 6px 0}
.pa.ago{background:#F7FAFD;margin:0 -18px;padding-left:18px;padding-right:18px}
.hist .hi{padding:9px 0;border-bottom:1px solid #F0F0EC;font-size:13px}
.hist .hi:last-child{border-bottom:0}
.hist .hi i{font-style:normal;font-size:11.5px;color:var(--cinza-cla);margin-left:6px}
.hist .hi p{margin:2px 0 0;color:var(--cinza);font-size:12.5px}
.guia{display:flex;gap:12px;padding:10px 0;border-bottom:1px solid #F0F0EC}
.guia:last-child{border-bottom:0}
.guia .n{width:24px;height:24px;border-radius:50%;background:var(--verde-sup);color:var(--verde);font-weight:700;font-size:12px;display:grid;place-items:center;flex:0 0 24px}
.guia p{margin:2px 0 0;font-size:12.5px;color:var(--cinza);line-height:1.5}
.modelo .bt{margin-left:4px}

/* modal e formulário */
.modal-fundo{position:fixed;inset:0;background:rgba(20,26,18,.5);backdrop-filter:blur(2px);z-index:100;display:flex;align-items:flex-start;
  justify-content:center;padding:5vh 14px;overflow-y:auto}
.modal{background:#fff;border-radius:14px;width:100%;box-shadow:0 24px 70px rgba(0,0,0,.3);animation:sobe .16s ease-out}
@keyframes sobe{from{transform:translateY(10px);opacity:0}}
.modal header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--linha)}
.modal header h3{margin:0;font-size:16px;font-weight:650}
.modal .x{font-size:24px;line-height:1;color:var(--cinza);width:30px;height:30px;border-radius:7px}
.modal .x:hover{background:var(--papel)}
.modal-corpo{padding:18px 20px 20px}
.intro{margin:0 0 15px;font-size:13px;color:var(--cinza);line-height:1.55}
.intro b{color:var(--preto)}
.intro .criterio{font-style:italic}
.intro .prox{color:var(--verde-esc)}
.form{display:flex;flex-wrap:wrap;gap:12px 14px}
.campo{display:flex;flex-direction:column;gap:5px;flex:1 1 100%;min-width:0}
.campo.meia{flex:1 1 calc(50% - 7px)}
.campo.terco{flex:1 1 calc(33.33% - 10px)}
.campo>span{font-size:12px;font-weight:600;color:#3A3A36}
.campo>span i{color:var(--erro);font-style:normal}
.campo small{font-size:11.5px;color:var(--cinza-cla);line-height:1.4}
.campo input:not([type=checkbox]),.campo select,.campo textarea{padding:9px 11px;border:1px solid #D4D4CC;border-radius:8px;font:inherit;font-size:13.5px;
  background:#fff;color:var(--preto);width:100%}
.campo input[type=color]{padding:3px;height:38px}
.campo textarea{resize:vertical;line-height:1.5;font-family:inherit}
.campo textarea[name=corpo_html]{font-family:ui-monospace,Consolas,monospace;font-size:12px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:0;border-color:var(--verde-cla);box-shadow:0 0 0 3px rgba(111,163,75,.2)}
.campo .erro{border-color:var(--erro)!important}
.campo.marca-cx{flex-direction:row;align-items:flex-start;gap:9px;cursor:pointer}
.campo.marca-cx input{margin-top:2px;width:16px;height:16px;accent-color:var(--verde);flex:0 0 16px}
.campo.marca-cx span{font-weight:500;font-size:13px;line-height:1.45}
.campo-tit{flex:1 1 100%;font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--cinza);font-weight:650;
  border-top:1px solid var(--linha);padding-top:13px;margin-top:3px}
.form-rod{flex:1 1 100%;display:flex;justify-content:flex-end;gap:9px;margin-top:8px;padding-top:15px;border-top:1px solid var(--linha)}
.abas-mini{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.abas-mini button{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;background:var(--papel);color:var(--cinza);border:1px solid var(--linha)}
.abas-mini button.on{background:var(--verde);color:#fff;border-color:var(--verde)}
.lista-modelos{display:flex;flex-direction:column;gap:8px}
.lista-modelos button{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--linha);border-radius:10px;text-align:left;transition:.12s}
.lista-modelos button:hover{border-color:var(--verde-cla);background:var(--verde-sup)}
.lista-modelos .ico{width:34px;height:34px;border-radius:8px;background:var(--verde-sup);color:var(--verde);display:grid;place-items:center}
.lista-modelos b{display:block;font-size:13.5px}
.lista-modelos i{font-style:normal;font-size:11.5px;color:var(--cinza)}
.lista-modelos .seta{margin-left:auto;font-size:12px;font-weight:600;color:var(--verde)}

/* avisos rápidos */
#toasts{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{background:#1C1C1A;color:#fff;padding:11px 18px;border-radius:10px;font-size:13.5px;box-shadow:0 8px 28px rgba(0,0,0,.25);
  animation:sobe .18s ease-out;max-width:min(520px,92vw);border-left:4px solid var(--verde-cla)}
.toast.erro{border-left-color:#E0705F}
.toast.sai{opacity:0;transition:.3s}

/* entrada */
#login{min-height:100vh;display:grid;grid-template-columns:1.05fr 1fr}
.lg-esq{background:var(--barra-marca),url('../img/topografia.svg') center/cover,var(--verde-esc);background-size:100% 7px,cover,auto;color:#DDEBE0;padding:8vh 7vw;display:flex;flex-direction:column;justify-content:center}
.lg-logo{width:min(380px,80%);height:auto;margin:0 0 10px -6px;display:block}
.lg-esq h1{margin:0;font-size:32px;color:#fff;letter-spacing:-.6px}
.lg-sub{margin:4px 0 34px;color:#0FB25A;font-size:12.5px;letter-spacing:2.6px;text-transform:uppercase;font-weight:600}
.lg-esq ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:18px;max-width:440px}
.lg-esq li{padding-left:16px;border-left:3px solid var(--verde-cla);font-size:13.5px;line-height:1.5;color:#BFD6C4}
.lg-esq li b{display:block;color:#fff;font-size:15px;margin-bottom:2px}
.lg-areas{margin-top:40px;font-size:12px;letter-spacing:.6px;color:#7FAE88;text-transform:uppercase}
.lg-dir{display:flex;align-items:center;justify-content:center;padding:6vh 6vw;background:var(--papel)}
.lg-form{width:100%;max-width:400px;display:flex;flex-direction:column;gap:13px}
.lg-form h2{margin:0;font-size:24px;letter-spacing:-.4px;color:var(--verde)}
.lg-form>p{margin:-6px 0 6px;color:var(--cinza);font-size:13.5px}
.rapido-tit{margin-top:14px;padding-top:16px;border-top:1px solid var(--linha);font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--cinza);font-weight:650}
.rapido{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:9px}
.rapido button{display:flex;align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--linha);border-radius:10px;background:#fff;text-align:left;transition:.12s}
.rapido button:hover{border-color:var(--verde-cla);box-shadow:var(--sombra)}
.rapido b{display:block;font-size:12.5px;line-height:1.25}
.rapido i{font-style:normal;font-size:11px;color:var(--cinza)}
.rapido .avatar{width:30px;height:30px;font-size:11px;flex:0 0 30px}

@media(max-width:860px){
  #login{grid-template-columns:1fr}
  .lg-esq{padding:34px 26px}
  .lg-esq ul,.lg-areas{display:none}
  .lg-sub{margin-bottom:0}
  .so-largo{display:none}
  .pa{flex-wrap:wrap}
  .pa-ac{flex-direction:row;width:100%;padding-left:44px}
  .campo.meia,.campo.terco{flex:1 1 100%}
}
