*{box-sizing:border-box}
body{font-family:Arial,Helvetica,sans-serif;margin:0;background:#f5f6f8;color:#222}
.wrap{display:flex;min-height:100vh}
aside{width:230px;background:#fff;padding:22px 16px;border-right:1px solid #e5e7eb}
.brand{font-weight:700;font-size:18px;margin:0 8px 24px}
nav button{display:block;width:100%;text-align:left;background:#fff;border:0;padding:12px 10px;border-radius:9px;cursor:pointer;margin:2px 0}
nav button:hover,nav button.active{background:#eef1f5}
main{flex:1;padding:28px;max-width:1250px}
h1{margin:0 0 5px;font-size:26px}.muted{color:#6b7280;font-size:14px}
.top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}
.card{background:#fff;padding:18px;border:1px solid #e5e7eb;border-radius:14px;margin:12px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}
button{padding:10px 14px;border:0;border-radius:8px;cursor:pointer}
.primary{background:#222;color:#fff}.secondary{background:#fff;border:1px solid #d1d5db}
.danger{background:#fff;border:1px solid #ef4444;color:#b91c1c}
.hidden{display:none!important}
input,select,textarea{width:100%;padding:10px;border:1px solid #d1d5db;border-radius:8px;font:inherit}
textarea{min-height:95px;resize:vertical}
label{display:block;font-size:13px;font-weight:700;margin:12px 0 6px}
.search{margin-bottom:14px}
.row{padding:14px 16px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;gap:16px;align-items:center}
.row:last-child{border-bottom:0}
.list{background:#fff;border:1px solid #e5e7eb;border-radius:14px;overflow:hidden}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.badge{background:#eef1f5;padding:5px 9px;border-radius:999px;font-size:12px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.three{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9}
.modalbox{width:min(700px,100%);max-height:92vh;overflow:auto;background:#fff;border-radius:16px;padding:22px}
.modalhead{display:flex;justify-content:space-between;gap:10px;align-items:center}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.section-title{font-size:16px;font-weight:700;margin-top:20px}
.inlinecheck{display:flex;gap:8px;align-items:center;margin-top:12px}
.inlinecheck input{width:auto}
.small{font-size:12px}
.agenda-day-group{margin-bottom:14px}
.agenda-day-title{font-weight:700;padding:10px 14px;background:#f8fafc;border-bottom:1px solid #e5e7eb}
.month-grid{display:grid;grid-template-columns:repeat(7,minmax(120px,1fr));gap:0;border:1px solid #d1d5db;border-radius:12px;overflow:hidden;background:#fff}
.month-cell{background:#fff;border-right:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;min-height:115px;padding:8px}
.month-cell.mutedday{opacity:.45}
.month-date{font-weight:700;font-size:13px;margin-bottom:6px}
.month-appt{font-size:11px;padding:4px 5px;background:#eef1f5;border-radius:6px;margin:3px 0;cursor:pointer}
.week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));gap:0;border:1px solid #d1d5db;border-radius:12px;overflow:auto;background:#fff}
.week-col{background:#fff;border-right:1px solid #e5e7eb;min-width:130px}
.week-col:last-child{border-right:0}
.week-head{font-weight:700;padding:11px;background:#f8fafc;font-size:12px;text-align:center;border-bottom:1px solid #e5e7eb;position:sticky;top:0}
.week-item{padding:8px;border-bottom:1px solid #eee;font-size:12px;min-height:76px}
.week-item:last-child{border-bottom:0}
@media(max-width:1050px){.week-grid{overflow-x:auto}.month-grid{min-width:840px}.calendar-scroll{overflow-x:auto}}
@media(max-width:820px){
 aside{width:76px}.brand{font-size:0}.brand:after{content:"🐾";font-size:22px}nav button{font-size:0;text-align:center}nav button:first-letter{font-size:19px}
 main{padding:18px}.two,.three,.detail-grid{grid-template-columns:1fr}.top{align-items:flex-start;flex-direction:column}
}

.business-brand{display:flex;align-items:center;justify-content:center;gap:12px;margin:0 0 18px 0;text-align:center}
.business-logo{width:58px;height:58px;border-radius:14px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;padding:4px}
.business-logo-placeholder{width:58px;height:58px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:#f3f4f6;border:1px dashed #cbd5e1;font-size:28px}
.logo-preview{width:92px;height:92px;border-radius:16px;object-fit:contain;background:#fff;border:1px solid #e5e7eb;padding:5px}

.dashboard-header-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  width:100%;
  min-height:68px;
  margin:0 0 18px 0;
}
.dashboard-title-left{justify-self:start;}
.dashboard-title-left h1{margin:0;}
.dashboard-brand-center{
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
}
.dashboard-brand-text{display:flex;align-items:center;font-size:18px;}
.dashboard-header-spacer{justify-self:end;}
@media (max-width:760px){
  .dashboard-header-row{grid-template-columns:auto 1fr;gap:12px;}
  .dashboard-brand-center{justify-self:end;}
  .dashboard-header-spacer{display:none;}
  .dashboard-brand-text{display:none;}
}

.dashboard-header-action{
  justify-self:end;
  display:flex;
  align-items:center;
}
@media (max-width:760px){
  .dashboard-header-action{
    grid-column:1 / -1;
    justify-self:stretch;
  }
  .dashboard-header-action .primary{
    width:100%;
  }
}

/* ===== DISEÑO VISUAL DEFINITIVO · CAPA 1 ===== */
:root{
  --ui-radius:16px;
  --ui-radius-sm:11px;
  --ui-shadow:0 8px 28px rgba(28,34,55,.07);
  --ui-shadow-hover:0 12px 34px rgba(28,34,55,.11);
  --ui-border:#e8eaf1;
  --ui-bg:#f7f8fc;
  --ui-text:#252938;
  --ui-muted:#74798b;
  --ui-accent:#7467e8;
  --ui-accent-soft:#efedff;
}
*{box-sizing:border-box}
body{
  background:var(--ui-bg);
  color:var(--ui-text);
  line-height:1.45;
}
.sidebar, aside{
  box-shadow:8px 0 30px rgba(35,38,58,.04);
}
.sidebar button, aside button{
  border-radius:10px;
  transition:.18s ease;
}
.sidebar button:hover, aside button:hover{
  transform:translateX(2px);
}
main, .main{
  background:var(--ui-bg);
}
h1,h2,h3{letter-spacing:-.02em}
h1{font-size:28px}
.muted{color:var(--ui-muted)}
.card{
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius);
  box-shadow:var(--ui-shadow);
  background:#fff;
  transition:box-shadow .18s ease, transform .18s ease;
}
.card:hover{box-shadow:var(--ui-shadow-hover)}
.primary{
  border-radius:10px;
  font-weight:700;
  min-height:40px;
  box-shadow:0 5px 14px rgba(116,103,232,.18);
}
.secondary{
  border-radius:10px;
  min-height:38px;
}
input,select,textarea{
  border-radius:10px !important;
  border:1px solid #dfe2ea !important;
  min-height:40px;
  background:#fff;
}
input:focus,select:focus,textarea:focus{
  outline:none;
  border-color:var(--ui-accent) !important;
  box-shadow:0 0 0 3px rgba(116,103,232,.10);
}
.section-title{
  margin-top:24px;
  margin-bottom:12px;
  font-size:16px;
  font-weight:800;
}
.badge{
  border-radius:999px;
  padding:5px 10px;
  font-weight:700;
}
.row{
  border-radius:12px;
  transition:background .15s ease;
}
.row:hover{background:#fafaff}
.modal{
  backdrop-filter:blur(4px);
}
.modal-card{
  border-radius:18px;
  box-shadow:0 24px 70px rgba(20,25,45,.18);
  border:1px solid var(--ui-border);
}

/* Dashboard header approved layout */
.dashboard-header-row{
  min-height:76px;
  padding:4px 0 14px;
  border-bottom:1px solid var(--ui-border);
  margin-bottom:22px;
}
.dashboard-title-left h1{
  font-size:30px;
  font-weight:800;
}
.dashboard-brand-center{
  flex-direction:column;
  gap:4px;
}
.dashboard-brand-center .business-logo,
.dashboard-brand-center .business-logo-placeholder{
  width:54px;
  height:54px;
  border-radius:14px;
}
.dashboard-brand-text{
  font-size:14px;
  font-weight:700;
}
.dashboard-header-action .primary{
  padding:0 18px;
}

/* KPI/dashboard cards */
#inicio .grid .card{
  min-height:116px;
  padding:18px;
}
#inicio .grid .card h3{
  font-size:25px;
  margin:8px 0 3px;
}
#inicio .grid{
  gap:14px;
}

/* Lists and tables */
table{
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:12px;
}
th{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.04em;
  color:var(--ui-muted);
  background:#fafbfe;
}
td,th{border-color:var(--ui-border) !important}

/* Agenda */
#agenda .card{
  overflow:hidden;
}

/* Mobile */
@media(max-width:760px){
  h1{font-size:24px}
  .dashboard-header-row{
    padding-bottom:12px;
  }
  .dashboard-title-left h1{font-size:25px}
  #inicio .grid .card{min-height:auto}
}

/* ===== IDENTIDAD VISUAL ESTRELLITA'S PELUQUERÍA ===== */
:root{
  --brand-orange:#A52649;
  --brand-orange-dark:#8F1F40;
  --brand-berry:#B03050;
  --brand-berry-dark:#90243F;
  --brand-pink:#F7E8EC;
  --brand-peach:#FCEDE5;
  --brand-yellow:#FFD000;
  --brand-ink:#28232A;
  --brand-cream:#FFF9F6;
  --ui-accent:var(--brand-berry);
  --ui-accent-soft:var(--brand-pink);
  --ui-bg:#FFF9F7;
  --ui-text:var(--brand-ink);
}

/* Panel lateral */
.sidebar, aside{
  background:linear-gradient(180deg,var(--brand-berry-dark) 0%,var(--brand-berry) 100%) !important;
  color:#fff !important;
  border-right:0 !important;
}
.sidebar h1,.sidebar h2,.sidebar h3,.sidebar b,
aside h1,aside h2,aside h3,aside b{
  color:#fff !important;
}
.sidebar button, aside button{
  color:rgba(255,255,255,.90) !important;
  background:transparent !important;
  border-color:transparent !important;
}
.sidebar button:hover, aside button:hover{
  background:rgba(255,255,255,.10) !important;
  color:#fff !important;
}
.sidebar button.active, aside button.active,
.sidebar .active, aside .active{
  background:#fff !important;
  color:var(--brand-berry-dark) !important;
  box-shadow:0 6px 18px rgba(70,16,35,.16);
}
.sidebar .muted, aside .muted{
  color:rgba(255,255,255,.72) !important;
}

/* Acciones */
.primary{
  background:linear-gradient(135deg,var(--brand-orange),var(--brand-orange-dark)) !important;
  border-color:var(--brand-orange) !important;
  color:#fff !important;
  box-shadow:0 6px 16px rgba(240,112,48,.24) !important;
}
.primary:hover{
  filter:brightness(.98);
  transform:translateY(-1px);
}
.secondary{
  color:var(--brand-berry-dark);
  border-color:#E9CCD5 !important;
  background:#fff;
}
.secondary:hover{
  background:var(--brand-pink);
}

/* Dashboard */
.dashboard-header-row{
  background:transparent;
}
.dashboard-title-left h1{
  color:var(--brand-ink);
}
.dashboard-brand-center .business-logo,
.dashboard-brand-center .business-logo-placeholder{
  border:2px solid var(--brand-pink);
  background:#fff;
}
.dashboard-brand-text b{
  color:var(--brand-berry-dark);
}
#inicio .grid .card:nth-child(1){
  border-top:3px solid var(--brand-berry);
}
#inicio .grid .card:nth-child(2){
  border-top:3px solid var(--brand-orange);
}
#inicio .grid .card:nth-child(3){
  border-top:3px solid #E7A33C;
}
#inicio .grid .card:nth-child(4){
  border-top:3px solid #6EAD83;
}

/* Inputs y foco */
input:focus,select:focus,textarea:focus{
  border-color:var(--brand-berry) !important;
  box-shadow:0 0 0 3px rgba(176,48,80,.10) !important;
}

/* Detalles y estados */
.section-title{
  color:var(--brand-berry-dark);
}
a{
  color:var(--brand-berry);
}
.badge{
  border:1px solid rgba(176,48,80,.12);
}

/* Cabeceras suaves */
th{
  background:var(--brand-cream) !important;
}

/* Selecciones y pequeños acentos */
::selection{
  background:var(--brand-pink);
  color:var(--brand-berry-dark);
}

/* ===== AJUSTE PANEL LATERAL ESTRELLITA'S V2 ===== */
:root{
  --brand-sidebar-light:#C34F6B;
  --brand-sidebar-mid:#B94260;
}
.sidebar, aside{
  background:linear-gradient(180deg,var(--brand-sidebar-light) 0%,var(--brand-sidebar-mid) 100%) !important;
}
.sidebar button, aside button{
  font-size:15.5px !important;
  font-weight:700 !important;
  letter-spacing:.01em;
  min-height:43px;
}
.sidebar button.active, aside button.active,
.sidebar .active, aside .active{
  font-weight:800 !important;
}
.sidebar h1,.sidebar h2,.sidebar h3,.sidebar b,
aside h1,aside h2,aside h3,aside b{
  font-weight:800 !important;
}
.sidebar .muted, aside .muted{
  font-size:13.5px !important;
  font-weight:600 !important;
}

/* ===== PALETA ARMÓNICA CLARA · ESTRELLITA'S V3 ===== */
:root{
  --harmonic-sidebar:#FFF4F2;
  --harmonic-sidebar-2:#FCEDEA;
  --harmonic-text:#87344A;
  --harmonic-active:#F3D8DE;
  --harmonic-active-border:#E8BAC6;
  --harmonic-orange:#A52649;
  --harmonic-orange-dark:#8F1F40;
  --harmonic-bg:#FFFBF9;
}

/* Panel izquierdo claro y cálido */
.sidebar, aside{
  background:linear-gradient(180deg,var(--harmonic-sidebar) 0%,var(--harmonic-sidebar-2) 100%) !important;
  color:var(--harmonic-text) !important;
  border-right:1px solid #F0DFDC !important;
  box-shadow:8px 0 28px rgba(112,66,76,.045) !important;
}

/* Conserva las letras grandes/negritas aprobadas */
.sidebar button, aside button{
  color:var(--harmonic-text) !important;
  background:transparent !important;
  font-size:15.5px !important;
  font-weight:700 !important;
}
.sidebar button:hover, aside button:hover{
  background:rgba(243,216,222,.55) !important;
  color:#70283C !important;
}
.sidebar button.active, aside button.active,
.sidebar .active, aside .active{
  background:var(--harmonic-active) !important;
  color:#70283C !important;
  border:1px solid var(--harmonic-active-border) !important;
  box-shadow:none !important;
  font-weight:800 !important;
}
.sidebar h1,.sidebar h2,.sidebar h3,.sidebar b,
aside h1,aside h2,aside h3,aside b{
  color:var(--harmonic-text) !important;
}
.sidebar .muted, aside .muted{
  color:#9B6876 !important;
}

/* Fondo general más cálido */
body,main,.main{
  background:var(--harmonic-bg) !important;
}

/* Naranja reservado para acciones importantes */
.primary{
  background:linear-gradient(135deg,var(--harmonic-orange),var(--harmonic-orange-dark)) !important;
  border-color:var(--harmonic-orange) !important;
  color:#fff !important;
}

/* Bordó como acento editorial, no como gran superficie */
.section-title,
.dashboard-brand-text b{
  color:var(--harmonic-text) !important;
}

/* Tarjetas limpias */
.card{
  background:#fff !important;
  border-color:#EEE5E4 !important;
}

/* ===== MENÚ NEGRO + SELECCIÓN BORDÓ · V4 ===== */
.sidebar button, aside button{
  color:#242124 !important;
  font-weight:700 !important;
}
.sidebar button:hover, aside button:hover{
  color:#87344A !important;
}
.sidebar button.active, aside button.active,
.sidebar .active, aside .active{
  color:#87344A !important;
  font-weight:800 !important;
  background:#F3D8DE !important;
  border-color:#E8BAC6 !important;
}

/* ===== AGENDA · DISEÑO VISUAL DEFINITIVO V5 ===== */

/* Cabecera de Agenda */
#agenda .top{
  align-items:center;
  gap:14px;
}
#agenda .top h1{
  margin-bottom:2px;
}

/* Selector Hoy / Semanal / Mensual */
#agenda .tabs,
#agenda .view-tabs,
#agenda .agenda-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
#agenda .tabs button,
#agenda .view-tabs button,
#agenda .agenda-tabs button{
  min-height:38px;
  padding:8px 14px;
  border-radius:10px;
  font-weight:700;
  border:1px solid #E7D8D8;
  background:#fff;
  color:#2A2628;
}
#agenda .tabs button.active,
#agenda .view-tabs button.active,
#agenda .agenda-tabs button.active{
  background:#F3D8DE !important;
  color:#87344A !important;
  border-color:#E8BAC6 !important;
}

/* Filtros */
#agenda .card:has(input),
#agenda .card:has(select){
  border-color:#EEE4E1 !important;
}
#agenda .actions{
  gap:10px;
  flex-wrap:wrap;
}
#agenda input,
#agenda select{
  background:#fff;
}

/* Tarjetas de turno */
#agenda .row{
  background:#fff;
  border:1px solid #EEE5E4;
  border-left:4px solid #F0C8D1;
  padding:14px 16px;
  margin-bottom:10px;
  box-shadow:0 4px 14px rgba(78,57,62,.045);
}
#agenda .row:hover{
  background:#FFFBFA;
  border-left-color:#87344A;
  box-shadow:0 7px 18px rgba(78,57,62,.07);
}
#agenda .row b{
  color:#292428;
}

