/* ========================================================================== 
   SSI page-level UI styles
   Extracted from PHP <style> blocks so templates keep markup and data only.
   Base/design-system rules stay in assets/css/ssi-ui.css.
   ========================================================================== */
/* ===== admin_reservas_permisos.php :: style block 1 ===== */
body[data-ssi-page="admin_reservas_permisos.php"] .ssi-admin-wrap{
    max-width: 980px;
    margin: 0 auto;
}

body[data-ssi-page="admin_reservas_permisos.php"] .ssi-admin-card{
    width:100%;
}

body[data-ssi-page="admin_reservas_permisos.php"] .ssi-admin-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:12px;
    margin-bottom:18px;
    flex-wrap:wrap;
}

body[data-ssi-page="admin_reservas_permisos.php"] .ssi-admin-header .icon{
    width:44px;
    height:44px;
    border-radius:14px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:#e6f7ee;
    color:#198754;
    font-size:1.2rem;
    flex:0 0 auto;
}

body[data-ssi-page="admin_reservas_permisos.php"] .ssi-admin-titlebox{
    display:flex;
    align-items:flex-start;
    gap:12px;
}

body[data-ssi-page="admin_reservas_permisos.php"] .table-modern{
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
}

body[data-ssi-page="admin_reservas_permisos.php"] .table-modern thead th{
    background: #e9ecef;
    color: #333;
    border: none;
    padding: 10px;
    border-radius: 8px;
    font-weight:600;
}

body[data-ssi-page="admin_reservas_permisos.php"] .table-avatar-col{
    width:60px;
    text-align:center;
}

body[data-ssi-page="admin_reservas_permisos.php"] .table-avatar-cell{
    width:60px;
    text-align:center;
    vertical-align:middle;
}

body[data-ssi-page="admin_reservas_permisos.php"] .table-modern tbody tr{
    background:#fff;
    border-radius:12px;
    box-shadow:0 1px 6px rgba(0,0,0,.08);
    transition:.18s ease;
}

body[data-ssi-page="admin_reservas_permisos.php"] .table-modern tbody tr:hover{
    background:#f8f9fa;
    transform:scale(1.01);
}

body[data-ssi-page="admin_reservas_permisos.php"] .ssi-btn-pill{
    border-radius:999px;
    padding:8px 22px;
    font-weight:600;
}

body[data-ssi-page="admin_reservas_permisos.php"] .ssi-permission-toggle-btn{
    width:auto !important;
    min-width:118px !important;
    max-width:none !important;
    min-height:34px !important;
    padding:.34rem .78rem !important;
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:.4rem !important;
    white-space:nowrap !important;
    line-height:1.15 !important;
}

body[data-ssi-page="admin_reservas_permisos.php"] .danger-box{
    margin-top: 28px;
    border: 1px solid #f1aeb5;
    background: linear-gradient(180deg, #fff 0%, #fff5f6 100%);
    border-radius: 16px;
    padding: 18px;
    box-shadow: 0 3px 10px rgba(220,53,69,.08);
}

body[data-ssi-page="admin_reservas_permisos.php"] .danger-box .danger-title{
    display:flex;
    align-items:center;
    gap:10px;
    font-weight:700;
    color:#b02a37;
    margin-bottom:10px;
}

body[data-ssi-page="admin_reservas_permisos.php"] .danger-box .danger-text{
    color:#6b1f26;
    margin-bottom:15px;
}

body[data-ssi-page="admin_reservas_permisos.php"] .danger-actions{
    display:flex;
    gap:10px;
    flex-wrap:wrap;
    margin-top:14px;
}

body[data-ssi-page="admin_reservas_permisos.php"] .role-pill{
    border-radius:999px;
    padding:4px 10px;
    font-size:.78rem;
    font-weight:600;
    display:inline-block;
}

body[data-ssi-page="admin_reservas_permisos.php"] .role-pill.admin{
    background:#f8d7da;
    color:#842029;
}

body[data-ssi-page="admin_reservas_permisos.php"] .role-pill.user{
    background:#e9ecef;
    color:#495057;
}

body[data-ssi-page="admin_reservas_permisos.php"] .stock-permissions-box{
    margin-top:24px;
    border:1px solid rgba(25,135,84,.16);
    border-radius:16px;
    padding:18px;
    background:linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
    box-shadow:0 3px 10px rgba(15,23,42,.05);
}

body[data-ssi-page="admin_reservas_permisos.php"] .stock-permissions-title{
    display:flex;
    align-items:center;
    gap:10px;
    margin-bottom:14px;
}

body[data-ssi-page="admin_reservas_permisos.php"] .stock-area-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:12px 0;
    border-top:1px solid rgba(15,23,42,.08);
}

body[data-ssi-page="admin_reservas_permisos.php"] .stock-area-row:first-of-type{
    border-top:0;
}

@media (max-width: 768px){
    body[data-ssi-page="admin_reservas_permisos.php"] .stock-area-row{
        align-items:flex-start;
        flex-direction:column;
    }
    body[data-ssi-page="admin_reservas_permisos.php"] .danger-actions{
        flex-direction:column;
    }
    body[data-ssi-page="admin_reservas_permisos.php"] .danger-actions > *{
        width:100%;
    }
}

/* ===== buscar.php :: style block 1 ===== */
body[data-ssi-page="buscar.php"] .search-wrap{
    max-width:1080px;
    margin:0 auto;
}
body[data-ssi-page="buscar.php"] .search-shell{
    background:#fff;
    border-radius:22px;
    box-shadow:0 8px 26px rgba(0,0,0,.08);
    border:1px solid rgba(0,0,0,.05);
    padding:22px;
}
body[data-ssi-page="buscar.php"] .search-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
    margin-bottom:16px;
}
body[data-ssi-page="buscar.php"] .search-head h4{
    margin:0;
    font-weight:800;
    color:#1f2937;
}
body[data-ssi-page="buscar.php"] .search-head-sub{
    color:#6b7280;
    font-size:.95rem;
    margin-top:4px;
}
body[data-ssi-page="buscar.php"] .search-summary{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin:10px 0 18px;
}
body[data-ssi-page="buscar.php"] .search-summary-chip{
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:.52rem .9rem;
    border-radius:999px;
    background:#f8fafc;
    border:1px solid rgba(0,0,0,.06);
    color:#334155;
    font-size:.88rem;
    font-weight:700;
}
body[data-ssi-page="buscar.php"] .search-summary-chip strong{
    color:#111827;
    font-weight:800;
}
body[data-ssi-page="buscar.php"] .search-group{
    margin-top:22px;
}
body[data-ssi-page="buscar.php"] .search-group:first-of-type{
    margin-top:8px;
}
body[data-ssi-page="buscar.php"] .search-group-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin-bottom:12px;
    padding-bottom:10px;
    border-bottom:1px solid rgba(0,0,0,.06);
}
body[data-ssi-page="buscar.php"] .search-group-title{
    font-size:1.05rem;
    font-weight:800;
    color:#1f2937;
    margin:0;
    display:flex;
    align-items:center;
    gap:8px;
}
body[data-ssi-page="buscar.php"] .search-group-count{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:30px;
    height:30px;
    padding:0 10px;
    border-radius:999px;
    font-size:.82rem;
    font-weight:800;
    background:rgba(37,211,102,.12);
    color:#198754;
    border:1px solid rgba(37,211,102,.18);
}
body[data-ssi-page="buscar.php"] .search-card{
    background:#fff;
    border-radius:18px;
    box-shadow:0 4px 14px rgba(0,0,0,.06);
    padding:18px 20px;
    margin-bottom:14px;
    border:1px solid rgba(0,0,0,.06);
    border-left:6px solid #25D366;
    transition:transform .12s ease, box-shadow .12s ease;
}
body[data-ssi-page="buscar.php"] .search-card:hover{
    transform:translateY(-1px);
    box-shadow:0 8px 20px rgba(0,0,0,.08);
}
body[data-ssi-page="buscar.php"] .search-title{
    margin-top:6px;
    font-size:1.08rem;
    font-weight:700;
    color:#111827;
}
body[data-ssi-page="buscar.php"] .search-title a{
    color:#111827;
    text-decoration:none;
}
body[data-ssi-page="buscar.php"] .search-title a:hover{
    color:#198754;
}
body[data-ssi-page="buscar.php"] .search-meta{
    font-size:.85rem;
    color:#6c757d;
    margin-top:6px;
}
body[data-ssi-page="buscar.php"] .search-excerpt-wrap{
    margin-top:10px;
}
body[data-ssi-page="buscar.php"] .search-excerpt-label{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:.28rem .65rem;
    border-radius:999px;
    background:rgba(37,211,102,.10);
    border:1px solid rgba(37,211,102,.18);
    color:#198754;
    font-size:.75rem;
    font-weight:800;
    margin-bottom:8px;
}
body[data-ssi-page="buscar.php"] .search-excerpt{
    color:#475569;
    line-height:1.5;
    background:#f8fafc;
    border:1px solid rgba(0,0,0,.05);
    border-radius:12px;
    padding:10px 12px;
}
body[data-ssi-page="buscar.php"] .search-empty{
    background:#f8f9fa;
    border-radius:18px;
    padding:26px;
    text-align:center;
    color:#6b7280;
    border:1px dashed rgba(0,0,0,.08);
}
body[data-ssi-page="buscar.php"] .search-highlight{
    background:#25D366;
    color:#fff;
    padding:0 4px;
    border-radius:6px
}
body[data-ssi-page="buscar.php"] .pagination-wrap{
    margin-top:10px;
    display:flex;
    justify-content:center;
}
body[data-ssi-page="buscar.php"] .pagination .page-link{
    border-radius:10px!important;
    color:#25D366;
    border:1px solid rgba(0,0,0,.08);
    margin:0 3px;
}
body[data-ssi-page="buscar.php"] .pagination .active .page-link{
    background:#25D366;
    border-color:#25D366;
    color:#fff
}
body[data-ssi-page="buscar.php"] .icon-ticket,
body[data-ssi-page="buscar.php"] .icon-reserva,
body[data-ssi-page="buscar.php"] .icon-usuario,
body[data-ssi-page="buscar.php"] .icon-sala{color:var(--ssi-icon-color)}
body[data-ssi-page="buscar.php"] .result-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:.38rem .72rem;
    border-radius:999px;
    font-size:.78rem;
    font-weight:700;
    background:rgba(37,211,102,.10);
    color:#198754;
    border:1px solid rgba(37,211,102,.18);
    margin-bottom:6px;
}

@media (max-width:768px){
    body[data-ssi-page="buscar.php"] .search-shell{padding:16px}
    body[data-ssi-page="buscar.php"] .search-card{padding:16px}
}

/* ===== cambiar_password.php :: style block 1 ===== */
body[data-ssi-page="cambiar_password.php"] .password-wrapper-wa{
  display:flex;
  justify-content:center;
  padding:20px 10px 30px;
}

body[data-ssi-page="cambiar_password.php"] .password-card-wa{
  width:100%;
  max-width:780px;
  background:var(--ssi-card-bg);
  border-radius:var(--ssi-radius-xl);
  box-shadow:var(--ssi-shadow);
  padding:22px 26px;
  animation: ssi-cambiar-password-passwordCardIn .35s ease-out;
  transform-origin:top center;
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  position:relative;
  overflow:hidden;
  border:1px solid rgba(7,94,84,.06);
}

body[data-ssi-page="cambiar_password.php"] .password-card-wa::before{
  content:"";
  position:absolute;
  top:-80px;
  left:-120px;
  width:220px;
  height:220px;
  background:radial-gradient(circle at center, rgba(37,211,102,.35), transparent 65%);
  opacity:.5;
  pointer-events:none;
}

body[data-ssi-page="cambiar_password.php"] .password-card-wa:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 25px rgba(0,0,0,.18);
  background-color:#fcfdfc;
}

@keyframes ssi-cambiar-password-passwordCardIn{
  from{opacity:0; transform:translateY(8px) scale(.98);}
  to{opacity:1; transform:translateY(0) scale(1);}
}

body[data-ssi-page="cambiar_password.php"] .alert{
  border-radius:14px;
  border:none;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
}

body[data-ssi-page="cambiar_password.php"] .password-header-wa{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:18px;
}

body[data-ssi-page="cambiar_password.php"] .password-header-main{
  display:flex;
  align-items:center;
  gap:10px;
}

body[data-ssi-page="cambiar_password.php"] .password-header-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--ssi-primary);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  box-shadow:0 0 0 3px rgba(37,211,102,.35);
}

body[data-ssi-page="cambiar_password.php"] .password-header-icon i{
  font-size:1.3rem;
}

body[data-ssi-page="cambiar_password.php"] .password-header-title{
  margin:0;
  font-size:1.25rem;
  font-weight:700;
  color:var(--ssi-primary-ink);
}

body[data-ssi-page="cambiar_password.php"] .password-header-sub{
  margin:0;
  font-size:.85rem;
  color:var(--ssi-muted);
}

body[data-ssi-page="cambiar_password.php"] .btn-wa-back{
  border-radius:999px;
  border:1px solid #ced4da;
  background:#f5f6f7;
  font-size:.85rem;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  text-decoration:none;
  color:#3a3d40;
}

body[data-ssi-page="cambiar_password.php"] .btn-wa-back:hover{
  background:#e9ecef;
  color:#3a3d40;
}

body[data-ssi-page="cambiar_password.php"] .btn-wa-primary{
  background-color:var(--ssi-primary);
  border:none;
  color:#fff;
  font-weight:700;
  border-radius:999px;
  padding:8px 20px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  box-shadow:0 3px 8px rgba(37,211,102,.35);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body[data-ssi-page="cambiar_password.php"] .btn-wa-primary:hover{
  background-color:var(--ssi-primary-dark);
  transform:translateY(-1px);
  box-shadow:0 5px 13px rgba(37,211,102,.4);
  color:#fff;
}

body[data-ssi-page="cambiar_password.php"] .btn-wa-secondary{
  background-color:#ece5dd;
  border:none;
  color:#3a3d40;
  font-weight:600;
  border-radius:999px;
  padding:8px 18px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  text-decoration:none;
}

body[data-ssi-page="cambiar_password.php"] .btn-wa-secondary:hover{
  background-color:#ddd1c0;
  color:#3a3d40;
}

body[data-ssi-page="cambiar_password.php"] .wa-form-password label{
  font-weight:700;
  color:var(--ssi-primary-ink);
  font-size:.92rem;
}

body[data-ssi-page="cambiar_password.php"] .wa-form-password .form-control,
body[data-ssi-page="cambiar_password.php"] .wa-form-password .form-select,
body[data-ssi-page="cambiar_password.php"] .wa-form-password textarea{
  border-radius:10px;
  border:1px solid #ced4da;
  transition:all .18s ease;
  background-color:#fff;
}

body[data-ssi-page="cambiar_password.php"] .wa-form-password .form-control:focus,
body[data-ssi-page="cambiar_password.php"] .wa-form-password .form-select:focus,
body[data-ssi-page="cambiar_password.php"] .wa-form-password textarea:focus{
  border-color:var(--ssi-primary);
  box-shadow:0 0 0 .15rem rgba(37,211,102,.25);
}

body[data-ssi-page="cambiar_password.php"] .input-icon-group{
  position:relative;
}

body[data-ssi-page="cambiar_password.php"] .input-icon-group .input-icon-left{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  color:var(--ssi-muted);
  z-index:2;
}

body[data-ssi-page="cambiar_password.php"] .input-icon-group input.form-control{
  padding-left:34px;
  padding-right:52px;
}

body[data-ssi-page="cambiar_password.php"] .toggle-pass-btn{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  border:none;
  background:transparent;
  color:var(--ssi-muted);
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
}

body[data-ssi-page="cambiar_password.php"] .toggle-pass-btn:hover{
  background:rgba(0,0,0,.05);
  color:var(--ssi-primary-ink);
}

body[data-ssi-page="cambiar_password.php"] .password-hint{
  font-size:.8rem;
  color:var(--ssi-muted);
}

body[data-ssi-page="cambiar_password.php"] .wa-form-password .form-group-hover{
  transition:background-color .18s ease;
  border-radius:8px;
  padding:4px 6px;
  margin:0 -4px;
}

body[data-ssi-page="cambiar_password.php"] .wa-form-password .form-group-hover:hover{
  background-color:var(--ssi-bg-soft);
}

body[data-ssi-page="cambiar_password.php"] .password-tools-box,
body[data-ssi-page="cambiar_password.php"] .password-info-box{
  border:1px solid var(--ssi-card-border);
  border-radius:var(--ssi-radius-lg);
  background:linear-gradient(180deg, #fbfffc 0%, #ffffff 100%);
  box-shadow:var(--ssi-shadow-soft);
}

body[data-ssi-page="cambiar_password.php"] .password-tools-box{
  padding:14px;
}

body[data-ssi-page="cambiar_password.php"] .password-tools-title{
  font-size:.88rem;
  font-weight:700;
  color:var(--ssi-primary-ink);
  margin-bottom:8px;
}

body[data-ssi-page="cambiar_password.php"] .password-tools-sub{
  font-size:.8rem;
  color:var(--ssi-muted);
  margin-bottom:12px;
}

body[data-ssi-page="cambiar_password.php"] .password-tools-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

body[data-ssi-page="cambiar_password.php"] .btn-tool-soft{
  border-radius:999px;
  font-size:.85rem;
  font-weight:600;
  padding:7px 14px;
  border:1px solid rgba(37,211,102,.22);
  background:rgba(37,211,102,.08);
  color:var(--ssi-primary-ink);
}

body[data-ssi-page="cambiar_password.php"] .btn-tool-soft:hover{
  background:rgba(37,211,102,.14);
  color:var(--ssi-primary-ink);
}

body[data-ssi-page="cambiar_password.php"] .password-info-box{
  padding:12px 14px;
}

body[data-ssi-page="cambiar_password.php"] .password-copy-ok{
  display:none;
  margin-top:8px;
  font-size:.86rem;
  color:#198754;
  font-weight:600;
}

body[data-ssi-page="cambiar_password.php"] .password-strength{
  margin-top:8px;
  font-size:.84rem;
  color:var(--ssi-muted);
}

body[data-ssi-page="cambiar_password.php"] .password-strength-bar{
  height:8px;
  border-radius:999px;
  background:#e9ecef;
  overflow:hidden;
  margin-top:6px;
}

body[data-ssi-page="cambiar_password.php"] .password-strength-fill{
  height:100%;
  width:0%;
  transition:width .18s ease;
  background:linear-gradient(90deg, #dc3545 0%, #ffc107 50%, #25d366 100%);
}

@media (max-width:768px){
  body[data-ssi-page="cambiar_password.php"] .password-card-wa{
    padding:18px 16px;
    border-radius:14px;
  }
  body[data-ssi-page="cambiar_password.php"] .password-header-wa{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
}

/* ===== chat_global.php :: style block 1 ===== */
body[data-ssi-page="chat_global.php"] .chat-page-shell{
    width:100%;
    margin:0 auto;
    padding:0 !important;
    overflow:hidden !important;
}
body[data-ssi-page="chat_global.php"] .chat-shell{
    width:100%;
    max-width:none !important;
    margin:0;
    padding:0;
    display:grid;
    grid-template-columns:minmax(310px, 360px) minmax(0, 1fr);
    height:clamp(640px, calc(100vh - 150px), 820px);
    min-height:640px;
    min-width:0;
    background:transparent;
    border:0;
    box-shadow:none;
}
body[data-ssi-page="chat_global.php"] .chat-sidebar{
    background:linear-gradient(180deg, #f7fbf8 0%, #ffffff 100%);
    border-right:1px solid rgba(7,94,84,.10);
    display:flex;
    flex-direction:column;
    min-width:0;
    min-height:0;
}
body[data-ssi-page="chat_global.php"] .chat-sidebar-head{
    padding:18px 18px 14px;
    border-bottom:1px solid rgba(7,94,84,.08);
    flex:0 0 auto;
}
body[data-ssi-page="chat_global.php"] .chat-sidebar-kicker{
    font-size:11px;
    letter-spacing:.08em;
    text-transform:uppercase;
    color:#7b8a86;
    font-weight:700;
    margin-bottom:4px;
}
body[data-ssi-page="chat_global.php"] .chat-sidebar-title{
    font-size:1.35rem;
    font-weight:800;
    color:#123b35;
    margin-bottom:4px;
}
body[data-ssi-page="chat_global.php"] .chat-sidebar-subtitle{
    font-size:13px;
    color:#60716d;
    margin-bottom:14px;
}
body[data-ssi-page="chat_global.php"] .chat-search{
    position:relative;
}
body[data-ssi-page="chat_global.php"] .chat-search .bi{
    position:absolute;
    left:12px;
    top:50%;
    transform:translateY(-50%);
    color:#7b8a86;
}
body[data-ssi-page="chat_global.php"] .chat-search-input{
    padding-left:38px;
    background:#ffffff;
}
body[data-ssi-page="chat_global.php"] .chat-contact-list{
    padding:10px 8px 12px;
    overflow-y:auto;
    flex:1 1 auto;
    min-height:0;
    scrollbar-gutter:stable;
}
body[data-ssi-page="chat_global.php"] .chat-contact-item{
    position:relative;
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 10px;
    border-radius:16px;
    text-decoration:none;
    color:#152825;
    border:1px solid transparent;
    transition:background .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}
body[data-ssi-page="chat_global.php"] .chat-contact-item::before{
    content:"";
    position:absolute;
    left:0;
    top:10px;
    bottom:10px;
    width:4px;
    border-radius:999px;
    background:transparent;
    opacity:0;
    transition:opacity .18s ease, background-color .18s ease;
}
body[data-ssi-page="chat_global.php"] .chat-contact-item + .chat-contact-item{
    margin-top:4px;
}
body[data-ssi-page="chat_global.php"] .chat-contact-item:hover{
    background:#f4faf7;
    border-color:rgba(37,211,102,.14);
    transform:translateY(-1px);
}
body[data-ssi-page="chat_global.php"] .chat-contact-item.has-history{
    background:linear-gradient(135deg, rgba(18,140,126,.14) 0%, rgba(37,211,102,.08) 100%);
    border-color:rgba(18,140,126,.24);
}
body[data-ssi-page="chat_global.php"] .chat-contact-item.has-history::before{
    opacity:1;
    background:linear-gradient(180deg, #128C7E 0%, #25D366 100%);
}
body[data-ssi-page="chat_global.php"] .chat-contact-item.has-history .chat-contact-name{
    color:#0d4038;
    font-weight:800;
}
body[data-ssi-page="chat_global.php"] .chat-contact-item.has-history .chat-contact-avatar-channel,
body[data-ssi-page="chat_global.php"] .chat-contact-item.has-history .ssi-avatar{
    box-shadow:0 0 0 4px rgba(37,211,102,.18);
}
body[data-ssi-page="chat_global.php"] .chat-contact-item.has-unread{
    background:linear-gradient(135deg, rgba(37,211,102,.20) 0%, rgba(18,140,126,.10) 100%);
    border-color:rgba(37,211,102,.34);
    box-shadow:0 10px 26px rgba(37,211,102,.14);
}
body[data-ssi-page="chat_global.php"] .chat-contact-item.is-active{
    background:linear-gradient(135deg, rgba(37,211,102,.28) 0%, rgba(18,140,126,.14) 100%);
    border-color:rgba(37,211,102,.42);
    box-shadow:0 14px 30px rgba(18,140,126,.16);
}
body[data-ssi-page="chat_global.php"] .chat-contact-item.is-pinging{
    animation: ssi-chat-global-chatContactPing 1.4s ease 2;
}
body[data-ssi-page="chat_global.php"] .chat-contact-item.is-pinging .chat-contact-badge{
    animation: ssi-chat-global-chatBadgePulse 1.4s ease 2;
}
@keyframes ssi-chat-global-chatContactPing{
    0%{
        transform:translateY(0);
        box-shadow:0 0 0 0 rgba(37,211,102,.00);
    }
    35%{
        transform:translateY(-3px) scale(1.015);
        box-shadow:0 0 0 10px rgba(37,211,102,.26);
    }
    100%{
        transform:translateY(0);
        box-shadow:0 0 0 0 rgba(37,211,102,.00);
    }
}
@keyframes ssi-chat-global-chatBadgePulse{
    0%, 100%{
        transform:scale(1);
    }
    45%{
        transform:scale(1.28);
    }
}
body[data-ssi-page="chat_global.php"] .chat-contact-avatar-channel{
    width:42px;
    height:42px;
    min-width:42px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e6f7ef;
    color:#128C7E;
    font-size:1rem;
}
body[data-ssi-page="chat_global.php"] .chat-contact-copy{
    min-width:0;
    flex:1;
}
body[data-ssi-page="chat_global.php"] .chat-contact-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
}
body[data-ssi-page="chat_global.php"] .chat-contact-name{
    font-weight:700;
    font-size:14px;
    color:#173934;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
body[data-ssi-page="chat_global.php"] .chat-contact-time{
    font-size:11px;
    color:#78908a;
    white-space:nowrap;
}
body[data-ssi-page="chat_global.php"] .chat-contact-preview{
    font-size:12.5px;
    color:#6b7d78;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
body[data-ssi-page="chat_global.php"] .chat-contact-badge{
    min-width:21px;
    height:21px;
    padding:0 6px;
    border-radius:999px;
    background:#25D366;
    color:#fff;
    font-size:11px;
    font-weight:700;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex-shrink:0;
}
body[data-ssi-page="chat_global.php"] .chat-contact-empty{
    padding:18px 12px;
    color:#6b7d78;
    font-size:13px;
}
body[data-ssi-page="chat_global.php"] .chat-main{
    min-width:0;
    display:flex;
    flex-direction:column;
    background:#ffffff;
    padding:18px;
    min-height:0;
    overflow:hidden;
}
body[data-ssi-page="chat_global.php"] .chat-main-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    padding-bottom:14px;
    margin-bottom:14px;
    border-bottom:1px solid rgba(7,94,84,.08);
    flex-wrap:nowrap;
    flex:0 0 auto;
}
body[data-ssi-page="chat_global.php"] .chat-main-profile{
    display:flex;
    align-items:center;
    gap:12px;
    min-width:0;
    flex:1 1 auto;
}
body[data-ssi-page="chat_global.php"] .chat-main-avatar-channel{
    width:48px;
    height:48px;
    min-width:48px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e8f8f0;
    color:#128C7E;
    font-size:1.15rem;
}
body[data-ssi-page="chat_global.php"] .chat-main-title{
    font-size:1.18rem;
    font-weight:800;
    color:#123b35;
    margin-bottom:2px;
}
body[data-ssi-page="chat_global.php"] .chat-main-hint{
    font-size:13px;
    color:#61756f;
}
body[data-ssi-page="chat_global.php"] .chat-main-pill{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:7px 12px;
    border-radius:999px;
    font-size:12px;
    font-weight:700;
    align-self:flex-start;
}
body[data-ssi-page="chat_global.php"] .chat-mode-global{
    background:#fff8ea;
    color:#8a6414;
}
body[data-ssi-page="chat_global.php"] .chat-mode-private{
    background:#eef6ff;
    color:#1f4f8c;
}
body[data-ssi-page="chat_global.php"] .chat-scope-alert{
    border-radius:14px;
    margin-bottom:12px !important;
    font-size:13px;
    flex:0 0 auto;
}
body[data-ssi-page="chat_global.php"] .chat-context-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#eef6ff;
    color:#134074;
    border:1px solid rgba(19,64,116,.12);
    border-radius:999px;
    padding:6px 12px;
    font-size:13px;
    margin-bottom:12px;
    align-self:flex-start;
    flex:0 0 auto;
}
body[data-ssi-page="chat_global.php"] .chat-thread{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    min-height:0;
    overflow:hidden;
    background:linear-gradient(180deg, rgba(236,229,221,.70) 0%, rgba(236,229,221,.96) 100%);
    border:1px solid rgba(7,94,84,.08);
    border-radius:18px;
    padding:12px;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.55);
}
body[data-ssi-page="chat_global.php"] #chatBox{
    flex:1;
    min-height:0;
    height:100%;
    border-radius:14px;
    background:#ECE5DD;
    overflow-y:auto;
    padding:12px 10px;
    box-shadow:inset 0 0 0 1px rgba(7,94,84,.05);
}
body[data-ssi-page="chat_global.php"] .chat-empty{
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:88px;
    border-radius:14px;
    background:#f7f7f7;
    color:#6b7280;
    font-size:14px;
    margin-bottom:10px;
}
body[data-ssi-page="chat_global.php"] .bubble{
    background:#dcf8c6;
    display:inline-block;
    padding:8px 11px;
    border-radius:16px;
    max-width:85%;
    font-size:13.5px;
    line-height:1.32;
    white-space:pre-wrap;
    margin-bottom:3px;
    position:relative;
    box-shadow:0 8px 20px rgba(0,0,0,.04);
}
body[data-ssi-page="chat_global.php"] .bubble.me{
    background:#bdf5c1;
}
body[data-ssi-page="chat_global.php"] .bubble:after{
    content:"";
    position:absolute;
    top:12px;
    width:0;
    height:0;
    border-top:10px solid transparent;
    border-bottom:10px solid transparent;
}
body[data-ssi-page="chat_global.php"] .bubble.me:after{
    right:-10px;
    border-left:10px solid #bdf5c1;
}
body[data-ssi-page="chat_global.php"] .bubble:not(.me):after{
    left:-10px;
    border-right:10px solid #dcf8c6;
}
body[data-ssi-page="chat_global.php"] .bubble .delete-btn{
    position:absolute;
    top:3px;
    right:7px;
    border:0;
    background:transparent;
    padding:0;
    color:inherit;
    font-size:12px;
    cursor:pointer;
    display:none;
}
body[data-ssi-page="chat_global.php"] .bubble:hover .delete-btn{
    display:block;
}
body[data-ssi-page="chat_global.php"] .meta{
    font-size:10.5px;
    color:#666;
    margin-top:-2px;
    margin-bottom:4px;
    display:flex;
    align-items:center;
    gap:5px;
}
body[data-ssi-page="chat_global.php"] .meta.me{
    justify-content:flex-end;
}
body[data-ssi-page="chat_global.php"] .chat-read-receipt{
    display:inline-flex;
    align-items:center;
    line-height:1;
    color:#7b8a86;
    font-size:13px;
}
body[data-ssi-page="chat_global.php"] .chat-read-receipt.is-read{
    color:#0d6efd;
}
body[data-ssi-page="chat_global.php"] .sendbar{
    position:relative;
    z-index:20;
    display:flex;
    align-items:center;
    gap:8px;
    margin-top:12px;
    padding:10px;
    border-radius:16px;
    background:#ffffff;
    border:1px solid rgba(7,94,84,.10);
    box-shadow:0 8px 20px rgba(15, 23, 42, .05);
    flex:0 0 auto;
    touch-action:manipulation;
    -webkit-tap-highlight-color:transparent;
}
body[data-ssi-page="chat_global.php"] .sendbar button,
body[data-ssi-page="chat_global.php"] .sendbar .btn{
    height:42px;
    width:42px !important;
    min-width:42px !important;
    max-width:42px !important;
    padding:0 !important;
    border-radius:12px !important;
    flex:0 0 auto;
}
body[data-ssi-page="chat_global.php"] .sendbar .form-control{
    min-height:42px;
    border-radius:12px !important;
    flex:1 1 auto;
    width:auto !important;
    max-width:none !important;
    min-width:0;
    font-size:16px;
    line-height:1.25;
    color:#173934;
    background:#ffffff;
    pointer-events:auto;
    touch-action:manipulation;
    -webkit-user-select:text;
    user-select:text;
    -webkit-appearance:none;
    appearance:none;
}
body[data-ssi-page="chat_global.php"] #emojiPickerBox{
    position:absolute;
    z-index:9999;
    display:none;
    width:min(320px, calc(100vw - 24px));
    padding:12px;
    border-radius:16px;
    border:1px solid rgba(7,94,84,.12);
    background:#ffffff;
    box-shadow:0 16px 40px rgba(15, 23, 42, .18);
}
body[data-ssi-page="chat_global.php"] .emoji-picker-title{
    font-size:12px;
    font-weight:700;
    letter-spacing:.04em;
    text-transform:uppercase;
    color:#6f7f7c;
    margin-bottom:10px;
}
body[data-ssi-page="chat_global.php"] .emoji-grid{
    display:grid;
    grid-template-columns:repeat(8, minmax(0, 1fr));
    gap:8px;
}
body[data-ssi-page="chat_global.php"] .emoji-option{
    border:0;
    background:#f4fbf7;
    border-radius:12px;
    height:34px;
    width:100%;
    font-size:20px;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    transition:transform .12s ease, background-color .12s ease, box-shadow .12s ease;
}
body[data-ssi-page="chat_global.php"] .emoji-option:hover{
    background:#e4f7ed;
    transform:translateY(-1px);
    box-shadow:0 6px 12px rgba(7,94,84,.10);
}
body[data-ssi-page="chat_global.php"] .emoji-option:focus{
    outline:none;
    background:#d8f2e6;
    box-shadow:0 0 0 2px rgba(20, 184, 116, .18);
}
@media (max-width: 991px){
    body[data-ssi-page="chat_global.php"] .chat-page-shell{
        max-width:100%;
    }
    body[data-ssi-page="chat_global.php"] .chat-shell{
        grid-template-columns:1fr;
        height:auto;
        min-height:0;
        max-height:none;
    }
    body[data-ssi-page="chat_global.php"] .chat-sidebar{
        border-right:0;
        border-bottom:1px solid rgba(7,94,84,.10);
    }
    body[data-ssi-page="chat_global.php"] .chat-contact-list{
        max-height:300px;
    }
    body[data-ssi-page="chat_global.php"] .chat-main{
        padding:14px;
    }
    body[data-ssi-page="chat_global.php"] .chat-main-head{
        flex-wrap:wrap;
    }
    body[data-ssi-page="chat_global.php"] .chat-thread{
        min-height:440px;
    }
}
@media (max-width: 575px){
    body[data-ssi-page="chat_global.php"] .chat-sidebar-head,
body[data-ssi-page="chat_global.php"] .chat-main{
        padding-left:12px;
        padding-right:12px;
    }
    body[data-ssi-page="chat_global.php"] .chat-thread{
        padding:10px;
        min-height:360px;
    }
    body[data-ssi-page="chat_global.php"] #chatBox{
        min-height:0;
    }
    body[data-ssi-page="chat_global.php"] .sendbar{
        position:sticky;
        bottom:max(8px, env(safe-area-inset-bottom));
        padding:8px;
        gap:6px;
        margin-bottom:max(0px, env(safe-area-inset-bottom));
        z-index:40;
    }
    body[data-ssi-page="chat_global.php"] .sendbar .form-control{
        min-height:44px;
        flex:1 1 0 !important;
        width:auto !important;
    }
    body[data-ssi-page="chat_global.php"] .sendbar button,
body[data-ssi-page="chat_global.php"] .sendbar .btn{
        width:44px !important;
        min-width:44px !important;
        max-width:44px !important;
        height:44px;
    }
}

/* ===== dashboard_calendario_block.php :: style block 1 ===== */
body[data-ssi-page="eventos_marin.php"] .calendar-wrapper,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-wrapper{
    max-width:1350px;
    margin:20px auto;
}
body[data-ssi-page="eventos_marin.php"] .calendar-card,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-card{
    border-radius:14px;
    border:1px solid #ddd;
    box-shadow:0 4px 16px rgba(0,0,0,.12);
    overflow:hidden;
}
body[data-ssi-page="eventos_marin.php"] .calendar-main-title,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-main-title{
    font-weight:700;
    font-size:1.25rem;
    color:#075E54;
    display:flex;
    align-items:center;
    gap:.45rem;
}
body[data-ssi-page="eventos_marin.php"] .calendar-subtitle,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-subtitle{
    font-size:.86rem;
    opacity:.82;
}

body[data-ssi-page="eventos_marin.php"] .calendar-table,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-table{
    table-layout:fixed;
    width:100%;
    margin-bottom:0;
}
body[data-ssi-page="eventos_marin.php"] .calendar-table th,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-table th,
body[data-ssi-page="eventos_marin.php"] .calendar-table td,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-table td{
    border:0 !important;
}
body[data-ssi-page="eventos_marin.php"] .calendar-table thead th,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-table thead th{
    font-size:.9rem;
    padding:.6rem .35rem;
}
body[data-ssi-page="eventos_marin.php"] .calendar-table td,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-table td{
    vertical-align:top;
    padding:.16rem;
}

body[data-ssi-page="eventos_marin.php"] .day-inner,
body[data-ssi-page="dashboard_calendario_block.php"] .day-inner{
    background:rgba(255,255,255,.9);
    border-radius:12px;
    padding:.35rem .4rem .42rem;
    min-height:210px;
    display:flex;
    flex-direction:column;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    height:100%;
    transition:all .15s ease;
}
body[data-ssi-page="eventos_marin.php"] .calendar-day-cell:hover .day-inner,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-day-cell:hover .day-inner{
    box-shadow:0 4px 12px rgba(0,0,0,.10);
    transform:translateY(-1px);
}

body[data-ssi-page="eventos_marin.php"] .weekend,
body[data-ssi-page="dashboard_calendario_block.php"] .weekend{
    background:rgba(33,37,41,.03);
    border-radius:12px;
}
body[data-ssi-page="eventos_marin.php"] .is-today .day-inner,
body[data-ssi-page="dashboard_calendario_block.php"] .is-today .day-inner{
    outline:3px solid rgba(13,110,253,.35);
}

body[data-ssi-page="eventos_marin.php"] .day-header,
body[data-ssi-page="dashboard_calendario_block.php"] .day-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.4rem;
    margin-bottom:.25rem;
}
body[data-ssi-page="eventos_marin.php"] .day-number,
body[data-ssi-page="dashboard_calendario_block.php"] .day-number{
    font-weight:700;
    color:#075E54;
    font-size:.95rem;
    line-height:1;
}
body[data-ssi-page="eventos_marin.php"] .day-header-right,
body[data-ssi-page="dashboard_calendario_block.php"] .day-header-right{
    display:flex;
    align-items:center;
    gap:.35rem;
    min-width:0;
    flex:1;
    justify-content:flex-end;
}
body[data-ssi-page="eventos_marin.php"] .day-color-pill,
body[data-ssi-page="dashboard_calendario_block.php"] .day-color-pill{
    height:4px;
    border-radius:999px;
    flex:1;
    min-width:18px;
    background:rgba(0,0,0,.05);
    overflow:hidden;
}
body[data-ssi-page="eventos_marin.php"] .day-color-pill-fill,
body[data-ssi-page="dashboard_calendario_block.php"] .day-color-pill-fill{
    height:100%;
    border-radius:inherit;
    background:var(--day-color-pill-bg, transparent);
}
body[data-ssi-page="eventos_marin.php"] .day-events,
body[data-ssi-page="dashboard_calendario_block.php"] .day-events{
    flex:1;
    overflow:visible;
    padding-right:0;
}

