body{--menu-bg:var(--panel,#242424);--menu-text:var(--text,#e4e4e4);--menu-control:var(--control,#303030)}
:root{--paper:#d9d9d9;--paper-ink:#666666;--deep:#414b56;--selection:#e4c293;--selection-ink:#414b56}
#plan-tree-trigger{display:flex;align-items:center;gap:9px;max-width:min(440px,58vw);background:var(--menu-bg);color:var(--menu-text);border:1px solid var(--line);border-radius:8px;padding:9px 12px}#plan-tree-trigger span:first-of-type{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.plan-tree-menu,.surface-menu{position:absolute;z-index:55;background:var(--menu-bg);color:var(--menu-text);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 60px #0006;width:min(380px,calc(100% - 24px));left:16px;top:62px;max-height:calc(100% - 130px);overflow:auto;padding:10px}.plan-tree-menu[hidden],.surface-menu[hidden]{display:none}.surface-menu{top:auto;bottom:64px;width:min(310px,calc(100% - 24px))}.plan-tree-menu header{display:flex;justify-content:space-between;align-items:center;padding:3px 5px 10px;border-bottom:1px solid var(--line)}.plan-tree-menu header button{padding:5px 10px}.plan-tree-menu button,.surface-menu button,.plan-tree-menu select,.surface-menu select{color:var(--menu-text);background:var(--menu-bg)}.plan-tree-menu option,.surface-menu option{background:var(--menu-bg);color:var(--menu-text)}.tree-row{display:flex;align-items:center;min-height:38px;margin:3px 0;border-radius:6px}.tree-row.is-active{background:var(--hover,#393939)}.tree-name{flex:1;min-width:0;text-align:left;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border:0!important;background:transparent!important;padding:9px 6px!important}.tree-more,.tree-disclosure{border:0!important;background:transparent!important;padding:9px!important;min-width:32px}.tree-view{padding-left:24px}.tree-branch{color:var(--muted);width:16px}.tree-properties{border:1px solid var(--line);border-radius:8px;padding:10px;margin:4px 0 10px}.tree-item-actions{display:flex;gap:5px;padding-bottom:10px;border-bottom:1px solid var(--line)}.tree-item-actions button{font-size:11px;padding:7px}.tree-add-view{margin:4px 0 10px 36px;padding:6px 8px;font-size:11px}.plan-tree-menu footer{padding:10px 0 0;border-top:1px solid var(--line)}.plan-tree-menu footer button{width:100%;text-align:left}.display-control-title{font-size:12px;font-weight:600;margin:4px 0 12px}.display-controls>label,.display-toggles label{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0;font-size:12px}.display-controls select{max-width:160px;padding:7px}.display-toggles{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;border-block:1px solid var(--line);padding:4px 0}.display-note{font-size:11px;color:var(--muted);line-height:1.5}.display-controls>button{width:100%;padding:8px}.plan-action-dialog{width:min(380px,90vw);background:var(--menu-bg);color:var(--menu-text);border:1px solid var(--line);border-radius:12px}.plan-action-dialog form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.plan-action-dialog input{width:100%;margin-top:10px}.plan-action-dialog p{line-height:1.6}

/* One menu palette for native dropdowns, floating menus and dialog forms. */
body select,body select option,body select optgroup{background:var(--menu-control);color:var(--menu-text)}
body .plan-tree-menu,body .surface-menu,body .object-popover,body .history-panel,body .grid-menu,body .floating-tool{background:var(--menu-bg);color:var(--menu-text)}
body .plan-tree-menu select,body .surface-menu select,body .object-popover select,body dialog select{background:var(--menu-control);color:var(--menu-text)}
body .label-style-dialog{background:var(--menu-bg);color:var(--menu-text);border-color:var(--line)}
body .label-style-dialog input,body .label-style-dialog select,body .label-style-dialog button{background:var(--menu-control);color:var(--menu-text);border-color:var(--line)}
body .label-style-dialog button:hover{background:var(--hover)}
body .label-style-dialog .label-style-card.is-current,body .label-style-dialog .label-style-card.is-current:hover{background:var(--selection);color:var(--selection-ink)}
/* Selected controls inherit the shared semantic palette. */
body[data-theme]{--selection:var(--control,#343943);--selection-ink:var(--text,#f2f3f5)}
body .flow-step.active,body .tool-rail button.active,body .icon-button.active,body .icon-choice.active,body .icon-choice[aria-pressed=true],body .vehicle-group-toolbar button[aria-pressed=true],body .object-model-list button[aria-pressed=true],body .object-toolbar button[aria-pressed=true],body .object-colors button[aria-pressed=true],body #draw-panel .draw-toolbar button[aria-pressed=true],body #draw-panel .draw-toolbar button[aria-expanded=true],body #annotation-panel .annotation-toolbar button[aria-pressed=true]{background:var(--selection);color:var(--selection-ink);border-color:var(--selection)}
body .object-toolbar button:hover{color:var(--selection-ink)}
body .tree-row.is-active{background:var(--selection);color:var(--selection-ink)}
body .tree-row.is-active button{color:inherit}
body select option:checked{background:var(--selection);color:var(--selection-ink)}

/* Content-sized two-column display controls. */
body #surface-menu{width:60px;height:auto;max-height:calc(100% - 90px);padding:7px;border-radius:13px;overflow:visible;bottom:64px;left:16px}
.display-controls.display-compact{box-sizing:border-box;width:100%;height:auto;padding:0;display:flex;flex-direction:column;align-items:center;flex:none;margin:0}
#surface-menu .display-compact{width:44px;height:auto;padding:0;gap:6px}
.display-mini-styles{display:flex;gap:4px;align-items:center;width:44px;height:20px;flex:none}
.display-mini-divider{width:28px;height:1px;background:var(--line);margin:18px 0;flex:none}
.display-mini-tools{display:grid;grid-template-columns:repeat(2,20px);gap:5px 4px;flex:none}
body .display-compact .display-mini-button,.display-mini-static,.display-mini-context{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;min-height:20px;padding:0;margin:0;border:1px solid transparent;border-radius:3px;line-height:1;position:relative;flex:none;color:var(--muted);background:transparent}
body .display-compact .display-style-pill{border-radius:7px;border-color:var(--line);background:var(--menu-control)}
.display-compact svg{display:block;width:16px;height:16px;pointer-events:none;flex:none}
.display-mini-button::before{content:"";position:absolute;inset:0}
.display-mini-styles .display-mini-button::before{inset:0}
body .display-compact .display-mini-button[aria-pressed=true]{background:var(--selection);color:var(--selection-ink);border-color:var(--selection)}
body .display-compact .display-mini-button:not(:disabled):hover{border-color:var(--muted);filter:none}
.display-mini-static{opacity:.5}
.display-mini-context{margin-top:12px;opacity:.55}
.tree-properties>.display-compact{margin:8px auto 0}
.tree-display-controls{display:flex;align-items:center;justify-content:flex-end;gap:5px;flex:none;margin-left:auto;padding-left:6px}
.tree-style-capsule{display:flex;border-radius:8px;overflow:hidden;background:var(--menu-control);flex:none}
body .tree-display-controls button,.tree-display-fixed{box-sizing:border-box;display:flex;align-items:center;justify-content:center;width:15px;height:15px;min-width:15px;min-height:15px;padding:0;margin:0;line-height:1;border:0;border-radius:3px;color:var(--muted);background:transparent;flex:none}
.tree-display-controls svg{width:13px;height:11px;display:block;pointer-events:none}
body .tree-style-capsule button{border-radius:0}
body .tree-display-controls button[aria-pressed=true]{background:var(--selection);color:var(--selection-ink)}
body .tree-display-controls button:not(:disabled):hover{box-shadow:inset 0 0 0 1px var(--muted);filter:none}
.tree-display-fixed{opacity:.4}
.tree-row.is-active .tree-display-controls button{color:var(--selection-ink)}
.tree-row.is-active .tree-display-controls button[aria-pressed=true]{background:var(--selection-ink);color:var(--selection)}
.tree-row.is-active .tree-style-capsule{background:#0001}
.tree-row .tree-more{padding:7px!important;min-width:24px}
.tree-direct-actions{display:flex;gap:5px;flex:none;margin-left:8px;padding-left:8px;border-left:1px solid var(--line)}
body .tree-direct-actions button{display:flex;align-items:center;justify-content:center;width:15px;height:15px;min-width:15px;min-height:15px;padding:0;border:0;border-radius:3px;background:transparent;color:var(--muted)}
.tree-direct-actions svg{width:13px;height:11px;pointer-events:none}
body .tree-direct-actions button:not(:disabled):hover{background:var(--hover);color:var(--text);filter:none}
body .tree-direct-actions button[data-delete]:not(:disabled):hover{background:#733c3c;color:#ffd4d4}
body .tree-row.is-active .tree-direct-actions{border-color:#414b5633}
body .tree-row.is-active .tree-direct-actions button{color:var(--selection-ink)}

/* v2.3: a tab is one independent layout; views stay inside its menu. */
.topbar .plan-tabs{display:flex;align-items:center;justify-content:flex-start;flex:1;min-width:0;gap:6px;overflow-x:auto;scrollbar-width:thin;padding:7px 0;white-space:nowrap}
.plan-tab{display:flex;align-items:center;flex:none;max-width:210px;border:1px solid var(--line);border-radius:7px;background:var(--menu-control);height:31px}
body .plan-tabs .plan-tab-name{min-width:58px;max-width:180px;height:29px;padding:0 10px;border:0;border-radius:6px 0 0 6px;background:transparent;color:var(--muted);overflow:hidden;text-overflow:ellipsis;font-size:11px}
body .plan-tabs .plan-tab-menu{display:flex;align-items:center;justify-content:center;width:24px;height:29px;min-width:24px;padding:0;border:0;border-left:1px solid var(--line);border-radius:0 6px 6px 0;background:transparent;color:var(--muted)}
.plan-tab-menu svg{width:12px;height:12px;pointer-events:none}
body .plan-tab.is-active{background:var(--selection);border-color:var(--selection)}
body .plan-tab.is-active button{color:var(--selection-ink);border-color:#414b5633}
body .plan-tabs button:hover{filter:none;background:#ffffff0a}
body #plan-tree-menu{position:fixed;z-index:90;top:54px;left:220px;max-height:calc(100dvh - 72px);width:min(380px,calc(100vw - 16px));padding:9px}
#plan-tree-menu header{padding:3px 4px 9px;min-height:29px}
#plan-tree-menu .plan-menu-actions{display:flex;align-items:center;gap:10px}
body #plan-tree-menu .plan-menu-actions button,body #plan-tree-menu [data-close-tree]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;min-width:20px;min-height:20px;padding:0;margin:0;border:0;border-radius:3px;background:transparent;color:var(--menu-text);line-height:1}
.plan-menu-actions svg{width:16px;height:16px;pointer-events:none}
body #plan-tree-menu .plan-menu-actions button:hover{background:var(--hover)}
body #plan-tree-menu .plan-menu-actions button[data-plan-action=delete]:not(:disabled):hover{background:#733c3c;color:#ffd4d4}
.plan-menu-caption{font-size:10px;color:var(--muted);padding:9px 6px 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#board-actions{margin-left:auto}
body #export-pagebar[hidden]{display:none}
body .tool-rail{overflow-y:auto;scrollbar-width:thin}
@media(max-width:800px){.topbar .plan-tabs{gap:4px}.plan-tab{max-width:155px}.topbar{gap:10px}.topbar .header-end{flex:none}.plan-tab-name{max-width:125px!important}}
