@charset "UTF-8";
/*
  Painel do Programa de Pavimentação Comunitária (Lei Municipal 10.539/2026)
  Folha de estilos. Todas as regras ficam restritas ao bloco .pav-painel,
  para não interferir no restante da intranet.
*/
.pav-painel{--bg:#f4f6f9; --card:#ffffff; --ink:#1f2937; --muted:#6b7280; --line:#e5e7eb; --navy:#1e3a5f;
  --t1:#0e9aa7; --t2:#3f9c35; --t3:#f28c28; --t4:#7b4fc9; --t5:#2f6fde; --t6:#1e3a5f;
  --ok-bg:#dcfce7; --ok:#166534; --run-bg:#ede9fe; --run:#5b21b6; --wait-bg:#fef3c7; --wait:#92400e;
  --res-bg:#ffedd5; --res:#c2410c; --info-bg:#dbeafe; --info:#1e40af; --bad-bg:#fee2e2; --bad:#b91c1c;}
.pav-painel, .pav-painel *{box-sizing:border-box}
.pav-painel table, .pav-painel th, .pav-painel td{border:0;margin:0}
.pav-painel{margin:0 auto;background:var(--bg);color:var(--ink);font:14px/1.45 Inter,Arial,sans-serif}
.pav-painel{max-width:1240px;margin:0 auto;padding:16px}
.pav-painel header.top{background:var(--card);border-radius:14px;padding:18px 20px;display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pav-painel .muni{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);line-height:1.3}
.pav-painel .muni strong{display:block;color:var(--navy);font-size:15px;letter-spacing:.04em}
.pav-painel .title{text-align:center}
.pav-painel .title h1{margin:0;font-size:26px;font-weight:800;color:var(--navy);letter-spacing:.01em;text-transform:uppercase}
.pav-painel .title p{margin:4px 0 0;color:#2f6b3a;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-size:13px}
.pav-painel .upd{border:1px solid var(--line);border-radius:10px;padding:8px 12px;font-size:12px;color:var(--muted);text-align:right;min-width:180px}
.pav-painel .upd b{display:block;color:var(--t2);font-size:14px}
.pav-painel .steps{background:var(--card);border-radius:14px;margin-top:14px;padding:18px 12px;display:grid;grid-template-columns:repeat(6,1fr);gap:8px;position:relative}
.pav-painel .step{text-align:center;padding:0 6px;position:relative}
.pav-painel .step .n{width:34px;height:34px;border-radius:50%;color:#fff;font-weight:700;display:grid;place-items:center;margin:0 auto 8px;font-size:15px}
.pav-painel .step h3{margin:0 0 4px;font-size:12.5px;text-transform:uppercase;letter-spacing:.02em}
.pav-painel .step p{margin:0;font-size:12px;color:var(--muted)}
.pav-painel .step:not(:last-child)::after{content:"";position:absolute;top:17px;left:calc(50% + 22px);right:calc(-50% + 22px);border-top:2px dotted #cbd5e1}
.pav-painel .toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:16px 0 10px}
.pav-painel .toolbar input, .pav-painel .toolbar select{font:inherit;padding:8px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;min-width:0}
.pav-painel .toolbar input{flex:1 1 260px}
.pav-painel .chips{display:flex;flex-wrap:wrap;gap:6px}
.pav-painel .chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 10px;font-size:12px;cursor:pointer;color:var(--ink)}
.pav-painel .chip b{margin-left:4px}
.pav-painel .chip.on{border-color:var(--navy);background:var(--navy);color:#fff}
.pav-painel .tablecard{background:var(--card);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.pav-painel table{width:100%;border-collapse:collapse}
.pav-painel thead th{font-size:11.5px;text-transform:uppercase;letter-spacing:.02em;color:#fff;padding:10px 8px;text-align:center;line-height:1.25}
.pav-painel thead th small{display:block;font-weight:500;text-transform:none;opacity:.9}
.pav-painel th.h-id{background:#eef1f5;color:var(--navy)}
.pav-painel th.h1{background:var(--t1)}
.pav-painel th.h2{background:var(--t2)}
.pav-painel th.h3{background:var(--t3)}
.pav-painel th.h4{background:var(--t4)}
.pav-painel th.h5{background:var(--t5)}
.pav-painel th.h6{background:#334155}
.pav-painel tbody td{border-top:1px solid var(--line);padding:10px 8px;vertical-align:middle;font-size:13px}
.pav-painel td.ord{text-align:center;font-weight:700}
.pav-painel td.ctr{text-align:center}
.pav-painel td.prot{font-weight:700;white-space:nowrap}
.pav-painel td.prot small{display:block;font-weight:400;color:var(--muted)}
.pav-painel td.rua small{display:block;color:var(--muted)}
.pav-painel .cell{display:flex;gap:8px;align-items:flex-start}
.pav-painel .ic{flex:0 0 18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;font-weight:700;margin-top:1px}
.pav-painel .ic.ok{border:1.5px solid #16a34a;color:#16a34a}
.pav-painel .ic.no{border:1.5px solid #dc2626;color:#dc2626}
.pav-painel .ic.wait{border:1.5px solid #3b82f6;color:#3b82f6}
.pav-painel .ic.clock{border:1.5px solid #f59e0b;color:#f59e0b}
.pav-painel .ic.run{border:1.5px solid #7c3aed;color:#7c3aed}
.pav-painel .cell small{display:block;color:var(--muted)}
.pav-painel .late{color:var(--bad)!important;font-weight:600}
.pav-painel .dash{color:#cbd5e1;text-align:center;display:block}
.pav-painel .badge{display:inline-block;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:700;text-align:center;line-height:1.25}
.pav-painel .s-ok{background:var(--ok-bg);color:var(--ok)}
.pav-painel .s-run{background:var(--run-bg);color:var(--run)}
.pav-painel .s-wait{background:var(--wait-bg);color:var(--wait)}
.pav-painel .s-res{background:var(--res-bg);color:var(--res)}
.pav-painel .s-info{background:var(--info-bg);color:var(--info)}
.pav-painel .s-bad{background:var(--bad-bg);color:var(--bad)}
.pav-painel .pct{display:flex;align-items:center;gap:8px;min-width:110px}
.pav-painel .pct b{width:38px;text-align:right}
.pav-painel .bar{flex:1;height:6px;border-radius:6px;background:#e5e7eb;overflow:hidden}
.pav-painel .bar i{display:block;height:100%;background:#22c55e;border-radius:6px}
.pav-painel a.doc{color:var(--t5);font-weight:600;text-decoration:none;white-space:nowrap}
.pav-painel a.doc:hover{text-decoration:underline}
.pav-painel .state{padding:28px;text-align:center;color:var(--muted)}
.pav-painel .state.err{color:var(--bad)}
.pav-painel .info{display:grid;grid-template-columns:1.2fr 1.1fr 1fr;gap:14px;margin-top:14px}
.pav-painel .box{background:var(--card);border-radius:14px;padding:14px 16px}
.pav-painel .box h4{margin:0 0 10px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--navy)}
.pav-painel .leg{display:flex;flex-direction:column;gap:7px;font-size:12px}
.pav-painel .leg div{line-height:1.5}
.pav-painel .leg .badge{padding:2px 8px;font-size:10.5px;margin-right:6px}
.pav-painel .rules p{margin:0 0 8px;font-size:12.5px}
.pav-painel .rules p b{color:var(--ink)}
.pav-painel .box ul{margin:0;padding-left:18px;font-size:12.5px}
.pav-painel .box li{margin-bottom:4px}
.pav-painel footer{color:var(--muted);font-size:11.5px;text-align:center;margin:16px 0 6px}
@media (max-width:900px){
.pav-painel header.top{grid-template-columns:1fr;text-align:center}
.pav-painel .upd{text-align:center}
.pav-painel .steps{grid-template-columns:repeat(3,1fr);row-gap:18px}
.pav-painel .step::after{display:none}
.pav-painel .info{grid-template-columns:1fr}
.pav-painel thead{display:none}
.pav-painel table, .pav-painel tbody, .pav-painel tr, .pav-painel td{display:block;width:100%}
.pav-painel tbody tr{border-top:6px solid var(--bg);padding:6px 4px}
.pav-painel tbody td{border:0;padding:6px 10px;display:grid;grid-template-columns:120px 1fr;gap:8px}
.pav-painel tbody td::before{content:attr(data-label);font-size:11px;text-transform:uppercase;color:var(--muted);font-weight:600}
.pav-painel .title h1{font-size:20px}
.pav-painel td.ord, .pav-painel td.ctr{text-align:left}}
@media (max-width:480px){
.pav-painel .steps{grid-template-columns:repeat(2,1fr)}
.pav-painel tbody td{grid-template-columns:104px 1fr;padding:5px 10px}
.pav-painel tbody td .dash{text-align:left}}
