html,body.fixture-page{height:100%}body.fixture-page{display:flex;flex-direction:column}.fx-bar{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;padding:8px 14px;background:var(--side);border-bottom:1px solid var(--border)}.fx-bar label{display:inline-flex;gap:6px;align-items:center;color:var(--muted)}.fx-bar input[type=number]{width:64px;background:var(--sunken);color:var(--text);border:1px solid var(--border);border-radius:4px;padding:3px 6px}#fx-part{max-width:260px}#fx-app{flex:1;min-height:0;display:grid;grid-template-columns:minmax(320px,440px) 1fr}#fx-side{overflow:auto;padding:12px;display:grid;gap:12px;align-content:start;border-right:1px solid var(--border);background:var(--ground)}.fixture-page .card{background:var(--panel);border:1px solid var(--border);border-radius:14px;padding:12px 14px}.fixture-page .card h2{margin:0 0 6px;font-size:13px;font-weight:600}.fixture-page summary{cursor:pointer;font-weight:600;font-size:13px}.small{font-size:12px}.kv{border-collapse:collapse;width:100%}.kv th{text-align:left;color:var(--muted);font-weight:400;padding:2px 10px 2px 0;vertical-align:top;white-space:nowrap}.kv td{padding:2px 0}#fx-plans{list-style:none;margin:0;padding:0;display:grid;gap:6px}#fx-plans li{border:1px solid var(--border);border-radius:6px;padding:6px 8px;cursor:pointer;display:grid;gap:2px}#fx-plans li:hover{border-color:var(--line-accent)}#fx-plans li.selected{border-color:var(--accent);background:var(--accent-soft)}#fx-plans .row{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}#fx-plans .name{line-height:1.4}.badge{font-size:11px;padding:1px 6px;border-radius:10px;border:1px solid var(--border);color:var(--muted)}.badge.trunnion{color:var(--accent);border-color:var(--line-accent)}.badge.hmc_5axis{color:var(--info);border-color:var(--info)}.pareto{color:var(--accent)}#fx-rejected{margin:6px 0 0;padding-left:18px;line-height:1.45;font-size:12px}#fx-rejected li{margin-bottom:4px}#fx-main{position:relative;min-width:0;min-height:0}#fx-viewport{position:absolute;inset:0}#fx-setup{left:10px;right:10px;bottom:10px;max-height:46%;overflow:auto;display:grid;gap:8px}#fx-setup-tabs{display:flex;gap:6px;flex-wrap:wrap}#fx-setup-tabs button[aria-selected=true]{border-color:var(--accent);color:var(--accent)}.fx-actions{display:flex;gap:8px;flex-wrap:wrap}button.primary{border-color:var(--accent);color:var(--accent)}#fx-checks details{margin:2px 0}#fx-checks ul{margin:4px 0;padding-left:18px;font-size:12px}#fx-checks p{margin:0}.ok{color:var(--done)}.busy:before{content:"";display:inline-block;width:11px;height:11px;margin-right:8px;vertical-align:-1px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@media(max-width:800px){#fx-app{grid-template-columns:1fr;grid-template-rows:auto minmax(360px,1fr)}#fx-side{border-right:none;border-bottom:1px solid var(--border);max-height:50vh}}#fx-funnel .stage{display:grid;grid-template-columns:120px 1fr auto 52px;gap:8px;align-items:center;margin:4px 0;font-size:12px}#fx-funnel .stage .label{color:var(--text)}#fx-funnel .bar{position:relative;height:10px}#fx-funnel .bar i,#fx-funnel .bar b{position:absolute;left:0;top:0;bottom:0;border-radius:0 3px 3px 0}#fx-funnel .bar i{background:color-mix(in srgb,var(--series-1) 30%,transparent)}#fx-funnel .bar b{background:var(--series-1)}#fx-funnel .value,#fx-funnel .ms{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}#fx-funnel p{margin:4px 0}.badges{display:flex;flex-wrap:wrap;gap:4px}.badge.good{color:var(--done);border-color:color-mix(in srgb,var(--done) 40%,transparent)}.badge.bad{color:var(--error);border-color:color-mix(in srgb,var(--error) 40%,transparent)}svg.worlds{display:block;max-width:100%;height:auto;margin-top:2px}svg.worlds rect{fill:var(--series-1)}svg.worlds rect.slip{fill:var(--series-5)}svg.worlds .ref{stroke:var(--muted);stroke-dasharray:2 3}svg.worlds text{fill:var(--muted);font-size:10px}#fx-worlds{display:grid;gap:2px}.pallet-option{border:1px solid var(--border);border-radius:6px;padding:6px 8px;margin-top:6px;display:grid;gap:4px}.pallet-option .row{display:flex;gap:6px;align-items:center;flex-wrap:wrap}svg.pallet{display:block;max-width:100%;height:auto}svg.pallet .area{fill:none;stroke:var(--muted);stroke-dasharray:3 3}svg.pallet text{fill:var(--muted);font-size:10px}#fx-busy{position:absolute;inset:0;z-index:6;display:grid;place-items:center;background:var(--scrim)}#fx-busy[hidden]{display:none}#fx-busy .card{width:min(440px,calc(100% - 32px));background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--radius-card);padding:18px 20px;box-shadow:none}#fx-busy .head{display:flex;align-items:center;gap:12px;margin-bottom:8px}#fx-busy .spinner{width:22px;height:22px;flex:none;border:3px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}#fx-busy .title{flex:1;font-weight:600;font-size:15px}#fx-busy .elapsed{color:var(--muted);font-variant-numeric:tabular-nums}#fx-busy .what{margin:0 0 8px;color:var(--muted)}#fx-busy .steps{margin:0 0 12px;padding-left:18px;line-height:1.7;color:var(--muted);font-size:12px}#fx-busy .stage{margin:0 0 6px;min-height:1.2em;color:var(--text-muted);font-size:12px}#fx-busy .ds-progress{margin-bottom:12px}#fx-busy .cancel{float:right}#fx-busy .card:after{content:"";display:block;clear:both}
