/* ===== ORBIS 360 · by Tiluchi Architects · sistema visual (tema claro: salvia, malva, caqui) ===== */
:root{
  color-scheme:light;
  --ink:#1f1f1d; --paper:#f7f7f5; --paper-deep:#ececE8; --canvas:#eeeeec; --field:#ffffff;
  --coral:#7a9a94; --coral-hover:#6a8a84; --acc-ink:#0f1412;
  --primary:#7a9a94; --primary-hover:#6a8a84;
  --mauve:#bfa8ad; --khaki:#b0a58f;
  --surface:#f7f7f5; --surface-light:#ececE8; --surface-hover:#e4e4df; --bg-canvas:#eeeeec;
  --text-main:#1f1f1d; --text-muted:#6e7270;
  --danger:#a8402f; --danger-hover:#8a3224; --success:#56736d; --success-hover:#466059;
  --glass:rgba(255,255,255,.72); --glass-line:rgba(31,31,29,.12);
  --line:1px solid rgba(31,31,29,.14); --line-thin:1px solid rgba(31,31,29,.14);
  --shadow-hard:0 18px 50px rgba(31,31,29,.12);
  --font-display:'Sora','Manrope',system-ui,sans-serif;
  --font-body:'Manrope','Segoe UI',system-ui,sans-serif;
  --i-edit:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9M16.5 3.5a2.12 2.12 0 0 1 3 3L7 19l-4 1 1-4Z'/%3E%3C/svg%3E");
  --i-pub:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 14v5a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-5M12 16V4M7 9l5-5 5 5'/%3E%3C/svg%3E");
  --i-tours:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 2 2 7l10 5 10-5-10-5ZM2 17l10 5 10-5M2 12l10 5 10-5'/%3E%3C/svg%3E");
  --i-globe:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a10 10 0 1 0 0-20 10 10 0 0 0 0 20ZM2 12h20M12 2a15 15 0 0 1 0 20 15 15 0 0 1 0-20'/%3E%3C/svg%3E");
  --i-out:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9'/%3E%3C/svg%3E");
  --i-back:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 12H5M12 19l-7-7 7-7'/%3E%3C/svg%3E");
  --i-down:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M7 10l5 5 5-5M12 15V3'/%3E%3C/svg%3E");
  --i-up:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12'/%3E%3C/svg%3E");
  --i-go:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
}
html,body{background:var(--canvas);font-family:var(--font-body);-webkit-font-smoothing:antialiased;color:var(--ink)}

/* ---- marca ---- */
.orbis-brand{display:flex;align-items:center;gap:12px}
.orbis-mark{width:36px;height:36px;flex:none;filter:none}
.orbis-txt{display:flex;flex-direction:column;line-height:1.1}
.orbis-txt b{font:700 21px var(--font-display);letter-spacing:-.02em;color:var(--ink)}
.orbis-txt b i{font-style:normal;font-weight:500;color:var(--text-muted);margin-left:5px;letter-spacing:0}
.orbis-txt span{font:600 10px var(--font-body);letter-spacing:.18em;text-transform:uppercase;color:var(--text-muted);margin-top:4px}
.login-overlay>.orbis-brand{position:absolute;left:30px;top:26px;z-index:2}
#sidebar>.orbis-brand{padding:2px 4px 6px;margin-bottom:4px}
#sidebar .orbis-txt span{display:none}
.eyebrow{font:700 10.5px/1 var(--font-body);letter-spacing:.24em;color:var(--primary)}

