/* Aspecto de MuebleLab (barra de menús, editor de propiedades, diálogos y temas).
   Valores copiados de tableros3/css/app.css + property-window.css para que las dos
   aplicaciones se vean iguales. Va el último para mandar sobre planos.css. */

/* ── Barra superior y menús ─────────────────────────────────────────── */
#topbar { background:#e4e0d8; border-bottom-color:#c8c4bc; font:13px/1.4 'Segoe UI',system-ui,sans-serif; gap:2px; }
[data-theme="dark"] #topbar { background:#2d2d30; border-bottom-color:#3a3a3d; }
#topbar .brand { color:#007acc; font-weight:600; margin-right:6px; }
.menu-bar { margin-right:6px; align-self:stretch; padding:4px 0; }
.menu-item { font-size:13px; font-weight:400; padding:0 11px; color:#333; border:0 !important; border-radius:3px; }
.menu-item:hover, .menu-item.open { background:#cac6be; color:#111; }
[data-theme="dark"] .menu-item { color:#ccc; }
[data-theme="dark"] .menu-item:hover, [data-theme="dark"] .menu-item.open { background:#4a4a4d; color:#fff; }

.menu-dropdown { min-width:210px; padding:4px 0; background:#e8e4dc; border:1px solid #c4c0b8; border-top:none; border-radius:0 0 6px 6px; box-shadow:4px 6px 16px rgba(0,0,0,.5); }
[data-theme="dark"] .menu-dropdown { background:#2d2d30; border-color:#555; }
.menu-item.open > .menu-dropdown { top:calc(100% + 4px); }
.menu-opt { padding:7px 14px; font-size:13px; color:#333; gap:24px; text-decoration:none; }
.menu-opt:hover { background:#cac6be; color:#111; }
[data-theme="dark"] .menu-opt { color:#ccc; }
[data-theme="dark"] .menu-opt:hover { background:#4a4a4d; color:#fff; }
.menu-opt:active { background:#007acc; color:#fff; }
.menu-opt.menu-danger { color:#c0392b; }
.menu-opt.menu-danger:hover { background:#c0392b; color:#fff; }
[data-theme="dark"] .menu-opt.menu-danger { color:#f66; }
.menu-opt kbd { background:none; border:0; padding:0; font-size:11px; color:#777; }
[data-theme="dark"] .menu-opt kbd { color:#888; }
.menu-opt.menu-check .menu-check-mark { color:#007acc; }
.menu-opt.ml-disabled { opacity:.45; cursor:default; }
.menu-opt.ml-disabled:hover { background:none; color:inherit; }
.menu-sep { background:#c4c0b8; margin:3px 0; }
[data-theme="dark"] .menu-sep { background:#555; }
.menu-opt { justify-content:flex-start; gap:8px; }
.menu-opt > span:not(.menu-check-mark):not(.menu-sub-arrow) { flex:1; text-align:left; }
.menu-opt > kbd { margin-left:16px; }
.menu-opt.menu-check .menu-check-mark { width:14px; margin:0; }
/* En los menús con casillas, las opciones sin casilla se alinean con el texto de las demás. */
.menu-dropdown:has(> .menu-check) > .menu-opt:not(.menu-check) { padding-left:36px; }
#menu-insertar > .menu-dropdown { max-height:calc(100vh - 60px); overflow-y:auto; }
.menu-item[hidden] { display:none !important; }

/* Submenús (Importar, Exportar, Planta, Unidades, opciones del 3D) */
.ml-sub { position:relative; }
.menu-item.open .ml-subdropdown { display:none; }
.ml-subdropdown { position:absolute; top:-5px; left:100%; border-top:1px solid #c4c0b8; border-radius:0 6px 6px 6px; z-index:2; max-height:70vh; overflow-y:auto; }
[data-theme="dark"] .ml-subdropdown { border-top-color:#555; }
.menu-item.open .ml-sub:hover > .ml-subdropdown, .menu-item.open .ml-sub.sub-open > .ml-subdropdown { display:block; }
.ml-sub > .menu-sub-arrow { margin-left:auto; color:#777; }

/* Cuenta de MuebleLab (derecha de la barra) */
#account-box { display:flex; align-items:center; margin-left:6px; align-self:stretch; padding:4px 0; }
.tb-auth-btn { background:#007acc; color:#fff; border:0; border-radius:6px; padding:3px 12px; font:inherit; font-size:12px; font-weight:600; cursor:pointer; }
.tb-auth-btn:hover { filter:brightness(1.12); }
.account-menu { font-size:12px; }
.account-menu .account-name { max-width:140px; overflow:hidden; text-overflow:ellipsis; }
.account-menu .account-name::before { content:''; display:inline-block; width:8px; height:8px; border-radius:50%; background:#27ae60; margin-right:6px; vertical-align:1px; }
.menu-dropdown.menu-dropdown-right { left:auto; right:0; border-radius:0 0 6px 6px; }
#storage-status { font-size:11px; color:#666; max-width:300px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
[data-theme="dark"] #storage-status { color:#999; }
#btn-theme-toggle { background:transparent; border:0; color:#444; }
#btn-theme-toggle:hover { background:#cac6be; }
[data-theme="dark"] #btn-theme-toggle { color:#ccc; }
[data-theme="dark"] #btn-theme-toggle:hover { background:#4a4a4d; }

/* ── Zona de trabajo ────────────────────────────────────────────────── */
/* La barra de construcción vive ahora en el menú «Construcción». */
#building-toolbar.ml-proxied { display:none !important; }
#status-floor select, #status-units select { font-size:.72rem; max-width:170px; }
#app { grid-template-columns:minmax(0,1fr); }
#statusbar { overflow:hidden; }
#statusbar .status-item { white-space:nowrap; min-width:0; }
#statusbar #status-sel { overflow:hidden; text-overflow:ellipsis; max-width:28vw; }
#statusbar #status-hint { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1 1 0; text-align:right; }
[data-theme="dark"] #statusbar select { background:#2a2a2a; color:#e0e0e0; border:1px solid #444; }
#status-floor label { color:var(--text-muted); margin-right:4px; }

/* Selector de vistas como el de MuebleLab: arriba a la izquierda, activo en naranja. */
#plan-view-switcher { left:8px; transform:none; top:calc(var(--topbar-h) + 8px); border-color:#3a3e4a; }
#plan-view-switcher button { background:#1a1d24; color:#ccc; padding:4px 10px; font-size:12px; }
#plan-view-switcher button[aria-pressed="true"] { background:#ff9c3a; color:#1a1d24; font-weight:600; }
#plan-view-switcher button:hover:not([aria-pressed="true"]) { background:#2a2f3a; }

/* Vista 3D: solo los modos de cámara quedan en pantalla; el resto, en el menú «3D». */
#viewer3d-panel .v3d-toolbar:not(#v3d-controls) > label,
#viewer3d-panel .v3d-toolbar:not(#v3d-controls) > :is(button,select):not(#v3d-fit,#v3d-dollhouse,#v3d-top,#v3d-walk,#v3d-close,#v3d-route-stop,#v3d-elevation-side),
#viewer3d-panel .v3d-recording-controls:not(.is-recording) { display:none !important; }
#viewer3d-panel .v3d-toolbar:not(#v3d-controls):not(:has(> #v3d-fit)):not(:has(> :is(#v3d-vision:not([hidden]),#v3d-route-stop:not([hidden]),#v3d-elevation-side:not([hidden]),.v3d-recording-controls.is-recording))) { display:none !important; }
#viewer3d-panel .v3d-toolbar:not(#v3d-controls) { gap:2px; }
#viewer3d-panel .v3d-toolbar strong { font-size:12px; font-weight:600; margin-right:6px; }

/* ── Barra vertical de objetos: todos los usados, con scroll ───────── */
#recent-objects { width:104px; background:#fff; border-color:#bbb; border-radius:6px; box-shadow:0 8px 28px rgba(0,0,0,.22); }
[data-theme="dark"] #recent-objects { background:#1e1e1e; border-color:#3a3a3a; }
#recent-objects .recent-header { background:#f0eee8; border-bottom-color:#ddd; padding:5px 6px 5px 8px; }
[data-theme="dark"] #recent-objects .recent-header { background:#2a2a2a; border-bottom-color:#3a3a3a; }
#recent-objects .recent-header button { font-size:12px; color:#333; text-align:left; padding:0; }
[data-theme="dark"] #recent-objects .recent-header button { color:#ddd; }
#recent-objects .recent-slots { flex:1 1 auto; gap:4px; padding:5px 4px 5px 5px; scrollbar-width:thin; scrollbar-gutter:stable; }
#recent-objects .recent-use { height:58px; padding:2px; background:#faf9f6; border-color:#ddd; border-radius:4px; }
#recent-objects .recent-use canvas, #recent-objects .recent-use img { width:56px; height:34px; }
#recent-objects .recent-use:hover { border-color:#007acc; background:#fff; }
[data-theme="dark"] #recent-objects .recent-use { background:#252525; border-color:#3a3a3a; }
[data-theme="dark"] #recent-objects .recent-use:hover { border-color:#007acc; background:#2a2a2a; }
#recent-objects .recent-count { position:absolute; left:3px; top:2px; font-size:9px; font-weight:600; color:#007acc; pointer-events:none; }
#recent-objects .recent-remove { opacity:0; background:transparent; }
#recent-objects .recent-slot:hover .recent-remove, #recent-objects .recent-remove:focus-visible { opacity:1; }
#recent-objects .recent-empty { border:1px dashed #bbb; border-radius:4px; background:transparent; color:#777; font:inherit; font-size:10px; line-height:1.35; padding:8px 4px; cursor:pointer; }
[data-theme="dark"] #recent-objects .recent-empty { border-color:#444; color:#999; }

/* ── Editor de propiedades: igual que el de MuebleLab ──────────────── */
#props-panel.quick-panel, .quick-panel.ml-property-window { --bg:#fff; --bg-alt:#f0eee8; background:#fff; border-color:#bbb; color:#222; font-size:13px; }
.quick-panel.ml-property-window .quick-panel__header { background:#f0eee8; border-bottom-color:#ddd; padding:6px 8px 6px 10px; min-height:0; }
.quick-panel.ml-property-window .quick-panel__title { color:#333; font-size:12px; font-weight:600; }
.quick-panel.ml-property-window .quick-panel__body { background:#fff; padding:6px; }
.quick-panel.ml-property-window .prop-section { border:1px solid #ddd; border-radius:3px; margin-bottom:2px; }
.quick-panel.ml-property-window .prop-section-title { background:#e0e0e0; color:#444; padding:5px 8px; font-size:11px; font-weight:700; }
.quick-panel.ml-property-window .prop-section-title:hover { background:#d4d4d4; }
.quick-panel.ml-property-window .prop-section-arrow { color:#666; }
#props-panel.ml-property-window .prop-section-body { padding:0; }
#props-panel.ml-property-window .prop-row { border-top:1px solid #eee; padding:3px 8px; min-height:0; }
#props-panel.ml-property-window .prop-row .prop-label, #props-panel.ml-property-window .prop-row > label:first-child { flex:0 0 100px; font-size:11px; color:#555; }
#props-panel.ml-property-window .prop-row .prop-value { gap:3px; font-size:11px; }
#props-panel.ml-property-window .prop-value input[type="number"],
#props-panel.ml-property-window .prop-value input[type="text"],
#props-panel.ml-property-window .prop-row input[type="number"],
#props-panel.ml-property-window .prop-row input[type="text"],
#props-panel.ml-property-window .prop-row select { width:100%; height:auto; padding:2px 4px; border:1px solid #ccc; border-radius:2px; background:#fff; color:#222; font:inherit; font-size:11px; text-align:left; box-shadow:none; }
#props-panel.ml-property-window input[type="number"] { -moz-appearance:textfield; }
#props-panel.ml-property-window input[type="number"]::-webkit-inner-spin-button,
#props-panel.ml-property-window input[type="number"]::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
#props-panel.ml-property-window .prop-row input:focus, #props-panel.ml-property-window .prop-row select:focus { outline:none; border-color:#007acc; }
#props-panel.ml-property-window .prop-row input[readonly] { background:#f5f5f5; color:#666; }
#props-panel.ml-property-window .prop-value > span, #props-panel.ml-property-window .prop-row > span:last-child:not(.prop-value), #props-panel.ml-property-window .prop-unit { font-size:10px; color:#888; flex-shrink:0; }
#props-panel.ml-property-window .prop-row input[type="checkbox"] { width:14px; height:14px; accent-color:#007acc; }
#props-panel.ml-property-window .prop-row input[type="color"] { width:36px; height:20px; padding:1px; border:1px solid #ccc; border-radius:2px; background:none; }
#props-panel.ml-property-window .selection-note { font-size:10px; color:#999; font-style:italic; margin:4px 6px 6px; }
/* Botones de acción con el aspecto de los .btn-group de MuebleLab */
#props-panel.ml-property-window .props-actions, #props-panel.ml-property-window .thick-presets { display:flex; flex-wrap:wrap; gap:2px; padding:4px 8px; margin:0; border-top:1px solid #eee; }
#props-panel.ml-property-window .props-actions button, #props-panel.ml-property-window .thick-presets button, #props-panel.ml-property-window .prop-section-body > button:not(#props-del) { flex:1; min-width:0; padding:2px 6px; margin:0; border:1px solid #ccc; border-radius:2px; background:#fff; color:#222; font:inherit; font-size:11px; cursor:pointer; white-space:nowrap; }
#props-panel.ml-property-window .props-actions button:hover, #props-panel.ml-property-window .thick-presets button:hover { background:#e8e8e8; }
#props-panel.ml-property-window .thick-presets button.active { background:#007acc; border-color:#007acc; color:#fff; }
#props-panel.ml-property-window #props-del { margin:6px 8px; width:calc(100% - 16px); padding:3px 8px; border:1px solid #e0aaaa; border-radius:2px; background:#fff5f5; color:#c00; font:inherit; font-size:11px; cursor:pointer; }
#props-panel.ml-property-window #props-del:hover { background:#ffe0e0; border-color:#c00; }

/* Desplegable de MuebleLab (.prop-cselect) en lugar del <select> nativo */
select.prop-cselect-native { position:absolute !important; width:1px !important; height:1px !important; opacity:0; pointer-events:none; margin:0; padding:0; border:0; }
.prop-cselect { position:relative; flex:1; width:100%; box-sizing:border-box; display:flex; align-items:center; gap:4px; padding:2px 4px; border:1px solid #ccc; border-radius:2px; font:inherit; font-size:11px; background:#fff; color:#222; cursor:pointer; user-select:none; min-width:0; }
.prop-cselect:focus, .prop-cselect.open { outline:none; border-color:#007acc; }
.prop-cselect.disabled { opacity:.55; cursor:default; }
.prop-cselect-label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.prop-cselect-arrow { flex:none; font-size:9px; opacity:.6; }
.prop-cselect-menu { position:fixed; z-index:100000; max-height:280px; overflow-y:auto; background:#fff; border:1px solid #bbb; border-radius:4px; box-shadow:0 6px 18px rgba(0,0,0,.25); font:11px 'Segoe UI',system-ui,sans-serif; padding:2px; }
.prop-cselect-item { padding:4px 8px; border-radius:3px; cursor:pointer; white-space:nowrap; color:#222; }
.prop-cselect-item:hover { background:rgba(0,122,204,.12); }
.prop-cselect-item.sel { background:rgba(0,122,204,.18); font-weight:600; }

/* Oscuro (MuebleLab usa body.dark; aquí valen los dos marcadores) */
:is(body.dark, [data-theme="dark"]) #props-panel.quick-panel,
:is(body.dark, [data-theme="dark"]) .quick-panel.ml-property-window { --bg:#1e1e1e; --bg-alt:#252525; --text-muted:#8a8a8a; background:#1e1e1e; border-color:#3a3a3a; color:#e0e0e0; }
:is(body.dark, [data-theme="dark"]) .quick-panel.ml-property-window .quick-panel__header { background:#2a2a2a; border-bottom-color:#3a3a3a; }
:is(body.dark, [data-theme="dark"]) .quick-panel.ml-property-window .quick-panel__title { color:#ddd; }
:is(body.dark, [data-theme="dark"]) .quick-panel.ml-property-window .quick-panel__body { background:#1e1e1e; }
:is(body.dark, [data-theme="dark"]) .quick-panel.ml-property-window .quick-panel__btn:hover { background:rgba(255,255,255,.06); border-color:#4a4a4a; }
:is(body.dark, [data-theme="dark"]) .quick-panel.ml-property-window .prop-section { border-color:#3a3a3a; }
:is(body.dark, [data-theme="dark"]) .quick-panel.ml-property-window .prop-section-title { background:#2a2a2a; color:#ccc; }
:is(body.dark, [data-theme="dark"]) .quick-panel.ml-property-window .prop-section-title:hover { background:#323232; }
:is(body.dark, [data-theme="dark"]) .quick-panel.ml-property-window .prop-section-arrow { color:#888; }
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window .prop-row { border-top-color:#2e2e2e; }
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window .prop-row .prop-label,
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window .prop-row > label:first-child { color:#999; }
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window .prop-row :is(input[type="number"],input[type="text"],select) { background:#2a2a2a; color:#e0e0e0; border-color:#444; }
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window .prop-row input[readonly] { background:#242424; color:#999; }
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window :is(.props-actions,.thick-presets) { border-top-color:#2e2e2e; }
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window :is(.props-actions,.thick-presets) button,
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window .prop-section-body > button:not(#props-del) { background:#2a2a2a; color:#ccc; border-color:#444; }
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window :is(.props-actions,.thick-presets) button:hover { background:#3a3a3d; }
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window #props-del { background:#553333; border-color:#884444; color:#faa; }
:is(body.dark, [data-theme="dark"]) #props-panel.ml-property-window #props-del:hover { background:#cc0000; border-color:#cc0000; color:#fff; }
:is(body.dark, [data-theme="dark"]) .prop-cselect { background:#2a2a2a; color:#e0e0e0; border-color:#444; }
:is(body.dark, [data-theme="dark"]) .prop-cselect-menu { background:#252526; border-color:#3a3a3a; box-shadow:0 6px 18px rgba(0,0,0,.5); }
:is(body.dark, [data-theme="dark"]) .prop-cselect-item { color:#e0e0e0; }
:is(body.dark, [data-theme="dark"]) .prop-cselect-item:hover { background:rgba(0,122,204,.25); }
:is(body.dark, [data-theme="dark"]) .prop-cselect-item.sel { background:rgba(0,122,204,.35); }

/* ── Diálogos (entrar, abrir/guardar en el servidor, acerca de) ────── */
.ml-dialog { position:fixed; inset:0; margin:auto; height:fit-content; width:min(440px,calc(100vw - 32px)); max-height:calc(100dvh - 40px); padding:0; border:1px solid #bbb; border-radius:6px; background:#fff; color:#222; box-shadow:0 8px 28px rgba(0,0,0,.22); font:13px/1.4 'Segoe UI',system-ui,sans-serif; overflow:hidden; }
.ml-dialog[open] { display:flex; flex-direction:column; }
.ml-dialog > form { display:flex; flex-direction:column; min-height:0; }
.ml-dialog::backdrop { background:rgba(0,0,0,.35); }
.ml-dialog__header { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:6px 8px 6px 12px; background:#f0eee8; border-bottom:1px solid #ddd; font-size:12px; font-weight:600; color:#333; }
.ml-dialog__body { padding:12px; display:flex; flex-direction:column; gap:10px; overflow:auto; }
.ml-dialog__body p { margin:0; }
.ml-dialog label { display:flex; flex-direction:column; gap:4px; font-size:12px; color:#555; }
.ml-dialog label.ml-check { flex-direction:row; align-items:center; gap:6px; }
.ml-dialog input:not([type=checkbox]) { padding:5px 7px; border:1px solid #ccc; border-radius:3px; font:inherit; background:#fff; color:#222; }
.ml-dialog input:focus { outline:none; border-color:#007acc; }
.ml-dialog__lead { color:#444; }
.ml-dialog__hint { font-size:11px; color:#888; }
.ml-dialog__hint a { color:#007acc; }
.ml-dialog__error { margin:0 12px; padding:6px 8px; border-radius:3px; background:#fff0f0; color:#b00; font-size:12px; }
.ml-dialog__body .ml-dialog__error { margin:0; }
.ml-dialog__footer { display:flex; align-items:center; gap:6px; padding:8px 12px; border-top:1px solid #eee; background:#faf9f6; }
.ml-grow { flex:1; }
.ml-btn { padding:4px 12px; border:1px solid #ccc; border-radius:4px; background:#fff; color:#222; font:inherit; font-size:12px; cursor:pointer; }
.ml-btn:hover { background:#e8e8e8; }
.ml-btn--primary { background:#007acc; border-color:#007acc; color:#fff; font-weight:600; }
.ml-btn--primary:hover { background:#0067ad; }
.ml-btn:disabled { opacity:.5; cursor:default; }
.ml-fb { width:min(620px,calc(100vw - 32px)); height:min(520px,calc(100dvh - 40px)); }
.ml-dialog input:not([type=checkbox]) { margin:0; width:100%; box-sizing:border-box; }
.ml-fb__name input { width:auto; }
.ml-fb__bar { display:flex; align-items:center; gap:8px; padding:8px 12px; border-bottom:1px solid #eee; }
.ml-fb__crumbs { flex:1; min-width:0; display:flex; align-items:center; gap:4px; flex-wrap:wrap; font-size:12px; color:#888; }
.ml-fb__crumbs button { border:0; background:none; color:#007acc; font:inherit; cursor:pointer; padding:2px 3px; border-radius:3px; }
.ml-fb__crumbs button[aria-current] { color:#222; font-weight:600; cursor:default; }
.ml-fb__list { flex:1; min-height:0; overflow:auto; padding:4px 6px; outline:none; }
.ml-fb__row { display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:4px; cursor:pointer; }
.ml-fb__row:hover { background:rgba(0,122,204,.08); }
.ml-fb__row[aria-selected="true"] { background:rgba(0,122,204,.18); }
.ml-fb__icon { width:18px; height:14px; flex-shrink:0; text-align:center; color:#888; font-size:13px; line-height:14px; }
.ml-fb__icon--folder { background:linear-gradient(#e2b55c,#d39f3c); border-radius:2px; position:relative; }
.ml-fb__icon--folder::before { content:''; position:absolute; left:0; top:-3px; width:8px; height:4px; background:#d39f3c; border-radius:2px 2px 0 0; }
.ml-fb__icon--plan { border:1.5px solid #007acc; border-radius:2px; background:linear-gradient(90deg,transparent 45%,#007acc 45%,#007acc 55%,transparent 55%),linear-gradient(transparent 45%,#007acc 45%,#007acc 55%,transparent 55%); }
.ml-fb__label { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ml-fb__meta { font-size:11px; color:#888; white-space:nowrap; }
.ml-fb__del { border:0; background:none; color:#999; cursor:pointer; font-size:14px; padding:0 4px; opacity:0; }
.ml-fb__row:hover .ml-fb__del, .ml-fb__del:focus-visible { opacity:1; }
.ml-fb__del:hover { color:#c00; }
.ml-fb__empty { padding:24px 12px; text-align:center; color:#999; font-size:12px; margin:0; }
.ml-fb__name { flex-direction:row !important; align-items:center; gap:8px !important; padding:8px 12px; border-top:1px solid #eee; }
.ml-fb__name input { flex:1; }

[data-theme="dark"] .ml-dialog { background:#1e1e1e; color:#e0e0e0; border-color:#3a3a3a; }
[data-theme="dark"] .ml-dialog__header { background:#2a2a2a; border-bottom-color:#3a3a3a; color:#ddd; }
[data-theme="dark"] .ml-dialog label { color:#aaa; }
[data-theme="dark"] .ml-dialog input:not([type=checkbox]) { background:#2a2a2a; color:#e0e0e0; border-color:#444; }
[data-theme="dark"] .ml-dialog__lead { color:#ccc; }
[data-theme="dark"] .ml-dialog__footer { background:#252525; border-top-color:#2e2e2e; }
[data-theme="dark"] .ml-dialog__error { background:#3a2020; color:#faa; }
[data-theme="dark"] .ml-btn { background:#2a2a2a; color:#ddd; border-color:#444; }
[data-theme="dark"] .ml-btn:hover { background:#3a3a3d; }
[data-theme="dark"] .ml-btn--primary { background:#007acc; border-color:#007acc; color:#fff; }
[data-theme="dark"] .ml-fb__bar, [data-theme="dark"] .ml-fb__name { border-color:#2e2e2e; }
[data-theme="dark"] .ml-fb__crumbs button[aria-current] { color:#eee; }

@media (max-width:768px) {
  #statusbar > .status-item:not(#status-floor):not(:first-of-type), #statusbar #status-hint, #status-units { display:none; }
  .ml-subdropdown { position:static; border:0; box-shadow:none; padding-left:12px; }
  #plan-view-switcher { top:calc(var(--topbar-h) + 6px); }
}

/* The map scale belongs to the 2D plan; in 3D it sat under the walking hints. */
body.shared-view #map-scale-widget { display:none !important; }
