/* Compartir (author dialogs) and the shared phone viewer (html.share-mode). */
.ml-share { width:min(520px,calc(100vw - 32px)); }
.ml-share__features { border:1px solid #ddd; border-radius:4px; padding:6px 10px; display:grid; gap:4px; }
.ml-share__features legend { font-size:12px; color:#555; padding:0 4px; }
.ml-share__what { font-size:12px; color:#555; }
.ml-share__result { display:grid; gap:8px; }
.ml-share__result img { width:100%; border-radius:6px; border:1px solid #ddd; aspect-ratio:1200/630; object-fit:cover; }
.ml-share__url { display:flex; gap:6px; }
.ml-share__url input { flex:1; min-width:0; }
.ml-share__go { display:flex; gap:6px; flex-wrap:wrap; }
.ml-share__go a { text-decoration:none; text-align:center; }
.ml-share-list { width:min(640px,calc(100vw - 32px)); }
.ml-share-items { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.ml-share-items li { display:grid; gap:6px; padding:8px 10px; border:1px solid #ddd; border-radius:4px; }
.ml-share-items li.is-off { opacity:.6; }
.ml-share-items li div:first-child { display:grid; gap:2px; min-width:0; }
.ml-share-items small { color:#777; }
.ml-share-items a { color:#007acc; font-size:12px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ml-share-actions { display:flex; gap:6px; flex-wrap:wrap; }
#room-view-chip button[data-share] { background:#007acc; }
[data-theme="dark"] .ml-share__features, [data-theme="dark"] .ml-share-items li, [data-theme="dark"] .ml-share__result img { border-color:#3a3a3a; }

/* ── Shared viewer: full screen, fingers only ─────────────────────── */
html.share-mode { --topbar-h:0px; --statusbar-h:0px; }
html.share-mode, html.share-mode body { overscroll-behavior:none; touch-action:none; }
html.share-mode #topbar, html.share-mode #statusbar, html.share-mode #plan-view-switcher, html.share-mode #recent-objects,
html.share-mode #room-view-chip, html.share-mode #props-panel, html.share-mode #mobile-menu, html.share-mode #install-editor,
html.share-mode #ctx-menu, html.share-mode #map-scale-widget, html.share-mode #building-toolbar, html.share-mode #v3d-status,
html.share-mode #viewer3d-panel .v3d-toolbar:not(#v3d-controls), html.share-mode .quick-panel:not(.ml-dialog) { display:none !important; }
html.share-mode #app { display:block; height:100dvh; }
html.share-mode #canvas-wrap { position:fixed !important; inset:0 !important; width:100vw; height:100dvh; }
html.share-mode body.shared-view #viewer3d-panel, html.share-mode #viewer3d-panel { inset:0 !important; width:100% !important; height:100dvh; box-shadow:none; }
html.share-mode #v3d-controls { position:fixed; left:0; right:0; bottom:calc(64px + env(safe-area-inset-bottom,0px)); background:transparent; border:0; justify-content:center; }
html.share-mode #v3d-controls span { display:none; }
/* One set of walking arrows: the step cross, above the bottom bar (the hold-to-walk row overlapped it). */
html.share-mode #v3d-controls { display:none !important; }
html.share-mode #v3d-step-nav { position:fixed; bottom:calc(84px + env(safe-area-inset-bottom,0px)); }
html.share-mode #viewer3d-panel:not(.is-walking) #v3d-controls, html.share-mode #viewer3d-panel:not(.is-walking) #v3d-step-nav { display:none !important; }
@media (max-width:400px){ #share-ui .sv-bar { gap:4px; padding-left:6px; padding-right:6px; } #share-ui .sv-bar button { padding:0 7px; font-size:13px; } }
html.share-mode #v3d-controls button, html.share-mode #v3d-step-nav button { min-width:48px; min-height:48px; font-size:20px; border-radius:10px; }
html.share-mode #v3d-step-nav span { display:none; }
#share-ui { font:15px/1.4 'Segoe UI',system-ui,sans-serif; color:#fff; }
#share-ui .sv-top { position:fixed; top:calc(10px + env(safe-area-inset-top,0px)); left:12px; right:12px; z-index:30000; display:flex; align-items:center; justify-content:space-between; gap:10px; pointer-events:none; }
#share-ui .sv-title { padding:7px 12px; border-radius:10px; background:rgba(26,29,36,.78); max-width:70%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }
#share-ui .sv-brand { pointer-events:auto; padding:7px 10px; border-radius:10px; background:rgba(26,29,36,.78); color:#ff9c3a; text-decoration:none; font-weight:600; font-size:13px; }
#share-ui .sv-msg { position:fixed; top:calc(62px + env(safe-area-inset-top,0px)); left:50%; transform:translateX(-50%); z-index:30000; margin:0; padding:8px 14px; border-radius:20px; background:rgba(26,29,36,.86); max-width:calc(100vw - 32px); text-align:center; }
#share-ui .sv-bar { position:fixed; left:0; right:0; bottom:0; z-index:30000; display:flex; gap:6px; overflow-x:auto; padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px)); background:rgba(26,29,36,.88); scrollbar-width:none; }
#share-ui .sv-bar button { flex:1 1 auto; min-height:48px; padding:0 10px; font-size:14px; border:0; border-radius:10px; background:#2f3542; color:#fff; font:inherit; font-weight:600; white-space:nowrap; }
#share-ui .sv-bar button[aria-pressed="true"] { background:#ff9c3a; color:#1a1d24; }
#share-ui .sv-bar button[data-restore] { background:#007acc; }
#share-ui .sv-sheet { position:fixed; left:0; right:0; bottom:calc(64px + env(safe-area-inset-bottom,0px)); z-index:30001; padding:10px 12px 12px; background:rgba(26,29,36,.94); border-radius:14px 14px 0 0; }
#share-ui .sv-sheet[hidden] { display:none; }
#share-ui .sv-sheet-head { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
#share-ui .sv-sheet-head button { min-width:44px; min-height:44px; border:0; border-radius:10px; background:#2f3542; color:#fff; font-size:20px; }
#share-ui .sv-rooms { display:flex; flex-wrap:wrap; gap:8px; max-height:calc(100dvh - 260px); overflow-y:auto; padding-bottom:4px; }
#share-ui .sv-rooms .sv-rooms-all { flex-basis:100%; background:#3b4252; }
#share-ui .sv-rooms-go { width:100%; margin-top:10px; }
#share-ui .sv-rooms-go:disabled { opacity:.45; }
#share-ui .sv-rooms button { flex:0 1 auto; min-height:44px; padding:0 14px; border:0; border-radius:22px; background:#2f3542; color:#fff; font:inherit; }
#share-ui .sv-rooms button[aria-pressed="true"] { background:#ff9c3a; color:#1a1d24; font-weight:600; }
@media (min-width:900px){ #share-ui .sv-bar { left:50%; right:auto; transform:translateX(-50%); bottom:16px; border-radius:14px; padding:8px; } #share-ui .sv-bar button { flex:0 0 auto; } #share-ui .sv-sheet { left:50%; right:auto; transform:translateX(-50%); width:min(720px,calc(100vw - 32px)); bottom:84px; border-radius:14px; } html.share-mode #v3d-controls { bottom:90px; } }
/* Editar en el ordenador */
#share-ui .sv-copy { max-height:calc(100dvh - 140px); overflow:auto; }
#share-ui .sv-copy-body { display:grid; gap:10px; }
#share-ui .sv-copy-body p { margin:0; }
#share-ui .sv-tabs { display:flex; gap:6px; }
#share-ui .sv-tabs button { flex:1; min-height:44px; border:0; border-radius:10px; background:#2f3542; color:#fff; font:inherit; }
#share-ui .sv-tabs button[aria-pressed="true"] { background:#ff9c3a; color:#1a1d24; font-weight:600; }
#share-ui .sv-form { display:grid; gap:8px; }
#share-ui .sv-form[hidden] { display:none; }
#share-ui .sv-form label { display:grid; gap:4px; font-size:14px; color:#ccc; }
#share-ui .sv-form input { min-height:44px; padding:0 12px; border:1px solid #444; border-radius:10px; background:#11141a; color:#fff; font:16px 'Segoe UI',system-ui,sans-serif; }
#share-ui .sv-primary, #share-ui .sv-secondary { display:flex; align-items:center; justify-content:center; min-height:48px; border:0; border-radius:10px; font:inherit; font-weight:600; text-decoration:none; text-align:center; }
#share-ui .sv-primary { background:#007acc; color:#fff; }
#share-ui .sv-secondary { background:#25d366; color:#08321a; }
#share-ui .sv-actions { display:grid; gap:8px; }
#share-ui .sv-ok { font-weight:600; color:#7ee2a8; }
#share-ui .sv-error { color:#ff9a9a; }
#share-ui .sv-error[hidden] { display:none; }
html.share-mode #share-ui input { touch-action:manipulation; }
