/* Project navigation follows PM Office; 3D iframe retains the project's own rendering. */
.field-hub-page{--field-line:#dedcd4;--field-paper:#fcfbf7;--field-muted:#737875;--field-accent:#a54825;background:#f4f2ec;color:#2a2f33}
.field-hub-page *{box-sizing:border-box}
.field-hub-layout{display:grid;grid-template-columns:minmax(290px,340px) minmax(0,1fr);min-height:calc(100svh - 64px);background:#f4f2ec}
.field-hub-sidebar{display:flex;flex-direction:column;gap:16px;padding:24px;border-right:1px solid var(--field-line);background:var(--field-paper);min-width:0;max-height:calc(100svh - 64px);overflow-y:auto}
.field-hub-head h1{margin:0;font-size:24px;line-height:1.4;letter-spacing:-.03em;font-weight:650}
.field-hub-selector{display:grid;gap:8px}
.field-hub-selector button{text-align:left;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:12px 16px;border:1px solid var(--field-line);border-radius:3px;background:#fff;color:#2a2f33;cursor:pointer;font:inherit;min-height:76px}
.field-hub-selector button:hover{border-color:var(--field-accent)}
.field-hub-selector button[aria-pressed=true]{border-color:var(--field-accent);border-left-width:3px;background:#f7f1e9}
.field-hub-selector button strong{font-size:16px;letter-spacing:-.02em}
.field-hub-selector button small{font-size:12px;color:var(--field-muted)}
.field-hub-context{padding:16px;border:1px solid var(--field-line);background:#fff;border-radius:3px}
.field-hub-context h2{margin:0 0 8px;font-size:20px;letter-spacing:-.03em}
.field-hub-context>p{font-size:12px;line-height:1.6;color:var(--field-muted);margin:0 0 16px}
.field-hub-actions{display:grid;border-top:1px solid var(--field-line)}
.field-hub-actions button{display:flex;justify-content:space-between;align-items:center;text-align:left;gap:12px;min-height:48px;padding:8px 4px;border:0;border-bottom:1px solid var(--field-line);background:transparent;color:#2a2f33;cursor:pointer;font:inherit;font-size:14px}
.field-hub-actions button:hover{color:var(--field-accent);background:#f8f6f0}
.field-hub-stage{display:grid;grid-template-rows:auto minmax(0,1fr) auto;min-width:0;background:#e4e7e2;position:relative;min-height:680px}
.field-hub-stage-toolbar{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 20px;background:#f4f2ec;border-bottom:1px solid var(--field-line)}
.field-hub-stage-toolbar h2{margin:0;font-size:16px;letter-spacing:-.025em;overflow-wrap:anywhere}
.field-hub-stage-buttons{display:flex;align-items:center;gap:8px;flex:none}
.field-hub-stage-buttons a,.field-hub-stage-buttons button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border:1px solid #a6a9a2;border-radius:3px;background:#fcfbf7;color:#2a2f33;font:inherit;font-size:12px;text-decoration:none;cursor:pointer}
.field-hub-stage-buttons a:hover,.field-hub-stage-buttons button:hover{background:#e8e3d8}
.field-hub-frame-wrap{position:relative;min-height:570px;overflow:hidden;background:#e4e7e2}
#field-frame{width:100%;height:100%;border:0;display:block;min-height:570px}
.field-hub-loading{position:absolute;top:16px;left:16px;z-index:2;padding:12px 16px;border:1px solid var(--field-line);border-radius:3px;background:#fcfbf7;color:#4e5751;font-size:12px;pointer-events:none}
.field-hub-stage-footer{padding:12px 20px;background:#f4f2ec;border-top:1px solid var(--field-line);color:var(--field-muted);font-size:12px}
.field-hub-stage:fullscreen{width:100%;height:100%;min-height:100%}
.field-hub-stage:fullscreen #field-frame{height:100%}
.field-tool-overlay{position:fixed;inset:0;z-index:500;background:#f4f2ec;display:grid;grid-template-rows:auto minmax(0,1fr)}
.field-tool-overlay[hidden]{display:none}
.field-tool-overlay header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 18px;min-height:58px;border-bottom:1px solid var(--field-line)}
.field-tool-overlay header button,.field-tool-overlay header a{min-height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #a6a9a2;background:#fff;border-radius:3px;padding:0 12px;color:#2a2f33;font:inherit;font-size:13px;cursor:pointer;text-decoration:none}
.field-tool-overlay header strong{font-size:16px;letter-spacing:-.02em;overflow-wrap:anywhere}
.field-tool-overlay iframe{width:100%;height:100%;border:0;background:#fff}
.field-tool-active{overflow:hidden}
.field-hub-page :is(a,button):focus-visible{outline:3px solid var(--field-accent);outline-offset:3px}
@media(max-width:950px){.field-hub-layout{grid-template-columns:1fr;min-height:0}.field-hub-sidebar{max-height:none;overflow:visible;display:grid;grid-template-columns:1fr;gap:12px;padding:16px}.field-hub-selector{grid-template-columns:repeat(2,minmax(0,1fr))}.field-hub-stage{min-height:72svh}.field-hub-frame-wrap,#field-frame{min-height:62svh}}
@media(max-width:560px){.field-hub-sidebar{padding:12px}.field-hub-selector{grid-template-columns:1fr}.field-hub-selector button{min-height:64px}.field-hub-stage-toolbar{padding:12px;align-items:flex-start}.field-hub-stage-toolbar h2{font-size:14px}.field-hub-stage-buttons{flex-direction:column;align-items:stretch}.field-hub-stage-footer{padding:12px}.field-tool-overlay header{flex-wrap:wrap}.field-tool-overlay header strong{order:-1;width:100%}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

/* Spatial workspace: the selected site occupies the entire viewing area.
   Switching sites and tools never reserves a fixed sidebar column. */
.field-hub-layout{display:block;position:relative;height:calc(100dvh - 64px);min-height:540px;overflow:hidden}
.field-hub-stage{position:relative;display:block;width:100%;height:100%;min-height:0;background:#758c91;overflow:hidden}
.field-hub-frame-wrap{position:absolute;inset:0;min-height:0;height:100%}
#field-frame{width:100%;height:100%;min-height:0}
.field-hub-stage-toolbar{position:absolute;inset:16px 20px auto;z-index:11;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0;border:0;background:transparent;pointer-events:none}
.field-hub-selector{display:flex;flex-wrap:wrap;align-items:center;gap:0;min-width:0;max-width:calc(100% - 210px);padding:4px;border:1px solid #d4d8d4d9;border-radius:5px;background:#f8f8f2ed;box-shadow:0 6px 26px #24363b24;pointer-events:auto}
.field-hub-selector button{display:inline-flex;align-items:center;justify-content:center;width:auto;min-height:44px;padding:0 15px;border:0;border-radius:3px;background:transparent;color:#263c43;font:600 13px/1.3 MachineUI,system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.field-hub-selector button[aria-pressed=true]{background:#28454c;color:#fff}
.field-hub-selector button:hover:not([aria-pressed=true]){background:#e3e9e5}
.field-hub-stage-buttons{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-end;pointer-events:auto}
.field-hub-stage-buttons a,.field-hub-stage-buttons button{min-height:44px;padding:0 13px;background:#f8f8f2ed;border:1px solid #d4d8d4d9;color:#28454c;border-radius:5px;box-shadow:0 6px 26px #24363b24;font-weight:600}
.field-hub-context{position:absolute;top:78px;right:20px;z-index:12;display:block;width:min(400px,calc(100% - 40px));max-height:min(65%,540px);overflow:auto;padding:16px 18px;background:#f9f8f4f5;border:1px solid #d5dbd7;border-radius:5px;box-shadow:0 20px 48px #192e3d33;backdrop-filter:blur(12px)}
.field-hub-context[hidden]{display:none}
.field-hub-context-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.field-hub-context-head h2{margin:0;font-size:18px}
.field-hub-context-head button{min-width:44px;min-height:44px;border:1px solid #c4cfcc;border-radius:4px;background:transparent;color:inherit;cursor:pointer}
.field-hub-context>p{margin:5px 0 12px;font-size:12px;line-height:1.5;color:#60716b}
.field-hub-actions{display:grid;grid-template-columns:1fr;gap:0;border-top:1px solid #d5dbd7}
.field-hub-actions button{min-height:48px}
.field-hub-stage-footer{position:absolute;left:20px;right:auto;bottom:18px;z-index:9;display:flex;align-items:center;gap:12px;max-width:calc(100% - 40px);padding:10px 14px;background:#f8f8f2e8;border:1px solid #d4d8d4d9;border-radius:5px;color:#334a50;box-shadow:0 4px 18px #24363b24;pointer-events:none}
.field-hub-stage-footer h2{margin:0;font-size:13px;line-height:1.4;font-weight:650;white-space:nowrap}
.field-hub-stage-footer span{font-size:12px}
.field-hub-loading{top:88px;left:20px;z-index:8}
@media(max-width:950px){.field-hub-layout{height:calc(100dvh - 64px);min-height:540px}.field-hub-stage{height:100%;min-height:0}.field-hub-frame-wrap,#field-frame{min-height:0}.field-hub-selector{max-width:calc(100% - 155px)}}
@media(max-width:680px){.field-hub-stage-toolbar{inset:8px 8px auto;gap:6px}.field-hub-selector{max-width:none;flex:1 1 100%;padding:3px}.field-hub-selector button{flex:1 1 auto;font-size:12px;padding:0 8px}.field-hub-stage-buttons{justify-content:flex-end;gap:4px}.field-hub-stage-buttons a,.field-hub-stage-buttons button{font-size:12px;min-height:44px;padding:0 10px}.field-hub-stage-toolbar{flex-wrap:wrap}.field-hub-context{top:120px;right:8px;width:calc(100% - 16px);max-height:60%;padding:14px}.field-hub-stage-footer{left:8px;bottom:10px;max-width:calc(100% - 16px);gap:6px;flex-wrap:wrap;padding:8px 10px}.field-hub-stage-footer span{display:none}.field-hub-loading{top:132px;left:8px}}
