/* ==========================================================
   CUMBRE - PANEL UNIFICADO
   Un solo CSS para panel, módulos, login y registro.
   ========================================================== */
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@600;700;800&display=swap');
:root{
  --bg:#eef2ef;
  --paper:#ffffff;
  --ink:#4f4034;
  --muted:#64736b;
  --line:#dfd4c7;
  --green:#9a8068;
  --green-dark:#6d5846;
  --green-soft:#efe5da;
  --sand:#c8a56c;
  --shadow:0 16px 36px rgba(24,54,43,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Manrope',sans-serif;background:var(--bg);color:var(--ink);min-height:100vh}
body.drawer-open{overflow:hidden}
a{text-decoration:none;color:inherit}
button,input,select{font:inherit}

.app-header{height:78px;background:rgba(255,255,255,.96);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 clamp(18px,4vw,56px);position:sticky;top:0;z-index:40;backdrop-filter:blur(10px)}
.brand-wrap{display:flex;align-items:center;gap:11px}
.brand-mark{width:40px;height:40px;border-radius:13px;background:var(--green-dark);display:grid;place-items:center;color:#fff;font-size:23px;transform:rotate(-8deg)}
.brand-wrap strong{display:block;font-family:'Sora',sans-serif;font-size:21px;line-height:1}
.brand-wrap span{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:var(--muted);margin-top:5px}
.header-actions{display:flex;align-items:center;gap:10px}
.header-link,.logout-button,.menu-button{border:1px solid var(--line);background:#fff;border-radius:12px;padding:10px 13px;font-size:11px;font-weight:800;color:#4e655b;cursor:pointer}
.logout-button{background:#4f4034;color:#fff;border-color:#4f4034}
.user-chip{display:flex;align-items:center;gap:8px;padding:7px 10px;border:1px solid var(--line);border-radius:12px;background:#fafcfb;font-size:11px;font-weight:700}
.user-avatar{width:27px;height:27px;border-radius:9px;background:var(--green-soft);display:grid;place-items:center;color:var(--green-dark)}
.menu-button{display:none;width:44px;height:40px;padding:8px;align-items:center;justify-content:center;flex-direction:column;gap:4px}
.menu-button span:not(.sr-only){width:18px;height:2px;border-radius:999px;background:var(--green-dark);display:block}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.panel-main{width:min(1500px,calc(100% - 310px));margin:0 auto;margin-right:270px;margin-left:20px;padding:24px 0 60px}
.hero-panel{position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(120deg,#183b2f 0%,#276a55 58%,#3b8d74 100%);color:#fff;padding:18px 30px;display:flex;justify-content:space-between;align-items:center;gap:24px;box-shadow:0 18px 38px rgba(96,75,56,.16);margin-bottom:16px;min-height:132px}
.hero-panel::after{content:'';position:absolute;right:-80px;bottom:-80px;width:360px;height:190px;background:linear-gradient(135deg,transparent 48%,rgba(255,255,255,.08) 49% 58%,transparent 59% 67%,rgba(255,255,255,.06) 68% 75%,transparent 76%);transform:skewX(-15deg)}
.hero-panel h1{font-family:'Sora',sans-serif;font-size:33px;line-height:1.05;margin-top:7px;position:relative;z-index:2}
.hero-panel p{max-width:720px;color:#dfece6;margin-top:8px;font-size:13px;line-height:1.5;position:relative;z-index:2}
.eyebrow-panel{text-transform:uppercase;letter-spacing:1.9px;font-size:9px;font-weight:800;color:var(--sand)}
.mountain-badge{position:relative;z-index:3;width:156px;min-height:88px;border:1px solid rgba(255,255,255,.2);border-radius:18px;background:rgba(255,255,255,.08);padding:17px;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.mountain-badge::after{content:'⌁';position:absolute;right:7px;bottom:-20px;font-size:100px;line-height:1;opacity:.15}
.mountain-badge span{font-size:9px;letter-spacing:2px;font-weight:800;color:#d8e8e0}
.mountain-badge strong{font-family:'Sora',sans-serif;font-size:14px;line-height:1.25;margin-top:8px;max-width:110px}

.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:30px}
.stats article{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:17px 18px;box-shadow:var(--shadow)}
.stats span,.stats small{display:block;color:var(--muted);font-size:11px}
.stats strong{display:block;font-family:'Sora',sans-serif;font-size:24px;margin:7px 0 4px}
.stats small{font-size:10px}

.modules-section{margin-bottom:25px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:15px}
.section-heading h2{font-family:'Sora',sans-serif;font-size:27px;margin-top:5px}
.section-heading p{font-size:12px;color:var(--muted);max-width:600px;line-height:1.55}
.shortcut-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.module-card{position:relative;min-height:245px;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:25px 23px 21px;overflow:hidden;box-shadow:var(--shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column}
.module-card:hover{transform:translateY(-5px);box-shadow:0 24px 44px rgba(24,54,43,.12);border-color:#b9cec3}
.module-card::before{content:'';position:absolute;right:-34px;top:-38px;width:125px;height:125px;border-radius:50%;background:var(--card-soft,#efe5da)}
.module-card::after{content:'';position:absolute;right:-8px;bottom:-8px;width:88px;height:48px;background:linear-gradient(145deg,transparent 25%,rgba(138,116,94,.08) 26% 40%,transparent 41% 55%,rgba(138,116,94,.07) 56% 67%,transparent 68%)}
.module-card-1{--card:#238a72;--card-soft:#e4f3ee}.module-card-2{--card:#5f7354;--card-soft:#eaf0e6}.module-card-3{--card:#56707d;--card-soft:#e7edf0}.module-card-4{--card:#9a7550;--card-soft:#f2eadf}.module-card-5{--card:#6b637e;--card-soft:#eeecf3}
.module-card-icon{position:relative;z-index:2;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;background:var(--card-soft);color:var(--card);font-size:30px;border:1px solid rgba(23,49,38,.05);margin-bottom:24px}
.module-card-body{position:relative;z-index:2}
.module-card h3{font-family:'Sora',sans-serif;font-size:19px;line-height:1.15;color:#102b21}
.module-card p{font-size:11px;line-height:1.6;color:#66766e;margin-top:9px;max-width:210px}
.module-card-arrow{display:block;font-size:25px;line-height:1;color:var(--card);margin-top:22px}
.module-card-number{position:absolute;right:16px;bottom:17px;font-size:9px;letter-spacing:1.5px;font-weight:800;color:#aab8b1}

.lower-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:16px}
.info-card{background:var(--paper);border:1px solid var(--line);border-radius:21px;padding:23px;box-shadow:var(--shadow)}
.info-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.info-card-head a{font-size:11px;font-weight:800;color:var(--green-dark)}
.trip-row{display:grid;grid-template-columns:1.1fr 1.8fr 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--line);align-items:center;font-size:12px}
.trip-row:first-of-type{border-top:0}.trip-row span{color:#53655d}.trip-row b{justify-self:end;background:var(--green-soft);color:var(--green-dark);padding:6px 9px;border-radius:999px;font-size:10px}
.adventure-tip{background:linear-gradient(140deg,#f7efe4,#fffdf9)}
.adventure-tip h2{font-family:'Sora',sans-serif;font-size:24px;line-height:1.15;margin-top:7px}
.adventure-tip p{font-size:12px;line-height:1.65;color:var(--muted);margin-top:12px;max-width:500px}

/* Menú lateral de módulos en escritorio */
.desktop-module-sidebar{position:fixed;top:78px;right:0;width:244px;height:calc(100vh - 78px);background:rgba(255,255,255,.97);border-left:1px solid var(--line);padding:24px 16px 28px;overflow-y:auto;z-index:35;box-shadow:-10px 0 24px rgba(20,51,40,.05);backdrop-filter:blur(10px)}
.desktop-sidebar-head{padding:0 6px 18px;border-bottom:1px solid var(--line);margin-bottom:12px}
.desktop-sidebar-head h2{font-family:'Sora',sans-serif;font-size:22px;margin-top:5px}
.desktop-sidebar-head p{font-size:10px;line-height:1.5;color:var(--muted);margin-top:6px}
.desktop-modules{display:grid;gap:6px}
.desktop-module-link{display:flex;align-items:center;gap:9px;padding:9px 7px;border-radius:13px;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,transform .15s ease}
.desktop-module-link:hover{background:#f3ede6;border-color:var(--line);transform:translateX(-2px)}
.desktop-module-icon{width:36px;height:36px;min-width:36px;border-radius:11px;display:grid;place-items:center;font-size:17px;background:var(--card-soft);color:var(--card)}
.desktop-module-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.desktop-module-copy strong{font-family:'Sora',sans-serif;font-size:11px;color:#163126}
.desktop-module-copy small{font-size:9px;line-height:1.35;color:var(--muted);margin-top:2px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.desktop-module-arrow{font-size:20px;color:#7a8d84}

/* Menú de módulos para móvil */
.drawer-overlay{position:fixed;inset:0;background:rgba(13,31,24,.38);z-index:80;opacity:0;transition:opacity .22s ease}
.drawer-overlay.is-open{opacity:1}
.module-drawer{position:fixed;top:0;right:-340px;width:min(340px,88vw);height:100vh;background:#fff;z-index:90;border-left:1px solid var(--line);box-shadow:-18px 0 40px rgba(10,29,22,.14);padding:22px 18px 24px;overflow-y:auto;transition:right .22s ease}
.module-drawer.is-open{right:0}
.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:4px 4px 18px;border-bottom:1px solid var(--line);margin-bottom:12px}
.drawer-head h2{font-family:'Sora',sans-serif;font-size:25px;margin-top:5px}
.drawer-close{width:38px;height:38px;border-radius:12px;border:1px solid var(--line);background:#faf6f1;color:var(--green-dark);font-size:22px;cursor:pointer;line-height:1}
.drawer-modules{display:grid;gap:7px}
.drawer-module{display:flex;align-items:center;gap:11px;padding:11px 9px;border-radius:14px;transition:background .15s ease,transform .15s ease}
.drawer-module:hover{background:#f3ede6;transform:translateX(-2px)}
.drawer-module-icon{width:40px;height:40px;min-width:40px;border-radius:12px;display:grid;place-items:center;font-size:19px;background:var(--card-soft);color:var(--card)}
.drawer-module-text{display:flex;flex-direction:column;min-width:0}
.drawer-module-text strong{font-family:'Sora',sans-serif;font-size:12px;color:#163126}
.drawer-module-text small{font-size:10px;color:var(--muted);line-height:1.4;margin-top:2px}
.drawer-module-arrow{margin-left:auto;font-size:22px;color:#7a8d84}

.login-page{min-height:100vh;display:grid;place-items:center;background:linear-gradient(135deg,#eee5dc,#dce8e1);padding:18px}
.login-card{width:min(450px,100%);background:#fff;border:1px solid var(--line);border-radius:24px;padding:34px;box-shadow:var(--shadow)}
.login-brand{font-family:'Sora',sans-serif;font-size:24px;color:var(--green-dark);margin-bottom:27px}
.login-card h1{font-family:'Sora',sans-serif;font-size:29px}.login-card>p{color:var(--muted);font-size:13px;margin:8px 0 21px}
.login-card label{display:block;font-size:11px;font-weight:800;margin-top:15px;color:#44564e}
.login-card input{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);border-radius:12px;outline:none;background:#fcfaf7}
.btn-panel{width:100%;margin-top:18px;border:0;border-radius:12px;padding:13px 16px;font-weight:800;background:var(--green-dark);color:#fff;cursor:pointer}
.btn-panel:disabled{opacity:.65;cursor:wait}.notice{padding:10px 12px;border-radius:10px;font-size:12px;margin-bottom:10px}.notice.error{background:#f8e9e8;color:#933e39}.notice.success{background:#e8f4eb;color:#3e6b49}.hidden{display:none!important}.back-link{display:block;text-align:center;margin-top:15px;color:var(--muted);font-size:11px;font-weight:600}

@media(max-width:1280px){.shortcut-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1050px){.desktop-module-sidebar{display:none}.panel-main{width:min(100% - 36px,1180px);margin:0 auto}.shortcut-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stats{grid-template-columns:repeat(2,1fr)}.hero-panel{align-items:flex-start}.mountain-badge{display:none}.lower-grid{grid-template-columns:1fr}}
@media(max-width:760px){
  .app-header{height:auto;min-height:72px;padding:13px 16px;gap:12px}
  .header-actions{gap:6px}
  .header-link,.user-chip{display:none}
  .menu-button{display:flex}
  .logout-button{padding:9px 10px;font-size:10px}
  .panel-main{width:min(100% - 24px,620px);margin:0 auto;padding:18px 0 45px}
  .hero-panel{padding:16px 18px;border-radius:20px;min-height:112px}
  .hero-panel h1{font-size:24px}
  .hero-panel p{font-size:10px;max-width:560px}
  .stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px}
  .stats article{padding:14px}
  .stats strong{font-size:20px}
  .section-heading{display:block}.section-heading p{margin-top:8px}
  .shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
  .module-card{min-height:190px;border-radius:17px;padding:16px 15px 15px}
  .module-card-icon{width:55px;height:55px;font-size:23px;margin-bottom:15px}
  .module-card h3{font-size:15px}.module-card p{font-size:9.5px;line-height:1.45;margin-top:7px;max-width:100%}
  .module-card-arrow{margin-top:13px;font-size:22px}.module-card-number{right:12px;bottom:12px}
  .trip-row{grid-template-columns:1fr}.trip-row b{justify-self:start}
}
@media(max-width:360px){
  .panel-main{width:min(100% - 18px,620px)}
  .shortcut-grid{gap:8px}
  .module-card{padding:14px 12px;min-height:184px}
  .module-card-icon{width:50px;height:50px;font-size:21px}
  .module-card h3{font-size:14px}
}


/* ==========================================================
   ESTILOS DEL DASHBOARD ACTUAL
   ========================================================== */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

:root{
    --verde:#6b5544;
    --verde2:#8b735b;
    --verde3:#23a184;
    --verde-claro:#f0e6dc;
    --fondo:#f5f8f8;
    --texto:#173b45;
    --gris:#718791;
    --borde:#dce7e9;
}

html{
    scroll-behavior:smooth;
}

body{
    font-family:'DM Sans',sans-serif;
    background:var(--fondo);
    color:var(--texto);
    overflow-x:hidden;
}

a{
    text-decoration:none;
    color:inherit;
}

.app{
    min-height:100vh;
}

/* =========================
   CONTENIDO
========================= */

.content{
    width:calc(100% - 260px);
    margin-right:260px;
    min-height:100vh;
}

.topbar{
    height:80px;
    background:#fff;
    border-bottom:1px solid var(--borde);
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:0 25px 0 34px;
}

.search{
    width:48%;
    max-width:500px;
    height:42px;
    border:1px solid #dce6e8;
    background:#f7f9fa;
    border-radius:24px;
    display:flex;
    align-items:center;
    gap:10px;
    padding:0 16px;
    color:#75909a;
}

.search span{
    font-size:22px;
}

.search input{
    width:100%;
    border:0;
    outline:0;
    background:transparent;
    font:13px 'DM Sans';
    color:#425b63;
}

.user-area{
    display:flex;
    align-items:center;
    gap:12px;
}

.help-button, .logout-button-panel{
    border:1px solid #dfd5ca;
    background:#fff;
    color:#6d5846;
    border-radius:11px;
    padding:9px 12px;
    font:700 10px 'DM Sans',sans-serif;
    cursor:pointer;
    white-space:nowrap;
}

.help-button:hover{
    background:#f8f3ed;
}

.logout-button-panel{
    background:#4f4034;
    border-color:#4f4034;
    color:#fff;
}

.support-link{
    font:600 10px 'DM Sans',sans-serif;
    color:#55736a;
    text-decoration:none;
    white-space:nowrap;
}

.support-link:hover{
    color:#0f7f67;
}

.help-popover{
    position:fixed;
    top:72px;
    right:285px;
    width:260px;
    background:#fff;
    border:1px solid #dce8e3;
    border-radius:14px;
    box-shadow:0 18px 45px rgba(92,72,55,.16);
    padding:14px;
    z-index:120;
    opacity:0;
    pointer-events:none;
    transform:translateY(-6px);
    transition:.18s ease;
}

.help-popover.open{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
}

.help-popover-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
}

.help-popover-head strong{
    color:#153a36;
    font-size:12px;
}

.help-popover-head button{
    border:0;
    background:transparent;
    color:#79918d;
    font-size:18px;
    cursor:pointer;
}

.help-popover p{
    margin:10px 0 7px;
    color:#6a7f7b;
    font-size:10px;
}

.help-popover a{
    color:#0f8068;
    font-size:11px;
    font-weight:700;
    text-decoration:none;
}

.notification,
.logout{
    border:0;
    background:none;
    font-size:21px;
    color:#073f43;
    cursor:pointer;
}

.notification{
    position:relative;
}

.notification i{
    width:6px;
    height:6px;
    background:#0e9b7e;
    border-radius:50%;
    position:absolute;
    right:0;
    top:0;
}

.sep{
    width:1px;
    height:34px;
    background:#e0e7e8;
    margin:0 7px;
}

.avatar{
    width:40px;
    height:40px;
    border-radius:50%;
    background:
        linear-gradient(rgba(92,72,55,.18),rgba(92,72,55,.18)),
        url('../img/montana-dashboard.jpg') center/cover;
    display:grid;
    place-items:center;
    overflow:hidden;
}

.avatar span{
    width:100%;
    height:100%;
    display:grid;
    place-items:center;
    color:#fff;
    font-weight:700;
    background:rgba(92,72,55,.28);
}

.user-info strong{
    display:block;
    font-size:12px;
}

.user-info span{
    display:block;
    color:#829399;
    font-size:10px;
    margin-top:2px;
}

.chevron{
    font-size:17px;
    color:#789097;
}

/* =========================
   PAGINA
========================= */

.page{
    padding:20px 24px 24px;
}

.layout{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.right-info{
    order:0;
    display:grid;
    grid-template-columns:1.15fr 1.45fr .9fr;
    gap:12px;
    width:100%;
}

.right-info .info-card{
    min-width:0;
    margin:0;
}

.main-column{
    min-width:0;
}

/* =========================
   HERO
========================= */

.hero{
    height:210px;
    border-radius:12px;
    overflow:hidden;
    position:relative;
    background:
        url('../img/montana-dashboard.jpg')
        center 56%/cover;
    box-shadow:0 5px 18px rgba(12,65,65,.06);
}

.hero-overlay{
    position:absolute;
    inset:0;
    background:
        linear-gradient(
            90deg,
            rgba(2,56,54,.96) 0%,
            rgba(2,56,54,.79) 37%,
            rgba(2,56,54,.18) 73%,
            rgba(2,56,54,.04) 100%
        );
}

.hero-content{
    position:relative;
    z-index:2;
    padding:36px 31px;
    color:#fff;
}

.hero-content small{
    font-size:9px;
    letter-spacing:1.4px;
    color:#9ad7ca;
}

.hero h1{
    font-family:'Plus Jakarta Sans';
    font-size:30px;
    line-height:1.05;
    margin:7px 0 8px;
}

.hero p{
    font-size:14px;
    line-height:1.5;
    max-width:470px;
    color:#f0f7f6;
}

.hero-line{
    width:28px;
    height:3px;
    background:#43c4a3;
    margin-top:14px;
}

.hero-stats{
    display:flex;
    gap:0;
    margin-top:17px;
}

.hero-stats span{
    display:flex;
    align-items:center;
    gap:8px;
    padding:0 20px;
    border-right:1px solid rgba(255,255,255,.3);
    font-size:10px;
}

.hero-stats span:first-child{
    padding-left:0;
}

.hero-stats span:last-child{
    border:0;
}

.hero-stats b{
    font-size:17px;
    color:#b5e8dc;
}

/* =========================
   TITULO
========================= */

.modules-title{
    display:flex;
    align-items:center;
    gap:9px;
    margin:25px 0 13px;
}

.modules-title span{
    width:22px;
    height:4px;
    border-radius:5px;
    background:#169b7e;
}

.modules-title h2{
    font-family:'Plus Jakarta Sans';
    font-size:18px;
    color:#143a45;
}

/* =========================
   MODULOS
========================= */

.modules{
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:14px;
}

.module{
    background:#fff;
    border:1px solid var(--borde);
    border-radius:9px;
    min-height:191px;
    overflow:hidden;
    position:relative;
    display:flex;
    flex-direction:column;
    transition:.18s ease;
}

.module:hover{
    transform:translateY(-3px);
    box-shadow:0 10px 25px rgba(11,76,71,.10);
}

.module-body{
    position:relative;
    padding:12px 13px 9px;
    flex:1;
}

.module-icon{
    width:39px;
    height:39px;
    border-radius:50%;
    background:linear-gradient(145deg,#36b294,#08725f);
    color:#fff;
    display:grid;
    place-items:center;
    font-size:17px;
    margin-bottom:9px;
    box-shadow:0 4px 9px rgba(8,114,95,.15);
}

.module h3{
    font-family:'Plus Jakarta Sans';
    font-size:12px;
    color:#153d49;
    line-height:1.2;
    margin-bottom:5px;
}

.module p{
    color:#617985;
    font-size:9px;
    line-height:1.35;
    max-width:175px;
}

.module .arrow{
    position:absolute;
    right:11px;
    bottom:9px;
    font-size:17px;
    color:#164b56;
}

.module img{
    display:block;
    width:100%;
    height:61px;
    object-fit:cover;
}

/* =========================
   PANEL DERECHO
========================= */

.right-info{
    display:flex;
    flex-direction:column;
    gap:17px;
}

.info-card{
    background:#fff;
    border:1px solid var(--borde);
    border-radius:10px;
    overflow:hidden;
    padding:14px 14px 11px;
}

.info-title{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:9px;
}

.info-title>span{
    color:#07806c;
    font-size:18px;
}

.info-title h3{
    font-family:'Plus Jakarta Sans';
    font-size:12px;
    color:#153e48;
}

.info-title a{
    margin-left:auto;
    color:#58737d;
    font-size:9px;
}

.summary-row{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:57px;
    border-top:1px solid #eee6dd;
}

.summary-icon{
    width:39px;
    height:39px;
    border-radius:50%;
    background:#e9f5f1;
    color:#8b735b;
    display:grid;
    place-items:center;
    font-size:17px;
}

.summary-row>div:nth-child(2){
    flex:1;
}

.summary-row small{
    display:block;
    color:#7b929a;
    font-size:8px;
    margin-bottom:3px;
}

.summary-row strong{
    font-size:13px;
    color:#244b59;
}

.summary-row>b{
    color:#75919a;
    font-size:18px;
}

.reservation{
    min-height:47px;
    display:grid;
    grid-template-columns:7px 1fr auto;
    align-items:center;
    gap:8px;
    border-top:1px solid #eee6dd;
}

.reservation i{
    width:6px;
    height:6px;
    background:#cf7d24;
    border-radius:50%;
}

.reservation i.green{
    background:#179a7d;
}

.reservation strong{
    display:block;
    color:#294a56;
    font-size:9px;
    margin-bottom:2px;
}

.reservation small{
    display:block;
    color:#83979d;
    font-size:8px;
}

.reservation>span{
    color:#66828c;
    font-size:8px;
}

.calendar-title{
    display:flex;
    justify-content:space-between;
    align-items:center;
    color:#244a55;
    font-size:11px;
    margin-bottom:8px;
}

.calendar-title span{
    color:#77929b;
    font-size:17px;
}

.calendar{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:3px;
    text-align:center;
}

.calendar>*{
    min-height:23px;
    display:grid;
    place-items:center;
    font-size:8px;
}

.calendar b{
    color:#82979d;
    font-size:8px;
}

.calendar em{
    width:23px;
    height:23px;
    border-radius:50%;
    background:#0a7764;
    color:#fff;
    font-style:normal;
    place-self:center;
}

.calendar em.event{
    background:#d9f0e9;
    color:#21745f;
}

/* =========================
   SIDEBAR DERECHO
========================= */

.sidebar{
    position:fixed;
    z-index:200;
    top:0;
    right:0;
    bottom:0;
    width:260px;
    background:
        linear-gradient(
            180deg,
            rgba(1,59,56,.96),
            rgba(1,49,48,.99)
        );
    color:#fff;
    overflow:hidden;
    padding:0 10px;
}

.sidebar:after{
    content:"";
    position:absolute;
    inset:0;
    pointer-events:none;
    background:
        radial-gradient(circle at 20% 30%,rgba(138,116,94,.08),transparent 35%),
        radial-gradient(circle at 80% 80%,rgba(138,116,94,.07),transparent 32%);
}

.sidebar-logo{
    height:72px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 12px;
    border-bottom:1px solid rgba(255,255,255,.08);
    position:relative;
    z-index:3;
}

.brand strong{
    display:block;
    font-family:'Plus Jakarta Sans';
    font-size:22px;
    line-height:1;
}

.brand small{
    display:block;
    color:#8fc6bd;
    font-size:8px;
    letter-spacing:.7px;
    margin-top:5px;
}

.logo-mountain{
    width:57px;
    height:42px;
    position:relative;
}

.logo-mountain span{
    position:absolute;
    bottom:6px;
    border-style:solid;
    border-width:0 0 0 0;
    filter:drop-shadow(0 0 2px rgba(255,255,255,.25));
}

.logo-mountain span:nth-child(1){
    left:0;
    width:0;
    height:0;
    border-left:27px solid transparent;
    border-right:27px solid transparent;
    border-bottom:32px solid #fff;
}

.logo-mountain span:nth-child(2){
    left:18px;
    bottom:5px;
    width:0;
    height:0;
    border-left:19px solid transparent;
    border-right:19px solid transparent;
    border-bottom:24px solid #42c2a5;
}

.logo-mountain span:nth-child(3){
    left:27px;
    bottom:6px;
    width:0;
    height:0;
    border-left:9px solid transparent;
    border-right:9px solid transparent;
    border-bottom:12px solid #6b5544;
}

.menu-title{
    position:relative;
    z-index:3;
    color:#7fa9a4;
    font-size:9px;
    letter-spacing:1.2px;
    margin:14px 10px 7px;
}

.menu{
    position:relative;
    z-index:3;
    display:flex;
    flex-direction:column;
    gap:2px;
    /* En pantallas grandes se muestra todo el menú. */
    max-height:none;
    overflow:visible;
    padding:0 3px 10px 0;
}


.menu a{
    min-height:38px;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 10px;
    border-radius:7px;
    color:#c5d9d6;
    font-size:11px;
}

.menu a:hover{
    background:rgba(255,255,255,.07);
    color:#fff;
}

.menu a.active{
    background:#158f75;
    color:#fff;
    font-weight:700;
}

.menu a span{
    width:22px;
    text-align:center;
    font-size:17px;
}

.menu a i{
    margin-left:auto;
    font-style:normal;
    font-size:17px;
    color:#93b7b1;
}

.sidebar-bottom{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:225px;
    z-index:2;
    overflow:hidden;
    background:
        linear-gradient(
            transparent,
            rgba(0,0,0,.18)
        );
}

.mountain-art{
    position:absolute;
    left:-30px;
    right:-30px;
    bottom:40px;
    height:150px;
}

.peak{
    position:absolute;
    bottom:0;
    width:0;
    height:0;
    border-left:85px solid transparent;
    border-right:85px solid transparent;
    border-bottom:120px solid #0a6b5d;
}

.peak.p1{
    left:-25px;
}

.peak.p2{
    left:70px;
    border-bottom-color:#087060;
    border-left-width:105px;
    border-right-width:105px;
    border-bottom-width:145px;
}

.peak.p3{
    right:-30px;
    border-bottom-color:#0b7765;
    border-left-width:120px;
    border-right-width:120px;
    border-bottom-width:135px;
}

.tree{
    position:absolute;
    bottom:0;
    width:0;
    height:0;
    border-left:15px solid transparent;
    border-right:15px solid transparent;
    border-bottom:45px solid #6d5846;
}

.tree:after{
    content:"";
    position:absolute;
    left:-11px;
    bottom:-45px;
    width:22px;
    height:30px;
    background:#6d5846;
    clip-path:polygon(50% 0,100% 100%,0 100%);
}

.t1{left:18px}
.t2{left:145px;transform:scale(1.3)}
.t3{left:195px;transform:scale(.9)}
.t4{right:38px;transform:scale(1.25)}
.t5{right:105px;transform:scale(.8)}

.slogan{
    position:absolute;
    z-index:4;
    left:0;
    right:0;
    bottom:17px;
    text-align:center;
    color:#d6e9e5;
    font-family:'Plus Jakarta Sans';
    font-size:12px;
    font-style:italic;
    line-height:1.45;
}

.slogan span{
    display:block;
    color:#3cc5a4;
    font-size:22px;
    line-height:18px;
}

/* =========================
   FOOTER / CHAT
========================= */

.footer{
    min-height:44px;
    border-top:1px solid #e0e9ea;
    margin-top:26px;
    display:flex;
    align-items:center;
    gap:8px;
    color:#6f8790;
    font-size:8px;
}

.footer b{
    color:#bcc8cb;
}

.footer em{
    margin-left:auto;
    font-style:normal;
}

.chat{
    position:fixed;
    right:278px;
    bottom:20px;
    width:51px;
    height:51px;
    border-radius:50%;
    background:#8b735b;
    color:#fff;
    display:grid;
    place-items:center;
    font-weight:800;
    letter-spacing:2px;
    box-shadow:0 8px 22px rgba(92,72,55,.25);
    z-index:80;
}

.mobile-top{
    display:none;
}

/* =========================
   RESPONSIVE
========================= */

@media(max-width:1250px){
    .modules{
        grid-template-columns:repeat(4,minmax(0,1fr));
    }
}

@media(max-width:1050px){
    .sidebar{
        width:245px;
    }

    .content{
        width:calc(100% - 245px);
        margin-right:245px;
    }

    .layout{
        grid-template-columns:minmax(0,1fr) 250px;
    }

    .modules{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }

    .chat{
        right:263px;
    }
}

@media(max-width:900px){

    .sidebar{
        width:280px;
        transform:translateX(100%);
        transition:.25s ease;
        box-shadow:-10px 0 30px rgba(0,0,0,.25);
    }

    .sidebar.open{
        transform:translateX(0);
    }

    .content{
        width:100%;
        margin-right:0;
    }

    .topbar{
        display:none;
    }

    .mobile-top{
        display:flex;
        height:62px;
        align-items:center;
        justify-content:space-between;
        padding:0 14px;
        background:#fff;
        border-bottom:1px solid var(--borde);
        position:sticky;
        top:0;
        z-index:100;
    }

    .mobile-brand{
        display:flex;
        align-items:center;
        gap:8px;
        color:var(--verde);
    }

    .mobile-brand strong{
        display:block;
        font-family:'Plus Jakarta Sans';
        font-size:18px;
        line-height:1;
    }

    .mobile-brand span{
        display:block;
        font-size:7px;
        color:#76918f;
        margin-top:3px;
    }

    .mobile-mountain{
        font-size:30px;
    }

    .mobile-top button{
        width:40px;
        height:40px;
        border:1px solid var(--borde);
        border-radius:9px;
        background:#fff;
        color:#6b5544;
        font-size:20px;
    }

    .page{
        padding:13px 12px 30px;
    }

    .layout{
        grid-template-columns:1fr;
    }

    .right-info{
        order:2;
    }

    .hero{
        height:195px;
    }

    .modules{
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }

    .module{
        min-height:180px;
    }

    .chat{
        right:15px;
        bottom:15px;
    }

    .footer{
        flex-wrap:wrap;
    }

    .footer em{
        width:100%;
        margin-left:0;
    }
}

@media(max-width:480px){

    .hero{
        height:200px;
    }

    .hero-content{
        padding:28px 20px;
    }

    .hero h1{
        font-size:25px;
    }

    .hero p{
        font-size:11px;
        max-width:310px;
    }

    .hero-stats{
        margin-top:12px;
    }

    .hero-stats span{
        padding:0 9px;
        font-size:8px;
    }

    .hero-stats span:first-child{
        padding-left:0;
    }

    .hero-stats b{
        font-size:14px;
    }

    .modules-title{
        margin-top:19px;
    }

    .modules-title h2{
        font-size:16px;
    }

    .module{
        min-height:174px;
    }

    .module-body{
        padding:11px;
    }

    .module-icon{
        width:36px;
        height:36px;
        font-size:15px;
    }

    .module h3{
        font-size:11px;
    }

    .module p{
        font-size:8px;
    }

    .module img{
        height:57px;
    }

    .right-info{
        gap:11px;
    }
}

@media(min-width:901px){
    .right-info{
        align-self:start;
        margin-top:0;
    }
}


/* ==========================================================
   PANEL V25 — DISTRIBUCIÓN SUPERIOR
   Resumen + próximas reservas + calendario en una sola fila.
   Hero compacto: nombre del usuario + identidad del sistema.
   ========================================================== */

.layout{
    display:block;
}

.main-column{
    width:100%;
}

.right-info{
    display:grid;
    grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) minmax(220px,.8fr);
    gap:12px;
    width:100%;
    margin:0 0 14px;
    align-items:stretch;
}

.right-info .info-card{
    min-width:0;
    height:146px;
    padding:10px 12px 9px;
    border-radius:10px;
    box-shadow:0 4px 14px rgba(12,65,65,.045);
}

.right-info .info-title{
    margin-bottom:3px;
    min-height:20px;
}

.right-info .info-title>span{
    font-size:15px;
}

.right-info .info-title h3{
    font-size:10.5px;
}

.right-info .info-title a{
    font-size:8px;
}

.summary-card .summary-row{
    min-height:28px;
    gap:7px;
}

.summary-card .summary-icon{
    width:25px;
    height:25px;
    font-size:12px;
}

.summary-card .summary-row small{
    font-size:7px;
    margin-bottom:1px;
}

.summary-card .summary-row strong{
    font-size:10.5px;
}

.summary-card .summary-row>b{
    font-size:13px;
}

.reservations-card .reservation{
    min-height:28px;
    grid-template-columns:5px 1fr auto;
    gap:6px;
}

.reservations-card .reservation i{
    width:5px;
    height:5px;
}

.reservations-card .reservation strong{
    font-size:8px;
    margin-bottom:1px;
}

.reservations-card .reservation small,
.reservations-card .reservation>span{
    font-size:7px;
}

.calendar-card .calendar-title{
    font-size:9px;
    margin-bottom:3px;
}

.calendar-card .calendar-title span{
    font-size:14px;
}

.calendar-card .calendar{
    gap:1px;
}

.calendar-card .calendar>*{
    min-height:16px;
    font-size:7px;
}

.calendar-card .calendar b{
    font-size:6.5px;
}

.calendar-card .calendar em{
    width:16px;
    height:16px;
}

.hero{
    height:138px;
    margin-bottom:17px;
}

.hero-content-simple{
    padding:25px 31px;
}

.hero-content-simple small{
    font-size:8.5px;
    letter-spacing:1.7px;
}

.hero-content-simple h1{
    font-size:31px;
    margin:9px 0 6px;
}

.hero-content-simple p{
    font-size:12px;
    margin-top:0;
    color:#e6f2ef;
}

/* Ya no mostramos bloques duplicados de métricas dentro del banner. */
.hero-content-simple .hero-line,
.hero-content-simple .hero-stats{
    display:none;
}

@media(max-width:900px){
    .right-info{
        grid-template-columns:1fr 1fr 1fr;
        gap:8px;
        margin-bottom:11px;
    }

    .right-info .info-card{
        height:132px;
        padding:9px 9px 7px;
    }

    .right-info .info-title h3{
        font-size:9px;
    }

    .summary-card .summary-row{
        min-height:23px;
    }

    .summary-card .summary-icon{
        width:21px;
        height:21px;
        font-size:10px;
    }

    .summary-card .summary-row small{
        font-size:6.5px;
    }

    .summary-card .summary-row strong{
        font-size:9px;
    }

    .reservations-card .reservation{
        min-height:25px;
    }

    .reservations-card .reservation strong{
        font-size:7px;
    }

    .reservations-card .reservation small,
    .reservations-card .reservation>span{
        font-size:6px;
    }

    .calendar-card .calendar>*{
        min-height:14px;
    }

    .hero{
        height:130px;
        margin-bottom:14px;
    }

    .hero-content-simple{
        padding:24px 20px;
    }

    .hero-content-simple h1{
        font-size:25px;
    }

    .hero-content-simple p{
        font-size:10px;
    }
}

@media(max-width:620px){
    .right-info{
        grid-template-columns:1fr;
    }

    .right-info .info-card{
        height:auto;
        min-height:94px;
    }

    .summary-card{
        min-height:98px !important;
    }

    .reservations-card{
        min-height:118px !important;
    }

    .calendar-card{
        min-height:112px !important;
    }

    .hero{
        height:125px;
    }

    .hero-content-simple h1{
        font-size:23px;
    }
}


/* V26: banner de bienvenida retirado; el panel empieza con los resúmenes. */
.hero{display:none !important;}

.mobile-top-actions{
    display:flex;
    align-items:center;
    gap:6px;
}

.mobile-help, .mobile-logout{
    height:36px;
    border:1px solid #dfd5ca;
    border-radius:9px;
    background:#fff;
    color:#6d5846;
    padding:0 9px;
    font:700 10px 'DM Sans',sans-serif;
}

.mobile-logout{
    background:#4f4034;
    color:#fff;
    border-color:#4f4034;
}


@media(max-width:1200px){
    .support-link{display:none;}
    .help-popover{right:275px;}
}

@media(max-width:900px){
    .topbar{display:none;}
    .right-info{
        grid-template-columns:1fr 1.2fr .9fr;
        gap:8px;
        margin-bottom:0;
    }
    .help-popover{
        top:69px;
        right:12px;
        width:250px;
    }
}

@media(max-width:620px){
    .right-info{
        grid-template-columns:1fr 1fr;
    }
    .right-info .calendar-card{
        grid-column:1 / -1;
    }
}

/* ==========================================================
   CUMBRE V27 — PANEL REORDENADO
   Sidebar izquierda + dashboard compacto y responsive.
   ========================================================== */

/* Sidebar principal: izquierda y más fino */
.sidebar{
    left:0 !important;
    right:auto !important;
    width:220px !important;
    padding:0 8px !important;
}

.sidebar-logo{
    height:72px;
    padding:0 10px;
}

.content{
    width:calc(100% - 220px) !important;
    margin-right:0 !important;
    margin-left:220px !important;
    min-width:0;
}

.topbar{
    padding:0 20px 0 24px;
}

/* El bloque superior queda horizontal, compacto y limpio */
.page{
    padding:14px 20px 30px !important;
}

.right-info{
    display:grid !important;
    grid-template-columns:minmax(0,1.05fr) minmax(0,1.25fr) minmax(205px,.78fr) !important;
    gap:10px !important;
    width:100% !important;
    margin:0 0 12px !important;
    align-items:stretch;
}

.right-info .info-card{
    height:110px !important;
    padding:9px 11px !important;
    border-radius:11px !important;
    box-shadow:0 3px 12px rgba(12,65,65,.04) !important;
}

.right-info .info-title{
    margin-bottom:2px !important;
    min-height:18px !important;
}

.right-info .info-title>span{
    font-size:13px !important;
}

.right-info .info-title h3{
    font-size:10px !important;
}

.right-info .info-title a{
    font-size:7.5px !important;
}

.summary-card .summary-row{
    min-height:20px !important;
    gap:6px !important;
}

.summary-card .summary-icon{
    width:20px !important;
    height:20px !important;
    font-size:9px !important;
}

.summary-card .summary-row small{
    font-size:6.5px !important;
    margin-bottom:0 !important;
}

.summary-card .summary-row strong{
    font-size:9.5px !important;
}

.summary-card .summary-row>b{
    font-size:11px !important;
}

.reservations-card .reservation{
    min-height:21px !important;
    grid-template-columns:5px 1fr auto !important;
    gap:5px !important;
}

.reservations-card .reservation strong{
    font-size:7.5px !important;
    margin-bottom:0 !important;
}

.reservations-card .reservation small,
.reservations-card .reservation>span{
    font-size:6.5px !important;
}

.calendar-card .calendar-title{
    font-size:8px !important;
    margin-bottom:1px !important;
}

.calendar-card .calendar>*{
    min-height:12px !important;
    font-size:6.3px !important;
}

.calendar-card .calendar b{
    font-size:6px !important;
}

.calendar-card .calendar em{
    width:14px !important;
    height:14px !important;
}

/* Módulos: se aprovecha mejor el ancho disponible */
.modules-title{
    margin:16px 0 10px !important;
}

.modules{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:12px !important;
}

.module{
    min-width:0;
}

/* Monitores más chicos */
@media (max-width:1250px){
    .sidebar{width:210px !important}
    .content{width:calc(100% - 210px) !important;margin-left:210px !important}
    .right-info{grid-template-columns:1fr 1.15fr .78fr !important}
    .modules{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
    .support-link{display:none}
}

@media (max-width:1080px){
    .sidebar{width:200px !important}
    .content{width:calc(100% - 200px) !important;margin-left:200px !important}
    .topbar{padding-left:16px;padding-right:14px}
    .user-info span{display:none}
    .right-info{grid-template-columns:1fr 1fr !important}
    .calendar-card{grid-column:1 / -1}
    .modules{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}

/* Móvil: sidebar se abre desde la izquierda y los módulos van 2 por fila */
@media (max-width:900px){
    .sidebar{
        left:0 !important;
        right:auto !important;
        width:280px !important;
        transform:translateX(-100%) !important;
        transition:transform .25s ease !important;
        box-shadow:10px 0 30px rgba(0,0,0,.25) !important;
    }

    .sidebar.open{
        transform:translateX(0) !important;
    }

    .content{
        width:100% !important;
        margin-left:0 !important;
        margin-right:0 !important;
    }

    .page{
        padding:11px 12px 28px !important;
    }

    .right-info{
        grid-template-columns:1fr 1fr !important;
        gap:8px !important;
    }

    .right-info .info-card{
        height:108px !important;
    }

    .calendar-card{
        grid-column:1 / -1;
        height:96px !important;
    }

    .modules{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
        gap:10px !important;
    }

    .module{
        min-height:180px !important;
    }

    .topbar{
        display:none !important;
    }

    .mobile-top{
        display:flex !important;
        position:sticky;
        top:0;
        z-index:100;
    }

    .help-popover{
        left:12px !important;
        right:auto !important;
        top:68px !important;
        width:min(280px,calc(100vw - 24px)) !important;
    }
}

@media (max-width:560px){
    .right-info .info-card{
        height:102px !important;
        padding:8px 9px !important;
    }

    .summary-card .summary-row{min-height:19px !important}
    .summary-card .summary-icon{width:19px !important;height:19px !important}
    .summary-card .summary-row strong{font-size:9px !important}

    .calendar-card{height:92px !important}
    .modules-title{margin-top:14px !important}
    .module{min-height:174px !important}
}
\n\n/* ==========================================================\n   V28 - PANEL COMPACTO Y RESPONSIVO\n   ========================================================== */\n.sidebar{\n    left:0 !important;\n    right:auto !important;\n    width:210px !important;\n}\n.content{\n    width:calc(100% - 210px) !important;\n    margin-left:210px !important;\n    margin-right:0 !important;\n}\n.page{\n    padding:16px 20px 28px !important;\n}\n.layout{\n    display:block !important;\n}\n.main-column{\n    width:100%;\n}\n.right-info{\n    width:100% !important;\n    display:grid !important;\n    grid-template-columns:minmax(0,1.35fr) minmax(0,1.35fr) minmax(220px,.9fr) !important;\n    gap:10px !important;\n    margin:0 0 14px !important;\n    order:0 !important;\n}\n.right-info .info-card{\n    margin:0 !important;\n    min-width:0;\n    height:118px !important;\n    padding:10px 11px 9px !important;\n    border-radius:12px !important;\n    box-shadow:0 6px 20px rgba(14,64,56,.05) !important;\n}\n.summary-card{\n    display:grid !important;\n    grid-template-columns:repeat(4,minmax(0,1fr));\n    grid-template-rows:auto 1fr;\n    column-gap:6px;\n}\n.summary-card .info-title{\n    grid-column:1 / -1;\n    margin-bottom:3px !important;\n}\n.summary-card .summary-row{\n    min-height:0 !important;\n    border-top:0 !important;\n    border-left:1px solid #eee6dd;\n    padding-left:7px;\n    display:grid !important;\n    grid-template-columns:25px 1fr;\n    column-gap:6px;\n    align-content:center;\n}\n.summary-card .summary-row:first-of-type{border-left:0;padding-left:0}\n.summary-card .summary-icon{\n    width:25px !important;\n    height:25px !important;\n    font-size:11px !important;\n}\n.summary-card .summary-row small{font-size:7px !important;margin-bottom:2px !important;white-space:nowrap}\n.summary-card .summary-row strong{font-size:11px !important;white-space:nowrap}\n.summary-card .summary-row>b{display:none}\n.reservations-card .info-title{margin-bottom:4px !important}\n.reservations-card .reservation{\n    min-height:25px !important;\n    grid-template-columns:6px 1fr auto !important;\n    gap:7px !important;\n}\n.reservations-card .reservation strong{font-size:8px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\n.reservations-card .reservation small{font-size:7px !important}\n.reservations-card .reservation>span{font-size:7px !important}\n.calendar-card .calendar-title{font-size:9px !important;margin-bottom:4px !important}\n.calendar-card .calendar{gap:1px !important}\n.calendar-card .calendar>*{min-height:12px !important;font-size:7px !important}\n.calendar-card .calendar em{width:18px !important;height:18px !important;font-size:7px !important}\n.modules-title{margin:12px 0 10px !important}\n.modules-title h2{font-size:17px !important}\n.modules{\n    grid-template-columns:repeat(5,minmax(0,1fr)) !important;\n    gap:12px !important;\n}\n.module{min-width:0;min-height:190px !important}\n\n@media(max-width:1200px){\n    .sidebar{width:196px !important}\n    .content{width:calc(100% - 196px) !important;margin-left:196px !important}\n    .right-info{grid-template-columns:minmax(0,1.25fr) minmax(0,1.25fr) minmax(190px,.85fr) !important}\n    .modules{grid-template-columns:repeat(4,minmax(0,1fr)) !important}\n}\n\n@media(max-width:980px){\n    .sidebar{width:188px !important}\n    .content{width:calc(100% - 188px) !important;margin-left:188px !important}\n    .right-info{grid-template-columns:repeat(2,minmax(0,1fr)) !important}\n    .calendar-card{grid-column:1 / -1}\n    .modules{grid-template-columns:repeat(3,minmax(0,1fr)) !important}\n    .support-link{display:none !important}\n}\n\n@media(max-width:900px){\n    .sidebar{left:0 !important;right:auto !important;width:280px !important;transform:translateX(-100%) !important}\n    .sidebar.open{transform:translateX(0) !important}\n    .content{width:100% !important;margin-left:0 !important;margin-right:0 !important}\n    .right-info{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:8px !important}\n    .right-info .info-card{height:104px !important}\n    .calendar-card{grid-column:1 / -1}\n    .modules{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important}\n    .module{min-height:174px !important}\n}\n\n@media(max-width:560px){\n    .page{padding:10px 10px 25px !important}\n    .right-info .info-card{height:98px !important;padding:8px !important}\n    .summary-card .summary-row{grid-template-columns:20px 1fr;column-gap:4px}\n    .summary-card .summary-icon{width:20px !important;height:20px !important;font-size:9px !important}\n    .summary-card .summary-row small{font-size:6.5px !important}\n    .summary-card .summary-row strong{font-size:9px !important}\n    .reservations-card .reservation{min-height:21px !important}\n    .reservations-card .reservation strong{font-size:7px !important}\n    .calendar-card{height:88px !important}\n    .module{min-height:168px !important}\n    .module-body{padding:11px 11px 8px !important}\n    .module-icon{width:44px !important;height:44px !important;font-size:16px !important}\n    .module h3{font-size:11px !important}\n    .module p{font-size:8px !important}\n}\n
/* ==========================================================
   V29 - MENÚ HAMBURGUESA COMÚN EN TODOS LOS MÓDULOS
   ========================================================== */
.module-menu-button{width:40px;height:40px;border:1px solid var(--line);border-radius:11px;background:#fff;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;cursor:pointer;flex:0 0 auto;margin-right:3px}
.module-menu-button span{display:block;width:18px;height:2px;border-radius:999px;background:var(--green-dark);transition:.18s ease}
.module-menu-button:hover{background:#f8f3ed}
.module-menu-overlay{position:fixed;inset:0;background:rgba(11,30,24,.38);backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1500}
.module-menu-overlay.open{opacity:1;pointer-events:auto}
.module-menu-drawer{position:fixed;left:0;top:0;width:min(340px,90vw);height:100vh;background:#fff;z-index:1510;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 40px rgba(12,40,31,.18);padding:20px 16px 24px;overflow-y:auto}
.module-menu-drawer.open{transform:translateX(0)}
.module-menu-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:4px 3px 17px;border-bottom:1px solid var(--line);margin-bottom:12px}
.module-menu-kicker{text-transform:uppercase;letter-spacing:1.5px;font-size:8px;font-weight:900;color:var(--sand)}
.module-menu-head h2{font-family:'Sora',sans-serif;font-size:23px;margin-top:5px;color:var(--ink)}
.module-menu-head p{font-size:10px;line-height:1.45;color:var(--muted);margin-top:5px;max-width:220px}
.module-menu-close{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;color:#40574e;font-size:24px;cursor:pointer}
.module-menu-list{display:grid;gap:6px}
.module-menu-link{display:flex;align-items:center;gap:9px;border:1px solid transparent;border-radius:13px;padding:9px 8px;transition:.16s ease}
.module-menu-link:hover,.module-menu-link.active{background:var(--green-soft);border-color:#dfd1c2}
.module-menu-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:11px;background:#eef6f2;color:var(--green-dark);font-size:17px;flex:0 0 auto}
.module-menu-copy{display:flex;flex-direction:column;min-width:0;flex:1}.module-menu-copy strong{font-family:'Sora',sans-serif;font-size:11px;color:#163126}.module-menu-copy small{font-size:9px;line-height:1.35;color:var(--muted);margin-top:2px}.module-menu-link>b{font-size:20px;color:#7d9087}
body.module-menu-open{overflow:hidden}
@media(max-width:760px){.app-header{height:66px;padding:0 12px}.brand-mark{width:34px;height:34px;font-size:19px}.brand-wrap strong{font-size:18px}.brand-wrap span{font-size:8px;letter-spacing:1.2px}.header-actions{gap:6px}.header-link{display:none}.user-chip{padding:6px 8px}.user-chip .user-avatar{width:24px;height:24px}.logout-button{padding:8px 10px;font-size:10px}.module-menu-button{width:38px;height:38px}.module-menu-drawer{width:min(330px,90vw)}}

/* ==========================================================
   V30 - PANEL PRINCIPAL LIMPIO
   ========================================================== */
.hero{
    height:142px !important;
    min-height:0 !important;
    border-radius:14px !important;
    margin-bottom:14px !important;
}
.hero-content{
    padding:25px 28px !important;
}
.hero-content small{
    font-size:9px !important;
    letter-spacing:1.8px !important;
}
.hero h1{
    font-family:'Plus Jakarta Sans',sans-serif !important;
    font-size:28px !important;
    line-height:1.05 !important;
    margin:8px 0 6px !important;
}
.hero p{
    font-size:12px !important;
    line-height:1.4 !important;
    max-width:none !important;
    color:#eaf6f2 !important;
}
.hero .hero-line,
.hero .hero-stats{
    display:none !important;
}

/* Ya no usamos los cuadros de Resumen / Próximas reservas / Calendario en el inicio. */
.right-info{
    display:none !important;
}

@media(max-width:900px){
    .hero{
        height:118px !important;
        border-radius:12px !important;
        margin-bottom:12px !important;
    }
    .hero-content{
        padding:20px 18px !important;
    }
    .hero h1{
        font-size:23px !important;
    }
    .hero p{
        font-size:10px !important;
    }
}

/* ==========================================================
   V31 — NAVEGACIÓN CONSISTENTE + RESPONSIVE
   ========================================================== */
.cumbre-desktop-sidebar{
  position:fixed;
  top:0;
  right:0;
  width:224px;
  height:100vh;
  padding:26px 14px 22px;
  background:linear-gradient(180deg,#0f4d42 0%,#0a3f36 100%);
  color:#fff;
  overflow:hidden;
  z-index:1200;
  box-shadow:-14px 0 35px rgba(13,48,39,.18);
}
.cumbre-sidebar-brand{
  padding:4px 7px 18px;
  border-bottom:1px solid rgba(255,255,255,.13);
  margin-bottom:12px;
}
.cumbre-sidebar-brand .eyebrow-panel{color:#d8c18b;font-size:9px}
.cumbre-sidebar-brand strong{display:block;font-family:'Sora',sans-serif;font-size:21px;margin-top:5px}
.cumbre-sidebar-brand small{display:block;color:rgba(255,255,255,.68);font-size:9px;line-height:1.4;margin-top:4px}
.cumbre-desktop-sidebar nav{display:grid;gap:5px}
.cumbre-module-link{display:flex;align-items:center;gap:9px;padding:8px 8px;border:1px solid transparent;border-radius:12px;color:#eef7f3;transition:.16s ease}
.cumbre-module-link:hover,.cumbre-module-link.active{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.11);transform:translateX(-2px)}
.cumbre-module-icon{width:34px;height:34px;min-width:34px;border-radius:10px;background:rgba(255,255,255,.11);display:grid;place-items:center;font-size:16px}
.cumbre-module-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.cumbre-module-copy strong{font-family:'Sora',sans-serif;font-size:10.5px}
.cumbre-module-copy small{font-size:8px;color:rgba(255,255,255,.62);line-height:1.35;margin-top:2px}
.cumbre-module-link>b{font-size:18px;color:rgba(255,255,255,.55)}
body.module-page{padding-right:224px}
body.module-page .app-header{margin-right:0}
.module-menu-button{display:none;width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;align-items:center;justify-content:center;flex-direction:column;gap:4px;cursor:pointer}
.module-menu-button span{display:block;width:17px;height:2px;border-radius:999px;background:var(--green-dark)}
.cumbre-module-overlay,.cumbre-module-drawer{display:none}

/* Panel principal: menú desktop a la derecha */
.sidebar{left:auto !important;right:0 !important;width:224px !important;transform:none !important;}
.content{width:calc(100% - 224px) !important;margin-left:0 !important;margin-right:224px !important;}
.chat{right:242px}
.hero{margin-top:0}
.hero-content-simple h1{font-size:30px}
.hero-content-simple p{font-size:12px}

/* El banner verde vuelve a ser el foco del inicio */
.hero-content-simple p::after{content:''}

/* Parte superior del móvil más limpia */
@media(max-width:900px){
  .cumbre-desktop-sidebar{display:none}
  body.module-page{padding-right:0}
  body.module-page .app-header{margin-right:0}
  .module-menu-button{display:flex}
  .cumbre-module-overlay{display:block;position:fixed;inset:0;background:rgba(72,58,46,.38);opacity:0;pointer-events:none;transition:.2s;z-index:1300}
  .cumbre-module-overlay.open{opacity:1;pointer-events:auto}
  .cumbre-module-drawer{display:block;position:fixed;top:0;left:0;width:min(320px,88vw);height:100vh;background:#fff;z-index:1310;transform:translateX(-105%);transition:transform .22s ease;box-shadow:18px 0 40px rgba(10,35,28,.18);padding:20px 16px;overflow-y:auto}
  /* En pantallas chicas el listado lateral sí tiene scroll propio. */
  .sidebar .menu{max-height:calc(100vh - 300px);overflow-y:auto;overflow-x:hidden;padding-right:3px;scrollbar-width:thin;scrollbar-color:rgba(143,198,189,.55) transparent;}
  .sidebar .menu::-webkit-scrollbar{width:5px;}
  .sidebar .menu::-webkit-scrollbar-track{background:transparent;}
  .sidebar .menu::-webkit-scrollbar-thumb{background:rgba(143,198,189,.45);border-radius:999px;}
  .cumbre-desktop-sidebar{overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:rgba(143,198,189,.45) transparent;}
  .cumbre-desktop-sidebar::-webkit-scrollbar{width:5px;}
  .cumbre-desktop-sidebar::-webkit-scrollbar-track{background:transparent;}
  .cumbre-desktop-sidebar::-webkit-scrollbar-thumb{background:rgba(143,198,189,.45);border-radius:999px;}
  .cumbre-module-drawer.open{transform:translateX(0)}
  .cumbre-drawer-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:4px 3px 16px;border-bottom:1px solid var(--line);margin-bottom:10px}
  .cumbre-drawer-head h2{font-family:'Sora',sans-serif;font-size:23px;margin-top:4px}
  .cumbre-drawer-close{width:38px;height:38px;border:1px solid var(--line);border-radius:11px;background:#fff;font-size:23px;color:var(--ink)}
  .cumbre-module-drawer nav{display:grid;gap:5px}
  .cumbre-module-drawer .cumbre-module-link{color:var(--ink)}
  .cumbre-module-drawer .cumbre-module-link:hover,.cumbre-module-drawer .cumbre-module-link.active{background:var(--green-soft);border-color:#dfd1c2;transform:none}
  .cumbre-module-drawer .cumbre-module-copy strong{color:var(--ink)}
  .cumbre-module-drawer .cumbre-module-copy small{color:var(--muted)}
  .cumbre-module-drawer .cumbre-module-link>b{color:#7b8f86}
  .sidebar{left:0 !important;right:auto !important;width:280px !important;transform:translateX(-105%) !important;transition:transform .22s ease !important;}
  .sidebar.open{transform:translateX(0) !important}
  .content{width:100% !important;margin:0 !important}
  .chat{right:15px}
  .mobile-top{height:58px;padding:0 11px}
  .mobile-brand{gap:7px}
  .mobile-mountain{font-size:24px}
  .mobile-brand strong{font-size:17px}
  .mobile-brand span{font-size:6.5px;letter-spacing:.5px}
  .mobile-top button{width:36px;height:36px;border-radius:10px;font-size:18px}
  .mobile-top-actions{gap:5px;display:flex;align-items:center}
}
@media(min-width:901px){
  .mobile-top{display:none !important}
}
@media(max-width:1240px) and (min-width:901px){
  .cumbre-desktop-sidebar{width:205px}
  body.module-page{padding-right:205px}
  .sidebar{width:205px !important}
  .content{width:calc(100% - 205px) !important;margin-right:205px !important}
  .panel-main{width:min(100% - 24px,1100px);margin-right:216px;margin-left:12px}
}
@media(max-width:600px){
  .hero{height:150px !important}
  .hero-content-simple{padding:20px 18px !important}
  .hero-content-simple h1{font-size:24px !important}
  .hero-content-simple p{font-size:10px !important}
  .modules{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}

/* V31 - vuelve el banner verde del inicio */
body:not(.module-page) .hero{
  display:block !important;
  height:142px !important;
  min-height:0 !important;
  border-radius:14px !important;
  margin-bottom:14px !important;
  background:linear-gradient(120deg,#5b493a 0%,#6d5846 58%,#8a745e 100%) !important;
}
body:not(.module-page) .hero-overlay{background:linear-gradient(90deg,rgba(10,63,51,.97),rgba(16,101,81,.82) 56%,rgba(138,116,94,.7)) !important}
body:not(.module-page) .hero-content{padding:25px 28px !important}
body:not(.module-page) .hero h1{font-size:28px !important}
body:not(.module-page) .hero p{font-size:12px !important}
body:not(.module-page) .right-info{display:none !important}
@media(max-width:900px){body:not(.module-page) .hero{height:112px !important}body:not(.module-page) .hero-content{padding:18px !important}body:not(.module-page) .hero h1{font-size:22px !important}body:not(.module-page) .hero p{font-size:9px !important}}

/* ==========================================================
   V32 — NAVEGACIÓN A LA IZQUIERDA + PALETA TIERRA
   ========================================================== */
:root{
  --sidebar-brown:#8a745e;
  --sidebar-brown-dark:#6d5846;
  --sidebar-brown-deep:#5b493a;
  --sidebar-brown-soft:#b9a58f;
  --sidebar-cream:#f4eee7;
  --sidebar-line:rgba(255,255,255,.16);
}

/* Barra lateral principal del panel */
.sidebar{
  left:0 !important;
  right:auto !important;
  width:224px !important;
  background:linear-gradient(180deg,var(--sidebar-brown) 0%,var(--sidebar-brown-dark) 100%) !important;
  box-shadow:14px 0 35px rgba(72,52,37,.16) !important;
}
.sidebar:after{
  background:
    radial-gradient(circle at 20% 30%,rgba(255,255,255,.08),transparent 35%),
    radial-gradient(circle at 80% 80%,rgba(48,30,18,.08),transparent 32%) !important;
}
.sidebar-logo{
  border-bottom-color:var(--sidebar-line) !important;
}
.brand strong{color:#fff}
.brand small{color:#eadfD2 !important}
.logo-mountain span:nth-child(2){border-bottom-color:#d8c2a4 !important}
.logo-mountain span:nth-child(3){border-bottom-color:var(--sidebar-brown-deep) !important}
.menu-title{color:#e5d7c7 !important}
.menu a{color:#f4eee7 !important}
.menu a:hover{background:rgba(255,255,255,.09) !important;color:#fff !important}
.menu a.active{background:var(--sidebar-brown-deep) !important;color:#fff !important}
.menu a i{color:#eadfD2 !important}
.sidebar-bottom{background:linear-gradient(transparent,rgba(54,38,26,.20)) !important}
.peak{border-bottom-color:#705b49 !important}
.peak.p2{border-bottom-color:#816a54 !important}
.peak.p3{border-bottom-color:#5f4c3b !important}

/* En el inicio, el contenido deja espacio a la izquierda */
.content{
  width:calc(100% - 224px) !important;
  margin-left:224px !important;
  margin-right:0 !important;
}
.panel-main{
  margin-left:0 !important;
  margin-right:20px !important;
  width:auto !important;
}

/* Menú reutilizable en todos los módulos */
.cumbre-desktop-sidebar{
  left:0 !important;
  right:auto !important;
  width:224px !important;
  background:linear-gradient(180deg,var(--sidebar-brown) 0%,var(--sidebar-brown-dark) 100%) !important;
  box-shadow:14px 0 35px rgba(72,52,37,.16) !important;
}
.cumbre-sidebar-brand{border-bottom-color:var(--sidebar-line) !important}
.cumbre-sidebar-brand .eyebrow-panel{color:#ead2ad !important}
.cumbre-sidebar-brand strong{color:#fff}
.cumbre-sidebar-brand small{color:rgba(255,255,255,.72) !important}
.cumbre-module-link{color:#f7f1ea !important}
.cumbre-module-link:hover,
.cumbre-module-link.active{
  background:rgba(255,255,255,.10) !important;
  border-color:rgba(255,255,255,.14) !important;
}
.cumbre-module-icon{background:rgba(255,255,255,.12) !important;color:#fff !important}
.cumbre-module-copy strong{color:#fff !important}
.cumbre-module-copy small{color:rgba(255,255,255,.68) !important}
.cumbre-module-link>b{color:rgba(255,255,255,.62) !important}

body.module-page{
  padding-left:0 !important;
  padding-right:0 !important;
}
body.module-page > main{
  margin-left:244px !important;
  margin-right:18px !important;
  width:auto !important;
  max-width:none !important;
}
body.module-page > .app-header{
  padding-left:246px !important;
}

/* Drawer móvil con la misma identidad tierra */
.cumbre-module-drawer{
  background:var(--sidebar-cream) !important;
  border-right:1px solid #ddcdbd !important;
}
.cumbre-module-drawer .cumbre-module-link{color:var(--sidebar-brown-deep) !important}
.cumbre-module-drawer .cumbre-module-link:hover,
.cumbre-module-drawer .cumbre-module-link.active{
  background:#e9ddd0 !important;
  border-color:#d6c4b2 !important;
}
.cumbre-module-drawer .cumbre-module-icon{
  background:#ded0c0 !important;
  color:var(--sidebar-brown-deep) !important;
}
.cumbre-module-drawer .cumbre-module-copy strong{color:var(--sidebar-brown-deep) !important}
.cumbre-module-drawer .cumbre-module-copy small{color:#75675b !important}
.cumbre-module-drawer .cumbre-module-link>b{color:#806e5d !important}
.cumbre-drawer-head{border-bottom-color:#d7c6b4 !important}
.cumbre-drawer-close{color:var(--sidebar-brown-deep) !important;border-color:#d7c6b4 !important;background:#f8f3ed !important}

/* Buscador / cabecera sin competir con la navegación lateral */
.topbar{
  padding-left:18px !important;
  padding-right:18px !important;
}

/* Responsive: sidebar escondida y hamburguesa solo en móvil */
@media(max-width:900px){
  .sidebar{
    left:0 !important;
    right:auto !important;
    width:280px !important;
    transform:translateX(-105%) !important;
    transition:transform .22s ease !important;
  }
  .sidebar.open{transform:translateX(0) !important}
  .content{width:100% !important;margin-left:0 !important;margin-right:0 !important}
  body.module-page > main{margin-left:0 !important;margin-right:0 !important;width:100% !important}
  body.module-page > .app-header{padding-left:12px !important}
  .topbar{padding-left:12px !important;padding-right:12px !important}
}

@media(max-width:1240px) and (min-width:901px){
  .sidebar,
  .cumbre-desktop-sidebar{width:205px !important}
  .content{width:calc(100% - 205px) !important;margin-left:205px !important;margin-right:0 !important}
  body.module-page > main{margin-left:225px !important}
  body.module-page > .app-header{padding-left:228px !important}
}


/* ==========================================================
   V33 - SIDEBAR UNIFICADA + PALETA TIERRA + BUSCADOR CLIENTES
   ========================================================== */
:root{
  --bg:#f2ede7;
  --paper:#fffdf9;
  --ink:#4f4034;
  --muted:#7a6d61;
  --line:#dfd4c8;
  --green:#9a8068;
  --green-dark:#6d5846;
  --green-soft:#efe5da;
  --sand:#c6a477;
}

/* Sidebar de inicio y módulos: exactamente la misma identidad */
.sidebar,
.shared-module-sidebar{
  left:0 !important;
  right:auto !important;
  width:224px !important;
  top:0 !important;
  height:100vh !important;
  background:linear-gradient(180deg,#8a745e 0%,#6d5846 100%) !important;
  box-shadow:14px 0 35px rgba(72,52,37,.16) !important;
  border:0 !important;
  color:#fff !important;
  z-index:1300 !important;
}
.shared-module-sidebar .sidebar-logo{border-bottom-color:rgba(255,255,255,.16)!important}
.shared-module-sidebar .menu-title{color:#e7daca!important}
.shared-module-sidebar .menu a{color:#f8f1ea!important}
.shared-module-sidebar .menu a:hover{background:rgba(255,255,255,.09)!important;color:#fff!important}
.shared-module-sidebar .menu a.active{background:#5b493a!important;color:#fff!important}
.shared-module-sidebar .menu a i{color:#eadfD2!important}
.shared-module-sidebar .sidebar-bottom{background:linear-gradient(transparent,rgba(54,38,26,.20))!important}

/* En módulos: el contenido arranca al lado del mismo sidebar del inicio */
body.module-page > .app-header{padding-left:246px !important}
body.module-page > main{margin-left:244px !important;margin-right:18px !important;width:auto !important;max-width:none !important}

/* Botón hamburguesa solo en móvil */
.module-menu-button{display:none!important;background:#f7f1ea!important;border-color:#d9ccbe!important}
.module-menu-button span{background:#6d5846!important}
@media(max-width:900px){
  .module-menu-button{display:flex!important}
  .shared-module-sidebar{transform:translateX(-105%)!important;transition:transform .22s ease!important;width:280px!important}
  .shared-module-sidebar.open{transform:translateX(0)!important}
  body.module-page > .app-header{padding-left:12px!important}
  body.module-page > main{margin-left:0!important;margin-right:0!important;width:100%!important}
}

/* Mantener la barra lateral visible en desktop */
@media(min-width:901px){
  .shared-module-sidebar{transform:none!important}
}

/* Buscador del panel */
.topbar .search{position:relative}
.global-search-results{position:absolute;left:0;right:0;top:calc(100% + 7px);background:#fffdf9;border:1px solid #dfd4c8;border-radius:14px;box-shadow:0 18px 40px rgba(72,52,37,.14);padding:6px;display:none;z-index:1500;max-height:360px;overflow:auto}
.global-search-results.show{display:block}
.global-search-result{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;background:transparent;border-radius:10px;text-align:left;cursor:pointer;color:#4f4034}
.global-search-result:hover{background:#f2e9df}
.global-search-avatar{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:#efe5da;font-size:16px;flex:0 0 auto}
.global-search-copy{display:flex;flex-direction:column;min-width:0;flex:1}
.global-search-copy strong{font-size:11px;color:#5b493a}
.global-search-copy small{font-size:9px;color:#7a6d61;margin-top:2px}
.global-search-result>b{font-size:20px;color:#8a745e}
.global-search-empty{padding:13px 12px;font-size:10px;color:#7a6d61}
.global-search-empty.error{color:#8b4039}

/* Marrón también en banners, botones y estados frecuentes */
.hero,.employee-hero,.provider-hero,.exc-hero,.create-head{background:linear-gradient(135deg,#6d5846,#8a745e)!important}
.create-save,.employee-primary,.provider-primary,.btn-main,.config-save{background:#8a745e!important}
.btn-soft,.employee-secondary,.provider-secondary{background:#f0e6dc!important;color:#6d5846!important}
.create-section-title{color:#8a745e!important}
.create-summary{background:#f1e8df!important;border-color:#dfd4c8!important}
.inventory-progress i{background:#8a745e!important}

/* Botones de Excursiones compactos */
.exc-card-actions .btn-main,.exc-card-actions .btn-soft{padding:7px 9px!important;border-radius:8px!important;font-size:9px!important}

/* Módulos a dos columnas en celular */
@media(max-width:900px){
  .modules,.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
/* CUMBRE V36 - identidad compartida tierra + verde */
:root{
  --cumbre-green:#1d5a4b;
  --cumbre-green-dark:#123f35;
  --cumbre-green-soft:#e7f0ec;
  --cumbre-brown:#6d5846;
  --cumbre-brown-dark:#4e3d31;
  --cumbre-beige:#efe4d7;
  --cumbre-sand:#c8a56c;
  --cumbre-ink:#4f4034;
  --cumbre-line:#dfd4c7;
}
body{font-family:'Manrope',sans-serif !important;color:var(--cumbre-ink)}
/* Sidebar compartido: verde + detalles tierra */
.cumbre-desktop-sidebar,
.sidebar.shared-module-sidebar{
  background:linear-gradient(180deg,#164c40 0%,#123f35 72%,#5e4a3b 100%) !important;
}
.cumbre-sidebar-brand,.sidebar-logo{border-color:rgba(239,228,215,.18) !important}
.cumbre-sidebar-brand .eyebrow-panel,.menu-title{color:#d9be87 !important}
.cumbre-module-link:hover,.cumbre-module-link.active{background:rgba(255,255,255,.11) !important;border-color:rgba(255,255,255,.13) !important}
.cumbre-module-icon{background:rgba(239,228,215,.13) !important;color:#f5eee6 !important}
.cumbre-module-copy small{color:rgba(255,255,255,.62) !important}
.sidebar-bottom{background:linear-gradient(180deg,transparent 0%,rgba(92,72,56,.22) 100%) !important}
/* Encabezado común de todos los módulos */
.cumbre-module-banner{
  margin:0 0 18px;
  min-height:112px;
  border-radius:22px;
  padding:24px 28px;
  background:linear-gradient(120deg,#164c40 0%,#1f6554 58%,#6d5846 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  box-shadow:0 16px 32px rgba(60,75,62,.13);
  position:relative;
  overflow:hidden;
}
.cumbre-module-banner::after{
  content:'⌁';
  position:absolute;
  right:22px;
  bottom:-38px;
  font-size:150px;
  line-height:1;
  opacity:.12;
}
.cumbre-module-banner .banner-kicker{position:relative;z-index:2;text-transform:uppercase;letter-spacing:1.8px;font-size:9px;font-weight:800;color:#dec48c}
.cumbre-module-banner h1{position:relative;z-index:2;font-family:'Sora',sans-serif;font-size:28px;line-height:1.08;margin:6px 0 6px;color:#fff}
.cumbre-module-banner p{position:relative;z-index:2;font-size:12px;line-height:1.55;color:rgba(255,255,255,.82);max-width:760px;margin:0}
.cumbre-module-banner .banner-tag{position:relative;z-index:2;border:1px solid rgba(255,255,255,.20);background:rgba(255,255,255,.08);border-radius:16px;padding:12px 16px;min-width:150px;text-align:left}
.cumbre-module-banner .banner-tag span{display:block;font-size:8px;text-transform:uppercase;letter-spacing:1.5px;color:#ead8b4;font-weight:800}
.cumbre-module-banner .banner-tag strong{display:block;margin-top:6px;font-family:'Sora',sans-serif;font-size:13px;color:#fff}
.legacy-module-hero{display:none !important}
.module-real .real-head > div:first-child{display:none !important}
.module-real .real-head{justify-content:flex-end !important;margin-top:0 !important}
/* Botones y estados comparten paleta */
button.real-btn.primary,.btn-main,.create-save,.inventory-primary,.finance-primary,.employee-primary,.provider-primary,.config-save{background:var(--cumbre-green-dark) !important;border-color:var(--cumbre-green-dark) !important;color:#fff !important}
.btn-soft,.finance-secondary,.employee-secondary,.provider-secondary,.config-card{border-color:var(--cumbre-line) !important}
/* Menú en todos los módulos */
.app-header .brand-wrap strong{color:var(--cumbre-brown-dark) !important}
.app-header .brand-wrap span{color:#7b6d61 !important}
.app-header .brand-mark{background:var(--cumbre-green-dark) !important}
.user-avatar{background:var(--cumbre-green-soft) !important;color:var(--cumbre-green-dark) !important}
/* Tipografía compartida: Sora títulos / Manrope cuerpo */
h1,h2,h3,h4,.brand-wrap strong,.module-card h3,.desktop-module-copy strong,.drawer-module-text strong,.finance-toolbar h2,.finance-card-head h3,.employee-toolbar h2,.provider-toolbar h2,.receipt-dialog-head h2,.detail-head h2,.exc-card-top h3,.real-head h1{font-family:'Sora',sans-serif !important}
/* Verde suelto de módulos heredados -> verde Cumbre */
.module-real .money,.module-real .badge.blue,.module-real .close-modal{color:var(--cumbre-green-dark) !important}
.module-real .badge.blue{background:var(--cumbre-green-soft) !important}
.finance-stat.positive strong{color:var(--cumbre-green-dark) !important}
.finance-primary{color:#fff !important}
/* Responsive */
@media(max-width:900px){
  .cumbre-module-banner{min-height:98px;border-radius:16px;padding:18px 18px;margin-bottom:14px}
  .cumbre-module-banner h1{font-size:22px}
  .cumbre-module-banner p{font-size:10px;max-width:85%}
  .cumbre-module-banner .banner-tag{display:none}
}

/* ==========================================================
   CUMBRE V37 — SIDEBAR EXACTA AL INICIO + TIPOGRAFIA UNIFICADA
   ========================================================== */
body.module-page{
  font-family:'DM Sans',sans-serif !important;
}
body.module-page h1,
body.module-page h2,
body.module-page h3,
body.module-page h4,
body.module-page .brand strong,
body.module-page .cumbre-module-banner h1{
  font-family:'Plus Jakarta Sans',sans-serif !important;
}

/* En módulos, la barra es exactamente la misma estructura visual de Inicio */
body.module-page > .sidebar.shared-module-sidebar{
  position:fixed !important;
  left:0 !important;
  right:auto !important;
  top:0 !important;
  bottom:0 !important;
  width:220px !important;
  height:100vh !important;
  padding:0 8px !important;
  background:linear-gradient(180deg,rgba(1,59,56,.98),rgba(1,49,48,.99)) !important;
  color:#fff !important;
  border:0 !important;
  box-shadow:12px 0 30px rgba(14,49,42,.14) !important;
  overflow:hidden !important;
  z-index:2000 !important;
}
body.module-page > .sidebar.shared-module-sidebar .sidebar-logo{
  height:72px !important;
  padding:0 10px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
body.module-page > .sidebar.shared-module-sidebar .brand strong{
  font-family:'Plus Jakarta Sans',sans-serif !important;
  font-size:22px !important;
  color:#fff !important;
}
body.module-page > .sidebar.shared-module-sidebar .brand small{
  color:#8fc6bd !important;
  font-size:8px !important;
  letter-spacing:.7px !important;
}
body.module-page > .sidebar.shared-module-sidebar .menu-title{
  color:#7fa9a4 !important;
  font-size:9px !important;
  letter-spacing:1.2px !important;
  margin:14px 10px 7px !important;
}
body.module-page > .sidebar.shared-module-sidebar .menu a{
  min-height:38px !important;
  padding:0 10px !important;
  border-radius:7px !important;
  color:#c5d9d6 !important;
  font-size:11px !important;
}
body.module-page > .sidebar.shared-module-sidebar .menu a.active{
  background:#158f75 !important;
  color:#fff !important;
  font-weight:700 !important;
}
body.module-page > .sidebar.shared-module-sidebar .menu a:hover{
  background:rgba(255,255,255,.07) !important;
  color:#fff !important;
}
body.module-page > .sidebar.shared-module-sidebar .menu a i{
  margin-left:auto !important;
  color:#93b7b1 !important;
}
body.module-page > .sidebar.shared-module-sidebar .sidebar-bottom{
  height:225px !important;
  background:linear-gradient(transparent,rgba(0,0,0,.18)) !important;
}
body.module-page > .app-header{
  padding-left:246px !important;
}
body.module-page > main{
  margin-left:244px !important;
  margin-right:18px !important;
  width:auto !important;
  max-width:none !important;
}

@media(max-width:900px){
  body.module-page > .sidebar.shared-module-sidebar{
    width:280px !important;
    transform:translateX(-105%) !important;
    transition:transform .22s ease !important;
  }
  body.module-page > .sidebar.shared-module-sidebar.open{
    transform:translateX(0) !important;
  }
  body.module-page > .app-header{padding-left:12px !important}
  body.module-page > main{margin-left:0 !important;margin-right:0 !important;width:100% !important}
}

/* El mismo sistema de tipografía también en formularios y tablas de módulos */
body.module-page input,
body.module-page select,
body.module-page textarea,
body.module-page button,
body.module-page table{
  font-family:'DM Sans',sans-serif !important;
}

/* ==========================================================
   V39 - NAVEGACION MOVIL DE MODULOS + MODALES SOBRE TODO
   ========================================================== */
body.module-page > .sidebar.shared-module-sidebar{z-index:2000 !important}
body.module-page .create-modal,
body.module-page .modal-backdrop,
body.module-page .inventory-modal,
body.module-page .employee-modal,
body.module-page .provider-modal,
body.module-page .finance-modal,
body.module-page .receipt-create-modal,
body.module-page .receipt-preview-modal,
body.module-page .detail{z-index:6000 !important}
body.module-page .create-modal > *,
body.module-page .inventory-modal > *,
body.module-page .employee-modal > *,
body.module-page .provider-modal > *,
body.module-page .finance-modal > *,
body.module-page .receipt-create-modal > *,
body.module-page .receipt-preview-modal > *,
body.module-page .detail > *{position:relative;z-index:6001}

.module-mobile-nav{display:none}

@media(max-width:900px){
  /* En los módulos no hay hamburguesa: navegación horizontal compacta. */
  body.module-page .module-menu-button{display:none !important}
  body.module-page > .sidebar.shared-module-sidebar{display:none !important;transform:none !important}
  body.module-page > .app-header{position:sticky;top:0;z-index:100 !important;padding:0 10px !important;height:64px !important}
  body.module-page > .app-header .header-actions{gap:5px !important;min-width:0}
  body.module-page > .app-header .header-link{display:none !important}
  body.module-page > .app-header .user-chip{max-width:145px;padding:6px 8px !important;white-space:nowrap;overflow:hidden}
  body.module-page > .app-header .user-chip span:last-child{overflow:hidden;text-overflow:ellipsis}
  body.module-page > .app-header .logout-button{padding:8px 9px !important;font-size:9px !important;white-space:nowrap}
  .module-mobile-nav{display:flex;position:sticky;top:64px;z-index:90;gap:6px;overflow-x:auto;padding:7px 10px;background:#fffdf9;border-bottom:1px solid #dfd4c8;box-shadow:0 5px 14px rgba(72,52,37,.06);scrollbar-width:none}
  .module-mobile-nav::-webkit-scrollbar{display:none}
  .module-mobile-nav a{flex:0 0 auto;display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border:1px solid #dfd4c8;border-radius:999px;background:#fff;color:#6d5846;font-size:9px;font-weight:800;white-space:nowrap}
  .module-mobile-nav a span{font-size:11px}
  .module-mobile-nav a.active{background:#174b40;color:#fff;border-color:#174b40}
  body.module-page > main{padding-top:12px !important}
}

/* El panel principal es el único que conserva su hamburguesa. */
@media(max-width:900px){
  body:not(.module-page) .mobile-top{display:flex !important;justify-content:space-between;align-items:center;min-width:0}
  body:not(.module-page) .mobile-brand{min-width:0;display:flex;align-items:center;flex:1}
  body:not(.module-page) .mobile-brand > div:last-child{min-width:0}
  body:not(.module-page) .mobile-brand strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:145px}
  body:not(.module-page) .mobile-top-actions{flex:0 0 auto;gap:4px !important}
  body:not(.module-page) .mobile-help{padding:0 8px !important}
  body:not(.module-page) .mobile-logout{padding:0 8px !important}
  body:not(.module-page) #menuButton{display:flex;align-items:center;justify-content:center;border:1px solid #dfd4c8;background:#fff;color:#6d5846}
}


/* ==========================================================
   V41 - PANEL MOVIL: BUSCADOR UTIL + CABECERA ORDENADA
   ========================================================== */
.admin-link{display:inline-flex;align-items:center;border:1px solid #dfd4c8;background:#f8f3ed;color:#5b493a;border-radius:10px;padding:8px 10px;font:800 10px 'DM Sans',sans-serif;text-decoration:none}
@media(max-width:900px){
  body:not(.module-page) .topbar{display:block!important;position:sticky!important;top:58px!important;z-index:95!important;background:#fff!important;padding:8px 10px!important;border-bottom:1px solid #dfd4c8!important}
  body:not(.module-page) .topbar .search{display:flex!important;width:100%!important;height:42px!important;background:#f8f4ef!important;border:1px solid #dfd4c8!important;border-radius:12px!important;padding:0 11px!important}
  body:not(.module-page) .topbar .search input{font-size:12px!important;min-width:0!important}
  body:not(.module-page) .topbar .user-area{display:none!important}
  body:not(.module-page) .mobile-top{height:58px!important;padding:0 9px!important;gap:6px!important}
  body:not(.module-page) .mobile-brand{min-width:0!important;flex:1!important}
  body:not(.module-page) .mobile-brand strong{max-width:125px!important;font-size:15px!important}
  body:not(.module-page) .mobile-brand span{font-size:6px!important}
  body:not(.module-page) .mobile-top-actions{gap:3px!important}
  body:not(.module-page) .mobile-top button{width:32px!important;height:32px!important;font-size:15px!important;padding:0!important}
  body:not(.module-page) #menuButton{display:flex!important}
  body:not(.module-page) .hero{margin-top:8px!important}
}
@media(min-width:901px){.admin-link{margin-right:2px}}


/* ==========================================================
   V42 - PANEL MOVIL LIMPIO: SIN HAMBURGUESA + MARCA CUMBRE
   ========================================================== */
.mobile-logo-mountain{
    width:38px;
    height:30px;
    position:relative;
    flex:0 0 38px;
    margin-right:8px;
}
.mobile-logo-mountain span{
    position:absolute;
    bottom:3px;
    display:block;
    width:0;
    height:0;
}
.mobile-logo-mountain span:nth-child(1){
    left:0;
    border-left:19px solid transparent;
    border-right:19px solid transparent;
    border-bottom:23px solid #174b40;
}
.mobile-logo-mountain span:nth-child(2){
    left:12px;
    bottom:3px;
    border-left:13px solid transparent;
    border-right:13px solid transparent;
    border-bottom:17px solid #38ad90;
}
.mobile-logo-mountain span:nth-child(3){
    left:19px;
    bottom:4px;
    border-left:6px solid transparent;
    border-right:6px solid transparent;
    border-bottom:9px solid #8a745e;
}

@media(max-width:900px){
  body:not(.module-page) .mobile-top{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    height:64px !important;
    padding:0 12px !important;
    gap:10px !important;
    background:rgba(255,255,255,.98) !important;
    border-bottom:1px solid #e7ddd2 !important;
    box-shadow:0 4px 14px rgba(72,52,37,.06) !important;
  }
  body:not(.module-page) .mobile-brand{
    display:flex !important;
    align-items:center !important;
    min-width:0 !important;
    flex:1 !important;
    color:#174b40 !important;
  }
  body:not(.module-page) .mobile-brand > div:last-child{min-width:0 !important}
  body:not(.module-page) .mobile-brand strong{
    display:block !important;
    max-width:none !important;
    font:800 18px/1 'Plus Jakarta Sans',sans-serif !important;
    color:#174b40 !important;
    letter-spacing:-.4px !important;
  }
  body:not(.module-page) .mobile-brand span{
    display:block !important;
    margin-top:4px !important;
    font:600 7px/1 'DM Sans',sans-serif !important;
    letter-spacing:.65px !important;
    color:#7b6a5b !important;
    white-space:nowrap !important;
  }
  body:not(.module-page) .mobile-top-actions{
    display:flex !important;
    align-items:center !important;
    gap:6px !important;
    flex:0 0 auto !important;
  }
  body:not(.module-page) .mobile-help,
  body:not(.module-page) .mobile-logout{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    height:36px !important;
    border-radius:10px !important;
    font-family:'DM Sans',sans-serif !important;
    font-weight:800 !important;
    cursor:pointer !important;
  }
  body:not(.module-page) .mobile-help{
    width:36px !important;
    padding:0 !important;
    border:1px solid #d8cec2 !important;
    background:#f8f4ef !important;
    color:#174b40 !important;
    font-size:17px !important;
  }
  body:not(.module-page) .mobile-logout{
    width:auto !important;
    min-width:58px !important;
    padding:0 11px !important;
    border:1px solid #174b40 !important;
    background:#174b40 !important;
    color:#fff !important;
    font-size:10px !important;
  }
  body:not(.module-page) #menuButton{display:none !important}
}

@media(max-width:420px){
  body:not(.module-page) .mobile-top{padding:0 9px !important}
  body:not(.module-page) .mobile-brand strong{font-size:17px !important}
  body:not(.module-page) .mobile-brand span{font-size:6.5px !important}
  body:not(.module-page) .mobile-help{width:34px !important;height:34px !important}
  body:not(.module-page) .mobile-logout{height:34px !important;min-width:55px !important;padding:0 9px !important}
}
