/* Munkatervezés (látványterv 01): napi gép-idővonal terv–tény réteggel. Színek: lásd styles.css [data-shell="admin"] tokenek. */
.pb { --head: 188px; --hw: 46px; --row: 80px; color: var(--ink); }
.pb-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px 20px; margin: 4px 0 20px; }
.pb-title { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 18px; }
.pb-title h1 { margin: 0; font-size: 32px; line-height: 1.1; letter-spacing: -.7px; font-weight: 760; }
.pb-title p { display: flex; align-items: center; gap: 10px; margin: 0; color: #4c4e56; font-size: 14px; }
.pb-demo-tag { display: inline-flex; white-space: nowrap; align-items: center; padding: 3px 9px; border-radius: 999px; background: var(--lime-soft); color: #23401f; font-size: 11.5px; font-weight: 650; }
.pb-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.pb-daynav { position: relative; display: flex; align-items: center; gap: 2px; min-height: 46px; padding: 0 4px; border: 1px solid #dcdbd4; border-radius: 12px; background: #fff; }
.pb-daynav .btn-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 0; background: transparent; color: #33423a; }
.pb-date { display: inline-flex; align-items: center; gap: 9px; min-height: 38px; padding: 0 10px; border: 0; background: transparent; color: var(--ink); font-size: 14.5px; font-weight: 650; white-space: nowrap; }
.pb-date-input { position: absolute; left: 44px; bottom: 0; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pb-controls .btn-primary { min-height: 46px; padding: 0 20px; border-radius: 12px; font-size: 14px; }
.pb-layout { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 20px; align-items: start; }
.pb-card { min-width: 0; background: #fff; border: 1px solid #e9e8e2; border-radius: 16px; box-shadow: 0 1px 2px #0b1a120a; }
.pb-main { overflow: hidden; }
.pb-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; padding: 0 20px; border-bottom: 1px solid #ecebe6; }
.pb-tablist { display: flex; gap: 6px; margin-right: auto; }
.pb-tablist button { position: relative; min-height: 58px; padding: 0 16px; border: 0; border-radius: 0; background: transparent; color: #4c4e56; font-size: 15.5px; font-weight: 560; }
.pb-tablist button.is-active { color: #1d4a28; font-weight: 700; }
.pb-tablist button.is-active::after { content: ""; position: absolute; left: 10px; right: 10px; bottom: -1px; height: 4px; border-radius: 3px 3px 0 0; background: #316438; }
.pb-live { color: #4c4e56; font-size: 12.5px; white-space: nowrap; }
.pb-live b { display: inline-flex; min-width: 22px; justify-content: center; padding: 1px 6px; border-radius: 6px; font-variant-numeric: tabular-nums; }
.pb-live b.is-running { background: #244731; color: #fff; } .pb-live b.is-break { background: var(--st-break); color: var(--st-break-ink); } .pb-live b.is-late { background: var(--st-late-soft); color: #7a4a12; box-shadow: inset 0 0 0 1px #b4782466; }
.pb-seg { display: inline-flex; padding: 3px; border-radius: 10px; background: #f2f2ee; }
.pb-seg button { min-height: 34px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent; color: #4c4e56; font-size: 12.5px; font-weight: 560; }
.pb-seg button[aria-pressed="true"] { background: #fff; color: var(--ink); box-shadow: 0 1px 2px #0b1a1222; }

/* Idővonal: a sorfejléc ragad, a tengely vízszintesen görgethető. */
.pb-board { position: relative; overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; }
.pb-canvas { position: relative; min-width: calc(var(--head) + var(--hours) * var(--hw)); padding-bottom: 8px; }
.pb-scale { position: relative; height: 62px; border-bottom: 1px solid #ecebe6; background: #fff; }
.pb-corner { position: sticky; left: 0; z-index: 6; display: flex; align-items: flex-end; width: var(--head); height: 62px; padding: 0 16px 10px; background: #fff; color: #7b817c; font-size: 11px; font-weight: 600; letter-spacing: .3px; text-transform: uppercase; }
.pb-hline, .pb-tick, .pb-now { position: absolute; left: calc(var(--head) + (100% - var(--head)) * var(--x)); }
.pb-hline { top: 62px; bottom: 0; width: 1px; background: #f1f0eb; pointer-events: none; }
.pb-hline.is-major { background: #e6e5df; }
.pb-tick.is-first { transform: translateX(4px); }
.pb-tick { top: 34px; z-index: 4; transform: translateX(-50%); color: #3e4440; font-size: 12.5px; font-weight: 550; font-variant-numeric: tabular-nums; pointer-events: none; }
.pb-group-title { position: sticky; left: 0; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 10px 16px 6px; border: 0; background: transparent; color: #1f3a29; font-size: 12px; font-weight: 750; letter-spacing: .5px; text-transform: uppercase; }
.pb-group-title small { color: #858b86; font-weight: 550; letter-spacing: 0; text-transform: none; }
.pb-group-title svg { transition: transform .15s; }
.pb-group.is-collapsed .pb-group-title svg { transform: rotate(-90deg); }
.pb-group.is-collapsed .pb-group-rows { display: none; }
.pb-row { position: relative; display: grid; grid-template-columns: var(--head) minmax(0, 1fr); height: var(--row); border-top: 1px solid #f0efea; }
.pb-rowhead { position: sticky; left: 0; z-index: 5; display: flex; align-items: center; gap: 11px; min-width: 0; padding: 0 12px 0 14px; background: #fff; box-shadow: 1px 0 0 #ecebe6; }
.pb-thumb { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 40px; overflow: hidden; border-radius: 8px; background: #f2f3ee; color: #3d6a47; }
.pb-thumb img { width: 100%; height: 100%; object-fit: cover; }
.pb-thumb-icon svg { width: 24px; height: 24px; }
.pb-mname { display: grid; gap: 3px; min-width: 0; }
.pb-mname strong { overflow: hidden; color: #0b1a12; font-size: 14px; font-weight: 700; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.pb-mname small { display: flex; align-items: center; gap: 5px; min-width: 0; color: #52525b; font-size: 12px; }
.pb-mname small span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-mname small svg { width: 13px; height: 13px; flex: none; }
.pb-track { position: relative; min-width: 0; }
.pb-lane-plan { position: absolute; left: 0; right: 0; top: 8px; height: 44px; }
.pb-lane-fact { position: absolute; left: 0; right: 0; top: 56px; height: 17px; }
.pb-plan, .pb-fact, .pb-break { position: absolute; top: 0; bottom: 0; display: flex; overflow: hidden; margin: 0; border: 0; text-align: left; }
.pb-plan { flex-direction: column; justify-content: center; gap: 2px; min-width: 6px; padding: 0 10px; border-radius: 9px; background: var(--lime-soft); color: #1d3a22; box-shadow: inset 0 0 0 1px #c7db93; }
.pb-plan + .pb-plan { margin-left: 0; }
.pb-plan-title, .pb-plan-meta { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-plan-title { font-size: 13px; font-weight: 700; } .pb-plan-title span { font-weight: 550; }
.pb-plan-meta { font-size: 11.5px; opacity: .9; font-variant-numeric: tabular-nums; } .pb-plan-meta b { font-weight: 650; }
.pb-plan.is-running { background: var(--st-work-strong); color: #fff; box-shadow: none; }
.pb-plan.is-done { background: var(--st-work); color: #fff; box-shadow: none; }
.pb-plan.is-late { background: var(--st-late-soft); color: #6a3f0e; box-shadow: inset 4px 0 var(--st-late), inset 0 0 0 1px #b4782459; }
.pb-plan.is-cancelled { background: var(--st-stale-soft); color: #7a807b; box-shadow: inset 0 0 0 1px #dcddd6; }
.pb-plan.is-cancelled .pb-plan-title { text-decoration: line-through; }
.pb-plan.is-selected, .pb-fact.is-selected { outline: 3px solid #afd243; outline-offset: 1px; z-index: 1; }
.pb-fact { align-items: center; min-width: 4px; padding: 0 7px; border-radius: 5px; background: var(--st-work); color: #fff; font-size: 10.5px; font-weight: 600; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pb-fact span, .pb-break span { overflow: hidden; text-overflow: ellipsis; }
.pb-fact.is-unplanned { background: var(--st-done); }
.pb-fact.is-running { background: var(--st-work-strong); }
.pb-fact.is-running::after { content: ""; position: absolute; right: 3px; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 0 #afd24399; animation: pb-pulse 1.8s infinite; }
.pb-fact.is-stale { background: var(--st-stale); }
.pb-break { align-items: center; padding: 0 6px; border-radius: 5px; background: var(--st-break); color: var(--st-break-ink); font-size: 10.5px; font-weight: 650; }
.pb-break.is-open { box-shadow: inset 0 0 0 2px #c99a2e; }
@keyframes pb-pulse { 0% { box-shadow: 0 0 0 0 #afd24399; } 70% { box-shadow: 0 0 0 6px #afd24300; } 100% { box-shadow: 0 0 0 0 #afd24300; } }
.pb-now { top: 6px; bottom: 0; z-index: 4; width: 0; border-left: 2px dashed var(--lime); pointer-events: none; }
.pb-now span { position: absolute; top: -2px; left: 0; transform: translateX(-50%); padding: 3px 9px; border-radius: 7px; background: var(--lime); color: #142d22; font-size: 11.5px; font-weight: 750; }
.pb-legend { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 12px 20px 16px; border-top: 1px solid #f0efea; color: #52525b; font-size: 11.5px; }
.pb-legend span { display: inline-flex; align-items: center; gap: 6px; } .pb-legend-sep { margin-left: 6px; font-weight: 700; color: #1f3a29; }
.pb-legend i { display: inline-block; width: 14px; height: 10px; border-radius: 3px; }
.pb-legend .is-planned { background: var(--lime-soft); box-shadow: inset 0 0 0 1px #c7db93; } .pb-legend .is-late { background: var(--st-late-soft); box-shadow: inset 3px 0 var(--st-late); } .pb-legend .is-running { background: var(--st-work-strong); } .pb-legend .is-done { background: var(--st-work); } .pb-legend .is-cancelled { background: var(--st-stale-soft); box-shadow: inset 0 0 0 1px #dcddd6; } .pb-legend .is-fact { background: var(--st-work); } .pb-legend .is-break { background: var(--st-break); } .pb-legend .is-unplanned { background: var(--st-done); } .pb-legend .is-stale { background: var(--st-stale); }
.pb-empty { display: grid; justify-items: center; gap: 6px; padding: 56px 24px; color: #52525b; text-align: center; }
.pb-empty h3 { margin: 6px 0 0; color: var(--ink); font-size: 17px; } .pb-empty p { max-width: 460px; margin: 0; }

/* Heti terv */
.pb-week { overflow-x: auto; }
.pb-week-table { width: 100%; min-width: 880px; border-collapse: collapse; font-size: 12.5px; }
.pb-week-table th, .pb-week-table td { padding: 10px 10px; border-bottom: 1px solid #f0efea; vertical-align: top; text-align: left; }
.pb-week-table thead th { color: #4c4e56; font-weight: 650; white-space: nowrap; } .pb-week-table thead th span { color: #858b86; font-weight: 500; }
.pb-week-table tbody th { position: sticky; left: 0; background: #fff; font-weight: 700; white-space: nowrap; }
.pb-week-table .is-today { background: #f7faef; }
.pb-chip { display: block; width: 100%; margin: 0 0 4px; padding: 5px 8px; border: 0; border-radius: 7px; background: var(--lime-soft); color: #1d3a22; font-size: 11.5px; text-align: left; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pb-chip.is-running { background: var(--st-work-strong); color: #fff; } .pb-chip.is-done { background: var(--st-work); color: #fff; } .pb-chip.is-late { background: var(--st-late-soft); color: #6a3f0e; box-shadow: inset 3px 0 var(--st-late); } .pb-chip.is-cancelled { background: var(--st-stale-soft); color: #7a807b; text-decoration: line-through; }

/* Részletpanel */
.pb-detail { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; background: #fff; border: 1px solid #e9e8e2; border-radius: 16px; box-shadow: 0 1px 2px #0b1a120a; }
.pb-detail-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 64px; padding: 0 20px; border-bottom: 1px solid #ecebe6; }
.pb-detail-head h2 { margin: 0; font-size: 18px; font-weight: 750; letter-spacing: -.2px; }
.pb-detail-head .btn-icon { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border: 1px solid #e4e3dd; background: #fff; }
.pb-detail-body { padding: 18px 20px 20px; }
.pb-detail-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.pb-detail-title h3 { margin: 0; font-size: 22px; line-height: 1.2; letter-spacing: -.3px; font-weight: 750; }
.pb-detail-sub { margin: 6px 0 14px; color: #52525b; font-size: 13px; }
.pb-badge { flex: none; padding: 5px 11px; border-radius: 999px; background: var(--lime-soft); color: #1f3a22; font-size: 12px; font-weight: 650; white-space: nowrap; }
.pb-badge.is-running { background: var(--st-work-strong); color: #fff; } .pb-badge.is-done { background: var(--st-work); color: #fff; } .pb-badge.is-late { background: var(--st-late-soft); color: #7a4a12; } .pb-badge.is-cancelled, .pb-badge.is-unassigned { background: var(--st-stale-soft); color: #545b56; }
.pb-dl { display: grid; gap: 0; margin: 14px 0; }
.pb-dl div { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 10px; padding: 9px 0; border-bottom: 1px solid #f0efea; }
.pb-dl dt { color: #52525b; font-size: 13px; } .pb-dl dd { margin: 0; font-weight: 600; font-size: 13.5px; }
.pb-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 14px 0; }
.pb-compare > div { display: grid; gap: 3px; padding: 12px; border-radius: 12px; background: #f7f6f2; }
.pb-compare span { color: #52525b; font-size: 11px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; }
.pb-compare strong { font-size: 17px; font-variant-numeric: tabular-nums; } .pb-compare small { color: #4c4e56; font-size: 12px; }
.pb-note { margin: 10px 0; padding: 10px 12px; border-radius: 10px; background: #f7f6f2; font-size: 13px; white-space: pre-wrap; }
.pb-detail-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; } .pb-detail-actions .btn-primary { flex: 1; }
.pb-detail > .pb-detail-actions { padding: 0 20px 20px; margin: 0; }
.pb-detail-empty { display: grid; justify-items: start; gap: 8px; color: #52525b; font-size: 13px; }
.pb-detail-empty .pb-legend { padding: 8px 0 0; border: 0; }
.pb-form .form-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
.pb-form .assignment-implements { max-height: 168px; overflow: auto; }
.pb-mode { display: grid; gap: 6px; margin: 4px 0 12px; padding: 10px 12px; border: 1px solid #e4e3dd; border-radius: 10px; }
.pb-mode legend { padding: 0 4px; font-size: 12px; font-weight: 650; }

/* Kiosztásra vár + Szabad kapacitás */
.pb-bottom { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; margin-top: 20px; }
.pb-card-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; padding: 18px 20px 12px; }
.pb-card-head h2 { margin: 0; font-size: 19px; font-weight: 750; letter-spacing: -.3px; }
.pb-count { padding: 3px 10px; border-radius: 999px; background: #d8e1d6; color: #1f3a22; font-size: 12px; font-weight: 650; }
.pb-link { margin-left: auto; min-height: 36px; color: #1a3b22; font-weight: 650; }
.pb-table { font-size: 12.5px; } .pb-table th, .pb-table td { padding: 10px 12px; } .pb-table th { font-size: 11px; white-space: nowrap; } .pb-table th { background: #f2f2ee; color: #3e4440; font-weight: 600; } .pb-table td { vertical-align: middle; }
.pb-op { display: inline-flex; align-items: center; gap: 9px; font-weight: 600; } .pb-op svg { color: #2f6533; }
.pb-prio { display: inline-flex; padding: 4px 11px; border-radius: 7px; background: #eff0eb; color: #545b56; font-size: 12px; font-weight: 600; }
.pb-prio.is-urgent { background: var(--st-late-soft); color: #7a4a12; box-shadow: inset 0 0 0 1px #b4782466; } .pb-prio.is-medium { background: #f2e0ac; color: #945b20; }
.pb-assign { min-height: 34px; padding: 0 12px; }
.pb-capmachine { display: inline-flex; align-items: center; gap: 10px; } .pb-thumb-sm { width: 48px; height: 32px; } .pb-thumb-sm svg { width: 20px; height: 20px; }
.pb-dot { width: 9px; height: 9px; border-radius: 50%; background: #2f6533; }
.pb-num { font-variant-numeric: tabular-nums; white-space: nowrap; }
.pb-none, .pb-foot { margin: 0; padding: 4px 20px 20px; color: #52525b; font-size: 13px; } .pb-foot { padding-top: 10px; font-size: 11.5px; }
.pb-credits { margin-top: 18px; color: #52525b; font-size: 12px; } .pb-credits summary { cursor: pointer; font-weight: 650; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (min-width: 1280px) and (max-width: 1499px) { .pb { --head: 206px; --hw: 34px; } .pb-layout { grid-template-columns: minmax(0, 1fr) 316px; } .pb-thumb { width: 42px; height: 30px; } .pb-thumb-icon svg { width: 20px; height: 20px; } .pb-rowhead { gap: 9px; padding: 0 10px 0 12px; } .pb-mname strong { font-size: 13.5px; } }
@media (max-width: 1279px) {
  .pb-layout { grid-template-columns: minmax(0, 1fr); }
  .pb-detail { position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 70; max-height: 78vh; border-radius: 18px 18px 0 0; box-shadow: 0 -12px 40px #0b1a1233; }
  .pb-detail.is-empty { display: none; }
  .pb-bottom { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .pb { --head: 136px; --hw: 54px; --row: 74px; }
  .pb-rowhead .pb-thumb { display: none; } .pb-title p { flex-wrap: wrap; }
  .pb-title h1 { font-size: 26px; }
  .pb-controls { width: 100%; } .pb-daynav { flex: 1; justify-content: space-between; } .pb-controls .btn-primary { flex: 1; }
  .pb-tabs { padding: 0 12px; } .pb-tablist button { min-height: 50px; padding: 0 10px; font-size: 14.5px; }
  .pb-live { order: 3; width: 100%; padding-bottom: 8px; } .pb-seg { order: 4; margin-bottom: 10px; }
  .pb-rowhead { gap: 8px; padding: 0 8px 0 10px; } .pb-thumb { width: 36px; height: 28px; } .pb-thumb-icon svg { width: 19px; height: 19px; }
  .pb-mname strong { font-size: 12.5px; } .pb-mname small { font-size: 11px; }
  .pb-lane-plan { height: 40px; } .pb-lane-fact { top: 52px; }
  .pb-plan { padding: 0 7px; } .pb-plan-title { font-size: 12px; }
  .pb-card-head { padding: 16px 14px 10px; } .pb-none, .pb-foot { padding-left: 14px; padding-right: 14px; }
  .pb-dl div { grid-template-columns: 96px minmax(0, 1fr); } .pb-compare { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) { .pb-fact.is-running::after { animation: none; } .pb-group-title svg { transition: none; } }

/* Keskeny sávon nincs csonka felirat (konténerlekérdezés): a részlet a címkén (title) és a panelben marad. */
.pb-fact, .pb-break { container-type: inline-size; }
.pb-plan { container-type: inline-size; }
@container (max-width: 46px) { .pb-fact span, .pb-break span { display: none; } }
@container (max-width: 64px) { .pb-plan-meta { display: none; } .pb-plan-title span { display: none; } }
@container (max-width: 30px) { .pb-plan-title { display: none; } }

/* --- B kör finomítás (ref 01): nagyobb gépfotó, ≥ 96 px-es sor, hangsúlyos terv-blokk (≥ 44 px, 8 px kerekítés, cím + idő);
   a tény a blokk alsó sávja (nem külön vékony sáv alatta), a szünet borostyán szakasz; terv nélküli munka saját blokk. */
.pb { --row: 100px; }
.pb-lane-plan { top: 12px; height: 62px; }
.pb-lane-fact { top: 60px; height: 14px; }
.pb-plan { justify-content: flex-start; gap: 3px; padding: 9px 11px 16px; border-radius: 8px; }
.pb-plan-title { font-size: 13.5px; } .pb-plan-meta { font-size: 12px; }
.pb-plan.is-planned { background: #d6e8b0; color: #1a3a1f; box-shadow: inset 0 0 0 1px #b9d47f; }
.pb-plan.is-running { background: #1f4a2b; } .pb-plan.is-done { background: #3c6e47; }
.pb-plan.is-late { background: #f6e3c4; color: #5f370a; box-shadow: inset 5px 0 var(--st-late), inset 0 0 0 1px #b4782466; }
.pb-fact { border-radius: 0 0 7px 7px; padding: 0 8px; background: #a8cc4d; color: #142d22; font-size: 10px; font-weight: 700; }
.pb-fact.is-running { background: #c3e260; } .pb-fact.is-running::after { right: 4px; width: 6px; height: 6px; margin-top: -3px; background: #142d22; }
.pb-fact.is-stale { background: var(--st-stale); color: #fff; }
.pb-fact.is-unplanned { top: -48px; height: 62px; align-items: flex-start; padding-top: 9px; border-radius: 8px; background: #58744d; color: #fff; font-size: 12px; box-shadow: inset 0 -14px #a8cc4d; }
.pb-break { border-radius: 0 0 7px 7px; background: #e9b949; color: #3d2806; font-size: 10px; }
.pb-capacity .pb-table td.pb-note-cell { min-width: 150px; white-space: normal; }
.pb-capacity .pb-table td.pb-num { white-space: nowrap; line-height: 1.5; }
@media (min-width: 1440px) { .pb { --head: 268px; } .pb-thumb { width: 88px; height: 60px; } .pb-thumb-icon svg { width: 28px; height: 28px; } .pb-rowhead { gap: 12px; } }
@media (min-width: 1280px) and (max-width: 1439px) {
  .pb { --head: 236px; } .pb-thumb { width: 72px; height: 50px; } .pb-thumb-icon svg { width: 24px; height: 24px; }
  /* csukható részletpanel: kijelölés nélkül csukva, a táblázat kapja a teljes szélességet */
  .pb-layout:has(> .pb-detail.is-empty) { grid-template-columns: minmax(0, 1fr); } .pb-detail.is-empty { display: none; }
}
@media (max-width: 700px) {
  .pb { --row: 86px; } .pb-lane-plan { top: 10px; height: 56px; } .pb-lane-fact { top: 52px; height: 14px; }
  .pb-plan { padding: 7px 8px 15px; } .pb-fact.is-unplanned { top: -42px; height: 56px; }
}
/* Szabad kapacitás: a négy oszlop (Gép · Sofőr · Elérhető · Megjegyzés) a kártyán belül marad — rögzített arányok, tördelés, kisebb fotó. */
.pb-capacity .pb-table { table-layout: fixed; width: 100%; }
.pb-capacity .pb-table th:nth-child(1) { width: 38%; } .pb-capacity .pb-table th:nth-child(2) { width: 20%; } .pb-capacity .pb-table th:nth-child(3) { width: 20%; } .pb-capacity .pb-table th:nth-child(4) { width: 22%; }
.pb-capacity .pb-table td { white-space: normal; overflow-wrap: anywhere; }
.pb-capacity .pb-capmachine { gap: 8px; } .pb-capacity .pb-capmachine strong { min-width: 0; line-height: 1.25; } .pb-capacity .pb-thumb-sm { width: 44px; height: 30px; }
