/* LEMU · claridad visual. Capa acotada: conserva funciones y colores de canales. */
:root{--ls-bg:#f3f5f2;--ls-surface:#fff;--ls-soft:#eaf0eb;--ls-text:#20362c;--ls-muted:#53675c;--ls-line:#cbd6ce;--ls-accent:#245e43;--ls-active:#dcecdf;--ls-focus:#9b641b}
:root[data-lemu-theme="dark"]{--ls-bg:#17211d;--ls-surface:#202d26;--ls-soft:#2b3b32;--ls-text:#edf4ef;--ls-muted:#c0cfc4;--ls-line:#53655a;--ls-accent:#b6e4c5;--ls-active:#354f40;--ls-focus:#edc780}
body{background:var(--ls-bg)!important;color:var(--ls-text)!important}
#sidebar,#topbar{background:var(--ls-surface)!important;color:var(--ls-text)!important;border-color:var(--ls-line)!important}
#sidebar .sb-item,#sidebar a,#sidebar .sb-section,#sidebar .title{color:var(--ls-text)!important;text-shadow:none!important}
#sidebar .sb-section{font-size:11px;letter-spacing:.08em;color:var(--ls-muted)!important}
#sidebar .sb-item{font-size:14px;line-height:1.45;padding-top:11px;padding-bottom:11px;margin:2px 9px;border-radius:8px}
#sidebar .sb-item:hover,#sidebar .sb-item.active{background:var(--ls-active)!important;color:var(--ls-text)!important}
#sidebar .sb-item.active{box-shadow:inset 3px 0 var(--ls-accent)}
#sidebar .sb-logo,#sidebar .sb-logo>*{background:var(--ls-surface)!important}
#sidebar .sb-logo .name{color:var(--ls-accent)!important}
.ls-nav-group{border-top:1px solid var(--ls-line);margin:7px 9px 0;padding-top:4px;flex-shrink:0}
.ls-nav-group>summary{padding:13px 8px;cursor:pointer;font-size:14px;font-weight:650;color:var(--ls-text);list-style-position:inside;border-radius:6px}
.ls-nav-group>summary:hover{background:var(--ls-soft)}
.ls-nav-group>summary a{color:inherit;text-decoration:none;margin-left:5px}
.ls-nav-group>summary a:hover{text-decoration:underline}
.ls-nav-group .sb-item{margin-left:8px!important;font-size:13px!important}
#sidebar .ls-direct{display:flex;align-items:center;gap:8px;text-decoration:none;border:1px solid var(--ls-line);background:var(--ls-soft)!important}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[role="button"]:focus-visible{outline:3px solid var(--ls-focus)!important;outline-offset:3px}
#topbar #panel-title,.dc-title{color:var(--ls-text)!important;text-shadow:none!important}
.dc-title{font-size:22px!important;min-width:190px!important}
.dc-stats,.dc-legend,.dc-unit-name,.dc-day-name,.dc-header-label{color:var(--ls-muted)!important}
.dc-controls{background:var(--ls-surface)!important;border:1px solid var(--ls-line);border-radius:10px;padding:12px!important;gap:8px!important;flex-wrap:wrap!important;overflow:visible!important}
.dc-btn{background:var(--ls-soft)!important;color:var(--ls-text)!important;border:1px solid var(--ls-line)!important;box-shadow:none!important}
.dc-grid,.dc-scroll,#dc-scroll{background:var(--ls-surface)!important;border-color:var(--ls-line)!important}
.dc-header,.dc-header-label,.dc-label-cell{background:var(--ls-soft)!important;border-color:var(--ls-line)!important}
.dc-cell,.dc-row{border-color:var(--ls-line)!important}
.dc-cell{background:var(--ls-surface)!important}
.dc-cell.dc-weekend{background:var(--ls-bg)!important}
.dc-cell.dc-today,.dc-day-header.dc-today{background:var(--ls-active)!important;box-shadow:inset 0 -2px var(--ls-accent)!important}
.dc-day-header,.dc-day-num,.dc-unit-code{color:var(--ls-text)!important}
.dc-day-price{color:var(--ls-muted)!important;opacity:1!important}
.dc-cell.dc-past{opacity:.8!important}
.dc-bar-text{font-weight:700;text-shadow:0 1px 2px #000}
.dc-bar-nights{color:#fff!important;text-shadow:0 1px 2px #000}
.dc-bar.pay-pending::before{animation:none!important}
.ls-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;border:1px solid var(--ls-line);border-radius:12px;background:var(--ls-surface);margin:0 0 20px;color:var(--ls-text)}
.ls-banner p{margin:5px 0 0;color:var(--ls-muted);line-height:1.5}
.ls-link{display:inline-flex;align-items:center;justify-content:center;padding:11px 16px;border:1px solid var(--ls-accent);border-radius:8px;background:var(--ls-accent);color:var(--ls-surface)!important;text-decoration:none;font-weight:700;white-space:nowrap;cursor:pointer;font-size:14px}
.ls-link[aria-disabled="true"]{background:var(--ls-soft);color:var(--ls-muted)!important;border-color:var(--ls-line);cursor:default}
.ls-catalog{margin-bottom:24px;color:var(--ls-text)}
.ls-catalog h2{font-size:24px;letter-spacing:-.03em;margin:0 0 8px}
.ls-catalog>p{color:var(--ls-muted);max-width:760px;line-height:1.6}
.ls-apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:18px 0}
.ls-app{border:1px solid var(--ls-line);border-radius:12px;padding:20px;background:var(--ls-surface);display:flex;flex-direction:column;gap:12px}
.ls-app h3,.ls-app p{margin:0}.ls-app p{line-height:1.6;color:var(--ls-muted);flex:1}
.ls-app small{color:var(--ls-muted)}.ls-app button{padding:9px;border:1px solid var(--ls-line);border-radius:8px;background:var(--ls-soft);color:var(--ls-text);cursor:pointer}
.ls-studio{--bg:var(--ls-bg);--panel:var(--ls-surface);--panel2:var(--ls-surface);--line:var(--ls-line);--txt:var(--ls-text);--mut:var(--ls-muted);--gold:var(--ls-accent);--gold2:var(--ls-accent)}
.ls-studio header{background:var(--ls-surface);padding:20px 28px;gap:18px;flex-wrap:wrap}
.ls-studio header h1{color:var(--ls-text);letter-spacing:-.025em;font-size:23px}
.ls-studio header .sub{font-size:14px;line-height:1.6;max-width:600px}
.ls-studio header a{margin-left:0}
.ls-studio .wrap{gap:24px;padding:26px;align-items:start}
.ls-studio .card{padding:24px;box-shadow:0 4px 20px #163c2410}
.ls-studio .card h2{font-size:15px;letter-spacing:.02em;text-transform:none}
.ls-studio label{font-size:12px;letter-spacing:.025em;font-weight:650;color:var(--ls-muted);margin-top:18px}
.ls-studio input,.ls-studio textarea,.ls-studio select{border-color:var(--ls-line);line-height:1.5;color:var(--ls-text);background:var(--ls-surface)}
.ls-studio ::placeholder{color:var(--ls-muted);opacity:1}
.ls-studio .btn{background:var(--ls-accent);color:var(--ls-surface);box-shadow:none}
.ls-studio .btn-sec{background:var(--ls-soft);color:var(--ls-text);border-color:var(--ls-line)}
.ls-studio .tabs{flex-wrap:wrap;gap:6px}.ls-studio .tab{color:var(--ls-text);background:var(--ls-soft);line-height:1.4;padding:10px 12px}
.ls-studio .tab.on,.ls-studio .chip.on{background:var(--ls-active);color:var(--ls-text);border-color:var(--ls-accent)}
.ls-studio .preview-img{height:auto;max-height:380px;object-fit:contain;min-height:0;background:var(--ls-soft)}
.ls-studio .ls-preview-note{font-size:13px;padding:14px;background:var(--ls-soft);border-radius:8px;color:var(--ls-muted);line-height:1.5}
.ls-studio details.ls-advanced{margin-top:18px;border-top:1px solid var(--ls-line);padding-top:12px}
.ls-studio details.ls-advanced>summary{cursor:pointer;color:var(--ls-text);font-weight:650;padding:8px 0}
@media(max-width:700px){.ls-banner{align-items:stretch;flex-direction:column}.ls-studio header{padding:18px}.ls-studio .wrap{padding:14px}.ls-studio .card{padding:18px}.ls-studio .row{flex-direction:column}.ls-link{white-space:normal}.dc-title{font-size:19px!important;min-width:150px!important}.ls-apps{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}


/* Reservas: superficie clara permanente, incluso con el panel en modo oscuro. */
#modal-overlay #modal-box {
  color-scheme: light;
  background: #fff !important;
  color: #111 !important;
  border: 1px solid #cbd5d1 !important;
}
#modal-box #modal-body { background: #fff !important; color: #111 !important; }
#modal-box #modal-title, #modal-box #modal-body h3,
#modal-box #modal-body .form-label { color: #111 !important; text-shadow: none !important; }
#modal-box input, #modal-box textarea, #modal-box select {
  color-scheme: light;
  background: #fff !important; color: #111 !important;
  border-color: #9ca9a1 !important;
}
#modal-box input::placeholder, #modal-box textarea::placeholder { color: #59665f !important; opacity: 1; }
#modal-box #modal-body [style*="background:#0D1B14"],
#modal-box #modal-body [style*="background:#0F1B14"] { background: #f4f6f4 !important; }
#modal-box #modal-body [style*="color:#7A9B85"],
#modal-box #modal-body [style*="color:#C7D6CC"],
#modal-box #modal-body [style*="color:#F5EFE0"],
#modal-box #modal-body [style*="color:#FFFFFF"] { color: #111 !important; }
#modal-box button { min-height: 36px; }
#modal-box button[style*="background:#334"],
#modal-box .btn-secondary { background: #edf1ee !important; color: #111 !important; border: 1px solid #a8b5ad; }
#modal-box #modal-body button[style*="color:#C9A040"] { color: #654800 !important; }
#modal-box #modal-body button[style*="background:#0052CC"],
#modal-box #modal-body button[style*="background:#64748B"],
#modal-box #modal-body button[style*="background:#FF5A5F"] { color: #fff !important; }
#modal-box #modal-body button[style*="background:#FF5A5F"] { background: #b42318 !important; }
#modal-box #modal-body a[href*="whatsapp.com"] { color: #075b2a !important; box-shadow: none !important; }
#modal-box button:disabled, #modal-box input:disabled, #modal-box select:disabled { cursor: wait; }
#modal-box ::selection { background: #dcecdf; color: #111; }
@media (max-width: 600px) {
  #modal-overlay #modal-box { padding: 18px 14px; }
  #modal-box input, #modal-box textarea, #modal-box select { min-width: 0; max-width: 100%; font-size: 16px; }
  #modal-box .form-group { min-width: 0; }
}
#modal-box .modal-close { color: #111 !important; text-shadow: none !important; }