body[data-ssi-page="eventos_marin.php"] .event-pill,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill{
    position:relative;
    display:block;
    width:100%;
    margin:.30rem 0 .22rem;
    padding:.46rem .55rem .48rem;
    border-radius:12px;
    text-decoration:none !important;
    overflow:hidden;
    box-shadow:0 2px 8px rgba(0,0,0,.16);
    transition:all .16s ease;
    border:1px solid rgba(255,255,255,.18);
    border-left:4px solid rgba(0,0,0,.15);
    cursor:pointer;
    user-select:none;
    -webkit-user-select:none;
    background-clip:padding-box;
    appearance:none;
    -webkit-appearance:none;
    outline:none;
    background:var(--event-pill-bg, #198754);
    color:var(--event-pill-fg, #fff);
}
body[data-ssi-page="eventos_marin.php"] .event-pill:hover,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(0,0,0,.24);
}
body[data-ssi-page="eventos_marin.php"] .event-pill:focus,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill:focus{
    outline:none;
    box-shadow:0 0 0 3px rgba(13,110,253,.20), 0 6px 16px rgba(0,0,0,.24);
}
body[data-ssi-page="eventos_marin.php"] .event-pill.proximo,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill.proximo{
    box-shadow:0 0 0 2px rgba(13,110,253,.28), 0 3px 10px rgba(13,110,253,.18);
}
body[data-ssi-page="eventos_marin.php"] .event-pill.encurso,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill.encurso{
    box-shadow:0 0 0 2px rgba(25,135,84,.30), 0 4px 14px rgba(25,135,84,.22);
}
body[data-ssi-page="eventos_marin.php"] .event-pill.finalizado,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill.finalizado{
    opacity:.92;
    filter:saturate(.15) grayscale(.25);
    border-color:rgba(255,255,255,.35);
    border-left-color:rgba(55,65,81,.25);
    box-shadow:0 2px 8px rgba(107,114,128,.20);
}
body[data-ssi-page="eventos_marin.php"] .event-pill.finalizado:hover,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill.finalizado:hover{
    box-shadow:0 5px 14px rgba(107,114,128,.24);
}
body[data-ssi-page="eventos_marin.php"] .event-pill.featured,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill.featured{
    border:2px solid rgba(255,193,7,.95);
    border-left-width:4px;
    box-shadow:
        0 0 0 1px rgba(255,193,7,.22) inset,
        0 4px 12px rgba(255,193,7,.18),
        0 2px 8px rgba(0,0,0,.16);
}
body[data-ssi-page="eventos_marin.php"] .event-pill.featured:hover,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill.featured:hover{
    box-shadow:
        0 0 0 1px rgba(255,193,7,.28) inset,
        0 8px 20px rgba(255,193,7,.22),
        0 6px 16px rgba(0,0,0,.24);
}
body[data-ssi-page="eventos_marin.php"] .event-pill.featured .event-pill-title,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill.featured .event-pill-title{
    font-weight:900;
}

body[data-ssi-page="eventos_marin.php"] .event-pill-head,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.30rem;
    min-width:0;
}
body[data-ssi-page="eventos_marin.php"] .event-pill-left,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-left{
    min-width:0;
    flex:1 1 auto;
}
body[data-ssi-page="eventos_marin.php"] .event-pill-title,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-title{
    font-size:.73rem;
    font-weight:800;
    line-height:1.08;
    margin:0 0 2px 0;
    display:block;
    overflow-wrap:anywhere;
    word-break:break-word;
    white-space:normal;
}
body[data-ssi-page="eventos_marin.php"] .event-pill-title-row,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-title-row{
    display:flex;
    align-items:flex-start;
    gap:.30rem;
    min-width:0;
}
body[data-ssi-page="eventos_marin.php"] .event-pill-star,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-star{
    flex:0 0 auto;
    font-size:.70rem;
    line-height:1.1;
    color:#ffc107;
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
    margin-top:.02rem;
}
body[data-ssi-page="eventos_marin.php"] .event-pill-title-text,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-title-text{
    min-width:0;
    flex:1 1 auto;
    overflow-wrap:anywhere;
    word-break:break-word;
    white-space:normal;
}
body[data-ssi-page="eventos_marin.php"] .event-pill-time,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-time{
    font-size:.63rem;
    line-height:1.1;
    opacity:.98;
    white-space:normal;
}
body[data-ssi-page="eventos_marin.php"] .event-pill-badge,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-badge{
    flex:0 0 auto;
    font-size:.58rem;
    line-height:1;
    padding:.18rem .32rem;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(4px);
    font-weight:700;
    margin-left:.18rem;
}

