/* ── Buttons ─────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;gap:6px;padding:7px 15px;border-radius:var(--r);font-weight:600;font-size:.76rem;cursor:pointer;border:none;transition:all .15s;white-space:nowrap;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn:active{transform:scale(.96)!important}
.btn-primary{background:var(--c3);color:#fff;box-shadow:0 2px 10px rgba(0,156,222,.3)}
.btn-primary:hover{background:var(--accent-dk);box-shadow:0 4px 18px rgba(0,156,222,.45);transform:translateY(-1px)}
.btn-navy{background:var(--c1);color:#fff;box-shadow:0 2px 10px rgba(0,48,135,.25)}
.btn-navy:hover{background:var(--c2);box-shadow:0 4px 16px rgba(0,48,135,.35);transform:translateY(-1px)}
.btn-ghost{background:var(--c4);color:var(--text-mid);border:1.5px solid var(--border);box-shadow:var(--shadow-sm)}
.btn-ghost:hover{border-color:var(--c3);color:var(--c3);background:#EEF8FD}
.btn-danger{background:var(--rose-lt);color:var(--rose);border:1px solid rgba(220,38,38,.2)}
.btn-danger:hover{background:rgba(220,38,38,.18)}
.btn-success{background:var(--green-lt);color:var(--green);border:1px solid rgba(22,163,74,.2)}
.btn-success:hover{background:rgba(22,163,74,.18)}
.btn-teal{background:var(--teal-lt);color:var(--teal);border:1px solid rgba(8,145,178,.2)}
.btn-teal:hover{background:rgba(8,145,178,.18)}
.btn-gold{background:var(--c3);color:#fff;box-shadow:0 2px 10px rgba(0,156,222,.3)}
.btn-gold:hover{background:var(--accent-dk);transform:translateY(-1px)}
.btn-sm{padding:5px 10px;font-size:.7rem}
.btn-icon{padding:6px}
.btn-xs{padding:3px 8px;font-size:.67rem}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}

/* ── Cards ───────────────────────────────────────────────────── */
.card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-sm)}
.card-header{padding:14px 18px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}
.card-header h3{font-size:.82rem;font-weight:700;color:var(--c2);letter-spacing:.01em}
.card-body{padding:18px}

/* ── Stats ───────────────────────────────────────────────────── */
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px}
.stat-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px;transition:all .2s;cursor:default;box-shadow:var(--shadow-sm)}
.stat-card:hover{border-color:var(--c3);box-shadow:var(--shadow);transform:translateY(-2px)}
.stat-icon{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;margin-bottom:12px;font-size:17px}
.stat-label{font-size:.62rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.09em;margin-bottom:3px}
.stat-value{font-size:1.7rem;font-weight:800;color:var(--c2);line-height:1;font-family:var(--display)}
.stat-sub{font-size:.68rem;color:var(--text-muted);margin-top:4px}

/* ── Tables ──────────────────────────────────────────────────── */
.table-wrap{overflow-x:auto;border-radius:var(--r-lg);border:1px solid var(--border);background:var(--card-bg);box-shadow:var(--shadow-sm);-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;min-width:480px}
thead tr{background:linear-gradient(135deg,var(--c2) 0%,var(--c1) 100%)}
th{text-align:left;padding:11px 14px;font-size:.62rem;font-weight:700;color:rgba(255,255,255,.85);text-transform:uppercase;letter-spacing:.09em;white-space:nowrap}
td{padding:11px 14px;font-size:.79rem;border-bottom:1px solid var(--border);vertical-align:middle;color:var(--text-dark)}
tr:last-child td{border-bottom:none}
tbody tr{transition:background .12s}
tbody tr:hover{background:var(--accent-lt)}
.td-mono{font-family:var(--mono);font-size:.68rem;color:var(--text-muted)}

