/* =====================================================================
   Layout novo — menu lateral + topo + painel da obra
   Complementa css/app.css (identidade já existente: papel, navy, laranja,
   Bebas/Oswald/JetBrains Mono, cartões com listra de 6px).
   Todas as classes novas do painel usam o prefixo .pn- para não colidir
   com .card / .list / .badge do restante do sistema.
   ===================================================================== */

/* ============================ ESTRUTURA ============================ */
.app-shell{
  font-family:'Oswald',system-ui,sans-serif;
  background:var(--paper);
  color:var(--ink);
  min-height:100vh;
  display:grid;
  grid-template-columns:284px minmax(0,1fr);
}
.app-shell .main{min-width:0;display:flex;flex-direction:column;}

/* ============================ MENU LATERAL ============================ */
.sidebar{
  position:sticky;top:0;height:100vh;display:flex;flex-direction:column;
  background:var(--ink);z-index:40;
}
.sidebar .brand{
  height:82px;background:var(--paper);padding:0 20px;
  border-bottom:3px solid var(--accent);flex-shrink:0;
  display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;
}
.sidebar .brand img{display:block;height:36px;width:auto;flex-shrink:0;}
.sidebar .brand .nm{
  font-family:'Bebas Neue','Oswald',sans-serif;font-size:12.5px;letter-spacing:1px;
  line-height:1;margin-top:5px;color:var(--ink);white-space:nowrap;
}
.sidebar .brand .vr{
  font-family:'JetBrains Mono',monospace;font-size:8px;letter-spacing:.4px;
  color:var(--ink-soft);margin-top:3px;line-height:1.15;
}

