.page-tabs { display:flex; gap:8px; padding:8px 12px 0; min-width:0; }
.page-tabs button { background:white; border:1px solid var(--line); color:var(--ink); }
.page-tabs button[aria-selected="true"] { background:var(--navy); color:white; border-color:var(--navy); }
#weld-map-panel { margin:12px; padding:16px; border:1px solid var(--line); border-radius:14px; background:white; min-height:0; min-width:0; display:flex; flex-direction:column; gap:12px; overflow:hidden; }
.weld-map-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
#weld-map-save,.weld-map-help,#weld-map-notice { font-size:.8rem; color:var(--body); }
#weld-map-notice { padding:10px; background:#fff3d8; border-radius:8px; }
.weld-map-stats { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:8px; }
.weld-map-stats>div { padding:10px 12px; background:#f2f6fb; border-radius:8px; }
.weld-map-stats strong { display:block; font-size:1.4rem; color:var(--navy); }
.weld-map-stats span { font-size:.75rem; color:var(--body); }
.weld-map-filters { display:flex; gap:10px; flex-wrap:wrap; }
.weld-map-filters label { font-size:.75rem; flex:1 1 140px; min-width:0; color:var(--body); }
.weld-map-filters label:nth-child(2) { flex-grow:2; }
.weld-map-filters input,.weld-map-filters select { display:block; margin-top:4px; }
.weld-map-table-wrap { overflow:auto; flex:1; min-height:140px; border:1px solid var(--line); border-radius:8px; }
.weld-map-table { border-collapse:separate; border-spacing:0; width:100%; font-size:.8rem; }
.weld-map-table th,.weld-map-table td { padding:9px; border-bottom:1px solid var(--line); text-align:left; vertical-align:middle; min-width:135px; max-width:270px; }
.weld-map-table thead th { position:sticky; top:0; background:#edf2f8; z-index:2; white-space:nowrap; }
.weld-map-table th:first-child { position:sticky; left:0; min-width:60px; background:#f1f5fa; z-index:1; }
.weld-map-table thead th:first-child { z-index:3; }
.weld-map-table small { display:block; font-weight:400; font-size:.72rem; }
.weld-map-table td:nth-child(3) { min-width:220px; overflow-wrap:anywhere; }
.weld-map-table td:nth-child(5) { min-width:270px; }
.weld-map-table td:nth-child(10) { min-width:170px; }
.weld-map-table td:nth-child(n+11) { min-width:165px; }
.weld-map-table input,.weld-map-table select { font-size:.8rem; padding:8px !important; min-height:36px; }
.weld-map-table input:disabled,.weld-map-table select:disabled { opacity:1; color:#40516a; background:#f8fafc; }
.weld-map-table button { font-size:.75rem; margin-top:5px; }
.weld-map-table select.inspection-concluido { background:#e5f5ec; color:#16623c; }
.weld-map-table select.inspection-pendente { background:#fff7dc; color:#735609; }
.weld-map-table select.inspection-nao-aplicavel { background:#eff1f5; color:#5f6a78; }
.weld-map-focused>td { background:#edf5ff; }
#weld-map-link-dialog label,#weld-map-add-dialog label { display:block; margin:14px 0 6px; font-size:.85rem; }
#weld-map-link-error,#weld-map-add-error { color:#a32e29; margin-top:10px; }
@media(min-width:960px){
 body { grid-template-rows:auto auto auto minmax(0,1fr); }
 .topbar { grid-row:1; }.connection { grid-row:2; }.page-tabs { grid-row:3; }
 main,#weld-map-panel { grid-row:4; }
}
@media(max-width:959px){
 #weld-map-panel { padding:12px; }.weld-map-stats { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .weld-map-table-wrap { max-height:65dvh; flex:auto; }
}

/* Cartão de avanço (#monitor-stages): ocupa a largura toda — título, barra, previsto, realizado e % em uma linha */
#monitor-stages{display:block;margin:8px 0}
.pc-card{display:grid;grid-template-columns:minmax(120px,190px) minmax(0,1fr) 150px 150px 150px 64px;align-items:center;gap:6px 22px;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 18px;color:var(--ink);box-shadow:var(--shadow)}
.pc-t{font-size:.85rem;font-weight:600;color:var(--navy)}
.pc-card b{font-size:1.4rem;font-weight:600;text-align:right;font-variant-numeric:tabular-nums}
.pc-bar{height:8px;background:#edf0f4;border-radius:4px;overflow:hidden}
.pc-bar i{display:block;height:100%;background:var(--blue);border-radius:4px}
.pc-card dl{margin:0}
.pc-card dt{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;color:var(--mut)}
.pc-card dd{margin:1px 0 0;font-size:.9rem;font-weight:500;color:var(--body);font-variant-numeric:tabular-nums}
.pc-card dd small{font-size:.7rem;color:var(--mut);font-weight:400}
@media(max-width:900px){.pc-card{grid-template-columns:1fr 1fr 1fr 64px;gap:8px 14px}.pc-t{grid-column:1/4}.pc-card b{grid-column:4;grid-row:1}.pc-bar{grid-column:1/5}}

.pc-prod{display:flex;align-items:center;gap:22px;margin-top:6px;padding:8px 18px;background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.pc-prod b{font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}
.pc-prod small{font-size:.7rem;color:var(--mut);font-weight:400}
.pc-prod div{display:flex;gap:10px;align-items:flex-end;height:70px;margin-left:auto}
.pc-prod i{display:flex;flex-direction:column;align-items:center;width:44px;height:100%;position:relative;font-style:normal}
.pc-prod s{display:flex;align-items:flex-end;flex:1;width:100%;text-decoration:none}
.pc-prod .pv{font-size:.65rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);line-height:1.3}
.pc-prod .pv.z{font-weight:400;color:var(--mut)}
.pc-prod u{display:block;width:100%;min-height:2px;background:var(--blue);border-radius:2px 2px 0 0}
.pc-prod em{font-style:normal;font-family:'IBM Plex Mono',monospace;font-size:.55rem;color:var(--mut)}

.pc-exp{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;gap:14px 36px;padding:16px 22px}
.pc-exp section{display:grid;gap:10px;min-width:0}
.pc-ch{display:flex;justify-content:space-between;align-items:baseline}
.pc-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.pc-exp .pc-prod{margin:0;padding:8px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;justify-content:space-between}
.pc-tog{cursor:pointer;position:relative}.pc-tog::after{content:'▾';position:absolute;right:6px;bottom:2px;font-size:.7rem;color:var(--mut)}.pc-tog.aberto::after{content:'▴'}