/* MODAL EN BODY */
body[data-ssi-page="eventos_marin.php"] .reserva-modal-overlay-global,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-overlay-global{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.46);
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    z-index:99999;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-overlay-global.is-open,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-overlay-global.is-open{
    display:flex;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-global,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-global{
    width:min(860px, 100%);
    max-height:90vh;
    overflow:auto;
    background:#fff;
    border-radius:18px;
    box-shadow:0 20px 60px rgba(0,0,0,.28);
    animation: ssi-dashboard-calendario-block-modalIn .16s ease;
}
@keyframes ssi-dashboard-calendario-block-modalIn{
    from{ transform:translateY(8px) scale(.985); opacity:0; }
    to{ transform:translateY(0) scale(1); opacity:1; }
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-header,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px 10px;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-titlebar,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-titlebar{
    font-weight:800;
    color:#075E54;
    font-size:1.06rem;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-close,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-close{
    border:0;
    background:#f1f3f5;
    width:38px;
    height:38px;
    border-radius:999px;
    cursor:pointer;
    font-size:1.05rem;
    line-height:1;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-close:hover,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-close:hover{
    background:#e9ecef;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-body,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-body{
    padding:0 18px 18px;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-top,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-top{
    border-radius:16px;
    padding:1rem;
    color:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-main-title,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-main-title{
    font-size:1.08rem;
    font-weight:800;
    line-height:1.2;
    margin-bottom:.35rem;
    word-break:break-word;
    display:flex;
    align-items:flex-start;
    gap:.40rem;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-main-title .featured-star,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-main-title .featured-star{
    color:#ffc107;
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
    flex:0 0 auto;
    margin-top:.05rem;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-time,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-time{
    font-size:.93rem;
    opacity:.96;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-badge,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.35rem .65rem;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.20);
    font-size:.78rem;
    font-weight:700;
    margin-top:.65rem;
}
body[data-ssi-page="eventos_marin.php"] .reserva-detail-grid,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-detail-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.85rem;
    margin-top:1rem;
}
body[data-ssi-page="eventos_marin.php"] .reserva-detail-card,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-detail-card{
    background:#f8f9fa;
    border:1px solid rgba(0,0,0,.06);
    border-radius:14px;
    padding:.85rem .9rem;
}
body[data-ssi-page="eventos_marin.php"] .reserva-detail-label,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-detail-label{
    display:block;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.03em;
    color:#6c757d;
    margin-bottom:.20rem;
    font-weight:700;
}
body[data-ssi-page="eventos_marin.php"] .reserva-detail-value,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-detail-value{
    color:#1f2937;
    font-size:.95rem;
    line-height:1.35;
    word-break:break-word;
}
body[data-ssi-page="eventos_marin.php"] .reserva-detail-full,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-detail-full{
    grid-column:1 / -1;
}
body[data-ssi-page="eventos_marin.php"] .reserva-detail-desc,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-detail-desc{
    white-space:pre-wrap;
}
body[data-ssi-page="eventos_marin.php"] .reserva-modal-footer,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-modal-footer{
    display:flex;
    justify-content:flex-end;
    padding:0 18px 18px;
}
body[data-ssi-page="eventos_marin.php"] .btn-modal-cerrar,
body[data-ssi-page="dashboard_calendario_block.php"] .btn-modal-cerrar{
    border:0;
    border-radius:12px;
    padding:.65rem 1rem;
    background:#25D366;
    color:#fff;
    font-weight:700;
    box-shadow:0 6px 16px rgba(37,211,102,.25);
    cursor:pointer;
}
body[data-ssi-page="eventos_marin.php"] .btn-modal-cerrar:hover,
body[data-ssi-page="dashboard_calendario_block.php"] .btn-modal-cerrar:hover{
    filter:brightness(.97);
}

@media (max-width: 991px){
    body[data-ssi-page="eventos_marin.php"] .calendar-table th,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-table th,
body[data-ssi-page="eventos_marin.php"] .calendar-table td,
body[data-ssi-page="dashboard_calendario_block.php"] .calendar-table td{
        font-size:.85rem;
    }
    body[data-ssi-page="eventos_marin.php"] .day-inner,
body[data-ssi-page="dashboard_calendario_block.php"] .day-inner{
        min-height:160px;
    }
    body[data-ssi-page="eventos_marin.php"] .event-pill-title,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-title{
        font-size:.69rem;
        line-height:1.06;
    }
    body[data-ssi-page="eventos_marin.php"] .event-pill-time,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-time{
        font-size:.60rem;
    }
    body[data-ssi-page="eventos_marin.php"] .event-pill-badge,
body[data-ssi-page="dashboard_calendario_block.php"] .event-pill-badge{
        font-size:.54rem;
        padding:.16rem .28rem;
    }
    body[data-ssi-page="eventos_marin.php"] .reserva-detail-grid,
body[data-ssi-page="dashboard_calendario_block.php"] .reserva-detail-grid{
        grid-template-columns:1fr;
    }
}

/* ===== dashboard_reservas_hoy_all.php :: style block 1 ===== */
/* === EN CURSO (fondo glow) === */
body[data-ssi-page="dashboard.php"] tr.reserva-curso td,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] tr.reserva-curso td{
    background-color: #f1fff4 !important;
    box-shadow: 0 0 12px rgba(37, 211, 102, 0.45);
    font-weight: 600;
}
body[data-ssi-page="dashboard.php"] tr.reserva-curso:hover td,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] tr.reserva-curso:hover td{
    background-color: #e4ffe8 !important;
    box-shadow: 0 0 18px rgba(37, 211, 102, 0.60);
    transform: translateY(-1px);
}

/* === ALERTA 10 MIN (parpadeo fila) === */
body[data-ssi-page="dashboard.php"] .reserva-alerta td,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-alerta td{
    animation: ssi-dashboard-reservas-hoy-all-flash10 1.2s infinite;
}
@keyframes ssi-dashboard-reservas-hoy-all-flash10 {
    0%   { background-color:#fff; }
    50%  { background-color:#ffecec; }
    100% { background-color:#fff; }
}
body[data-ssi-page="dashboard.php"] .alerta-10min-text,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .alerta-10min-text{
    color: #d9534f;
    font-weight: 700;
    font-size: 0.78rem;
    margin-left: 4px;
}

/* === Texto info futuro/en curso === */
body[data-ssi-page="dashboard.php"] .futuro-info,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .futuro-info{ font-size: .78rem; color:#0a7d28; font-weight:600; }

/* === Puntito verde animado === */
body[data-ssi-page="dashboard.php"] .pulse-dot,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .pulse-dot{
    width:9px;height:9px;border-radius:50%;
    background:#25D366;display:inline-block;margin-right:4px;
    animation: ssi-dashboard-reservas-hoy-all-pulse-dot 1.4s infinite;
}
@keyframes ssi-dashboard-reservas-hoy-all-pulse-dot {
 0% { transform:scale(.9); box-shadow:0 0 0 0 rgba(37,211,102,0.7); }
 70%{ transform:scale(1);   box-shadow:0 0 0 8px rgba(37,211,102,0); }
100%{ transform:scale(.9); box-shadow:0 0 0 0 rgba(37,211,102,0); }
}

/* === Barra mini === */
body[data-ssi-page="dashboard.php"] .mini-progress,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .mini-progress{height:4px;border-radius:999px;overflow:hidden;}
body[data-ssi-page="dashboard.php"] .mini-progress .progress-bar,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .mini-progress .progress-bar{transition:width .4s ease;}

/* === COLORES DE LA BARRA SEGÚN ESTADO === */
body[data-ssi-page="dashboard.php"] .bg-state-azul,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .bg-state-azul{
    background-color: #2196f3 !important;
}
body[data-ssi-page="dashboard.php"] .bg-state-naranja,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .bg-state-naranja{
    background-color: #ff9800 !important;
}
body[data-ssi-page="dashboard.php"] .bg-state-verde,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .bg-state-verde{
    background-color: #4caf50 !important;
}
body[data-ssi-page="dashboard.php"] .bg-state-gris,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .bg-state-gris{
    background-color: #9e9e9e !important;
}

body[data-ssi-page="dashboard.php"] .ssi-dashboard-reserva-actions,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .ssi-dashboard-reserva-actions{
    display:inline-flex;
    align-items:center;
    justify-content:flex-end;
    gap:.35rem;
    white-space:nowrap;
}
body[data-ssi-page="dashboard.php"] .ssi-dashboard-reserva-action-btn,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .ssi-dashboard-reserva-action-btn{
    width:2rem;
    height:2rem;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}

/* === Modal detalle estilo Eventos Marin === */
body[data-ssi-page="dashboard.php"] .reserva-modal-overlay-global,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-overlay-global{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.46);
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    z-index:99999;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-overlay-global.is-open,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-overlay-global.is-open{
    display:flex;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-global,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-global{
    width:min(860px, 100%);
    max-height:90vh;
    overflow:auto;
    background:#fff;
    border-radius:18px;
    box-shadow:0 20px 60px rgba(0,0,0,.28);
    animation: ssi-dashboard-reservas-hoy-all-modalIn .16s ease;
}
@keyframes ssi-dashboard-reservas-hoy-all-modalIn{
    from{ transform:translateY(8px) scale(.985); opacity:0; }
    to{ transform:translateY(0) scale(1); opacity:1; }
}
body[data-ssi-page="dashboard.php"] .reserva-modal-header,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px 10px;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-titlebar,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-titlebar{
    font-weight:800;
    color:#075E54;
    font-size:1.06rem;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-close,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-close{
    border:0;
    background:#f1f3f5;
    width:38px;
    height:38px;
    border-radius:999px;
    cursor:pointer;
    font-size:1.05rem;
    line-height:1;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-close:hover,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-close:hover{
    background:#e9ecef;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-body,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-body{
    padding:0 18px 18px;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-top,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-top{
    border-radius:16px;
    padding:1rem;
    color:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
}
body[data-ssi-page="dashboard.php"] .reserva-modal-main-title,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-main-title{
    font-size:1.08rem;
    font-weight:800;
    line-height:1.2;
    margin-bottom:.35rem;
    word-break:break-word;
    display:flex;
    align-items:flex-start;
    gap:.40rem;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-main-title .featured-star,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-main-title .featured-star{
    color:#ffc107;
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
    flex:0 0 auto;
    margin-top:.05rem;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-time,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-time{
    font-size:.93rem;
    opacity:.96;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-badge,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.35rem .65rem;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.20);
    font-size:.78rem;
    font-weight:700;
    margin-top:.65rem;
}
body[data-ssi-page="dashboard.php"] .reserva-detail-grid,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-detail-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.85rem;
    margin-top:1rem;
}
body[data-ssi-page="dashboard.php"] .reserva-detail-card,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-detail-card{
    background:#f8f9fa;
    border:1px solid rgba(0,0,0,.06);
    border-radius:14px;
    padding:.85rem .9rem;
}
body[data-ssi-page="dashboard.php"] .reserva-detail-label,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-detail-label{
    display:block;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.03em;
    color:#6c757d;
    margin-bottom:.20rem;
    font-weight:700;
}
body[data-ssi-page="dashboard.php"] .reserva-detail-value,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-detail-value{
    color:#1f2937;
    font-size:.95rem;
    line-height:1.35;
    word-break:break-word;
}
body[data-ssi-page="dashboard.php"] .reserva-detail-full,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-detail-full{
    grid-column:1 / -1;
}
body[data-ssi-page="dashboard.php"] .reserva-detail-desc,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-detail-desc{
    white-space:pre-wrap;
}
body[data-ssi-page="dashboard.php"] .reserva-modal-footer,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-modal-footer{
    display:flex;
    justify-content:flex-end;
    padding:0 18px 18px;
}
body[data-ssi-page="dashboard.php"] .btn-modal-cerrar,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .btn-modal-cerrar{
    border:0;
    border-radius:12px;
    padding:.65rem 1rem;
    background:#25D366;
    color:#fff;
    font-weight:700;
    box-shadow:0 6px 16px rgba(37,211,102,.25);
    cursor:pointer;
}
body[data-ssi-page="dashboard.php"] .btn-modal-cerrar:hover,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .btn-modal-cerrar:hover{
    background:#1ebe5d;
}

@media (max-width: 767.98px){
    body[data-ssi-page="dashboard.php"] .reserva-detail-grid,
body[data-ssi-page="dashboard_reservas_hoy_all.php"] .reserva-detail-grid{
        grid-template-columns:1fr;
    }
}

/* ===== dashboard_reservas_semana.php :: style block 1 ===== */
body[data-ssi-page="eventos_semanales.php"] .dashboard-week-shell,
body[data-ssi-page="dashboard_reservas_semana.php"] .dashboard-week-shell{
    display:flex;
    flex-direction:column;
    gap:1rem;
}
body[data-ssi-page="eventos_semanales.php"] .week-header,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-header{
    display:flex;
    justify-content:space-between;
    align-items:flex-end;
    gap:1rem;
    flex-wrap:wrap;
}
body[data-ssi-page="eventos_semanales.php"] .week-header-main,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-header-main{
    display:flex;
    align-items:center;
    gap:.65rem;
    flex-wrap:wrap;
}
body[data-ssi-page="eventos_semanales.php"] .week-title,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-title{
    display:flex;
    align-items:center;
    gap:.6rem;
    flex-wrap:wrap;
    margin:0;
    font-size:1.08rem;
    font-weight:700;
    color:#128C7E;
}
body[data-ssi-page="eventos_semanales.php"] .week-summary-badge,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-summary-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.28rem .7rem;
    border-radius:999px;
    border:1px solid rgba(18,140,126,.18);
    background:#f3fbf8;
    color:#0f5e5d;
    font-size:.78rem;
    font-weight:600;
}
body[data-ssi-page="eventos_semanales.php"] .week-filter-row,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-filter-row{
    display:flex;
    align-items:flex-end;
    gap:.85rem;
    flex-wrap:wrap;
}
body[data-ssi-page="eventos_semanales.php"] .week-filter-group,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-filter-group{
    min-width:180px;
}
body[data-ssi-page="eventos_semanales.php"] .week-col-dia,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-col-dia{
    border-radius:14px;
    background:#fff;
    border:1px solid #dfe6e9;
    padding:.9rem 1rem;
    box-shadow:0 8px 20px rgba(15,94,93,.06);
}
body[data-ssi-page="eventos_semanales.php"] .week-dia-title,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-dia-title{
    font-weight:700;
    font-size:1rem;
    margin-bottom:.45rem;
    color:#128C7E;
}
body[data-ssi-page="eventos_semanales.php"] .week-sala-title,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-sala-title{
    font-size:.85rem;
    font-weight:700;
    margin-top:.4rem;
    margin-bottom:.3rem;
    color:#374151;
}
body[data-ssi-page="eventos_semanales.php"] .event-pill-agenda,
body[data-ssi-page="dashboard_reservas_semana.php"] .event-pill-agenda{
    display:block;
    padding:.42rem .7rem;
    border-radius:999px;
    font-size:.8rem;
    background:var(--event-pill-bg, #198754);
    color:var(--event-pill-fg, #fff) !important;
    margin-bottom:.28rem;
    text-decoration:none;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    transition:transform .15s ease, box-shadow .15s ease;
}
body[data-ssi-page="eventos_semanales.php"] .event-pill-agenda.featured,
body[data-ssi-page="dashboard_reservas_semana.php"] .event-pill-agenda.featured{
    border:2px solid rgba(255,193,7,.95);
    box-shadow:
      0 0 0 1px rgba(255,193,7,.22) inset,
      0 0.35rem 0.95rem rgba(255,193,7,.18);
}
body[data-ssi-page="eventos_semanales.php"] .event-pill-agenda:hover,
body[data-ssi-page="dashboard_reservas_semana.php"] .event-pill-agenda:hover{
    transform:translateY(-1px);
    box-shadow:0 0.35rem 0.95rem rgba(0,0,0,.18);
}
body[data-ssi-page="eventos_semanales.php"] .event-pill-agenda.is-locked,
body[data-ssi-page="dashboard_reservas_semana.php"] .event-pill-agenda.is-locked{
    cursor:default;
}
body[data-ssi-page="eventos_semanales.php"] .small-text,
body[data-ssi-page="dashboard_reservas_semana.php"] .small-text{
    font-size:.76rem;
    opacity:.88;
    margin-bottom:.38rem;
    color:#4b5563;
}
body[data-ssi-page="eventos_semanales.php"] .small-text.is-next,
body[data-ssi-page="dashboard_reservas_semana.php"] .small-text.is-next{
    opacity:.96;
}
body[data-ssi-page="eventos_semanales.php"] .small-text.is-finished,
body[data-ssi-page="dashboard_reservas_semana.php"] .small-text.is-finished{
    opacity:.72;
}
body[data-ssi-page="eventos_semanales.php"] .small-text.is-current,
body[data-ssi-page="dashboard_reservas_semana.php"] .small-text.is-current{
    font-weight:700;
}
body[data-ssi-page="eventos_semanales.php"] .badge-admin-view,
body[data-ssi-page="dashboard_reservas_semana.php"] .badge-admin-view{
    border-radius:999px;
    padding:.28rem .55rem;
    font-size:.72rem;
}
@media (max-width: 991px){
    body[data-ssi-page="eventos_semanales.php"] .week-filter-group,
body[data-ssi-page="dashboard_reservas_semana.php"] .week-filter-group{
        min-width:145px;
        flex:1 1 145px;
    }
}

/* ===== dashboard.php :: style block 1 ===== */
html{ scroll-behavior:smooth; }

body[data-ssi-page="dashboard.php"]{
    margin:0 !important;
    padding:0 !important;
    background:var(--ssi-bg) !important;
}

body[data-ssi-page="dashboard.php"] .wa-main{
    margin:20px auto;
    max-width:1100px;
    padding:25px;
    background:#fff !important;
    border-radius:var(--ssi-card-radius);
    border:var(--ssi-soft-border);
    box-shadow:var(--ssi-shadow);
}

body[data-ssi-page="dashboard.php"] .wa-header-bar,
body[data-ssi-page="dashboard.php"] .reservas-box{
    border-radius:var(--ssi-card-radius);
    border:var(--ssi-soft-border);
    box-shadow:0 3px 10px rgba(0,0,0,.06);
}

body[data-ssi-page="dashboard.php"] .wa-header-bar:hover,
body[data-ssi-page="dashboard.php"] .reservas-box:hover,
body[data-ssi-page="dashboard.php"] .hover-card:hover{
    box-shadow:var(--ssi-shadow-hover);
}

body[data-ssi-page="dashboard.php"] .ssi-dashboard-title{
    color:var(--ssi-green);
    font-weight:700;
}

body[data-ssi-page="dashboard.php"] .ssi-dashboard-subtitle{
    font-size:.95rem;
    color:#6c757d;
    margin-top:4px;
}

body[data-ssi-page="dashboard.php"] #clockBox{
    background:#f8f9fa;
    border:1px solid rgba(0,0,0,.06);
    border-radius:var(--ssi-card-radius);
    padding:10px 14px;
    min-width:220px;
}

body[data-ssi-page="dashboard.php"] .fade-card{
    animation: ssi-dashboard-fadeInUp .45s ease-out both;
}

@keyframes ssi-dashboard-fadeInUp{
    from{ opacity:0; transform:translateY(12px); }
    to{ opacity:1; transform:translateY(0); }
}

body[data-ssi-page="dashboard.php"] .hover-card{
    transition:transform .20s ease, box-shadow .20s ease, border-color .25s ease;
}

body[data-ssi-page="dashboard.php"] .hover-card:hover{
    transform:translateY(-4px) scale(1.01);
    border-color:#25D366 !important;
}

body[data-ssi-page="dashboard.php"] .card-inner-anim{
    animation: ssi-dashboard-contentFade .5s ease both;
}

@keyframes ssi-dashboard-contentFade{
    from{ opacity:0; transform:scale(.97); }
    to{ opacity:1; transform:scale(1); }
}

body[data-ssi-page="dashboard.php"] .wa-header-bar{
    padding:15px 20px;
    background:#fff !important;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    animation: ssi-dashboard-fadeInUp .45s ease-out both;
    transition:all .18s ease;
}

body[data-ssi-page="dashboard.php"] .reservas-box{
    margin-top:25px;
    background:#fff !important;
    padding:20px;
    animation: ssi-dashboard-fadeInUp .45s ease-out both;
    transition:transform .20s ease, box-shadow .20s ease, border-color .20s ease;
}

body[data-ssi-page="dashboard.php"] .fullscreen-native-box{
    background:#fff !important;
    padding:20px !important;
    overflow:auto !important;
    border-radius:0 !important;
}

body[data-ssi-page="dashboard.php"] #reservasHoyContainer:fullscreen,
body[data-ssi-page="dashboard.php"] #reservasHoyContainer:-webkit-full-screen{
    background:#fff !important;
    padding:20px !important;
    overflow:auto !important;
    width:100vw !important;
    height:100vh !important;
    box-sizing:border-box !important;
}

@media (max-width:768px){
    body[data-ssi-page="dashboard.php"] .wa-main{
        margin:12px auto;
        padding:14px;
        max-width:100%;
    }

    body[data-ssi-page="dashboard.php"] .wa-header-bar{
        align-items:flex-start;
        flex-direction:column;
    }

    body[data-ssi-page="dashboard.php"] #clockBox{
        width:100%;
        min-width:0;
        text-align:left !important;
    }

}

/* ===== departamentos.php :: style block 1 ===== */
body[data-ssi-page="departamentos.php"] .deps-wrapper{
    display:flex;
    justify-content:center;
    width:100%;
}

body[data-ssi-page="departamentos.php"] .ssi-deps-card{
    width:100%;
    max-width:1100px;
}

body[data-ssi-page="departamentos.php"] .table-modern{
    border-collapse: separate !important;
    border-spacing: 0 10px !important;
}

body[data-ssi-page="departamentos.php"] .table-modern thead th{
    background:#e9ecef;
    border:none;
    padding:12px;
    color:#333;
    border-radius:8px;
    font-weight:600;
}

body[data-ssi-page="departamentos.php"] .table-modern tbody tr{
    background:#fff;
    border-radius:12px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    transition:.18s ease;
}

body[data-ssi-page="departamentos.php"] .table-modern tbody tr:hover{
    background:#f8f9fa;
    transform:scale(1.01);
}

body[data-ssi-page="departamentos.php"] .table-modern td{
    padding:14px !important;
    vertical-align:middle;
}

body[data-ssi-page="departamentos.php"] .dep-toolbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-bottom:16px;
    flex-wrap:wrap;
}

body[data-ssi-page="departamentos.php"] .dep-actions{
    display:flex;
    justify-content:flex-end;
}

@media (max-width: 768px){
    body[data-ssi-page="departamentos.php"] .table-modern{ font-size:.92rem; }
}

/* ===== eventos_marin.php :: style block 1 ===== */
html{ scroll-behavior:smooth; }

body[data-ssi-page="eventos_marin.php"]{
    margin:0 !important;
    padding:0 !important;
    background:var(--ssi-bg) !important;
}

body[data-ssi-page="eventos_marin.php"] .wa-main{
    margin:20px auto;
    max-width:var(--ssi-calendar-width);
    padding:25px;
    background:#fff !important;
    border-radius:var(--ssi-card-radius);
    border:var(--ssi-soft-border);
    box-shadow:var(--ssi-shadow);
}

body[data-ssi-page="eventos_marin.php"] .ssi-events-shell{
    max-width:var(--ssi-calendar-width) !important;
}

body[data-ssi-page="eventos_marin.php"] .wa-header-bar,
body[data-ssi-page="eventos_marin.php"] .reservas-box{
    border-radius:var(--ssi-card-radius);
    border:var(--ssi-soft-border);
    box-shadow:0 3px 10px rgba(0,0,0,.06);
}

body[data-ssi-page="eventos_marin.php"] .wa-header-bar:hover,
body[data-ssi-page="eventos_marin.php"] .reservas-box:hover,
body[data-ssi-page="eventos_marin.php"] .hover-card:hover{
    box-shadow:var(--ssi-shadow-hover);
}

body[data-ssi-page="eventos_marin.php"] .ssi-events-title{
    color:var(--ssi-green);
    font-weight:700;
}

body[data-ssi-page="eventos_marin.php"] .ssi-events-subtitle{
    font-size:.95rem;
    color:#6c757d;
    margin-top:4px;
}

body[data-ssi-page="eventos_marin.php"] .fade-card{
    animation: ssi-eventos-marin-fadeInUp .45s ease-out both;
}

@keyframes ssi-eventos-marin-fadeInUp{
    from{ opacity:0; transform:translateY(12px); }
    to{ opacity:1; transform:translateY(0); }
}

body[data-ssi-page="eventos_marin.php"] .hover-card{
    transition:transform .20s ease, box-shadow .20s ease, border-color .25s ease;
}

body[data-ssi-page="eventos_marin.php"] .hover-card:hover{
    transform:translateY(-4px) scale(1.01);
    border-color:#25D366 !important;
}

body[data-ssi-page="eventos_marin.php"] .card-inner-anim{
    animation: ssi-eventos-marin-contentFade .5s ease both;
}

@keyframes ssi-eventos-marin-contentFade{
    from{ opacity:0; transform:scale(.97); }
    to{ opacity:1; transform:scale(1); }
}

body[data-ssi-page="eventos_marin.php"] .wa-header-bar{
    padding:15px 20px;
    background:#fff !important;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    animation: ssi-eventos-marin-fadeInUp .45s ease-out both;
    transition:all .18s ease;
}

body[data-ssi-page="eventos_marin.php"] .ssi-events-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
}

body[data-ssi-page="eventos_marin.php"] .reservas-box{
    margin-top:25px;
    background:#fff !important;
    padding:20px;
    animation: ssi-eventos-marin-fadeInUp .45s ease-out both;
    transition:transform .20s ease, box-shadow .20s ease, border-color .20s ease;
}

body[data-ssi-page="eventos_marin.php"] .calendar-loading{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    padding:40px 20px;
    color:#6c757d;
    font-weight:600;
}

body[data-ssi-page="eventos_marin.php"] .fullscreen-native-box{
    background:#fff !important;
    padding:20px !important;
    overflow:auto !important;
    border-radius:0 !important;
}

body[data-ssi-page="eventos_marin.php"] #calendarHost:fullscreen,
body[data-ssi-page="eventos_marin.php"] #calendarHost:-webkit-full-screen{
    background:#fff !important;
    padding:20px !important;
    overflow:auto !important;
    width:100vw !important;
    height:100vh !important;
    box-sizing:border-box !important;
}

@media (max-width:768px){
    body[data-ssi-page="eventos_marin.php"] .wa-main{
        margin:12px auto;
        padding:14px;
        max-width:100%;
    }

    body[data-ssi-page="eventos_marin.php"] .wa-header-bar{
        align-items:flex-start;
        flex-direction:column;
    }

    body[data-ssi-page="eventos_marin.php"] .ssi-events-actions{
        width:100%;
        justify-content:flex-start;
    }

    body[data-ssi-page="eventos_marin.php"] .fullscreen-native-box{
        padding:12px !important;
    }

}

/* ===== eventos_semanales.php :: style block 1 ===== */
html{ scroll-behavior:smooth; }

body[data-ssi-page="eventos_semanales.php"]{
    margin:0 !important;
    padding:0 !important;
    background:var(--ssi-bg) !important;
}

body[data-ssi-page="eventos_semanales.php"] .wa-main{
    margin:20px auto;
    max-width:var(--ssi-card-width);
    padding:25px;
    background:#fff !important;
    border-radius:var(--ssi-card-radius);
    border:var(--ssi-soft-border);
    box-shadow:var(--ssi-shadow);
}

body[data-ssi-page="eventos_semanales.php"] .ssi-week-shell{
    max-width:var(--ssi-card-width) !important;
}

body[data-ssi-page="eventos_semanales.php"] .wa-header-bar,
body[data-ssi-page="eventos_semanales.php"] .reservas-box{
    border-radius:var(--ssi-card-radius);
    border:var(--ssi-soft-border);
    box-shadow:0 3px 10px rgba(0,0,0,.06);
}

body[data-ssi-page="eventos_semanales.php"] .wa-header-bar:hover,
body[data-ssi-page="eventos_semanales.php"] .reservas-box:hover,
body[data-ssi-page="eventos_semanales.php"] .hover-card:hover{
    box-shadow:var(--ssi-shadow-hover);
}

body[data-ssi-page="eventos_semanales.php"] .ssi-week-title{
    color:var(--ssi-green);
    font-weight:700;
}

body[data-ssi-page="eventos_semanales.php"] .ssi-week-subtitle{
    font-size:.95rem;
    color:#6c757d;
    margin-top:4px;
}

body[data-ssi-page="eventos_semanales.php"] .fade-card{
    animation: ssi-eventos-semanales-fadeInUp .45s ease-out both;
}

@keyframes ssi-eventos-semanales-fadeInUp{
    from{ opacity:0; transform:translateY(12px); }
    to{ opacity:1; transform:translateY(0); }
}

body[data-ssi-page="eventos_semanales.php"] .hover-card{
    transition:transform .20s ease, box-shadow .20s ease, border-color .25s ease;
}

body[data-ssi-page="eventos_semanales.php"] .hover-card:hover{
    transform:translateY(-4px) scale(1.01);
    border-color:#25D366 !important;
}

body[data-ssi-page="eventos_semanales.php"] .card-inner-anim{
    animation: ssi-eventos-semanales-contentFade .5s ease both;
}

@keyframes ssi-eventos-semanales-contentFade{
    from{ opacity:0; transform:scale(.97); }
    to{ opacity:1; transform:scale(1); }
}

body[data-ssi-page="eventos_semanales.php"] .wa-header-bar{
    padding:15px 20px;
    background:#fff !important;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    animation: ssi-eventos-semanales-fadeInUp .45s ease-out both;
    transition:all .18s ease;
}

body[data-ssi-page="eventos_semanales.php"] .ssi-week-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    flex-wrap:wrap;
    gap:8px;
}

body[data-ssi-page="eventos_semanales.php"] .reservas-box{
    margin-top:25px;
    background:#fff !important;
    padding:20px;
    animation: ssi-eventos-semanales-fadeInUp .45s ease-out both;
    transition:transform .20s ease, box-shadow .20s ease, border-color .20s ease;
}

@media (max-width:768px){
    body[data-ssi-page="eventos_semanales.php"] .wa-main{
        margin:12px auto;
        padding:14px;
        max-width:100%;
    }

    body[data-ssi-page="eventos_semanales.php"] .wa-header-bar{
        align-items:flex-start;
        flex-direction:column;
    }

    body[data-ssi-page="eventos_semanales.php"] .ssi-week-actions{
        width:100%;
        justify-content:flex-start;
    }
}

/* ===== index.php :: style block 1 ===== */
/* =============================
   BASE
============================= */
html,
body[data-ssi-page="index.php"]{
    min-height: 100%;
    margin: 0;
    padding: 0;
}

/* En login dejamos ver el footer */
body[data-ssi-page="index.php"].login-page{
    min-height: 100svh;
    overflow-x: hidden;
    overflow-y: hidden;
    display: flex;
    flex-direction: column;
}

body[data-ssi-page="index.php"].login-page .ssi-page,
body[data-ssi-page="index.php"].login-page .ssi-main,
body[data-ssi-page="index.php"].login-page .ssi-container,
body[data-ssi-page="index.php"].login-page .content{
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    flex-direction: column;
    width: 100%;
}

body[data-ssi-page="index.php"].login-page .ssi-container{
    max-width: none !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
}

body[data-ssi-page="index.php"].login-page .content{
    justify-content: center;
}

/* =============================
   FONDO LOGIN + FADE-IN
============================= */
html.login-page,
html.login-page body,
body[data-ssi-page="index.php"].login-page,
body[data-ssi-page="index.php"].login-bg{
    background: url('/assets/img/login-bg-small.webp') center center fixed no-repeat !important;
    background-size: cover !important;
    background-color: #ffffff !important;
}

body[data-ssi-page="index.php"].login-bg{
    transition: background-image 1s ease-in-out, opacity 1s ease-in-out;
}

body[data-ssi-page="index.php"].login-bg.fade-in{
    opacity: 0;
    animation: ssi-index-fadeBg 1s ease forwards;
}

@keyframes ssi-index-fadeBg {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* =============================
   LOADER
============================= */
body[data-ssi-page="index.php"] #loaderLogin{
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.95);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 9999;
}

body[data-ssi-page="index.php"] .loader-circle{
    width: 60px;
    height: 60px;
    border: 6px solid #00A884;
    border-top-color: transparent;
    border-radius: 50%;
    animation: ssi-index-spinLoader 1s linear infinite;
    margin-bottom: 25px;
}

body[data-ssi-page="index.php"] .loader-logo{
    width: 60px;
    height: 60px;
    opacity: .9;
}

body[data-ssi-page="index.php"] .loader-text{
    margin-top: 10px;
    font-size: 1.1rem;
    font-weight: 600;
    color: #075E54;
}

@keyframes ssi-index-spinLoader {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

body[data-ssi-page="index.php"] #loaderLogin.hide{
    opacity: 0;
    transition: opacity .5s ease;
    pointer-events: none;
}

/* =============================
   LOGIN
============================= */
body[data-ssi-page="index.php"] nav.navbar{ display: none !important; }

/* ✅ centrado real + espacio para footer */
body[data-ssi-page="index.php"] .login-wrapper{
    flex: 1 1 auto;
    min-height: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: clamp(10px, 3vh, 24px) 16px clamp(8px, 2vh, 14px);
    z-index: 10;
}

/* Panel */
body[data-ssi-page="index.php"] .login-panel{
    width: min(380px, calc(100vw - 32px));
    max-width: 100%;
    background: white;
    border-radius: 12px;
    padding: clamp(18px, 3.2vh, 28px);
    box-shadow: 0 2px 12px rgba(0,0,0,0.25);
    animation: ssi-index-fadePanel .5s ease;
}

@keyframes ssi-index-fadePanel {
    from { opacity: 0; transform: scale(.97); }
    to   { opacity: 1; transform: scale(1); }
}

/* Botón WhatsApp */
body[data-ssi-page="index.php"] .btn-wa{
    background:#00A884;
    color:white;
    font-weight:600;
}
body[data-ssi-page="index.php"] .btn-wa:hover{
    background:#06c399;
}

/* Toggle pass icon */
body[data-ssi-page="index.php"] .toggle-pass{
    cursor: pointer;
    color: #00A884;
    position: absolute;
    right: 12px;
    top: 36px;
    font-size: 1.2rem;
}

/* ✅ store badges dentro del panel */
body[data-ssi-page="index.php"] .store-badge{
    display: inline-flex;
    background: #000;
    border-radius: 12px;
    padding: 6px 12px;
    height: 44px;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(0,0,0,0.2);
    transition: transform .15s ease, box-shadow .15s ease;
}
body[data-ssi-page="index.php"] .store-badge:hover{
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(0,0,0,0.25);
}
body[data-ssi-page="index.php"] .store-badge img{
    height: 30px;
    width: auto;
    display: block;
    object-fit: contain;
}

@media (max-width: 576px){
    body[data-ssi-page="index.php"] .store-badge{ width: 140px; }
    body[data-ssi-page="index.php"] .login-panel{ padding: 22px; }
}

/* Footer en login: que quede abajo y no moleste */
body[data-ssi-page="index.php"].login-page footer{
    position: static !important;
    flex: 0 0 auto;
    margin-top: 0 !important;
    padding-top: 0 !important;
    padding-bottom: clamp(6px, 1.6vh, 14px) !important;
}

body[data-ssi-page="index.php"].login-page footer .ssi-footer-card .card-body{
    padding: clamp(.45rem, 1.5vh, .85rem) .85rem !important;
}

body[data-ssi-page="index.php"].login-page .login-panel hr{
    margin: clamp(.65rem, 1.5vh, 1rem) 0;
}

body[data-ssi-page="index.php"].login-page .login-panel .mt-4{
    margin-top: clamp(.75rem, 2vh, 1.5rem) !important;
}

@media (max-height: 760px){
    body[data-ssi-page="index.php"].login-page .login-panel h3{
        font-size: 1.35rem;
        margin-bottom: .25rem;
    }

    body[data-ssi-page="index.php"].login-page .login-panel h5{
        font-size: 1rem;
        margin-bottom: 0;
    }

    body[data-ssi-page="index.php"].login-page .login-panel .mb-3{
        margin-bottom: .65rem !important;
    }

    body[data-ssi-page="index.php"].login-page .store-badge{
        height: 38px;
        padding: 5px 10px;
    }

    body[data-ssi-page="index.php"].login-page .store-badge img{
        height: 26px;
    }
}

@media (max-height: 640px){
    body[data-ssi-page="index.php"].login-page{
        overflow-y: auto;
    }

    body[data-ssi-page="index.php"] .login-wrapper{
        align-items: flex-start;
    }
}

/* ===== install_android.php :: style block 1 ===== */
body[data-ssi-page="install_android.php"]{
    background: var(--ssi-bg);
}
body[data-ssi-page="install_android.php"] .card{
    border:1px solid var(--ssi-card-border);
    border-radius: var(--ssi-radius-xl);
    box-shadow: var(--ssi-shadow-soft);
}
body[data-ssi-page="install_android.php"] .install-icon{
    width: 120px;
    height: 120px;
    border-radius: 22px;
    margin-bottom: 20px;
}
body[data-ssi-page="install_android.php"] .step-img{
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.12);
    margin-bottom: 15px;
}
body[data-ssi-page="install_android.php"] .install-link{
    font-size: 1.1rem;
}

/* ===== install_ios.php :: style block 1 ===== */
body[data-ssi-page="install_ios.php"]{
    background: var(--ssi-bg);
}
body[data-ssi-page="install_ios.php"] .card{
    border:1px solid var(--ssi-card-border);
    border-radius: var(--ssi-radius-xl);
    box-shadow: var(--ssi-shadow-soft);
}
body[data-ssi-page="install_ios.php"] .install-icon{
    width: 120px;
    height: 120px;
    border-radius: 22px;
    margin-bottom: 20px;
}
body[data-ssi-page="install_ios.php"] .step-img{
    width: 100%;
    border-radius: 12px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.12);
    margin-bottom: 15px;
}
body[data-ssi-page="install_ios.php"] .install-link{
    font-size: 1.1rem;
}

/* ===== notificaciones.php :: style block 1 ===== */
body[data-ssi-page="notificaciones.php"]{ background:#ECE5DD !important; }

body[data-ssi-page="notificaciones.php"] .notif-box{
    max-width:900px;
    margin:25px auto;
    background:#fff;
    padding:25px;
    border-radius:15px;
    border:1px solid #DDD;
    box-shadow:0 0 10px rgba(0,0,0,.16);
    max-height:70vh;
    overflow-y:auto;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-preference{
    align-items:center;
    background:linear-gradient(180deg,#f7fffb 0%,#edf8f4 100%);
    border:1px solid #cbe7de;
    border-radius:12px;
    display:flex;
    gap:16px;
    justify-content:space-between;
    margin-bottom:16px;
    padding:14px 16px;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-preference.is-disabled{
    background:#f7f8fa;
    border-color:#d9dee5;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-preference.is-saving{
    opacity:.72;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-preference-title{
    color:#075e54;
    font-weight:800;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-preference-title i{
    margin-right:6px;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-preference-text{
    color:#667085;
    font-size:.9rem;
    line-height:1.35;
    margin-top:2px;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-switch{
    align-items:center;
    cursor:pointer;
    display:flex;
    flex:0 0 auto;
    gap:10px;
    position:relative;
    user-select:none;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-switch input{
    height:1px;
    opacity:0;
    position:absolute;
    width:1px;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-switch-track{
    background:#6b7280;
    border-radius:999px;
    box-shadow:inset 0 1px 4px rgba(15,23,42,.18);
    display:inline-flex;
    height:28px;
    padding:3px;
    transition:background .18s ease, box-shadow .18s ease;
    width:52px;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-switch-thumb{
    background:#fff;
    border-radius:50%;
    box-shadow:0 2px 6px rgba(15,23,42,.25);
    display:block;
    height:22px;
    transform:translateX(0);
    transition:transform .18s ease;
    width:22px;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-switch input:checked + .notif-mail-switch-track{
    background:#20c76a;
    box-shadow:0 0 0 3px rgba(32,199,106,.14), inset 0 1px 4px rgba(15,23,42,.16);
}

body[data-ssi-page="notificaciones.php"] .notif-mail-switch input:checked + .notif-mail-switch-track .notif-mail-switch-thumb{
    transform:translateX(24px);
}

body[data-ssi-page="notificaciones.php"] .notif-mail-switch input:focus-visible + .notif-mail-switch-track{
    outline:3px solid rgba(13,148,136,.28);
    outline-offset:2px;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-switch input:disabled + .notif-mail-switch-track{
    background:#c6ccd5;
    box-shadow:none;
}

body[data-ssi-page="notificaciones.php"] .notif-mail-switch-label{
    color:#344054;
    font-size:.88rem;
    font-weight:800;
    white-space:nowrap;
}

body[data-ssi-page="notificaciones.php"] .notif-item{
    display:flex;
    gap:12px;
    padding:14px 12px;
    border-bottom:1px solid #EEE;
}

body[data-ssi-page="notificaciones.php"] .unread{ background:#E8F5E9; border-left:4px solid #4CAF50; }
body[data-ssi-page="notificaciones.php"] .read{ opacity:.8; }

body[data-ssi-page="notificaciones.php"] .notif-icon{ font-size:1.4rem; }

body[data-ssi-page="notificaciones.php"] .unread-badge{
    font-size:.85rem;
    padding:.35rem .55rem;
    border-radius:999px;
}

body[data-ssi-page="notificaciones.php"] .notif-pagination{
    max-width:900px;
    margin:0 auto 30px auto;
}

@media (max-width: 640px){
    body[data-ssi-page="notificaciones.php"] .notif-mail-preference{
        align-items:flex-start;
        flex-direction:column;
    }
}

/* ===== recordatorios.php :: style block 1 ===== */
body[data-ssi-page="recordatorios.php"] .reminders-wrapper{
    display:flex;
    justify-content:center;
    width:100%;
}
body[data-ssi-page="recordatorios.php"] .reminders-card{
    width:100%;
    max-width:var(--ssi-card-width);
    min-width:0;
    margin:0 auto;
    border-radius:var(--ssi-radius);
    border:1px solid var(--ssi-card-border);
    box-shadow:var(--ssi-shadow-soft);
    background:var(--ssi-card);
}
body[data-ssi-page="recordatorios.php"] .reminders-topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
body[data-ssi-page="recordatorios.php"] .reminders-title{
    display:flex;
    align-items:center;
    gap:10px;
}
body[data-ssi-page="recordatorios.php"] .reminders-title-icon{
    width:44px;
    height:44px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color:#fff;
    box-shadow:0 6px 18px rgba(18,140,126,.25);
    font-size:1.1rem;
}
body[data-ssi-page="recordatorios.php"] .reminders-subtitle{
    color:#6c757d;
    font-size:.95rem;
    margin:0;
}
body[data-ssi-page="recordatorios.php"] .reminder-form-panel,
body[data-ssi-page="recordatorios.php"] .filter-panel{
    background:linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
    border:1px solid var(--ssi-border);
    border-radius:16px;
    padding:14px;
    box-shadow:0 4px 12px rgba(0,0,0,.04);
}
body[data-ssi-page="recordatorios.php"] .reminder-form-panel{
    margin-bottom:16px;
}
body[data-ssi-page="recordatorios.php"] .filter-panel{
    margin-bottom:14px;
}
body[data-ssi-page="recordatorios.php"] .reminder-form-panel .form-label,
body[data-ssi-page="recordatorios.php"] .filter-panel .form-label{
    color:#374151;
    font-weight:700;
    font-size:.86rem;
}
body[data-ssi-page="recordatorios.php"] .reminder-form-panel .form-control,
body[data-ssi-page="recordatorios.php"] .reminder-form-panel .form-select,
body[data-ssi-page="recordatorios.php"] .filter-panel .form-control,
body[data-ssi-page="recordatorios.php"] .filter-panel .form-select{
    border-color:rgba(0,0,0,.08);
    box-shadow:none;
}
body[data-ssi-page="recordatorios.php"] .reminder-form-panel .form-control:focus,
body[data-ssi-page="recordatorios.php"] .reminder-form-panel .form-select:focus,
body[data-ssi-page="recordatorios.php"] .filter-panel .form-control:focus,
body[data-ssi-page="recordatorios.php"] .filter-panel .form-select:focus{
    border-color:#25D366;
    box-shadow:0 0 0 .18rem rgba(37,211,102,.15);
}
body[data-ssi-page="recordatorios.php"] .rich-note-editor{
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;
    overflow:hidden;
    background:#fff;
    box-shadow:0 3px 10px rgba(0,0,0,.03);
}
body[data-ssi-page="recordatorios.php"] .rich-note-toolbar{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
    padding:8px;
    border-bottom:1px solid rgba(0,0,0,.07);
    background:#f8fafc;
}
body[data-ssi-page="recordatorios.php"] .rich-note-toolbar .btn{
    min-width:36px;
    min-height:34px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:10px;
    font-weight:800;
}
body[data-ssi-page="recordatorios.php"] .rich-note-toolbar .toolbar-divider{
    width:1px;
    height:24px;
    background:rgba(0,0,0,.1);
    margin:0 2px;
}
body[data-ssi-page="recordatorios.php"] .rich-note-area{
    min-height:170px;
    max-height:360px;
    overflow:auto;
    padding:14px 16px;
    outline:none;
    color:#1f2937;
    line-height:1.45;
}
body[data-ssi-page="recordatorios.php"] .rich-note-area:focus{
    box-shadow:inset 0 0 0 .18rem rgba(37,211,102,.12);
}
body[data-ssi-page="recordatorios.php"] .rich-note-area:empty:before{
    content:attr(data-placeholder);
    color:#6b7280;
}
body[data-ssi-page="recordatorios.php"] .rich-note-area p,
body[data-ssi-page="recordatorios.php"] .rich-note-area div{
    margin:0 0 .45rem;
}
body[data-ssi-page="recordatorios.php"] .rich-note-area ul,
body[data-ssi-page="recordatorios.php"] .rich-note-area ol{
    margin:.25rem 0 .5rem 1.25rem;
    padding:0;
}
body[data-ssi-page="recordatorios.php"] .table-modern{
    border-collapse:separate !important;
    border-spacing:0 12px !important;
    margin-bottom:0;
}
body[data-ssi-page="recordatorios.php"] .table-modern thead th{
    background:#eef1f4;
    border:none !important;
    padding:13px 14px;
    color:#374151;
    border-radius:8px;
    font-weight:700;
    font-size:.92rem;
    white-space:nowrap;
}
body[data-ssi-page="recordatorios.php"] .table-modern tbody tr{
    background:#fff;
    border-radius:14px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
    transition:.18s ease;
}
body[data-ssi-page="recordatorios.php"] .table-modern tbody tr:hover{
    background:#fcfcfc;
    transform:translateY(-1px);
    box-shadow:var(--ssi-shadow-hover);
}
body[data-ssi-page="recordatorios.php"] .table-modern td{
    padding:14px !important;
    vertical-align:middle;
    border:none !important;
}
body[data-ssi-page="recordatorios.php"] .reminder-name{
    font-weight:700;
    color:#1f2937;
    display:flex;
    align-items:center;
    gap:8px;
}
body[data-ssi-page="recordatorios.php"] .reminder-icon{
    width:34px;
    height:34px;
    border-radius:50%;
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    background:#dffaf0;
    color:var(--ssi-primary-ink);
}
body[data-ssi-page="recordatorios.php"] .reminder-note{
    color:#6b7280;
    font-size:.9rem;
    line-height:1.35;
    white-space:normal;
}
body[data-ssi-page="recordatorios.php"] .reminder-note p,
body[data-ssi-page="recordatorios.php"] .reminder-note div{
    margin:0 0 .35rem;
}
body[data-ssi-page="recordatorios.php"] .reminder-note ul,
body[data-ssi-page="recordatorios.php"] .reminder-note ol{
    margin:.25rem 0 .35rem 1.25rem;
    padding:0;
}
body[data-ssi-page="recordatorios.php"] .reminder-note :last-child{
    margin-bottom:0;
}
body[data-ssi-page="recordatorios.php"] .reminder-view-modal .modal-content{
    border:none;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 42px rgba(0,0,0,.18);
}
body[data-ssi-page="recordatorios.php"] .reminder-view-modal .modal-header{
    background:linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
    border-bottom:1px solid rgba(0,0,0,.06);
}
body[data-ssi-page="recordatorios.php"] .reminder-view-modal .modal-title{
    color:#0f766e;
    font-weight:800;
}
body[data-ssi-page="recordatorios.php"] .reminder-view-meta{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:12px;
}
body[data-ssi-page="recordatorios.php"] .reminder-view-meta .badge{
    font-size:.82rem;
    padding:.55em .75em;
}
body[data-ssi-page="recordatorios.php"] .reminder-view-note{
    min-height:220px;
    max-height:58vh;
    overflow:auto;
    padding:18px;
    border:1px solid var(--ssi-border);
    border-radius:16px;
    background:#fff;
    color:#1f2937;
    font-size:1rem;
    line-height:1.58;
    box-shadow:inset 0 1px 8px rgba(0,0,0,.03);
}
body[data-ssi-page="recordatorios.php"] .reminder-view-note p,
body[data-ssi-page="recordatorios.php"] .reminder-view-note div{
    margin:0 0 .65rem;
}
body[data-ssi-page="recordatorios.php"] .reminder-view-note ul,
body[data-ssi-page="recordatorios.php"] .reminder-view-note ol{
    margin:.35rem 0 .65rem 1.45rem;
    padding:0;
}
body[data-ssi-page="recordatorios.php"] .reminder-view-note :last-child{
    margin-bottom:0;
}
body[data-ssi-page="recordatorios.php"] .reminder-row-done{
    opacity:.78;
}
body[data-ssi-page="recordatorios.php"] .reminder-row-done .reminder-name span:last-child{
    text-decoration:line-through;
}
body[data-ssi-page="recordatorios.php"] .reminder-date-box{
    display:flex;
    flex-direction:column;
    gap:4px;
}
body[data-ssi-page="recordatorios.php"] .reminder-date-main{
    font-weight:700;
    color:#1f2937;
}
body[data-ssi-page="recordatorios.php"] .reminder-date-muted{
    color:#6b7280;
    font-size:.84rem;
}
body[data-ssi-page="recordatorios.php"] .btn-wa{
    background:linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color:#fff;
    border:none;
    border-radius:12px;
    box-shadow:0 8px 18px rgba(18,140,126,.18);
}
body[data-ssi-page="recordatorios.php"] .btn-wa:hover{
    color:#fff;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(18,140,126,.24);
}
body[data-ssi-page="recordatorios.php"] .btn-soft{
    border-radius:12px;
}
body[data-ssi-page="recordatorios.php"] .actions-grid{
    display:flex;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:wrap;
}
body[data-ssi-page="recordatorios.php"] .actions-grid form{
    margin:0;
}
body[data-ssi-page="recordatorios.php"] .empty-state{
    border:1px dashed rgba(0,0,0,.12);
    border-radius:14px;
    padding:14px;
    background:#fafafa;
    color:#6b7280;
    font-size:.92rem;
}
@media (max-width: 992px){
    body[data-ssi-page="recordatorios.php"] .reminders-card{
        width:100%;
        min-width:0;
    }
}

/* ===== reserva_editar.php :: style block 1 ===== */
body[data-ssi-page="reserva_editar.php"]{ background:var(--wa-bg)!important; }

body[data-ssi-page="reserva_editar.php"] .reserva-wrapper-wa{
  display:flex;
  justify-content:center;
  padding:22px 10px 30px;
}

body[data-ssi-page="reserva_editar.php"] .reserva-card-wa{
  width:100%;
  max-width:980px;
  background:var(--wa-card);
  border-radius:var(--wa-radius-xl);
  box-shadow:var(--wa-shadow);
  padding:22px 26px;
  border:1px solid rgba(7,94,84,.06);
  position:relative;
  overflow:hidden;
}

body[data-ssi-page="reserva_editar.php"] .reserva-card-wa::before{
  content:"";
  position:absolute;
  top:-80px;
  left:-120px;
  width:220px;
  height:220px;
  background:radial-gradient(circle at center, rgba(37,211,102,.28), transparent 65%);
  opacity:.55;
  pointer-events:none;
}

body[data-ssi-page="reserva_editar.php"] .alert{
  border:none;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(0,0,0,.05);
}

body[data-ssi-page="reserva_editar.php"] .reserva-header-wa{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

body[data-ssi-page="reserva_editar.php"] .reserva-header-main{
  display:flex;
  align-items:center;
  gap:10px;
}

body[data-ssi-page="reserva_editar.php"] .reserva-header-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  background:var(--wa-primary);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  box-shadow:0 0 0 3px rgba(37,211,102,.25);
}

body[data-ssi-page="reserva_editar.php"] .reserva-header-title{
  margin:0;
  font-size:1.18rem;
  font-weight:700;
  color:var(--wa-primary-ink);
}

body[data-ssi-page="reserva_editar.php"] .reserva-header-sub{
  margin:0;
  font-size:.84rem;
  color:var(--wa-muted);
}

body[data-ssi-page="reserva_editar.php"] .btn-wa-back{
  border-radius:999px;
  border:1px solid #ced4da;
  background:#f5f6f7;
  color:#4d5a57;
  font-size:.84rem;
  font-weight:600;
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 14px;
  text-decoration:none;
}

body[data-ssi-page="reserva_editar.php"] .btn-wa-back:hover{ background:#e9ecef; color:#394543; }

body[data-ssi-page="reserva_editar.php"] .btn-wa-primary{
  background:var(--wa-primary);
  border:none;
  color:#fff;
  font-weight:700;
  border-radius:999px;
  padding:8px 18px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  box-shadow:0 3px 8px rgba(37,211,102,.30);
}

body[data-ssi-page="reserva_editar.php"] .btn-wa-primary:hover{
  background:var(--wa-primary-dark);
  color:#fff;
}

body[data-ssi-page="reserva_editar.php"] .btn-wa-secondary{
  background:#ece5dd;
  border:none;
  color:#3a3d40;
  font-weight:600;
  border-radius:999px;
  padding:8px 18px;
  display:inline-flex;
  align-items:center;
  gap:6px;
  text-decoration:none;
}
body[data-ssi-page="reserva_editar.php"] .btn-wa-secondary:hover{ background:#ddd1c0; color:#2d3134; }

body[data-ssi-page="reserva_editar.php"] .wa-form-reserva label{
  font-weight:700;
  color:var(--wa-primary-ink);
  font-size:.9rem;
}

body[data-ssi-page="reserva_editar.php"] .wa-form-reserva .form-control,
body[data-ssi-page="reserva_editar.php"] .wa-form-reserva .form-select,
body[data-ssi-page="reserva_editar.php"] .wa-form-reserva textarea{
  border-radius:10px;
  border:1px solid #ced4da;
  background:#fff;
  transition:all .18s ease;
}

body[data-ssi-page="reserva_editar.php"] .wa-form-reserva .form-control:focus,
body[data-ssi-page="reserva_editar.php"] .wa-form-reserva .form-select:focus,
body[data-ssi-page="reserva_editar.php"] .wa-form-reserva textarea:focus{
  border-color:var(--wa-primary);
  box-shadow:0 0 0 .15rem rgba(37,211,102,.25);
}

body[data-ssi-page="reserva_editar.php"] .input-icon-group{ position:relative; }
body[data-ssi-page="reserva_editar.php"] .input-icon-group .bi{
  position:absolute;
  left:10px;
  top:50%;
  transform:translateY(-50%);
  color:var(--wa-muted);
  z-index:2;
}
body[data-ssi-page="reserva_editar.php"] .input-icon-group input.form-control,
body[data-ssi-page="reserva_editar.php"] .input-icon-group select.form-select{
  padding-left:34px;
}

body[data-ssi-page="reserva_editar.php"] .form-group-hover{
  transition:background-color .18s ease;
  border-radius:8px;
  padding:4px 6px;
  margin:0 -4px;
}
body[data-ssi-page="reserva_editar.php"] .form-group-hover:hover{ background:var(--wa-soft); }

body[data-ssi-page="reserva_editar.php"] .reserva-hint{
  font-size:.79rem;
  color:var(--wa-muted);
}

body[data-ssi-page="reserva_editar.php"] .box-wa,
body[data-ssi-page="reserva_editar.php"] .featured-box{
  border:1px solid var(--wa-border);
  border-radius:var(--wa-radius-lg);
  background:linear-gradient(180deg, #fbfffc 0%, #ffffff 100%);
  box-shadow:var(--wa-shadow-soft);
  padding:14px;
}

body[data-ssi-page="reserva_editar.php"] .box-wa-title{
  font-size:.88rem;
  font-weight:700;
  color:var(--wa-primary-ink);
  margin-bottom:8px;
}

body[data-ssi-page="reserva_editar.php"] .box-wa-sub{
  font-size:.8rem;
  color:var(--wa-muted);
  margin-bottom:10px;
}

body[data-ssi-page="reserva_editar.php"] .featured-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
body[data-ssi-page="reserva_editar.php"] .featured-toggle-main{
  display:flex;
  align-items:center;
  gap:10px;
}
body[data-ssi-page="reserva_editar.php"] .featured-icon-badge{
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,193,7,.16);
  color:#c58a00;
  box-shadow:0 0 0 3px rgba(255,193,7,.10);
  flex:0 0 auto;
}
body[data-ssi-page="reserva_editar.php"] .featured-title{
  margin:0;
  font-size:.92rem;
  font-weight:700;
  color:var(--wa-primary-ink);
}
body[data-ssi-page="reserva_editar.php"] .featured-sub{
  margin:0;
  font-size:.8rem;
  color:var(--wa-muted);
}
body[data-ssi-page="reserva_editar.php"] .featured-switch.form-check{
  margin:0;
  display:flex;
  align-items:center;
  gap:10px;
}
body[data-ssi-page="reserva_editar.php"] .featured-switch .form-check-input{
  width:3rem;
  height:1.55rem;
  cursor:pointer;
  border-color:rgba(0,0,0,.15);
}
body[data-ssi-page="reserva_editar.php"] .featured-switch .form-check-input:checked{
  background-color:#ffc107;
  border-color:#ffc107;
}
body[data-ssi-page="reserva_editar.php"] .featured-switch .form-check-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  cursor:pointer;
  font-weight:700;
  color:#8a6700;
}
body[data-ssi-page="reserva_editar.php"] .featured-preview{
  display:none;
  margin-top:10px;
}
body[data-ssi-page="reserva_editar.php"] .featured-preview .badge{
  border-radius:999px;
  padding:.55rem .8rem;
  font-size:.82rem;
  font-weight:700;
  background:rgba(255,193,7,.14);
  color:#8a6700;
  border:1px solid rgba(255,193,7,.35);
}

body[data-ssi-page="reserva_editar.php"] .repeat-days{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:6px;
}

body[data-ssi-page="reserva_editar.php"] .day-check{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(37,211,102,.22);
  background:rgba(37,211,102,.08);
  padding:6px 10px;
  border-radius:999px;
  cursor:pointer;
  user-select:none;
  font-size:.87rem;
  color:var(--wa-primary-ink);
}
body[data-ssi-page="reserva_editar.php"] .day-check input{
  width:16px;
  height:16px;
  accent-color:var(--wa-primary);
}

body[data-ssi-page="reserva_editar.php"] .rooms-toolbar{
  display:flex;
  gap:8px;
  align-items:center;
  margin:8px 0;
  flex-wrap:wrap;
}
body[data-ssi-page="reserva_editar.php"] .rooms-toolbar .btn{
  border-radius:999px;
  font-size:.82rem;
  padding:6px 12px;
}
body[data-ssi-page="reserva_editar.php"] .rooms-toolbar .btn-outline-success{
  border-color:rgba(37,211,102,.45);
  color:var(--wa-primary-ink);
}
body[data-ssi-page="reserva_editar.php"] .rooms-toolbar .btn-outline-success:hover{
  background:rgba(37,211,102,.10);
}
body[data-ssi-page="reserva_editar.php"] .rooms-toolbar .btn-outline-secondary:hover{
  background:rgba(0,0,0,.04);
}

body[data-ssi-page="reserva_editar.php"] .rooms-checklist{
  border:1px solid var(--wa-border);
  border-radius:var(--wa-radius-lg);
  background:linear-gradient(180deg, #fbfffc 0%, #ffffff 100%);
  box-shadow:var(--wa-shadow-soft);
  padding:10px;
  max-height:230px;
  overflow:auto;
}

body[data-ssi-page="reserva_editar.php"] .room-check{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  user-select:none;
  transition:background-color .12s ease, transform .12s ease;
}
body[data-ssi-page="reserva_editar.php"] .room-check:hover{
  background:var(--wa-soft);
  transform:translateY(-1px);
}
body[data-ssi-page="reserva_editar.php"] .room-check-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}
body[data-ssi-page="reserva_editar.php"] .room-check input{
  width:18px;
  height:18px;
  accent-color:var(--wa-primary);
  flex:0 0 auto;
}
body[data-ssi-page="reserva_editar.php"] .room-check .room-name{
  font-weight:600;
  color:var(--wa-primary-ink);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:420px;
}
body[data-ssi-page="reserva_editar.php"] .room-check .room-badge{
  font-size:.78rem;
  color:var(--wa-muted);
  flex:0 0 auto;
}

body[data-ssi-page="reserva_editar.php"] .rooms-summary{
  font-size:.82rem;
  color:var(--wa-muted);
  margin-top:6px;
}
body[data-ssi-page="reserva_editar.php"] .rooms-error,
body[data-ssi-page="reserva_editar.php"] .rooms-empty{ display:none; margin-top:8px; }

body[data-ssi-page="reserva_editar.php"] .mentions-wrap{
  position:relative;
  overflow:visible;
  z-index:20;
}
body[data-ssi-page="reserva_editar.php"] .mentions-chips{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:8px;
}
body[data-ssi-page="reserva_editar.php"] .mention-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:rgba(37,211,102,.12);
  border:1px solid rgba(37,211,102,.25);
  color:var(--wa-primary-ink);
  padding:6px 10px;
  border-radius:999px;
  font-size:.85rem;
}
body[data-ssi-page="reserva_editar.php"] .mention-chip button{
  border:none;
  background:transparent;
  color:var(--wa-primary-ink);
  cursor:pointer;
  padding:0;
  line-height:1;
}
body[data-ssi-page="reserva_editar.php"] .mention-chip button:hover{ color:#0b3f37; }

body[data-ssi-page="reserva_editar.php"] .mentions-dropdown{
  position:absolute;
  top:calc(100% + 6px);
  left:0;
  right:0;
  z-index:9999;
  background:#fff;
  border:1px solid #dee2e6;
  border-radius:12px;
  box-shadow:0 10px 25px rgba(0,0,0,.12);
  max-height:260px;
  overflow:auto;
  display:none;
}
body[data-ssi-page="reserva_editar.php"] .mentions-item{
  padding:10px 12px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
body[data-ssi-page="reserva_editar.php"] .mentions-item:hover{ background:var(--wa-soft); }
body[data-ssi-page="reserva_editar.php"] .mentions-item small{ color:var(--wa-muted); font-size:.78rem; }

body[data-ssi-page="reserva_editar.php"] #durationText{
  font-size:.85rem;
  color:#555;
  margin-top:4px;
}

@media (max-width:768px){
  body[data-ssi-page="reserva_editar.php"] .reserva-card-wa{
    padding:18px 16px;
    border-radius:14px;
  }
  body[data-ssi-page="reserva_editar.php"] .reserva-header-wa{
    flex-direction:column;
    align-items:flex-start;
    gap:8px;
  }
  body[data-ssi-page="reserva_editar.php"] .room-check .room-name{ max-width:240px; }
  body[data-ssi-page="reserva_editar.php"] .featured-toggle{ align-items:flex-start; }
}

/* ===== reserva_enviar_mail_usuarios.php :: style block 1 ===== */
body[data-ssi-page="reserva_enviar_mail_usuarios.php"]{
  background: #ECE5DD !important;
}

body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .wa-reserva-wrapper{
  max-width: 720px !important;
  margin: 20px auto;
}

body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .wa-card{
  background: #ffffff;
  border-radius: 16px;
  border: none;
  padding: 22px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.10);
  transition: all .2s ease;
}
body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .wa-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 6px 16px rgba(0,0,0,0.18);
}

body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .wa-check{
  width: 18px;
  height: 18px;
  border-radius: 4px;
  border: 2px solid #25D366;
  appearance: none;
  cursor: pointer;
  position: relative;
  transition: background .18s ease, border .18s ease;
}
body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .wa-check:checked{
  background: #25D366;
  border-color: #128C7E;
}
body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .wa-check:checked::after{
  content: "✓";
  color: white;
  font-size: 13px;
  position: absolute;
  top: -2px;
  left: 2px;
}

body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .user-item{
  padding: 6px 4px;
  border-radius: 8px;
  transition: background .15s ease;
}
body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .user-item:hover{
  background: #f0f0f0;
}

body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .user-list{
  max-height: 320px;
  overflow-y: auto;
  padding-right: 6px;
}
body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .user-list::-webkit-scrollbar{
  width: 6px;
}
body[data-ssi-page="reserva_enviar_mail_usuarios.php"] .user-list::-webkit-scrollbar-thumb{
  background: #cccccc;
  border-radius: 6px;
}

/* ===== reserva_nueva.php :: style block 1 ===== */
body[data-ssi-page="reserva_nueva.php"] .reserva-wrapper-wa{ display:flex; justify-content:center; padding:20px 10px 30px; }
body[data-ssi-page="reserva_nueva.php"] .reserva-card-wa{
  width:100%; max-width:780px; background:var(--ssi-card-bg); border-radius:var(--ssi-radius-xl);
  box-shadow:var(--ssi-shadow); padding:22px 26px; animation: ssi-reserva-nueva-reservaCardIn .35s ease-out;
  transform-origin:top center; transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
  position:relative; overflow:hidden; border:1px solid rgba(7,94,84,.06);
}
body[data-ssi-page="reserva_nueva.php"] .reserva-card-wa::before{
  content:""; position:absolute; top:-80px; left:-120px; width:220px; height:220px;
  background:radial-gradient(circle at center, rgba(37,211,102,.35), transparent 65%);
  opacity:.5; pointer-events:none;
}
body[data-ssi-page="reserva_nueva.php"] .reserva-card-wa:hover{ transform:translateY(-2px); box-shadow:0 10px 25px rgba(0,0,0,.18); background-color:#fcfdfc; }
@keyframes ssi-reserva-nueva-reservaCardIn{ from{opacity:0; transform:translateY(8px) scale(.98);} to{opacity:1; transform:translateY(0) scale(1);} }

body[data-ssi-page="reserva_nueva.php"] .alert{ border-radius:14px; border:none; box-shadow:0 4px 12px rgba(0,0,0,.05); }
body[data-ssi-page="reserva_nueva.php"] .reserva-header-wa{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:18px; }
body[data-ssi-page="reserva_nueva.php"] .reserva-header-main{ display:flex; align-items:center; gap:10px; }
body[data-ssi-page="reserva_nueva.php"] .reserva-header-icon{
  width:38px; height:38px; border-radius:50%; background:var(--ssi-primary); display:flex; align-items:center; justify-content:center;
  color:#fff; box-shadow:0 0 0 3px rgba(37,211,102,.35);
}
body[data-ssi-page="reserva_nueva.php"] .reserva-header-icon i{ font-size:1.3rem; }
body[data-ssi-page="reserva_nueva.php"] .reserva-header-title{ margin:0; font-size:1.25rem; font-weight:700; color:var(--ssi-primary-ink); }
body[data-ssi-page="reserva_nueva.php"] .reserva-header-sub{ margin:0; font-size:.85rem; color:var(--ssi-muted); }

body[data-ssi-page="reserva_nueva.php"] .btn-wa-back{
  border-radius:999px; border:1px solid #ced4da; background:#f5f6f7; font-size:.85rem; font-weight:600;
  display:inline-flex; align-items:center; gap:6px; padding:6px 14px;
}
body[data-ssi-page="reserva_nueva.php"] .btn-wa-back:hover{ background:#e9ecef; }
body[data-ssi-page="reserva_nueva.php"] .btn-wa-primary{
  background-color:var(--ssi-primary); border:none; color:#fff; font-weight:700; border-radius:999px; padding:8px 20px;
  display:inline-flex; align-items:center; gap:6px; box-shadow:0 3px 8px rgba(37,211,102,.35);
  transition:transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}
body[data-ssi-page="reserva_nueva.php"] .btn-wa-primary:hover{ background-color:var(--ssi-primary-dark); transform:translateY(-1px); box-shadow:0 5px 13px rgba(37,211,102,.4); }
body[data-ssi-page="reserva_nueva.php"] .btn-wa-secondary{
  background-color:#ece5dd; border:none; color:#3a3d40; font-weight:600; border-radius:999px; padding:8px 18px;
  display:inline-flex; align-items:center; gap:6px;
}
body[data-ssi-page="reserva_nueva.php"] .btn-wa-secondary:hover{ background-color:#ddd1c0; }

body[data-ssi-page="reserva_nueva.php"] .wa-form-reserva label{ font-weight:700; color:var(--ssi-primary-ink); font-size:.92rem; }
body[data-ssi-page="reserva_nueva.php"] .wa-form-reserva .form-control,
body[data-ssi-page="reserva_nueva.php"] .wa-form-reserva .form-select,
body[data-ssi-page="reserva_nueva.php"] .wa-form-reserva textarea{
  border-radius:10px; border:1px solid #ced4da; transition:all .18s ease; background-color:#fff;
}
body[data-ssi-page="reserva_nueva.php"] .wa-form-reserva .form-control:focus,
body[data-ssi-page="reserva_nueva.php"] .wa-form-reserva .form-select:focus,
body[data-ssi-page="reserva_nueva.php"] .wa-form-reserva textarea:focus{
  border-color:var(--ssi-primary); box-shadow:0 0 0 .15rem rgba(37,211,102,.25);
}
body[data-ssi-page="reserva_nueva.php"] .input-icon-group{ position:relative; }
body[data-ssi-page="reserva_nueva.php"] .input-icon-group .bi{ position:absolute; left:10px; top:50%; transform:translateY(-50%); color:var(--ssi-muted); z-index:2; }
body[data-ssi-page="reserva_nueva.php"] .input-icon-group input.form-control,
body[data-ssi-page="reserva_nueva.php"] .input-icon-group select.form-select{ padding-left:34px; }

body[data-ssi-page="reserva_nueva.php"] #durationText{ font-size:.85rem; color:#555; margin-top:4px; }
body[data-ssi-page="reserva_nueva.php"] .reserva-hint{ font-size:.8rem; color:var(--ssi-muted); }
body[data-ssi-page="reserva_nueva.php"] .wa-form-reserva .form-group-hover{ transition:background-color .18s ease; border-radius:8px; padding:4px 6px; margin:0 -4px; }
body[data-ssi-page="reserva_nueva.php"] .wa-form-reserva .form-group-hover:hover{ background-color:var(--ssi-bg-soft); }

body[data-ssi-page="reserva_nueva.php"] .first-occurrence-box,
body[data-ssi-page="reserva_nueva.php"] .repeat-box,
body[data-ssi-page="reserva_nueva.php"] .rooms-checklist,
body[data-ssi-page="reserva_nueva.php"] .featured-box{
  border:1px solid var(--ssi-card-border); border-radius:var(--ssi-radius-lg); background:linear-gradient(180deg, #fbfffc 0%, #ffffff 100%);
  box-shadow:var(--ssi-shadow-soft);
}
body[data-ssi-page="reserva_nueva.php"] .first-occurrence-box{ padding:14px; }
body[data-ssi-page="reserva_nueva.php"] .first-occurrence-title{ font-size:.88rem; font-weight:700; color:var(--ssi-primary-ink); margin-bottom:8px; }
body[data-ssi-page="reserva_nueva.php"] .first-occurrence-sub{ font-size:.8rem; color:var(--ssi-muted); margin-bottom:10px; }

body[data-ssi-page="reserva_nueva.php"] .featured-box{
  padding:12px 14px;
}
body[data-ssi-page="reserva_nueva.php"] .featured-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
body[data-ssi-page="reserva_nueva.php"] .featured-toggle-main{
  display:flex;
  align-items:center;
  gap:10px;
}
body[data-ssi-page="reserva_nueva.php"] .featured-icon-badge{
  width:34px;
  height:34px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,193,7,.16);
  color:#c58a00;
  box-shadow:0 0 0 3px rgba(255,193,7,.10);
  flex:0 0 auto;
}
body[data-ssi-page="reserva_nueva.php"] .featured-title{
  margin:0;
  font-size:.92rem;
  font-weight:700;
  color:var(--ssi-primary-ink);
}
body[data-ssi-page="reserva_nueva.php"] .featured-sub{
  margin:0;
  font-size:.8rem;
  color:var(--ssi-muted);
}
body[data-ssi-page="reserva_nueva.php"] .featured-switch.form-check{
  margin:0;
  display:flex;
  align-items:center;
  gap:10px;
}
body[data-ssi-page="reserva_nueva.php"] .featured-switch .form-check-input{
  width:3rem;
  height:1.55rem;
  cursor:pointer;
  border-color:rgba(0,0,0,.15);
}
body[data-ssi-page="reserva_nueva.php"] .featured-switch .form-check-input:checked{
  background-color:#ffc107;
  border-color:#ffc107;
}
body[data-ssi-page="reserva_nueva.php"] .featured-switch .form-check-label{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  cursor:pointer;
  font-weight:700;
  color:#8a6700;
}
body[data-ssi-page="reserva_nueva.php"] .featured-preview{
  display:none;
  margin-top:10px;
}
body[data-ssi-page="reserva_nueva.php"] .featured-preview .badge{
  border-radius:999px;
  padding:.55rem .8rem;
  font-size:.82rem;
  font-weight:700;
  background:rgba(255,193,7,.14);
  color:#8a6700;
  border:1px solid rgba(255,193,7,.35);
}

body[data-ssi-page="reserva_nueva.php"] .rooms-toolbar{ display:flex; gap:8px; align-items:center; margin:8px 0; flex-wrap:wrap; }
body[data-ssi-page="reserva_nueva.php"] .rooms-toolbar .btn{ border-radius:999px; font-size:.82rem; padding:6px 12px; }
body[data-ssi-page="reserva_nueva.php"] .rooms-toolbar .btn-outline-success{ border-color:rgba(37,211,102,.45); color:var(--ssi-primary-ink); }
body[data-ssi-page="reserva_nueva.php"] .rooms-toolbar .btn-outline-success:hover{ background:rgba(37,211,102,.10); }
body[data-ssi-page="reserva_nueva.php"] .rooms-toolbar .btn-outline-secondary{ border-color:rgba(0,0,0,.15); }
body[data-ssi-page="reserva_nueva.php"] .rooms-toolbar .btn-outline-secondary:hover{ background:rgba(0,0,0,.04); }
body[data-ssi-page="reserva_nueva.php"] .rooms-summary{ font-size:.82rem; color:var(--ssi-muted); margin-top:6px; }
body[data-ssi-page="reserva_nueva.php"] .rooms-checklist{ padding:10px; max-height:220px; overflow:auto; }
body[data-ssi-page="reserva_nueva.php"] .room-check{
  display:flex; align-items:center; justify-content:space-between; gap:10px; padding:10px 12px; border-radius:12px;
  cursor:pointer; user-select:none; transition:background-color .12s ease, transform .12s ease;
}
body[data-ssi-page="reserva_nueva.php"] .room-check:hover{ background:var(--ssi-bg-soft); transform:translateY(-1px); }
body[data-ssi-page="reserva_nueva.php"] .room-check-left{ display:flex; align-items:center; gap:10px; min-width:0; }
body[data-ssi-page="reserva_nueva.php"] .room-check input{ width:18px; height:18px; accent-color:var(--ssi-primary); flex:0 0 auto; }
body[data-ssi-page="reserva_nueva.php"] .room-check .room-name{
  font-weight:600; color:var(--ssi-primary-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:420px;
}
body[data-ssi-page="reserva_nueva.php"] .room-check .room-badge{ font-size:.78rem; color:var(--ssi-muted); flex:0 0 auto; }
body[data-ssi-page="reserva_nueva.php"] .rooms-error,
body[data-ssi-page="reserva_nueva.php"] .rooms-empty{ display:none; margin-top:8px; }

body[data-ssi-page="reserva_nueva.php"] .mentions-wrap{ position:relative; overflow:visible; z-index:20; }
body[data-ssi-page="reserva_nueva.php"] .mentions-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; }
body[data-ssi-page="reserva_nueva.php"] .mention-chip{
  display:inline-flex; align-items:center; gap:8px; background:rgba(37,211,102,.12); border:1px solid rgba(37,211,102,.25);
  color:var(--ssi-primary-ink); padding:6px 10px; border-radius:999px; font-size:.85rem;
}
body[data-ssi-page="reserva_nueva.php"] .mention-chip button{ border:none; background:transparent; color:var(--ssi-primary-ink); cursor:pointer; padding:0; line-height:1; }
body[data-ssi-page="reserva_nueva.php"] .mention-chip button:hover{ color:#0b3f37; }
body[data-ssi-page="reserva_nueva.php"] .mentions-dropdown{
  position:absolute; top:calc(100% + 6px); left:0; right:0; z-index:9999; background:#fff; border:1px solid #dee2e6;
  border-radius:12px; box-shadow:0 10px 25px rgba(0,0,0,.12); max-height:260px; overflow:auto; display:none;
}
body[data-ssi-page="reserva_nueva.php"] .mentions-item{ padding:10px 12px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:10px; }
body[data-ssi-page="reserva_nueva.php"] .mentions-item:hover{ background:var(--ssi-bg-soft); }
body[data-ssi-page="reserva_nueva.php"] .mentions-item small{ color:var(--ssi-muted); font-size:.78rem; }

body[data-ssi-page="reserva_nueva.php"] .repeat-box{ padding:14px 14px 12px; }
body[data-ssi-page="reserva_nueva.php"] .repeat-days{ display:flex; flex-wrap:wrap; gap:10px; margin-top:6px; }
body[data-ssi-page="reserva_nueva.php"] .day-check{
  display:inline-flex; align-items:center; gap:6px; border:1px solid rgba(37,211,102,.22); background:rgba(37,211,102,.08);
  padding:6px 10px; border-radius:999px; user-select:none; cursor:pointer;
  transition:transform .12s ease, background-color .12s ease, border-color .12s ease; font-size:.88rem; color:var(--ssi-primary-ink);
}
body[data-ssi-page="reserva_nueva.php"] .day-check:hover{ transform:translateY(-1px); border-color:rgba(37,211,102,.35); background:rgba(37,211,102,.12); }
body[data-ssi-page="reserva_nueva.php"] .day-check input{ width:16px; height:16px; accent-color:var(--ssi-primary); }
body[data-ssi-page="reserva_nueva.php"] .repeat-summary{ margin-top:10px; display:none; }

@media (max-width:768px){
  body[data-ssi-page="reserva_nueva.php"] .reserva-card-wa{ padding:18px 16px; border-radius:14px; }
  body[data-ssi-page="reserva_nueva.php"] .reserva-header-wa{ flex-direction:column; align-items:flex-start; gap:8px; }
  body[data-ssi-page="reserva_nueva.php"] .room-check .room-name{ max-width:240px; }
  body[data-ssi-page="reserva_nueva.php"] .featured-toggle{ align-items:flex-start; }
}

/* ===== reserva_ver.php :: style block 1 ===== */
body[data-ssi-page="reserva_ver.php"]{ background:var(--ssi-bg) !important; }
body[data-ssi-page="reserva_ver.php"] .wa-reserva-wrapper{ max-width:980px; margin:20px auto 30px; }
body[data-ssi-page="reserva_ver.php"] .alert{ border-radius:14px; border:none; box-shadow:0 4px 12px rgba(0,0,0,.05); }
body[data-ssi-page="reserva_ver.php"] .wa-card{
  background:var(--ssi-card-bg); border-radius:16px; border:1px solid rgba(7,94,84,.06);
  box-shadow:var(--ssi-shadow-soft); transition:transform .18s ease, box-shadow .18s ease;
}
body[data-ssi-page="reserva_ver.php"] .wa-card:hover{ transform:translateY(-3px); box-shadow:var(--ssi-shadow); }
body[data-ssi-page="reserva_ver.php"] .wa-title-box{ margin-bottom:15px; }
body[data-ssi-page="reserva_ver.php"] .summary-grid-card,
body[data-ssi-page="reserva_ver.php"] .series-box{
  border:1px solid var(--ssi-card-border); border-radius:14px; padding:16px;
  background:linear-gradient(180deg, #fbfffc 0%, #ffffff 100%); box-shadow:0 4px 12px rgba(0,0,0,.05);
}
body[data-ssi-page="reserva_ver.php"] .summary-grid-card.summary-grid-card-featured{
  border-color:rgba(255,193,7,.35);
  box-shadow:
    0 0 0 1px rgba(255,193,7,.16) inset,
    0 4px 12px rgba(0,0,0,.05),
    0 8px 18px rgba(255,193,7,.12);
}
body[data-ssi-page="reserva_ver.php"] .summary-grid-title{ font-size:.95rem; font-weight:700; color:var(--ssi-primary-ink); margin-bottom:10px; }
body[data-ssi-page="reserva_ver.php"] .summary-item{ padding:10px 12px; background:#fff; border:1px solid #eef2ef; border-radius:12px; height:100%; }
body[data-ssi-page="reserva_ver.php"] .summary-label{ font-size:.78rem; color:var(--ssi-muted); margin-bottom:4px; }
body[data-ssi-page="reserva_ver.php"] .summary-value{ font-size:.95rem; color:#212529; font-weight:600; }
body[data-ssi-page="reserva_ver.php"] .summary-subvalue{ font-size:.82rem; color:var(--ssi-muted); margin-top:3px; }
body[data-ssi-page="reserva_ver.php"] .series-badge-pill{
  display:inline-flex; align-items:center; gap:6px; background:rgba(37,211,102,.12); border:1px solid rgba(37,211,102,.25);
  color:var(--ssi-primary-ink); padding:6px 10px; border-radius:999px; font-size:.84rem; font-weight:600;
}
body[data-ssi-page="reserva_ver.php"] .featured-pill{
  display:inline-flex; align-items:center; gap:6px; background:rgba(255,193,7,.14); border:1px solid rgba(255,193,7,.35);
  color:#8a6700; padding:6px 10px; border-radius:999px; font-size:.84rem; font-weight:700;
}
body[data-ssi-page="reserva_ver.php"] .title-featured-row{
  display:flex; align-items:center; gap:.55rem; flex-wrap:wrap;
}
body[data-ssi-page="reserva_ver.php"] .title-featured-star{
  color:#ffc107;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));
}
body[data-ssi-page="reserva_ver.php"] .chat-container{ background:#e5ddd5; border-radius:12px; padding:15px; max-height:450px; overflow-y:auto; display:flex; flex-direction:column; }
body[data-ssi-page="reserva_ver.php"] .chat-bubble{ max-width:80%; padding:10px 14px; border-radius:15px; margin-bottom:10px; word-wrap:break-word; line-height:1.4; animation: ssi-reserva-ver-fadeIn .35s ease; }
body[data-ssi-page="reserva_ver.php"] .chat-right{ background:#dcf8c6; align-self:flex-end; border-bottom-right-radius:0; margin-left:auto; }
body[data-ssi-page="reserva_ver.php"] .chat-left{ background:#fff; border-bottom-left-radius:0; }
body[data-ssi-page="reserva_ver.php"] .meta{ font-size:.8em; color:#666; margin-top:4px; }
@keyframes ssi-reserva-ver-fadeIn{ from{opacity:0;transform:translateY(5px);} to{opacity:1;transform:translateY(0);} }
body[data-ssi-page="reserva_ver.php"] .typing-indicator{ display:none; font-size:.9rem; color:#5f6368; margin-top:6px; padding-left:4px; }
body[data-ssi-page="reserva_ver.php"] .typing-indicator .dots::after{ content:'...'; animation: ssi-reserva-ver-blink 1.4s infinite steps(1,end); }
@keyframes ssi-reserva-ver-blink{ 0%,100%{content:'   ';} 33%{content:'.';} 66%{content:'..';} }
body[data-ssi-page="reserva_ver.php"] .chat-form{ background:#f8f9fa; border-top:1px solid #ddd; padding-top:10px; border-radius:12px; }
body[data-ssi-page="reserva_ver.php"] .thumb-img{ max-width:70px; max-height:70px; object-fit:cover; border-radius:.5rem; }
body[data-ssi-page="reserva_ver.php"] .btn-rounded{ border-radius:999px; }
body[data-ssi-page="reserva_ver.php"] .mentions-line{ display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
body[data-ssi-page="reserva_ver.php"] .mention-chip{
  display:inline-flex; align-items:center; gap:6px; background:rgba(37,211,102,.12); border:1px solid rgba(37,211,102,.25);
  color:var(--ssi-primary-ink); padding:5px 10px; border-radius:999px; font-size:.85rem;
}
body[data-ssi-page="reserva_ver.php"] .mention-chip i{ font-size:.9rem; }
body[data-ssi-page="reserva_ver.php"] .month-day-title{ font-weight:600; margin-bottom:.35rem; }

@media print{
  body[data-ssi-page="reserva_ver.php"]{
    background:#fff !important;
  }
  body[data-ssi-page="reserva_ver.php"] *{
    visibility:hidden !important;
  }
  body[data-ssi-page="reserva_ver.php"] .print-reserva,
body[data-ssi-page="reserva_ver.php"] .print-reserva *{
    visibility:visible !important;
  }
  body[data-ssi-page="reserva_ver.php"] .print-reserva{
    position:absolute;
    left:0;
    top:0;
    width:100%;
    margin:0 !important;
    padding:0 !important;
  }
  body[data-ssi-page="reserva_ver.php"] .no-print{
    display:none !important;
  }
  body[data-ssi-page="reserva_ver.php"] .wa-card,
body[data-ssi-page="reserva_ver.php"] .summary-grid-card,
body[data-ssi-page="reserva_ver.php"] .series-box,
body[data-ssi-page="reserva_ver.php"] .summary-item{
    box-shadow:none !important;
    border:1px solid #ddd !important;
    background:#fff !important;
  }
  body[data-ssi-page="reserva_ver.php"] .container,
body[data-ssi-page="reserva_ver.php"] .wa-reserva-wrapper{
    max-width:100% !important;
    width:100% !important;
    margin:0 !important;
    padding:0 !important;
  }
}

/* ===== reservas_calendario.php :: style block 1 ===== */
body[data-ssi-page="reservas_calendario.php"]{
    background:#ECE5DD !important;
}

body[data-ssi-page="reservas_calendario.php"] .calendar-wrapper{
    max-width:1350px;
    margin:20px auto;
}
body[data-ssi-page="reservas_calendario.php"] .calendar-card{
    border-radius:14px;
    border:1px solid #ddd;
    box-shadow:0 4px 16px rgba(0,0,0,.12);
    overflow:hidden;
}
body[data-ssi-page="reservas_calendario.php"] .calendar-title-strip{
    height:4px;
    border-radius:999px;
    margin-top:.3rem;
    opacity:.9;
    background:var(--calendar-title-strip-bg, transparent);
}
body[data-ssi-page="reservas_calendario.php"] .calendar-main-title{
    font-weight:700;
    font-size:1.25rem;
    color:#075E54;
    display:flex;
    align-items:center;
    gap:.45rem;
}
body[data-ssi-page="reservas_calendario.php"] .calendar-subtitle{
    font-size:.86rem;
    opacity:.82;
}

body[data-ssi-page="reservas_calendario.php"] .calendar-table{
    table-layout:fixed;
    width:100%;
    margin-bottom:0;
}
body[data-ssi-page="reservas_calendario.php"] .calendar-table th,
body[data-ssi-page="reservas_calendario.php"] .calendar-table td{
    border:0 !important;
}
body[data-ssi-page="reservas_calendario.php"] .calendar-table thead th{
    font-size:.9rem;
    padding:.6rem .35rem;
}
body[data-ssi-page="reservas_calendario.php"] .calendar-table td{
    vertical-align:top;
    padding:.16rem;
}

body[data-ssi-page="reservas_calendario.php"] .day-inner{
    background:rgba(255,255,255,.9);
    border-radius:12px;
    padding:.35rem .4rem .42rem;
    min-height:210px;
    display:flex;
    flex-direction:column;
    box-shadow:0 1px 3px rgba(0,0,0,.06);
    height:100%;
    transition:all .15s ease;
}
body[data-ssi-page="reservas_calendario.php"] .calendar-day-cell{
    cursor:pointer;
}
body[data-ssi-page="reservas_calendario.php"] .calendar-day-cell:hover .day-inner{
    box-shadow:0 4px 12px rgba(0,0,0,.10);
    transform:translateY(-1px);
}

body[data-ssi-page="reservas_calendario.php"] .weekend{
    background:rgba(33,37,41,.03);
    border-radius:12px;
}
body[data-ssi-page="reservas_calendario.php"] .is-today .day-inner{
    outline:3px solid rgba(13,110,253,.35);
}

body[data-ssi-page="reservas_calendario.php"] .day-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:.4rem;
    margin-bottom:.25rem;
}
body[data-ssi-page="reservas_calendario.php"] .day-number{
    font-weight:700;
    color:#075E54;
    font-size:.95rem;
    line-height:1;
}
body[data-ssi-page="reservas_calendario.php"] .day-header-right{
    display:flex;
    align-items:center;
    gap:.35rem;
    min-width:0;
    flex:1;
    justify-content:flex-end;
}
body[data-ssi-page="reservas_calendario.php"] .day-color-pill{
    height:4px;
    border-radius:999px;
    flex:1;
    min-width:18px;
    background:rgba(0,0,0,.05);
    overflow:hidden;
}
body[data-ssi-page="reservas_calendario.php"] .day-color-pill-fill{
    height:100%;
    border-radius:inherit;
    background:var(--day-color-pill-bg, transparent);
}
body[data-ssi-page="reservas_calendario.php"] .day-add-btn{
    width:24px;
    height:24px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:999px;
    background:rgba(7,94,84,.10);
    border:1px solid rgba(7,94,84,.18);
    color:#075E54;
    text-decoration:none;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
    opacity:0;
    transform:scale(.92);
    transition:all .15s ease;
    flex:0 0 auto;
}
body[data-ssi-page="reservas_calendario.php"] .calendar-day-cell:hover .day-add-btn{
    opacity:1;
    transform:scale(1);
}
body[data-ssi-page="reservas_calendario.php"] .day-add-btn:hover{
    background:rgba(7,94,84,.16);
    box-shadow:0 3px 12px rgba(0,0,0,.12);
}
body[data-ssi-page="reservas_calendario.php"] .day-add-btn i{
    font-size:.9rem;
    line-height:1;
}

body[data-ssi-page="reservas_calendario.php"] .day-events{
    flex:1;
    overflow:visible;
    padding-right:0;
}

body[data-ssi-page="reservas_calendario.php"] .event-pill{
    position:relative;
    display:block;
    width:100%;
    margin:.30rem 0 .18rem;
    padding:.50rem .58rem .52rem;
    border-radius:12px;
    text-decoration:none !important;
    overflow:hidden;
    box-shadow:0 2px 8px rgba(0,0,0,.16);
    transition:all .16s ease;
    border:1px solid rgba(255,255,255,.18);
    border-left:4px solid rgba(0,0,0,.15);
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
    outline:none;
    background-clip:padding-box;
    background:var(--event-pill-bg, #198754);
    color:var(--event-pill-fg, #fff);
}
body[data-ssi-page="reservas_calendario.php"] .event-pill:hover{
    transform:translateY(-1px);
    box-shadow:0 6px 16px rgba(0,0,0,.24);
    text-decoration:none;
}
body[data-ssi-page="reservas_calendario.php"] .event-pill:focus{
    outline:none;
    box-shadow:0 0 0 3px rgba(13,110,253,.20), 0 6px 16px rgba(0,0,0,.24);
}
body[data-ssi-page="reservas_calendario.php"] .event-pill.proximo{
    box-shadow:0 0 0 2px rgba(13,110,253,.28), 0 3px 10px rgba(13,110,253,.18);
}
body[data-ssi-page="reservas_calendario.php"] .event-pill.encurso{
    box-shadow:0 0 0 2px rgba(25,135,84,.30), 0 4px 14px rgba(25,135,84,.22);
}
body[data-ssi-page="reservas_calendario.php"] .event-pill.finalizado{
    opacity:.92;
    filter:saturate(.15) grayscale(.25);
    border-color:rgba(255,255,255,.35);
    border-left-color:rgba(55,65,81,.25);
    box-shadow:0 2px 8px rgba(107,114,128,.20);
}
body[data-ssi-page="reservas_calendario.php"] .event-pill.finalizado:hover{
    box-shadow:0 5px 14px rgba(107,114,128,.24);
}
body[data-ssi-page="reservas_calendario.php"] .event-pill.featured{
    border:2px solid rgba(255,193,7,.95);
    border-left-width:4px;
    box-shadow:
        0 0 0 1px rgba(255,193,7,.22) inset,
        0 4px 12px rgba(255,193,7,.18),
        0 2px 8px rgba(0,0,0,.16);
}
body[data-ssi-page="reservas_calendario.php"] .event-pill.featured:hover{
    box-shadow:
        0 0 0 1px rgba(255,193,7,.28) inset,
        0 8px 20px rgba(255,193,7,.22),
        0 6px 16px rgba(0,0,0,.24);
}
body[data-ssi-page="reservas_calendario.php"] .event-pill.featured .event-pill-title{
    font-weight:900;
}

body[data-ssi-page="reservas_calendario.php"] .event-pill-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:.35rem;
    min-width:0;
}
body[data-ssi-page="reservas_calendario.php"] .event-pill-left{
    min-width:0;
    flex:1 1 auto;
}
body[data-ssi-page="reservas_calendario.php"] .event-pill-title{
    font-size:.78rem;
    font-weight:800;
    line-height:1.10;
    margin:0 0 3px 0;
    display:block;
    overflow-wrap:anywhere;
    word-break:break-word;
    white-space:normal;
}
body[data-ssi-page="reservas_calendario.php"] .event-pill-title-row{
    display:flex;
    align-items:flex-start;
    gap:.30rem;
    min-width:0;
}
body[data-ssi-page="reservas_calendario.php"] .event-pill-star{
    flex:0 0 auto;
    font-size:.74rem;
    line-height:1.1;
    color:#ffc107;
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
    margin-top:.02rem;
}
body[data-ssi-page="reservas_calendario.php"] .event-pill-title-text{
    min-width:0;
    flex:1 1 auto;
    overflow-wrap:anywhere;
    word-break:break-word;
    white-space:normal;
}
body[data-ssi-page="reservas_calendario.php"] .event-pill-time{
    font-size:.68rem;
    line-height:1.12;
    opacity:.97;
    white-space:normal;
}
body[data-ssi-page="reservas_calendario.php"] .event-pill-badge{
    flex:0 0 auto;
    font-size:.62rem;
    line-height:1;
    padding:.20rem .36rem;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.18);
    backdrop-filter:blur(4px);
    font-weight:700;
}
body[data-ssi-page="reservas_calendario.php"] .estado-texto{
    font-size:.71rem;
    margin-top:1px;
    margin-bottom:4px;
    padding-left:2px;
}
body[data-ssi-page="reservas_calendario.php"] .estado-texto.proximo{ color:var(--ssi-green-dark); }
body[data-ssi-page="reservas_calendario.php"] .estado-texto.finalizado{ color:var(--ssi-muted); }
body[data-ssi-page="reservas_calendario.php"] .estado-texto.encurso{ color:var(--ssi-info); }

/* =============================
   MODAL DETALLE RESERVA
   ============================= */
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-overlay-global{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.46);
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
    z-index:99999;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-overlay-global.is-open{
    display:flex;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-global{
    width:min(880px, 100%);
    max-height:90vh;
    overflow:auto;
    background:#fff;
    border-radius:18px;
    box-shadow:0 20px 60px rgba(0,0,0,.28);
    animation: ssi-reservas-calendario-modalIn .16s ease;
}
@keyframes ssi-reservas-calendario-modalIn{
    from{ transform:translateY(8px) scale(.985); opacity:0; }
    to{ transform:translateY(0) scale(1); opacity:1; }
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px 18px 10px;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-titlebar{
    font-weight:800;
    color:#075E54;
    font-size:1.06rem;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-close{
    border:0;
    background:#f1f3f5;
    width:38px;
    height:38px;
    border-radius:999px;
    cursor:pointer;
    font-size:1.05rem;
    line-height:1;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-close:hover{
    background:#e9ecef;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-body{
    padding:0 18px 18px;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-top{
    border-radius:16px;
    padding:1rem;
    color:#fff;
    box-shadow:0 8px 20px rgba(0,0,0,.12);
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-main-title{
    font-size:1.08rem;
    font-weight:800;
    line-height:1.2;
    margin-bottom:.35rem;
    word-break:break-word;
    display:flex;
    align-items:flex-start;
    gap:.40rem;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-main-title .featured-star{
    color:#ffc107;
    filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
    flex:0 0 auto;
    margin-top:.05rem;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-time{
    font-size:.93rem;
    opacity:.96;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-badge{
    display:inline-flex;
    align-items:center;
    gap:.35rem;
    padding:.35rem .65rem;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.20);
    font-size:.78rem;
    font-weight:700;
    margin-top:.65rem;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-detail-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:.85rem;
    margin-top:1rem;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-detail-card{
    background:#f8f9fa;
    border:1px solid rgba(0,0,0,.06);
    border-radius:14px;
    padding:.85rem .9rem;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-detail-label{
    display:block;
    font-size:.72rem;
    text-transform:uppercase;
    letter-spacing:.03em;
    color:#6c757d;
    margin-bottom:.20rem;
    font-weight:700;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-detail-value{
    color:#1f2937;
    font-size:.95rem;
    line-height:1.35;
    word-break:break-word;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-detail-full{
    grid-column:1 / -1;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-detail-desc{
    white-space:pre-wrap;
}
body[data-ssi-page="reservas_calendario.php"] .reserva-modal-footer{
    display:flex;
    justify-content:space-between;
    gap:.75rem;
    padding:0 18px 18px;
    flex-wrap:wrap;
}
body[data-ssi-page="reservas_calendario.php"] .btn-modal-ir,
body[data-ssi-page="reservas_calendario.php"] .btn-modal-whatsapp,
body[data-ssi-page="reservas_calendario.php"] .btn-modal-cerrar{
    border:0;
    border-radius:12px;
    padding:.70rem 1rem;
    font-weight:700;
    cursor:pointer;
    text-decoration:none !important;
    display:inline-flex;
    align-items:center;
    gap:.45rem;
}
body[data-ssi-page="reservas_calendario.php"] .btn-modal-ir{
    background:#0d6efd;
    color:#fff !important;
    box-shadow:0 6px 16px rgba(13,110,253,.22);
}
body[data-ssi-page="reservas_calendario.php"] .btn-modal-ir:hover{
    filter:brightness(.98);
    color:#fff !important;
}
body[data-ssi-page="reservas_calendario.php"] .btn-modal-whatsapp{
    background:#25D366;
    color:#fff !important;
    box-shadow:0 6px 16px rgba(37,211,102,.25);
}
body[data-ssi-page="reservas_calendario.php"] .btn-modal-whatsapp:hover{
    filter:brightness(.97);
    color:#fff !important;
}
body[data-ssi-page="reservas_calendario.php"] .btn-modal-cerrar{
    background:#128C7E;
    color:#fff;
    box-shadow:0 6px 16px rgba(18,140,126,.25);
}
body[data-ssi-page="reservas_calendario.php"] .btn-modal-cerrar:hover{
    filter:brightness(.97);
}

@media (max-width: 991px){
    body[data-ssi-page="reservas_calendario.php"] .calendar-table th,
body[data-ssi-page="reservas_calendario.php"] .calendar-table td{
        font-size:.85rem;
    }
    body[data-ssi-page="reservas_calendario.php"] .day-inner{
        min-height:160px;
    }
    body[data-ssi-page="reservas_calendario.php"] .event-pill-title{
        font-size:.70rem;
    }
    body[data-ssi-page="reservas_calendario.php"] .event-pill-time{
        font-size:.62rem;
    }

    body[data-ssi-page="reservas_calendario.php"] .reserva-detail-grid{
        grid-template-columns:1fr;
    }
    body[data-ssi-page="reservas_calendario.php"] .reserva-modal-footer{
        flex-direction:column;
    }
    body[data-ssi-page="reservas_calendario.php"] .btn-modal-ir,
body[data-ssi-page="reservas_calendario.php"] .btn-modal-whatsapp,
body[data-ssi-page="reservas_calendario.php"] .btn-modal-cerrar{
        width:100%;
        justify-content:center;
    }
}

/* ===== reservas_semana_usuario.php :: style block 1 ===== */
body[data-ssi-page="reservas_semana_usuario.php"] .week-header{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: .75rem;
    flex-wrap: wrap;
    margin-bottom: .75rem;
}
body[data-ssi-page="reservas_semana_usuario.php"] .week-col-dia{
    border-radius: 14px;
    background: #fff;
    border: 1px solid #DDD;
    padding: .75rem 1rem;
    margin-bottom: 1.2rem;
    box-shadow: 0 2px 8px rgba(0,0,0,.06);
}
body[data-ssi-page="reservas_semana_usuario.php"] .week-dia-title{
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: .35rem;
    color: #128C7E;
}
body[data-ssi-page="reservas_semana_usuario.php"] .week-sala-title{
    font-size: .85rem;
    font-weight: 700;
    margin-top: .35rem;
    margin-bottom: .25rem;
    color: #333;
}
body[data-ssi-page="reservas_semana_usuario.php"] .event-pill-agenda{
    display: block;
    padding: .35rem .65rem;
    border-radius: 999px;
    font-size: .78rem;
    background: var(--event-pill-bg, #198754);
    color: var(--event-pill-fg, #fff) !important;
    margin-bottom: .2rem;
    text-decoration: none;
    overflow: hidden;
    text-overflow: ellipsis;
    transition: .15s;
}
body[data-ssi-page="reservas_semana_usuario.php"] .event-pill-agenda.featured{
    border: 2px solid rgba(255,193,7,.95);
    box-shadow:
      0 0 0 1px rgba(255,193,7,.22) inset,
      0 0.35rem 0.95rem rgba(255,193,7,.18);
}
body[data-ssi-page="reservas_semana_usuario.php"] .event-pill-agenda:hover{
    transform: scale(1.04);
    box-shadow: 0 0.35rem 0.95rem rgba(0,0,0,.22);
}
body[data-ssi-page="reservas_semana_usuario.php"] .small-text{
    font-size: .75rem;
    opacity: .85;
    margin-bottom: .4rem;
}
body[data-ssi-page="reservas_semana_usuario.php"] .small-text.is-next{ opacity:.95; }
body[data-ssi-page="reservas_semana_usuario.php"] .small-text.is-finished{ opacity:.65; }
body[data-ssi-page="reservas_semana_usuario.php"] .small-text.is-current{ font-weight:700; }
body[data-ssi-page="reservas_semana_usuario.php"] .badge-admin-view{
    border-radius:999px;
    padding:.28rem .55rem;
    font-size:.72rem;
}

/* ===== reservas.php :: style block 1 ===== */
body[data-ssi-page="reservas.php"] .card-center-wrapper{ display:flex; justify-content:center; width:100%; }
body[data-ssi-page="reservas.php"] .card-auto{
  width:100%; max-width:100%; min-width:0; background:#fff; border-radius:18px; border:1px solid rgba(7,94,84,.06);
  box-shadow:var(--ssi-shadow-soft); animation: ssi-reservas-fadeIn .35s ease-out;
}
@keyframes ssi-reservas-fadeIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:translateY(0); } }
body[data-ssi-page="reservas.php"] .res-card{
  background:#ffffff; border:1px solid #ebedf0; border-radius:14px; padding:16px 18px; margin-bottom:14px;
  transition:transform .25s ease, background-color .25s ease, box-shadow .25s ease;
  border-left:10px solid var(--card-room-color, rgba(0,0,0,.08)); padding-left:14px; box-shadow:0 2px 8px rgba(0,0,0,.04);
}
body[data-ssi-page="reservas.php"] .res-card:hover{ transform:translateX(6px); background:var(--ssi-bg-soft); box-shadow:var(--ssi-shadow-soft); }
body[data-ssi-page="reservas.php"] .res-card.res-card-featured{
  box-shadow:
    0 0 0 1px rgba(255,193,7,.18) inset,
    0 2px 8px rgba(0,0,0,.04),
    0 6px 16px rgba(255,193,7,.12);
  border-top:1px solid rgba(255,193,7,.28);
  border-right:1px solid rgba(255,193,7,.28);
  border-bottom:1px solid rgba(255,193,7,.28);
}
body[data-ssi-page="reservas.php"] .res-card.res-card-featured:hover{
  box-shadow:
    0 0 0 1px rgba(255,193,7,.22) inset,
    0 4px 12px rgba(0,0,0,.08),
    0 10px 22px rgba(255,193,7,.16);
}
body[data-ssi-page="reservas.php"] .res-title-row{
  display:flex;
  align-items:flex-start;
  gap:.40rem;
}
body[data-ssi-page="reservas.php"] .res-title-star{
  color:#ffc107;
  font-size:.95rem;
  line-height:1.2;
  margin-top:.08rem;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.12));
  flex:0 0 auto;
}
body[data-ssi-page="reservas.php"] .res-title-text{
  min-width:0;
  flex:1 1 auto;
}
body[data-ssi-page="reservas.php"] .res-meta{ display:flex; flex-wrap:wrap; gap:10px 18px; font-size:.95rem; color:#444; }
body[data-ssi-page="reservas.php"] .badge-room,
body[data-ssi-page="reservas.php"] .badge-series{
  padding:4px 10px; color:#fff; font-size:.8rem; border-radius:999px; display:inline-flex; align-items:center; gap:6px; border:0;
}
body[data-ssi-page="reservas.php"] .badge-room{ background:var(--room-color, var(--ssi-primary)); color:var(--room-color-text, #fff); }
body[data-ssi-page="reservas.php"] .badge-series{ background:#0d6efd; }
body[data-ssi-page="reservas.php"] .badge-important{
  background:rgba(255,193,7,.14);
  color:#8a6700;
  border:1px solid rgba(255,193,7,.35);
  padding:4px 10px;
  font-size:.8rem;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
body[data-ssi-page="reservas.php"] .series-details{ margin-top:10px; background:rgba(13,110,253,.06); border:1px solid rgba(13,110,253,.15); border-radius:12px; padding:12px 14px; }
body[data-ssi-page="reservas.php"] .series-summary-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px, 1fr)); gap:10px; margin-top:10px; }
body[data-ssi-page="reservas.php"] .series-summary-item{ background:#fff; border:1px solid rgba(0,0,0,.08); border-radius:12px; padding:10px 12px; }
body[data-ssi-page="reservas.php"] .series-summary-label{ font-size:.78rem; color:var(--ssi-muted); margin-bottom:4px; }
body[data-ssi-page="reservas.php"] .series-summary-value{ font-size:.92rem; color:#212529; font-weight:600; }
body[data-ssi-page="reservas.php"] .series-dates{ display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
body[data-ssi-page="reservas.php"] .series-date-pill{
  background:#ffffff; border:1px solid rgba(0,0,0,.08); border-radius:999px; padding:4px 10px; font-size:.85rem; color:#333;
  display:inline-flex; align-items:center; gap:6px;
}
body[data-ssi-page="reservas.php"] .series-date-pill.series-date-link{ text-decoration:none; cursor:pointer; }
body[data-ssi-page="reservas.php"] .series-date-pill.series-date-link:hover{
  background:#f6f9ff; border-color:rgba(13,110,253,.35); box-shadow:0 6px 14px rgba(0,0,0,.08); transform:translateY(-1px);
}
body[data-ssi-page="reservas.php"] .series-date-pill.series-date-link:active{ transform:translateY(0); }
body[data-ssi-page="reservas.php"] .pagination-whatsapp .page-link{ border-radius:22px !important; border:1px solid var(--ssi-primary); color:var(--ssi-primary-ink); }
body[data-ssi-page="reservas.php"] .pagination-whatsapp .page-item.active .page-link{ background-color:var(--ssi-primary); border-color:var(--ssi-primary); color:#fff; }
body[data-ssi-page="reservas.php"] .pagination-whatsapp .page-item.disabled .page-link{ color:#9bb5a6; border-color:#9bb5a6; background:#eef6f0; }
body[data-ssi-page="reservas.php"] .pagination-whatsapp .page-link:hover{ background-color:var(--ssi-primary); border-color:var(--ssi-primary); color:#fff; }

body[data-ssi-page="reservas.php"] .reserva-pasada{ background-color:#f5f7fa; border:1px solid #d9e1e8; }
body[data-ssi-page="reservas.php"] .reserva-actual{ background-color:#fff8e1; border:1px solid #ffeeba; }
body[data-ssi-page="reservas.php"] .reserva-futura{ background-color:#f4fff7; border:1px solid #cfe8d6; }

body[data-ssi-page="reservas.php"] .res-card.is-completed{
  background:linear-gradient(180deg, #f3f5f7 0%, #eceff3 100%) !important;
  border-color:#d8dee6 !important;
  border-left-color:#b8c2cc !important;
  box-shadow:0 1px 5px rgba(15,23,42,.05);
}
body[data-ssi-page="reservas.php"] .res-card.is-completed:hover{
  transform:translateX(3px);
  background:linear-gradient(180deg, #eef2f5 0%, #e7ecf1 100%) !important;
  box-shadow:0 6px 14px rgba(15,23,42,.08);
}
body[data-ssi-page="reservas.php"] .res-card.is-completed .res-title-text h5,
body[data-ssi-page="reservas.php"] .res-card.is-completed .res-meta,
body[data-ssi-page="reservas.php"] .res-card.is-completed .rprog-text,
body[data-ssi-page="reservas.php"] .res-card.is-completed .series-summary-label,
body[data-ssi-page="reservas.php"] .res-card.is-completed .series-summary-value,
body[data-ssi-page="reservas.php"] .res-card.is-completed .series-date-pill,
body[data-ssi-page="reservas.php"] .res-card.is-completed .small.text-muted{
  color:#6b7280 !important;
}
body[data-ssi-page="reservas.php"] .res-card.is-completed .badge-room,
body[data-ssi-page="reservas.php"] .res-card.is-completed .badge-series,
body[data-ssi-page="reservas.php"] .res-card.is-completed .badge-important{
  filter:saturate(.45);
  opacity:.82;
}
body[data-ssi-page="reservas.php"] .res-card.is-completed .res-title-star,
body[data-ssi-page="reservas.php"] .res-card.is-completed .btn{
  opacity:.88;
}
body[data-ssi-page="reservas.php"] .res-card.is-completed .rprog-bar{
  background:rgba(107,114,128,.16);
}

body[data-ssi-page="reservas.php"] .rprog-wrap{ margin-top:8px; }
body[data-ssi-page="reservas.php"] .rprog-text{ font-size:.85rem; opacity:.85; margin-bottom:6px; }
body[data-ssi-page="reservas.php"] .rprog-bar{ height:8px; border-radius:999px; background:rgba(0,0,0,.10); overflow:hidden; }
body[data-ssi-page="reservas.php"] .rprog-bar > .rprog-fill{ height:100%; width:0%; border-radius:999px; transition:width .25s linear; }
body[data-ssi-page="reservas.php"] .rprog-upcoming{ background:#6b7280; }
body[data-ssi-page="reservas.php"] .rprog-live{ background:#ef4444; }
body[data-ssi-page="reservas.php"] .rprog-done{ background:#22c55e; }
body[data-ssi-page="reservas.php"] .nav-pills .nav-link{
  border-radius:999px;
  border:1px solid #dfe7e2;
  color:#075E54;
  font-weight:600;
  background:#fff;
}
body[data-ssi-page="reservas.php"] .nav-pills .nav-link .badge{ border-radius:999px; }
body[data-ssi-page="reservas.php"] .nav-pills .nav-link.active{
  background-color:#25D366 !important;
  border-color:#25D366 !important;
  color:#fff !important;
}

@media (max-width:576px){
  body[data-ssi-page="reservas.php"] .card-auto{ width:100%; max-width:100%; min-width:0; }
  body[data-ssi-page="reservas.php"] .res-card{ padding:12px; }
  body[data-ssi-page="reservas.php"] .card.p-4.card-auto{ padding:12px !important; }
  body[data-ssi-page="reservas.php"] .card-center-wrapper{ padding-left:0; padding-right:0; }
}

/* ===== salas_disponibles.php :: style block 1 ===== */
body[data-ssi-page="salas_disponibles.php"] .availability-wrapper{
    display:flex;
    justify-content:center;
    width:100%;
}
body[data-ssi-page="salas_disponibles.php"] .card-auto{
    width:90%;
    max-width:1100px;
    min-width:650px;
    margin:0 auto;
    border-radius:16px;
    border:1px solid var(--ssi-border);
    box-shadow:var(--ssi-shadow);
    background:var(--ssi-card);
}
body[data-ssi-page="salas_disponibles.php"] .availability-topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-title{
    display:flex;
    align-items:center;
    gap:10px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-title-icon{
    width:44px;
    height:44px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color:#fff;
    box-shadow:0 6px 18px rgba(18,140,126,.25);
    font-size:1.1rem;
}
body[data-ssi-page="salas_disponibles.php"] .availability-subtitle{
    color:#6c757d;
    font-size:.95rem;
    margin:0;
}
body[data-ssi-page="salas_disponibles.php"] .filter-panel{
    background:linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
    border:1px solid var(--ssi-border);
    border-radius:16px;
    padding:14px;
    margin-bottom:16px;
    box-shadow:0 4px 12px rgba(0,0,0,.04);
}
body[data-ssi-page="salas_disponibles.php"] .filter-panel .form-label{
    color:#374151;
    font-weight:700;
    font-size:.86rem;
}
body[data-ssi-page="salas_disponibles.php"] .search-box .input-group-text{
    background:#fff;
    border-color:rgba(0,0,0,.08);
}
body[data-ssi-page="salas_disponibles.php"] .search-box .form-control,
body[data-ssi-page="salas_disponibles.php"] .filter-panel .form-control,
body[data-ssi-page="salas_disponibles.php"] .filter-panel .form-select{
    border-color:rgba(0,0,0,.08);
    box-shadow:none;
}
body[data-ssi-page="salas_disponibles.php"] .search-box .form-control:focus,
body[data-ssi-page="salas_disponibles.php"] .filter-panel .form-control:focus,
body[data-ssi-page="salas_disponibles.php"] .filter-panel .form-select:focus{
    border-color:#25D366;
    box-shadow:0 0 0 .18rem rgba(37,211,102,.15);
}
body[data-ssi-page="salas_disponibles.php"] .availability-summarybar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:14px;
    padding:10px 12px;
    border:1px solid rgba(18,140,126,.12);
    border-radius:14px;
    background:linear-gradient(180deg, #f0fdfa 0%, #ffffff 100%);
    color:#0f766e;
}
body[data-ssi-page="salas_disponibles.php"] .availability-summarybar strong{
    color:#134e4a;
}
body[data-ssi-page="salas_disponibles.php"] .availability-modebar{
    display:flex;
    align-items:center;
    gap:8px;
    flex-wrap:wrap;
}
body[data-ssi-page="salas_disponibles.php"] .availability-modebar .btn{
    border-radius:999px;
    font-weight:700;
}
body[data-ssi-page="salas_disponibles.php"] .table-modern{
    border-collapse:separate !important;
    border-spacing:0 12px !important;
    margin-bottom:0;
}
body[data-ssi-page="salas_disponibles.php"] .table-modern thead th{
    background:#eef1f4;
    border:none !important;
    padding:13px 14px;
    color:#374151;
    border-radius:8px;
    font-weight:700;
    font-size:.92rem;
    white-space:nowrap;
}
body[data-ssi-page="salas_disponibles.php"] .table-modern tbody tr{
    background:#fff;
    border-radius:14px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
    transition:.18s ease;
}
body[data-ssi-page="salas_disponibles.php"] .table-modern tbody tr:hover{
    background:#fcfcfc;
    transform:translateY(-1px);
    box-shadow:var(--ssi-shadow-hover);
}
body[data-ssi-page="salas_disponibles.php"] .table-modern td{
    padding:14px !important;
    vertical-align:middle;
    border:none !important;
}
body[data-ssi-page="salas_disponibles.php"] .room-name{
    font-weight:700;
    color:#1f2937;
    display:flex;
    align-items:center;
    gap:8px;
}
body[data-ssi-page="salas_disponibles.php"] .room-icon{
    width:34px;
    height:34px;
    border-radius:50%;
    display:inline-grid;
    place-items:center;
    flex:0 0 auto;
    background:#dffaf0;
    color:var(--ssi-primary-ink);
    font-weight:800;
}
body[data-ssi-page="salas_disponibles.php"] .room-meta{
    color:#4b5563;
    font-size:.94rem;
    margin-top:2px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-slots{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-slot{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:7px 11px;
    background:#ecfdf3;
    color:#166534;
    border:1px solid rgba(22,101,52,.12);
    font-weight:700;
    font-size:.84rem;
    line-height:1;
    text-decoration:none;
}
body[data-ssi-page="salas_disponibles.php"] .availability-slot[href]:hover{
    background:#dcfce7;
    color:#14532d;
    transform:translateY(-1px);
}
body[data-ssi-page="salas_disponibles.php"] .availability-slot.is-empty{
    background:#f3f4f6;
    color:#6b7280;
}
body[data-ssi-page="salas_disponibles.php"] .availability-slot.is-busy,
body[data-ssi-page="salas_disponibles.php"] .availability-day-slot.is-busy{
    background:#fef2f2;
    color:#991b1b;
    border-color:rgba(153,27,27,.16);
    cursor:default;
}
body[data-ssi-page="salas_disponibles.php"] .availability-status{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:7px 11px;
    font-weight:800;
    font-size:.82rem;
    line-height:1;
    margin-bottom:7px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-status.is-free{
    background:#ecfdf3;
    color:#166534;
    border:1px solid rgba(22,101,52,.14);
}
body[data-ssi-page="salas_disponibles.php"] .availability-status.is-partial{
    background:#fff7ed;
    color:#9a3412;
    border:1px solid rgba(154,52,18,.16);
}
body[data-ssi-page="salas_disponibles.php"] .availability-status.is-busy{
    background:#fef2f2;
    color:#991b1b;
    border:1px solid rgba(153,27,27,.16);
}
body[data-ssi-page="salas_disponibles.php"] .availability-slot-group{
    width:100%;
    display:flex;
    flex-direction:column;
    gap:7px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-slot-title{
    font-size:.78rem;
    font-weight:800;
    color:#4b5563;
    text-transform:uppercase;
    letter-spacing:.02em;
}
body[data-ssi-page="salas_disponibles.php"] .availability-slot-row{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-days-details{
    min-width:270px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-days-details summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    list-style:none;
    cursor:pointer;
    border:1px solid rgba(22,101,52,.12);
    border-radius:12px;
    padding:8px 10px;
    background:#f0fdf4;
    color:#166534;
    font-weight:800;
    font-size:.86rem;
    user-select:none;
}
body[data-ssi-page="salas_disponibles.php"] .availability-days-details summary::-webkit-details-marker{
    display:none;
}
body[data-ssi-page="salas_disponibles.php"] .availability-days-summary-label{
    display:inline-flex;
    align-items:center;
    gap:7px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-days-chevron{
    transition:transform .18s ease;
}
body[data-ssi-page="salas_disponibles.php"] .availability-days-details[open] .availability-days-chevron{
    transform:rotate(180deg);
}
body[data-ssi-page="salas_disponibles.php"] .availability-days-list{
    margin-top:8px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(0,0,0,.08);
    padding:8px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-day-item{
    display:grid;
    grid-template-columns:86px 1fr;
    gap:8px;
    padding:8px;
    border-radius:10px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-day-item + .availability-day-item{
    border-top:1px solid rgba(0,0,0,.06);
}
body[data-ssi-page="salas_disponibles.php"] .availability-day-label{
    font-weight:800;
    color:#374151;
    font-size:.84rem;
    padding-top:5px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-day-slots{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
}
body[data-ssi-page="salas_disponibles.php"] .availability-day-slot{
    display:inline-flex;
    align-items:center;
    gap:5px;
    border-radius:999px;
    padding:6px 9px;
    background:#ecfdf3;
    color:#166534;
    border:1px solid rgba(22,101,52,.12);
    font-weight:700;
    font-size:.8rem;
    line-height:1;
    text-decoration:none;
}
body[data-ssi-page="salas_disponibles.php"] .availability-day-slot:hover{
    background:#dcfce7;
    color:#14532d;
    transform:translateY(-1px);
}
body[data-ssi-page="salas_disponibles.php"] .availability-day-empty{
    display:inline-flex;
    align-items:center;
    gap:5px;
    border-radius:999px;
    padding:6px 9px;
    background:#f3f4f6;
    color:#6b7280;
    font-size:.8rem;
    line-height:1;
}
body[data-ssi-page="salas_disponibles.php"] .btn-wa{
    background:linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color:#fff;
    border:none;
    border-radius:12px;
    box-shadow:0 8px 18px rgba(18,140,126,.18);
}
body[data-ssi-page="salas_disponibles.php"] .btn-wa:hover{
    color:#fff;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(18,140,126,.24);
}
body[data-ssi-page="salas_disponibles.php"] .empty-state{
    border:1px dashed rgba(0,0,0,.12);
    border-radius:14px;
    padding:14px;
    background:#fafafa;
    color:#6b7280;
    font-size:.92rem;
}
@media (max-width: 992px){
    body[data-ssi-page="salas_disponibles.php"] .card-auto{
        width:100%;
        min-width:0;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-day-item{
        grid-template-columns:1fr;
    }
}
@media (max-width: 575.98px){
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper{
        display:block;
    }
    body[data-ssi-page="salas_disponibles.php"] .card-auto{
        padding:1rem !important;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-topbar{
        align-items:flex-start;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-title{
        align-items:flex-start;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-summarybar,
body[data-ssi-page="salas_disponibles.php"] .availability-modebar{
        align-items:stretch;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-modebar,
body[data-ssi-page="salas_disponibles.php"] .availability-modebar .btn{
        width:100%;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-responsive{
        overflow:visible !important;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern,
body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern tbody,
body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern tr,
body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern td{
        display:block;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern{
        table-layout:auto !important;
        border-spacing:0 !important;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern thead{
        display:none;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern tbody tr{
        margin-bottom:12px;
        padding:12px;
        border:1px solid rgba(7,94,84,.10);
        border-radius:16px;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern td{
        padding:8px 0 !important;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern td + td{
        border-top:1px solid rgba(0,0,0,.06) !important;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern td:nth-child(2)::before,
body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern td:nth-child(3)::before,
body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern td:nth-child(4)::before{
        display:block;
        margin-bottom:5px;
        color:#0f766e;
        font-size:.78rem;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.02em;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern td:nth-child(2)::before{
        content:"Ubicación";
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern td:nth-child(3)::before{
        content:"Disponibilidad";
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-wrapper .table-modern td:nth-child(4)::before{
        content:"Próximos días";
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-status,
body[data-ssi-page="salas_disponibles.php"] .availability-slot,
body[data-ssi-page="salas_disponibles.php"] .availability-day-slot,
body[data-ssi-page="salas_disponibles.php"] .availability-day-empty{
        width:100%;
        justify-content:flex-start;
        white-space:normal;
        line-height:1.25;
        border-radius:12px;
    }
    body[data-ssi-page="salas_disponibles.php"] .availability-days-details{
        min-width:0;
        width:100%;
    }
}

/* ===== salas.php :: style block 1 ===== */
body[data-ssi-page="salas.php"] .card-center-wrapper{
    display:flex;
    justify-content:center;
    width:100%;
}

body[data-ssi-page="salas.php"] .card-auto{
    width:90%;
    max-width:1150px;
    min-width:650px;
    background:#fff;
    border-radius:14px;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
    animation: ssi-salas-fadeIn .35s ease-out;
}

@keyframes ssi-salas-fadeIn{
    from{ opacity:0; transform:translateY(8px); }
    to{ opacity:1; transform:translateY(0); }
}

/* TABLAS */
body[data-ssi-page="salas.php"] .table-modern{
    border-collapse:separate !important;
    border-spacing:0 10px !important;
}

body[data-ssi-page="salas.php"] .table-modern thead th{
    background:#e9ecef;
    border:none;
    padding:12px;
    color:#333;
    border-radius:6px;
}

body[data-ssi-page="salas.php"] .table-modern tbody tr{
    background:#fff;
    border-radius:12px;
    box-shadow:0 2px 6px rgba(0,0,0,.10);
    transition:.20s ease;
}

body[data-ssi-page="salas.php"] .table-modern tbody tr:hover{
    background:#f7f7f7 !important;
    transform:scale(1.01);
}

body[data-ssi-page="salas.php"] .table-modern td{
    padding:14px !important;
    vertical-align:middle;
}

/* ESTADÍSTICAS */
body[data-ssi-page="salas.php"] .stats-grid{
    display:grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap:14px;
    margin-bottom:16px;
}

body[data-ssi-page="salas.php"] .stat-card{
    background:#fff;
    border:1px solid #ececec;
    border-radius:14px;
    padding:16px;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
    position:relative;
    overflow:hidden;
}

body[data-ssi-page="salas.php"] .stat-card::after{
    content:"";
    position:absolute;
    top:0;
    left:0;
    right:0;
    height:4px;
    background:linear-gradient(90deg,#0d6efd,#6ea8fe);
}

body[data-ssi-page="salas.php"] .stat-label{
    color:#6c757d;
    font-size:.90rem;
    margin-bottom:8px;
}

body[data-ssi-page="salas.php"] .stat-value{
    font-size:1.70rem;
    line-height:1.1;
    font-weight:800;
    color:#212529;
}

body[data-ssi-page="salas.php"] .stat-sub{
    margin-top:6px;
    font-size:.85rem;
    color:#6c757d;
}

body[data-ssi-page="salas.php"] .section-title{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:700;
}

body[data-ssi-page="salas.php"] .badge-soft{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#eef4ff;
    color:#0d6efd;
    border:1px solid #dbe8ff;
    border-radius:999px;
    padding:.45rem .75rem;
    font-weight:600;
}

body[data-ssi-page="salas.php"] .progress-thin{
    height:10px;
    border-radius:999px;
    background:#e9ecef;
    overflow:hidden;
}

body[data-ssi-page="salas.php"] .progress-thin .bar{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#0d6efd,#4dabf7);
    width:var(--progress-width, 0%);
}

body[data-ssi-page="salas.php"] .mini-bars{
    display:flex;
    flex-direction:column;
    gap:10px;
}

body[data-ssi-page="salas.php"] .mini-bar-row{
    display:grid;
    grid-template-columns:180px 1fr 70px;
    gap:10px;
    align-items:center;
}

body[data-ssi-page="salas.php"] .mini-bar-label{
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    font-size:.92rem;
    color:#333;
}

body[data-ssi-page="salas.php"] .mini-bar-track{
    width:100%;
    height:12px;
    border-radius:999px;
    background:#e9ecef;
    overflow:hidden;
}

body[data-ssi-page="salas.php"] .mini-bar-fill{
    height:100%;
    border-radius:999px;
    background:linear-gradient(90deg,#20c997,#0d6efd);
    width:var(--progress-width, 0%);
}

body[data-ssi-page="salas.php"] .mini-bar-value{
    text-align:right;
    font-weight:700;
    font-size:.90rem;
    color:#495057;
}

body[data-ssi-page="salas.php"] .kpi-strip{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:14px;
    margin-bottom:16px;
}

body[data-ssi-page="salas.php"] .subcard{
    background:#fff;
    border:1px solid #ececec;
    border-radius:14px;
    padding:14px;
    box-shadow:0 2px 8px rgba(0,0,0,.04);
}

body[data-ssi-page="salas.php"] .rank-badge{
    min-width:32px;
    height:32px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:#eef4ff;
    color:#0d6efd;
    font-weight:800;
}

body[data-ssi-page="salas.php"] .soft-muted{
    color:#6c757d;
}

body[data-ssi-page="salas.php"] .stats-box{
    background:linear-gradient(180deg,#ffffff 0%,#f8f9fa 100%);
    border:1px solid #ececec;
    border-radius:16px;
    padding:16px;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
    margin-bottom:16px;
}

body[data-ssi-page="salas.php"] .badge-room-enabled{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#e8fff1;
    color:#198754;
    border:1px solid #c8f1d8;
    border-radius:999px;
    padding:.35rem .70rem;
    font-size:.82rem;
    font-weight:700;
}

body[data-ssi-page="salas.php"] .badge-room-disabled{
    display:inline-flex;
    align-items:center;
    gap:6px;
    background:#fff1f1;
    color:#dc3545;
    border:1px solid #f3cccc;
    border-radius:999px;
    padding:.35rem .70rem;
    font-size:.82rem;
    font-weight:700;
}

@media (max-width: 1100px){
    body[data-ssi-page="salas.php"] .stats-grid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
    }

    body[data-ssi-page="salas.php"] .kpi-strip{
        grid-template-columns:1fr;
    }
}

@media (max-width: 767px){
    body[data-ssi-page="salas.php"] .card-auto{
        width:96%;
        min-width:0;
    }

    body[data-ssi-page="salas.php"] .stats-grid{
        grid-template-columns:1fr;
    }

    body[data-ssi-page="salas.php"] .mini-bar-row{
        grid-template-columns:1fr;
    }

    body[data-ssi-page="salas.php"] .mini-bar-value{
        text-align:left;
    }
}

/* ===== stock.php :: style block 1 ===== */
body[data-ssi-page="stock.php"] .stock-wrapper{
    max-width:1200px;
    margin:0 auto;
}
body[data-ssi-page="stock.php"] .stock-hero{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    flex-wrap:wrap;
}
body[data-ssi-page="stock.php"] .stock-title{
    display:flex;
    align-items:center;
    gap:12px;
}
body[data-ssi-page="stock.php"] .stock-title-icon{
    width:48px;
    height:48px;
    border-radius:16px;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#e6f7ef;
    color:#075e54;
    font-size:1.35rem;
}
body[data-ssi-page="stock.php"] .stock-stat-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
}
body[data-ssi-page="stock.php"] .stock-stat{
    border:1px solid rgba(7,94,84,.12);
    border-radius:16px;
    padding:14px;
    background:#fff;
    box-shadow:0 8px 22px rgba(15,23,42,.05);
}
body[data-ssi-page="stock.php"] .stock-stat-label{
    color:#6b7280;
    font-size:.85rem;
}
body[data-ssi-page="stock.php"] .stock-stat-value{
    font-size:1.7rem;
    font-weight:800;
    color:#123b35;
}
body[data-ssi-page="stock.php"] .stock-area-card{
    border:1px solid rgba(7,94,84,.12);
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 10px 26px rgba(15,23,42,.06);
}
body[data-ssi-page="stock.php"] .stock-area-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:16px;
    background:linear-gradient(135deg, #f4fbf7 0%, #ffffff 100%);
    border-bottom:1px solid rgba(7,94,84,.08);
    flex-wrap:wrap;
}
body[data-ssi-page="stock.php"] .stock-chip{
    display:inline-flex;
    align-items:center;
    gap:6px;
    border-radius:999px;
    padding:6px 10px;
    font-weight:700;
    font-size:.82rem;
}
body[data-ssi-page="stock.php"] .stock-chip-on{
    background:#dcfce7;
    color:#166534;
}
body[data-ssi-page="stock.php"] .stock-chip-off{
    background:#f1f5f9;
    color:#475569;
}
body[data-ssi-page="stock.php"] .stock-items-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    margin-bottom:10px;
}
body[data-ssi-page="stock.php"] .stock-items-search{
    max-width:360px;
    width:100%;
}
body[data-ssi-page="stock.php"] .stock-items-table{
    min-width:1040px;
}
body[data-ssi-page="stock.php"] .stock-items-table th:nth-child(1),
body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(1){
    min-width:190px;
    width:18%;
}
body[data-ssi-page="stock.php"] .stock-items-table th:nth-child(2),
body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(2){
    min-width:140px;
    width:12%;
}
body[data-ssi-page="stock.php"] .stock-items-table th:nth-child(3),
body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(3){
    min-width:420px;
    width:44%;
}
body[data-ssi-page="stock.php"] .stock-items-table th:nth-child(4),
body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(4){
    min-width:260px;
    width:26%;
}
body[data-ssi-page="stock.php"] .stock-low{
    color:#b45309;
    font-weight:800;
}
body[data-ssi-page="stock.php"] .stock-ok{
    color:#166534;
    font-weight:800;
}
body[data-ssi-page="stock.php"] .stock-inline-form{
    display:grid;
    grid-template-columns:1.2fr .8fr .55fr .55fr .55fr auto;
    gap:8px;
    align-items:end;
}
body[data-ssi-page="stock.php"] .stock-adjust-form{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    align-items:stretch;
    min-width:220px;
}
body[data-ssi-page="stock.php"] .stock-adjust-form .form-control{
    min-width:0;
}
body[data-ssi-page="stock.php"] .stock-actions-grid{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    margin-top:8px;
}
body[data-ssi-page="stock.php"] .stock-actions-grid .btn{
    width:38px;
    height:38px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
body[data-ssi-page="stock.php"] .stock-pagination{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    flex-wrap:wrap;
    margin-top:12px;
}
body[data-ssi-page="stock.php"] .stock-pagination[hidden]{
    display:none !important;
}
body[data-ssi-page="stock.php"] .stock-pagination .btn{
    min-width:36px;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-link{
    color:#05776b;
    font-weight:700;
    text-decoration:underline;
    text-underline-offset:3px;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-modal{
    border:1px solid rgba(7,94,84,.14);
    border-radius:10px;
    overflow:hidden;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-modal .modal-header{
    background:linear-gradient(180deg, #f4fbf8 0%, #ffffff 100%);
    border-bottom:1px solid rgba(7,94,84,.10);
}
body[data-ssi-page="stock.php"] .stock-movement-summary-modal .modal-footer{
    border-top:1px solid rgba(7,94,84,.10);
}
body[data-ssi-page="stock.php"] .stock-movement-summary-kicker,
body[data-ssi-page="stock.php"] .stock-movement-summary-id{
    color:#05776b;
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.02em;
    text-transform:uppercase;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-loading{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:160px;
    color:#667085;
    font-weight:700;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
    margin-bottom:16px;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-head h4{
    margin:4px 0 0;
    color:#123b35;
    font-size:1.35rem;
    font-weight:800;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-type{
    background:#eef6f4;
    color:#075e54;
    border:1px solid #b9dbd4;
    padding:7px 10px;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-type-negative{
    background:#fff7d6;
    color:#a16207;
    border-color:#fde68a;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-type-positive{
    background:#dcfce7;
    color:#166534;
    border-color:#bbf7d0;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-type-neutral{
    background:#f1f5f9;
    color:#475569;
    border-color:#cbd5e1;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-grid{
    display:grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap:10px;
    margin-bottom:16px;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-field{
    background:#f8fbfa;
    border:1px solid rgba(7,94,84,.12);
    border-radius:8px;
    padding:10px 12px;
    min-width:0;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-field-wide{
    grid-column:1 / -1;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-field span{
    display:block;
    color:#667085;
    font-size:.78rem;
    font-weight:700;
    margin-bottom:3px;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-field strong{
    display:block;
    color:#172033;
    font-size:.94rem;
    overflow-wrap:anywhere;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-section{
    border-top:1px solid rgba(7,94,84,.10);
    padding-top:14px;
    margin-top:14px;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-section h6{
    display:flex;
    align-items:center;
    gap:7px;
    color:#075e54;
    font-weight:800;
    margin:0 0 8px;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-section p{
    margin:0;
    color:#344054;
    white-space:pre-wrap;
}
body[data-ssi-page="stock.php"] .stock-movement-summary-print-frame{
    position:fixed;
    right:0;
    bottom:0;
    width:0;
    height:0;
    border:0;
    opacity:0;
}
@media (max-width: 768px){
    body[data-ssi-page="stock.php"] .stock-stat-grid{
        grid-template-columns:1fr;
    }
    body[data-ssi-page="stock.php"] .stock-inline-form,
body[data-ssi-page="stock.php"] .stock-adjust-form{
        grid-template-columns:1fr;
    }
    body[data-ssi-page="stock.php"] .stock-actions-grid{
        justify-content:flex-start;
    }
    body[data-ssi-page="stock.php"] .stock-pagination{
        align-items:flex-start;
        flex-direction:column;
    }
    body[data-ssi-page="stock.php"] .stock-area-card .table-responsive{
        overflow:visible !important;
    }
    body[data-ssi-page="stock.php"] .stock-items-table,
body[data-ssi-page="stock.php"] .stock-items-table tbody,
body[data-ssi-page="stock.php"] .stock-items-table tr,
body[data-ssi-page="stock.php"] .stock-items-table td{
        display:block;
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
    }
    body[data-ssi-page="stock.php"] .stock-items-table{
        table-layout:auto !important;
        border-spacing:0 !important;
    }
    body[data-ssi-page="stock.php"] .stock-items-table thead{
        display:none;
    }
    body[data-ssi-page="stock.php"] .stock-items-table tbody tr{
        margin-bottom:12px;
        padding:12px;
        border:1px solid rgba(7,94,84,.10);
        border-radius:16px;
        box-shadow:0 4px 14px rgba(15,23,42,.06);
        background:#fff;
    }
    body[data-ssi-page="stock.php"] .stock-items-table td{
        padding:8px 0 !important;
    }
    body[data-ssi-page="stock.php"] .stock-items-table td + td{
        border-top:1px solid rgba(0,0,0,.06) !important;
    }
    body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(2)::before,
body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(3)::before,
body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(4)::before{
        display:block;
        margin-bottom:6px;
        color:#0f766e;
        font-size:.78rem;
        font-weight:800;
        text-transform:uppercase;
        letter-spacing:.02em;
    }
    body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(2)::before{
        content:"Stock";
    }
    body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(3)::before{
        content:"Editar datos";
    }
    body[data-ssi-page="stock.php"] .stock-items-table td:nth-child(4)::before{
        content:"Ajuste manual";
    }
    body[data-ssi-page="stock.php"] .stock-items-table form.row{
        margin-left:0;
        margin-right:0;
    }
    body[data-ssi-page="stock.php"] .stock-items-table form.row > [class*="col-"]{
        padding-left:0;
        padding-right:0;
    }
    body[data-ssi-page="stock.php"] .stock-adjust-form{
        width:100%;
        min-width:0;
    }
    body[data-ssi-page="stock.php"] .stock-actions-grid{
        justify-content:flex-end;
        width:100%;
    }
    body[data-ssi-page="stock.php"] .stock-movement-summary-head,
    body[data-ssi-page="stock.php"] .stock-movement-summary-grid{
        grid-template-columns:1fr;
    }
    body[data-ssi-page="stock.php"] .stock-movement-summary-head{
        flex-direction:column;
    }
}

/* ===== ticket_nuevo.php :: style block 1 ===== */
body[data-ssi-page="ticket_nuevo.php"]{
    background: #ECE5DD !important;
}
body[data-ssi-page="ticket_nuevo.php"] .form-container{
    max-width: 760px;
    margin: 20px auto 30px;
}
body[data-ssi-page="ticket_nuevo.php"] .ssi-card{
    border-radius: 18px;
    background: #ffffff;
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    border: 1px solid rgba(7, 94, 84, 0.08);
    animation: ssi-ticket-nuevo-fadeUp .35s ease both;
}
@keyframes ssi-ticket-nuevo-fadeUp {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}
body[data-ssi-page="ticket_nuevo.php"] .ssi-card-body{
    padding: 2rem;
    background: #ffffff;
    border-radius: 18px;
}
body[data-ssi-page="ticket_nuevo.php"] .ssi-title{
    font-weight: 700;
    color: #075E54;
}
body[data-ssi-page="ticket_nuevo.php"] .ssi-subtitle{
    color: #6c757d;
    font-size: .95rem;
}
body[data-ssi-page="ticket_nuevo.php"] .ssi-section{
    background: linear-gradient(180deg, #ffffff 0%, #fafcfb 100%);
    border: 1px solid #e7ece9;
    border-radius: 14px;
    padding: 16px;
}
body[data-ssi-page="ticket_nuevo.php"] .input-icon{
    position: relative;
}
body[data-ssi-page="ticket_nuevo.php"] .input-icon i{
    position: absolute;
    top: 50%;
    left: 12px;
    font-size: 17px;
    color: #25D366;
    transform: translateY(-50%);
}
body[data-ssi-page="ticket_nuevo.php"] .input-icon input,
body[data-ssi-page="ticket_nuevo.php"] .input-icon textarea,
body[data-ssi-page="ticket_nuevo.php"] .input-icon select{
    padding-left: 38px !important;
}
body[data-ssi-page="ticket_nuevo.php"] .ticket-user-picker-field{
    position: relative;
}
body[data-ssi-page="ticket_nuevo.php"] .form-control,
body[data-ssi-page="ticket_nuevo.php"] .form-select{
    border-radius: 12px;
    border: 1px solid #cfcfcf;
    transition: all 0.2s ease-in-out;
}
body[data-ssi-page="ticket_nuevo.php"] .form-control:focus,
body[data-ssi-page="ticket_nuevo.php"] .form-select:focus{
    border-color: #25D366;
    box-shadow: 0 0 0 2px rgba(37,211,102,0.25);
}
body[data-ssi-page="ticket_nuevo.php"] label.form-label{
    font-weight: 600;
    color: #075E54;
    margin-bottom: .45rem;
}
body[data-ssi-page="ticket_nuevo.php"] .btn{
    position: relative;
    overflow: hidden;
    border-radius: 999px;
    font-weight: 600;
}
body[data-ssi-page="ticket_nuevo.php"] .btn:active::after{
    content: "";
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: 0;
    height: 0;
    background: rgba(255,255,255,.6);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    animation: ssi-ticket-nuevo-ripple .5s linear;
}
@keyframes ssi-ticket-nuevo-ripple {
    to { width: 200px; height: 200px; opacity: 0; }
}
body[data-ssi-page="ticket_nuevo.php"] .btn-primary,
body[data-ssi-page="ticket_nuevo.php"] .ssi-btn-primary{
    background-color: #25D366;
    border-color: #25D366;
    padding: 10px 24px;
}
body[data-ssi-page="ticket_nuevo.php"] .btn-primary:hover,
body[data-ssi-page="ticket_nuevo.php"] .ssi-btn-primary:hover{
    background-color: #1ebe5d;
    border-color: #1ebe5d;
}
body[data-ssi-page="ticket_nuevo.php"] .btn-secondary,
body[data-ssi-page="ticket_nuevo.php"] .ssi-btn-secondary{
    background-color: #ece5dd;
    border-color: #d8d1c8;
    color: #4b4b4b;
    padding: 10px 24px;
}
body[data-ssi-page="ticket_nuevo.php"] .btn-secondary:hover,
body[data-ssi-page="ticket_nuevo.php"] .ssi-btn-secondary:hover{
    background-color: #d6cfc3;
    border-color: #d6cfc3;
    color: #2f2f2f;
}
body[data-ssi-page="ticket_nuevo.php"] .wa-bubble-check{
    display: flex;
    align-items: center;
    padding: 8px;
    background: #ffffff;
    border: 1px solid #dfe7e2;
    border-radius: 14px;
    margin-bottom: 8px;
    cursor: pointer;
    transition: all .22s ease;
    font-weight: 500;
    user-select: none;
}
body[data-ssi-page="ticket_nuevo.php"] .wa-bubble-check:hover{
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}
body[data-ssi-page="ticket_nuevo.php"] .wa-bubble-check input{
    display: none;
}
body[data-ssi-page="ticket_nuevo.php"] .wa-bubble-check input:checked + .wa-bubble-label{
    background: #25D366;
    color: #fff;
    border-color: #25D366;
    box-shadow: 0 3px 10px rgba(37,211,102,0.30);
    transform: scale(1.01);
}
body[data-ssi-page="ticket_nuevo.php"] .wa-bubble-label{
    width: 100%;
    padding: 8px 12px;
    border-radius: 12px;
    transition: all .22s ease;
}
body[data-ssi-page="ticket_nuevo.php"] .preview-box{
    margin-top: 10px;
}
body[data-ssi-page="ticket_nuevo.php"] .preview-box img{
    max-width: 120px;
    margin-right: 10px;
    border-radius: 8px;
}
body[data-ssi-page="ticket_nuevo.php"] .shadow-soft{
    box-shadow: 0px 4px 14px rgba(0,0,0,0.10) !important;
}

/* ===== ticket_ver.php :: style block 1 ===== */
body[data-ssi-page="ticket_ver.php"]{
  background: #ECE5DD !important;
}
body[data-ssi-page="ticket_ver.php"] .ticket-wrapper{
  max-width: 960px;
  margin: 20px auto 30px auto;
}
body[data-ssi-page="ticket_ver.php"] .ticket-main-card{
  background: #ffffff;
  border-radius: 18px;
  box-shadow: 0 6px 18px rgba(0,0,0,.12);
  border: 1px solid rgba(7, 94, 84, 0.08);
  padding: 22px 24px;
  margin-bottom: 18px;
  animation: ssi-ticket-ver-fadeInCard .35s ease-out;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}
body[data-ssi-page="ticket_ver.php"] .ticket-main-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.14);
}
body[data-ssi-page="ticket_ver.php"] .ticket-main-card .sub-card{
  border-radius: 16px;
  border: 1px solid #ebedf0;
  box-shadow: 0 2px 8px rgba(0,0,0,0.06);
  margin-bottom: 16px;
  overflow: hidden;
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
body[data-ssi-page="ticket_ver.php"] .ticket-main-card .sub-card:hover{
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(0,0,0,0.10);
}
body[data-ssi-page="ticket_ver.php"] .ticket-header h4,
body[data-ssi-page="ticket_ver.php"] .ssi-block-title{
  color: #075E54;
  font-weight: 700;
}
body[data-ssi-page="ticket_ver.php"] .ticket-header h4 i{
  color: #25D366;
}
body[data-ssi-page="ticket_ver.php"] .ssi-soft-panel{
  background: linear-gradient(180deg, #ffffff 0%, #fafcfb 100%);
  border: 1px solid #e7ece9;
  border-radius: 14px;
}
body[data-ssi-page="ticket_ver.php"] .alert{
  border-radius: 14px;
}
body[data-ssi-page="ticket_ver.php"] .chat-container{
  background-color: #e5ddd5;
  border-radius: 14px;
  padding: 15px;
  max-height: 450px;
  overflow-y: auto;
}
body[data-ssi-page="ticket_ver.php"] .chat-bubble{
  max-width: 80%;
  padding: 10px 14px;
  border-radius: 16px;
  margin-bottom: 10px;
  word-wrap: break-word;
  line-height: 1.4;
  animation: ssi-ticket-ver-fadeInBubble 0.4s ease;
  box-shadow: 0 1px 4px rgba(0,0,0,.08);
}
body[data-ssi-page="ticket_ver.php"] .chat-bubble .meta{
  font-size: 0.8em;
  color: #666;
  margin-top: 4px;
}
body[data-ssi-page="ticket_ver.php"] .chat-right{
  background-color: #dcf8c6;
  align-self: flex-end;
  border-bottom-right-radius: 4px;
  margin-left: auto;
}
body[data-ssi-page="ticket_ver.php"] .chat-left{
  background-color: #fff;
  border-bottom-left-radius: 4px;
}
body[data-ssi-page="ticket_ver.php"] .chat-form{
  background-color: #f8f9fa;
  border-top: 1px solid #ddd;
  padding-top: 10px;
}
body[data-ssi-page="ticket_ver.php"] .list-group-item{
  border-radius: 12px !important;
  margin-bottom: 8px;
  border: 1px solid #eceff1;
}
@media print{
  body[data-ssi-page="ticket_ver.php"]{
    background: #ffffff !important;
  }
  body[data-ssi-page="ticket_ver.php"] .no-print{
    display: none !important;
  }
  body[data-ssi-page="ticket_ver.php"] .ticket-wrapper{
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body[data-ssi-page="ticket_ver.php"] .ticket-main-card,
body[data-ssi-page="ticket_ver.php"] .ticket-main-card .sub-card{
    box-shadow: none !important;
    border: 0 !important;
    padding: 0 !important;
    margin-bottom: 16px !important;
  }
  body[data-ssi-page="ticket_ver.php"] .chat-form,
body[data-ssi-page="ticket_ver.php"] .ticket-main-card form[enctype="multipart/form-data"],
body[data-ssi-page="ticket_ver.php"] .chat-bubble .meta a,
body[data-ssi-page="ticket_ver.php"] .list-group-item .btn{
    display: none !important;
  }
  body[data-ssi-page="ticket_ver.php"] .chat-container{
    max-height: none !important;
    overflow: visible !important;
    background: #ffffff !important;
    padding: 0 !important;
  }
}
@keyframes ssi-ticket-ver-fadeInCard {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes ssi-ticket-ver-fadeInBubble {
  from { opacity: 0; transform: translateY(5px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ===== tickets_archivados.php :: style block 1 ===== */
body[data-ssi-page="tickets_archivados.php"] .card-center-wrapper{
    display:flex;
    justify-content:center;
    width:100%;
}
body[data-ssi-page="tickets_archivados.php"] .card-auto{
    width:95%;
    max-width:1200px;
    min-width:720px;
    margin:20px auto;
    background:#ffffff;
    border-radius:16px;
    box-shadow:0 2px 8px rgba(0,0,0,0.08);
    padding:24px;
}
body[data-ssi-page="tickets_archivados.php"] .table-whatsapp{
    border-collapse:separate!important;
    border-spacing:0 8px!important;
}
body[data-ssi-page="tickets_archivados.php"] .table-whatsapp thead th{
    background:#075E54;
    color:#fff;
    border:none;
    padding:12px;
}
body[data-ssi-page="tickets_archivados.php"] .table-whatsapp tbody tr{
    background:#fff;
    border-radius:10px;
    box-shadow:0 1px 3px rgba(0,0,0,0.1);
}
body[data-ssi-page="tickets_archivados.php"] .table-whatsapp tbody tr:hover{
    background:#f4fbf7;
}

/* ===== tickets.php :: style block 1 ===== */
body[data-ssi-page="tickets.php"] .card-center-wrapper{
    display: flex;
    justify-content: center;
    width: 100%;
}
body[data-ssi-page="tickets.php"] .card-auto{
    width: 100%;
    max-width: 1200px;
    min-width: 0;
    margin: 20px auto;
    background: #ffffff;
    border-radius: 18px;
    border: 1px solid rgba(7, 94, 84, 0.08);
    box-shadow: 0 6px 18px rgba(0,0,0,0.12);
    padding: 24px;
    animation: ssi-tickets-fadeInCard .35s ease-out;
}
@keyframes ssi-tickets-fadeInCard {
    from { opacity:0; transform: translateY(8px); }
    to   { opacity:1; transform: translateY(0); }
}
@media (max-width: 768px){
    body[data-ssi-page="tickets.php"] .card-auto{
        width: 100%;
        min-width: auto;
        margin: 10px auto;
        padding: 16px;
    }
}
body[data-ssi-page="tickets.php"] .btn-wa-main{
    background-color: #25D366;
    border-color: #25D366;
    color: #fff;
    border-radius: 999px;
    font-weight: 600;
    box-shadow: 0 4px 12px rgba(37,211,102,.20);
}
body[data-ssi-page="tickets.php"] .btn-wa-main:hover{
    background-color: #1ebe5d;
    border-color: #1ebe5d;
    color: #fff;
}
body[data-ssi-page="tickets.php"] .nav-pills .nav-link{
    border-radius: 999px;
    border: 1px solid #dfe7e2;
    color: #075E54;
    font-weight: 600;
    background: #fff;
}
body[data-ssi-page="tickets.php"] .nav-pills .nav-link .badge{
    border-radius: 999px;
}
body[data-ssi-page="tickets.php"] .nav-pills .nav-link.active{
    background-color: #25D366 !important;
    border-color: #25D366 !important;
    color: #fff !important;
}
body[data-ssi-page="tickets.php"] .ticket-area-tabs{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    padding:8px;
    border:1px solid #dbe7e2;
    border-radius:10px;
    background:rgba(255,255,255,.78);
    box-shadow:0 8px 22px rgba(15,23,42,.06);
}
body[data-ssi-page="tickets.php"] .ticket-area-tab,
body[data-ssi-page="tickets.php"] .ticket-area-current{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:7px 11px;
    border:1px solid #dce8e3;
    border-radius:8px;
    color:#075E54;
    background:#fff;
    font-size:.88rem;
    font-weight:700;
    line-height:1.2;
    text-decoration:none;
}
body[data-ssi-page="tickets.php"] .ticket-area-tab:hover,
body[data-ssi-page="tickets.php"] .ticket-area-tab:focus{
    border-color:#91d9b6;
    background:#f1fbf6;
    color:#064e45;
    text-decoration:none;
}
body[data-ssi-page="tickets.php"] .ticket-area-tab.active{
    border-color:#198754;
    background:#198754;
    color:#fff;
}
body[data-ssi-page="tickets.php"] .ticket-area-current{
    background:#f1fbf6;
}
body[data-ssi-page="tickets.php"] .table-whatsapp{
    border-collapse: separate !important;
    border-spacing: 0 8px !important;
    animation: ssi-tickets-fadeInRows 220ms ease-in;
}
@keyframes ssi-tickets-fadeInRows {
    from { opacity: 0; transform: translateY(4px); }
    to   { opacity: 1; transform: translateY(0); }
}
body[data-ssi-page="tickets.php"] .table-whatsapp thead th{
    background-color: #075E54;
    color: #fff;
    border: none;
    font-weight: 600;
    padding: 12px;
}
body[data-ssi-page="tickets.php"] .table-whatsapp tbody tr{
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: all 0.15s ease-in-out;
}
body[data-ssi-page="tickets.php"] .table-whatsapp tbody tr:hover{
    background: #f5fbf7;
    transform: scale(1.005);
}
body[data-ssi-page="tickets.php"] .table-whatsapp td,
body[data-ssi-page="tickets.php"] .table-whatsapp th{
    vertical-align: middle;
    padding: 10px 8px;
    border: none !important;
}
body[data-ssi-page="tickets.php"] .ticket-title-link{
    display:grid;
    grid-template-columns:28px minmax(0, 1fr);
    align-items:start;
    gap:8px;
    color:#075E54;
    text-decoration:none;
    min-width:0;
    width:100%;
}
body[data-ssi-page="tickets.php"] .ticket-title-link:hover,
body[data-ssi-page="tickets.php"] .ticket-title-link:focus{
    color:#064e45;
    text-decoration:none;
}
body[data-ssi-page="tickets.php"] .ticket-title-link-icon{
    width:28px;
    height:28px;
    border-radius:8px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    background:#e6f7ef;
    color:#075E54;
    box-shadow:inset 0 0 0 1px rgba(7,94,84,.08);
}
body[data-ssi-page="tickets.php"] .ticket-title-link-copy{
    display:flex;
    flex-direction:column;
    gap:2px;
    min-width:0;
}
body[data-ssi-page="tickets.php"] .ticket-title-link-text{
    color:#075E54;
    font-weight:800;
    line-height:1.25;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:auto;
}
body[data-ssi-page="tickets.php"] .ticket-title-link:hover .ticket-title-link-text,
body[data-ssi-page="tickets.php"] .ticket-title-link:focus .ticket-title-link-text{
    text-decoration:underline;
    text-underline-offset:3px;
}
body[data-ssi-page="tickets.php"] .ticket-title-link-meta{
    color:#6b7280;
    font-size:.70rem;
    font-weight:600;
    line-height:1.15;
}
body[data-ssi-page="tickets.php"] .ssi-ticket-table th:nth-child(1),
body[data-ssi-page="tickets.php"] .ssi-ticket-table td:nth-child(1){
    width:36% !important;
    white-space:normal !important;
}
body[data-ssi-page="tickets.php"] .ssi-ticket-table th:nth-child(2),
body[data-ssi-page="tickets.php"] .ssi-ticket-table td:nth-child(2){
    width:154px !important;
}
body[data-ssi-page="tickets.php"] .ssi-ticket-table th:nth-child(3),
body[data-ssi-page="tickets.php"] .ssi-ticket-table td:nth-child(3),
body[data-ssi-page="tickets.php"] .ssi-ticket-table th:nth-child(4),
body[data-ssi-page="tickets.php"] .ssi-ticket-table td:nth-child(4){
    width:118px !important;
}
body[data-ssi-page="tickets.php"] .ssi-ticket-table th:nth-child(5),
body[data-ssi-page="tickets.php"] .ssi-ticket-table td:nth-child(5){
    width:96px !important;
}
body[data-ssi-page="tickets.php"] .ssi-ticket-table th:nth-child(6),
body[data-ssi-page="tickets.php"] .ssi-ticket-table td:nth-child(6){
    width:108px !important;
}
body[data-ssi-page="tickets.php"] .ssi-ticket-table th:nth-child(7),
body[data-ssi-page="tickets.php"] .ssi-ticket-table td:nth-child(7){
    width:76px !important;
    white-space:nowrap !important;
}
body[data-ssi-page="tickets.php"] .table-responsive{
    border-radius: 14px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    overflow: hidden;
    background-color: #f8faf8;
}
body[data-ssi-page="tickets.php"] .pagination-whatsapp .page-link{
    border-radius: 22px !important;
    border: 1px solid #25D366;
    color: #075E54;
}
body[data-ssi-page="tickets.php"] .pagination-whatsapp .page-item.active .page-link,
body[data-ssi-page="tickets.php"] .pagination-whatsapp .page-link:hover{
    background-color: #25D366;
    border-color: #25D366;
    color: #fff;
}
body[data-ssi-page="tickets.php"] .pagination-whatsapp .page-item.disabled .page-link{
    color: #9bb5a6;
    border-color: #9bb5a6;
    background: #eef6f0;
}
body[data-ssi-page="tickets.php"] #updateToast{
    position: fixed;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(37, 211, 102, 0.95);
    color: #fff;
    padding: 8px 16px;
    border-radius: 30px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.2);
    font-weight: 500;
    z-index: 2000;
    opacity: 0;
    transition: opacity 0.3s ease;
}
body[data-ssi-page="tickets.php"] #updateToast.visible{ opacity: 1; }
body[data-ssi-page="tickets.php"] #updateToast.is-success{
    background: rgba(15, 118, 110, 0.96);
}
body[data-ssi-page="tickets.php"] .tickets-live-region.is-refreshing{
    opacity: .98;
}
body[data-ssi-page="tickets.php"] .ticket-row-fresh td{
    animation: ssi-tickets-ticketRowFresh 1.9s ease;
}
@keyframes ssi-tickets-ticketRowFresh {
    0% { background: #dcfce7; }
    70% { background: #f0fdf4; }
    100% { background: transparent; }
}
body[data-ssi-page="tickets.php"] .spin{ animation: ssi-tickets-spin 1s linear infinite; }
@keyframes ssi-tickets-spin { from {transform:rotate(0deg);} to {transform:rotate(360deg);} }
body[data-ssi-page="tickets.php"] .ticket-stats-grid{
    display:grid;
    grid-template-columns: repeat(5, minmax(0,1fr));
    gap:12px;
    margin-bottom:16px;
}
body[data-ssi-page="tickets.php"] .ticket-stat-card{
    background: linear-gradient(180deg, #ffffff 0%, #f7fbf8 100%);
    border:1px solid #e7f2ea;
    border-radius:16px;
    padding:14px 16px;
    box-shadow:0 2px 8px rgba(0,0,0,.05);
}
body[data-ssi-page="tickets.php"] .ticket-stat-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
body[data-ssi-page="tickets.php"] .ticket-stat-label{font-size:.82rem;color:#6c757d;font-weight:600;}
body[data-ssi-page="tickets.php"] .ticket-stat-icon{width:36px;height:36px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:1rem;background:rgba(37,211,102,.12);color:var(--ssi-icon-color);}
body[data-ssi-page="tickets.php"] .ticket-stat-value{font-size:1.7rem;line-height:1;font-weight:800;color:#0f5132;}
body[data-ssi-page="tickets.php"] .ticket-stats-progress{margin-bottom:18px;background:#f8faf8;border:1px solid #ebf3ee;border-radius:14px;padding:12px 14px;}
body[data-ssi-page="tickets.php"] .ticket-stats-progress-head{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:.92rem;margin-bottom:8px;}
body[data-ssi-page="tickets.php"] .ticket-stats-progress .progress{height:10px;border-radius:999px;background:#e9f5ec;}
body[data-ssi-page="tickets.php"] .ticket-stats-progress .progress-bar{background:linear-gradient(90deg,#25D366 0%,#198754 100%);width:var(--progress-width, 0%);}
body[data-ssi-page="tickets.php"] .ticket-stat-card.is-total .ticket-stat-icon,
body[data-ssi-page="tickets.php"] .ticket-stat-card.is-open .ticket-stat-icon,
body[data-ssi-page="tickets.php"] .ticket-stat-card.is-process .ticket-stat-icon,
body[data-ssi-page="tickets.php"] .ticket-stat-card.is-resolved .ticket-stat-icon,
body[data-ssi-page="tickets.php"] .ticket-stat-card.is-archived .ticket-stat-icon{ background:rgba(37,211,102,.12); color:var(--ssi-icon-color); }
@media (max-width: 991px){ body[data-ssi-page="tickets.php"] .ticket-stats-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 576px){
  body[data-ssi-page="tickets.php"] .card-auto{ width:100%; min-width:0; padding: 12px; }
  body[data-ssi-page="tickets.php"] .card-center-wrapper{ padding-left: 0; padding-right: 0; }
  body[data-ssi-page="tickets.php"] .table-responsive{ margin-left: 0; margin-right: 0; }
  body[data-ssi-page="tickets.php"] .ticket-stats-grid{ grid-template-columns: 1fr; }
}

/* ===== usuarios.php :: style block 1 ===== */
body[data-ssi-page="usuarios.php"] .user-wrapper{
    display:flex;
    justify-content:center;
    width:100%;
}
body[data-ssi-page="usuarios.php"] .card-auto{
    width:90%;
    max-width:1100px;
    min-width:650px;
    margin:0 auto;
    border-radius:16px;
    border:1px solid var(--ssi-border);
    box-shadow:var(--ssi-shadow);
    background:var(--ssi-card);
}
body[data-ssi-page="usuarios.php"] .users-topbar{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    flex-wrap:wrap;
    margin-bottom:14px;
}
body[data-ssi-page="usuarios.php"] .users-title{
    display:flex;
    align-items:center;
    gap:10px;
}
body[data-ssi-page="usuarios.php"] .users-title-icon{
    width:44px;
    height:44px;
    border-radius:14px;
    display:grid;
    place-items:center;
    background:linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color:#fff;
    box-shadow:0 6px 18px rgba(18,140,126,.25);
    font-size:1.1rem;
}
body[data-ssi-page="usuarios.php"] .users-subtitle{
    color:#6c757d;
    font-size:.95rem;
    margin:0;
}
body[data-ssi-page="usuarios.php"] .stats-grid{
    display:grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:12px;
    margin-bottom:16px;
}
body[data-ssi-page="usuarios.php"] .stat-card{
    background:linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
    border:1px solid var(--ssi-border);
    border-radius:16px;
    padding:14px 16px;
    box-shadow:0 4px 12px rgba(0,0,0,.05);
}
body[data-ssi-page="usuarios.php"] .stat-card .label{
    font-size:.85rem;
    color:#6c757d;
    margin-bottom:4px;
}
body[data-ssi-page="usuarios.php"] .stat-card .value{
    font-size:1.35rem;
    font-weight:700;
    color:#1f2937;
}
body[data-ssi-page="usuarios.php"] .stat-card .mini{
    font-size:.82rem;
    color:#6c757d;
}
body[data-ssi-page="usuarios.php"] .search-box .input-group-text{
    background:#fff;
    border-color:rgba(0,0,0,.08);
}
body[data-ssi-page="usuarios.php"] .search-box .form-control{
    border-color:rgba(0,0,0,.08);
    box-shadow:none;
}
body[data-ssi-page="usuarios.php"] .search-box .form-control:focus{
    border-color:#25D366;
    box-shadow:0 0 0 .18rem rgba(37,211,102,.15);
}
body[data-ssi-page="usuarios.php"] .table-modern{
    border-collapse:separate !important;
    border-spacing:0 12px !important;
    margin-bottom:0;
}
body[data-ssi-page="usuarios.php"] .table-modern thead th{
    background:#eef1f4;
    border:none !important;
    padding:13px 14px;
    color:#374151;
    border-radius:8px;
    font-weight:700;
    font-size:.92rem;
    white-space:nowrap;
}
body[data-ssi-page="usuarios.php"] .table-modern tbody tr{
    background:#fff;
    border-radius:14px;
    box-shadow:0 2px 10px rgba(0,0,0,.08);
    transition:.18s ease;
}
body[data-ssi-page="usuarios.php"] .table-modern tbody tr:hover{
    background:#fcfcfc;
    transform:translateY(-1px);
    box-shadow:var(--ssi-shadow-hover);
}
body[data-ssi-page="usuarios.php"] .table-modern td{
    padding:14px !important;
    vertical-align:middle;
    border:none !important;
}
body[data-ssi-page="usuarios.php"] .user-name{
    font-weight:700;
    color:#1f2937;
    display:flex;
    align-items:center;
    gap:8px;
}
body[data-ssi-page="usuarios.php"] .user-mail{
    color:#4b5563;
    font-size:.94rem;
}
body[data-ssi-page="usuarios.php"] .chip-soft{
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:6px 10px;
    border-radius:999px;
    background:#f3f4f6;
    color:#374151;
    font-size:.82rem;
    line-height:1;
    border:1px solid rgba(0,0,0,.05);
}
body[data-ssi-page="usuarios.php"] .badge-role{
    font-size:.78rem;
    padding:.55em .8em;
}
body[data-ssi-page="usuarios.php"] .badge-status{
    font-size:.78rem;
    padding:.55em .8em;
    border:1px solid transparent;
}
body[data-ssi-page="usuarios.php"] .badge-status-active{
    background:#ecfdf3;
    color:#166534;
    border-color:rgba(22,101,52,.12);
}
body[data-ssi-page="usuarios.php"] .badge-status-blocked{
    background:#fff1f2;
    color:#be123c;
    border-color:rgba(190,18,60,.14);
}
body[data-ssi-page="usuarios.php"] .user-row-blocked{
    background:linear-gradient(180deg, #fff7f7 0%, #ffffff 100%) !important;
}
body[data-ssi-page="usuarios.php"] .user-status-note{
    color:#b91c1c;
    font-size:.8rem;
    margin-top:4px;
}
body[data-ssi-page="usuarios.php"] .form-help-soft{
    font-size:.82rem;
    color:#6b7280;
}
body[data-ssi-page="usuarios.php"] .access-stack{
    display:flex;
    flex-direction:column;
    gap:6px;
}
body[data-ssi-page="usuarios.php"] .access-main{
    display:flex;
    align-items:center;
    gap:8px;
    font-weight:600;
    color:#1f2937;
    font-size:.92rem;
}
body[data-ssi-page="usuarios.php"] .access-meta{
    color:#6b7280;
    font-size:.82rem;
    line-height:1.25;
    word-break:break-word;
}
body[data-ssi-page="usuarios.php"] .btn-wa{
    background:linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    color:#fff;
    border:none;
    border-radius:12px;
    box-shadow:0 8px 18px rgba(18,140,126,.18);
}
body[data-ssi-page="usuarios.php"] .btn-wa:hover{
    color:#fff;
    transform:translateY(-1px);
    box-shadow:0 10px 24px rgba(18,140,126,.24);
}
body[data-ssi-page="usuarios.php"] .btn-soft{
    border-radius:12px;
}
body[data-ssi-page="usuarios.php"] .actions-cell{
    width:92px;
}
body[data-ssi-page="usuarios.php"] .actions-grid{
    display:grid;
    grid-template-columns:repeat(2, 38px);
    justify-content:end;
    gap:6px;
}
body[data-ssi-page="usuarios.php"] .actions-grid > form{
    margin:0;
}
body[data-ssi-page="usuarios.php"] .actions-grid .btn{
    width:38px;
    height:38px;
    padding:0;
    display:inline-flex;
    align-items:center;
    justify-content:center;
}
body[data-ssi-page="usuarios.php"] .modal-content{
    border:none;
    border-radius:18px;
    overflow:hidden;
    box-shadow:0 18px 38px rgba(0,0,0,.16);
}
body[data-ssi-page="usuarios.php"] .modal-header{
    background:linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
    border-bottom:1px solid rgba(0,0,0,.06);
}
body[data-ssi-page="usuarios.php"] .modal-footer{
    border-top:1px solid rgba(0,0,0,.06);
}
body[data-ssi-page="usuarios.php"] .log-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
body[data-ssi-page="usuarios.php"] .log-item{
    border:1px solid rgba(0,0,0,.08);
    border-radius:14px;
    padding:12px;
    background:#fff;
}
body[data-ssi-page="usuarios.php"] .log-date{
    font-weight:700;
    color:#1f2937;
    margin-bottom:5px;
}
body[data-ssi-page="usuarios.php"] .log-line{
    color:#4b5563;
    font-size:.92rem;
    line-height:1.3;
}
body[data-ssi-page="usuarios.php"] .log-muted{
    color:#6b7280;
    font-size:.84rem;
}
body[data-ssi-page="usuarios.php"] .deps-box{
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    padding:10px;
    max-height:150px;
    overflow:auto;
    background:#fff;
}
body[data-ssi-page="usuarios.php"] .empty-state{
    border:1px dashed rgba(0,0,0,.12);
    border-radius:14px;
    padding:14px;
    background:#fafafa;
    color:#6b7280;
    font-size:.92rem;
}
@media (max-width: 992px){
    body[data-ssi-page="usuarios.php"] .card-auto{
        width:100%;
        min-width:0;
    }
    body[data-ssi-page="usuarios.php"] .stats-grid{
        grid-template-columns:1fr;
    }
    body[data-ssi-page="usuarios.php"] .table-responsive{
        overflow-x:auto;
    }
}

/* ===== reserva_borrar.php ===== */
body[data-ssi-page="reserva_borrar.php"] .reservation-delete-container{
    max-width:840px;
}