/* ---- botones ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:2px;background:var(--primary);color:var(--acc-ink);border:none;border-radius:999px;padding:11px 20px;font:700 .92em var(--font-body);letter-spacing:.01em;box-shadow:0 8px 20px rgba(86,115,109,.22);transition:transform .15s,box-shadow .2s,background .2s}
.btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 12px 26px rgba(86,115,109,.3)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.45;box-shadow:none;transform:none}
.btn.btn-outline{background:transparent;color:var(--ink);border:var(--line-thin);box-shadow:none}
.btn.btn-outline:hover{background:rgba(31,31,29,.05);box-shadow:none}
.btn.btn-outline.active{background:var(--mauve);color:var(--acc-ink);border:1px solid var(--mauve)}
.btn.btn-secondary{background:var(--paper-deep);color:var(--ink);border:var(--line-thin);box-shadow:none}
.btn.btn-secondary:hover{background:var(--surface-hover);box-shadow:none}
.btn.btn-danger{background:var(--danger);color:#fff;box-shadow:none}
.btn.btn-danger:hover{background:var(--danger-hover)}
.btn-sm,.file-label-small{background:var(--field);color:var(--ink);border:var(--line-thin);border-radius:999px;padding:5px 13px;font:700 .78em var(--font-body);transition:.15s}
.btn-sm:hover,.file-label-small:hover{background:var(--primary);color:var(--acc-ink);border-color:var(--primary)}
.btn.btn-sm{padding:8px 14px}
#btn-eliminar-seleccion{background:var(--danger);color:#fff;border:none;border-radius:999px;box-shadow:0 8px 20px rgba(168,64,47,.22)}
#btn-eliminar-seleccion:hover{background:var(--danger-hover)}
/* iconos de botones (no se borran si el JS cambia el texto) */
#btn-toggle-edit::before,#btn-publicar-modal::before,#btn-mis-tours::before,#btn-comunidad::before,#btn-cerrar-sesion-lateral::before,#btn-exportar-tour::before,#btn-volver-mapa::before,#btn-opcion-online::before,#login-btn::after{content:"";display:inline-block;width:16px;height:16px;flex:none;background:currentColor;-webkit-mask:var(--ico) center/contain no-repeat;mask:var(--ico) center/contain no-repeat;vertical-align:-3px}
#btn-toggle-edit::before,#btn-publicar-modal::before,#btn-mis-tours::before,#btn-comunidad::before,#btn-cerrar-sesion-lateral::before,#btn-exportar-tour::before,#btn-volver-mapa::before,#btn-opcion-online::before{margin-right:8px}
#login-btn::after{margin-left:8px}
#btn-toggle-edit{--ico:var(--i-edit)} #btn-publicar-modal,#btn-opcion-online{--ico:var(--i-pub)} #btn-mis-tours{--ico:var(--i-tours)} #btn-comunidad{--ico:var(--i-globe)}
#btn-cerrar-sesion-lateral{--ico:var(--i-out)} #btn-exportar-tour{--ico:var(--i-down)} #btn-volver-mapa{--ico:var(--i-back)} #login-btn{--ico:var(--i-go)}

