:root{--bg:#f4f5f7;--panel:#fff;--fg:#1c1d1f;--mudo:#5f6368;--linha:#e2e4e8;--prim:#0b6fb8;--prim2:#095a95;--ok:#1a8f4d;--alerta:#c0392b;--alerta-bg:#fdecea;--r:10px}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
.wrap{max-width:1240px;margin:0 auto;padding:0 16px}
a{color:var(--prim)}
.top{background:#0b4f82;color:#fff;position:sticky;top:0;z-index:10}
.top-in{display:flex;align-items:center;gap:16px;min-height:56px;flex-wrap:wrap}
.marca{color:#fff;text-decoration:none;display:flex;flex-direction:column;line-height:1.1}
.marca span{font-size:.8rem;opacity:.8}
.menu{display:flex;gap:4px;align-items:center;flex-wrap:wrap;margin-left:auto}
.menu a{color:#fff;text-decoration:none;padding:8px 10px;border-radius:8px;font-size:.95rem}
.menu a.on,.menu a:hover{background:rgba(255,255,255,.16)}
.menu .quem{font-size:.85rem;opacity:.85;padding:0 8px}
.menu-btn{display:none;margin-left:auto;background:none;border:0;color:#fff;font-size:1.6rem;cursor:pointer}
main{padding-top:20px;padding-bottom:40px}
h1{font-size:1.6rem;margin:0}
h2{font-size:1.2rem;margin:24px 0 10px}
.cab{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:1px solid var(--linha);border-radius:8px;background:#fff;color:var(--fg);font:inherit;cursor:pointer;text-decoration:none;white-space:nowrap}
.btn:hover{border-color:#b9bdc4}
.btn.prim{background:var(--prim);border-color:var(--prim);color:#fff;font-weight:600}
.btn.prim:hover{background:var(--prim2)}
.btn.perigo{color:var(--alerta);border-color:#f0c4bf}
.btn.peq{padding:5px 10px;font-size:.88rem}
.filtros{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
input,select,textarea{font:inherit;padding:9px 10px;border:1px solid #cfd3d9;border-radius:8px;background:#fff;color:var(--fg);width:100%}
.filtros input{width:auto}.filtros input[type=search]{min-width:260px;flex:1}
input:focus,select:focus,textarea:focus{outline:2px solid #8cc4ee;border-color:var(--prim)}
.aviso{padding:12px 14px;border-radius:var(--r);margin-bottom:12px;background:#e8f4ec;border:1px solid #bfe0cb}
.aviso.erro{background:var(--alerta-bg);border-color:#f3c3bd;color:#7d1f15}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:14px}
.kpis div{background:var(--panel);border:1px solid var(--linha);border-radius:var(--r);padding:14px 16px}
.kpis b{display:block;font-size:1.8rem}.kpis span{color:var(--mudo);font-size:.9rem}
.tabela-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--linha);border-radius:var(--r)}
.tabela{width:100%;border-collapse:collapse;font-size:.95rem}
.tabela th,.tabela td{padding:9px 12px;border-bottom:1px solid var(--linha);text-align:left;vertical-align:middle}
.tabela th{background:#f8f9fa;font-size:.85rem;color:var(--mudo);font-weight:600;position:sticky;top:0}
.tabela td small{display:block;color:var(--mudo);font-size:.82rem}
.tabela tr:hover td{background:#fafbfc}
.num{text-align:right!important;font-variant-numeric:tabular-nums}
.alerta{color:var(--alerta);font-weight:600}
td.alerta,.campo.alerta{background:var(--alerta-bg)}
.inativo{opacity:.5}
.etapas span{display:inline-block;width:24px;height:24px;line-height:24px;text-align:center;border-radius:50%;background:#eceef1;color:#9aa0a6;font-size:.8rem;font-weight:700;margin-right:2px}
.etapas span.ok{background:#d7f0e0;color:var(--ok)}
.mudo{color:var(--mudo);font-size:.9rem}.vazio{padding:30px;text-align:center;color:var(--mudo);background:var(--panel);border-radius:var(--r);border:1px dashed var(--linha)}
.etapa{background:var(--panel);border:1px solid var(--linha);border-radius:var(--r);padding:6px 18px 16px;margin-bottom:14px}
.etapa h2{margin:14px 0 6px}.etapa h2 small{font-weight:400;color:var(--mudo);font-size:.85rem}
.etapa h3{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--mudo);margin:16px 0 8px}
.etapa.calc{background:#f7fafc}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.campo{display:flex;flex-direction:column;gap:4px;font-size:.9rem}
.campo>span{color:var(--mudo)}
.campo.ro{background:#f8f9fa;border-radius:8px;padding:8px 10px}.campo.ro b{font-size:1.05rem}
.campo.chk{flex-direction:row;align-items:center;gap:8px}.campo.chk input{width:auto}
.hora{display:flex;gap:6px}.hora input{flex:1}
.cliente-busca{position:relative}.cliente-busca small{color:var(--mudo)}
.sugestoes{position:absolute;left:0;right:0;top:44px;background:#fff;border:1px solid var(--linha);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);z-index:5;display:none;max-height:300px;overflow:auto}
.sugestoes div{padding:9px 12px;cursor:pointer;border-bottom:1px solid #f0f1f3}.sugestoes div:hover,.sugestoes div.sel{background:#eef6fc}
.sugestoes small{display:block;color:var(--mudo)}
.acoes{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.acoes.fixas{position:sticky;bottom:0;background:rgba(244,245,247,.95);padding:12px 0;border-top:1px solid var(--linha)}
.login{max-width:380px;margin:40px auto;background:var(--panel);border:1px solid var(--linha);border-radius:var(--r);padding:24px}
.login form{display:flex;flex-direction:column;gap:12px}.login label{display:flex;flex-direction:column;gap:4px;font-size:.92rem}
.caixa{background:var(--panel);border:1px solid var(--linha);border-radius:var(--r);padding:14px 16px;margin-bottom:14px}
.caixa summary{cursor:pointer;font-weight:600}.caixa form{margin-top:12px}
.grade-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.lista{list-style:none;padding:0;margin:0 0 10px}.lista li{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #f0f1f3}
.linha-add{display:flex;gap:6px}
.fech td,.fech th{white-space:nowrap}.fech .destaque td{background:#f2f8fd}
input.mini{width:110px;text-align:right;padding:6px 8px}textarea.obs{min-width:180px}
code.senha{font-size:1.2rem;background:#fff;padding:2px 8px;border-radius:6px;border:1px solid var(--linha)}
.det{font-size:.85rem;max-width:520px}
.rodape{color:var(--mudo);font-size:.85rem;text-align:center;padding:20px 16px 30px;border-top:1px solid var(--linha)}
@media(max-width:760px){
 .menu-btn{display:block}.menu{display:none;width:100%;flex-direction:column;align-items:stretch;padding-bottom:10px}
 body.menu-aberto .menu{display:flex}
 .grade{grid-template-columns:1fr 1fr}
 .tabela{font-size:.88rem}.tabela th,.tabela td{padding:8px}
}
@media print{.top,.filtros,.acoes,.btn,.rodape{display:none!important}body{background:#fff}.tabela-wrap{border:0}input.mini,textarea.obs{border:0}}
.aviso.rascunho{background:#fff8e1;border-color:#f3dd9b;color:#5c4400;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.aviso.rascunho[hidden]{display:none}
.aviso.rascunho .btn{padding:6px 12px}
