/* Layout: faixa azul com a marca centralizada, a jornada em quatro módulos lado a lado (empilhados no celular)
   e a relação de clientes e obras em linhas horizontais.
   Identidade GESTÃO MAXIMUS (brand): azul principal #0B2D6B, azul profundo #0F3E8A, laranja #FF8A00, grafite #2E2E2E;
   módulos Processo #06B3A6, Planejamento #6A1B9A, Obra #0078D4, Vistoria #00B4E6; Montserrat nos títulos, Inter nos textos. */
:root{
  --bg:#F2F5FA; --surface:#FFFFFF; --sunken:#E8EEF7; --ink:#1B2333; --muted:#566377; --line:#D6DEEA;
  --grafite:#0B2D6B; --grafite-2:#0F3E8A; --on-grafite:#EEF3FF; --on-grafite-2:#AFC2E8;
  --petroleo:#0F3E8A; --petroleo-ink:#0B2D6B; --petroleo-soft:#E4ECFA;
  --laranja:#FF8A00; --laranja-ink:#A35400; --on-laranja:#1F1200;
  --c-processo:#06B3A6; --c-planejamento:#6A1B9A; --c-obra:#0078D4; --c-vistoria:#00B4E6;
  /* indicadores das etapas: as cores dos módulos; apagado em cinza-claro */
  --e-processo:#05958B; --e-planejamento:#6A1B9A; --e-obra:#0078D4; --e-vistoria:#0086B8;
  --e-off-bg:#EEF1F4; --e-off-line:#CBD3DB; --e-off-ink:#8A95A1;
  --shadow:0 1px 2px rgba(11,45,107,.06),0 10px 28px -12px rgba(11,45,107,.25);
  --f-display:"Montserrat","Segoe UI",system-ui,sans-serif;
  --f-body:"Inter","Segoe UI",system-ui,-apple-system,sans-serif;
  --f-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#081226; --surface:#0F1D3A; --sunken:#0B1730; --ink:#EEF2F8; --muted:#9FB0C8; --line:#22345A;
  --grafite:#061638; --grafite-2:#0B2D6B; --on-grafite:#EEF3FF; --on-grafite-2:#9FB4DC;
  --petroleo:#6FA2FF; --petroleo-ink:#A9C6FF; --petroleo-soft:#14244A;
  --laranja:#FF9A2E; --laranja-ink:#FFC27A; --on-laranja:#1F1200;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 28px -12px rgba(0,0,0,.6); color-scheme:dark;
  --e-processo:#14A99E; --e-planejamento:#9B4FCB; --e-obra:#2F8FE0; --e-vistoria:#1AA6D6;
  --e-off-bg:#122244; --e-off-line:#2A3E66; --e-off-ink:#7486A8;
}}
:root[data-theme="dark"]{
  --bg:#081226; --surface:#0F1D3A; --sunken:#0B1730; --ink:#EEF2F8; --muted:#9FB0C8; --line:#22345A;
  --grafite:#061638; --grafite-2:#0B2D6B; --on-grafite:#EEF3FF; --on-grafite-2:#9FB4DC;
  --petroleo:#6FA2FF; --petroleo-ink:#A9C6FF; --petroleo-soft:#14244A;
  --laranja:#FF9A2E; --laranja-ink:#FFC27A; --on-laranja:#1F1200;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 28px -12px rgba(0,0,0,.6); color-scheme:dark;
  --e-processo:#14A99E; --e-planejamento:#9B4FCB; --e-obra:#2F8FE0; --e-vistoria:#1AA6D6;
  --e-off-bg:#122244; --e-off-line:#2A3E66; --e-off-ink:#7486A8;
}
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15.5px;line-height:1.5;-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:10;background:var(--grafite)}
button,input,select{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-family:var(--f-display);text-wrap:balance}
:focus-visible{outline:2px solid var(--laranja);outline-offset:2px}
.in{max-width:1220px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.mono{font-family:var(--f-mono);font-variant-numeric:tabular-nums}

/* ---------- cabeçalho ---------- */
.topo{background:radial-gradient(70% 120% at 85% -10%,rgba(43,107,224,.55),transparent 60%),radial-gradient(60% 90% at 0% 110%,rgba(255,138,0,.16),transparent 60%),linear-gradient(160deg,#0F3E8A 0%,#0B2D6B 55%,#071E4D 100%);color:var(--on-grafite);position:relative;overflow:hidden;border-bottom:4px solid var(--laranja)}
.topo::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px;
  mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 30%,#000 10%,transparent 75%)}
.topo .in{position:relative;z-index:1;padding-block:14px 30px}
.mini-mods{margin-right:auto;margin-left:14px;min-width:0;max-width:100%}
@media (max-width:900px){.mini-mods{order:3;flex-basis:100%;margin:8px 0 0}}
.util{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.grupo{display:flex;align-items:center;gap:8px;font-family:var(--f-display);font-weight:700;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--on-grafite-2)}
.grupo img{width:26px;height:26px;border-radius:6px;background:#fff;padding:2px}
.acoes{display:flex;gap:6px}
.ic{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.04);color:var(--on-grafite);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;padding:0}
.ic:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.28)}
.ic svg{width:19px;height:19px}
.ic img{width:100%;height:100%;border-radius:11px;object-fit:cover}
.ic[hidden]{display:none}
.marca{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;margin-top:18px}
.selo{width:92px;height:92px;filter:drop-shadow(0 14px 26px rgba(0,0,0,.4))}
.marca h1{font-weight:900;font-size:clamp(34px,6.2vw,62px);line-height:.95;letter-spacing:-.01em;text-transform:uppercase;color:#fff;display:flex;flex-direction:column;align-items:center;gap:2px}
.marca h1 span{color:var(--laranja);background:linear-gradient(180deg,#FFB000 0%,#FF8A00 55%,#E86A00 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 4px 12px rgba(255,138,0,.25))}
.marca .fio{width:84px;height:4px;border-radius:4px;background:linear-gradient(90deg,#FF8A00,#FFB000);margin-top:2px}
.marca p{margin:0;font-family:var(--f-display);font-weight:600;font-size:clamp(11.5px,1.5vw,14px);letter-spacing:.34em;text-transform:uppercase;color:var(--on-grafite-2)}
.novo{margin-top:16px;display:inline-flex;align-items:center;gap:10px;border:0;border-radius:14px;padding:15px 24px;background:var(--laranja);color:var(--on-laranja);font-family:var(--f-display);font-weight:800;font-size:15px;letter-spacing:.06em;cursor:pointer;box-shadow:0 10px 26px -10px rgba(255,138,0,.85);background:linear-gradient(180deg,#FFA62E,#FF8A00);transition:transform .15s,box-shadow .15s}
.novo:hover{transform:translateY(-2px);box-shadow:0 14px 30px -10px rgba(255,138,0,.95)}
.novo svg{width:20px;height:20px}
.novo:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* ---------- módulos ---------- */
.secao{padding-block:28px 8px}
.rot{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.rot h2{font-weight:800;font-size:clamp(18px,2.2vw,22px);letter-spacing:.04em;text-transform:uppercase}
.rot span{color:var(--muted);font-size:14px}
.jornada{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr) 22px minmax(0,1fr);align-items:stretch;gap:6px}
.seta{display:flex;align-items:center;justify-content:center;color:var(--muted)}
.seta svg{width:22px;height:22px}
.mod{--c:var(--petroleo);position:relative;display:flex;flex-direction:column;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer;padding:0;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;min-width:0}
.mod:hover{transform:translateY(-4px);border-color:var(--c);box-shadow:0 20px 40px -18px color-mix(in srgb,var(--c) 70%,transparent)}
.mod .faixa{position:relative;height:132px;background:var(--c);display:flex;align-items:flex-end;justify-content:space-between;padding:12px 14px;overflow:hidden}
.mod .faixa::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:18px 18px}
.mod .num{position:relative;font-family:var(--f-mono);font-weight:600;font-size:13px;color:#fff;background:rgba(6,22,58,.35);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:3px 8px}
.mod .emb{position:relative;width:92px;height:92px;border-radius:22px;overflow:hidden;box-shadow:0 8px 18px rgba(0,0,0,.35);border:3px solid rgba(255,255,255,.85);background:#fff;transition:transform .25s}
.mod:hover .emb{transform:scale(1.06) rotate(-3deg)}
.mod .emb img{width:100%;height:100%;object-fit:cover;display:block}
.mod.processo{--c:var(--c-processo)} .mod.planejamento{--c:var(--c-planejamento)} .mod.obra{--c:var(--c-obra)} .mod.vistoria{--c:var(--c-vistoria)}
/* cartões no estilo do brand: degradê profundo na cor do módulo, brilho no canto e fio laranja */
.mod .faixa::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:linear-gradient(90deg,#FF8A00,#FFB000)}
.mod.processo .faixa{background:radial-gradient(120% 140% at 100% 0%,rgba(110,240,228,.45),transparent 55%),linear-gradient(140deg,#06B3A6 0%,#05807A 55%,#0B2D6B 120%)}
.mod.planejamento .faixa{background:radial-gradient(120% 140% at 100% 0%,rgba(200,140,255,.42),transparent 55%),linear-gradient(140deg,#8E2BC4 0%,#6A1B9A 50%,#2A0F5A 110%)}
.mod.obra .faixa{background:radial-gradient(120% 140% at 100% 0%,rgba(120,190,255,.45),transparent 55%),linear-gradient(140deg,#1E8FE8 0%,#0078D4 45%,#0B2D6B 110%)}
.mod.vistoria .faixa{background:radial-gradient(120% 140% at 100% 0%,rgba(160,235,255,.5),transparent 55%),linear-gradient(140deg,#2AC5F0 0%,#0098CC 50%,#0B2D6B 115%)}
.mod .corpo{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.mod h3{font-weight:800;font-size:clamp(17px,1.7vw,20px);line-height:1.1;text-transform:uppercase;color:var(--ink)}
.mod p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.mod .ir{margin-top:auto;padding-top:10px;display:flex;align-items:center;gap:6px;font-weight:700;font-size:14px;color:var(--c)}
:root[data-theme="dark"] .mod .ir{color:var(--ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .mod .ir{color:var(--ink)}}
.mod .ir svg{width:16px;height:16px;transition:transform .2s}
.mod:hover .ir svg{transform:translateX(4px)}
.mod.bloq{cursor:not-allowed;filter:grayscale(.85);opacity:.6}
.mod.bloq:hover{transform:none;box-shadow:var(--shadow);border-color:var(--line)}
.mod .tag-bloq{position:absolute;top:12px;right:12px;z-index:2;background:rgba(0,0,0,.65);color:#fff;font-size:11.5px;font-weight:700;border-radius:999px;padding:3px 10px}

/* ---------- visão geral ---------- */
.ferr{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.busca{position:relative;flex:1 1 280px;min-width:0}
.busca svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted)}
.busca input{width:100%;padding:12px 12px 12px 40px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
.busca input:focus{outline:none;border-color:var(--petroleo);box-shadow:0 0 0 3px var(--petroleo-soft)}
.cont{font-size:13.5px;color:var(--muted)}
.lista{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.lcab,.linha{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1.1fr) 480px;gap:14px;align-items:center;padding:11px 16px}
.lcab{background:var(--grafite);color:var(--on-grafite);font-family:var(--f-display);font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.linha{border-top:1px solid var(--line)}
.linha:nth-child(even){background:color-mix(in srgb,var(--sunken) 55%,transparent)}
.linha:hover{background:var(--petroleo-soft)}
.linha b{display:block;font-weight:700;overflow-wrap:anywhere}
.linha small{display:block;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
.cel{min-width:0}
.acessos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.acessos .et{min-width:0}
.et{--e:var(--petroleo);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;border-radius:10px;padding:7px 6px;font-size:12.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap;cursor:pointer;transition:filter .15s,transform .15s,box-shadow .15s;border:1.5px solid transparent}
.et .lz{width:9px;height:9px;border-radius:50%;flex:none}
.et.on{background:var(--e);color:#fff;border-color:var(--e);box-shadow:0 0 0 3px color-mix(in srgb,var(--e) 20%,transparent),0 6px 16px -8px var(--e)}
.et.on .lz{background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,#fff 35%,transparent),0 0 10px 2px rgba(255,255,255,.75)}
.et.on:hover{filter:brightness(1.08);transform:translateY(-1px)}
.et.off,.et.carr,.et.bloq{background:var(--e-off-bg);color:var(--e-off-ink);border:1.5px dashed var(--e-off-line);cursor:default;box-shadow:none}
.et.off .lz,.et.bloq .lz{border:2px solid var(--e-off-line);background:transparent}
.et.carr .lz{background:var(--e-off-line);animation:pisca 1.2s ease-in-out infinite}
.et.bloq{opacity:.6;cursor:not-allowed}
@keyframes pisca{50%{opacity:.35}}
.et.processo{--e:var(--e-processo)} .et.planejamento{--e:var(--e-planejamento)} .et.obra{--e:var(--e-obra)} .et.vistoria{--e:var(--e-vistoria)}
.legenda{display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:12.5px;color:var(--muted);margin:0 2px 12px}
.legenda span{display:inline-flex;align-items:center;gap:7px}
.legenda .lz{width:10px;height:10px;border-radius:50%;display:inline-block}
.legenda .lz.on{background:linear-gradient(90deg,var(--e-processo) 0 25%,var(--e-planejamento) 25% 50%,var(--e-obra) 50% 75%,var(--e-vistoria) 75%)}
.legenda .lz.off{border:2px dashed var(--e-off-line)}
.vazio{padding:34px 20px;text-align:center;color:var(--muted)}
.vazio b{display:block;color:var(--ink);font-size:16px;margin-bottom:4px}
.nota{font-size:13px;color:var(--muted);margin:10px 2px 0}
.rodape{padding-block:30px 40px;color:var(--muted);font-size:12.5px;text-align:center}

/* ---------- janelas ---------- */
.fundo{position:fixed;inset:0;z-index:50;background:rgba(10,14,18,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.janela{background:var(--bg);color:var(--ink);border-radius:18px;width:min(620px,100%);max-height:calc(100% - 24px);display:flex;flex-direction:column;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.jcab{display:flex;align-items:flex-start;gap:12px;padding:18px 20px 12px;border-bottom:1px solid var(--line)}
.jcab h2{font-weight:800;font-size:20px;text-transform:uppercase;letter-spacing:.03em}
.jcab p{margin:2px 0 0;color:var(--muted);font-size:13.5px}
.jcab .x{margin-left:auto;border:0;background:none;cursor:pointer;color:var(--muted);padding:4px}
.jcorpo{padding:16px 20px 20px;overflow:auto;display:grid;gap:14px}
.bloco{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.bloco h3{font-family:var(--f-body);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:10px}
.chave{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px solid var(--line)}
.chave:last-child{border-bottom:0}
.chave span b{display:block}
.chave span small{color:var(--muted);font-size:12.5px}
.sw{position:relative;width:46px;height:26px;flex:none}
.sw input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.sw i{position:absolute;inset:0;border-radius:999px;background:var(--line);transition:background .15s}
.sw i::after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s;box-shadow:0 1px 3px rgba(0,0,0,.3)}
.sw input:checked+i{background:var(--petroleo)}
.sw input:checked+i::after{transform:translateX(20px)}
.sw input:disabled+i{opacity:.5}
.sw input:focus-visible+i{outline:2px solid var(--laranja);outline-offset:2px}
.opc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.opc button{border:1.5px solid var(--line);background:var(--surface);border-radius:10px;padding:10px;cursor:pointer;font-weight:600}
.opc button[aria-pressed="true"]{border-color:var(--petroleo);background:var(--petroleo-soft);color:var(--petroleo-ink)}
.perfil{display:flex;align-items:center;gap:14px}
.perfil img,.perfil .av{width:58px;height:58px;border-radius:50%;object-fit:cover;background:var(--sunken);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:22px;color:var(--petroleo-ink)}
.perfil b{display:block;font-size:17px}
.perfil small{color:var(--muted)}
.pessoa{display:grid;grid-template-columns:minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}
.pessoa:last-child{border-bottom:0}
.pessoa .mods{display:flex;gap:6px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:4px 10px;font-size:12.5px;cursor:pointer;background:var(--surface)}
.pill input{margin:0}
.res{border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-top:6px}
.res button{display:flex;width:100%;gap:10px;align-items:center;padding:8px 10px;border:0;border-bottom:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:left}
.res button:last-child{border-bottom:0}
.campo{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.aviso{background:var(--petroleo-soft);color:var(--ink);border-radius:10px;padding:10px 12px;font-size:13.5px;margin:0}
.toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:11px 16px;border-radius:10px;z-index:70;font-size:14px;max-width:calc(100% - 32px)}
.carregando{min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px;color:var(--muted)}
.carregando .selo{width:64px;height:64px}


/* ---------- alertas e providências ---------- */
.alertas{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.al-res{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.al-res span{display:inline-flex;align-items:center;gap:6px}
.al-res b{color:var(--ink);font-family:var(--f-mono)}
.al-lin{display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);gap:6px 14px;align-items:center;padding:8px 14px;border-top:1px solid var(--line)}
.al-lin:first-of-type{border-top:0}
.al-cli{min-width:0;border:0;background:none;padding:0;text-align:left;cursor:pointer}
.al-cli b{display:block;font-weight:700;font-size:14px;overflow-wrap:anywhere}
.al-cli small{display:block;color:var(--muted);font-size:12px;overflow-wrap:anywhere}
.al-cli:hover b{text-decoration:underline}
.al-tags{display:flex;flex-wrap:wrap;gap:6px}
.al{display:inline-flex;align-items:center;gap:7px;border-radius:999px;padding:4px 11px 4px 8px;font-size:12.5px;font-weight:700;cursor:pointer;border:1px solid transparent;line-height:1.3}
.al i{width:8px;height:8px;border-radius:50%;background:currentColor;flex:none}
.al small{font-weight:500;opacity:.8;font-family:var(--f-mono);font-size:11px}
.al:hover{filter:brightness(1.06);transform:translateY(-1px)}
.al.urgente{background:#DC2626;color:#fff;border-color:#B91C1C;box-shadow:0 0 0 3px rgba(220,38,38,.18)}
.al.iniciar{background:#EA580C;color:#fff;border-color:#C2410C}
.al.pend_plan{background:#FEF3C7;color:#92400E;border-color:#F59E0B}
.al.planejada{background:#DBEAFE;color:#1E40AF;border-color:#93C5FD}
.al.vistoria_final{background:#0086B8;color:#fff;border-color:#006A93}
.al .al-x{font-style:normal;font-weight:800;font-size:14px;line-height:1;opacity:.55;margin-left:1px}
.al:hover .al-x,.al:focus-visible .al-x{opacity:1}
.al:hover{filter:brightness(.95)}
.al-pe{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 14px;border-top:1px solid var(--line);background:color-mix(in srgb,var(--sunken) 55%,transparent)}
.al-pe button{border:0;background:none;color:var(--petroleo-ink);font-weight:700;font-size:13px;cursor:pointer;padding:4px 0}
.al-vazio{padding:16px;color:var(--muted);font-size:13.5px;text-align:center}
.al-hist{padding:6px 14px 12px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted)}
.al-hist li{padding:3px 0}
.al-hist b{color:var(--ink)}
@media (max-width:640px){.al-lin{grid-template-columns:minmax(0,1fr)}}
@media (prefers-reduced-motion:reduce){.al:hover{transform:none}}

@media (max-width:1100px){
  .lcab{display:none}
  .linha{grid-template-columns:minmax(0,1fr);gap:6px;padding:12px 14px}
  .linha .cel.obra,.linha .cel.loc{font-size:13.5px}
}
@media (max-width:980px){
  .jornada{grid-template-columns:minmax(0,1fr);gap:4px}
  .seta{height:24px}
  .seta svg{transform:rotate(90deg)}
  .mod{flex-direction:row}
  .mod .faixa{width:132px;height:auto;min-height:132px;flex:none;flex-direction:column;align-items:flex-start;justify-content:space-between}
  .mod .emb{width:72px;height:72px}
}
@media (max-width:480px){
  .mod .faixa{width:104px;padding:10px}
  .mod .emb{width:60px;height:60px;border-radius:16px}
  .acessos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .opc{grid-template-columns:minmax(0,1fr)}
  .grupo span{display:none}
}
@media (prefers-reduced-motion:reduce){.et{transition:none}.et.on:hover{transform:none}.et.carr .lz{animation:none}.mod,.mod .emb,.novo,.mod .ir svg{transition:none}.mod:hover,.novo:hover{transform:none}.mod:hover .emb{transform:none}}

/* ---------- Documentos Anexos (v14) ---------- */
.docs-ent{--c:#0B2D6B;margin-top:16px;width:100%;display:grid;grid-template-columns:220px minmax(0,1fr) auto;align-items:stretch;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;cursor:pointer;padding:0;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s;color:var(--ink);font:inherit}
.docs-ent:hover{transform:translateY(-3px);border-color:#FF8A00;box-shadow:0 20px 40px -18px rgba(11,45,107,.55)}
.docs-ent .faixa{position:relative;min-height:118px;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 140% at 100% 0%,rgba(255,170,60,.45),transparent 55%),linear-gradient(140deg,#0F3E8A 0%,#0B2D6B 60%,#06183D 120%);overflow:hidden}
.docs-ent .faixa::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:18px 18px}
.docs-ent .faixa::after{content:"";position:absolute;top:0;bottom:0;right:0;width:4px;background:linear-gradient(180deg,#FF8A00,#FFB000)}
.docs-ent .faixa .emb{position:relative;width:74px;height:74px;border-radius:20px;background:#fff;color:#0B2D6B;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 18px rgba(0,0,0,.35);transition:transform .25s}
.docs-ent:hover .faixa .emb{transform:scale(1.06) rotate(-3deg)}
.docs-ent .faixa .emb svg{width:40px;height:40px}
.docs-ent .faixa .num{position:absolute;left:12px;top:12px;font-family:var(--f-mono);font-weight:600;font-size:13px;color:#fff;background:rgba(6,22,58,.35);border:1px solid rgba(255,255,255,.25);border-radius:8px;padding:3px 8px}
.docs-ent .corpo{padding:16px 20px;display:flex;flex-direction:column;justify-content:center;gap:6px;min-width:0}
.docs-ent h3{font-weight:800;font-size:clamp(17px,1.7vw,20px);line-height:1.1;text-transform:uppercase}
.docs-ent p{margin:0;color:var(--muted);font-size:14px;line-height:1.4}
.docs-ent .cont-m{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.docs-ent .cont-m span{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;border-radius:999px;padding:4px 10px;background:var(--sunken)}
.docs-ent .cont-m i{width:9px;height:9px;border-radius:50%}
.docs-ent .ir{display:flex;align-items:center;gap:6px;padding:0 22px;font-weight:700;font-size:14px;color:#0F3E8A;white-space:nowrap}
:root[data-theme="dark"] .docs-ent .ir{color:var(--ink)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .docs-ent .ir{color:var(--ink)}}
.docs-ent .ir svg{width:16px;height:16px;transition:transform .2s}.docs-ent:hover .ir svg{transform:translateX(4px)}
.dc-topo{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:18px}
.dc-volta{display:inline-flex;align-items:center;gap:8px;height:40px;padding:0 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);font-weight:700;color:var(--ink);cursor:pointer}
.dc-volta svg{width:16px;height:16px;transform:rotate(180deg)}
.dc-topo h2{font-family:var(--f-display);font-weight:800;font-size:clamp(22px,2.6vw,30px);text-transform:uppercase;letter-spacing:.01em}
.dc-topo h2 span{color:#FF8A00}
.dc-topo p{flex-basis:100%;margin:-6px 0 0;color:var(--muted);font-size:14px}
.dc-mods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:18px}
.dc-mod{--c:#0078D4;position:relative;display:flex;align-items:center;gap:16px;text-align:left;padding:16px 18px;border-radius:18px;border:2px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);font:inherit;box-shadow:var(--shadow);transition:transform .15s,border-color .15s,box-shadow .15s}
.dc-mod:hover{transform:translateY(-2px);border-color:var(--c)}
.dc-mod.on{border-color:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 18%,transparent),var(--shadow)}
.dc-mod.processo{--c:#06B3A6}.dc-mod.obra{--c:#0078D4}
.dc-mod img{width:58px;height:58px;border-radius:16px;object-fit:cover;flex:none;box-shadow:0 6px 14px rgba(0,0,0,.2)}
.dc-mod b{display:block;font-family:var(--f-display);font-weight:800;font-size:17px;text-transform:uppercase;line-height:1.15}
.dc-mod small{display:block;color:var(--muted);font-size:13px;margin-top:3px}
.dc-mod .n{margin-left:auto;font-family:var(--f-mono);font-weight:600;font-size:22px;color:var(--c);text-align:right;line-height:1}
.dc-mod .n em{display:block;font:600 11px/1.2 var(--f-body);font-style:normal;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:4px}
.dc-mod.on::after{content:"Você está aqui";position:absolute;top:-10px;left:18px;background:var(--c);color:#fff;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:2px 10px}
.dc-ferr{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.dc-ferr .busca{flex:1;min-width:220px}
.dc-lista{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.dc-cab,.dc-lin{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(320px,1.5fr) 120px;gap:14px;align-items:center;padding:12px 16px}
.dc-cab{background:var(--grafite);color:var(--on-grafite);font-family:var(--f-display);font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase}
.dc-lin{border-top:1px solid var(--line)}
.dc-lin:nth-child(even){background:color-mix(in srgb,var(--sunken) 55%,transparent)}
.dc-lin b{display:block;font-weight:700;overflow-wrap:anywhere}.dc-lin small{display:block;color:var(--muted);font-size:12.5px;overflow-wrap:anywhere}
:is(html,#gm-raiz) .dc-lin .gmx-ax{min-height:38px}
.dc-abrir{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:700;font-size:13px;cursor:pointer;white-space:nowrap}
.dc-abrir:hover{border-color:#0F3E8A}
.dc-abrir svg{width:14px;height:14px}
.dc-esc{padding:40px 20px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--line);border-radius:16px}
.dc-esc b{display:block;color:var(--ink);font-size:17px;margin-bottom:4px}
@media (max-width:860px){.docs-ent{grid-template-columns:120px minmax(0,1fr)}.docs-ent .ir{display:none}.docs-ent .faixa .emb{width:60px;height:60px}.dc-cab{display:none}.dc-lin{grid-template-columns:minmax(0,1fr) auto}.dc-lin .gmx-anx{grid-column:1/-1;grid-row:3}.dc-lin .cel-obra{grid-column:1/-1}}
@media (max-width:560px){.dc-mods{grid-template-columns:minmax(0,1fr)}.dc-lin .gmx-anx{grid-template-columns:minmax(0,1fr)}}

/* ---------- Painel (v21) ---------- */
.pn-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.pn-t{--c:#0F3E8A;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--c);border-radius:14px;padding:14px 14px 12px;cursor:pointer;color:var(--ink);font:inherit;box-shadow:var(--shadow);transition:transform .15s,border-color .15s}
.pn-t:hover{transform:translateY(-2px)}
.pn-t b{font-size:30px;line-height:1;font-weight:600;color:var(--ink)}
.pn-t span{font-weight:700;font-size:13.5px;margin-top:6px}
.pn-t small{color:var(--muted);font-size:12px;line-height:1.3}
.pn-t.proc{--c:#06B3A6}.pn-t.obra{--c:#0078D4}.pn-t.vist{--c:#0086B8}.pn-t.ruim{--c:#D93025}.pn-t.ok{--c:#1E8E3E}
.pn-t.carr{grid-column:1/-1;cursor:default;color:var(--muted);border-left-color:var(--line)}
.pn-grafs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.pn-graf{margin:0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.pn-graf figcaption{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}
.pn-graf figcaption b{font-size:14px;text-transform:uppercase;letter-spacing:.06em}
.pn-graf figcaption span{color:var(--muted);font-size:12.5px}
.pn-graf ol{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.pn-graf li{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr) 34px;gap:10px;align-items:center;font-size:13px}
.pn-graf .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink)}
.pn-graf .tr{height:14px;background:var(--sunken);border-radius:4px;overflow:hidden}
.pn-graf .tr i{display:block;height:100%;background:var(--c);border-radius:0 4px 4px 0}
.pn-graf .vl{text-align:right;color:var(--ink);font-weight:600}
.pn-ir{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--muted);font-weight:700;font-size:13px;cursor:pointer;padding:2px 0}
.pp-lista{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.pp-lista li{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px}
.pp-lista li>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pp-lista small{color:var(--muted);font-size:13px;line-height:1.35}
.pp-n{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-weight:800;font-size:13px;background:var(--line);color:var(--ink)}
.pp-lista li.ok .pp-n{background:#0D7F6E;color:#fff}
.pp-lista li.ok b{color:var(--muted)}
.pp-feito{flex:none;font-size:12px;font-weight:700;color:#0D7F6E}
.pp-ocultar{margin-top:8px;border:0;background:none;color:var(--muted);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer;padding:4px 0}
.copias{margin-top:10px}
@media (max-width:640px){.pp-lista li{flex-wrap:wrap}.pp-lista li .pill{margin-left:40px}}
.pn-ir:hover{color:var(--ink)}.pn-ir svg{width:14px;height:14px}
.pn-at{display:grid;gap:6px}
.pn-atl{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;color:var(--ink);font:inherit}
.pn-atl b{display:block}.pn-atl small{display:block;color:var(--muted);font-size:12px}
.pn-m{background:var(--c);color:#fff;border-radius:999px;padding:3px 9px;font-size:11.5px;font-weight:700}
@media (max-width:1100px){.pn-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.pn-grafs{grid-template-columns:minmax(0,1fr)}}
@media (max-width:520px){.pn-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.pn-t b{font-size:26px}.pn-graf li{grid-template-columns:minmax(90px,120px) minmax(0,1fr) 28px}}
.topo-busca{margin-right:4px}