/* Horarios */
#agenda .time,
#agenda [class*="time"]{
  font-weight:800;
  color:#87344A;
}

/* Estados */
#agenda .badge{
  font-size:12.5px;
  padding:5px 10px;
}

/* Calendario semanal/mensual */
#agenda table{
  width:100%;
  background:#fff;
  border:1px solid #EEE5E4;
}
#agenda th{
  background:#FFF3F0 !important;
  color:#6F3948;
  font-weight:800;
  padding:12px 8px;
}
#agenda td{
  background:#fff;
  vertical-align:top;
  min-height:90px;
}
#agenda td:hover{
  background:#FFF9F7;
}

/* Celdas con contenido de turno */
#agenda td .badge,
#agenda td button,
#agenda td .appointment{
  font-size:12px;
}

/* Botón Nuevo Turno */
#agenda .primary{
  white-space:nowrap;
}

/* Mobile */
@media(max-width:760px){
  #agenda .top{
    align-items:flex-start;
    flex-direction:column;
  }
  #agenda .top .primary{
    width:100%;
  }
  #agenda .actions input,
  #agenda .actions select{
    width:100%;
  }
}

/* ===== CLIENTES + MASCOTAS · DISEÑO VISUAL V6 ===== */

/* Títulos y cabeceras */
#clientes .top,
#mascotas .top{
  align-items:center;
  gap:14px;
}
#clientes .top h1,
#mascotas .top h1{
  color:#87344A;
}

