.v7-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.v7-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.v7-toolbar{display:flex;gap:.6rem;flex-wrap:wrap;align-items:end;margin-bottom:1rem}.v7-toolbar>*{flex:1;min-width:160px}.v7-table-wrap{overflow:auto;background:#fff;border-radius:16px;box-shadow:0 8px 25px #173b470f}.v7-table{width:100%;border-collapse:collapse;min-width:820px}.v7-table th,.v7-table td{padding:.75rem;border-bottom:1px solid #e6edef;text-align:left;vertical-align:top}.v7-table th{background:#eef6f7;position:sticky;top:0}.money-positive{color:#167447;font-weight:700}.money-negative{color:#b93838;font-weight:700}.v7-badge{display:inline-block;padding:.25rem .5rem;border-radius:999px;background:#edf1f2;font-size:.78rem;font-weight:700}.v7-modal{position:fixed;inset:0;background:#0008;display:grid;place-items:center;padding:1rem;z-index:10000}.v7-modal-card{width:min(760px,100%);max-height:92vh;overflow:auto;background:#fff;padding:1.25rem;border-radius:18px}.v7-modal-card h3{margin-top:0}.v7-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.v7-summary .stat{border-left:4px solid var(--primary)}.calendar-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.8rem}.calendar-card{background:#fff;padding:1rem;border-radius:14px;border-left:5px solid var(--primary)}.warning{background:#fff5d8;color:#735700;padding:.7rem;border-radius:9px}.nowrap{white-space:nowrap}@media(max-width:850px){.v7-grid,.v7-grid.three,.v7-summary{grid-template-columns:1fr}.v7-modal-card{padding:1rem}}
.top-actions{display:flex;align-items:center;gap:1rem}.notification-wrap{position:relative}.notification-bell{border:0;background:#fff;border-radius:999px;width:44px;height:44px;font-size:1.3rem;box-shadow:0 4px 15px #0002;cursor:pointer;position:relative}.notification-bell span{position:absolute;right:-4px;top:-4px;background:#c62828;color:#fff;border-radius:999px;min-width:20px;height:20px;padding:0 5px;font-size:.72rem;display:grid;place-items:center}.notification-panel{display:none;position:absolute;right:0;top:52px;width:min(340px,85vw);background:#fff;border-radius:14px;padding:1rem;box-shadow:0 14px 35px #0003;z-index:999}.notification-panel.open{display:block}.notification-item{padding:.65rem 0;border-bottom:1px solid #e7ecee}.phone-field{display:flex;align-items:center;border:1px solid #cbd7db;border-radius:8px;background:#fff;overflow:hidden}.phone-field span{padding:.72rem;background:#eef4f5;font-weight:700;white-space:nowrap}.phone-field input{border:0!important;border-radius:0!important;box-shadow:none!important}.type-arriendo{border-left-color:#d97706}.type-actividad{border-left-color:#2563eb}.type-zumba{border-left-color:#7c3aed}.type-bloqueo{border-left-color:#64748b}@media print{.sidebar,.topbar,.panel .actions,.v7-toolbar,#finanzas-body,.notification-wrap{display:none!important}.admin-main{margin:0!important}.admin-section{display:none!important}#section-finanzas{display:block!important}.v7-table-wrap{box-shadow:none}.panel{box-shadow:none}}

.notification-item.unread{font-weight:700;background:#f0f8fa;margin:0 -.45rem;padding:.65rem .45rem;border-radius:8px}.notification-item.unread::before{content:"•";color:#c62828;margin-right:.45rem}.notification-panel strong{display:block;margin-bottom:.35rem}

.calendar-card.is-cancelled{opacity:.62;border-style:dashed}.calendar-card.is-cancelled strong{text-decoration:line-through}

.socio-baja{opacity:.7;background:#f5f5f5}.socio-baja td{color:#666}.status-activo{background:#dcfce7;color:#166534}.status-baja,.status-fallecido{background:#fee2e2;color:#991b1b}.status-suspendido{background:#fef3c7;color:#92400e}

/* SIGVE alpha.3: Zumba y herramientas de prueba */
.zumba-days-field{min-width:0}.zumba-days-field>span{display:block;font-weight:600;margin-bottom:.45rem}.zumba-days{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;align-items:stretch;min-height:44px;width:100%;min-width:0}.zumba-days .check{display:flex;align-items:center;gap:.4rem;min-width:0;margin:0;padding:.55rem .65rem;border:1px solid #d9e2e5;border-radius:10px;background:#fff;white-space:normal;overflow-wrap:anywhere}.zumba-days .check input{flex:0 0 auto}.zumba-month-nav{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.zumba-month-nav input[type="month"]{min-width:180px}.zumba-calendar-heading{gap:1rem}.test-delete{background:#7f1d1d!important}.test-delete:hover{filter:brightness(.9)}#section-zumba input[type="month"],#section-zumba select{min-height:42px}@media(max-width:800px){#section-zumba .panel-heading{align-items:flex-start}#section-zumba .panel-heading>.actions{width:100%;flex-wrap:wrap}}

@media(max-width:1050px){.zumba-days{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.zumba-days{grid-template-columns:repeat(2,minmax(0,1fr))}.zumba-month-nav{width:100%}.zumba-month-nav input[type="month"]{flex:1;min-width:0}.zumba-calendar-heading{align-items:flex-start}}
@media(max-width:420px){.zumba-days{grid-template-columns:1fr}.zumba-days .check{padding:.5rem .6rem}}
.v7-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;margin-top:.45rem}.special-admin{grid-column:1/-1;border:1px solid #d7e2d9;border-radius:12px;padding:1rem;background:#f8faf8}.special-admin[hidden]{display:none}.special-admin textarea{min-height:90px}@media(max-width:650px){.v7-check-grid{grid-template-columns:1fr}}

.sede-month-nav{margin-top:1rem;justify-content:flex-end}.type-administrativa{border-left:5px solid #2563eb}.notification-count.ringing,.notification-bell .ringing{animation:bell-ring .8s ease-in-out infinite alternate}.notification-bell.ringing{animation:bell-ring .8s ease-in-out infinite alternate}.notification-item{display:block;width:100%;border:0;background:transparent;text-align:left;cursor:pointer}.notification-item:hover{background:#f3f4f6}@keyframes bell-ring{from{transform:rotate(-8deg)}to{transform:rotate(8deg)}}