/* ---- barra lateral (editor) ---- */
#sidebar{width:320px;background:var(--paper);border-right:1px solid var(--glass-line);padding:22px 16px;gap:12px;box-shadow:none}
#build-stamp{opacity:.55;font-size:10px!important}
.seccion-recursos{background:var(--field);border:1px solid var(--glass-line);border-radius:18px;padding:14px;box-shadow:0 1px 0 rgba(31,31,29,.04)}
.seccion-recursos h4{font:700 .76em var(--font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:12px}
.item-recurso{background:var(--paper);border:1px solid transparent;border-radius:12px;color:var(--ink);transition:.15s}
.item-recurso:hover{background:var(--paper-deep)}
.item-recurso.seleccionado{background:var(--mauve);color:var(--acc-ink);border-color:transparent}
.item-recurso.seleccionado .btn-sm{background:rgba(255,255,255,.7);color:var(--acc-ink);border-color:transparent}
.item-recurso.seleccionado .btn-sm:hover{background:var(--acc-ink);color:#fff}
.chk-recurso{accent-color:var(--primary)}
/* navegación lateral */
#sidebar .btn.btn-outline,#sidebar>.btn.btn-secondary{position:relative;justify-content:flex-start!important;background:transparent;border:1px solid transparent;color:var(--text-muted);border-radius:14px;padding:12px 14px!important;font-weight:600;font-size:.95em;box-shadow:none}
#sidebar .btn.btn-outline:hover,#sidebar>.btn.btn-secondary:hover{background:var(--paper-deep);color:var(--ink);transform:none}
#sidebar .btn.btn-outline.active{color:var(--acc-ink);background:linear-gradient(90deg,rgba(122,154,148,.28),rgba(191,168,173,.22));border:1px solid transparent}
#sidebar .btn.btn-outline.active::after{content:"";position:absolute;right:8px;top:50%;transform:translateY(-50%);width:5px;height:24px;border-radius:4px;background:var(--primary)}
#btn-cerrar-sesion-lateral{font-size:.9em!important}

/* ---- vista principal: plano sobre fondo claro ---- */
#app-container{background:var(--canvas)}
#main-view{margin:10px 10px 10px 0;border-radius:28px;border:1px solid var(--glass-line);background:radial-gradient(800px 560px at 92% -8%,rgba(191,168,173,.22) 0%,transparent 60%),radial-gradient(700px 520px at -5% 108%,rgba(122,154,148,.2) 0%,transparent 58%),var(--field)}
#main-view::before{opacity:.08;filter:grayscale(1) blur(2px)}
#main-view::after{background-image:linear-gradient(rgba(31,31,29,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(31,31,29,.04) 1px,transparent 1px)}
#planta-view{background:transparent}
#planta-image{border:none;border-radius:16px;box-shadow:0 24px 60px rgba(31,31,29,.14),0 0 0 1px var(--glass-line)}
#planta-placeholder{position:relative;z-index:1;display:block;max-width:380px;text-align:center;color:var(--text-muted)!important;font:600 1.05em/1.5 var(--font-body)!important;padding:36px 30px;border:1px dashed rgba(31,31,29,.2);border-radius:26px;background:rgba(255,255,255,.6)}
#planta-placeholder::before{content:"";display:block;width:64px;height:64px;margin:0 auto 16px;background:linear-gradient(135deg,var(--primary),var(--mauve));-webkit-mask:var(--i-globe) center/contain no-repeat;mask:var(--i-globe) center/contain no-repeat;opacity:.95}
#edit-mode-indicator{background:rgba(122,154,148,.22);color:var(--acc-ink);border:1px solid var(--primary);border-radius:999px;backdrop-filter:blur(10px);font:700 .85em var(--font-body);top:18px;left:18px}
#btn-volver-mapa{background:rgba(255,255,255,.85);color:var(--ink);border:1px solid var(--glass-line);border-radius:999px;backdrop-filter:blur(12px);font:700 .88em var(--font-body);padding:10px 20px;top:18px;right:18px;box-shadow:0 6px 18px rgba(31,31,29,.1)}
#btn-volver-mapa:hover{background:var(--primary);color:var(--acc-ink)}
.tooltip{background:rgba(255,255,255,.95);color:var(--ink);border:1px solid var(--glass-line);border-radius:999px;backdrop-filter:blur(10px);font-family:var(--font-body)}

/* ---- ventanas y formularios ---- */
.modal,.panel{background:var(--paper);border:1px solid var(--glass-line);border-radius:24px;box-shadow:var(--shadow-hard)}
.modal{padding:28px}
.modal h3,.panel-titulo{font-family:var(--font-display);letter-spacing:.01em;color:var(--ink)}
.modal label{color:var(--text-muted);letter-spacing:.12em;font-size:.72em}
.modal select,.modal input,.modal textarea,.campo{background:var(--field);border:1px solid rgba(31,31,29,.16);border-radius:12px;color:var(--text-main);font-family:var(--font-body);transition:border-color .15s,box-shadow .15s}
.modal select:focus,.modal input[type="text"]:focus,.modal input[type="number"]:focus,.modal textarea:focus,.campo:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(122,154,148,.25)}
.modal input[type="color"]{background:var(--field);border-radius:12px}
.modal input[type="range"]{background:transparent;border:none;accent-color:var(--primary)}
select option{background:var(--field);color:var(--ink)}
.vista-cuadro{border:1px solid var(--glass-line);border-radius:12px}
#modal-overlay,#modal-publicar-overlay{background:rgba(31,31,29,.32)!important;backdrop-filter:blur(5px)}
.overlay-modal{background:rgba(31,31,29,.32);backdrop-filter:blur(6px)}
.icon-option{background:var(--field);border:1px solid var(--glass-line);border-radius:14px}
.icon-option:hover{background:var(--paper-deep)}
.icon-option.active{border-color:var(--primary);background:rgba(122,154,148,.22)}
.icon-option-svg{background-color:var(--ink)}
.tour-card{background:var(--field);border:1px solid var(--glass-line);border-radius:16px}
#status-toast{background:var(--ink);color:#fff;border:1px solid var(--ink);border-left:4px solid var(--primary);border-radius:14px;backdrop-filter:blur(12px);box-shadow:0 14px 40px rgba(31,31,29,.25)}
::-webkit-scrollbar-thumb{background:rgba(31,31,29,.14);border-radius:8px}
::-webkit-scrollbar-thumb:hover{background:rgba(31,31,29,.35)}
select{color-scheme:light}

/* ===== ACCESO · diseño claro (puzzles, logo Tiluchi animado, sin foto de fondo) ===== */
.login-overlay {
  --ink: #1f1f1d; --paper: #f7f7f5; --paper-deep: #ececE8; --canvas: #eeeeec; --field: #ffffff;
  --text-main: #1f1f1d; --text-muted: #6e7270; --primary: #7a9a94; --primary-hover: #6a8a84;
  --coral: #56736d; --coral-hover: #466059; --acc-ink: #0f1412; --danger: #a8402f;
  --line: 1px solid rgba(31,31,29,.12); --line-thin: 1px solid rgba(31,31,29,.12);
  background:
    radial-gradient(900px 620px at 8% -10%, rgba(122,154,148,.30), transparent 62%),
    radial-gradient(820px 600px at 100% 110%, rgba(191,168,173,.34), transparent 60%),
    radial-gradient(700px 500px at 60% 120%, rgba(176,165,143,.22), transparent 60%),
    #eeeeec;
  color: var(--ink); isolation: isolate;
}
.orbis-bg { display: none; }
.login-overlay .orbis-txt b { color: var(--ink); }
.login-overlay .orbis-txt b i { color: var(--text-muted); }
.login-overlay .orbis-txt span { color: var(--text-muted); }
.login-overlay .eyebrow { color: var(--coral); }
.login-overlay .login-box,
.login-overlay .login-card {
  background: rgba(255,255,255,.78); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
  border: 1px solid rgba(31,31,29,.10); border-radius: 28px;
  box-shadow: 0 30px 70px rgba(31,31,29,.10);
}
.login-overlay .login-card { padding: 38px 32px; width: 360px; }
.login-overlay .login-card h2 { color: var(--ink); }
.login-overlay .campo { background: #fff; border: 1px solid rgba(31,31,29,.16); color: var(--ink); }
.login-overlay .campo:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(122,154,148,.25); }
.login-overlay #login-msg { color: var(--danger); }
.lj-titulo { font: 800 24px var(--font-display); letter-spacing: -.01em; color: var(--ink); }
.lj-sub { font: 500 13px var(--font-body); color: var(--text-muted); }
.lj-estado { font: 600 14px var(--font-body); color: var(--ink); }
.lj-rendirse { font: 600 13px var(--font-body); color: var(--text-muted); background: none; border: none; border-bottom: 1px solid rgba(31,31,29,.3); transition: .15s; }
.lj-rendirse:hover { color: var(--coral); border-color: var(--coral); }
.lj-esc-img { border: 1px solid rgba(31,31,29,.14); border-radius: 16px; box-shadow: 0 20px 50px rgba(31,31,29,.12); }
.lj-bandeja { border-bottom: 2px solid var(--ink); }
.lj-pz { border-color: var(--ink); }
.lj-pz.listo { border-color: var(--coral); }
.lj-ref { border: 1px solid rgba(31,31,29,.2); border-radius: 8px; }
.lj-edif { border: 2px solid var(--ink); border-radius: 14px; overflow: hidden; }
.lj-win.on { background: #f6c85a; }
.lj-win { border-radius: 3px; }
@media (max-width: 700px) { .login-overlay > .orbis-brand { left: 16px; top: 14px; } .orbis-txt b { font-size: 17px; } }

/* ===== Logo: el pájaro Tiluchi animado ===== */
.orbis-mark.tl-logo { position: relative; display: block; width: 44px; height: 40px; overflow: visible; flex: none; }
.tl-logo .tiluchi-loader { position: absolute; left: 0; top: 0; scale: none; translate: none; transform: scale(.2); transform-origin: 0 0; }


/* ---- insignia del estudio (editor) ---- */
.orbis-studio{display:flex;align-items:center;gap:10px;background:var(--field);border:1px solid var(--glass-line);border-radius:16px;padding:9px 12px;margin-bottom:2px}
.orbis-studio span{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--primary);color:var(--acc-ink);font:700 13px var(--font-display)}
.orbis-studio b{font:600 .92em var(--font-body);color:var(--ink)}
#build-stamp{color:var(--text-muted)!important}

/* ---- Loader Tiluchi (pájaro) dentro del aviso de estado ---- */
#status-toast{background:#ffffff;color:var(--ink);border:1px solid rgba(31,31,29,.10);border-left:none;border-radius:16px;padding:9px 18px 9px 10px;gap:10px;box-shadow:0 14px 36px rgba(31,31,29,.16);font-family:var(--font-body)}
#status-toast.sin-tl .tl-mini{display:none}
.tl-mini{position:relative;width:46px;height:40px;flex:none;overflow:hidden}
.tl-mini .tiluchi-loader{position:absolute;left:0;top:0;scale:none;translate:none;transform:scale(.2);transform-origin:0 0}
.tiluchi-loader { scale: 0.75; position: relative; width: 200px; height: 200px; translate: 10px -20px; }
.tiluchi-loader svg { position: absolute; top: 0; left: 0; }
.tiluchi-head { translate: 27px -30px; z-index: 3; animation: tlbob 1s infinite ease-in; }
.tiluchi-bod { translate: 0px 30px; z-index: 3; animation: tlbob 1s infinite ease-in-out; }
.tiluchi-legr { translate: 75px 135px; z-index: 0; animation: tlpaso2 1s infinite ease-in; animation-delay: .45s; }
.tiluchi-legl { translate: 30px 155px; z-index: 3; animation: tlpaso1 1s infinite ease-in; }
@keyframes tlbob { 0%{transform:translateY(0) rotate(3deg)} 5%{transform:translateY(0) rotate(3deg)} 25%{transform:translateY(5px) rotate(0deg)} 50%{transform:translateY(0) rotate(-3deg)} 70%{transform:translateY(5px) rotate(0deg)} 100%{transform:translateY(0) rotate(3deg)} }
@keyframes tlpaso1 { 0%{transform:translateY(0) rotate(-5deg)} 33%{transform:translateY(-15px) translate(32px) rotate(35deg)} 66%{transform:translateY(0) translate(25px) rotate(-25deg)} 100%{transform:translateY(0) rotate(-5deg)} }
@keyframes tlpaso2 { 0%{transform:translateY(0) translate(0) rotate(-5deg)} 33%{transform:translateY(-10px) translate(30px) rotate(35deg)} 66%{transform:translateY(0) translate(20px) rotate(-25deg)} 100%{transform:translateY(0) translate(0) rotate(-5deg)} }
#tiluchi-gnd { translate: -140px 0; rotate: 10deg; z-index: -1; opacity: .25; animation: tlsuelo 5s infinite linear; }
@keyframes tlsuelo { 0%{transform:translateY(25px) translate(50px);opacity:0} 33%{opacity:.25} 66%{opacity:.25} to{transform:translateY(-50px) translate(-100px);opacity:0} }
#status-toast{bottom:76px!important;right:20px!important}

/* =====================================================================
   EDITOR · barras según la propuesta aprobada (propuesta_editor.html)
   ===================================================================== */
#sidebar { width: 270px; background: var(--paper); padding: 16px 14px; gap: 10px; }
#sidebar > .orbis-brand { padding: 4px 4px 2px; }
#sidebar .orbis-studio { display: none; }
#sidebar #build-stamp { font-size: 10px !important; margin-top: 0 !important; padding-left: 4px; }

/* Botones de la barra: píldoras claras de una sola altura */
#sidebar .btn.btn-secondary,
#sidebar > .btn.btn-secondary { background: var(--field) !important; color: var(--ink) !important; border: 1px solid rgba(31,31,29,.14) !important; border-radius: 12px !important; min-height: 40px !important; font-size: 14px !important; box-shadow: none !important; }
#sidebar .btn.btn-secondary:hover { background: var(--paper-deep) !important; }
#sidebar .btn-sm, #sidebar .file-label-small { min-height: 28px !important; padding: 0 12px !important; border-radius: 999px !important; font-size: 12px !important; font-weight: 700 !important; width: auto !important; background: var(--field) !important; color: var(--ink) !important; border: 1px solid rgba(31,31,29,.18) !important; box-shadow: none !important; }
#sidebar .btn-sm:hover, #sidebar .file-label-small:hover { background: var(--primary) !important; color: var(--acc-ink) !important; border-color: var(--primary) !important; }

/* Secciones como tarjetas */
.seccion-recursos { background: var(--field) !important; border: 1px solid rgba(31,31,29,.10) !important; border-radius: 16px !important; padding: 14px !important; box-shadow: none; }
.seccion-recursos h4 { font: 700 11px/1.2 var(--font-body) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--primary-deep, #56736d) !important; margin: 0 0 10px !important; }
#sidebar .seccion-recursos > div[style*="gap"] > .btn { border-radius: 999px !important; }

/* Filas de planos y panorámicas: una sola línea, nombre con puntos suspensivos */
.lista-items { gap: 6px; max-height: none; padding-right: 0; }
.item-recurso { display: flex; flex-wrap: nowrap; align-items: center; gap: 8px; background: var(--paper) !important; border: 1px solid transparent !important; border-radius: 12px !important; padding: 7px 8px 7px 10px !important; font-size: 13px !important; min-width: 0; }
.item-recurso .nombre { min-width: 0; flex: 1 1 auto; }
.item-recurso .btn-sm, .item-recurso button { flex: none; }
.item-recurso.seleccionado { background: var(--mauve) !important; color: var(--acc-ink) !important; border-color: transparent !important; }
.item-recurso .chk-recurso { flex: none; margin: 0; }

/* ---- Panel derecho ---- */
#panel-escena { background: var(--paper) !important; border-left: 1px solid rgba(31,31,29,.10) !important; }
#pe-cuerpo { background: var(--paper); padding: 14px 14px 16px !important; gap: 10px !important; }
.pe-tabs { display: flex !important; flex-wrap: nowrap !important; background: var(--field); border: 1px solid rgba(31,31,29,.10); border-radius: 999px; padding: 4px; gap: 2px; }
.pe-tab { flex: 1 1 0 !important; min-width: 0; min-height: 30px !important; padding: 0 6px !important; border: none !important; border-radius: 999px !important; background: transparent !important; color: var(--text-muted) !important; font-size: 12px !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pe-tab.activo { background: var(--primary) !important; color: var(--acc-ink) !important; }
#panel-escena section[data-sec] { background: var(--field); border: 1px solid rgba(31,31,29,.10); border-radius: 16px; padding: 14px; }
#panel-escena section[data-sec] > .pe-titulo:first-child { margin-top: 0; }
.pe-titulo { font: 700 11px/1.2 var(--font-body) !important; letter-spacing: .14em !important; color: #56736d !important; margin: 0 0 8px !important; }
.pe-item { background: var(--field) !important; border: 1px solid rgba(31,31,29,.16) !important; border-radius: 12px !important; color: var(--ink) !important; min-height: 38px !important; font-size: 13px !important; }
.pe-item:hover:not(:disabled) { background: rgba(122,154,148,.18) !important; border-color: var(--primary) !important; }
.pe-nota { font-size: 12px; line-height: 1.45; }
.pe-campo input[type=range] { accent-color: var(--primary); }
.pe-toggle { background: var(--primary) !important; border-color: var(--primary) !important; color: var(--acc-ink) !important; }
.pe-pie { border-top: none !important; padding-top: 6px !important; }
.pe-pie .btn { min-height: 42px !important; }

/* Añadir: rejilla de iconos en cuadros, como la propuesta */
#pe-add .icon-grid { display: grid !important; grid-template-columns: repeat(6, 1fr); gap: 6px; }
#pe-add .icon-option { width: auto !important; height: auto !important; aspect-ratio: 1; border-radius: 10px !important; background: var(--paper) !important; border: 1px solid rgba(31,31,29,.12) !important; }
#pe-add .icon-option.active { border-color: var(--mauve) !important; background: var(--paper) !important; box-shadow: 0 0 0 2px var(--mauve); }
#pe-add .icon-option-svg { width: 20px; height: 20px; }
#pe-add .vista-cuadro { border-radius: 14px; border: none; }
.pe-tab { padding: 0 2px !important; font-size: 11.5px !important; }

/* Vista previa del punto: sin fondo ni recuadro; por defecto el texto va solo */
.vista-cuadro { background: none !important; border: none !important; }

/* Privacidad: vista previa del mapa del cliente.
   La imagen del plano define la caja (en flujo normal), así que los % de los puntos coinciden con el plano real. */
.mapa-prev { position: relative; width: 100%; min-height: 160px; border-radius: 14px; overflow: hidden; background: #ffffff; border: 1px solid rgba(31,31,29,.12); margin: 8px 0 12px; }
.mapa-prev img { display: block; width: 100%; height: auto; }
.mapa-prev img[hidden], .mapa-prev [hidden] { display: none !important; }
.mapa-prev-vacio { position: absolute; inset: 0; display: grid; place-items: center; padding: 18px; text-align: center; font-size: 12px; color: var(--text-muted); }
.mapa-prev-rd { position: absolute; width: 0; height: 0; }
.mapa-prev-rd svg { position: absolute; left: -40px; top: -40px; overflow: visible; }
.mapa-prev-pt { position: absolute; width: 10px; height: 10px; border-radius: 50%; border: 2px solid #0b0b0d; transform: translate(-50%, -50%); }
#panel-escena input[type=color] { width: 44px; height: 30px; padding: 2px; border: 1px solid rgba(31,31,29,.16); border-radius: 8px; background: var(--field); cursor: pointer; }
#panel-escena label.pe-color { flex-direction: row; align-items: center; justify-content: space-between; gap: 10px; }
#panel-escena .pe-titulo.mapa-tit { margin-top: 18px !important; }