/* Barras de búsqueda y filtros */
#clientes .actions,
#mascotas .actions{
  gap:10px;
  flex-wrap:wrap;
}
#clientes input,
#clientes select,
#mascotas input,
#mascotas select{
  background:#fff;
  border-color:#E8DEDC;
}
#clientes input:focus,
#clientes select:focus,
#mascotas input:focus,
#mascotas select:focus{
  border-color:#C98091 !important;
  box-shadow:0 0 0 3px rgba(201,128,145,.12);
}

/* Tarjetas/listado de clientes y mascotas */
#clientes .row,
#mascotas .row{
  background:#fff;
  border:1px solid #EEE5E4;
  border-left:4px solid #F0C8D1;
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:10px;
  box-shadow:0 4px 14px rgba(78,57,62,.045);
}
#clientes .row:hover,
#mascotas .row:hover{
  border-left-color:#87344A;
  background:#FFFBFA;
  box-shadow:0 7px 18px rgba(78,57,62,.07);
}

/* Nombre principal */
#clientes .row b,
#mascotas .row b{
  color:#282326;
  font-size:15px;
  font-weight:800;
}

/* Información secundaria */
#clientes .muted,
#mascotas .muted{
  color:#7E7075;
}

/* Botones secundarios dentro de fichas */
#clientes .secondary,
#mascotas .secondary{
  background:#F8E9ED !important;
  color:#87344A !important;
  border-color:#E9C9D1 !important;
  font-weight:700;
}
#clientes .secondary:hover,
#mascotas .secondary:hover{
  background:#F3D8DE !important;
}

/* Fichas de detalle */
#clientes .card,
#mascotas .card{
  border-color:#EEE5E4 !important;
  box-shadow:0 5px 18px rgba(78,57,62,.045);
}
#clientes .card h2,
#clientes .card h3,
#mascotas .card h2,
#mascotas .card h3{
  color:#87344A;
}

/* Mascotas asociadas dentro de Cliente */
#clientes .card .row{
  border-left-color:#E9A9B8;
}
#clientes .card .row:hover{
  border-left-color:#87344A;
}

/* Foto/avatar de mascota */
#mascotas img{
  border-radius:14px;
  border:2px solid #F0D7DD;
  background:#FFF8F6;
}

/* Salud / bloques informativos */
#mascotas .badge,
#clientes .badge{
  font-weight:700;
}
#mascotas .card p strong,
#clientes .card p strong{
  color:#6E3847;
}

/* Observaciones permanentes */
#mascotas textarea{
  background:#FFFDFC;
  border:1px solid #E9DCDA;
  border-radius:12px;
}
#mascotas textarea:focus{
  border-color:#C98091 !important;
  box-shadow:0 0 0 3px rgba(201,128,145,.12);
}

/* Botones principales */
#clientes .primary,
#mascotas .primary{
  box-shadow:0 5px 14px rgba(240,112,48,.16);
}

/* Tablas */
#clientes table,
#mascotas table{
  background:#fff;
  border:1px solid #EEE5E4;
}
#clientes th,
#mascotas th{
  background:#FFF3F0 !important;
  color:#6F3948;
  font-weight:800;
}
#clientes td,
#mascotas td{
  border-color:#F0E7E5;
}

/* Enlace Ver ficha */
#clientes a,
#mascotas a{
  color:#87344A;
  font-weight:700;
}
#clientes a:hover,
#mascotas a:hover{
  color:#B03050;
}

/* Responsive */
@media(max-width:760px){
  #clientes .top,
  #mascotas .top{
    align-items:flex-start;
    flex-direction:column;
  }
  #clientes .top .primary,
  #mascotas .top .primary{
    width:100%;
  }
  #clientes .actions input,
  #clientes .actions select,
  #mascotas .actions input,
  #mascotas .actions select{
    width:100%;
  }
}

/* ===== CONTENIDO CENTRAL NEUTRO · V7 =====
   El bordó queda reservado al menú lateral seleccionado.
   En el área central usamos grafito, gris cálido y naranja para acciones.
*/
main, .main, .content{
  color:#2B292A !important;
}

/* Títulos del contenido central */
main h1, main h2, main h3, main h4,
.main h1, .main h2, .main h3, .main h4,
.content h1, .content h2, .content h3, .content h4,
.section-title,
#clientes .top h1, #mascotas .top h1,
#clientes .card h2, #clientes .card h3,
#mascotas .card h2, #mascotas .card h3{
  color:#292729 !important;
}

/* Textos destacados y horarios */
main strong, main b,
.main strong, .main b,
.content strong, .content b,
#agenda .time, #agenda [class*="time"],
#mascotas .card p strong, #clientes .card p strong{
  color:#343033 !important;
}

/* Texto secundario */
main .muted, .main .muted, .content .muted,
#clientes .muted, #mascotas .muted{
  color:#777174 !important;
}

/* Links del contenido: grafito, con naranja al interactuar */
main a, .main a, .content a,
#clientes a, #mascotas a{
  color:#343033 !important;
}
main a:hover, .main a:hover, .content a:hover,
#clientes a:hover, #mascotas a:hover{
  color:#8F1F40 !important;
}

/* Encabezados de tablas en gris cálido */
main th, .main th, .content th,
#agenda th, #clientes th, #mascotas th{
  color:#403B3D !important;
  background:#F7F3F1 !important;
}

/* Botones secundarios centrales neutrales */
main .secondary, .main .secondary, .content .secondary,
#clientes .secondary, #mascotas .secondary{
  background:#F4F1F0 !important;
  color:#343033 !important;
  border-color:#E3DDDA !important;
}
main .secondary:hover, .main .secondary:hover, .content .secondary:hover,
#clientes .secondary:hover, #mascotas .secondary:hover{
  background:#EEE8E5 !important;
  color:#242124 !important;
}

/* Marca central: nombre neutro; el logo conserva identidad visual */
.dashboard-brand-text b{
  color:#292729 !important;
}

/* El menú izquierdo mantiene negro normal + bordó al seleccionar */
.sidebar button, aside button{
  color:#242124 !important;
}
.sidebar button.active, aside button.active,
.sidebar .active, aside .active{
  color:#87344A !important;
}

/* Naranja sigue siendo el acento de acción principal */
main .primary, .main .primary, .content .primary{
  color:#fff !important;
}

/* ===== SERVICIOS + FINANZAS · DISEÑO VISUAL V8 ===== */

/* Cabeceras */
#servicios .top,
#finanzas .top{
  align-items:center;
  gap:14px;
}

#servicios .top h1,
#finanzas .top h1{
  color:#292729 !important;
}

/* Tarjetas generales */
#servicios .card,
#finanzas .card{
  background:#fff !important;
  border:1px solid #EDE7E4 !important;
  box-shadow:0 5px 18px rgba(55,48,51,.045);
}

/* Servicios: listado más limpio */
#servicios .row{
  background:#fff;
  border:1px solid #ECE6E3;
  border-left:4px solid #E5DDD9;
  border-radius:14px;
  padding:14px 16px;
  margin-bottom:10px;
  box-shadow:0 4px 14px rgba(55,48,51,.04);
}

#servicios .row:hover{
  border-left-color:#A52649;
  background:#FFFCFA;
  box-shadow:0 7px 18px rgba(55,48,51,.065);
}

#servicios .row b,
#servicios strong{
  color:#2E2A2C !important;
  font-weight:800;
}

#servicios .muted{
  color:#777174 !important;
}

/* Estados activo/inactivo de servicios */
#servicios .badge{
  font-weight:700;
  border-radius:999px;
}

/* Finanzas: KPI */
#finanzas .grid,
#finanzas .stats,
#finanzas .kpis{
  gap:12px;
}

#finanzas .kpi,
#finanzas .stat,
#finanzas .metric{
  background:#fff;
  border:1px solid #EDE7E4;
  border-radius:16px;
  box-shadow:0 5px 16px rgba(55,48,51,.045);
}

#finanzas .kpi b,
#finanzas .stat b,
#finanzas .metric b{
  color:#292729 !important;
}

/* Acentos financieros suaves y semánticos */
#finanzas .kpi:nth-child(1),
#finanzas .stat:nth-child(1),
#finanzas .metric:nth-child(1){
  border-top:4px solid #59A36A;
}

#finanzas .kpi:nth-child(2),
#finanzas .stat:nth-child(2),
#finanzas .metric:nth-child(2){
  border-top:4px solid #D66565;
}

#finanzas .kpi:nth-child(3),
#finanzas .stat:nth-child(3),
#finanzas .metric:nth-child(3){
  border-top:4px solid #6A8FBF;
}

#finanzas .kpi:nth-child(4),
#finanzas .stat:nth-child(4),
#finanzas .metric:nth-child(4){
  border-top:4px solid #E2A84A;
}