/* ── Badges ──────────────────────────────────────────────────── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 9px;border-radius:20px;font-size:.64rem;font-weight:700;border:1px solid transparent;white-space:nowrap}
.badge-pending  {background:var(--amber-lt);color:var(--amber);border-color:rgba(217,119,6,.2)}
.badge-confirmed{background:var(--green-lt);color:var(--green);border-color:rgba(22,163,74,.2)}
.badge-seated   {background:var(--teal-lt);color:var(--teal);border-color:rgba(8,145,178,.2)}
.badge-finished,.badge-completed{background:var(--accent-lt2);color:var(--accent-dk);border-color:rgba(0,156,222,.25)}
.badge-cancelled{background:var(--rose-lt);color:var(--rose);border-color:rgba(220,38,38,.2)}
.badge-noshow   {background:var(--navy-lt2);color:var(--text-muted);border-color:rgba(0,48,135,.15)}
.badge-waiting  {background:var(--amber-lt);color:var(--amber);border-color:rgba(217,119,6,.2)}

/* ── Forms ───────────────────────────────────────────────────── */
.form-group{margin-bottom:13px}
.form-label{display:block;font-size:.64rem;font-weight:700;color:var(--text-mid);text-transform:uppercase;letter-spacing:.09em;margin-bottom:5px}
.form-input,.form-select,.form-textarea{width:100%;border:1.5px solid var(--border);border-radius:var(--r);padding:9px 12px;font-size:.8rem;background:var(--c4);color:var(--text-dark);transition:border-color .15s,box-shadow .15s;outline:none;-webkit-appearance:none;appearance:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--c3);box-shadow:0 0 0 3px rgba(0,156,222,.12);background:#fff}
.form-input::placeholder{color:var(--text-light)}
.form-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='7' viewBox='0 0 11 7'%3E%3Cpath d='M1 1l4.5 4.5L10 1' stroke='%236B8AAD' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:30px;cursor:pointer}
.form-textarea{resize:vertical;min-height:65px}
.form-row{display:grid;gap:12px}
.form-row-2{grid-template-columns:1fr 1fr}
.form-row-3{grid-template-columns:1fr 1fr 1fr}
.form-row-4{grid-template-columns:1fr 1fr 1fr 1fr}
input[type="color"].form-input{padding:4px 6px;height:38px;cursor:pointer}
input[type="date"].form-input{cursor:pointer}

