/* DEC-031: canvas-first shell, a persistent conversation, optional detail drawers. */
.canvas-brand{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.canvas-brand img{width:24px;height:24px;object-fit:contain}
/* DEC-033: scroll conversation content in normal flow; output cannot overlap input. */
body.orb-canvas-workspace #ow-atlas>.ow-card:first-of-type{flex:0 0 auto!important;min-height:auto!important}
body.orb-canvas-workspace #owTranscript{flex:none!important}
body.orb-canvas-workspace #owAtlasForm{position:relative;z-index:1}
/* DEC-032: supporting work expands inside the investigation, beside the canvas. */
/* DEC-357: the persistent Save action already includes notebook text. */
body.orb-canvas-workspace #owSaveNotes{display:none!important}
#investigationWorkflow{padding:14px 16px;border-bottom:1px solid #454549;overflow:auto;max-height:48%;flex-shrink:0;font:13px/1.5 'Segoe UI',sans-serif;color:#ddd}
#investigationWorkflow h2{font-size:17px;margin:0 0 6px}#investigationWorkflow>p{margin:4px 0;overflow-wrap:anywhere;white-space:pre-wrap}
#investigationWorkflow .investigation-hint{font-size:11px;color:#aaa;margin-bottom:12px}
#investigationWorkflow>details{border-top:1px solid #3b3b40;padding:8px 0}#investigationWorkflow summary{cursor:pointer;color:#9acfff;padding:4px 0}
#investigationWorkflow summary:focus-visible{outline:2px solid #79bdff;outline-offset:2px}
#investigationWorkflow #ow-overview{padding:8px 0!important}#investigationWorkflow #ow-overview>.ow-eyebrow,#investigationWorkflow #ow-overview>h1,#investigationWorkflow #ow-overview>p.ow-small{display:none}
#investigationWorkflow .ow-form-grid{display:block}#investigationWorkflow .ow-field{display:block;margin:8px 0}
#investigationWorkflow textarea,#investigationWorkflow input:not([type=checkbox]){width:100%;box-sizing:border-box}#investigationWorkflow textarea{min-height:80px!important}
#investigationWorkflow .ow-card{padding:10px 0!important;border:0!important;resize:none!important;max-height:none!important}#investigationWorkflow .panel-controls{display:none!important}
#investigationWorkflow .ow-actions{display:flex;flex-wrap:wrap;gap:6px}#investigationWorkflow button{margin:4px 4px 4px 0;white-space:normal;text-align:left}
#investigationWorkflow #briefArtifacts{overflow-x:auto}#investigationWorkflow #briefFindings p{border-left:2px solid #527c96;padding-left:10px;overflow-wrap:anywhere}
body.orb-canvas-workspace:before,body.orb-canvas-workspace #studioToolbar,body.orb-canvas-workspace #studioStatus,body.orb-canvas-workspace #studioTabs,body.orb-canvas-workspace #orbStart{display:none!important}
body.orb-canvas-workspace #owApp{top:42px!important;bottom:34px!important;display:grid!important;grid-template-columns:minmax(0,var(--globe-share,68fr)) minmax(300px,var(--lab-share,32fr))!important;grid-template-rows:minmax(0,1fr)!important;overflow:hidden}
#canvasTop{position:fixed;inset:0 0 auto;height:42px;display:flex;align-items:center;gap:18px;padding:0 14px;background:#252526;border-bottom:1px solid #414145;z-index:3000;color:#ddd;font:12px 'Segoe UI',sans-serif}.canvas-brand{font-size:16px;letter-spacing:2px;color:#8ecbff}.canvas-commands{display:flex;gap:5px}#canvasTitle{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#aaa}
body.orb-canvas-workspace #orbGlobalConfig{position:static!important;height:28px!important;flex-shrink:0}
#canvasTop button,#canvasBottom button,.canvas-conversation-head button,.canvas-drawer-head button,.canvas-composer-tools button{font:12px 'Segoe UI',sans-serif;color:#d7d7d7;background:#303033;border:1px solid #4a4a50;border-radius:3px;padding:5px 9px;cursor:pointer}
body.orb-canvas-workspace #worldPane{grid-column:1!important;grid-row:1!important;display:flex!important;min-width:0;min-height:0;border:0}
body.orb-canvas-workspace .world-head,body.orb-canvas-workspace .world-context,body.orb-canvas-workspace #worldTools,body.orb-canvas-workspace #worldAdvanced{display:none!important}
body.orb-canvas-workspace #worldViewport{min-height:0;flex:1}body.orb-canvas-workspace .world-toolbar{top:12px;left:12px;right:auto}body.orb-canvas-workspace .studio-divider{display:block;right:0;top:0;height:100%;z-index:15;cursor:col-resize}
#canvasConversation{grid-column:2;grid-row:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:#202022;border-left:1px solid #454549;overflow:hidden;color:#ddd}
.canvas-conversation-head,.canvas-drawer-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#29292c;border-bottom:1px solid #414145;font:12px 'Segoe UI',sans-serif;flex-shrink:0}
body.orb-canvas-workspace #ow-atlas{display:flex!important;flex-direction:column;min-height:0;flex:1;overflow:auto;padding:0!important}
body.orb-canvas-workspace #ow-atlas>.ow-title-row,body.orb-canvas-workspace #ow-atlas .panel-controls,body.orb-canvas-workspace #ow-atlas>.ow-card>p:first-of-type{display:none!important}
body.orb-canvas-workspace #ow-atlas>.ow-card:first-of-type{display:flex;flex-direction:column;flex:1;min-height:0;padding:0!important;margin:0!important;border:0!important;resize:none!important;max-height:none!important;overflow:visible;background:transparent!important}
body.orb-canvas-workspace #owTranscript{min-height:40px;max-height:none!important;overflow:auto;flex:1;padding:12px 16px!important}body.orb-canvas-workspace #owTranscript article{white-space:pre-wrap;line-height:1.6;padding:12px 0;border-bottom:1px solid #35353b;font:13px/1.6 'Segoe UI',sans-serif}
#canvasWelcome{padding:30px 20px 10px}#canvasWelcome p{color:#aaa;font-size:13px}body.orb-canvas-workspace #canvasWelcome h1{font-size:22px!important;line-height:1.3!important}#canvasWelcome[hidden]{display:none}
body.orb-canvas-workspace #owAtlasForm{padding:12px;border-top:1px solid #3b3b40;background:#252526;margin:0;flex-shrink:0}body.orb-canvas-workspace #owAtlasForm>.ow-field{font-size:0}body.orb-canvas-workspace #owAtlasQuestion{font:13px/1.5 'Segoe UI',sans-serif!important;min-height:76px!important;max-height:180px;width:100%;margin:8px 0!important;padding:10px!important;resize:vertical;background:#1e1e20!important;border:1px solid #555!important;border-radius:5px!important;color:#ddd}
body.orb-canvas-workspace #owAtlasForm>label:first-child:not(.ow-field){display:none!important}.canvas-composer-tools{display:flex;gap:8px;align-items:center}.canvas-composer-tools select{min-width:0;width:auto!important;font:12px 'Segoe UI',sans-serif!important;background:#303033!important;color:#ddd;padding:5px!important}
body.orb-canvas-workspace #owAtlasStatus{padding:0 12px 8px;margin:0;font-size:11px;color:#aab5c0}#canvasSelection{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background:#193b50;color:#a6d9ff;border:1px solid #41667d;padding:5px 8px;margin-bottom:8px}#canvasSelection[hidden]{display:none}
body.orb-canvas-workspace .ow-sidebar{display:none!important;position:absolute!important;left:0;top:0;bottom:0;width:290px!important;z-index:50;overflow:auto!important;box-shadow:12px 0 35px #0008;border-right:1px solid #555;max-height:none!important}
body.orb-canvas-workspace .ow-sidebar.canvas-saved-open{display:flex!important}.orb-canvas-workspace .ow-sidebar .ow-brand,.orb-canvas-workspace .ow-sidebar .ow-sidebar-foot,.orb-canvas-workspace .ow-sidebar .layout-controls{display:none!important}.orb-canvas-workspace .studio-explorer{display:grid!important}
body.orb-canvas-workspace #owScroll{display:none!important;position:absolute;left:12px;bottom:12px;top:48px;width:min(720px,calc(100% - 24px));z-index:40;background:#232326;box-shadow:0 12px 45px #000a;border:1px solid #555;border-radius:5px;overflow:auto}
body.orb-canvas-workspace #owScroll.canvas-drawer-open{display:block!important}.orb-canvas-workspace #owScroll .ow-topbar,.orb-canvas-workspace #owScroll .panel-controls{display:none!important}.orb-canvas-workspace #owScroll .canvas-drawer-head{position:sticky;top:0;z-index:5}.orb-canvas-workspace #owScroll .user-panel{max-height:none!important;resize:none!important}.orb-canvas-workspace #owScroll .ow-main{padding:16px!important}
.orb-canvas-workspace .qbar .qwrap,.orb-canvas-workspace #owSpatialHint{display:none!important}.orb-canvas-workspace #owSpatialQuery .qbar{display:block!important;position:static!important;width:100%!important;transform:none!important}.orb-canvas-workspace #cats{display:flex;flex-wrap:wrap}.orb-canvas-workspace #chips{display:flex;flex-wrap:wrap}
#canvasBottom{position:fixed;inset:auto 0 0;height:34px;display:flex;align-items:center;gap:6px;padding:0 12px;background:#252526;border-top:1px solid #454549;z-index:3000;font:11px 'Segoe UI',sans-serif;color:#aaa}#canvasBottom button{border-color:transparent;background:transparent;padding:4px 7px}#canvasBottom button:hover{background:#3a3a40}#canvasSaveState{margin-left:auto}.canvas-more{position:relative}.canvas-more summary{cursor:pointer;padding:7px}.canvas-more[open]{background:#303034}.canvas-more[open]>button{display:block!important;background:#303034!important;min-width:150px}.canvas-more[open]{position:absolute;bottom:2px;left:560px}
body.orb-canvas-workspace.conversation-hidden #owApp{grid-template-columns:1fr!important}body.orb-canvas-workspace.conversation-hidden #canvasConversation{display:none}body.orb-canvas-workspace.conversation-hidden .studio-divider{display:none}
@media(max-width:800px){body.orb-canvas-workspace #owApp{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:42% 58%!important}body.orb-canvas-workspace #canvasConversation{grid-column:1;grid-row:2}body.orb-canvas-workspace .studio-divider{display:none}#canvasTitle,#canvasSaveState{display:none}#canvasTop{gap:10px}#canvasBottom{overflow-x:auto;white-space:nowrap}#canvasTop #orbGlobalConfig{margin-left:auto}body.orb-canvas-workspace.conversation-hidden #owApp{grid-template-rows:1fr!important}}

.orb-canvas-workspace #activeBriefHeader{display:none!important}.orb-canvas-workspace #owScroll[data-drawer=scene] #ow-notebook>:not(.canvas-scene-list):not(.orb-location-details){display:none!important}.orb-canvas-workspace #owScroll[data-drawer=sources] #ow-overview>:not(.orb-context-panel){display:none!important}.canvas-scene-list label{display:block;padding:8px 0}.canvas-scene-list input{display:inline!important;width:auto!important;margin-right:8px}.orb-canvas-workspace #owAtlasForm+div{max-height:220px;overflow:auto;padding:0 12px}.orb-canvas-workspace #owTranscript[hidden]{display:none!important}

.orb-canvas-workspace .canvas-interactive-option{display:none!important}#canvasOutput{padding:8px 12px;border-top:1px solid #444;flex-shrink:0}#canvasOutput[hidden]{display:none}#canvasOutput summary{cursor:pointer;font:12px 'Segoe UI',sans-serif;color:#9acfff}body.orb-canvas-workspace #canvasOutput #rp{position:static!important;inset:auto!important;width:100%!important;max-width:none!important;max-height:280px!important;overflow:auto!important;transform:none!important;box-shadow:none!important;margin-top:8px}.orb-canvas-workspace #canvasOutput #rp.on{opacity:1;pointer-events:auto}

/* DEC-046: a short, focused name confirmation stays above the investigation. */
#investigationSaveDialog { color: #e3edf2; background: #20262b; border: 1px solid #61788b; border-radius: 12px; width: min(480px, 90vw); padding: 24px; }
#investigationSaveDialog::backdrop { background: #0009; }
#investigationSaveDialog label { display: block; }
#investigationSaveDialog input { display: block; box-sizing: border-box; width: 100%; margin-top: 8px; padding: 10px; }
#investigationSaveDialog p { line-height: 1.5; }
#investigationSaveDialog button { padding: 8px 14px; }
/* DEC-121: the leave-work decision stays readable at sidebar widths. */
#draftGuardDialog { box-sizing: border-box; margin: auto; color: #e3edf2; background: #20262b; border: 1px solid #61788b; border-radius: 12px; width: min(500px, 92vw); max-height: 90vh; overflow: auto; padding: 24px; }
#draftGuardDialog::backdrop { background: #0009; }
#draftGuardDialog h2 { font-size: 20px; margin: 0 0 12px; }
#draftGuardDialog p { line-height: 1.5; margin: 12px 0; }
#draftGuardDialog label { display: block; }
#draftGuardDialog input { display: block; box-sizing: border-box; width: 100%; margin-top: 8px; padding: 10px; color: #e3edf2; background: #111b23; border: 1px solid #61788b; border-radius: 5px; }
#draftGuardDialog button { margin: 6px 4px 0 0; padding: 9px 12px; color: #e3edf2; background: #30434f; border: 1px solid #61788b; border-radius: 5px; cursor: pointer; }
#draftGuardDialog [type=submit] { background: #18586b; }
#draftGuardDialog :focus-visible { outline: 2px solid #82dced; outline-offset: 3px; }
#draftGuardDialog :disabled { opacity: .6; cursor: wait; }

/* DEC-048: one independently scrolling feed; the message composer stays put. */
body.orb-canvas-workspace #ow-atlas:has(#conversationFeed){overflow:hidden!important;position:relative;gap:0}
body.orb-canvas-workspace #ow-atlas:has(#conversationFeed)>article[hidden]{display:none!important}
#conversationFeed{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:16px 18px;scrollbar-gutter:stable}
body.orb-canvas-workspace #conversationFeed #owTranscript{overflow:visible!important;max-height:none!important;min-height:0;padding:0!important;white-space:normal}
body.orb-canvas-workspace #conversationFeed #owTranscript article{border:0;margin:0 0 22px;padding:0;white-space:pre-wrap;font-size:14px;line-height:1.65}
#conversationFeed #owTranscript article small{display:block;font-size:11px;color:#a8adb6;margin-bottom:6px}
#conversationFeed #owTranscript article[data-role=user]{margin-left:12%;padding:12px 16px!important;background:#303238;border-radius:18px 18px 4px 18px}
#conversationFeed #orbResponseResults{overflow:visible;max-height:none;padding:0;margin:16px 0}
#conversationFeed #canvasOutput{margin-top:16px;padding:10px 0}
#conversationFeed #canvasOutput #rp{max-height:none!important;overflow:visible!important}
body.orb-canvas-workspace #ow-atlas:has(#conversationFeed)>#owAtlasForm{flex:0 0 auto;border-top:0;background:#202022;padding:10px 16px 8px;position:relative}
body.orb-canvas-workspace #ow-atlas:has(#conversationFeed) #owAtlasQuestion{box-sizing:border-box;min-height:64px!important;max-height:150px;border-radius:18px!important;background:#303238!important;border:1px solid #535660!important;padding:14px 56px 14px 14px!important;margin:6px 0!important;resize:none!important;font-size:14px!important}
#ow-atlas:has(#conversationFeed) #owAtlasForm>.ow-actions{position:static;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;margin:8px 0}
body.orb-canvas-workspace #ow-atlas:has(#conversationFeed) #owAtlasSend{border-radius:50%;width:34px;height:34px;min-width:34px;padding:0;font:24px/1 sans-serif;color:#202022;background:#e8ecf2;border:0;cursor:pointer}
#ow-atlas:has(#conversationFeed) #owAtlasSend:disabled{opacity:.4;cursor:wait}
body.orb-canvas-workspace #ow-atlas:has(#conversationFeed) #owAtlasStatus{min-height:16px;padding:0 3px;margin:0;font-size:11px}
.chat-tools{font:12px 'Segoe UI',sans-serif;color:#bbb}.chat-tools summary{cursor:pointer;list-style:none;display:inline-block;padding:4px 8px;border-radius:8px}.chat-tools[open] .canvas-composer-tools{padding:8px 0}
#chatLatest{position:absolute;bottom:175px;align-self:center;z-index:5;border:1px solid #555;border-radius:18px;background:#303238;color:#eee;padding:7px 13px;box-shadow:0 3px 12px #0005;cursor:pointer}#chatLatest[hidden]{display:none}
#investigationWorkflow.chat-compact{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-height:none;padding:8px 12px;overflow:visible}
#investigationWorkflow.chat-compact>h2{flex:1 0 100%;min-width:0;overflow-wrap:anywhere;white-space:normal;font-size:13px;margin:0}
#investigationWorkflow.chat-compact>:not(h2):not(button){display:none!important}
#investigationWorkflow.chat-compact>button{font-size:11px;margin:0;padding:5px 8px;white-space:nowrap}
#investigationWorkflow:not(.chat-compact){max-height:38%}
@media(max-width:800px){#conversationFeed{padding:10px 12px}#investigationWorkflow.chat-compact{padding:6px 10px}body.orb-canvas-workspace #ow-atlas:has(#conversationFeed)>#owAtlasForm{padding:6px 10px}#ow-atlas:has(#conversationFeed) #owAtlasForm>.ow-actions{right:20px;bottom:37px}}

/* DEC-049: protect composer controls against older global button rules. */
body.orb-canvas-workspace #ow-atlas:has(#conversationFeed) #owAtlasSend{border-radius:50%!important;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;font:24px/1 sans-serif!important;color:#202022!important;background:#e8ecf2!important;border:0!important}
#chatFailure{padding:12px 14px;margin:12px 0;border:1px solid #8e5c50;border-radius:12px;background:#392925}#chatFailure[hidden]{display:none}#chatFailure p{margin:0 0 10px;line-height:1.5}#chatFailure button{padding:7px 12px;border-radius:8px;cursor:pointer}
/* DEC-050: bounded, readable comparison tables stay inside the conversation. */
.orb-table-preview{max-width:100%;overflow-x:auto;margin:12px 0}
.orb-table-preview table{width:100%;border-collapse:collapse;font-size:13px}
.orb-table-preview caption{text-align:left;font-weight:600;padding:8px 0}
.orb-table-preview th,.orb-table-preview td{text-align:left;padding:8px;border-bottom:1px solid #41505e;vertical-align:top;overflow-wrap:anywhere}
.orb-table-preview th{color:#a9c8dc}
.orb-table-preview td button{color:#9cdbff!important;background:transparent!important;border:0!important;text-decoration:underline;cursor:pointer;text-align:left;padding:0!important}
/* DEC-340: five persistent workspace targets; bounded native disclosures keep
 * existing owner actions reachable without a scrolling strip or clipped menu. */
body.orb-canvas-workspace #owApp{bottom:48px!important}
#canvasBottom{box-sizing:border-box;height:48px;gap:2px;padding:2px 8px;overflow:visible;white-space:normal}
#canvasBottom>button,#canvasBottom>.canvas-dock-group{flex:0 1 auto;min-width:0}
#canvasBottom>button,#canvasBottom .canvas-dock-group>summary{box-sizing:border-box;min-height:44px;display:flex;align-items:center;justify-content:center;padding:8px 12px;font:12px 'Segoe UI',sans-serif;cursor:pointer;white-space:nowrap;border-radius:4px}
#canvasBottom .canvas-dock-group>summary{list-style:none;color:#d7d7d7}
#canvasBottom .canvas-dock-group>summary::-webkit-details-marker{display:none}
#canvasBottom .canvas-dock-group>summary::after{content:'⌃';margin-left:6px;color:#94b4c7}
#canvasBottom .canvas-dock-group[open]>summary{background:#354554;color:#fff}
#canvasBottom .canvas-dock-group,#canvasBottom .canvas-more[open]{position:static;background:transparent}
#canvasBottom .canvas-dock-menu{box-sizing:border-box;position:fixed;bottom:54px;left:8px;width:min(360px,calc(100vw - 16px));max-height:calc(100dvh - 110px);overflow-y:auto;overflow-x:hidden;padding:8px;background:#252b32;border:1px solid #607183;border-radius:8px;box-shadow:0 6px 24px #0009;white-space:normal;overflow-wrap:anywhere}
#canvasBottom .canvas-dock-group[open]>.canvas-dock-menu{display:flex;flex-direction:column;gap:4px}
#canvasBottom .canvas-dock-menu button{box-sizing:border-box;display:block;min-width:0;min-height:44px;width:100%;text-align:left;padding:10px 12px;white-space:normal;overflow-wrap:anywhere}
#canvasBottom .canvas-dock-menu label{display:flex;gap:10px;align-items:center;min-height:44px;margin:4px!important;padding:8px;line-height:1.5;cursor:pointer}
#canvasBottom .canvas-dock-menu label input{flex:none;width:18px;height:18px}
#canvasBottom #canvasSaveState{display:block;margin:0;padding:8px 12px;white-space:normal;line-height:1.5;color:#b9c9d7}
#canvasBottom :is(button,summary,input):focus-visible{outline:2px solid #91d9ff;outline-offset:-2px}
@media(max-width:400px){#canvasBottom{padding:2px 3px;gap:0}#canvasBottom>button,#canvasBottom .canvas-dock-group>summary{padding:8px 6px;font-size:11px}#canvasBottom .canvas-dock-group>summary::after{margin-left:3px}}

/* DEC-343: reuse the existing save action as the conversation handoff. */
#investigationWorkflow button[data-save-offered]{box-shadow:0 0 0 2px #9acfff;border-color:#d3ecff}


/* DEC411: attachment help and action controls share normal flow on narrow chat panes. */
#ow-atlas #composerAttachments{padding-bottom:0!important}
#ow-atlas #composerAttachments>div>div{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#ow-atlas #composerAttachments span{overflow-wrap:anywhere;min-width:0}

/* DEC412: professional workbench finish: shared visual hierarchy; owner behavior is unchanged. */
body.orb-canvas-workspace{--orb-control:#30363e;--orb-control-hover:#3a434d;--orb-border:#505b68;--orb-text:#ecf0f5;--orb-muted:#afbac8;--orb-accent:#1976c8;--orb-focus:#8dc9ff}
    body.orb-canvas-workspace:not(.orb-field) :is(button,input[type=button],input[type=submit]):not(.cesium-button) {
        box-sizing: border-box;
        border: 1px solid var(--orb-border) !important;
        border-radius: 6px !important;
        margin-bottom: 50px;

        background: var(--orb-control) !important;
        color: var(--orb-text) !important;
        font: 500 12px/1.25 'Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif !important;
        min-height: 32px;
        padding: 6px 11px !important;
        letter-spacing: 0;
        text-shadow: none !important;
        box-shadow: 0 1px 1px #0002;
        cursor: pointer;
        transition: background-color .12s,border-color .12s
    }
body.orb-canvas-workspace:not(.orb-field) :is(button,input[type=button],input[type=submit]):not(.cesium-button):hover:not(:disabled):not([aria-disabled=true]){background:var(--orb-control-hover)!important;border-color:#748397!important}
body.orb-canvas-workspace:not(.orb-field) :is(button,input[type=button],input[type=submit]):not(.cesium-button):active:not(:disabled):not([aria-disabled=true]){background:#252d36!important}
body.orb-canvas-workspace :is(button,input,select,textarea,summary,a):focus-visible{outline:2px solid var(--orb-focus)!important;outline-offset:2px!important;box-shadow:none!important}

body.orb-canvas-workspace :is(.research-delete,#assemblyRemove,button[data-discard],button[data-delete],button[data-recovery-action=remove]){color:#ffc1bb!important;border-color:#78534f!important}
body.orb-canvas-workspace :is(.research-delete,#assemblyRemove,button[data-discard],button[data-delete],button[data-recovery-action=remove]):hover:not(:disabled):not([aria-disabled=true]){background:#583534!important;border-color:#c27b72!important}
body.orb-canvas-workspace :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]),select,textarea){border:1px solid #56616e!important;border-radius:6px!important;background:#252b33!important;color:#edf1f6!important;font-family:'Segoe UI',-apple-system,BlinkMacSystemFont,sans-serif!important;box-shadow:inset 0 1px 2px #0002}
body.orb-canvas-workspace :is(input[type=checkbox],input[type=radio]){accent-color:#3195e5}
body.orb-canvas-workspace input[type=file]::file-selector-button{border:1px solid var(--orb-border);border-radius:6px;background:var(--orb-control);color:var(--orb-text);padding:7px 10px;margin-right:8px;font:500 12px 'Segoe UI',sans-serif;cursor:pointer}
body.orb-canvas-workspace dialog{border:1px solid #657487;border-radius:12px!important;background:#232a33;color:var(--orb-text);box-shadow:0 20px 70px #0008;padding:22px}
body.orb-canvas-workspace dialog::backdrop{background:#0d1421a6;backdrop-filter:blur(3px)}
body.orb-canvas-workspace dialog button{margin:6px 6px 0 0}
#canvasTop{background:#242a32!important;border-bottom-color:#46505d!important;gap:8px!important}
#canvasTop .canvas-brand{font-size:14px;letter-spacing:2px}
#canvasTop button{min-height:30px!important;padding:5px 10px!important}
body.orb-canvas-workspace .world-toolbar{gap:6px;padding:8px 10px;align-items:center;flex-wrap:wrap}
body.orb-canvas-workspace .world-toolbar button{background:#252e39ed!important;border-color:#596776!important;backdrop-filter:blur(8px)}
body.orb-canvas-workspace :is(#assemblyPanel,#engineeringPanel,#orbSketchEditor,#orbSceneLegend,#orbFeatureCard){border-color:#546679!important;border-radius:10px!important;box-shadow:0 10px 32px #0005}
body.orb-canvas-workspace :is(#assemblyPanel,#engineeringPanel,#orbSketchEditor,#orbSceneLegend,#orbFeatureCard) button{margin:3px 4px 3px 0}
body.orb-canvas-workspace :is(#assemblyPanel,#engineeringPanel) header button{min-width:30px;min-height:30px;padding:4px!important}
body.orb-canvas-workspace #ow-atlas{margin: 10px; background:#20252c!important}
#investigationWorkflow{border-bottom-color:#414b58;background:#252b33}
#investigationWorkflow.chat-compact{gap:6px 8px;padding:10px 12px}
#investigationWorkflow.chat-compact>h2{font-weight:600;line-height:1.45;margin-bottom:2px}
body.orb-canvas-workspace #ow-atlas:has(#conversationFeed)>#owAtlasForm{background:#20252c}
body.orb-canvas-workspace #ow-atlas:has(#conversationFeed) #owAtlasSend{border-radius:50%!important;width:34px!important;height:34px!important;min-width:34px!important;padding:0!important;font:22px/1 'Segoe UI',sans-serif!important;background:#dcecff!important;color:#173c5d!important;border-color:#bcd9fa!important}
#composerAttachments{font:12px/1.45 'Segoe UI',sans-serif;color:#bcc8d7}#composerAttachments>p{margin:5px 0}#composerAttachments summary{padding:5px 0;cursor:pointer}#composerAttachments>div>div{border:1px solid #465362;border-radius:6px;padding:5px 7px;margin:5px 0;background:#283340}
body.orb-canvas-workspace #canvasBottom{background:#242a32;border-top-color:#46505d}
body.orb-canvas-workspace #canvasBottom>button,body.orb-canvas-workspace #canvasBottom .canvas-dock-group>summary{border:0!important;border-radius:5px!important;background:transparent!important;box-shadow:none;color:#c5cfda;min-height:32px;padding:6px 10px!important;font-size:12px!important}
body.orb-canvas-workspace #canvasBottom>button:hover,body.orb-canvas-workspace #canvasBottom .canvas-dock-group>summary:hover{background:#374352!important}
#canvasBottom .canvas-dock-menu{border-color:#657487;background:#29323d;box-shadow:0 12px 35px #0008}
body.orb-canvas-workspace #canvasBottom .canvas-dock-menu button{background:transparent!important;border-color:transparent!important;box-shadow:none;min-height:38px}
body.orb-canvas-workspace #canvasBottom .canvas-dock-menu button:hover{background:#3a4859!important}
@media(prefers-reduced-motion:reduce){body.orb-canvas-workspace button{transition:none!important}}
@media(max-width:1000px){body.orb-canvas-workspace .world-toolbar{gap:4px;padding:7px}body.orb-canvas-workspace .world-toolbar button{min-height:30px;padding:5px 8px!important}#canvasTop{gap:5px!important}#investigationWorkflow.chat-compact>button{padding:6px 8px!important}}

body.orb-canvas-workspace :is(#canvasTop,#ow-atlas,#owApp,dialog) :is(.ow-btn-primary,.orb-primary-action,button[type=submit],[data-save-offered]):not(:disabled):not([aria-disabled=true]){background:var(--orb-accent)!important;border-color:#3d98e5!important;color:#fff!important}
body.orb-canvas-workspace :is(#canvasTop,#ow-atlas,#owApp,dialog) :is(.ow-btn-primary,.orb-primary-action,button[type=submit],[data-save-offered]):hover:not(:disabled):not([aria-disabled=true]){background:#2587da!important;border-color:#7cbaff!important}

body.orb-canvas-workspace :is(#assemblyPanel,#engineeringPanel,dialog) label:has(>input[type=checkbox]){display:flex!important;align-items:flex-start;gap:8px;line-height:1.45}
body.orb-canvas-workspace :is(#assemblyPanel,#engineeringPanel,dialog) label>input[type=checkbox]{display:inline-block!important;width:auto!important;min-width:14px!important;flex:0 0 auto;margin:3px 0 0!important}

body.orb-canvas-workspace dialog:modal{inset:0!important;margin:auto!important;max-width:calc(100vw - 32px)!important;max-height:calc(100dvh - 32px)!important;overflow:auto;box-sizing:border-box}

/* DEC412 follow-up: readable unavailable controls and explicit selected state. */
body.orb-canvas-workspace :is(#canvasTop,#ow-atlas,#owApp,#worldViewport,dialog) :is(button,input[type=button],input[type=submit]):is(:disabled,[aria-disabled=true]),body.orb-canvas-workspace #ow-atlas #owAtlasSend:is(:disabled,[aria-disabled=true]){opacity:1!important;color:#9aa6b4!important;background:#29313b!important;border-color:#414b58!important;cursor:not-allowed!important;box-shadow:none!important}
body.orb-canvas-workspace :is(#canvasBottom,#owApp,#worldViewport) button:is([aria-pressed=true],[aria-current=true]):not(:disabled):not([aria-disabled=true]){background:#173f62!important;border-color:#4f93ca!important;color:#e4f2ff!important;box-shadow:inset 3px 0 0 #71baff}
body.orb-canvas-workspace :is(#assemblyPanel,#engineeringPanel,#orbSketchEditor,dialog) button{max-width:100%;white-space:normal;overflow-wrap:anywhere}

/* DEC418: supporting investigation controls yield space to dialogue. */
#investigationWorkflow .chat-investigation-header{display:flex;align-items:center;justify-content:space-between;gap:8px;position:sticky;top:-14px;z-index:2;background:#252b33;padding:4px 0;font-size:12px;font-weight:600}
#investigationWorkflow.chat-compact{display:block;padding:4px 12px;max-height:none;overflow:visible}
#investigationWorkflow.chat-compact>:not(.chat-investigation-header){display:none!important}
#investigationWorkflow.chat-compact>.chat-investigation-header{display:flex!important;position:static;padding:0}
#investigationWorkflow .chat-investigation-header button{margin:0;min-height:28px;padding:4px 9px!important}
/* DEC456: phone and small-tablet pass. One scrollable toolbar row keeps the globe clear, the terrain
 * notice becomes a single ellipsised line beneath it, the bottom dock stays a single row, and the
 * placement controls leave the dock for a floating strip on the globe (scene-handles.js moves them). */
@media(max-width:800px){
 body.orb-canvas-workspace .world-toolbar{flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;max-width:calc(100% - 24px);scrollbar-width:none;padding-bottom:8px}
 body.orb-canvas-workspace .world-toolbar::-webkit-scrollbar{display:none}
 body.orb-canvas-workspace .world-toolbar>button{flex:0 0 auto;min-height:36px}
 body.orb-canvas-workspace .world-toolbar #worldTerrainStatus{position:absolute!important;left:0;right:0;top:calc(100% - 4px);margin:0!important;max-width:none!important;width:auto!important;font-size:11px;line-height:1.3;white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;padding:2px 8px!important}
 #canvasBottom{flex-wrap:nowrap}
 #canvasBottom>label,#canvasBottom>span{display:none}
 #canvasBottom #orbHandleControl{display:none}
 #orbHandleFloat{display:flex;position:absolute;left:12px;right:12px;bottom:10px;z-index:4;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-radius:10px;background:rgba(18,26,30,.88);border:1px solid rgba(171,233,204,.25);font:12px 'Segoe UI',sans-serif;color:#dfe8e3}
 #orbHandleFloat:empty{display:none}
 #orbHandleFloat input[type=range]{width:70px}
 #owApp button,#owApp input[type=checkbox]{min-height:0}
 #canvasTop button{min-height:34px}
}
@media(min-width:801px){#orbHandleFloat{display:none}}
@media(max-width:800px) and (orientation:landscape){body.orb-canvas-workspace #owApp{grid-template-columns:minmax(0,55fr) minmax(280px,45fr)!important;grid-template-rows:minmax(0,1fr)!important}body.orb-canvas-workspace #canvasConversation{grid-column:2;grid-row:1}}
@media(max-width:800px){#orbHandleFloat .orb-handle-label,#orbHandleFloat .orb-handle-status{display:none}#orbHandleFloat.dragging .orb-handle-status{display:block;flex-basis:100%;font-size:11px;color:#abe9cc}#orbHandleFloat strong{max-width:34%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* DEC461–DEC463: place search, Layers menu and Measure on the globe; the standalone terrain button folds into Layers. */
body.orb-canvas-workspace .world-toolbar #worldSearch{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}
body.orb-canvas-workspace .world-toolbar #worldSearch input{box-sizing:border-box;width:190px;min-height:30px;padding:4px 10px;border-radius:8px;border:1px solid #596776;background:#252e39ed;color:#fff;font:inherit;font-size:13px;backdrop-filter:blur(8px)}
body.orb-canvas-workspace .world-toolbar #worldSearch input::placeholder{color:#9fb0c3}
body.orb-canvas-workspace .world-toolbar #worldSearch input:focus-visible{outline:2px solid #91d9ff;outline-offset:-1px}
body.orb-canvas-workspace .world-toolbar #worldMeasure[aria-pressed=true]{background:#354554!important;color:#fff}
body.orb-canvas-workspace #worldViewport.measuring canvas{cursor:crosshair}
body.orb-canvas-workspace .world-popover{position:absolute;z-index:20;top:62px;left:12px;box-sizing:border-box;width:min(340px,calc(100% - 24px));padding:10px 12px;border:1px solid #596776;border-radius:12px;background:#1f272fee;color:#e6edf3;font-size:13px;line-height:1.45;backdrop-filter:blur(10px);box-shadow:0 12px 35px #0008;display:flex;flex-direction:column;gap:6px}
body.orb-canvas-workspace .world-popover[hidden]{display:none}
body.orb-canvas-workspace .world-popover p{margin:0}
body.orb-canvas-workspace .world-popover .world-popover-title{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#9fb0c3;margin-top:4px}
body.orb-canvas-workspace .world-popover label{display:flex;justify-content:flex-start;align-items:center;gap:8px;min-height:30px;margin:0;padding:0;text-align:left;font-size:13px;color:#e6edf3;cursor:pointer}
body.orb-canvas-workspace .world-popover label input{flex:none;margin:0;width:16px;height:16px}
body.orb-canvas-workspace .world-popover button{min-height:32px;padding:4px 10px;border-radius:8px;border:1px solid #596776;background:#2b3542;color:#e6edf3;font:inherit;text-align:left;cursor:pointer}
body.orb-canvas-workspace .world-popover button:disabled{opacity:.45;cursor:default}
body.orb-canvas-workspace .world-popover .world-popover-actions{display:flex;flex-wrap:wrap;gap:6px}
@media(max-width:800px){body.orb-canvas-workspace .world-toolbar #worldSearch input{width:150px;min-height:36px}body.orb-canvas-workspace .world-popover{top:60px;left:8px;width:calc(100% - 16px);max-height:calc(100% - 70px);overflow-y:auto}}
