/* Construction workspace components. Shared Machine header/dialog tokens stay intact. */
body[data-space=construction] #world{background:#e8ebe4}
.field-region-nav{position:absolute;left:20px;top:16px;z-index:8;display:flex;gap:4px;padding:5px;background:color-mix(in srgb,var(--surface) 94%,transparent);border:1px solid var(--line);border-radius:9px;box-shadow:0 4px 16px #2940390b;max-width:calc(100% - 40px);overflow:auto}
.field-region-nav button{border:0;background:transparent;color:var(--ink);padding:9px 13px;white-space:nowrap;border-radius:5px;font:inherit;font-size:13px;min-height:36px;cursor:pointer}
.field-region-nav button[aria-pressed=true]{background:#dce6dd;color:#294c54;font-weight:650}
.field-scenario-badge{position:absolute;right:18px;bottom:20px;font-size:11px;color:var(--muted);pointer-events:none}
.field-facility-label{position:absolute;transform:translate(-50%,-50%);padding:7px 10px;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink);border:1px solid var(--line);border-radius:5px;font:12px/1.2 inherit;pointer-events:auto;cursor:pointer;white-space:nowrap}
.dialog:has(.field-panel){width:min(960px,calc(100% - 32px));max-width:960px}
.field-panel{padding:22px 30px;color:var(--ink)}
.field-panel>header.field-panel-head{height:auto;min-height:0;padding:0 32px 18px 0;background:none;border-bottom:1px solid #d2dccd;box-shadow:none}
.field-panel-head{display:flex;align-items:center;padding-right:34px;margin:0 0 20px}
.field-panel-head h2{font-size:23px;margin:0;font-weight:650;letter-spacing:-.4px}
.field-panel button,.field-panel input,.field-panel select,.field-panel textarea{font:inherit;font-size:14px;color:inherit;min-height:40px;box-sizing:border-box;border:1px solid var(--line);border-radius:6px;background:var(--surface);padding:8px 12px}
.field-panel button{cursor:pointer}.field-panel button:hover{background:#e7eee3}.field-panel input:focus-visible,.field-panel button:focus-visible,.field-panel select:focus-visible{outline:2px solid #498692;outline-offset:2px}
.field-panel input:disabled,.field-panel select:disabled{background:var(--control);color:var(--muted)}
.field-panel label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.field-panel input,.field-panel select,.field-panel textarea{width:100%}
.field-panel .form-pair{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field-form{display:grid;gap:16px;margin-top:20px;width:100%}
.field-form>button{justify-self:start;min-width:100px;background:#e1ebdf}
.field-form fieldset{border:1px solid var(--line);border-radius:6px;display:flex;flex-wrap:wrap;gap:12px;padding:13px}
.field-form legend{font-size:12px;color:#758272;padding:0 5px}
.field-form .field-check{display:flex;align-items:center;gap:7px;min-height:35px}.field-check input{width:16px;min-height:16px;accent-color:#56817f}
.field-panel details{margin-top:16px}.field-panel summary{cursor:pointer;font-size:13px;color:#657b73}.field-panel details p{font-size:13px}
.field-actions,.field-board-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:15px 0}.field-actions .field-state{margin-left:auto}
.field-board-actions label{margin-right:auto}.field-board-actions input{max-width:180px}
.field-tabs{display:flex;gap:5px;border-bottom:1px solid #d2dccd;padding-bottom:8px;margin:14px 0}.field-tabs button{border:0;background:none}.field-tabs button[aria-pressed=true]{background:#dde8da;font-weight:650}
.field-library{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.field-library button{display:flex;flex-direction:column;padding:8px;align-items:center;gap:8px}.field-library img{width:100%;aspect-ratio:4/3;object-fit:contain}.field-library span{font-size:12px;min-height:30px}
.field-equipment-detail{display:grid;grid-template-columns:minmax(230px,1fr) 1.2fr;gap:25px}.field-equipment-image{display:flex;align-items:center}.field-equipment-image img{width:100%;aspect-ratio:4/3;object-fit:contain}.field-equipment-detail form{display:grid;gap:14px}
.field-fleet-list,.field-task-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0}.field-fleet-list button,.field-task-list button{display:flex;align-items:start;text-align:left;flex-direction:column;gap:7px;padding:13px 16px}.field-fleet-list small,.field-task-list small{font-size:12px;color:#768575}
.field-state{border-radius:5px;padding:4px 7px;font-size:11px;background:#e5e9df;color:#687c6c}.field-state[data-status=active]{background:#d8e8dd;color:#376a56}.field-state[data-status=paused],.field-state[data-status=correction]{background:#eee0ca;color:#886b45}
.field-loan-list{display:grid;gap:16px;margin:24px 0}.field-loan-list form{padding:16px;border:1px solid #d2dccb;border-radius:6px;display:grid;gap:10px}.field-loan-list small{color:#71806c}.field-loan-list button{justify-self:start}
.field-form-message{min-height:22px;font-size:13px;color:#986a42;margin-top:20px}.field-storage-label{display:block;text-align:right;color:#81907f;font-size:11px}
.field-panel dl{display:grid;grid-template-columns:110px 1fr;gap:10px;font-size:14px}.field-panel dt{color:#7c8d79}.field-panel dd{margin:0}
@media(max-width:760px){.field-region-nav{left:10px;top:10px;max-width:calc(100% - 20px);gap:0;padding:3px}.field-region-nav button{font-size:11px;padding:7px 9px}.field-facility-label{font-size:10px;padding:5px 6px}.field-panel-head h2{font-size:20px}.field-equipment-detail{grid-template-columns:1fr}.field-equipment-image img{max-height:190px}.field-library{grid-template-columns:repeat(2,1fr)}.field-fleet-list,.field-task-list{grid-template-columns:1fr}.field-panel .form-pair{gap:9px}.field-scenario-badge{bottom:85px;right:12px}}
@media(prefers-reduced-motion:reduce){.field-panel *{scroll-behavior:auto;transition:none}}

.field-evidence [data-evidence-list]{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0}.field-evidence button{display:grid;gap:6px}.field-evidence img{width:100%;height:100px;object-fit:cover}.field-evidence span{font-size:11px;overflow-wrap:anywhere}.field-evidence h3{font-size:14px}
@media(max-width:760px){.field-panel{padding:16px}.field-panel>header.field-panel-head{padding-bottom:14px}.field-evidence [data-evidence-list]{grid-template-columns:repeat(2,minmax(0,1fr))}.field-panel input,.field-panel select{min-width:0}.field-form>button{min-width:0}.field-tabs{overflow:auto;white-space:nowrap}}
.source-work-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:8px;margin-bottom:16px}
.source-work-list{align-items:stretch}.source-work-list button{min-width:0;justify-content:start;text-align:left}.source-work-list span{font-weight:600;line-height:1.5;overflow-wrap:anywhere}.source-work-list small{font-size:11px;color:#728276;line-height:1.4;min-height:2.8em}.source-work-list img{aspect-ratio:4/3}
.source-work-paging{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:18px}.source-work-paging span{font-size:12px;color:#6d8076}
.source-work-detail{display:grid;grid-template-columns:minmax(240px,1fr) 1.2fr;gap:24px}.source-work-detail img{width:100%;aspect-ratio:4/3;object-fit:contain}.source-work-phases{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}.source-work-phases button{font-size:12px;padding:7px 10px}.source-work-phases button[aria-pressed=true]{background:#dce8dd;border-color:#71968a}
.source-work-panel ol,.source-task-recipe ol{padding-left:20px;font-size:13px;line-height:1.8}.source-task-recipe{margin:12px 0}
.field-source-work-badge{position:absolute;left:50%;bottom:90px;transform:translateX(-50%);z-index:4;display:flex;align-items:center;max-width:calc(100% - 30px);background:#fbfcf7e8;border:1px solid #ccd6c9;border-radius:8px;overflow:hidden}.field-source-work-badge[hidden]{display:none}.field-source-work-badge button{border:0;background:none;padding:10px 14px;font:inherit;color:#48675e;cursor:pointer;font-size:12px;white-space:nowrap}.field-source-work-badge button:last-child{font-size:18px;border-left:1px solid #d3ddcf}
.source-step-list{display:grid;gap:9px;padding:12px 0}.source-step-list label{display:flex;align-items:center;gap:8px}.source-step-list input{width:16px;min-height:16px;accent-color:#56817f}
@media(max-width:760px){.source-work-filters{grid-template-columns:1fr 1fr}.source-work-filters input{grid-column:1/-1}.source-work-detail{grid-template-columns:1fr}.source-work-detail img{max-height:230px}.source-work-list span{font-size:12px}.source-work-list small{font-size:10px}.field-source-work-badge{bottom:112px}}

.field-facility-label:is(:hover,:focus-visible){opacity:1!important;z-index:120!important}