/* Filtros y formularios */
#servicios .actions,
#finanzas .actions{
  gap:10px;
  flex-wrap:wrap;
}

#servicios input,
#servicios select,
#finanzas input,
#finanzas select,
#finanzas textarea{
  background:#fff;
  border-color:#E5DEDB;
}

#servicios input:focus,
#servicios select:focus,
#finanzas input:focus,
#finanzas select:focus,
#finanzas textarea:focus{
  border-color:#F0A071 !important;
  box-shadow:0 0 0 3px rgba(240,112,48,.10);
}

/* Tablas financieras */
#finanzas table,
#servicios table{
  background:#fff;
  border:1px solid #EDE7E4;
}

#finanzas th,
#servicios th{
  background:#F7F3F1 !important;
  color:#403B3D !important;
  font-weight:800;
}

#finanzas td,
#servicios td{
  border-color:#F0E9E6;
}

/* Movimientos */
#finanzas .row{
  background:#fff;
  border:1px solid #ECE6E3;
  border-radius:13px;
  padding:13px 15px;
  margin-bottom:9px;
}

#finanzas .row:hover{
  background:#FFFCFA;
  border-color:#E3DAD6;
}

/* Importes bien legibles */
#finanzas .amount,
#finanzas [class*="amount"],
#finanzas .money,
#finanzas [class*="money"]{
  color:#292729 !important;
  font-weight:800;
}

/* Botones secundarios neutrales */
#servicios .secondary,
#finanzas .secondary{
  background:#F4F1F0 !important;
  color:#343033 !important;
  border-color:#E3DDDA !important;
  font-weight:700;
}

#servicios .secondary:hover,
#finanzas .secondary:hover{
  background:#ECE7E4 !important;
}

/* Acción principal naranja */
#servicios .primary,
#finanzas .primary{
  background:linear-gradient(135deg,#A52649,#8F1F40) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(240,112,48,.15);
}

/* Saldos pendientes: destacados suaves */
#finanzas .warning,
#finanzas .pending{
  background:#FFF7E8 !important;
  border-color:#F1D9A5 !important;
  color:#5B4B2D !important;
}

/* Responsive */
@media(max-width:760px){
  #servicios .top,
  #finanzas .top{
    align-items:flex-start;
    flex-direction:column;
  }
  #servicios .top .primary,
  #finanzas .top .primary{
    width:100%;
  }
  #servicios .actions input,
  #servicios .actions select,
  #finanzas .actions input,
  #finanzas .actions select{
    width:100%;
  }
}

/* ===== WHATSAPP + MARKETING · DISEÑO VISUAL V9 ===== */

/* Cabeceras */
#whatsapp .top,
#marketing .top{
  align-items:center;
  gap:14px;
}
#whatsapp .top h1,
#marketing .top h1{
  color:#292729 !important;
}

/* Tarjetas limpias */
#whatsapp .card,
#marketing .card{
  background:#fff !important;
  border:1px solid #EDE7E4 !important;
  box-shadow:0 5px 18px rgba(55,48,51,.045);
}

/* Indicadores */
#whatsapp .kpi,
#whatsapp .stat,
#marketing .kpi,
#marketing .stat{
  background:#fff;
  border:1px solid #EDE7E4;
  border-radius:16px;
  box-shadow:0 5px 16px rgba(55,48,51,.04);
}
#whatsapp .kpi b,
#whatsapp .stat b,
#marketing .kpi b,
#marketing .stat b{
  color:#292729 !important;
}

/* WhatsApp: conexión y mensajes */
#whatsapp .row{
  background:#fff;
  border:1px solid #ECE6E3;
  border-left:4px solid #D7DED8;
  border-radius:13px;
  padding:13px 15px;
  margin-bottom:9px;
}
#whatsapp .row:hover{
  background:#FCFDFB;
  border-left-color:#65A975;
}
#whatsapp .badge{
  font-weight:700;
  border-radius:999px;
}

/* Plantillas */
#whatsapp textarea,
#marketing textarea{
  background:#FFFDFC;
  border:1px solid #E5DEDB;
  border-radius:12px;
  line-height:1.5;
}
#whatsapp textarea:focus,
#marketing textarea:focus,
#whatsapp input:focus,
#whatsapp select:focus,
#marketing input:focus,
#marketing select:focus{
  border-color:#F0A071 !important;
  box-shadow:0 0 0 3px rgba(240,112,48,.10);
}

/* Marketing: segmentos/campañas */
#marketing .row{
  background:#fff;
  border:1px solid #ECE6E3;
  border-left:4px solid #E4DDD9;
  border-radius:13px;
  padding:13px 15px;
  margin-bottom:9px;
}
#marketing .row:hover{
  background:#FFFCFA;
  border-left-color:#A52649;
}
#marketing .row b,
#whatsapp .row b{
  color:#2E2A2C !important;
  font-weight:800;
}

/* Tablas */
#whatsapp table,
#marketing table{
  background:#fff;
  border:1px solid #EDE7E4;
}
#whatsapp th,
#marketing th{
  background:#F7F3F1 !important;
  color:#403B3D !important;
  font-weight:800;
}
#whatsapp td,
#marketing td{
  border-color:#F0E9E6;
}

/* Botones secundarios neutrales */
#whatsapp .secondary,
#marketing .secondary{
  background:#F4F1F0 !important;
  color:#343033 !important;
  border-color:#E3DDDA !important;
  font-weight:700;
}
#whatsapp .secondary:hover,
#marketing .secondary:hover{
  background:#ECE7E4 !important;
}

/* Acción principal naranja de marca */
#whatsapp .primary,
#marketing .primary{
  background:linear-gradient(135deg,#A52649,#8F1F40) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(240,112,48,.15);
}

/* Valoración Google: diferenciación suave, sin bordó */
#whatsapp .review,
#marketing .review{
  background:#FFF8E8 !important;
  border-color:#F0DCA8 !important;
  color:#4D4535 !important;
}

/* Avisos / anti-spam */
#marketing .warning,
#whatsapp .warning{
  background:#FFF7E8 !important;
  border:1px solid #F1D9A5 !important;
  color:#5B4B2D !important;
}

/* Responsive */
@media(max-width:760px){
  #whatsapp .top,
  #marketing .top{
    align-items:flex-start;
    flex-direction:column;
  }
  #whatsapp .actions,
  #marketing .actions{
    flex-wrap:wrap;
  }
  #whatsapp .actions input,
  #whatsapp .actions select,
  #marketing .actions input,
  #marketing .actions select{
    width:100%;
  }
}

/* ===== REPORTES + CONFIGURACIÓN · DISEÑO VISUAL V10 ===== */

/* Cabeceras */
#reportes .top,
#configuracion .top{
  align-items:center;
  gap:14px;
}
#reportes .top h1,
#configuracion .top h1{
  color:#292729 !important;
}

/* Tarjetas generales */
#reportes .card,
#configuracion .card{
  background:#fff !important;
  border:1px solid #EDE7E4 !important;
  box-shadow:0 5px 18px rgba(55,48,51,.045);
}

/* Reportes: KPIs */
#reportes .kpi,
#reportes .stat,
#reportes .metric{
  background:#fff;
  border:1px solid #EDE7E4;
  border-radius:16px;
  box-shadow:0 5px 16px rgba(55,48,51,.04);
}
#reportes .kpi b,
#reportes .stat b,
#reportes .metric b{
  color:#292729 !important;
}

/* Acentos semánticos suaves */
#reportes .kpi:nth-child(1),
#reportes .stat:nth-child(1),
#reportes .metric:nth-child(1){
  border-top:4px solid #59A36A;
}
#reportes .kpi:nth-child(2),
#reportes .stat:nth-child(2),
#reportes .metric:nth-child(2){
  border-top:4px solid #6A8FBF;
}
#reportes .kpi:nth-child(3),
#reportes .stat:nth-child(3),
#reportes .metric:nth-child(3){
  border-top:4px solid #E2A84A;
}
#reportes .kpi:nth-child(4),
#reportes .stat:nth-child(4),
#reportes .metric:nth-child(4){
  border-top:4px solid #D66565;
}

/* Filtros */
#reportes .actions,
#configuracion .actions{
  gap:10px;
  flex-wrap:wrap;
}
#reportes input,
#reportes select,
#configuracion input,
#configuracion select,
#configuracion textarea{
  background:#fff;
  border-color:#E5DEDB;
}
#reportes input:focus,
#reportes select:focus,
#configuracion input:focus,
#configuracion select:focus,
#configuracion textarea:focus{
  border-color:#F0A071 !important;
  box-shadow:0 0 0 3px rgba(240,112,48,.10);
}

/* Tablas */
#reportes table,
#configuracion table{
  background:#fff;
  border:1px solid #EDE7E4;
}
#reportes th,
#configuracion th{
  background:#F7F3F1 !important;
  color:#403B3D !important;
  font-weight:800;
}
#reportes td,
#configuracion td{
  border-color:#F0E9E6;
}

/* Bloques/listas */
#reportes .row,
#configuracion .row{
  background:#fff;
  border:1px solid #ECE6E3;
  border-radius:13px;
  padding:13px 15px;
  margin-bottom:9px;
}
#reportes .row:hover,
#configuracion .row:hover{
  background:#FFFCFA;
  border-color:#E3DAD6;
}

/* Configuración: títulos internos */
#configuracion h2,
#configuracion h3,
#configuracion h4{
  color:#2E2A2C !important;
}

