/* ═══════════════════════════════════════════════
   TOKENS
═══════════════════════════════════════════════ */
:root{
  --ink:#1a0f05; --ink2:#2e1f0e; --warm:#7a5a1a;
  --gold:#c9a84c; --gold2:#e8c96a; --cream:#f8f3ea;
  --sand:#f0e8d5; --border:#d8ccb5; --muted:#9a8e7a;
  --linen:#e8ddc5;
  --r:10px;

  /* estados */
  --c-confirmada:#2e6b2e; --bg-confirmada:#e8f4e8;
  --c-reconfirmada:#1a5fa8; --bg-reconfirmada:#ddeeff;
  --c-sentado:#5a3a8a;   --bg-sentado:#ede8f8;
  --c-tarde:#b06010;     --bg-tarde:#fff0d8;
  --c-noshow:#8a1a1a;    --bg-noshow:#fde8e4;
  --c-cancliente:#6b6b6b;--bg-cancliente:#f0f0f0;
  --c-canresto:#1a1a1a;  --bg-canresto:#e8e8e8;
  --c-walkin:#5a8a1a;    --bg-walkin:#eef4e0;
  --c-doble:#0a6b6b;     --bg-doble:#d8f0f0;
  --c-liberada:#888;     --bg-liberada:#f5f5f5;
  --c-combo:#7a3a8a;     --bg-combo:#f0e8f8;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html{scroll-behavior:smooth;}
body{font-family:'DM Sans',sans-serif;background:var(--cream);color:var(--ink);min-height:100vh;}

/* ═══════ COOKIE BANNER ═══════ */
#cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:9999;
  background:var(--ink2);color:var(--cream);
  padding:1.2rem 1.5rem;
  box-shadow:0 -4px 24px rgba(0,0,0,.3);
  display:none;
}
#cookie-banner.show{display:block;}
.cookie-inner{max-width:900px;margin:0 auto;}
.cookie-inner h4{font-family:'Cormorant Garamond',serif;font-size:1.1rem;color:var(--gold);margin-bottom:.4rem;}
.cookie-inner p{font-size:.8rem;line-height:1.6;color:#c8bba8;margin-bottom:.9rem;}
.cookie-inner p a{color:var(--gold);text-decoration:underline;cursor:pointer;}
.cookie-btns{display:flex;gap:.7rem;flex-wrap:wrap;}
.btn-cookie-accept{background:var(--gold);color:var(--ink);border:none;padding:.55rem 1.3rem;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .2s;}
.btn-cookie-accept:hover{background:var(--gold2);}
.btn-cookie-reject{background:none;color:#a0927e;border:1px solid #5a4a35;padding:.55rem 1.3rem;border-radius:6px;font-family:'DM Sans',sans-serif;font-size:.8rem;cursor:pointer;transition:all .2s;}
.btn-cookie-reject:hover{border-color:#9a8a6e;color:var(--cream);}

/* ═══════ PRIVACY MODAL ═══════ */
#privacy-modal{display:none;position:fixed;inset:0;z-index:10000;background:rgba(0,0,0,.6);align-items:center;justify-content:center;padding:1rem;}
#privacy-modal.show{display:flex;}
.privacy-box{background:#fff;border-radius:12px;max-width:600px;width:100%;max-height:85vh;overflow-y:auto;padding:2rem;}
.privacy-box h3{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin-bottom:1rem;color:var(--ink);}
.privacy-box p,.privacy-box li{font-size:.83rem;line-height:1.8;color:#555;margin-bottom:.6rem;}
.privacy-box h4{font-size:.9rem;font-weight:600;margin:.8rem 0 .3rem;color:var(--ink);}
.privacy-box ul{padding-left:1.2rem;}
.btn-close-privacy{margin-top:1.2rem;background:var(--ink2);color:var(--gold);border:none;padding:.7rem 1.5rem;border-radius:8px;font-family:'DM Sans',sans-serif;font-size:.82rem;font-weight:600;cursor:pointer;}
.btn-close-privacy:hover{background:#3d2510;}

/* ═══════ NAV ═══════ */
nav{
  background:var(--cream);border-bottom:1.5px solid var(--linen);
  position:sticky;top:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 1.4rem;height:130px;
  box-shadow:0 2px 12px rgba(61,42,18,.07);
}
.nav-logo{
  position:absolute;left:50%;transform:translateX(-50%);
  display:flex;align-items:center;height:100%;padding:5px 0;
  pointer-events:none;
}
.nav-logo img{height:118px;width:auto;display:block;}
.nav-tabs{display:flex;margin-left:auto;}
.nav-tab{background:none;border:none;color:var(--muted);font-family:'DM Sans',sans-serif;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;padding:0 .9rem;height:130px;cursor:pointer;border-bottom:3px solid transparent;transition:color .2s;white-space:nowrap;font-weight:500;}
.nav-tab:hover,.nav-tab.active{color:var(--warm);}
.nav-tab.active{border-bottom-color:var(--gold);}

/* ═══════ PAGES ═══════ */
.page{display:none;}.page.active{display:block;}

/* ═══════ HERO ═══════ */
.hero{background:var(--ink);padding:clamp(2.5rem,8vw,5rem) 1.5rem clamp(2rem,6vw,3.5rem);text-align:center;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% -20%,rgba(201,168,76,.18) 0%,transparent 65%);pointer-events:none;}
.hero-orn{color:var(--gold);font-size:.68rem;letter-spacing:.5em;text-transform:uppercase;margin-bottom:.8rem;opacity:.8;}
.hero h1{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,6vw,3.4rem);color:var(--cream);line-height:1.15;font-weight:400;margin-bottom:.4rem;}
.hero h1 em{color:var(--gold);font-style:italic;}
.hero-sub{color:#8a7a68;font-size:.85rem;letter-spacing:.06em;font-weight:300;}
.hero-rule{width:48px;height:1px;background:var(--gold);margin:1.2rem auto;}

/* ═══════ FORM ═══════ */
.form-wrap{max-width:640px;margin:0 auto;padding:clamp(1.5rem,5vw,2.5rem) 1.2rem 3rem;}
.sec-title{font-family:'Cormorant Garamond',serif;font-size:clamp(1.3rem,4vw,1.7rem);text-align:center;margin-bottom:.3rem;}
.sec-sub{text-align:center;color:var(--muted);font-size:.82rem;margin-bottom:1.8rem;}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem;}
.span2{grid-column:1/-1;}
@media(max-width:480px){.grid2{grid-template-columns:1fr;}.span2{grid-column:1;}}
.fld{display:flex;flex-direction:column;gap:.35rem;}
.fld label{font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--warm);font-weight:600;}
.fld label b{color:#c0392b;}
.fld input,.fld select,.fld textarea{
  background:#fff;border:1.5px solid var(--border);border-radius:var(--r);
  padding:.82rem 1rem;font-family:'DM Sans',sans-serif;font-size:1rem;color:var(--ink);
  outline:none;appearance:none;-webkit-appearance:none;width:100%;
  transition:border-color .2s,box-shadow .2s;
}
.fld input:focus,.fld select:focus,.fld textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,168,76,.14);}
.fld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath fill='%237a5a1a' d='M5.5 7L0 0h11z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem;cursor:pointer;}
.fld textarea{resize:vertical;min-height:78px;}
.fld-note{font-size:.7rem;color:var(--muted);}
.btn-main{width:100%;background:var(--ink2);color:var(--gold);border:2px solid var(--gold);border-radius:var(--r);font-family:'DM Sans',sans-serif;font-size:.86rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:1.05rem;cursor:pointer;transition:all .25s;margin-top:1.2rem;min-height:52px;touch-action:manipulation;}
.btn-main:hover:not(:disabled),.btn-main:active:not(:disabled){background:var(--gold);color:var(--ink);}
.btn-main:disabled{opacity:.5;cursor:not-allowed;}
.msg-err{display:none;background:#fff0ee;border:1px solid #f0b8a8;border-radius:8px;padding:.8rem 1rem;font-size:.84rem;color:#8a2a1a;margin-top:.8rem;line-height:1.5;}
.msg-ok{display:none;background:#f0f8f0;border:1px solid #9acc9a;border-radius:8px;padding:1.5rem;text-align:center;margin-top:1.2rem;}
.msg-ok.show{display:block;}
.msg-ok h3{font-family:'Cormorant Garamond',serif;color:#2a5a2a;margin-bottom:.4rem;font-size:1.3rem;}
.msg-ok p{color:#3a6a3a;font-size:.86rem;line-height:1.7;}

/* ═══════ ADMIN LOGIN ═══════ */
.login-wrap{max-width:380px;margin:3rem auto;padding:0 1rem;}
.login-box{background:#fff;border-radius:12px;padding:2.5rem 2rem;box-shadow:0 4px 24px rgba(0,0,0,.09);border-top:4px solid var(--gold);text-align:center;}
.login-box h2{font-family:'Cormorant Garamond',serif;font-size:1.5rem;margin-bottom:.4rem;}
.login-box p{color:var(--muted);font-size:.82rem;margin-bottom:1.8rem;}
.login-box .fld{text-align:left;margin-bottom:1rem;}
.btn-login{width:100%;background:var(--ink2);color:var(--gold);border:none;border-radius:var(--r);padding:1rem;font-family:'DM Sans',sans-serif;font-size:.84rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:background .2s;min-height:50px;touch-action:manipulation;}
.btn-login:hover{background:#3d2510;}
.login-err{color:#8a2a1a;font-size:.82rem;margin-top:.8rem;display:none;}

/* ═══════ DASHBOARD ═══════ */
.dash{padding:clamp(.9rem,3vw,1.8rem);max-width:1140px;margin:0 auto;}
.dash-hdr{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:.8rem;margin-bottom:1.2rem;}
.dash-hdr h2{font-family:'Cormorant Garamond',serif;font-size:clamp(1.2rem,4vw,1.7rem);}
.dash-ctrl{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center;}
.date-pick{display:flex;align-items:center;gap:.4rem;background:#fff;border:1.5px solid var(--border);border-radius:var(--r);padding:.5rem .9rem;font-size:.82rem;flex:1;min-width:180px;}
.date-pick input[type=date]{border:none;outline:none;font-family:'DM Sans',sans-serif;font-size:.82rem;color:var(--ink);cursor:pointer;background:transparent;flex:1;min-width:0;-webkit-appearance:none;}
.btn-sm{background:none;border:1.5px solid var(--border);border-radius:var(--r);padding:.5rem .9rem;font-size:.73rem;letter-spacing:.08em;text-transform:uppercase;font-family:'DM Sans',sans-serif;cursor:pointer;color:var(--muted);transition:all .2s;touch-action:manipulation;white-space:nowrap;font-weight:500;}
.btn-sm:hover{border-color:#c0392b;color:#c0392b;}
.btn-sm.crm-btn{border-color:var(--gold);color:var(--warm);}
.btn-sm.crm-btn:hover{background:var(--gold);color:var(--ink);}

/* STATS */
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.7rem;margin-bottom:1.2rem;}
@media(min-width:580px){.stats{grid-template-columns:repeat(4,1fr);}}
.stat{background:#fff;border-radius:var(--r);padding:1rem;border-left:4px solid var(--gold);box-shadow:0 1px 6px rgba(0,0,0,.05);}
.stat .n{font-family:'Cormorant Garamond',serif;font-size:1.9rem;color:var(--ink);line-height:1;}
.stat .l{font-size:.67rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:.2rem;}

/* PLANO */
.plan-box{background:#fff;border-radius:10px;padding:1.2rem;box-shadow:0 1px 8px rgba(0,0,0,.06);margin-bottom:1.2rem;}
.plan-box h3{font-family:'Cormorant Garamond',serif;font-size:1.05rem;margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1px solid #ede8e0;}
.plan-floor{background:#f5f0e5;border-radius:8px;padding:1.1rem;border:1.5px solid #e0d8c5;}
.plan-zone{margin-bottom:1.1rem;}.plan-zone:last-child{margin-bottom:0;}
.plan-zone-lbl{font-size:.65rem;letter-spacing:.15em;text-transform:uppercase;color:#b0a070;font-weight:600;margin-bottom:.6rem;}
.mesas-row{display:flex;gap:.55rem;flex-wrap:wrap;}

/* MESAS */
.mesa{border-radius:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid transparent;text-align:center;padding:.35rem .25rem;width:clamp(78px,18vw,96px);height:clamp(84px,19vw,100px);cursor:pointer;transition:transform .15s,box-shadow .15s;user-select:none;touch-action:manipulation;position:relative;font-size:.6rem;}
.mesa:active{transform:scale(.94);}
@media(hover:hover){.mesa:hover{transform:scale(1.07);box-shadow:0 4px 14px rgba(0,0,0,.13);}}
.mesa-num{font-family:'Cormorant Garamond',serif;font-size:1.05rem;font-weight:700;line-height:1;}
.mesa-cap{font-size:.58rem;opacity:.75;margin-top:1px;line-height:1.3;}
.mesa-info{font-size:.56rem;font-weight:600;margin-top:2px;line-height:1.3;}
.mesa-badge{position:absolute;top:3px;right:4px;font-size:.46rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:1px 4px;border-radius:3px;color:#fff;}

/* colores mesa */
.m-libre{background:#eef6ee;border-color:#8dbb8d;color:#2a5a2a;}
.m-ocupada{background:var(--bg-confirmada);border-color:#6aaa6a;color:var(--c-confirmada);}
.m-reconf{background:var(--bg-reconfirmada);border-color:var(--c-reconfirmada);color:var(--c-reconfirmada);}
.m-sentado{background:var(--bg-sentado);border-color:var(--c-sentado);color:var(--c-sentado);}
.m-tarde{background:var(--bg-tarde);border-color:var(--c-tarde);color:var(--c-tarde);}
.m-noshow{background:var(--bg-noshow);border-color:#c07070;color:var(--c-noshow);}
.m-doble{background:var(--bg-doble);border-color:var(--c-doble);color:var(--c-doble);}
.m-walkin{background:var(--bg-walkin);border-color:#8aaa4a;color:var(--c-walkin);}
.m-combo{background:var(--bg-combo);border-color:var(--c-combo);color:var(--c-combo);}

/* LEYENDA */
.leyenda{display:flex;gap:.6rem;margin-top:.9rem;flex-wrap:wrap;align-items:center;}
.leg{display:flex;align-items:center;gap:.35rem;font-size:.68rem;color:var(--muted);}
.leg-dot{width:11px;height:11px;border-radius:3px;flex-shrink:0;}

/* LISTA */
.list-box{background:#fff;border-radius:10px;padding:1.2rem;box-shadow:0 1px 8px rgba(0,0,0,.06);}
.list-box h3{font-family:'Cormorant Garamond',serif;font-size:1.05rem;margin-bottom:1rem;padding-bottom:.7rem;border-bottom:1px solid #ede8e0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.5rem;}
.toggle-cancelled{font-size:.72rem;font-weight:500;color:var(--warm);cursor:pointer;text-decoration:underline;white-space:nowrap;}

/* estado badges en lista */
.badge-estado{display:inline-block;padding:.18rem .6rem;border-radius:20px;font-size:.68rem;font-weight:600;white-space:nowrap;}
.be-confirmada{background:var(--bg-confirmada);color:var(--c-confirmada);}
.be-reconfirmada{background:var(--bg-reconfirmada);color:var(--c-reconfirmada);}
.be-sentado{background:var(--bg-sentado);color:var(--c-sentado);}
.be-tarde{background:var(--bg-tarde);color:var(--c-tarde);}
.be-noshow{background:var(--bg-noshow);color:var(--c-noshow);}
.be-cancliente{background:var(--bg-cancliente);color:var(--c-cancliente);}
.be-canresto{background:var(--bg-canresto);color:var(--c-canresto);}
.be-walkin{background:var(--bg-walkin);color:var(--c-walkin);}
.be-liberada{background:var(--bg-liberada);color:var(--c-liberada);}
.be-combo{background:var(--bg-combo);color:var(--c-combo);}

/* res cards móvil */
.res-card{border:1px solid #ede8e0;border-radius:8px;padding:.85rem 1rem;margin-bottom:.6rem;cursor:pointer;transition:background .1s;}
.res-card:active{background:#faf6ee;}
.res-card.cancelada{opacity:.6;}
.rc-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.4rem;gap:.5rem;}
.rc-name{font-weight:600;font-size:.9rem;}
.rc-hora{font-family:'Cormorant Garamond',serif;font-size:1rem;color:var(--warm);font-weight:700;white-space:nowrap;}
.rc-meta{display:flex;gap:.55rem;flex-wrap:wrap;align-items:center;}
.rc-meta span{font-size:.74rem;color:var(--muted);}

/* tabla escritorio */
.tbl-wrap{display:none;overflow-x:auto;}
@media(min-width:768px){.tbl-wrap{display:block;}.res-cards{display:none;}}
.tbl{width:100%;border-collapse:collapse;font-size:.8rem;}
.tbl th{background:var(--ink2);color:var(--gold);padding:.6rem .8rem;text-align:left;font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;}
.tbl td{padding:.68rem .8rem;border-bottom:1px solid #f0ebe0;color:var(--ink);vertical-align:middle;}
.tbl tr:last-child td{border-bottom:none;}
.tbl tr:hover td{background:#faf6ee;cursor:pointer;}
.tbl tr.tr-cancel td{opacity:.55;}
.empty-msg{text-align:center;padding:2.5rem 1rem;color:#b0a080;}

/* ═══════ OVERLAY + POPUP ═══════ */
.overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.54);z-index:400;align-items:flex-end;justify-content:center;}
.overlay.show{display:flex;}
@media(min-width:768px){.overlay{align-items:center;}}
.popup{background:#fff;width:100%;border-radius:18px 18px 0 0;padding:1.4rem 1.4rem 1.8rem;box-shadow:0 -8px 40px rgba(0,0,0,.2);border-top:4px solid var(--gold);position:relative;max-height:92dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;}
@media(min-width:768px){.popup{border-radius:12px;max-width:540px;padding:2rem;}}
.popup-handle{width:38px;height:4px;background:#e0d8c5;border-radius:2px;margin:-.4rem auto 1.1rem;display:block;}
@media(min-width:768px){.popup-handle{display:none;}}
.popup-close{position:absolute;top:1.1rem;right:1.1rem;background:#f0ebe0;border:none;width:30px;height:30px;border-radius:50%;font-size:.9rem;cursor:pointer;color:var(--muted);display:flex;align-items:center;justify-content:center;touch-action:manipulation;z-index:5;}
.popup-close:hover{color:#c0392b;background:#fde8e4;}
.pop-title{font-family:'Cormorant Garamond',serif;font-size:1.15rem;margin-bottom:.9rem;padding-right:2.5rem;}

/* popup tabs */
.ptabs{display:flex;border-bottom:1px solid #ede8e0;margin-bottom:1.1rem;gap:0;}
.ptab{background:none;border:none;border-bottom:3px solid transparent;padding:.55rem .9rem;font-family:'DM Sans',sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:#a09070;cursor:pointer;transition:all .2s;}
.ptab.active{color:var(--warm);border-bottom-color:var(--gold);}

/* info rows */
.irow{display:flex;justify-content:space-between;padding:.55rem 0;border-bottom:1px solid #f0ebe0;font-size:.84rem;gap:.8rem;}
.irow:last-child{border-bottom:none;}
.ilbl{color:var(--muted);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;font-weight:600;flex-shrink:0;padding-top:.1rem;}
.ival{color:var(--ink);text-align:right;word-break:break-word;}

/* estados selector */
.estados-grid{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.2rem;}
@media(min-width:400px){.estados-grid{grid-template-columns:repeat(3,1fr);}}
.estado-btn{border:1.5px solid transparent;border-radius:7px;padding:.5rem .3rem;font-family:'DM Sans',sans-serif;font-size:.7rem;font-weight:600;cursor:pointer;text-align:center;transition:all .18s;line-height:1.3;}
.estado-btn:hover{transform:scale(1.03);}
.estado-btn.sel{box-shadow:0 0 0 3px rgba(0,0,0,.18);transform:scale(1.04);}
.eb-confirmada{background:var(--bg-confirmada);color:var(--c-confirmada);border-color:var(--c-confirmada);}
.eb-reconfirmada{background:var(--bg-reconfirmada);color:var(--c-reconfirmada);border-color:var(--c-reconfirmada);}
.eb-sentado{background:var(--bg-sentado);color:var(--c-sentado);border-color:var(--c-sentado);}
.eb-tarde{background:var(--bg-tarde);color:var(--c-tarde);border-color:var(--c-tarde);}
.eb-noshow{background:var(--bg-noshow);color:var(--c-noshow);border-color:var(--c-noshow);}
.eb-cancliente{background:var(--bg-cancliente);color:var(--c-cancliente);border-color:#aaa;}
.eb-canresto{background:var(--bg-canresto);color:var(--c-canresto);border-color:#888;}
.eb-liberada{background:#fff3cd;color:#7a5500;border-color:#e0a800;}

/* edit form */
.egrid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:.9rem;}
@media(max-width:480px){.egrid{grid-template-columns:1fr;}}
.espan{grid-column:1/-1;}
.efld{display:flex;flex-direction:column;gap:.3rem;}
.efld label{font-size:.67rem;letter-spacing:.09em;text-transform:uppercase;color:var(--warm);font-weight:600;}
.efld input,.efld select,.efld textarea{background:#faf6ee;border:1.5px solid var(--border);border-radius:8px;padding:.68rem .85rem;font-family:'DM Sans',sans-serif;font-size:.95rem;color:var(--ink);outline:none;appearance:none;-webkit-appearance:none;width:100%;transition:border-color .2s;}
.efld input:focus,.efld select:focus,.efld textarea:focus{border-color:var(--gold);background:#fff;}
.efld select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7'%3E%3Cpath fill='%237a5a1a' d='M5.5 7L0 0h11z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;padding-right:2.2rem;cursor:pointer;}
.efld textarea{resize:vertical;min-height:60px;}
.btn-save{width:100%;background:var(--ink2);color:var(--gold);border:2px solid var(--gold);border-radius:var(--r);padding:.85rem;font-family:'DM Sans',sans-serif;font-size:.83rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:all .2s;margin-top:.4rem;min-height:46px;touch-action:manipulation;}
.btn-save:hover{background:var(--gold);color:var(--ink);}
.btn-walkin{width:100%;background:none;border:1.5px solid var(--c-walkin);color:var(--c-walkin);padding:.72rem;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;font-family:'DM Sans',sans-serif;border-radius:var(--r);cursor:pointer;transition:all .2s;margin-top:.5rem;font-weight:600;min-height:44px;touch-action:manipulation;}
.btn-walkin:hover,.btn-walkin.on{background:var(--c-walkin);color:#fff;}
.btn-combo{width:100%;background:none;border:1.5px solid var(--c-combo);color:var(--c-combo);padding:.72rem;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;font-family:'DM Sans',sans-serif;border-radius:var(--r);cursor:pointer;transition:all .2s;margin-top:.5rem;font-weight:600;min-height:44px;touch-action:manipulation;}
.btn-combo:hover,.btn-combo.on{background:var(--c-combo);color:#fff;}

/* Modal combinar mesas */
.combo-modal{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.5);display:none;align-items:center;justify-content:center;padding:1rem;}
.combo-modal.show{display:flex;}
.combo-box{background:#fff;border-radius:12px;padding:1.5rem;max-width:420px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 8px 40px rgba(0,0,0,.2);border-top:3px solid var(--c-combo);}
.combo-box h4{font-family:'Cormorant Garamond',serif;font-size:1.1rem;margin-bottom:1rem;color:var(--ink);}
.combo-option{display:flex;align-items:center;gap:.7rem;padding:.6rem .8rem;border:1.5px solid var(--border);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:all .15s;font-size:.84rem;}
.combo-option:hover{background:var(--bg-combo);border-color:var(--c-combo);}
.combo-option input[type=checkbox]{accent-color:var(--c-combo);width:16px;height:16px;cursor:pointer;flex-shrink:0;}
.combo-option:has(input:checked){background:var(--bg-combo);border-color:var(--c-combo);}
.combo-free{font-size:.7rem;color:var(--muted);margin-left:auto;white-space:nowrap;}
.combo-sep{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;margin:.8rem 0 .4rem;}

.btn-danger{width:100%;background:none;border:1.5px solid #c0392b;color:#c0392b;padding:.72rem;font-size:.78rem;letter-spacing:.09em;text-transform:uppercase;font-family:'DM Sans',sans-serif;border-radius:var(--r);cursor:pointer;transition:all .2s;margin-top:.5rem;font-weight:600;min-height:44px;touch-action:manipulation;}
.btn-danger:hover{background:#c0392b;color:#fff;}

/* ═══════ CRM ═══════ */
.crm-search{display:flex;gap:.6rem;margin-bottom:1.1rem;flex-wrap:wrap;}
.crm-search input{flex:1;min-width:180px;background:#fff;border:1.5px solid var(--border);border-radius:var(--r);padding:.7rem 1rem;font-family:'DM Sans',sans-serif;font-size:.9rem;color:var(--ink);outline:none;transition:border-color .2s;}
.crm-search input:focus{border-color:var(--gold);}
.crm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.9rem;}
.crm-card{background:#fff;border-radius:10px;padding:1.1rem;box-shadow:0 1px 6px rgba(0,0,0,.06);border-left:4px solid var(--gold);cursor:pointer;transition:transform .15s,box-shadow .15s;}
.crm-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px rgba(0,0,0,.1);}
.crm-name{font-family:'Cormorant Garamond',serif;font-size:1.1rem;font-weight:600;margin-bottom:.3rem;}
.crm-meta{font-size:.76rem;color:var(--muted);line-height:1.7;}
.crm-meta a{color:var(--warm);text-decoration:none;}
.crm-stats{display:flex;gap:.8rem;margin-top:.6rem;flex-wrap:wrap;}
.crm-stat{font-size:.72rem;background:var(--sand);border-radius:5px;padding:.2rem .5rem;color:var(--warm);font-weight:600;}
.crm-empty{text-align:center;padding:3rem 1rem;color:#b0a080;}

/* CRM popup hist */
.hist-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #f0ebe0;font-size:.8rem;gap:.5rem;}
.hist-item:last-child{border-bottom:none;}

@supports(padding-bottom:env(safe-area-inset-bottom)){body{padding-bottom:env(safe-area-inset-bottom);}}
