.teams-lab{max-width:1440px;margin:0 auto;padding:28px 40px 35px}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:23px}.eyebrow{font-size:11px;font-weight:750;letter-spacing:.12em;color:var(--accent);margin-bottom:10px}.page-heading h1{font-size:34px;letter-spacing:-.045em;margin-bottom:9px}.page-heading p:last-child{font-size:16px;color:var(--muted);margin-bottom:0}.button{font-size:14px;font-weight:650;border:1px solid transparent;border-radius:4px;padding:9px 14px;min-height:41px;line-height:1.4;white-space:nowrap}.primary{background:var(--accent);color:var(--on-accent)}.primary:hover{background:var(--accent)}.quiet{background:var(--accent-soft);color:var(--muted)}.quiet:hover{background:var(--accent-soft)}select{border:1px solid var(--accent-line);border-radius:4px;background:var(--card);color:var(--ink);padding:9px 11px;font-size:14px;min-height:41px}.workbench{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:21px 23px 0;box-shadow:var(--shadow)}.workbench-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center}.scenario-field{display:flex;align-items:center;gap:12px}.scenario-field label{font-size:14px;font-weight:650}.scenario-field select{min-width:270px}.layout-actions{display:flex;gap:7px}.canvas-meta{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:var(--muted);margin:11px 0 17px}.canvas-meta p{margin:0}.canvas-meta>span{white-space:nowrap;color:var(--muted)}.map-instruction{display:flex;align-items:center;gap:10px;color:var(--muted);margin-bottom:16px}.map-instruction>span{font-size:22px;line-height:1;color:var(--accent)}.map-instruction p{font-size:14px;margin:0}.map-instruction strong{font-weight:600;color:var(--muted)}.team-map{position:relative;isolation:isolate}.team-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:19px;align-items:stretch}.team-column{background:var(--team-wash);border:1px solid var(--team-line);border-top:3px solid var(--team-color);border-radius:4px;padding:13px 13px 14px;min-height:325px;transition:background .12s,border-color .12s;position:relative;z-index:0}.team-column.is-drop-target{background:var(--accent-soft);border-color:var(--accent);box-shadow:inset 0 0 0 2px var(--accent)}.team-head{position:relative;z-index:3;display:flex;align-items:center;gap:9px;margin-bottom:3px}.team-mark{height:9px;width:9px;background:var(--team-color);border-radius:3px;flex-shrink:0}.team-name{border:1px solid transparent;background:transparent;padding:3px 4px;color:var(--ink);font-weight:700;font-size:16px;width:100%;border-radius:4px;min-width:0}.team-name:hover{border-color:var(--accent-line)}.team-name:focus{background:var(--card)}.team-stats{font-size:11px;color:var(--muted);margin:0 0 12px 18px;position:relative;z-index:3}.capability-list{display:grid;gap:10px;min-height:238px;align-content:start;position:relative;z-index:3}.capability-card{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:11px 12px 10px;box-shadow:0 2px 5px color-mix(in srgb, var(--shadow-ink) 2.4%, transparent);min-width:0;position:relative;transition:opacity .12s,border-color .12s,box-shadow .12s}.capability-card.on-route{border-color:var(--accent-line);box-shadow:0 0 0 1px var(--accent-soft),0 2px 5px color-mix(in srgb, var(--shadow-ink) 3.1%, transparent)}.capability-card.route-current{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-line)}.capability-card.is-dragging{opacity:.3}.capability-top{display:flex;align-items:center;gap:9px}.drag-handle{font-size:21px;color:var(--muted);line-height:1;min-width:28px;min-height:30px;border:0;background:var(--card);border-radius:4px;cursor:grab;touch-action:none;padding:2px}.drag-handle:active{cursor:grabbing}.capability-top strong{font-size:16px;line-height:1.2;letter-spacing:-.015em}.queue-pill{margin-left:auto;font-size:12px;color:var(--muted);background:var(--card);border-radius:4px;padding:3px 6px;font-variant-numeric:tabular-nums;white-space:nowrap}.queue-pill.busy{color:var(--warn);background:var(--warn-soft)}.capability-meta{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin:8px 0 9px}.card-work{height:4px;border-radius:2px;overflow:hidden;background:var(--accent-soft);margin-bottom:9px}.card-work>span{display:block;background:var(--team-color);height:100%;transition:width .12s}.card-move{display:flex;align-items:center;gap:8px}.card-move label{font-size:14px;color:var(--muted);white-space:nowrap}.card-move select{font-size:14px;padding:3px 22px 3px 7px;min-height:29px;border-color:var(--line);flex:1;min-width:0;background-color:var(--card)}.empty-team{color:var(--muted);font-size:14px;line-height:1.6;text-align:center;align-self:center;border:1px dashed var(--accent-line);padding:22px 13px;border-radius:4px;margin-top:40px;pointer-events:none}.route-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;overflow:visible}.playback{display:flex;align-items:center;gap:24px;margin:20px 0 15px;padding-top:17px;border-top:1px solid var(--line)}.playback-buttons{display:flex;gap:7px}.day-control{display:flex;align-items:center;gap:20px;flex:1;font-size:14px}.day-control>span{white-space:nowrap;font-variant-numeric:tabular-nums;font-weight:600}.day-control output{min-width:34px;display:inline-block}.day-control input{flex:1;min-width:70px;height:25px;cursor:pointer}.playback-state{font-size:12px;color:var(--muted);min-width:55px}.playback-state.running{color:var(--good)}.status{border-top:1px solid var(--line);margin:0 -23px;padding:11px 23px;background:var(--card);border-radius:0 0 4px 4px;font-size:13px;color:var(--muted);min-height:43px}.outcomes{padding:25px 1px 23px}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:15px;margin-bottom:16px}.section-heading h2{font-size:19px;margin:0;letter-spacing:-.025em}.section-heading>span{font-size:12px;color:var(--muted)}.outcome-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px}.outcome-grid>div{border-right:1px solid var(--line);padding-right:22px}.outcome-grid>div:last-child{border:0}.outcome-grid span{display:block;font-size:14px;color:var(--muted);margin-bottom:7px}.outcome-grid strong{display:block;font-size:32px;font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.04em;line-height:1.2}.outcome-grid strong em{font-size:16px;font-weight:450;color:var(--muted);font-style:normal;margin-left:3px;letter-spacing:0}.outcome-grid small{display:block;font-size:12px;color:var(--muted);margin-top:7px;min-height:18px}.outcome-grid small.improved{color:var(--ink)}.outcome-grid small.worse{color:var(--warn)}.metric-note{font-size:12px;color:var(--muted);margin:15px 0 0}.lower-workbench{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.3fr);gap:27px;border-top:1px solid var(--line);padding-top:26px}.route-panel select{width:100%;max-width:400px}.route-panel>p{font-size:14px;color:var(--muted);line-height:1.6;margin:13px 0}.route-steps{list-style:none;padding:0;margin:18px 0;display:flex;flex-direction:column;gap:0}.route-step{display:flex;align-items:center;gap:10px;font-size:14px;min-height:35px}.route-step .cap-letter{display:flex;align-items:center;justify-content:center;font-size:12px;width:29px;height:29px;flex-shrink:0;border:1px solid var(--line);background:var(--card);border-radius:4px;color:var(--muted)}.route-step.done .cap-letter{background:var(--good-soft);border-color:var(--good-line);color:var(--good)}.route-step.current .cap-letter{background:var(--card);color:var(--accent);border-color:var(--accent-line)}.route-step strong{font-weight:600;color:var(--muted)}.route-step>span:last-child{margin-left:auto;font-size:12px;color:var(--muted)}.route-connector{margin:2px 0 2px 13px;border-left:2px solid var(--good);padding:3px 0 3px 24px;font-size:11px;color:var(--muted);min-height:21px}.route-connector.crossing{border-left:2px dashed var(--warn);color:var(--warn)}.route-key{display:flex;gap:17px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.route-key>span{display:flex;align-items:center;gap:6px}.route-key i{display:inline-block;width:16px;height:2px;background:var(--muted)}.route-key .across{background:repeating-linear-gradient(to right,var(--warn) 0,var(--warn) 4px,transparent 4px,transparent 6px)}.route-panel>.panel-note{font-size:12px;color:var(--muted);margin-top:13px}.chart-key{display:flex;gap:6px;align-items:center;white-space:nowrap;font-size:11px!important}.chart-key i{height:2px;width:14px;background:var(--accent);margin-left:7px}.chart-key i.baseline{background:repeating-linear-gradient(to right,var(--muted) 0,var(--muted) 4px,transparent 4px,transparent 6px)}.flow-chart{background:var(--card);border:1px solid var(--line);border-radius:4px;padding:12px 8px 0}.flow-chart svg{width:100%;display:block}.flow-chart text{font-size:11px;font-family:inherit;fill:var(--muted)}.bottleneck{font-size:15px;color:var(--muted);line-height:1.65;margin:17px 0 0}.bottleneck strong{font-weight:650;color:var(--accent)}.comparison-detail{font-size:13px;color:var(--muted);line-height:1.6;margin-top:11px}.comparison-detail button{margin-top:9px;font-size:13px}.chart-data{font-size:13px;color:var(--muted);margin-top:16px}.chart-data summary{cursor:pointer;padding:5px 0}.table-scroll{max-height:240px;overflow:auto}.table-scroll table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap;margin-top:9px}.table-scroll th,.table-scroll td{text-align:right;padding:7px;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.table-scroll th:first-child,.table-scroll td:first-child{text-align:left}.table-scroll th{font-weight:600}.model-details{margin-top:32px;padding-top:22px;border-top:1px solid var(--line)}.model-details>summary{display:flex;align-items:center;gap:22px;list-style:none;cursor:pointer;font-size:15px;font-weight:650}.model-details>summary>span:nth-child(2){font-size:13px;font-weight:400;color:var(--muted)}.model-details>summary>b{font-size:22px;font-weight:400;color:var(--muted);margin-left:auto}.model-content{display:grid;grid-template-columns:1fr 1fr;gap:48px;padding-top:25px}.model-content p{font-size:15px;line-height:1.7;color:var(--muted)}.model-content label{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:600;margin-top:17px}.model-content output{color:var(--accent);font-weight:650;white-space:nowrap}.model-content input{width:100%;height:27px;margin:8px 0 3px}.model-content .small{font-size:12px}.model-content h3{font-size:16px;margin-top:0}.model-content code{font-size:12px;overflow-wrap:anywhere;color:var(--muted)}.assumption-actions{display:flex;gap:8px;flex-wrap:wrap}.is-drop-target .empty-team{border-color:var(--accent);color:var(--accent)}
@media(max-width:1100px){.teams-lab{padding:26px}.workbench{padding:18px 18px 0}.team-columns{gap:12px}.team-column{padding:11px 10px}.capability-card{padding:10px}.capability-top{gap:7px}.capability-top strong{font-size:15px}.queue-pill{font-size:11px;padding:2px 4px}.capability-meta{font-size:10px}.canvas-meta{font-size:11px}.status{margin-inline:-18px;padding-inline:18px}.day-control{gap:12px}.playback{gap:18px}.layout-actions button{padding:9px 11px}.scenario-field select{min-width:230px}}
@media(max-width:800px){.teams-lab{padding:24px 20px}.page-heading h1{font-size:30px}.page-heading p:last-child{font-size:15px}.workbench-toolbar{flex-wrap:wrap;gap:12px}.scenario-field{flex:1}.scenario-field select{width:100%;min-width:0}.layout-actions{margin-left:auto}.canvas-meta{display:block;font-size:12px}.canvas-meta>span{display:block;margin-top:5px}.team-columns{gap:10px}.team-column{padding:10px 8px}.capability-top{flex-wrap:wrap}.queue-pill{margin-left:36px;margin-top:-4px;font-size:11px}.capability-meta{flex-wrap:wrap;gap:2px;margin-top:6px}.card-move{display:block}.card-move label{display:block;margin-bottom:4px;font-size:14px}.card-move select{width:100%;min-height:34px}.team-name{font-size:15px;padding-inline:2px}.team-stats{margin-left:0;font-size:10px}.playback{flex-wrap:wrap;gap:10px 16px}.day-control{min-width:250px}.playback-state{display:none}.lower-workbench{grid-template-columns:1fr;gap:28px}.route-panel{display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.route-panel>.section-heading{grid-column:1/-1}.route-panel .route-steps{grid-column:2;grid-row:2/6;margin-top:0}.route-panel>.route-key{align-self:start}.outcome-grid{gap:15px}.outcome-grid>div{padding-right:15px}.outcome-grid span{font-size:13px}.outcome-grid strong{font-size:29px}.model-content{gap:28px}}
@media(max-width:540px){.teams-lab{padding:22px 15px 28px}.page-heading{gap:10px;align-items:flex-start;margin-bottom:21px}.page-heading h1{font-size:29px;line-height:1.13}.eyebrow{font-size:9px;letter-spacing:.08em}.page-heading p:last-child{font-size:16px;line-height:1.55}.page-heading>.button{font-size:12px;padding:6px 9px;min-height:34px;margin-top:2px}.workbench{padding:16px 12px 0}.scenario-field{display:block;width:100%}.scenario-field label{display:block;margin-bottom:6px}.scenario-field select{font-size:14px;min-height:44px}.layout-actions{margin-left:0;width:100%;gap:6px}.layout-actions button{font-size:13px;min-height:41px;padding:8px 10px;flex:1}.canvas-meta{font-size:12px;line-height:1.5;margin-top:12px}.map-instruction{align-items:flex-start;gap:8px;margin-bottom:15px}.map-instruction p{font-size:14px;line-height:1.6}.map-instruction>span{margin-top:4px}.team-columns{grid-template-columns:1fr;gap:17px}.team-column{padding:13px;min-height:120px}.team-head{gap:9px}.team-name{font-size:17px}.team-stats{margin-left:19px;font-size:12px;margin-top:4px}.capability-list{min-height:55px;gap:11px}.capability-card{padding:11px 12px}.capability-top{flex-wrap:nowrap;gap:10px}.capability-top strong{font-size:17px}.drag-handle{min-width:35px;min-height:35px;font-size:24px}.queue-pill{margin:0 0 0 auto;font-size:12px;padding:3px 6px}.capability-meta{flex-wrap:nowrap;font-size:12px;margin:9px 0}.card-work{margin-bottom:11px}.card-move{display:flex;gap:10px}.card-move label{margin:0;font-size:14px}.card-move select{min-height:38px;font-size:14px}.empty-team{font-size:14px;margin-top:7px;padding:14px}.playback{margin-top:19px;gap:14px}.playback-buttons{width:100%}.playback-buttons button:first-child{flex:1}.day-control{width:100%;min-width:0;font-size:14px}.day-control input{height:32px}.status{margin-inline:-12px;padding:11px 13px;font-size:13px;line-height:1.6}.outcomes{padding-top:24px}.section-heading{gap:12px;align-items:flex-start}.section-heading h2{font-size:19px}.section-heading>span{font-size:11px;max-width:140px;text-align:right}.outcome-grid{grid-template-columns:1fr 1fr;gap:22px 18px}.outcome-grid>div:nth-child(2){border:0}.outcome-grid span{font-size:14px}.outcome-grid strong{font-size:31px}.outcome-grid small{font-size:12px}.metric-note{font-size:12px;line-height:1.55}.route-panel{display:block}.route-panel select{min-height:44px;font-size:14px}.route-panel>p{font-size:15px}.route-panel .route-steps{margin-top:19px}.route-step{font-size:15px;min-height:37px}.route-step>span:last-child{font-size:12px}.route-connector{font-size:12px;padding-top:4px;padding-bottom:4px}.route-key{font-size:12px;gap:14px}.route-panel>.panel-note{font-size:12px}.flow-panel>.section-heading{display:block}.chart-key{justify-content:flex-start;text-align:left!important;max-width:none!important;margin-top:11px;font-size:12px!important}.chart-key i:first-child{margin-left:0}.bottleneck{font-size:15px}.comparison-detail{font-size:13px}.model-details>summary{gap:16px;font-size:15px}.model-details>summary>span:nth-child(2){font-size:12px;max-width:135px}.model-content{grid-template-columns:1fr;gap:26px}.model-content p{font-size:15px}.model-content label{font-size:14px;gap:12px}.assumption-actions button{font-size:13px}.model-content h3{font-size:17px}}
.team-column{z-index:auto}.model-content p,.bottleneck,.route-panel>#trace-status{font-size:16px}.model-content .small{font-size:12px}

/* Workload construction extends the shared paper, type and semantic colours. */
.workbench-toolbar{flex-wrap:wrap}.scenario-field{flex-wrap:wrap}.scenario-field select{max-width:370px}.arrangement-starters{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:13px 0 17px;border-top:1px solid var(--line);font-size:16px}.arrangement-starters>span{color:var(--muted);font-size:16px}.arrangement-starters select{max-width:100%}
.arrangement-library{border-top:1px solid var(--line);padding-top:23px;margin-bottom:30px;min-width:0}.arrangement-library .section-heading h2{font-size:27px}.arrangement-library>p{font-size:18px;line-height:1.45;color:var(--muted)}.arrangement-library #arrangement-count{font-size:16px}.arrangement-library form{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:21px 0}.arrangement-library label{font-size:16px}.arrangement-library input{border:1px solid var(--line);border-radius:4px;padding:9px;min-width:0;flex:1;max-width:420px}
.arrangement-library .table-pan-note{font-size:16px;margin:12px 0}.arrangement-table-wrap{width:100%;overflow:auto}.arrangement-table-wrap table{border-collapse:collapse;width:100%;min-width:710px;font-size:18px}.arrangement-table-wrap caption{text-align:left;font-size:18px;margin:6px 0 13px}.arrangement-table-wrap th,.arrangement-table-wrap td{border-bottom:1px solid var(--line);padding:12px;text-align:right;font-variant-numeric:tabular-nums}.arrangement-table-wrap th{font-size:16px;font-weight:600}.arrangement-table-wrap th:first-child{text-align:left;max-width:230px;min-width:170px}.arrangement-table-wrap th[scope=row]{position:sticky;left:0;background:var(--paper);z-index:1;border-right:1px solid var(--line);overflow-wrap:anywhere}.arrangement-table-wrap th details{font-weight:400;margin-top:7px;font-size:15px}.arrangement-table-wrap summary{cursor:pointer;color:var(--muted)}.arrangement-table-wrap details p{font-size:16px;line-height:1.4;margin:8px 0}.arrangement-table-wrap .button{font-size:16px;padding:6px 10px;margin:3px;min-height:36px}
.portable-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.workload-effort-details{border-top:1px solid var(--line);padding-top:16px;margin-top:22px}.workload-effort-details summary{font-size:18px;cursor:pointer}.workload-effort-details p{font-size:18px;line-height:1.5;color:var(--muted)}.effort-rows{display:grid;grid-template-columns:1fr 1fr;gap:17px 30px}.effort-rows>div{display:flex;gap:7px 15px;flex-wrap:wrap;justify-content:space-between;font-size:16px}.effort-rows strong{font-weight:500}.effort-track{width:100%;height:8px;background:var(--surface);border:1px solid var(--line);border-radius:3px}.effort-track i{display:block;height:100%;background:var(--accent)}
.workload-editor{width:min(980px,calc(100vw - 32px));max-height:90vh;padding:26px;border:1px solid var(--line);color:var(--ink);overflow:auto}.workload-editor::backdrop{background:color-mix(in srgb,var(--shadow-ink) 50%,transparent)}.editor-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.editor-heading h2{font-size:32px;margin:0}.editor-heading .section-label{font:11px var(--mono);color:var(--muted);margin-bottom:9px}.workload-editor p{font-size:18px;line-height:1.5;color:var(--muted)}.workload-editor label{font-size:16px;display:grid;gap:6px;min-width:0}.workload-editor input,.workload-editor select{border:1px solid var(--line);border-radius:4px;padding:9px;width:100%;min-width:0;background:var(--card);color:var(--ink)}.workload-fields{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:14px;margin:21px 0}.workload-editor .editor-hint{font-size:16px;margin-bottom:22px}.flow-editors{display:grid;gap:22px}.flow-editor{border:1px solid var(--line);padding:18px;border-radius:4px;background:var(--card)}.flow-heading{display:grid;grid-template-columns:2fr 1.3fr 90px auto;gap:12px;align-items:end}.flow-heading button{font-size:16px}.stage-list{list-style:none;padding:0;margin:18px 0;display:grid;gap:9px}.route-stage{display:grid;grid-template-columns:32px minmax(120px,1.4fr) minmax(85px,.6fr) auto;gap:12px;align-items:center;padding:10px;background:var(--paper);border:1px solid var(--line);border-radius:4px}.stage-handle{font-size:25px;border:0;background:transparent;color:var(--muted);padding:2px;touch-action:none;cursor:grab;min-height:38px}.route-stage.is-dragging{opacity:.3}.route-stage.is-drop-target{border:2px solid var(--accent);background:var(--accent-soft)}.stage-actions{display:flex;gap:5px}.stage-actions button{font-size:16px;padding:7px 10px;min-height:39px}.editor-actions{display:flex;gap:10px;flex-wrap:wrap;position:sticky;bottom:-26px;background:var(--paper);border-top:1px solid var(--line);margin-top:22px;padding:15px 0 3px}.workload-editor .editor-error{color:var(--danger);font-size:18px}
@media(max-width:700px){.scenario-field{display:flex;width:100%}.scenario-field label{flex-basis:100%}.scenario-field select{min-width:0;flex:1}.scenario-field #edit-workload{font-size:16px}.arrangement-starters{gap:8px}.arrangement-starters label{width:100%}.arrangement-starters>span{font-size:15px}.arrangement-library form{align-items:stretch}.arrangement-library form label{width:100%}.arrangement-library input{flex-basis:100%;max-width:none}.arrangement-library .section-heading{align-items:baseline}.arrangement-library #arrangement-count{font-size:14px}.arrangement-table-wrap th:first-child{min-width:145px;max-width:145px}.effort-rows{grid-template-columns:1fr}.workload-editor{padding:19px;width:calc(100vw - 20px)}.workload-fields{grid-template-columns:1fr 1fr}.workload-fields>label:first-child{grid-column:1/-1}.flow-editor{padding:12px}.flow-heading{grid-template-columns:1fr 1fr}.flow-heading>label:first-child{grid-column:1/-1}.flow-heading>button{grid-column:1/-1;justify-self:start}.route-stage{grid-template-columns:30px minmax(0,1fr) 80px;gap:8px}.stage-actions{grid-column:2/-1;justify-content:space-between}.stage-actions button{font-size:16px;padding:7px 9px}.editor-heading h2{font-size:29px}.editor-actions{bottom:-19px;position:static}.editor-actions .button{white-space:normal}.workload-editor label{font-size:16px}}

.arrangement-table-wrap thead th:first-child{position:sticky;left:0;background:var(--paper);z-index:2;border-right:1px solid var(--line)}
@media(max-width:700px){.stage-actions button,.stage-handle{min-height:44px}}
.relationships{margin:28px 0;padding:24px 0;border-block:1px solid var(--line)}
.relationships h2{margin:22px 0 12px}.relationships h3{margin:16px 0 10px}
.relationships label,.relationships input,.relationships select,.relationships button{font-size:16px}
.relationships input,.relationships select,.relationships button{min-height:44px;max-width:100%}
.relationship-map{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}
.relationship-map>section{border-top:3px solid var(--accent);background:var(--card);padding:12px;min-width:0}
.relationship-capability{border-top:1px solid var(--line);padding:10px 0;display:grid;grid-template-columns:auto 1fr;gap:8px}
.relationship-capability button{grid-column:1/-1;text-align:left;touch-action:none;cursor:grab}
.relationship-capability select{min-width:0;width:100%}
.relationship-capability label{align-self:center}
.relationship-traces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.relationship-trace-details{margin:20px 0;padding:12px 0;border-block:1px solid var(--line)}
.relationships input{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:4px;padding:10px;font-family:var(--serif)}
.relationship-traces ol{padding-left:24px;margin:10px 0}.relationship-traces li{padding:6px 0 6px 8px;border-left:2px solid var(--line)}
.relationship-traces li.crossing{border-left:3px dashed var(--warn)}.relationship-traces small{display:block;font-size:16px;color:var(--muted)}
.relationship-budgets,.relationship-people{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.relationship-budgets label{display:grid;gap:8px}.relationship-budgets input{width:100%}
/* Absolute screen-reader labels belong to the scroller; without its containing
   block, labels in offscreen columns can enlarge the phone viewport. */
.relationship-table{position:relative;overflow:auto;margin-top:20px}.relationship-table table{min-width:760px;width:100%;border-collapse:collapse}
.relationship-table td,.relationship-table th{padding:10px;text-align:left;border-bottom:1px solid var(--line)}
.relationship-table input{width:90px}.relationship-table select{width:225px}
.relationship-result{padding:18px 0;border-block:1px solid var(--line)}.relationship-result strong{font-family:var(--font-heading);font-size:26px}
@media(max-width:650px){.relationships .section-heading{display:block}.relationship-map,.relationship-traces,.relationship-budgets,.relationship-people{grid-template-columns:1fr}.relationship-table{max-width:100%}.relationship-map>section{padding:10px}.relationships{padding-block:10px}}