/* Zona de logo / datos de negocio */
#configuracion img{
  border-radius:14px;
  border:2px solid #EEE3DF;
  background:#FFF9F6;
}
#configuracion .muted{
  color:#777174 !important;
}

/* Seguridad y backups: avisos sobrios */
#configuracion .warning,
#configuracion .pending{
  background:#FFF7E8 !important;
  border:1px solid #F1D9A5 !important;
  color:#5B4B2D !important;
}

/* Botones secundarios neutrales */
#reportes .secondary,
#configuracion .secondary{
  background:#F4F1F0 !important;
  color:#343033 !important;
  border-color:#E3DDDA !important;
  font-weight:700;
}
#reportes .secondary:hover,
#configuracion .secondary:hover{
  background:#ECE7E4 !important;
}

/* Botones principales */
#reportes .primary,
#configuracion .primary{
  background:linear-gradient(135deg,#A52649,#8F1F40) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(240,112,48,.15);
}

/* Exportaciones */
#reportes button{
  font-weight:700;
}

/* Responsive */
@media(max-width:760px){
  #reportes .top,
  #configuracion .top{
    align-items:flex-start;
    flex-direction:column;
  }
  #reportes .actions input,
  #reportes .actions select,
  #configuracion .actions input,
  #configuracion .actions select{
    width:100%;
  }
}

/* ===== REVISIÓN VISUAL GENERAL · V11 ===== */

/* Ritmo visual general */
:root{
  --ui-text:#292729;
  --ui-muted:#777174;
  --ui-border:#E9E3E0;
  --ui-soft:#F7F3F1;
  --ui-bg:#FFFBF9;
  --ui-card:#FFFFFF;
  --ui-orange:#A52649;
  --ui-orange-dark:#8F1F40;
  --ui-burgundy:#87344A;
}

body{
  background:var(--ui-bg) !important;
}

main, .main, .content{
  color:var(--ui-text) !important;
}

/* Separación de secciones */
section{
  scroll-margin-top:18px;
}
section > .top,
.section-header{
  margin-bottom:18px;
}

/* Títulos centrales neutros */
main h1, main h2, main h3, main h4,
.main h1, .main h2, .main h3, .main h4,
.content h1, .content h2, .content h3, .content h4{
  color:var(--ui-text) !important;
  letter-spacing:-.01em;
}

/* Tarjetas homogéneas */
main .card, .main .card, .content .card{
  border:1px solid var(--ui-border) !important;
  border-radius:16px !important;
  background:var(--ui-card) !important;
  box-shadow:0 5px 18px rgba(50,44,47,.045) !important;
}

/* Filas y bloques repetidos */
main .row, .main .row, .content .row{
  border-radius:13px;
}

/* Formularios */
main input,
main select,
main textarea,
.main input,
.main select,
.main textarea,
.content input,
.content select,
.content textarea{
  border:1px solid #E4DEDB !important;
  border-radius:10px !important;
  color:#302D2F !important;
  background:#fff !important;
}

main input:focus,
main select:focus,
main textarea:focus,
.main input:focus,
.main select:focus,
.main textarea:focus,
.content input:focus,
.content select:focus,
.content textarea:focus{
  outline:none !important;
  border-color:#F0A071 !important;
  box-shadow:0 0 0 3px rgba(240,112,48,.10) !important;
}

main label,
.main label,
.content label{
  color:#4D484A !important;
  font-weight:700;
}

/* Botones consistentes */
main button,
.main button,
.content button{
  border-radius:10px;
  font-weight:700;
}

main .primary,
.main .primary,
.content .primary{
  background:linear-gradient(135deg,var(--ui-orange),var(--ui-orange-dark)) !important;
  border-color:var(--ui-orange) !important;
  color:#fff !important;
  box-shadow:0 5px 14px rgba(240,112,48,.14);
}

main .primary:hover,
.main .primary:hover,
.content .primary:hover{
  filter:brightness(.98);
  transform:translateY(-1px);
}

main .secondary,
.main .secondary,
.content .secondary{
  background:#F4F1F0 !important;
  color:#343033 !important;
  border-color:#E3DDDA !important;
}

main .secondary:hover,
.main .secondary:hover,
.content .secondary:hover{
  background:#ECE7E4 !important;
}

/* Tablas */
main table,
.main table,
.content table{
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:12px;
  border:1px solid var(--ui-border);
  background:#fff;
}

main th,
.main th,
.content th{
  background:var(--ui-soft) !important;
  color:#403B3D !important;
  font-weight:800 !important;
}

main td,
.main td,
.content td{
  border-color:#F0E9E6 !important;
}

main tbody tr:hover,
.main tbody tr:hover,
.content tbody tr:hover{
  background:#FFFCFA;
}

/* Badges */
main .badge,
.main .badge,
.content .badge{
  border-radius:999px !important;
  font-weight:700 !important;
  line-height:1.1;
}

/* Textos secundarios */
main .muted,
.main .muted,
.content .muted{
  color:var(--ui-muted) !important;
}

/* Dashboard: mantener marca sobria en zona central */
#inicio .dashboard-brand-text b,
#inicio h1,
#inicio h2,
#inicio h3{
  color:var(--ui-text) !important;
}

/* Sidebar: negro normal, bordó activo */
.sidebar button, aside button{
  color:#242124 !important;
  font-weight:700 !important;
}

.sidebar button.active, aside button.active,
.sidebar .active, aside .active{
  color:var(--ui-burgundy) !important;
  background:#F3D8DE !important;
  border-color:#E8BAC6 !important;
  font-weight:800 !important;
}

/* Mejor contraste del botón Nuevo Turno */
.dashboard-header-action .primary,
#inicio .primary{
  box-shadow:0 6px 16px rgba(240,112,48,.18);
}

/* Modales */
.modal,
.modal-content,
.dialog,
[role="dialog"]{
  border-radius:18px !important;
}

.modal-content,
.dialog{
  border:1px solid var(--ui-border) !important;
  box-shadow:0 18px 50px rgba(45,39,42,.16) !important;
}

/* Separadores */
hr{
  border:0;
  border-top:1px solid #EEE7E4;
}

/* Scroll horizontal más prolijo en tablas/calendarios */
.table-wrap,
.calendar-wrap,
#agenda .week,
#agenda .month{
  scrollbar-width:thin;
}

/* Responsive final */
@media(max-width:900px){
  main, .main, .content{
    padding-left:16px !important;
    padding-right:16px !important;
  }
}

@media(max-width:760px){
  main .card,
  .main .card,
  .content .card{
    border-radius:14px !important;
  }

  main button,
  .main button,
  .content button{
    min-height:40px;
  }

  .dashboard-header-row{
    gap:10px;
  }
}

/* ===== DASHBOARD PRINCIPAL · DISEÑO VISUAL V12 ===== */

/* Cabecera */
#inicio .dashboard-header-row{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  gap:18px;
  margin-bottom:22px;
}

#inicio .dashboard-title-left{
  justify-self:start;
}

#inicio .dashboard-title-left h1{
  margin:0;
  font-size:28px;
  line-height:1.1;
  color:#292729 !important;
  font-weight:800;
}

#inicio .dashboard-brand-center{
  justify-self:center;
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

#inicio .dashboard-brand-center img{
  width:54px;
  height:54px;
  object-fit:cover;
  border-radius:16px;
  border:2px solid #EEE1DD;
  background:#FFF8F5;
  box-shadow:0 5px 14px rgba(55,48,51,.06);
}

#inicio .dashboard-brand-text{
  text-align:left;
  line-height:1.15;
}

#inicio .dashboard-brand-text b{
  display:block;
  color:#292729 !important;
  font-size:16px;
  font-weight:800;
}

#inicio .dashboard-brand-text span,
#inicio .dashboard-brand-text small{
  color:#80777A !important;
  font-size:12px;
}

#inicio .dashboard-header-action{
  justify-self:end;
}

#inicio .dashboard-header-action .primary{
  min-height:42px;
  padding:10px 16px;
  border-radius:11px;
  font-size:14px;
  font-weight:800;
}

/* KPI principales */
#inicio .kpis,
#inicio .stats,
#inicio .dashboard-kpis{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin-bottom:20px;
}

#inicio .kpi,
#inicio .stat,
#inicio .metric{
  position:relative;
  overflow:hidden;
  background:#fff !important;
  border:1px solid #EAE3E0 !important;
  border-radius:17px !important;
  padding:17px 18px !important;
  box-shadow:0 6px 18px rgba(53,46,49,.045) !important;
  min-height:108px;
}

#inicio .kpi::before,
#inicio .stat::before,
#inicio .metric::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:#E4DDD9;
}

#inicio .kpi:nth-child(1)::before,
#inicio .stat:nth-child(1)::before,
#inicio .metric:nth-child(1)::before{
  background:#6AA577;
}

#inicio .kpi:nth-child(2)::before,
#inicio .stat:nth-child(2)::before,
#inicio .metric:nth-child(2)::before{
  background:#6F93BE;
}

#inicio .kpi:nth-child(3)::before,
#inicio .stat:nth-child(3)::before,
#inicio .metric:nth-child(3)::before{
  background:#E2A84A;
}

#inicio .kpi:nth-child(4)::before,
#inicio .stat:nth-child(4)::before,
#inicio .metric:nth-child(4)::before{
  background:#A52649;
}

