/* Entorno Urbano V1.1 — capa modular aislada del visor arquitectónico REV22. */
.urb-launch{border:1px solid #64899a!important;border-radius:8px!important;background:#182a34!important;color:#c9edf8!important;height:31px!important;padding:0 11px!important;font-size:11px!important;white-space:nowrap}
.urb-launch:hover{border-color:#9dddee!important}
.urb-overlay[hidden]{display:none!important}
.urb-overlay{position:absolute;inset:0;z-index:85;background:#0c151b;color:#dce9ee;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;display:flex;flex-direction:column;overflow:hidden}
.urb-top{flex:none;display:flex;align-items:center;gap:9px;padding:12px 16px;background:rgba(13,21,28,.99);border-bottom:1px solid #2d414e;min-height:57px;flex-wrap:wrap}
.urb-brand{min-width:185px;display:flex;flex-direction:column;gap:2px}.urb-brand b{font-size:12px;letter-spacing:.11em}.urb-brand span{font-size:9px;color:#879fac}
.urb-switch{display:flex;gap:4px;padding:3px;border-radius:10px;background:#09151d;border:1px solid #284151}
.urb-switch button{border:0;background:transparent;padding:8px 13px;border-radius:8px;color:#a6bdc7;cursor:pointer;font-size:11px;min-width:74px}
.urb-switch button[aria-pressed=true]{background:#254454;color:#e3faff}
.urb-actions{margin-left:auto;display:flex;gap:7px}
.urb-actions button,.urb-side button,.urb-label-file{border:1px solid #395365;background:#14232d;color:#d9edf3;border-radius:8px;padding:8px 10px;font-size:11px;cursor:pointer}
.urb-actions button:hover,.urb-side button:hover,.urb-label-file:hover{border-color:#8cc8d6}
.urb-actions button:focus-visible,.urb-switch button:focus-visible,.urb-side button:focus-visible,.urb-label-file:focus-within{outline:2px solid #87e2fd;outline-offset:3px}
.urb-body{display:grid;grid-template-columns:minmax(0,1fr) 270px;min-height:0;flex:1}
.urb-scenery{position:relative;background:radial-gradient(ellipse at 60% 35%,#243943 0%,#101f2a 50%,#0a121a 100%);min-width:0;min-height:0;overflow:hidden}
.urb-canvas{width:100%;height:100%;display:block;touch-action:none;cursor:grab}.urb-canvas:active{cursor:grabbing}
.urb-watermark{position:absolute;top:14px;left:14px;background:#0c1823ed;border:1px solid #395060;padding:10px 13px;border-radius:10px;max-width:calc(100% - 30px);pointer-events:none}
.urb-watermark b{font-size:12px;display:block}.urb-watermark small{display:block;margin-top:4px;font-size:10px;color:#afc0cb;line-height:1.4}
.urb-legend{position:absolute;left:14px;bottom:14px;background:#0c1923e5;border:1px solid #334e5b;border-radius:8px;padding:8px 10px;font-size:10px;color:#b4c8d0;pointer-events:none}
.urb-city{position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:#0c1820e8}
.urb-city[hidden]{display:none!important}.urb-city-inner{max-width:440px;text-align:center;border:1px solid #365465;padding:25px;background:#101f29eb;border-radius:15px;box-shadow:0 20px 60px #0005}
.urb-city-inner strong{font-size:19px}.urb-city-inner p{font-size:13px;line-height:1.6;color:#aec2cc;margin-bottom:0}
.urb-side{padding:18px;overflow:auto;background:#0e1922;border-left:1px solid #2c3e4a;display:flex;flex-direction:column;gap:13px}
.urb-side h3{font-size:10px;letter-spacing:.13em;color:#94b8c7;text-transform:uppercase;margin:0}
.urb-cost{padding:15px;background:#0c151b;border:1px solid #304754;border-radius:12px}
.urb-cost b{display:block;font-size:28px;color:#9eeac5;letter-spacing:-.03em;margin:5px 0}.urb-cost small{color:#acc0cb;font-size:10px}
.urb-row{font-size:11px;display:flex;justify-content:space-between;gap:7px;border-bottom:1px solid #23343f;padding:9px 0}.urb-row span{color:#a9bdc7}.urb-row strong{text-align:right;font-size:11px}
.urb-warning{color:#ddc69c;background:#2b251d;border:1px solid #5e5138;padding:10px;border-radius:9px;font-size:11px;line-height:1.5}
.urb-description{font-size:11px;line-height:1.5;color:#9fb9c7}
.urb-label-file{position:relative;display:block;text-align:center}.urb-label-file input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}
.urb-footer{padding:7px 16px;background:#0c151d;border-top:1px solid #314550;color:#a6bfca;font-size:10px;display:flex;justify-content:space-between;gap:15px}
.urb-overlay.urb-presentacion .urb-side{display:none}.urb-overlay.urb-presentacion .urb-body{grid-template-columns:1fr}
.urb-overlay.urb-presentacion .urb-legend{display:none}
.urb-status{line-height:1.5;color:#a6bfcb;font-size:10px}
.urb-side[hidden]{display:none!important}
@media(max-width:740px){.urb-top{gap:6px;padding:8px}.urb-brand{min-width:106px}.urb-brand b{font-size:10px}.urb-switch button{min-width:57px;padding:7px}.urb-actions{margin-left:0}.urb-actions button{padding:7px;font-size:10px}.urb-body{grid-template-columns:1fr}.urb-side{position:absolute;z-index:3;right:8px;top:98px;bottom:35px;width:min(270px,calc(100% - 16px));box-shadow:0 14px 35px #000a;border-radius:9px;border:1px solid #456175}.urb-side.urb-hidden-mobile{display:none}.urb-overlay:not(.urb-side-on) .urb-side{display:none}.urb-watermark{top:8px;left:8px}.urb-footer{font-size:9px}}

.urb-side button:disabled{opacity:.55;cursor:progress}
.urb-footer a,.urb-description a{color:#9bd7e8;text-decoration:underline}

.urb-check{display:flex;align-items:center;gap:9px;font-size:11px;color:#ceeaf5;cursor:pointer}.urb-check input{accent-color:#88d3eb}#urbLoadApproved{border-color:#6b8e9a;background:#19343f}

/* V1.1.4: aviso explícito de acabados no verificados. */
#urbStyleNote{padding:9px 10px;border-radius:8px;background:#17262c;border:1px solid #43505a;color:#c3d3d8}
#urbStyled{accent-color:#e0c195}

/* Mantener el contexto dominante y el lanzador discreto en el visor Perla. */
.urb-overlay:not(.urb-side-on) .urb-body{grid-template-columns:minmax(0,1fr)}
.urb-launch{position:absolute;top:124px;right:16px;z-index:40;max-width:calc(100% - 32px);box-shadow:0 2px 10px #0005}
.urb-launch[aria-expanded=true]{visibility:hidden}
