/* Scoped v1.3.4.7; does not override existing application styles */
.mx360-shortcut{position:fixed;right:12px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:10080;padding:10px 12px;background:#03475D;color:#fff;border:1px solid #ffd65b;border-radius:999px;box-shadow:0 3px 15px #001e2b90;font-size:13px;font-weight:500;line-height:1.25;min-height:42px}
.mx360-shortcut:focus-visible,.mx360-overlay button:focus-visible,.mx360-upload:focus-visible{outline:3px solid #ffd65b;outline-offset:2px}
.mx360-overlay[hidden]{display:none!important}
.mx360-overlay{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:center;justify-content:center;background:#001b28ef;padding:max(8px,env(safe-area-inset-top,0px)) 8px max(8px,env(safe-area-inset-bottom,0px));overflow:auto;color:#fff;font-family:inherit}
.mx360-panel{width:min(100%,920px);max-height:100%;display:flex;flex-direction:column;min-height:0;background:#03475D;border:1px solid #407b8c;border-radius:15px;overflow:hidden;box-shadow:0 16px 45px #001621a1}
.mx360-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#00384a}
.mx360-header strong{display:block;font-size:17px;font-weight:500;color:#fff}.mx360-header small{display:block;color:#ecf8fb;font-size:11px;font-weight:300}.mx360-overlay button{border:1px solid #40798a;background:#09576b;color:white;border-radius:9px;padding:9px 10px;min-height:39px;font-size:12px;font-weight:400}
.mx360-overlay button:active{background:#f94301}.mx360-overlay .mx360-close{font-size:24px;border:0;background:transparent;min-width:40px}
.mx360-filebar{display:flex;gap:10px;align-items:center;padding:10px 12px}.mx360-upload{border-radius:9px;padding:10px 12px;background:#ffe07a;color:#002d3d;font-size:13px;white-space:nowrap;font-weight:500;cursor:pointer}.mx360-filebar input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.mx360-filename{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:#fff}
.mx360-stage{position:relative;width:100%;min-height:180px;height:min(48vh,480px);background:radial-gradient(circle at 50% 50%,#0a6079,#002a3e);flex-shrink:1;overflow:hidden}
.mx360-stage canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-4px}.mx360-stage canvas:active{cursor:grabbing}.mx360-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;text-align:center;font-size:17px;font-weight:400;color:#fff}.mx360-empty small{font-size:12px;color:#fff}
.mx360-loaded .mx360-empty{display:none}
.mx360-toolbar{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;padding:10px 9px 4px}.mx360-toolbar button{flex:0 0 auto}.mx360-zoom{display:flex;align-items:center;gap:10px;padding:10px 13px;color:#fff;font-size:12px}.mx360-zoom input{accent-color:#ffd65b;min-width:60px;max-width:230px;flex:1}.mx360-pixels{font-size:10px;color:#e6f3f6;flex:1;text-align:right}
.mx360-status{font-size:12px;margin:0 13px 6px;min-height:19px;color:#fff}.mx360-status[data-error="1"]{color:#ffe07a}.mx360-disclaimer{margin:0;padding:0 13px 12px;color:#e6f3f6;font-size:11px;font-weight:300}
.mx360-loaded .mx360-shortcut{display:none}
.mx360-overlay:fullscreen{padding:0}.mx360-overlay:fullscreen .mx360-panel{width:100%;max-width:none;max-height:none;height:100%;border-radius:0}.mx360-overlay:fullscreen .mx360-stage{flex:1;height:auto}
@media(max-width:390px){.mx360-overlay{padding:4px}.mx360-toolbar{gap:5px}.mx360-toolbar button{font-size:11px;padding:8px}.mx360-stage{height:min(42vh,380px)}.mx360-zoom{flex-wrap:wrap}.mx360-shortcut{right:8px;bottom:calc(70px + env(safe-area-inset-bottom,0px));font-size:12px}}
@media(max-height:560px){.mx360-panel{overflow-y:auto}.mx360-stage{height:45vh;min-height:150px}.mx360-header{padding:6px 10px}}
/* 1.3.4.8: compact rooms and clickable panorama connections, scoped */
.mx360-scene-list{display:flex;align-items:stretch;gap:5px;padding:2px 10px 8px;overflow-x:auto;flex-shrink:0;scrollbar-width:thin}
.mx360-scene{display:flex;gap:3px;flex:0 0 auto;max-width:210px}
.mx360-overlay .mx360-scene-open{max-width:154px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mx360-overlay .mx360-scene-open[aria-current="true"]{background:#ffe07a;color:#002e3d;border-color:#ffe07a}
.mx360-overlay .mx360-scene button:not(.mx360-scene-open){padding:5px;font-size:10px;min-width:40px}
.mx360-scene-edit,.mx360-transition{display:flex;align-items:center;gap:8px;padding:3px 11px 9px;font-size:12px;color:white;flex-shrink:0}
.mx360-scene-edit input,.mx360-transition select{flex:1;min-width:0;width:100%;border:1px solid #6c9aaa;background:#fff;color:#092b34;border-radius:7px;padding:8px 9px;font-size:12px;min-height:38px}
.mx360-scene-edit label,.mx360-transition label{white-space:nowrap}
.mx360-overlay .mx360-add-link[aria-pressed="true"]{background:#ffe07a;color:#002e3d}
.mx360-overlay .mx360-add-link:disabled{opacity:.55;cursor:not-allowed}
.mx360-marker-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.mx360-overlay .mx360-hotspot{pointer-events:auto;position:absolute;transform:translate(-50%,-50%);font-size:12px;padding:7px 9px;min-height:34px;max-width:165px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:#ffe07a;color:#003c4b;border:2px solid #fff;box-shadow:0 2px 10px #002a3cbb;z-index:3}
.mx360-hotspot[hidden]{display:none!important}
.mx360-link-list{display:flex;gap:6px;overflow-x:auto;padding:0 11px;min-height:3px;flex-shrink:0}
.mx360-link-row{display:flex;align-items:center;gap:4px;white-space:nowrap;font-size:11px;color:#fff}
.mx360-overlay .mx360-link-row button{padding:5px;min-height:28px;font-size:10px}
@media(max-width:390px){.mx360-scene-edit,.mx360-transition{gap:5px;padding:2px 8px 6px;font-size:11px}.mx360-overlay .mx360-add-link{padding:6px;font-size:11px}.mx360-scene-list{padding:2px 8px 5px}.mx360-stage{min-height:150px;height:min(36vh,330px)}}
@media(max-height:650px){.mx360-stage{min-height:145px;height:35vh}.mx360-filebar,.mx360-zoom{padding-top:5px;padding-bottom:5px}}
/* When the Android keyboard or landscape viewport reduces height, keep every action reachable. */
.mx360-panel{overflow-y:auto;overscroll-behavior:contain}
.mx360-stage{flex-shrink:0}

/* v1.3.4.9: standard image import; real flat photo stage vs spherical WebGL. */
.mx360-stage #mx360-canvas,.mx360-stage #mx360-flat{position:absolute;inset:0;width:100%;height:100%}
.mx360-stage #mx360-flat[hidden],.mx360-stage #mx360-canvas[hidden]{display:none!important}
.mx360-scene-edit select{border:1px solid #6c9aaa;background:#fff;color:#092b34;border-radius:7px;padding:8px 5px;font-size:12px;min-height:38px;max-width:100px}
.mx360-scene-edit input{flex:1 1 auto;min-width:65px}
@media(max-width:390px){.mx360-scene-edit{flex-wrap:wrap}.mx360-scene-edit input{flex-basis:40%}.mx360-scene-edit select{flex:1;max-width:none}}

/* v1.3.4.10: scoped tour projects, brand overlay, optional floor plan */
.mx360-projectbar{display:flex;align-items:center;gap:6px;padding:8px 10px 2px;flex-wrap:wrap}
.mx360-projectbar input{min-width:105px;flex:1 1 170px;background:#fff;color:#092d36;border:1px solid #6c9aaa;border-radius:8px;padding:8px 9px;min-height:38px;font-size:12px}
.mx360-projects{margin:4px 10px 7px;padding:8px;border-radius:9px;background:#003848;max-height:176px;overflow-y:auto}
.mx360-projects[hidden]{display:none!important}.mx360-project-row{display:flex;gap:5px;align-items:center;padding:5px 0;border-bottom:1px solid #386779;font-size:12px}
.mx360-project-row span{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mx360-overlay .mx360-project-row button{padding:6px 8px;min-height:34px}
.mx360-brand-controls{display:flex;align-items:center;gap:5px;overflow-x:auto;padding:7px 10px 5px;scrollbar-width:thin}
.mx360-brand-controls input[data-brand]{flex:0 0 120px;min-width:100px;border-radius:8px;border:1px solid #6c9aaa;background:#fff;color:#092d36;min-height:36px;padding:7px;font-size:12px}
.mx360-brand-controls label{flex:0 0 auto;padding:9px 10px;background:#ffe07a;color:#002d3d;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500}
.mx360-brand-controls .mx360-logo-state,.mx360-brand-controls .mx360-floor-state{flex:0 0 auto;font-size:11px;color:white}
.mx360-overlay .mx360-brand-controls button{flex:0 0 auto;font-size:11px;min-height:34px;padding:6px}
.mx360-brand-badge{position:absolute;z-index:4;left:10px;top:10px;max-width:min(70%,360px);display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:9px;background:#03475dce;pointer-events:none;color:white;box-shadow:0 2px 12px #00141c4a}
.mx360-brand-badge[hidden],.mx360-stage-contact[hidden]{display:none!important}
.mx360-stage-logo{max-width:56px;max-height:50px;object-fit:contain}
.mx360-brand-text{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px}
.mx360-brand-text span{overflow-wrap:anywhere;line-height:1.3}
.mx360-brand-text span+span{font-size:11px;font-weight:300}
.mx360-stage-contact{position:absolute;z-index:4;bottom:9px;left:10px;right:10px;display:flex;gap:6px;flex-wrap:wrap;pointer-events:none}
.mx360-stage-contact a{background:#03475de6;color:white;text-decoration:none;border:1px solid #ffe07a;border-radius:8px;padding:7px 8px;font-size:11px;pointer-events:auto}
.mx360-floor-actions{display:flex;padding:5px 10px}.mx360-floor-panel{margin:4px 10px;max-height:230px;overflow:auto;background:#001d2b;padding:7px;border-radius:8px;text-align:center}
.mx360-floor-panel[hidden]{display:none!important}.mx360-floor-panel img{max-width:100%;max-height:205px;object-fit:contain}
.mx360-floor-panel img[hidden]{display:none!important}
@media(max-width:390px){.mx360-brand-badge{left:5px;top:5px;padding:4px;max-width:78%}.mx360-stage-logo{max-width:42px;max-height:36px}.mx360-brand-text{font-size:11px}.mx360-stage-contact{left:5px;bottom:5px;gap:3px}.mx360-stage-contact a{padding:5px 6px;font-size:10px}.mx360-projectbar{padding:5px 6px}.mx360-overlay .mx360-projectbar button{padding:6px 7px;font-size:11px}}
/* Keep all inputs and the close/save actions reachable on short and narrow phones. */
.mx360-panel{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin}
.mx360-stage{min-height:160px;flex-shrink:0}

/* 1.3.4.11 — small-screen image and portable-tour export actions */
.mx360-exportbar{display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:5px 10px 8px;flex-shrink:0}
.mx360-overlay .mx360-exportbar button{background:#ffe07a;color:#003b4c;border-color:#ffe07a;font-weight:500;min-height:38px}
.mx360-overlay .mx360-exportbar button:disabled{opacity:.6}
.mx360-exportbar span{font-size:11px;color:white}
@media(max-width:390px){.mx360-exportbar{padding:4px 6px;gap:5px}.mx360-overlay .mx360-exportbar button{flex:1 1 45%;font-size:11px;padding:7px 5px}.mx360-exportbar span{flex-basis:100%}}

/* v1.3.4.12 – Root cause fix: comfortably sized branding fields and persistent save controls.
   Scoped to the panorama overlay only; no global input or button override. */
.mx360-overlay,.mx360-panel,.mx360-brand-controls,.mx360-sticky-actions{box-sizing:border-box}
.mx360-overlay{align-items:center;overflow:hidden;padding:max(6px,env(safe-area-inset-top,0px)) 6px max(6px,env(safe-area-inset-bottom,0px))}
.mx360-panel{height:100%;max-height:100%;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;scroll-padding-bottom:142px}
.mx360-header{position:sticky;top:0;z-index:15;flex-shrink:0;min-height:48px}
.mx360-overlay .mx360-close{min-height:44px;min-width:44px}
.mx360-projectbar{flex-shrink:0;gap:8px;padding:10px}
.mx360-projectbar input{box-sizing:border-box;font-size:16px;min-height:48px;padding:11px 12px;line-height:1.35}
.mx360-brand-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 12px 10px;overflow:visible;align-items:stretch;min-width:0}
.mx360-brand-field{display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:5px;color:#fff;font-size:12px;font-weight:400;line-height:1.35;padding:0!important;background:none!important;border-radius:0!important;cursor:text}
.mx360-brand-field span{display:block;color:#fff;line-height:1.4;min-height:17px}
.mx360-brand-controls .mx360-brand-field input[data-brand]{box-sizing:border-box;display:block;width:100%;min-width:0;max-width:100%;flex:1 1 auto;min-height:50px;height:50px;padding:11px 12px;border:1px solid #93bec8;border-radius:9px;background:#fff;color:#092d36;font-family:inherit;font-size:16px;font-weight:400;line-height:1.35;overflow:hidden;text-overflow:ellipsis;appearance:none;-webkit-appearance:none}
.mx360-brand-controls .mx360-brand-field input[data-brand]:focus{outline:2px solid #ffe07a;outline-offset:1px}
.mx360-field-title,.mx360-field-slogan,.mx360-field-web{grid-column:1/-1}
.mx360-brand-media{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap;padding:4px 0 2px;min-width:0}
.mx360-brand-controls .mx360-brand-media .mx360-media-upload{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 12px;border-radius:9px;background:#ffe07a;color:#002d3d;cursor:pointer;font-size:12px;font-weight:500}
.mx360-brand-controls .mx360-brand-media .mx360-logo-state,.mx360-brand-controls .mx360-brand-media .mx360-floor-state{flex:0 1 auto;min-width:0;font-size:11px;overflow-wrap:anywhere}
.mx360-overlay .mx360-brand-media button{flex:0 0 auto;min-height:44px;padding:9px 10px}
.mx360-sticky-actions{position:sticky;bottom:0;z-index:18;flex-shrink:0;display:block;width:100%;background:#00384a;padding:7px 9px max(8px,env(safe-area-inset-bottom,0px));box-shadow:0 -5px 16px #001823b8;border-top:1px solid #5e9bab}
.mx360-sticky-actions .mx360-status{font-size:11px;line-height:1.35;min-height:15px;margin:0 3px 6px;color:#fff;overflow-wrap:anywhere;max-height:40px;overflow-y:auto}
.mx360-sticky-actions .mx360-exportbar{display:grid;grid-template-columns:1.2fr 1fr 1.35fr;gap:6px;padding:0;align-items:stretch}
.mx360-sticky-actions .mx360-exportbar button,.mx360-overlay .mx360-sticky-actions .mx360-exportbar button{box-sizing:border-box;min-width:0;min-height:46px;white-space:normal;line-height:1.25;padding:8px 6px;font-size:12px}
.mx360-overlay .mx360-sticky-actions #mx360-save{background:#ffe07a;color:#00384a;border:1px solid #ffe07a;font-weight:500}
.mx360-overlay .mx360-sticky-actions #mx360-image-export,.mx360-overlay .mx360-sticky-actions #mx360-tour-export{background:#09576b;border-color:#7ab0bc;color:white;font-weight:400}
.mx360-overlay:fullscreen .mx360-panel{height:100%;max-height:100%}
@media(min-width:600px){.mx360-brand-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}.mx360-field-title,.mx360-field-slogan{grid-column:span 2}.mx360-field-web{grid-column:span 2}.mx360-brand-media{grid-column:span 4}.mx360-stage{height:min(42vh,450px)}}
@media(max-width:390px){.mx360-brand-controls{padding:10px 8px;gap:9px 7px}.mx360-brand-controls .mx360-brand-field input[data-brand]{min-height:50px;height:50px;padding:10px 8px;font-size:16px}.mx360-projectbar{padding:7px 8px;gap:5px}.mx360-projectbar input{flex-basis:100%;min-width:0}.mx360-sticky-actions{padding:6px 5px max(7px,env(safe-area-inset-bottom,0px))}.mx360-sticky-actions .mx360-exportbar{grid-template-columns:1fr 1fr;gap:5px}.mx360-sticky-actions #mx360-save{grid-column:1/-1}.mx360-sticky-actions .mx360-exportbar button,.mx360-overlay .mx360-sticky-actions .mx360-exportbar button{min-height:44px;font-size:11px}.mx360-stage{height:min(34vh,280px);min-height:140px}}
@media(max-height:560px){.mx360-header{min-height:42px;padding:5px 10px}.mx360-stage{height:180px;min-height:130px}.mx360-sticky-actions{padding-top:4px;padding-bottom:4px}.mx360-sticky-actions .mx360-status{margin-bottom:3px}.mx360-brand-controls{gap:7px}}

/* v1.3.4.13 – Four-step guided interface; scoped only to 360 Tur. */
.mx360-stepbar{position:sticky;top:48px;z-index:14;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px 9px;background:#00384a;border-bottom:1px solid #427c8b;flex-shrink:0}
.mx360-overlay .mx360-stepbar button{min-height:44px;min-width:0;padding:7px 2px;font-size:12px;font-weight:400;line-height:1.3;background:#12566a;color:#fff;white-space:normal;border:1px solid #568da0}
.mx360-overlay .mx360-stepbar button[aria-current="step"]{background:#ffe07a;color:#00384a;border-color:#ffe07a;font-weight:500}
.mx360-guide{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:9px 12px 5px;color:#fff;min-width:0;flex-wrap:wrap}
.mx360-guide strong{font-size:13px;font-weight:500;color:#fff}.mx360-guide span{font-size:11px;font-weight:300;line-height:1.35;color:#eaf5f7}
.mx360-review{display:flex;flex-direction:column;gap:7px;padding:13px;margin:8px 10px;background:#073c50;border:1px solid #5b98a9;border-radius:9px;color:#fff}
.mx360-review strong{font-weight:500}.mx360-review span{font-size:13px;line-height:1.4}.mx360-review small{font-size:11px;line-height:1.4;color:#fff}
.mx360-step-actions{display:grid;grid-template-columns:1fr 1.35fr 1fr;gap:6px}
.mx360-overlay .mx360-step-actions button{min-height:46px;min-width:0;background:#125a70;color:#fff;border-color:#83aeba;font-size:12px;padding:6px;line-height:1.25}
.mx360-overlay .mx360-step-actions #mx360-next{background:#ffe07a;color:#00384a;border-color:#ffe07a;font-weight:500}
.mx360-overlay .mx360-step-actions button:disabled{opacity:.4}
.mx360-panel[data-step="1"] > :is(.mx360-brand-controls,.mx360-floor-actions,.mx360-floor-panel,.mx360-transition,.mx360-link-list,.mx360-toolbar,.mx360-zoom,.mx360-review,.mx360-disclaimer),
.mx360-panel[data-step="2"] > :is(.mx360-projectbar,.mx360-projects,.mx360-brand-controls,.mx360-filebar,.mx360-floor-actions,.mx360-floor-panel,.mx360-review,.mx360-disclaimer),
.mx360-panel[data-step="3"] > :is(.mx360-projectbar,.mx360-projects,.mx360-filebar,.mx360-scene-list,.mx360-scene-edit,.mx360-transition,.mx360-link-list,.mx360-toolbar,.mx360-zoom,.mx360-review,.mx360-disclaimer),
.mx360-panel[data-step="4"] > :is(.mx360-projectbar,.mx360-projects,.mx360-brand-controls,.mx360-filebar,.mx360-scene-edit,.mx360-transition,.mx360-link-list,.mx360-toolbar,.mx360-zoom,.mx360-floor-actions,.mx360-floor-panel){display:none!important}
.mx360-panel[data-step="4"] .mx360-step-actions{grid-template-columns:1fr}
.mx360-panel[data-step="4"] #mx360-next,.mx360-panel[data-step="4"] #mx360-quick-save{display:none!important}
.mx360-panel[data-step="4"] .mx360-exportbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;margin-top:6px}
.mx360-panel:not([data-step="4"]) .mx360-exportbar{display:none!important}
.mx360-panel[data-step="1"] .mx360-stage{height:min(26vh,230px);min-height:110px}
.mx360-panel[data-step="3"] .mx360-stage{height:min(30vh,280px);min-height:120px}
.mx360-panel[data-step="4"] .mx360-stage{height:min(36vh,340px);min-height:130px}
.mx360-panel[data-step="4"] .mx360-review{flex-shrink:0}
@media(max-width:420px){.mx360-stepbar{padding:5px;gap:3px}.mx360-overlay .mx360-stepbar button{font-size:10.5px;min-height:42px;padding:5px 2px}.mx360-guide{padding:7px 8px 3px}.mx360-guide span{font-size:10px}.mx360-panel[data-step="4"] .mx360-exportbar{grid-template-columns:1fr 1fr}.mx360-panel[data-step="4"] #mx360-save{grid-column:1/-1}.mx360-step-actions{gap:5px}.mx360-overlay .mx360-step-actions button{font-size:11px;min-height:44px}}
@media(max-height:550px){.mx360-stepbar{top:42px}.mx360-guide span{display:none}.mx360-guide{padding:4px 9px}.mx360-panel[data-step="1"] .mx360-stage,.mx360-panel[data-step="3"] .mx360-stage{min-height:105px;height:24vh}.mx360-panel[data-step="4"] .mx360-stage{min-height:110px;height:27vh}}

/* v1.3.4.13 completion: photo replacement and stable room-order controls. */
.mx360-panel[data-step="1"] .mx360-scene-order,
.mx360-panel[data-step="2"] .mx360-scene-replace,
.mx360-panel[data-step="4"] .mx360-scene-replace,
.mx360-panel[data-step="4"] .mx360-scene-order,
.mx360-panel[data-step="4"] .mx360-scene-remove{display:none!important}
.mx360-scene-list{gap:8px;min-height:48px}
.mx360-scene{max-width:none;align-items:stretch;gap:4px}
.mx360-scene .mx360-scene-open{min-width:86px;max-width:142px}
.mx360-overlay .mx360-scene .mx360-scene-order{min-width:43px;min-height:44px;font-size:18px;padding:3px 5px}
.mx360-overlay .mx360-scene .mx360-scene-order:disabled{opacity:.35}
.mx360-overlay .mx360-scene .mx360-scene-replace,
.mx360-overlay .mx360-scene .mx360-scene-remove{min-height:44px;font-size:11px;padding:6px 8px}
.mx360-panel[data-step="1"] .mx360-scene{max-width:310px}
.mx360-panel[data-step="2"] .mx360-scene{max-width:315px}
@media(max-width:390px){.mx360-overlay .mx360-scene .mx360-scene-replace,.mx360-overlay .mx360-scene .mx360-scene-remove{padding:5px 7px}.mx360-scene .mx360-scene-open{min-width:74px;max-width:114px}}

.mx360-link-list{min-height:44px;align-items:center;padding-top:5px;padding-bottom:5px}
.mx360-link-row{gap:5px;min-height:44px}
.mx360-link-row .mx360-link-target{min-height:40px;max-width:138px;min-width:95px;background:#fff;color:#082d3a;border:1px solid #6c9aaa;border-radius:7px;padding:4px;font-size:12px}
.mx360-overlay .mx360-link-row button{min-height:42px;min-width:45px;font-size:11px}

/* v1.3.4.14 — Android visible viewport and unsaved-state clarity (module-scoped). */
.mx360-overlay{inset:auto 0 auto 0;top:var(--mx360-visible-top,0px);height:var(--mx360-visible-height,100dvh);max-height:var(--mx360-visible-height,100dvh);width:100%;min-height:0;align-items:stretch;overflow:hidden}
.mx360-panel{height:100%;min-height:0;max-height:100%;overscroll-behavior-y:contain;scroll-padding-top:112px;scroll-padding-bottom:155px}
.mx360-header{align-items:center}
.mx360-header .mx360-unsaved{color:#ffe07a;font-size:11px;font-weight:400}
.mx360-header .mx360-unsaved[hidden]{display:none!important}
.mx360-brand-controls input[data-brand],.mx360-projectbar input,.mx360-scene-edit input{scroll-margin-top:108px;scroll-margin-bottom:160px}
.mx360-panel[data-step="4"] .mx360-review{margin-bottom:4px}
@media(max-height:440px){
 .mx360-header{min-height:40px;padding:3px 9px}
 .mx360-overlay .mx360-stepbar button{min-height:38px;padding:4px 2px}
 .mx360-stepbar{position:sticky;top:40px;padding:3px 6px}
 .mx360-guide{padding:2px 8px}
 .mx360-panel[data-step="1"] .mx360-stage,.mx360-panel[data-step="2"] .mx360-stage,.mx360-panel[data-step="3"] .mx360-stage,.mx360-panel[data-step="4"] .mx360-stage{height:100px;min-height:90px}
 .mx360-sticky-actions{padding:3px 6px max(3px,env(safe-area-inset-bottom,0px))}
 .mx360-sticky-actions .mx360-status{max-height:20px;margin-bottom:2px}
}

/* v1.3.4.15 — optional two-image planar panorama composer, only in photo step. */
.mx360-panel:not([data-step="1"]) .mx360-stitch{display:none!important}
.mx360-stitch{border:1px solid #9caeb4;border-radius:9px;padding:7px 8px;margin:5px 0;background:#f6f9fa;color:#102e3b}
.mx360-stitch summary{font-size:13px;font-weight:500;cursor:pointer;min-height:34px;padding:7px 5px}
.mx360-stitch-controls{display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:end}
.mx360-stitch-controls label{display:grid;gap:3px;font-size:12px;color:#102e3b;min-width:0}
.mx360-stitch-controls select{width:100%;min-width:0;max-width:100%;min-height:44px;color:#102e3b;background:#fff}
.mx360-overlay .mx360-stitch-controls button{grid-column:1/-1;min-height:44px}
.mx360-stitch-info{font-size:12px;line-height:1.5;color:#133947;margin:6px 0}
.mx360-stitch-image{display:block;max-width:100%;max-height:180px;object-fit:contain;margin:6px auto;background:#082b3a;border-radius:5px}
.mx360-stitch-image[hidden],.mx360-stitch-actions[hidden]{display:none!important}
.mx360-stitch-actions{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0}
.mx360-overlay .mx360-stitch-actions button{min-height:44px;flex:1 1 150px}
@media(max-width:370px){.mx360-stitch-controls{grid-template-columns:1fr}.mx360-overlay .mx360-stitch-controls button{grid-column:auto}}

/* v1.3.4.16 — Local listing-media preparation: collapsible and scoped. */
.mx360-panel:not([data-step="4"])>.mx360-listing{display:none!important}
.mx360-listing{margin:6px 10px;padding:7px 10px;background:#eff5f7;border:1px solid #9bb6c0;border-radius:9px;color:#103546}
.mx360-listing summary{cursor:pointer;padding:8px 3px;min-height:37px;font-weight:500;font-size:13px}
.mx360-listing-body{display:grid;gap:7px;padding:6px 2px 4px}
.mx360-listing-body label{font-size:12px;color:#103546;font-weight:400}
.mx360-listing-body select{width:100%;min-width:0;background:white;color:#103546;border:1px solid #678b98;border-radius:7px;min-height:44px;font-size:13px}
.mx360-listing-note{margin:0;font-size:12px;line-height:1.5;color:#183e4d}
.mx360-listing-buttons{display:grid;grid-template-columns:1fr 1fr;gap:7px}
.mx360-overlay .mx360-listing-buttons button{min-width:0;min-height:46px;white-space:normal;padding:6px 7px;color:#fff;background:#03475d;border-color:#03475d;font-size:12px}
.mx360-overlay .mx360-listing-buttons button:disabled{opacity:.5}
@media(max-width:350px){.mx360-listing-buttons{grid-template-columns:1fr}}

/* v1.3.4.17 — Scoped, compact backup controls. */
.mx360-projects{max-height:min(42dvh,330px);overflow-y:auto}
.mx360-backup-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:4px 0 9px;border-bottom:1px solid #4b7b8e}
.mx360-backup-toolbar span{font-size:11px;color:#fff;flex:1 1 110px;line-height:1.35}
.mx360-backup-label{display:inline-flex;align-items:center;justify-content:center;background:#ffe07a;color:#003847;min-height:44px;border-radius:8px;padding:8px 12px;font-size:12px;cursor:pointer}
.mx360-project-row{display:flex;flex-wrap:wrap;gap:5px;align-items:center}
.mx360-project-row span{flex:1 1 100%;white-space:normal;overflow-wrap:anywhere;line-height:1.3}
.mx360-overlay .mx360-project-row button{flex:1 1 66px;min-height:44px;font-size:11px;padding:6px 5px}
.mx360-backup-export{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 10px;padding:8px;background:#ecf3f6;border:1px solid #9cbbc5;border-radius:9px}
.mx360-backup-export small{font-size:11px;color:#163e4a;line-height:1.4;flex:1 1 120px}
.mx360-overlay .mx360-backup-export button{background:#03475d;color:#fff;border:1px solid #03475d;min-height:44px;padding:8px 10px;font-size:12px;font-weight:400}
.mx360-panel:not([data-step="4"])>.mx360-backup-export{display:none!important}
@media(max-width:370px){.mx360-backup-export{align-items:stretch}.mx360-overlay .mx360-backup-export button{width:100%}}

/* v1.3.4.18: compact cancellation control inside the existing footer, never hides Save. */
.mx360-statusline{display:flex;align-items:center;gap:8px;min-width:0;margin:0 3px 6px}
.mx360-statusline .mx360-status{flex:1;min-width:0;margin:0}
.mx360-statusline #mx360-cancel-export{min-height:34px;flex:0 0 auto;background:#fff;color:#03475D;border:1px solid #fff;border-radius:7px;padding:5px 12px;font-weight:400}
.mx360-statusline #mx360-cancel-export[hidden]{display:none!important}

/* v1.3.4.75: avoid covering editable fields / the on-screen keyboard. */
.mx360-shortcut.mx360-shortcut--editing{display:none!important}

/* 0.2.35: distinct but readable example text in dark-background tool dialogs. */
.mx360-form input::placeholder,.mx360-form textarea::placeholder,
.mx360-bridge input::placeholder,.mx360-project input::placeholder,
.mx360-overlay input::placeholder,.mx360-overlay textarea::placeholder{
  color:#667780!important;opacity:1!important;font-weight:300!important;
}