#inicio .kpi .label,
#inicio .stat .label,
#inicio .metric .label{
  color:#777174 !important;
  font-size:12.5px;
  font-weight:700;
  text-transform:none;
  letter-spacing:0;
}

#inicio .kpi b,
#inicio .stat b,
#inicio .metric b{
  display:block;
  margin-top:6px;
  color:#292729 !important;
  font-size:23px;
  line-height:1.1;
  font-weight:800;
}

/* Ojitos de ingresos */
#inicio button[title*="ingreso" i],
#inicio button[aria-label*="ingreso" i],
#inicio .eye,
#inicio .toggle-amount{
  background:#F5F2F1 !important;
  color:#4B4648 !important;
  border:1px solid #E5DEDB !important;
  box-shadow:none !important;
}

/* Secciones del dashboard */
#inicio .card{
  padding:18px !important;
}

#inicio .card h2,
#inicio .card h3{
  margin-top:0;
  color:#2D292B !important;
  font-weight:800;
}

#inicio .card h2{
  font-size:18px;
}

#inicio .card h3{
  font-size:16px;
}

/* Próximos turnos */
#inicio .row{
  display:flex;
  align-items:center;
  gap:14px;
  padding:14px 15px;
  margin-bottom:10px;
  background:#fff;
  border:1px solid #ECE6E3;
  border-left:4px solid #E2DDD9;
  border-radius:13px;
  transition:.15s ease;
}

#inicio .row:hover{
  background:#FFFCFA;
  border-left-color:#A52649;
  box-shadow:0 6px 16px rgba(55,48,51,.055);
}

#inicio .row b{
  color:#2E2A2C !important;
  font-weight:800;
}

#inicio .row .muted{
  color:#777174 !important;
}

/* Acciones rápidas */
#inicio .quick-actions,
#inicio .actions{
  gap:10px;
  flex-wrap:wrap;
}

#inicio .quick-actions .secondary,
#inicio .actions .secondary{
  background:#F4F1F0 !important;
  border-color:#E2DBD8 !important;
  color:#353133 !important;
}

#inicio .quick-actions .secondary:hover,
#inicio .actions .secondary:hover{
  background:#ECE7E4 !important;
}

/* Alertas */
#inicio .warning,
#inicio .alert,
#inicio .pending{
  border-radius:13px;
  border:1px solid #F0DCAA !important;
  background:#FFF8EA !important;
  color:#514735 !important;
}

/* Bloques de información */
#inicio table{
  margin-top:8px;
}

/* Responsive */
@media(max-width:1100px){
  #inicio .kpis,
  #inicio .stats,
  #inicio .dashboard-kpis{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:760px){
  #inicio .dashboard-header-row{
    grid-template-columns:1fr auto;
    grid-template-areas:
      "title action"
      "brand brand";
    gap:12px;
  }

  #inicio .dashboard-title-left{
    grid-area:title;
  }

  #inicio .dashboard-header-action{
    grid-area:action;
  }

  #inicio .dashboard-brand-center{
    grid-area:brand;
    justify-self:start;
  }

  #inicio .dashboard-title-left h1{
    font-size:24px;
  }

  #inicio .dashboard-header-action .primary{
    padding:9px 12px;
    font-size:13px;
  }
}

@media(max-width:520px){
  #inicio .kpis,
  #inicio .stats,
  #inicio .dashboard-kpis{
    grid-template-columns:1fr;
  }

  #inicio .dashboard-brand-center img{
    width:48px;
    height:48px;
  }
}

/* ===== REVISIÓN FUNCIONAL FINAL · V14 =====
   Base visual aprobada V13. Sin cambios de diseño.
   Validación final de navegación y módulos antes de backend.
*/