.sidebar .obra-pick{padding:13px 16px 14px;border-bottom:1px solid #2E3D5C;flex-shrink:0;}
.sidebar .obra-pick label{
  display:block;font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:1.2px;
  text-transform:uppercase;color:#7C8AA6;margin:0 0 6px 1px;
}
.sidebar .obra-pick select{
  width:100%;padding:9px 30px 9px 10px;border:none;border-radius:6px;
  background:#16213A;color:#fff;font-family:'Oswald',sans-serif;font-weight:600;font-size:13.5px;
  appearance:none;cursor:pointer;text-overflow:ellipsis;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='6'><path d='M0 0l5 6 5-6z' fill='%237C8AA6'/></svg>");
  background-repeat:no-repeat;background-position:right 11px center;
}
.sidebar .obra-pick select:focus{outline:2px solid var(--focus);outline-offset:1px;}
.sidebar .obra-pick select option{font-size:11px; color:var(--ink);}
.sidebar .obra-pick select option[data-status="em_andamento"]{ color: var(--ok); }
.sidebar .obra-pick select option[data-status="concluida"]{ color: var(--focus); }
.sidebar .obra-pick select option[data-status="pausada"]{ color: var(--low); }

/* ---- Menu "Acoes" (tela de Estoque) e menus genericos ---- */
.menu-overlay{display:none;position:fixed;inset:0;z-index:29;background:rgba(22,33,58,.45);}
.menu-overlay.show{display:block;}
.acoes-menu{position:relative;display:inline-block;margin:0 0 14px;}
.acoes-menu .quick-btn{display:inline-flex;align-items:center;gap:7px;}
.acoes-menu .quick-btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.menu-acoes{
  position:absolute;top:calc(100% + 6px);left:0;z-index:30;width:min(320px,86vw);
  background:var(--card);border:2px solid var(--ink);border-radius:8px;padding:6px;
  box-shadow:0 14px 34px rgba(22,33,58,.28);display:none;
}
.menu-acoes.open{display:block;}
.menu-acoes-head{
  display:flex;justify-content:space-between;align-items:center;gap:8px;
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--ink-soft);padding:6px 8px 8px;
}
.menu-acoes-head button{
  background:none;border:none;color:var(--ink-soft);font-size:13px;line-height:1;cursor:pointer;padding:2px 4px;
}
.menu-acoes-item{
  display:flex;align-items:center;gap:9px;width:100%;text-align:left;
  background:none;border:none;border-bottom:1px dashed var(--line);
  padding:9px 8px;font-family:'Oswald',sans-serif;font-size:13px;font-weight:500;color:var(--ink);
  cursor:pointer;border-radius:4px;
}
.menu-acoes-item:last-child{border-bottom:none;}
.menu-acoes-item:hover{background:#F1EEE4;}
.menu-acoes-item.perigo{color:var(--out);}
.menu-acoes-item svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.menu-acoes-item.obra-item{display:flex;align-items:center;justify-content:space-between;gap:8px;border-bottom:1px dashed var(--line);}
.menu-acoes-item.obra-item:last-child{border-bottom:none;}
.menu-acoes-item.obra-item.ativa{background:#F1EEE4;border-left:3px solid var(--focus);padding-left:5px;}
.menu-acoes-item.obra-item .obra-item-nome{font-family:'Oswald',sans-serif;font-weight:600;font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.menu-acoes-item.obra-item .obra-item-status{font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;flex-shrink:0;}
.menu-acoes-item.obra-item .obra-item-status[data-status="em_andamento"]{color: var(--ok);}
.menu-acoes-item.obra-item .obra-item-status[data-status="concluida"]{color: var(--focus);}
.menu-acoes-item.obra-item .obra-item-status[data-status="pausada"]{color: var(--low);}

/* ---- Botao + menu do seletor "Obra ativa" ---- */
.obra-menu{position:relative;}
.obra-pick-btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;
  background:#16213A;border:1px solid transparent;border-radius:6px;
  padding:10px;cursor:pointer;color:#fff;font-family:'Oswald',sans-serif;font-weight:600;font-size:13px;
}
.obra-pick-btn:hover{background:#22314F;}
.obra-pick-btn .obra-pick-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;}
.obra-pick-btn .obra-pick-status{font-family:'JetBrains Mono',monospace;font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;flex-shrink:0;}
.obra-pick-btn .obra-pick-status[data-status="em_andamento"]{color: var(--ok);}
.obra-pick-btn .obra-pick-status[data-status="concluida"]{color: var(--focus);}
.obra-pick-btn .obra-pick-status[data-status="pausada"]{color: var(--low);}
.obra-pick-btn svg.chev{width:12px;height:12px;stroke:#7C8AA6;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}

/* botao "Acoes" do menu aberto */
.quick-btn.ativo{ background:var(--steel); color:#fff; border-color:var(--steel); }

.nav{flex:1;overflow-y:auto;padding:6px 12px 14px;scrollbar-width:thin;scrollbar-color:#2E3D5C transparent;}
.nav::-webkit-scrollbar{width:6px;}
.nav::-webkit-scrollbar-thumb{background:#2E3D5C;border-radius:3px;}

.nav-group{
  display:flex;align-items:center;gap:9px;padding:15px 8px 7px;
  font-family:'JetBrains Mono',monospace;font-size:8.5px;letter-spacing:1.4px;
  text-transform:uppercase;color:#66748F;
}
.nav-group::after{content:"";flex:1;height:1px;background:#2E3D5C;}

.nav-item{
  position:relative;display:flex;align-items:center;gap:10px;
  padding:8px 10px;border-radius:6px;font-size:13.5px;font-weight:500;
  color:#B7C2D6;cursor:pointer;transition:background .12s,color .12s;
  -webkit-tap-highlight-color:transparent;
}
.nav-item:hover{background:#22314F;color:#fff;}
.nav-item.active{background:#16213A;color:#fff;font-weight:600;}
.nav-item.active::before{
  content:"";position:absolute;left:0;top:5px;bottom:5px;width:3px;
  border-radius:0 2px 2px 0;background:var(--accent);
}
.nav-item svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.nav-item .badge{
  margin:0 0 0 auto;background:var(--out);color:#fff;
  font-size:9px;padding:1px 6px;border-radius:20px;line-height:1.5;
}

.side-foot{border-top:1px solid #2E3D5C;padding:12px 16px 14px;flex-shrink:0;}
.side-foot .user{display:flex;align-items:center;gap:9px;min-width:0;}
.side-foot .avatar{
  width:31px;height:31px;border-radius:50%;background:#2E3D5C;color:#DCE3F0;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;font-weight:700;
}
.side-foot .user b{display:block;font-size:12.5px;color:#fff;line-height:1.2;font-weight:600;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.side-foot .user span{display:block;font-family:'JetBrains Mono',monospace;font-size:8.5px;
  color:#7C8AA6;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.foot-links{display:flex;flex-wrap:wrap;gap:4px 13px;margin-top:11px;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;}
.foot-links .link-btn{color:#7C8AA6;text-decoration:none;cursor:pointer;}
.foot-links .link-btn:hover{color:#fff;}

/* ============================ TOPO ============================ */
.topbar{
  position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;
  height:62px;padding:0 26px;background:rgba(243,240,232,.95);backdrop-filter:blur(8px);
}
.hamburger{
  display:none;width:38px;height:38px;border:2px solid var(--ink);background:var(--card);
  border-radius:6px;color:var(--ink);cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;
}
.hamburger svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;}
.crumb{
  display:flex;align-items:center;gap:7px;flex:1;min-width:0;
  font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.9px;
  text-transform:uppercase;color:var(--ink-soft);white-space:nowrap;overflow:hidden;
}
.crumb b{color:var(--ink);font-weight:700;overflow:hidden;text-overflow:ellipsis;}
.crumb .sep{color:#B9BEC7;flex-shrink:0;}
.topbar-actions{display:flex;gap:8px;flex-shrink:0;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:7px;
  padding:8px 14px;border:2px solid var(--ink);border-radius:6px;background:var(--card);
  color:var(--ink);font-family:'Oswald',sans-serif;font-weight:600;font-size:11.5px;
  letter-spacing:.6px;text-transform:uppercase;cursor:pointer;white-space:nowrap;
  transition:background .12s,border-color .12s;
}
.btn:hover{background:#EDEAE1;}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;}
.btn.primary:hover{background:#D24E08;border-color:#D24E08;}
.btn svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}

.content{padding:20px 26px 40px;width:100%;max-width:1560px;margin:0 auto;}

/* ============================ FAIXA DA OBRA ============================ */
.hero{
  position:relative;overflow:hidden;background:var(--ink);color:var(--paper);
  border-radius:var(--radius);padding:22px 26px;margin-bottom:14px;
  display:flex;align-items:center;gap:28px;flex-wrap:wrap;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);
  background-size:36px 36px;
  -webkit-mask-image:linear-gradient(100deg,transparent 22%,#000 100%);
  mask-image:linear-gradient(100deg,transparent 22%,#000 100%);
}
.hero::after{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--accent);}
.hero-main{position:relative;flex:1;min-width:260px;}
.kicker{
  display:inline-flex;align-items:center;gap:7px;
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1.6px;
  text-transform:uppercase;color:#8FA0BF;margin-bottom:9px;
}
.kicker .dot{
  width:6px;height:6px;border-radius:50%;background:var(--ok);flex-shrink:0;
  box-shadow:0 0 0 3px rgba(47,158,68,.22);
}
.hero h2{
  margin:0;font-family:'Bebas Neue','Oswald',sans-serif;font-size:42px;
  line-height:.95;letter-spacing:.8px;color:#fff;word-break:break-word;
}
.hero-facts{
  display:flex;flex-wrap:wrap;gap:5px 20px;margin-top:12px;
  font-family:'JetBrains Mono',monospace;font-size:10.5px;color:#B7C2D6;
}
.hero-facts span{display:inline-flex;align-items:center;gap:6px;min-width:0;}
.hero-facts svg{width:13px;height:13px;stroke:#7C8AA6;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;flex-shrink:0;}
.hero-facts b{color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;}

.hero-ring{position:relative;display:flex;align-items:center;gap:18px;flex-shrink:0;}
.ring .trk{stroke:#2E3D5C;}
.ring .bar{stroke:var(--accent);}
.ring .pct{font-family:'Bebas Neue',sans-serif;font-size:30px;fill:#fff;letter-spacing:.5px;}
.ring .cap{font-family:'JetBrains Mono',monospace;font-size:6.5px;fill:#8FA0BF;letter-spacing:1.2px;}
.hero-side{
  border-left:1px solid #2E3D5C;padding-left:18px;display:flex;flex-direction:column;gap:9px;
}
.hero-side .st{font-family:'JetBrains Mono',monospace;font-size:10px;color:#B7C2D6;white-space:nowrap;}
.hero-side .st b{
  display:block;font-family:'Bebas Neue',sans-serif;font-size:20px;line-height:1.1;
  color:#fff;letter-spacing:.4px;
}
.hero-side .st b.bad{color:#FF8787;}

/* ============================ KPIs ============================ */
.pn-kpis{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px;}
.pn-kpi{
  position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);
  border-left:6px solid var(--ink-soft);border-radius:var(--radius);padding:12px 14px;
  transition:transform .12s,border-color .12s;min-width:0;
}
.pn-kpi.clickable{cursor:pointer;}
.pn-kpi:hover{transform:translateY(-2px);border-color:var(--focus);}
.pn-kpi .num{font-family:'Bebas Neue',sans-serif;font-size:29px;line-height:1;color:var(--ink);
  letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pn-kpi .lbl{
  font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--ink-soft);
  text-transform:uppercase;margin-top:5px;letter-spacing:.3px;line-height:1.35;
}
.pn-kpi .ico{position:absolute;right:10px;top:11px;color:var(--ink);opacity:.13;}
.pn-kpi .ico svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;}
.pn-kpi.ok{border-left-color:var(--ok);}       .pn-kpi.ok .num{color:var(--ok);}
.pn-kpi.low{border-left-color:var(--low);}     .pn-kpi.low .num{color:var(--low);}
.pn-kpi.out{border-left-color:var(--out);}     .pn-kpi.out .num{color:var(--out);}
.pn-kpi.over{border-left-color:var(--over);}   .pn-kpi.over .num{color:var(--over);}
.pn-kpi.focus{border-left-color:var(--focus);} .pn-kpi.focus .num{color:var(--focus);}
.pn-kpi.accent{border-left-color:var(--accent);} .pn-kpi.accent .num{color:var(--accent);}

/* ============================ GRADE DE CARTÕES ============================ */
.pn-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;}
.pn-card{
  display:flex;flex-direction:column;min-width:0;overflow:hidden;
  background:var(--card);border:1px solid var(--line);
  border-left:6px solid var(--ink-soft);border-radius:var(--radius);
}
.pn-c4{grid-column:span 4;} .pn-c5{grid-column:span 5;}
.pn-c6{grid-column:span 6;} .pn-c7{grid-column:span 7;} .pn-c8{grid-column:span 8;}
.pn-c12{grid-column:span 12;}

.pn-head{
  display:flex;align-items:center;gap:9px;padding:11px 14px 9px;
  border-bottom:1px solid var(--line);flex-shrink:0;
}
.pn-head .idx{
  font-family:'JetBrains Mono',monospace;font-size:8.5px;font-weight:700;
  color:#A2A8B4;letter-spacing:.5px;flex-shrink:0;
}
.pn-head h3{
  margin:0;font-family:'Oswald',sans-serif;font-size:12px;font-weight:600;
  text-transform:uppercase;letter-spacing:.8px;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pn-head .link{
  margin-left:auto;display:inline-flex;align-items:center;gap:4px;flex-shrink:0;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--ink-soft);
  cursor:pointer;letter-spacing:.2px;
}
.pn-head .link:hover{color:var(--accent);}
.pn-head .link svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round;}
.pn-body{padding:12px 14px 14px;flex:1;min-width:0;}

/* linhas internas */
.pn-row{
  display:flex;align-items:center;gap:10px;padding:8px 0;
  border-bottom:1px dashed var(--line);
}
.pn-row:last-child{border-bottom:none;padding-bottom:0;}
.pn-row:first-child{padding-top:0;}
.pn-row .ic{
  width:27px;height:27px;border-radius:6px;background:#F5F3EC;color:var(--ink);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pn-row .ic svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.7;
  stroke-linecap:round;stroke-linejoin:round;}
.pn-row .txt{flex:1;min-width:0;}
.pn-row .txt b{
  display:block;font-size:13px;font-weight:500;line-height:1.25;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pn-row .txt span{
  display:block;font-family:'JetBrains Mono',monospace;font-size:9.5px;
  color:var(--ink-soft);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pn-row .val{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;flex-shrink:0;}
.pn-row .val .badge{margin:0;}

/* barras */
.pn-track{height:6px;border-radius:3px;background:#EAE7DD;overflow:hidden;margin-top:7px;}
.pn-track i{display:block;height:100%;border-radius:3px;background:var(--ok);}
.pn-track i.focus{background:var(--focus);}
.pn-track i.low{background:var(--low);}
.pn-track i.out{background:var(--out);}
.pn-track i.steel{background:var(--ink-soft);}

/* donut */
.pn-donut-wrap{display:flex;align-items:center;gap:16px;}
.pn-donut-legend{flex:1;min-width:0;}
.pn-legend-row{
  display:flex;align-items:center;gap:7px;font-family:'JetBrains Mono',monospace;
  font-size:10.5px;color:var(--ink);margin-bottom:6px;
}
.pn-legend-row:last-child{margin-bottom:0;}
.pn-legend-row i{width:9px;height:9px;border-radius:2px;flex-shrink:0;}
.pn-legend-row b{margin-left:auto;padding-left:8px;font-weight:700;}

/* gantt */
.pn-gantt{margin-top:2px;}
.pn-gantt-row{margin-bottom:13px;}
.pn-gantt-row:last-child{margin-bottom:0;}
.pn-gantt-top{display:flex;align-items:center;gap:8px;margin-bottom:5px;}
.pn-gantt-top .nm{
  flex:1;min-width:0;font-size:12.5px;font-weight:500;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pn-gantt-top .dt{font-family:'JetBrains Mono',monospace;font-size:9px;color:var(--ink-soft);flex-shrink:0;}
.pn-gantt-top .badge{margin:0;flex-shrink:0;}
.pn-gantt-track{position:relative;height:16px;background:#ECEDF1;border-radius:4px;}
.pn-gantt-bar{position:absolute;top:0;height:100%;border-radius:4px;overflow:hidden;min-width:8px;}
.pn-gantt-bar.concluido{background:var(--ok);}
.pn-gantt-bar.em_andamento{background:var(--focus);}
.pn-gantt-bar.atrasado{background:var(--out);}
.pn-gantt-bar.pendente{background:var(--ink-soft);}
.pn-gantt-fill{height:100%;background:rgba(255,255,255,.42);}
.pn-today{position:absolute;top:-3px;bottom:-3px;width:0;border-left:1.5px dashed var(--ink);z-index:2;}

/* mini gráfico de barras */
.pn-mv{display:flex;align-items:flex-end;gap:4px;height:52px;margin-top:6px;}
.pn-mv .col{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:2px;}
.pn-mv .bars{display:flex;align-items:flex-end;gap:1px;width:100%;justify-content:center;flex:1;}
.pn-mv .bar{width:5px;border-radius:2px 2px 0 0;min-height:2px;}
.pn-mv .bar.entrada{background:var(--entrada);}
.pn-mv .bar.saida{background:var(--accent);}
.pn-mv .day{font-family:'JetBrains Mono',monospace;font-size:7.5px;color:var(--ink-soft);}

/* estatísticas compactas */
.pn-stats3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
.pn-stats2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.pn-stat{border:1px solid var(--line);border-radius:6px;padding:8px 10px;min-width:0;}
.pn-stat .n{font-family:'Bebas Neue',sans-serif;font-size:22px;line-height:1;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pn-stat .n small{font-size:12px;color:var(--ink-soft);font-family:'Oswald',sans-serif;}
.pn-stat .l{
  font-family:'JetBrains Mono',monospace;font-size:8px;color:var(--ink-soft);
  text-transform:uppercase;margin-top:3px;letter-spacing:.3px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;
}

/* barra segmentada (ocupação de portas) */
.pn-seg{display:flex;height:10px;border-radius:3px;overflow:hidden;background:#EAE7DD;margin:9px 0 6px;}
.pn-seg i{display:block;height:100%;}
.pn-seg-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-family:'JetBrains Mono',monospace;
  font-size:9px;color:var(--ink-soft);}
.pn-seg-legend span{display:flex;align-items:center;gap:5px;}
.pn-seg-legend i{width:8px;height:8px;border-radius:2px;}

/* equipe */
.pn-team{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.pn-person{
  display:flex;align-items:center;gap:9px;border:1px solid var(--line);
  border-radius:6px;padding:8px 10px;min-width:0;
}
.pn-person .avatar{
  width:27px;height:27px;border-radius:50%;background:#EDE9DE;color:var(--ink);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  font-family:'JetBrains Mono',monospace;font-size:9.5px;font-weight:700;
}
.pn-person b{
  display:block;font-size:12px;font-weight:600;line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pn-person span{
  display:block;font-family:'JetBrains Mono',monospace;font-size:8.5px;
  color:var(--ink-soft);margin-top:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.pn-team-foot{
  display:flex;align-items:center;gap:8px;margin-top:11px;padding-top:10px;
  border-top:1px dashed var(--line);flex-wrap:wrap;
}
.pn-team-foot .badge{margin:0;}

.pn-foot{
  margin-top:16px;padding-top:10px;border-top:1px dashed var(--line);
  display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;
  font-family:'JetBrains Mono',monospace;font-size:9px;color:#9AA1AE;
}

/* ============================ TOPO / META ============================ */
.topbar-stats{
  font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--ink-soft);
  white-space:nowrap;flex-shrink:0;letter-spacing:.2px;
}
.topbar-stats b{color:var(--ink);font-weight:700;}

.obra-meta{
  font-family:'JetBrains Mono',monospace;font-size:9px;color:#7C8AA6;
  margin-top:7px;line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

.pn-scope{display:flex;align-items:center;gap:8px;margin-bottom:12px;}
.pn-scope label{
  font-family:'JetBrains Mono',monospace;font-size:9px;letter-spacing:1.2px;
  text-transform:uppercase;color:var(--ink-soft);
}
.pn-scope select{
  padding:6px 10px;border:1.5px solid var(--line);border-radius:6px;background:var(--card);
  color:var(--ink);font-family:'Oswald',sans-serif;font-weight:500;font-size:12.5px;
  cursor:pointer;max-width:280px;
}
.pn-scope select:focus{outline:2px solid var(--focus);outline-offset:1px;}

/* overlay do menu no celular (base, antes do media query) */
.nav-overlay{display:none;}

/* ============================ RESPONSIVO ============================ */
@media (max-width:1280px){
  .pn-kpis{grid-template-columns:repeat(3,1fr);}
  .pn-c4,.pn-c5,.pn-c6,.pn-c7,.pn-c8{grid-column:span 6;}
  .hero h2{font-size:36px;}
}
@media (max-width:1080px){
  .app-shell{grid-template-columns:minmax(0,1fr);}
  .sidebar{
    position:fixed;left:0;top:0;bottom:0;width:284px;transform:translateX(-100%);
    transition:transform .2s ease;box-shadow:0 0 50px rgba(0,0,0,.3);
  }
  .sidebar.open{transform:translateX(0);}
  .nav-overlay{display:none;position:fixed;inset:0;background:rgba(22,33,58,.5);z-index:35;}
  .nav-overlay.show{display:block;}
  .hamburger{display:inline-flex;}
  .topbar{padding:0 16px;}
  .content{padding:16px 16px 36px;}
  body.nav-open{overflow:hidden;}
  .hero-side{flex-direction:row;border-left:none;padding-left:0;border-top:1px solid #2E3D5C;padding-top:12px;gap:22px;width:100%;flex-wrap:wrap;}
}
@media (max-width:760px){
  .pn-kpis{grid-template-columns:repeat(2,1fr);}
  .pn-c4,.pn-c5,.pn-c6,.pn-c7,.pn-c8{grid-column:span 12;}
  .pn-team{grid-template-columns:1fr;}
  .hero{padding:18px 18px;}
  .hero h2{font-size:30px;}
  .hero-ring{width:100%;justify-content:flex-start;}
  .topbar-actions .btn span{display:none;}
  .topbar-actions .btn{padding:8px 10px;}
  .crumb .hide-sm{display:none;}
}
@media (max-width:600px){
  .app-shell{font-size:14px;}
  .pn-stats3{grid-template-columns:1fr 1fr;}
}