/* ── Modals ──────────────────────────────────────────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(1,33,105,.5);backdrop-filter:blur(4px);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;opacity:0;transition:opacity .2s}
.modal-overlay.show{opacity:1}
.modal{background:var(--c4);border:1px solid var(--border);border-top:3px solid var(--c3);border-radius:var(--r-xl);box-shadow:var(--shadow-xl);width:100%;max-width:560px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;transform:translateY(14px) scale(.97);transition:transform .22s}
.modal-overlay.show .modal{transform:translateY(0) scale(1)}
.modal-lg{max-width:700px}
.modal-head{padding:18px 22px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;background:linear-gradient(135deg,var(--c2),var(--c1))}
.modal-head h3{font-family:'Poppins',sans-serif;font-size:.95rem;font-weight:700;color:var(--c4)}
.modal-body{padding:22px;overflow-y:auto;flex:1;background:var(--c4)}
.modal-foot{padding:14px 22px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:9px;flex-shrink:0;background:var(--c5)}

/* ── Filters ─────────────────────────────────────────────────── */
.filters,.filters-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.filter-chip{padding:5px 12px;border-radius:20px;font-size:.69rem;font-weight:600;border:1.5px solid var(--border);background:var(--c4);color:var(--text-muted);cursor:pointer;transition:all .15s;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.filter-chip:hover{border-color:var(--c3);color:var(--c3)}
.filter-chip.active{background:var(--c3);color:#fff;border-color:var(--c3);box-shadow:0 2px 8px rgba(0,156,222,.3)}
.search-box{position:relative;flex:1;min-width:160px;max-width:240px}
.search-box svg{position:absolute;left:9px;top:50%;transform:translateY(-50%);color:var(--text-muted)}
.search-box input{padding-left:30px!important;padding-right:10px!important}
.filter-search{flex:1;min-width:160px;max-width:240px;padding:8px 12px;border:1.5px solid var(--border);border-radius:var(--r);background:var(--c4);font-size:.79rem;color:var(--text-dark);outline:none;transition:border-color .15s}
.filter-search:focus{border-color:var(--c3);box-shadow:0 0 0 3px rgba(0,156,222,.1)}
.filter-search::placeholder{color:var(--text-light)}
.filter-select{padding:7px 26px 7px 10px;border:1.5px solid var(--border);border-radius:var(--r);background:var(--c4);color:var(--text-mid);font-size:.76rem;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236B8AAD' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;-webkit-appearance:none;appearance:none;outline:none;transition:border-color .15s}
.filter-select:focus{border-color:var(--c3)}

/* ── Misc helpers ────────────────────────────────────────────── */
.empty-state{text-align:center;padding:44px 24px;color:var(--text-muted)}
.empty-state .icon{font-size:2.4rem;margin-bottom:10px;opacity:.5}
.empty-state p{font-size:.82rem;color:var(--text-muted)}
.empty-state .sub{font-size:.72rem;color:var(--text-light);margin-top:4px}
.empty-state h3{font-size:.88rem;font-weight:700;color:var(--text-dark);margin-bottom:6px}
.section-title{font-family:'Poppins',sans-serif;font-size:1.3rem;font-weight:700;color:var(--c2)}
.section-sub{font-size:.76rem;color:var(--text-muted);margin-top:2px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}
.gap-2{gap:8px}.gap-3{gap:12px}
.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mt-6{margin-top:24px}
.mb-4{margin-bottom:16px}.mb-6{margin-bottom:22px}
.fw-7{font-weight:700}.fw-6{font-weight:600}
.text-accent{color:var(--c3)}.text-navy{color:var(--c2)}
.text-green{color:var(--green)}.text-rose{color:var(--rose)}
.text-amber{color:var(--amber)}.text-teal{color:var(--teal)}
.text-muted{color:var(--text-muted)}
.text-sm{font-size:.76rem}.text-xs{font-size:.68rem}
.font-bold{font-weight:700}.font-semi{font-weight:600}
.w-full{width:100%}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-0{padding:0!important}
.cust-initials{width:32px;height:32px;border-radius:50%;background:var(--accent-lt2);color:var(--c3);display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;flex-shrink:0;border:1.5px solid rgba(0,156,222,.2)}
.inline-label{display:flex;align-items:center;gap:7px;cursor:pointer;font-size:.78rem;font-weight:500;color:var(--text-mid)}
.inline-label input[type=checkbox]{width:15px;height:15px;accent-color:var(--c3);cursor:pointer}
.tag{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.62rem;font-weight:700;background:var(--accent-lt2);color:var(--c3);border:1px solid var(--border2);margin:2px}

/* ═══════════════════════════════════════════════════════
   RESPONSIVE additions (no tocan el diseño desktop)
═══════════════════════════════════════════════════════ */
@media(max-width:1100px){
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .grid-2{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .stats-grid{gap:10px}
  .table-wrap{border:none;box-shadow:none;background:transparent;overflow:visible}
  table,thead,tbody,th,td,tr{display:block}
  thead tr{position:absolute;top:-9999px;left:-9999px}
  tbody tr{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--r-lg);margin-bottom:10px;box-shadow:var(--shadow-sm)}
  td{border-bottom:1px solid var(--border);padding:9px 14px;display:flex;justify-content:space-between;align-items:center;font-size:.78rem;gap:8px;min-height:40px}
  td:last-child{border-bottom:none}
  td[data-label]::before{content:attr(data-label);font-size:.60rem;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;flex-shrink:0;min-width:80px}
  .form-row-2,.form-row-3,.form-row-4{grid-template-columns:1fr;gap:0}
  .grid-2{grid-template-columns:1fr}
}
@media(max-width:580px){
  .modal-overlay{padding:0;align-items:flex-end}
  .modal{border-radius:var(--r-xl) var(--r-xl) 0 0;max-width:100%;max-height:93vh;animation:slideUp .26s var(--ease);transform:none;border-bottom:none}
  .modal-overlay.show .modal{transform:none}
  .modal-lg{max-width:100%}
  .modal-head{padding:14px 18px}
  .modal-body{padding:16px 18px}
  .modal-foot{padding:12px 18px;flex-wrap:wrap}
  .modal-foot .btn{flex:1;justify-content:center;min-width:80px}
}
@media(max-width:400px){
  .stats-grid{grid-template-columns:1fr 1fr;gap:9px}
  .stat-value{font-size:1.45rem}
  .stat-card{padding:14px 12px}
  .filters,.filters-bar{flex-direction:column;align-items:stretch}
  .filter-search,.search-box{max-width:100%}
}
@media(max-width:480px){
  .form-input,.form-select,.form-textarea{font-size:16px}
}