/* ===== LOGIN PRIVADO · V20 ===== */
.auth-screen{
  position:fixed; inset:0; z-index:5000;
  display:flex; align-items:center; justify-content:center;
  padding:24px; background:#FFF7F3;
}
.auth-screen.hidden{display:none!important}
.auth-card{
  width:min(430px,100%); background:#fff; border:1px solid #E9E3E0;
  border-radius:22px; padding:28px; box-shadow:0 18px 55px rgba(50,44,47,.12);
}
.auth-brand{text-align:center;margin-bottom:22px}
.auth-brand .paw{font-size:42px}
.auth-brand h1{margin:7px 0 3px;color:#292729;font-size:25px}
.auth-card label{display:block;font-weight:700;margin:12px 0 6px;color:#343033}
.auth-card input[type="text"],.auth-card input[type="password"]{
  width:100%;box-sizing:border-box;padding:11px 12px;border:1px solid #DED7D4;
  border-radius:10px;font:inherit;background:#fff
}
.auth-card .auth-submit{width:100%;margin-top:18px}
.auth-error{min-height:20px;color:#A72A2A;font-size:13px;margin-top:10px}
.auth-note{font-size:13px;color:#777174;line-height:1.45}
.auth-check{display:flex;align-items:center;gap:8px;margin-top:12px;color:#555;font-size:14px}
.security-modal{
  position:fixed;inset:0;z-index:5100;background:rgba(30,25,27,.36);
  display:flex;align-items:center;justify-content:center;padding:20px
}
.security-modal.hidden{display:none!important}
.security-box{width:min(430px,100%);background:#fff;border-radius:18px;padding:24px;box-shadow:0 18px 50px rgba(0,0,0,.18)}
.security-box input{width:100%;box-sizing:border-box;margin:6px 0 12px}



/* ===== AJUSTES DE DETALLE V25 ===== */
/* Modal de Servicios: mismo fondo blanco sólido que el resto del CRM */
#serviceModal .modal-card{
  width:min(560px,100%);
  max-height:92vh;
  overflow:auto;
  background:#fff !important;
  padding:22px;
}

/* Agenda: estados visuales */
.status-reservado{background:#FFF7D6 !important;border-color:#F0D46B !important;color:#6B5700 !important}
.status-confirmado{background:#E6F7EC !important;border-color:#91D6A8 !important;color:#23623A !important}
.status-atendido{background:#E7F1FF !important;border-color:#9BC2F3 !important;color:#245A96 !important}
.status-cancelo{background:#FDEBEC !important;border-color:#F1A5AA !important;color:#9A3038 !important}
.status-no-vino{background:#FFF0E2 !important;border-color:#F2B276 !important;color:#95511E !important}
.status-reprogramar{background:#F2EAFE !important;border-color:#C6A9ED !important;color:#684398 !important}
.status-select{font-weight:700 !important}

/* Agenda semanal/mensual: días más claros y modernos */
.week-grid,.month-grid{border-color:#E8DDD7 !important;border-radius:16px !important;box-shadow:0 6px 18px rgba(45,39,42,.06)}
.week-col{border-color:#EEE4DF !important}
.week-head{
  background:#FFF7F1 !important;
  color:#343033 !important;
  border-color:#EEDFD6 !important;
  padding:12px 8px !important;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-weight:800 !important;
}
.week-day-name{display:block;font-size:11px;line-height:1.1}
.week-day-number{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;margin-top:6px;border-radius:999px;font-size:17px;font-weight:800}
.week-col.today .week-head,.month-cell.today{background:#FFF8F2 !important}
.week-col.today .week-day-number,.month-cell.today .month-date{background:#A52649;color:white;box-shadow:0 3px 9px rgba(240,112,48,.22)}
.week-col.weekend .week-head,.month-weekend-head{background:#FFF1EA !important}
.month-cell{border-color:#EEE4DF !important;padding:9px !important;transition:background .15s ease,box-shadow .15s ease}
.month-cell:hover{background:#FFFCFA !important;box-shadow:inset 0 0 0 1px #F4D9CA}
.month-cell.mutedday{opacity:.38}
.month-date{display:inline-flex;align-items:center;justify-content:center;min-width:29px;height:29px;border-radius:999px;font-size:14px !important;margin-bottom:7px !important}
.month-appt{border:1px solid transparent;font-weight:700;line-height:1.25}


/* ===== AJUSTE V27: TODOS LOS CUADROS/MODALES CON FONDO BLANCO ===== */
/* El fondo exterior conserva su sombreado; el cuadro abierto es siempre blanco sólido. */
.modal > .modalbox,
.modal > .modal-card,
.modal-content,
.dialog,
[role="dialog"],
.security-box{
  background:#fff !important;
  background-color:#fff !important;
  opacity:1 !important;
}

/* Evita que formularios o paneles internos hereden transparencias accidentales. */
.modal > .modalbox form,
.modal > .modal-card form,
.modal > .modalbox .card,
.modal > .modal-card .card{
  background-color:#fff;
}


/* ===== AJUSTE V29: SOMBREADO SUAVE EN CUADROS Y VENTANAS ===== */
/* Mantiene fondo blanco y agrega profundidad con un tono inspirado en el panel lateral. */
.card,
.modal > .modalbox,
.modal > .modal-card,
.modal-content,
.dialog,
[role="dialog"],
.security-box{
  background:#fff !important;
  background-color:#fff !important;
  box-shadow:
    0 10px 28px rgba(135,52,74,.16),
    0 2px 8px rgba(135,52,74,.08) !important;
}

/* Tarjetas pequeñas y bloques internos: sombra más sutil para no sobrecargar. */
.kpi,
.stat,
.summary-card,
.quick-card,
.info-card{
  box-shadow:
    0 6px 18px rgba(135,52,74,.10),
    0 1px 4px rgba(135,52,74,.06);
}


/* ===== AJUSTE V30: GrooCan más grande y en negrita ===== */
.brand{
  font-size:1.65rem !important;
  font-weight:900 !important;
  letter-spacing:.2px;
}

/* ===== AJUSTE V30: AGENDA SEMANAL Y MENSUAL ===== */
.week-grid-v30{
  display:grid;
  grid-template-columns:72px repeat(7,minmax(150px,1fr));
  min-width:1120px;
  background:#fff;
  border:1px solid #eadfe2;
  border-radius:14px;
  overflow:hidden;
}
.week-grid-v30 > div{
  border-right:1px solid #eee4e6;
  border-bottom:1px solid #eee4e6;
}
.week-hour-head{
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  background:#f8ecef;
}
.week-day-head-v30{
  text-align:center;
  padding:10px 8px;
  background:#f8ecef;
  font-weight:800;
}
.week-day-head-v30.today{
  background:#FBEFF3;
  box-shadow:inset 0 -3px 0 #A52649;
}
.week-day-head-v30 .day-num{
  display:block;
  font-size:1.15rem;
  margin-top:2px;
}
.week-hour-cell{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding-top:12px;
  font-weight:800;
  background:#fbf7f8;
}
.week-slot{
  min-height:78px;
  padding:6px;
  background:#fff;
}
.week-slot .week-item{
  margin:3px 0;
}
.month-date-line-v30{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
  margin-bottom:6px;
}
.month-date-line-v30 .month-date{
  margin:0;
}
.month-confirmed-total-v30{
  font-size:.74rem;
  font-weight:800;
  color:#343033;
  white-space:nowrap;
}


/* ===== AJUSTE V31: GrooCan en color negro ===== */
.brand{
  color:#000 !important;
}

/* ===== AJUSTE V31: CABECERAS FIJAS EN AGENDA SEMANAL ===== */
.calendar-scroll{
  position:relative;
  max-height:68vh;
  overflow:auto;
}
.week-hour-head{
  position:sticky;
  top:0;
  left:0;
  z-index:8;
  background:#f8ecef !important;
}
.week-day-head-v30{
  position:sticky;
  top:0;
  z-index:7;
  background:#f8ecef !important;
}
.week-day-head-v30.today{
  background:#FBEFF3 !important;
}
.week-hour-cell{
  position:sticky;
  left:0;
  z-index:6;
  background:#fbf7f8 !important;
}


/* ===== V34: PALETA AZUL OSCURO + BORDÓ ===== */
.sidebar{
  background:linear-gradient(180deg,#182739 0%,#22364B 100%) !important;
  color:#fff !important;
  box-shadow:10px 0 30px rgba(24,39,57,.18) !important;
}
.sidebar .brand{
  color:#000 !important;
  font-size:1.65rem !important;
  font-weight:900 !important;
}
.sidebar button{
  color:#F7F9FC !important;
}
.sidebar button.active,
.sidebar .active{
  background:linear-gradient(135deg,#A52649,#8F1F40) !important;
  color:#fff !important;
  box-shadow:0 8px 22px rgba(144,36,63,.42) !important;
}

/* Acciones que antes eran naranja ahora son bordó */
.primary,.btn-primary,button.primary,.quick-btn,.action-btn{
  background:linear-gradient(135deg,#B03050,#8F1F40) !important;
  border-color:#8F1F40 !important;
  color:#fff !important;
  box-shadow:0 7px 18px rgba(144,36,63,.25) !important;
}
.primary:hover,.btn-primary:hover,button.primary:hover,.quick-btn:hover,.action-btn:hover{
  background:linear-gradient(135deg,#9E2346,#771730) !important;
}
input:focus,select:focus,textarea:focus{
  border-color:#A52649 !important;
  box-shadow:0 0 0 3px rgba(165,38,73,.12) !important;
}
.week-day-head-v30.today{
  background:#FBEFF3 !important;
  box-shadow:inset 0 -3px 0 #A52649 !important;
}
.month-cell.today{
  box-shadow:inset 0 0 0 2px #A52649 !important;
}

.month-agenda-layout-v34{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
.month-grid-v34{display:grid;grid-template-columns:repeat(7,minmax(118px,1fr));min-width:875px;background:#fff;border:1px solid #e5e8ee;border-radius:16px;overflow:hidden}
.month-head-v34{padding:14px 8px;text-align:center;font-size:.78rem;font-weight:800;color:#8791A0;background:#FAFBFD;border-right:1px solid #E5E8EE;border-bottom:1px solid #E5E8EE}
.month-cell-v34{min-height:116px;padding:11px 12px;border-right:1px solid #E5E8EE;border-bottom:1px solid #E5E8EE;background:#fff;cursor:pointer}
.month-cell-v34:hover{background:#FFF9FB}
.month-cell-v34.other-month{background:#F7F9FB;color:#A6AFBB}
.month-cell-v34.selected{box-shadow:inset 0 0 0 2px #A52649,0 8px 18px rgba(144,36,63,.15);background:#FFFDFE}
.month-cell-v34.today .month-day-v34{display:inline-flex;align-items:center;justify-content:center;min-width:30px;height:30px;border-radius:999px;background:#A52649;color:#fff;padding:0 7px}
.month-day-v34{font-size:1rem;font-weight:800;color:#151B24}
.month-dot-v34{width:7px;height:7px;border-radius:50%;background:#A52649;margin-top:14px}
.month-count-v34{margin-top:9px;font-size:.78rem;font-weight:700;color:#404A57}
.month-detail-v34{position:sticky;top:14px;background:#fff;border:1px solid #E2E6ED;border-radius:16px;box-shadow:0 10px 28px rgba(135,52,74,.11);overflow:hidden}
.month-detail-head-v34{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;padding:18px;border-bottom:1px solid #ECEFF3}
.month-detail-title-v34{font-size:1.08rem;font-weight:900;color:#161B22}.month-detail-meta-v34{margin-top:5px;font-size:.82rem;color:#7D8795}
.month-detail-list-v34{max-height:62vh;overflow:auto}.month-detail-item-v34{padding:14px 16px;border-bottom:1px solid #ECEFF3}
.month-detail-line-v34{border-left:3px solid #A52649;padding-left:11px}.month-detail-time-v34{font-weight:900;color:#111820;font-size:1rem}
.month-detail-name-v34{margin-top:4px;color:#202733}.month-detail-sub-v34{margin-top:4px;font-size:.8rem;color:#8A93A0}
.month-detail-status-v34{float:right;margin-left:8px;font-size:.68rem;font-weight:800;border-radius:999px;padding:4px 8px}
.month-detail-empty-v34{padding:28px 18px;text-align:center;color:#8A93A0}
@media(max-width:1100px){.month-agenda-layout-v34{grid-template-columns:1fr}.month-detail-v34{position:static}}


.status-no-vino{background:#FFF1E6 !important;color:#B85C00 !important;border-color:#F2B36E !important}

/* ===== V35: PANEL IZQUIERDO AZUL OSCURO ===== */
.sidebar{
  background:linear-gradient(180deg,#182739 0%,#22364B 100%) !important;
  color:#FFFFFF !important;
  box-shadow:10px 0 30px rgba(24,39,57,.18) !important;
}
.sidebar button,
.sidebar .nav-item,
.sidebar a{
  color:#FFFFFF !important;
}
.sidebar button:hover,
.sidebar .nav-item:hover,
.sidebar a:hover{
  background:rgba(255,255,255,.08) !important;
  color:#FFFFFF !important;
}
.sidebar button.active,
.sidebar .nav-item.active,
.sidebar a.active,
.sidebar .active{
  background:linear-gradient(135deg,#A52649 0%,#8F1F40 100%) !important;
  color:#FFFFFF !important;
  box-shadow:0 8px 22px rgba(144,36,63,.48), inset 0 0 0 1px rgba(255,255,255,.06) !important;
}


/* ===== V36: AGENDA MENSUAL COMPACTA EN UNA SOLA PANTALLA ===== */
.month-agenda-layout-v34{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 330px !important;
  gap:14px !important;
  align-items:start !important;
}
.month-agenda-layout-v34 .calendar-scroll{
  overflow:auto !important;
  max-height:none !important;
}
.month-grid-v34{
  min-width:0 !important;
  width:100% !important;
  grid-template-columns:repeat(7,minmax(0,1fr)) !important;
}
.month-head-v34{
  padding:8px 4px !important;
  font-size:.70rem !important;
}
.month-cell-v34{
  min-height:82px !important;
  padding:7px 8px !important;
}
.month-day-v34{
  font-size:.88rem !important;
}
.month-dot-v34{
  margin-top:8px !important;
  width:6px !important;
  height:6px !important;
}
.month-count-v34{
  margin-top:5px !important;
  font-size:.69rem !important;
  line-height:1.15 !important;
}
.month-detail-v34{
  top:8px !important;
}
.month-detail-head-v34{
  padding:14px !important;
}
.month-detail-list-v34{
  max-height:520px !important;
}
.month-detail-item-v34{
  padding:11px 13px !important;
}
@media(max-width:1180px){
  .month-agenda-layout-v34{
    grid-template-columns:minmax(0,1fr) 300px !important;
  }
}
@media(max-width:900px){
  .month-agenda-layout-v34{
    grid-template-columns:1fr !important;
  }
  .month-detail-v34{position:static !important}
}


/* ===== V37: CURSOR MANITO EN TURNOS DEL PANEL DERECHO ===== */
.month-detail-item-v34{
  cursor:pointer !important;
}
.month-detail-item-v34 *{
  cursor:pointer !important;
}


/* ===== V38: CORRECCIÓN DEFINITIVA DEL MENÚ LATERAL ===== */
html body aside,
body > aside,
aside.sidebar,
.sidebar{
  background:#182739 !important;
  background-image:linear-gradient(180deg,#182739 0%,#22364B 100%) !important;
  color:#FFFFFF !important;
  box-shadow:10px 0 30px rgba(24,39,57,.20) !important;
}

/* GrooCan se mantiene negro como fue solicitado */
html body aside .brand,
aside .brand,
.sidebar .brand{
  color:#000000 !important;
  font-size:1.65rem !important;
  font-weight:900 !important;
}

/* Opciones del menú: texto e iconos blancos */
html body aside nav button,
html body aside button:not(.brand),
aside nav button,
.sidebar nav button,
.sidebar button{
  color:#FFFFFF !important;
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

/* Hover: mantiene la identidad azul */
html body aside nav button:hover,
aside nav button:hover,
.sidebar button:hover{
  color:#FFFFFF !important;
  background:rgba(255,255,255,.08) !important;
}

/* Selección: bordó + sombra bordó */
html body aside nav button.active,
html body aside button.active,
aside nav button.active,
aside button.active,
.sidebar button.active,
html body aside nav .active,
aside nav .active,
.sidebar .active{
  color:#FFFFFF !important;
  background:#A52649 !important;
  background-image:linear-gradient(135deg,#A52649 0%,#8F1F40 100%) !important;
  border-color:#8F1F40 !important;
  box-shadow:0 8px 22px rgba(144,36,63,.50), inset 0 0 0 1px rgba(255,255,255,.06) !important;
}


/* ===== V39: LOGO GROOCAN BLANCO CON BORDE NEGRO SUAVE ===== */
html body aside .brand,
aside .brand,
.sidebar .brand{
  color:#FFFFFF !important;
  font-size:1.65rem !important;
  font-weight:900 !important;
  -webkit-text-stroke:0.45px rgba(0,0,0,.75);
  text-shadow:
    -0.5px -0.5px 0 rgba(0,0,0,.65),
     0.5px -0.5px 0 rgba(0,0,0,.65),
    -0.5px  0.5px 0 rgba(0,0,0,.65),
     0.5px  0.5px 0 rgba(0,0,0,.65);
}


/* V40 - patitas blancas con borde negro ligero */
html body aside .brand .paw-icon,
aside .brand .paw-icon{
 color:#fff !important;
 -webkit-text-stroke:.45px rgba(0,0,0,.78);
 text-shadow:-.5px -.5px 0 rgba(0,0,0,.68),.5px -.5px 0 rgba(0,0,0,.68),-.5px .5px 0 rgba(0,0,0,.68),.5px .5px 0 rgba(0,0,0,.68);
}

/* ===== V69.1 · ADAPTACIÓN RESPONSIVE CELULAR (sin alterar escritorio) ===== */
.mobile-topbar,
.mobile-menu-backdrop{display:none}

@media(max-width:820px){
  html,body{max-width:100%;overflow-x:hidden}
  body{font-size:15px}
  .wrap{display:block;min-height:100vh}
  main{
    width:100% !important;
    max-width:none !important;
    min-width:0 !important;
    padding:14px !important;
  }

  .mobile-topbar{
    display:flex;
    position:sticky;
    top:0;
    z-index:70;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    min-height:58px;
    margin:-14px -14px 16px;
    padding:8px 14px;
    background:#182739;
    box-shadow:0 5px 18px rgba(24,39,57,.18);
  }
  .mobile-topbar-brand{
    color:#fff;
    font-size:1.08rem;
    font-weight:900;
    letter-spacing:-.02em;
    display:flex;
    align-items:center;
    gap:8px;
  }
  .mobile-topbar-brand .paw-icon{
    color:#fff !important;
    text-shadow:0 1px 1px rgba(0,0,0,.45);
  }
  .mobile-menu-button{
    width:44px;
    height:44px;
    min-width:44px;
    padding:0 !important;
    border:1px solid rgba(255,255,255,.18) !important;
    border-radius:11px !important;
    background:rgba(255,255,255,.08) !important;
    color:#fff !important;
    box-shadow:none !important;
    font-size:1.35rem !important;
    line-height:1 !important;
  }

  html body aside,
  body .wrap > aside,
  aside#crmSidebar{
    display:block !important;
    position:fixed !important;
    inset:0 auto 0 0 !important;
    width:min(82vw,300px) !important;
    height:100% !important;
    padding:18px 14px !important;
    overflow-y:auto !important;
    z-index:90 !important;
    transform:translateX(-105%);
    transition:transform .22s ease;
    background:#182739 !important;
  }
  body.mobile-menu-open aside#crmSidebar{transform:translateX(0)}
  aside#crmSidebar .brand{
    display:block !important;
    font-size:1.5rem !important;
    color:#fff !important;
    margin:4px 8px 18px !important;
  }
  aside#crmSidebar .brand:after{content:none !important}
  aside#crmSidebar nav button{
    display:block !important;
    width:100% !important;
    min-height:46px;
    padding:11px 12px !important;
    font-size:1rem !important;
    text-align:left !important;
    color:#fff !important;
    margin:3px 0 !important;
  }
  aside#crmSidebar nav button:first-letter{font-size:inherit !important}

  .mobile-menu-backdrop{
    position:fixed;
    inset:0;
    z-index:80;
    background:rgba(10,18,28,.46);
  }
  body.mobile-menu-open .mobile-menu-backdrop{display:block}
  body.mobile-menu-open{overflow:hidden}

  h1{font-size:24px !important}
  h2{overflow-wrap:anywhere}
  .top{
    align-items:stretch !important;
    flex-direction:column !important;
    gap:10px !important;
    margin-bottom:14px !important;
  }
  .top > button.primary{width:100%}
  .grid,.two,.three,.detail-grid{
    grid-template-columns:1fr !important;
    min-width:0 !important;
  }
  .card{
    padding:14px !important;
    margin:10px 0 !important;
    min-width:0 !important;
  }
  .row{
    flex-direction:column !important;
    align-items:stretch !important;
    gap:10px !important;
    padding:13px !important;
  }
  .row > *{min-width:0}
  .actions{gap:8px}
  .actions > button,
  .actions > a{
    min-height:44px;
  }
  input,select,textarea{
    min-height:44px !important;
    font-size:16px !important;
  }
  button{min-height:44px}
  .search{margin-bottom:12px}

  .modal{padding:8px !important;align-items:flex-start !important}
  .modalbox{
    width:100% !important;
    max-width:100% !important;
    max-height:calc(100vh - 16px) !important;
    border-radius:14px !important;
    padding:16px !important;
  }
  .modalhead{
    position:sticky;
    top:-16px;
    z-index:2;
    background:#fff;
    padding:12px 0 8px;
  }

  .dashboard-header-row{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:10px !important;
    min-height:0 !important;
    margin-bottom:14px !important;
  }
  .dashboard-title-left{align-self:center}
  .dashboard-brand-center{justify-self:end !important}
  .dashboard-brand-center .business-logo,
  .dashboard-brand-center .business-logo-placeholder{
    width:46px !important;
    height:46px !important;
  }
  .dashboard-header-action{
    grid-column:1/-1 !important;
    width:100% !important;
  }
  .dashboard-header-action .primary{width:100% !important}

  /* Agenda: filtros táctiles y scroll local, nunca de toda la página */
  #agenda > .actions{
    display:grid !important;
    grid-template-columns:repeat(3,1fr) !important;
    gap:6px !important;
  }
  #agenda > .actions button{
    width:100%;
    padding-left:7px !important;
    padding-right:7px !important;
    font-size:.78rem;
  }
  .calendar-scroll{
    width:100% !important;
    max-width:100% !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch;
  }
  .week-grid-v30{min-width:820px !important}
  .week-hour-head,.week-hour-cell{min-width:58px !important}

  /* Mensual conserva las 7 columnas pero en modo compacto y tocable */
  .month-agenda-layout-v34{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }
  .month-agenda-layout-v34 .calendar-scroll{
    overflow-x:auto !important;
  }
  .month-grid-v34{
    min-width:560px !important;
  }
  .month-head-v34{
    padding:7px 2px !important;
    font-size:.64rem !important;
  }
  .month-cell-v34{
    min-height:70px !important;
    padding:6px !important;
  }
  .month-day-v34{font-size:.82rem !important}
  .month-count-v34{
    font-size:.62rem !important;
    overflow-wrap:anywhere;
  }
  .month-detail-v34{
    position:static !important;
    width:100% !important;
  }
  .month-detail-list-v34{max-height:none !important}
  .month-detail-item-v34{min-height:44px}

  /* Reportes/finanzas: si aparece una tabla ancha, queda dentro de scroll local */
  table{
    max-width:100%;
  }
  .table-wrap,.report-table-wrap{
    width:100%;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}

@media(max-width:520px){
  main{padding:10px !important}
  .mobile-topbar{margin:-10px -10px 14px;padding:7px 10px}
  .grid{grid-template-columns:1fr !important}
  .section-title{margin-top:18px}
  .card h2{font-size:1.35rem}
  .dashboard-brand-text{display:none !important}
  .month-grid-v34{min-width:520px !important}
  .actions > button{flex:1 1 auto}
}

@media(prefers-reduced-motion:reduce){
  aside#crmSidebar{transition:none !important}
}

