:root{
  --primario:#5b1f54;
  --primario-oscuro:#3d1739;
  --dorado:#d89b28;
  --crema:#fbf7ef;
  --texto:#222;
  --gris:#6b7280;
  --borde:#eadfcd;
  --verde:#2f855a;
  --rojo:#c53030;
  --azul:#2b6cb0;
  --sombra:0 18px 45px rgba(47,23,43,.13);
}
*{box-sizing:border-box}
body{margin:0;font-family:Inter,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(135deg,#fff 0%,var(--crema) 100%);color:var(--texto);min-height:100vh}
a{color:var(--primario);text-decoration:none}a:hover{text-decoration:underline}.container{width:min(1180px,94vw);margin:0 auto;padding:24px 0 42px}.topbar{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--borde);display:flex;align-items:center;justify-content:space-between;padding:10px max(3vw,18px)}.brand{display:flex;align-items:center;gap:12px;color:var(--texto)}.brand img{width:58px;height:58px;object-fit:contain;border-radius:16px;background:white;box-shadow:0 8px 20px rgba(0,0,0,.08)}.brand strong{display:block;font-size:1rem;letter-spacing:.2px}.brand small{display:block;color:var(--gris)}.main-nav{display:flex;align-items:center;gap:10px}.main-nav a{padding:10px 12px;border-radius:999px;color:var(--primario);font-weight:700}.main-nav a:hover{background:var(--crema);text-decoration:none}.nav-toggle{display:none;border:0;background:var(--primario);color:white;border-radius:12px;padding:9px 12px;font-size:1.1rem}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;margin:18px 0 28px}.hero-card,.card{background:rgba(255,255,255,.88);border:1px solid var(--borde);border-radius:26px;box-shadow:var(--sombra);padding:26px}.hero h1{font-size:clamp(2rem,5vw,4.1rem);line-height:.98;margin:0 0 14px;color:var(--primario)}.hero p{font-size:1.08rem;color:#4a4a4a;line-height:1.65}.hero-logo{text-align:center}.hero-logo img{max-width:280px;width:100%;filter:drop-shadow(0 18px 25px rgba(0,0,0,.13))}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.btn,button.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:14px;padding:12px 16px;background:var(--primario);color:white;font-weight:800;cursor:pointer;min-height:44px}.btn:hover{text-decoration:none;background:var(--primario-oscuro)}.btn.gold{background:var(--dorado);color:#27170a}.btn.light{background:#fff;color:var(--primario);border:1px solid var(--borde)}.btn.danger{background:var(--rojo)}.btn.success{background:var(--verde)}.btn.small{padding:8px 10px;border-radius:10px;min-height:34px;font-size:.88rem}.grid{display:grid;gap:16px}.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.stat{background:#fff;border:1px solid var(--borde);border-radius:22px;padding:20px;box-shadow:0 10px 25px rgba(0,0,0,.06)}.stat strong{display:block;font-size:2rem;color:var(--primario)}.stat span{color:var(--gris);font-weight:700}.form{display:grid;gap:14px}.form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.field label{display:block;margin:0 0 6px;font-weight:800;color:#38303a}.field input,.field select,.field textarea{width:100%;border:1px solid var(--borde);border-radius:14px;padding:12px 13px;background:#fff;font:inherit}.field textarea{min-height:90px;resize:vertical}.hint{color:var(--gris);font-size:.92rem}.alert{padding:13px 15px;border-radius:16px;margin-bottom:14px;border:1px solid}.alert-success{background:#ecfdf5;border-color:#a7f3d0;color:#065f46}.alert-error{background:#fef2f2;border-color:#fecaca;color:#7f1d1d}.alert-info{background:#eff6ff;border-color:#bfdbfe;color:#1e3a8a}.table-wrap{overflow:auto;border:1px solid var(--borde);border-radius:20px;background:#fff}.table{width:100%;border-collapse:collapse;min-width:760px}.table th,.table td{padding:12px 13px;border-bottom:1px solid #f0e8dc;text-align:left;vertical-align:top}.table th{background:var(--crema);color:var(--primario);font-size:.88rem;text-transform:uppercase;letter-spacing:.05em}.table tr:last-child td{border-bottom:0}.badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;font-weight:800;font-size:.78rem;background:var(--crema);color:var(--primario);white-space:nowrap}.badge.ok{background:#dcfce7;color:#166534}.badge.warn{background:#fef3c7;color:#92400e}.badge.danger{background:#fee2e2;color:#991b1b}.badge.info{background:#dbeafe;color:#1e40af}.login-page .container{width:min(980px,94vw)}.login-box{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}.login-panel{background:white;border:1px solid var(--borde);border-radius:28px;padding:28px;box-shadow:var(--sombra)}.login-panel h1{color:var(--primario);font-size:2.3rem;margin:0 0 10px}.quote{background:linear-gradient(135deg,var(--primario),#7b2d72);color:white;border-radius:28px;padding:28px;position:relative;overflow:hidden}.quote:after{content:'✦';position:absolute;right:22px;bottom:-30px;font-size:10rem;color:rgba(216,155,40,.18)}.quote img{width:160px;background:white;border-radius:26px;padding:8px;margin-bottom:16px}.calendar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.calendar-month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;margin-top:16px}.day-name{text-align:center;color:var(--primario);font-weight:900;text-transform:uppercase;font-size:.8rem}.day-card{min-height:120px;background:white;border:1px solid var(--borde);border-radius:18px;padding:10px;box-shadow:0 8px 16px rgba(0,0,0,.04)}.day-card.muted{opacity:.45;background:#fafafa}.day-num{font-weight:900;color:var(--primario);margin-bottom:8px}.turno-chip{display:block;background:var(--crema);border:1px solid #ead9bf;border-radius:14px;padding:8px;margin:6px 0;color:#3b2b31}.turno-chip:hover{text-decoration:none;border-color:var(--dorado)}.turno-chip small{display:block;color:var(--gris);font-weight:700}.turno-card{display:grid;gap:10px;background:#fff;border:1px solid var(--borde);border-radius:20px;padding:15px}.admin-layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start}.admin-sidebar{position:sticky;top:90px;background:white;border:1px solid var(--borde);border-radius:24px;padding:12px;box-shadow:0 10px 24px rgba(0,0,0,.06)}.admin-sidebar a{display:block;padding:11px 12px;border-radius:14px;font-weight:800;color:#3d1739}.admin-sidebar a:hover{background:var(--crema);text-decoration:none}.admin-content{min-width:0}.toolbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}.searchbar{display:flex;gap:8px;flex-wrap:wrap}.searchbar input,.searchbar select{border:1px solid var(--borde);border-radius:12px;padding:10px 12px}.footer{text-align:center;color:var(--gris);padding:20px}.empty{padding:22px;border:1px dashed var(--borde);border-radius:18px;background:#fff;color:var(--gris)}.contact-row{display:flex;gap:8px;flex-wrap:wrap}.mobile-only{display:none}.print-only{display:none}@media (max-width:860px){.nav-toggle{display:block}.main-nav{display:none;position:absolute;left:3vw;right:3vw;top:82px;background:white;border:1px solid var(--borde);border-radius:20px;padding:12px;box-shadow:var(--sombra);flex-direction:column;align-items:stretch}.nav-open .main-nav{display:flex}.hero,.login-box,.grid.cols-2,.grid.cols-3,.grid.cols-4,.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.form-row{grid-template-columns:1fr}.calendar-month{grid-template-columns:1fr}.day-name{display:none}.day-card{min-height:auto}.brand small{display:none}.brand img{width:48px;height:48px}.container{padding-top:16px}.table{min-width:700px}.mobile-only{display:inline}}@media print{.topbar,.admin-sidebar,.actions,.btn,.footer,.no-print{display:none!important}.container{width:100%;padding:0}.card{box-shadow:none;border:0}.print-only{display:block}}

/* Ajustes v1.2: selección de turnos más clara */
.chip-action{display:inline-flex;margin-top:6px;border-radius:999px;padding:4px 8px;font-size:.74rem;font-weight:900;background:var(--primario);color:#fff}.chip-action.warn{background:#92400e}.chip-action.info{background:#1e40af}.chip-action.ok{background:#166534}.turno-chip strong{display:block;color:var(--primario)}.turno-card-select{align-content:start}.mini-form{gap:8px}.mini-form .field label{font-size:.82rem;margin-bottom:4px}.mini-form .field select{padding:9px 10px;border-radius:10px}

/* Ajustes v1.3: calendario mensual resumido, compromisos fijos y PWA */
.calendar-summary .day-card{display:grid;gap:7px;align-content:start;color:inherit}.day-link{transition:.16s ease;min-height:118px}.day-link:hover{text-decoration:none;transform:translateY(-2px);border-color:var(--dorado);box-shadow:0 12px 22px rgba(0,0,0,.08)}.day-link.selected{outline:3px solid rgba(216,155,40,.35);border-color:var(--dorado);background:#fffaf0}.legend-row{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 8px}.turno-hour{display:block;font-size:1.35rem;color:var(--primario);margin-bottom:8px}.cobertura-danger{border-color:#fecaca;background:linear-gradient(180deg,#fff,#fff7f7)}.cobertura-warn{border-color:#fde68a;background:linear-gradient(180deg,#fff,#fffbeb)}.cobertura-ok{border-color:#bbf7d0;background:linear-gradient(180deg,#fff,#f0fdf4)}.cobertura-info{border-color:#bfdbfe;background:linear-gradient(180deg,#fff,#eff6ff)}.check-inline{display:inline-flex;align-items:center;gap:7px;padding:8px 10px;border:1px solid var(--borde);border-radius:12px;background:#fff;font-weight:800;color:var(--primario)}.optional-date{display:none}.mini-form:has(select[name="tipo"] option[value="FIJO"]:checked) .optional-date{display:block}.admin-sidebar{max-height:calc(100vh - 110px);overflow:auto}.install-note{border:1px dashed var(--dorado);background:#fffaf0;border-radius:18px;padding:14px;margin-top:12px}@media(max-width:860px){.calendar-summary .day-card{min-height:auto}.day-link{min-height:auto}.turno-hour{font-size:1.15rem}.admin-sidebar{max-height:none;overflow:visible}}

/* Ajustes v1.3.5: adoración permanente más clara y cupos visibles */
.permanent-note strong{color:var(--primario)}
.availability-filter{background:#fff;border:1px solid var(--borde);border-radius:20px;padding:14px;margin-bottom:14px}
.availability-card{display:flex;justify-content:space-between;align-items:center;gap:16px;border:1px solid var(--borde);border-radius:22px;padding:16px;margin:14px 0;background:#fff;box-shadow:0 10px 22px rgba(0,0,0,.05)}
.availability-card strong{display:block;color:var(--primario);font-size:1.15rem}.availability-card span{display:block;color:var(--gris);margin-top:4px}.availability-card.available{border-color:#bbf7d0;background:linear-gradient(135deg,#fff,#f0fdf4)}.availability-card.full{border-color:#fecaca;background:linear-gradient(135deg,#fff,#fef2f2)}.availability-number{text-align:right}.availability-number strong{font-size:2.2rem;line-height:1;color:var(--primario)}.availability-number small{display:block;color:var(--gris);font-weight:800;margin-top:4px}.availability-hours{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.availability-hour{display:grid;gap:5px;background:#fff;border:1px solid var(--borde);border-radius:16px;padding:12px;color:var(--texto);transition:.14s ease}.availability-hour:hover{text-decoration:none;transform:translateY(-1px);border-color:var(--dorado)}.availability-hour.selected{outline:3px solid rgba(216,155,40,.35);border-color:var(--dorado)}.availability-hour strong{color:var(--primario)}.availability-hour span{font-weight:800;color:#3b2b31}.availability-hour em{font-style:normal;font-size:.84rem;font-weight:900}.availability-hour.available em{color:var(--verde)}.availability-hour.full{opacity:.72;background:#fff7f7}.availability-hour.full em{color:var(--rojo)}.btn[disabled]{opacity:.55;cursor:not-allowed;filter:grayscale(.2)}.btn[disabled]:hover{background:var(--primario)}
@media(max-width:860px){.availability-card{align-items:flex-start;flex-direction:column}.availability-number{text-align:left}.availability-hours{grid-template-columns:1fr}}

/* Ajustes v1.3.6: cancelar una fecha o una serie sin borrar historial */
.no-margin{margin-top:0}.history-card{margin-top:18px}.my-shifts-list{display:grid;gap:14px}.my-shift-card{background:#fff;border:1px solid var(--borde);border-radius:22px;padding:16px;box-shadow:0 10px 24px rgba(0,0,0,.05)}.my-shift-main{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.my-shift-date{display:block;color:var(--primario);font-weight:900;font-size:1.02rem}.my-shift-hour{display:block;font-size:1.5rem;margin-top:5px;color:#292029}.my-shift-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.shift-actions{margin-top:14px;border-top:1px solid #f0e8dc;padding-top:12px}.shift-actions summary{cursor:pointer;color:var(--primario);font-weight:900;list-style:none;display:inline-flex;align-items:center;gap:8px}.shift-actions summary::-webkit-details-marker{display:none}.shift-actions summary:after{content:'+';display:inline-grid;place-items:center;width:24px;height:24px;border-radius:999px;background:var(--crema);color:var(--primario)}.shift-actions[open] summary:after{content:'–'}.shift-actions-body{display:grid;gap:10px;margin-top:12px}.shift-action-block{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,260px) auto;align-items:center;gap:12px;padding:12px;border:1px solid var(--borde);border-radius:16px;background:#fff}.shift-action-block strong{display:block;color:var(--primario)}.shift-action-block small{display:block;color:var(--gris);margin-top:3px;line-height:1.35}.shift-action-block input{width:100%;border:1px solid var(--borde);border-radius:12px;padding:10px 11px;font:inherit}.shift-action-block.series-action{background:#fff8f8;border-color:#fecaca}.shift-action-block.muted-action{grid-template-columns:1fr;background:#fffbeb}.history-table{min-width:640px}
@media(max-width:860px){.my-shift-main{flex-direction:column}.my-shift-badges{justify-content:flex-start}.my-shift-hour{font-size:1.3rem}.shift-action-block{grid-template-columns:1fr}.shift-action-block .btn{width:100%}.history-table{min-width:580px}}

/* v1.3.8: aviso compacto de compromisos futuros */
.future-commitments {
  margin: 14px 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(216,155,40,.45);
  border-radius: 16px;
  background: rgba(216,155,40,.08);
}
.future-commitments > strong {
  display: block;
  margin-bottom: 8px;
  color: var(--primary, #5b1f54);
}
.future-commitment-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 0;
  border-top: 1px dashed rgba(91,31,84,.18);
}
.future-commitment-row:first-of-type { border-top: 0; }
.future-commitment-row span { font-weight: 700; }
.future-commitment-row small { color: #5f5a5f; text-align: right; }
@media (max-width: 700px) {
  .future-commitment-row { align-items: flex-start; flex-direction: column; gap: 3px; }
  .future-commitment-row small { text-align: left; }
}

/* v1.3.12: acceso sencillo y responsables de cada hora */
.login-options{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 18px}.login-options span{display:inline-flex;align-items:center;gap:5px;padding:8px 11px;border:1px solid var(--borde);border-radius:999px;background:var(--crema);font-weight:900;color:var(--primario)}
.coordinator-callout{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:18px;border-color:rgba(216,155,40,.55);background:linear-gradient(135deg,#fff,#fff8e9)}.coordinator-callout strong{color:var(--primario);font-size:1.1rem}.coordinator-callout p{margin:5px 0 0;color:var(--gris)}
.hour-admin-intro{margin-bottom:16px;background:#fffaf0;border-color:rgba(216,155,40,.45)}.hour-admin-intro strong{color:var(--primario)}.hour-admin-intro p{margin-bottom:0}
.day-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.day-tabs a{padding:10px 14px;border:1px solid var(--borde);border-radius:14px;background:#fff;font-weight:900;color:var(--primario)}.day-tabs a:hover,.day-tabs a.active{background:var(--primario);border-color:var(--primario);color:#fff;text-decoration:none}
.hour-admin-list{display:grid;gap:10px}.hour-admin-row{display:grid;grid-template-columns:150px minmax(260px,1fr) minmax(150px,220px) auto;align-items:end;gap:12px;padding:13px;border:1px solid var(--borde);border-radius:18px;background:#fff}.hour-admin-time strong{display:block;color:var(--primario);font-size:1.08rem}.hour-admin-time small,.hour-admin-current small{display:block;color:var(--gris);margin-top:4px}.hour-admin-current strong{display:block;margin-top:5px;color:#332833}.field.no-margin{margin:0}
.coordinator-filter{margin-bottom:16px}.coordinator-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px;margin-bottom:16px;border-radius:22px;background:linear-gradient(135deg,var(--primario),#7a2a70);color:#fff;box-shadow:var(--sombra)}.coordinator-summary span{display:block}.coordinator-summary strong{display:block;font-size:1.7rem;margin-top:4px}.coordinator-counts{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap}.coordinator-counts .badge{border:1px solid rgba(255,255,255,.35)}
.coordinator-people{display:grid;gap:12px}.coordinator-person{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:15px;border:1px solid var(--borde);border-radius:18px;background:#fff}.coordinator-person.is-absent{background:#fff7f7;border-color:#fecaca}.coordinator-person-main{display:grid;gap:7px}.coordinator-person-main>strong{color:var(--primario);font-size:1.1rem}.coordinator-person-main>small{color:var(--gris)}
@media(max-width:860px){.coordinator-callout,.coordinator-summary,.coordinator-person{align-items:flex-start;flex-direction:column}.coordinator-callout .btn,.coordinator-person .actions{width:100%}.coordinator-person .actions .btn{flex:1;text-align:center}.coordinator-counts{justify-content:flex-start}.hour-admin-row{grid-template-columns:1fr;align-items:stretch}.day-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.day-tabs a{text-align:center}.login-options{display:grid;grid-template-columns:1fr}.login-options span{justify-content:center}}


/* v1.3.14: edición de datos desde el perfil del adorador */
.profile-card{max-width:940px;margin:18px auto}.profile-card h1{margin:0 0 6px;color:var(--primario)}.profile-section-title{margin:8px 0 0;padding-top:18px;border-top:1px solid var(--borde);color:var(--primario);font-size:1.2rem}


/* v1.3.17: selección de adorador cuando se comparte teléfono familiar */
.choice-list{display:grid;gap:10px;margin-top:8px}.choice-card{display:flex;align-items:center;gap:12px;border:1px solid var(--borde);border-radius:16px;padding:12px;background:#fff;cursor:pointer;transition:.14s ease}.choice-card:hover{border-color:var(--dorado);box-shadow:0 8px 18px rgba(0,0,0,.06)}.choice-card input{width:auto;accent-color:var(--primario)}.choice-card strong{display:block;color:var(--primario)}.choice-card small{display:block;color:var(--gris);margin-top:3px}

/* v1.4.0: QR de asistencia y fase WhatsApp manual */
.attendance-page .container{width:min(980px,94vw)}
.attendance-box .quote{background:linear-gradient(135deg,var(--primario),#6f2566)}
.attendance-window-note{margin-top:18px;padding:14px;border:1px solid rgba(255,255,255,.25);border-radius:18px;background:rgba(255,255,255,.12)}
.attendance-window-note strong{display:block;margin-bottom:4px}.attendance-window-note span{opacity:.95}
.attendance-form .btn{width:100%;font-size:1.05rem}.qr-admin-grid{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:24px;align-items:start}.qr-preview{background:white;border:1px solid var(--borde);border-radius:24px;padding:18px;text-align:center}.qr-preview img{width:100%;max-width:420px;border-radius:16px}.qr-admin-card code{display:inline-block;max-width:100%;overflow:auto;background:#fff;border:1px solid var(--borde);border-radius:10px;padding:8px 10px;color:#3d1739}.qr-admin-card ol{padding-left:20px;line-height:1.7}.attendance-success-icon{font-size:3rem;line-height:1}.table select{min-width:145px}
@media(max-width:860px){.qr-admin-grid{grid-template-columns:1fr}.qr-preview img{max-width:100%}.attendance-form .btn{min-height:54px}.main-nav a[href$="asistencia_qr.php"]{background:#ecfdf5;color:#166534}}
@media print{.qr-admin-grid{grid-template-columns:1fr}.qr-preview{border:0}.qr-preview img{max-width:720px}.qr-admin-card{box-shadow:none}.qr-admin-card h2,.qr-admin-card p,.qr-admin-card h3,.qr-admin-card ol,.install-note{display:none!important}}


/* v1.4.1 - inscripción más clara y cupos sobre ideal permitidos */
.success-hero {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px;
  align-items: center;
  background: linear-gradient(135deg, rgba(216,155,40,.22), rgba(91,31,84,.10));
  border: 2px solid rgba(216,155,40,.45);
  border-radius: 26px;
  padding: 24px;
  margin: 0 0 18px;
  box-shadow: 0 18px 45px rgba(47, 24, 44, .12);
}
.success-hero .success-icon {
  width: 70px;
  height: 70px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: var(--dorado);
  color: #fff;
  font-size: 42px;
  font-weight: 900;
  box-shadow: 0 10px 28px rgba(216,155,40,.28);
}
.success-hero h1 {
  margin: 0 0 8px;
  font-size: clamp(1.7rem, 4vw, 2.5rem);
  color: var(--primario);
}
.success-hero p {
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.45;
}
.availability-card.full,
.availability-hour.full {
  border-color: rgba(216,155,40,.55);
  background: rgba(216,155,40,.10);
}
@media (max-width: 640px) {
  .success-hero { grid-template-columns: 1fr; text-align: center; }
  .success-hero .success-icon { margin: 0 auto; }
}

/* v1.4.3 - confirmación visible y rangos de varias horas */
.shift-saved-hero {
  margin-bottom: 20px;
}
.success-hero .success-detail {
  margin-top: 8px;
  font-weight: 900;
  color: var(--primario);
}
.selected-range-blocks {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 10px;
}
.selected-range-blocks small {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(216,155,40,.38);
  border-radius: 999px;
  padding: 5px 9px;
  background: rgba(255,255,255,.72);
  font-weight: 800;
  color: #4a3745;
}
.quick-commit-form .install-note strong {
  color: var(--primario);
}
@media(max-width:860px){
  .selected-range-blocks { display: grid; grid-template-columns: 1fr; }
  .selected-range-blocks small { justify-content: center; border-radius: 14px; }
}

/* v1.4.4: reporte de disponibilidad semanal */
.disponibilidad-table{min-width:1500px}.disponibilidad-table th{text-align:center}.hora-col{background:#fffaf2;color:var(--primario);white-space:nowrap;text-align:center}.availability-cell{min-width:170px;border-left:1px solid #f0e8dc}.availability-count{display:inline-flex;border-radius:999px;padding:5px 9px;font-weight:900;font-size:.85rem;background:#fff;color:var(--primario);border:1px solid var(--borde);margin-bottom:7px}.availability-cell small{color:var(--gris)}.availability-list{padding-left:17px;margin:6px 0 0;display:grid;gap:6px}.availability-list li{line-height:1.25}.cell-empty{background:#fff1f2}.cell-low{background:#fffbeb}.cell-ok{background:#ecfdf5}.cell-over{background:#eef2ff}.disponibilidad-wrap{max-height:72vh}
@media(max-width:860px){.disponibilidad-table{min-width:1200px}.availability-cell{min-width:150px}}

/* v1.4.5: correos automáticos */
.codebox{display:block;white-space:pre-wrap;background:#1f1a23;color:#fff;border-radius:16px;padding:14px 16px;overflow:auto;font-size:.92rem}.summary-card small{display:block;color:var(--gris);font-weight:700;margin-top:4px}.summary-card span{display:block;color:var(--gris);font-weight:800}.summary-card strong{display:block;color:var(--primario);font-size:1.2rem;margin-top:4px}


/* v1.4.6: disponibilidad semanal sencilla para adoradores permanentes */
.weekly-permanent{border:1px solid rgba(91,31,84,.14);background:linear-gradient(135deg,rgba(91,31,84,.055),rgba(216,155,40,.075));border-radius:24px;padding:18px;margin:18px 0 24px}
.weekly-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.weekly-title h2{margin:0 0 6px;color:var(--primario)}
.weekly-scroll{overflow:auto;border:1px solid var(--borde);border-radius:18px;background:#fff;max-height:68vh}
.weekly-availability{width:100%;border-collapse:separate;border-spacing:0;min-width:1120px}
.weekly-availability th{position:sticky;top:0;background:#fffaf2;color:var(--primario);z-index:1;text-align:center;padding:10px;border-bottom:1px solid var(--borde);font-weight:900}
.weekly-availability .hour-head{position:sticky;left:0;z-index:2;background:#fffaf2;min-width:105px;white-space:nowrap}
.weekly-availability td{border-bottom:1px solid #f2e7dc;border-left:1px solid #f2e7dc;padding:6px;text-align:center}
.week-cell a{display:flex;min-height:54px;align-items:center;justify-content:center;flex-direction:column;border-radius:14px;text-decoration:none;color:#2c2530;border:1px solid rgba(255,255,255,.5);transition:.15s ease}
.week-cell a:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(47,24,44,.12)}
.week-cell strong{font-size:.98rem;color:var(--primario)}
.week-cell small{font-size:.72rem;font-weight:800;color:#665766}
.week-empty a{background:#fff1f2}.week-low a{background:#fff7cc}.week-ok a{background:#dcfce7}.week-over a{background:#e0e7ff}
.legend-inline{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;font-weight:800;color:#554757}
.legend-inline span{display:inline-flex;align-items:center;gap:6px}
.dot{display:inline-block;width:12px;height:12px;border-radius:999px;border:1px solid rgba(0,0,0,.08)}
.dot.empty{background:#fff1f2}.dot.low{background:#fff7cc}.dot.ok{background:#dcfce7}.dot.over{background:#e0e7ff}
.soft-separator{border:0;border-top:1px solid var(--borde);margin:24px 0}
@media(max-width:860px){.weekly-title{display:block}.weekly-title .btn{margin-top:10px}.weekly-scroll{max-height:72vh}.weekly-availability{min-width:980px}.weekly-availability th,.weekly-availability td{padding:5px}.week-cell a{min-height:50px}.legend-inline{font-size:.88rem}}


/* v1.4.7: tabla semanal más clara para adoradores permanentes */
.weekly-scroll{overflow:auto;border:1px solid var(--borde);border-radius:18px;background:#fff;max-height:72vh;box-shadow:0 8px 24px rgba(30,10,30,.06)}
.weekly-availability{width:100%;border-collapse:collapse;min-width:1220px}
.weekly-availability thead th{position:sticky;top:0;background:#faf5fb;color:var(--primario);z-index:5;text-align:center;padding:12px 10px;border:1px solid #eadfed;font-weight:900}
.weekly-availability .hour-head{position:sticky;left:0;z-index:4;background:#fffaf2;min-width:130px;white-space:nowrap;text-align:left;padding-left:12px}
.weekly-availability td{border:1px solid #f0e3ef;padding:8px;vertical-align:middle;text-align:center}
.week-cell a{display:flex;min-height:84px;align-items:center;justify-content:center;flex-direction:column;border-radius:14px;text-decoration:none;border:2px solid transparent;padding:8px 6px;transition:.18s ease}
.week-cell a:hover{transform:translateY(-1px);box-shadow:0 10px 20px rgba(0,0,0,.08)}
.week-available a{background:#ecfdf3;border-color:#86efac;color:#166534}
.week-full a{background:#fff1f2;border-color:#fca5a5;color:#991b1b}
.week-count{font-size:1.2rem;font-weight:900;line-height:1.1}
.week-state{font-size:.78rem;font-weight:800;line-height:1.2;margin-top:6px}
.legend-inline{display:flex;flex-wrap:wrap;gap:14px;margin-top:12px;font-weight:800;color:#554757}
.legend-inline span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #eadfed;border-radius:999px;background:#fff}
.dot{display:inline-block;width:14px;height:14px;border-radius:999px;border:1px solid rgba(0,0,0,.08)}
.dot.avail{background:#86efac}
.dot.full{background:#fca5a5}
@media(max-width:860px){
  .weekly-availability{min-width:980px}
  .weekly-availability thead th,.weekly-availability td{padding:6px}
  .weekly-availability .hour-head{min-width:118px}
  .week-cell a{min-height:76px;padding:6px 4px}
  .week-count{font-size:1.05rem}
  .week-state{font-size:.72rem}
}


/* v1.4.8: revisión y unificación de duplicados */
.duplicate-group h2{margin-bottom:4px}
.duplicates-table td small{display:block;color:var(--gris);font-weight:700;margin-top:3px}
.duplicates-table input[type="radio"],.duplicates-table input[type="checkbox"]{width:22px;height:22px;accent-color:var(--primario)}
.duplicates-table .badge{display:inline-flex;margin:2px 2px 2px 0}
@media(max-width:860px){.duplicates-table{min-width:980px}}


/* v1.4.9: separación clara entre adoración permanente y eventual */
.choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}
.choice-card{display:grid;gap:8px;align-content:start;text-decoration:none;border:2px solid var(--borde);border-radius:24px;background:#fff;padding:22px;min-height:155px;color:#2c2030;box-shadow:0 12px 28px rgba(47,24,44,.08);transition:.18s ease}
.choice-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(47,24,44,.12)}
.choice-card.active{border-color:var(--dorado);background:linear-gradient(135deg,rgba(216,155,40,.18),rgba(91,31,84,.06))}
.choice-icon{font-size:2.1rem;line-height:1}
.choice-card strong{font-size:1.35rem;color:var(--primario)}
.choice-card small{font-size:.98rem;line-height:1.45;color:#5d5260;font-weight:700}
.big-help{font-size:1.05rem;padding:18px 20px}
.calendar-summary .badge.info:first-of-type{display:none}
#turnos-dia .searchbar{align-items:center}
@media(max-width:780px){
  .choice-grid{grid-template-columns:1fr}
  .choice-card{min-height:auto}
}


/* v1.5.0: auditoría de reportes */
.table .badge + .badge{margin-left:4px}
.no-margin{margin:0}
@media(max-width:860px){.admin-content .grid.cols-4{grid-template-columns:1fr 1fr}}


/* v1.5.1: auditoría de vista del adorador */
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.summary-card{border:1px solid var(--borde);border-radius:18px;background:#fff;padding:16px}
.summary-card span{display:block;color:var(--gris);font-weight:800;font-size:.88rem}
.summary-card strong{display:block;color:var(--primario);font-size:1.1rem;margin-top:4px;word-break:break-word}
.summary-card small{display:block;color:var(--gris);font-weight:700;margin-top:4px}
@media(max-width:920px){.summary-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.summary-grid{grid-template-columns:1fr}}


/* v1.5.2: ministros y reporte cada 6 horas */
.check-field .check-inline{padding:12px 14px;border:1px solid var(--borde);border-radius:16px;background:#fffaf2;font-weight:900;color:var(--primario)}
.badge.gold{background:#fff4d8;color:#8a5b00;border:1px solid rgba(216,155,40,.35)}
.six-hour-report .mini-list{margin-top:8px;line-height:1.45;font-size:.92rem;color:#5f5262;max-width:680px}
.six-hour-report .minister-list{font-weight:900;color:var(--primario)}
.six-hour-report tr.no-minister{background:#fff7f7}
.six-hour-report tr.has-minister{background:#fbfff8}
@media print{
  .admin-sidebar,.topbar,.no-print,.actions,.btn{display:none!important}
  .admin-layout{display:block}
  .admin-content{padding:0}
  .card{box-shadow:none;border:1px solid #ddd}
}


/* v1.5.3: diagnóstico y búsqueda avanzada de adoradores */
.advanced-search{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
.advanced-search input{min-width:280px;flex:2}
.advanced-search select{min-width:170px}
.table small{line-height:1.35}
@media(max-width:760px){
  .advanced-search input,.advanced-search select,.advanced-search .btn{width:100%;min-width:0}
}


/* v1.5.4: reporte de ministros entre fechas */
.six-hour-report td{vertical-align:top}
.six-hour-report .badge + .badge{margin-left:4px}


/* v1.5.5: reporte Word/PDF semanal de ministros */
.word-preview{background:#fff;border:1px solid var(--borde);border-radius:18px;padding:22px;max-height:900px;overflow:auto}
.word-preview h1{font-size:1.5rem;color:var(--primario);margin-top:0}
.word-preview h2{font-size:1.25rem;color:var(--primario);border-bottom:2px solid var(--dorado);padding-bottom:6px;margin-top:24px}
.word-preview h3{font-size:1rem;margin:10px 0;color:#222}
.word-preview .bloque{border:1px solid #ddd;border-radius:14px;margin:12px 0;padding:12px}
.word-preview .bloque.sin{background:#fff7f7}
.word-preview .bloque.con{background:#fbfff8}
.word-preview .subtitulo{font-weight:900;color:var(--primario);margin:8px 0 4px}
.word-preview .vacio{color:#991b1b;font-weight:900}
.word-preview .ok{color:#166534;font-weight:900}


/* v1.5.6: usuarios más robusto */
.form .check-inline{display:inline-flex;align-items:center;gap:8px}


/* v1.5.7: integridad y consistencia de reportes */
.alert-warning{background:#fff7ed;border-color:#fdba74;color:#7c2d12}
.alert-warning a{color:#7c2d12}


/* v1.5.8: coordinadores de bloques de 6 horas */
.coordinator-six-box{margin:16px 0;padding:18px;border:1px solid var(--borde);border-radius:20px;background:#fffaf2}
.coordinator-check{font-size:1.05rem;font-weight:900;color:var(--primario)}
.coordinator-block-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:14px}
.coordinator-day{padding:12px;border:1px solid #eadfed;border-radius:16px;background:#fff}
.coordinator-day strong{display:block;color:var(--primario);margin-bottom:8px}
.coordinator-day label{display:flex;align-items:center;gap:7px;margin:6px 0;font-size:.88rem;font-weight:700}
.coordinator-day input{width:18px;height:18px;accent-color:var(--primario)}
.movement-table td{vertical-align:top}
@media(max-width:980px){.coordinator-block-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.coordinator-block-grid{grid-template-columns:1fr}}


/* v1.5.9: distribución diaria de adoradores permanentes */
.daily-distribution-preview{background:#fff;border:1px solid var(--borde);border-radius:18px;padding:20px;max-height:1100px;overflow:auto}
.daily-distribution-preview h1{font-size:1.45rem;color:var(--primario);margin-top:0}
.daily-distribution-preview h2{font-size:1.2rem;color:var(--primario);border-bottom:2px solid var(--dorado);padding-bottom:6px;margin-top:26px}
.daily-distribution-preview table{border-collapse:collapse;width:100%;font-size:.88rem;margin-bottom:18px}
.daily-distribution-preview th,.daily-distribution-preview td{border:1px solid #bbb;padding:7px;vertical-align:top}
.daily-distribution-preview th{background:#e8edf7;text-align:center}
.daily-distribution-preview .bloque{background:#f3e9da;text-align:center;font-weight:900}
.daily-distribution-preview .hora{font-weight:900;white-space:nowrap}
.daily-distribution-preview .cantidad{text-align:center;font-weight:900}
.daily-distribution-preview .sin{background:#fff1f2}
.daily-distribution-preview .bajo{background:#fff7ed}
.daily-distribution-preview .ideal{background:#ecfdf5}
.daily-distribution-preview .sobre{background:#eef2ff}
.daily-distribution-preview .persona{margin-bottom:4px}
.daily-distribution-preview .resumen{font-weight:900;color:var(--primario)}
@media(max-width:760px){
  .daily-distribution-preview{padding:10px}
  .daily-distribution-preview table{font-size:.78rem}
}


/* v1.5.11: coordinación pública */
.public-coordination-page{background:#f6f1f7}
.public-coordination-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;margin-bottom:18px;border-radius:24px;background:linear-gradient(135deg,#4b1748,#702d68);color:#fff;box-shadow:var(--sombra)}
.public-coordination-hero h1{margin:5px 0 8px;font-size:clamp(1.7rem,4vw,2.6rem)}
.public-coordination-hero p{max-width:850px;margin:0;color:#f7eefa}
.public-coordination-hero img{width:110px;height:110px;object-fit:contain;background:#fff;border-radius:24px;padding:10px}
.eyebrow{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:var(--dorado)}
.public-week-filter{margin-bottom:18px}
.public-day-section{margin-bottom:22px}
.public-day-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding-bottom:14px;border-bottom:2px solid var(--dorado)}
.public-day-heading>div:first-child span{display:block;color:var(--primario);font-size:1.35rem;font-weight:900}
.public-day-heading>div:first-child strong{display:block;font-size:1rem;color:#555}
.public-day-coordinators{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 16px;max-width:720px}
.public-day-coordinators small{display:block}
.public-block-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:18px}
.public-block-card{border:1px solid var(--borde);border-radius:20px;overflow:hidden;background:#fff}
.public-block-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:15px;background:#f8edf7;border-bottom:1px solid var(--borde)}
.public-block-card>header span,.public-block-manager small{display:block;font-size:.75rem;color:#6b5b6b;text-transform:uppercase;letter-spacing:.06em;font-weight:800}
.public-block-card>header strong{display:block;color:var(--primario)}
.public-block-manager{text-align:right}
.public-hour-list{display:flex;flex-direction:column}
.public-hour-row{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:12px 14px;border-bottom:1px solid #eee}
.public-hour-row:last-child{border-bottom:0}
.public-hour-row.empty{background:#fff2f3}
.public-hour-row.low{background:#fffaf0}
.public-hour-row.ok{background:#f1fff6}
.public-hour-time strong,.public-hour-time span{display:block}
.public-hour-time span{font-size:.78rem;color:#666;margin-top:3px}
.public-hour-people>div{margin-bottom:7px}
.public-hour-people>div:last-child{margin-bottom:0}
.public-hour-people strong,.public-hour-people small{display:block}
.public-hour-people small{color:#666}
.text-danger{color:#a1262f!important}
.public-phone-search{margin-top:28px;border:2px solid rgba(216,155,40,.55)}
.public-search-form input[name=telefono]{min-width:260px}
.public-person-options{display:grid;gap:10px;margin-top:16px}
.public-person-option{display:flex;justify-content:space-between;gap:12px;padding:14px;border:1px solid var(--borde);border-radius:15px;background:#fff;text-decoration:none}
.public-person-option:hover{border-color:var(--dorado);transform:translateY(-1px)}
.public-person-option strong,.public-person-option small{display:block}
.public-person-result{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:20px 0;padding:18px;border-radius:18px;background:#f7edf6}
.public-person-result h3{margin:3px 0}
.public-shift-management{padding-top:10px}
.public-current-shifts{display:grid;gap:10px}
.public-current-shifts label{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid var(--borde);border-radius:14px;background:#fff}
.public-current-shifts input{width:19px;height:19px;accent-color:var(--primario)}
.public-current-shifts strong,.public-current-shifts small{display:block}
.public-new-shift{margin:18px 0;padding:16px;border:1px dashed var(--dorado);border-radius:18px;background:#fffaf1}
.public-new-shift h3{margin-top:0}
.public-confirm-check{margin:16px 0;font-weight:800}
.public-recent-actions{margin-top:22px}
.public-link-config{margin:18px 0;padding:18px;border:1px solid var(--borde);border-radius:20px;background:#fffaf1}
.copy-link-row{display:grid;grid-template-columns:1fr auto auto;gap:8px}
.public-access-message{max-width:620px;margin:60px auto;text-align:center}
@media(max-width:900px){
  .public-block-grid{grid-template-columns:1fr}
  .public-day-heading{flex-direction:column}
  .public-day-coordinators{grid-template-columns:1fr}
}
@media(max-width:620px){
  .public-coordination-hero img{display:none}
  .public-hour-row{grid-template-columns:1fr}
  .public-block-card>header{flex-direction:column}
  .public-block-manager{text-align:left}
  .copy-link-row{grid-template-columns:1fr}
  .public-person-result{align-items:flex-start;flex-direction:column}
}


/* v1.5.12: validación visible de la semana pública */
.public-week-summary{margin:18px 0}


/* v1.5.13: tabla pública por día y logo compacto */
.public-coordination-logo{width:64px!important;height:64px!important;max-width:64px!important;max-height:64px!important;object-fit:contain!important}
.public-day-table-wrap{width:100%;overflow-x:auto;border:1px solid #d7c7d4;border-radius:16px}
.public-day-table{width:100%;border-collapse:collapse;min-width:760px;background:#fff}
.public-day-table th,.public-day-table td{border:1px solid #d7c7d4;padding:10px;vertical-align:top}
.public-day-table thead th{background:#4b1748;color:#fff;text-align:center}
.public-day-table .block-start td{border-top:4px solid #d89b28}
.public-day-table .block-cell{width:195px;text-align:center;background:#f3e9da;color:#4b1748;font-weight:900}
.public-day-table .block-cell.block-0{background:#eee5f2}
.public-day-table .block-cell.block-6{background:#fff0cf}
.public-day-table .block-cell.block-12{background:#e9f4ef}
.public-day-table .block-cell.block-18{background:#e8edf7}
.public-day-table .block-title{display:block;font-size:1rem;margin-bottom:7px}
.public-day-table .manager-label{display:block;margin-top:8px;font-size:.70rem;text-transform:uppercase;letter-spacing:.06em;color:#6c5b68}
.public-day-table .manager-name{display:block;margin-top:3px;font-weight:900}
.public-day-table .manager-contact{display:block;font-size:.76rem;color:#666}
.public-day-table .hour-cell{width:125px;white-space:nowrap;font-weight:900;color:#4b1748}
.public-day-table .count-cell{width:86px;text-align:center;font-weight:900}
.public-day-table tr.hour-empty td:not(.block-cell){background:#fff3f4}
.public-day-table tr.hour-low td:not(.block-cell){background:#fffaf0}
.public-day-table tr.hour-ok td:not(.block-cell){background:#f1fff6}
.public-day-table .person-line{margin-bottom:6px}
.public-day-table .person-name{display:block;font-weight:900}
.public-day-table .person-contact{display:block;font-size:.78rem;color:#666}


/* v1.5.14: vista móvil sin tabla horizontal */
.public-mobile-blocks{display:none}
@media(max-width:760px){
  .public-day-table-wrap{display:none!important}
  .public-mobile-blocks{display:grid!important;gap:16px}
  .public-mobile-block{border:1px solid #d7c7d4;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 5px 15px rgba(75,23,72,.06)}
  .public-mobile-block>header{display:block;padding:14px;border-bottom:3px solid #d89b28}
  .public-mobile-block.block-0>header{background:#eee5f2}
  .public-mobile-block.block-6>header{background:#fff0cf}
  .public-mobile-block.block-12>header{background:#e9f4ef}
  .public-mobile-block.block-18>header{background:#e8edf7}
  .public-mobile-block>header span{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:#6c5b68;font-weight:800}
  .public-mobile-block>header>div:first-child>strong{display:block;margin-top:3px;color:#4b1748;font-size:1.3rem}
  .public-mobile-manager{margin-top:12px;padding-top:10px;border-top:1px solid rgba(75,23,72,.16)}
  .public-mobile-manager strong,.public-mobile-manager small{display:block}
  .public-mobile-manager small{margin-top:2px;color:#666;overflow-wrap:anywhere}
  .public-mobile-hours{display:flex;flex-direction:column}
  .public-mobile-hour{padding:13px 14px;border-bottom:1px solid #e7dde5}
  .public-mobile-hour:last-child{border-bottom:0}
  .public-mobile-hour.hour-empty{background:#fff3f4}
  .public-mobile-hour.hour-low{background:#fffaf0}
  .public-mobile-hour.hour-ok{background:#f1fff6}
  .public-mobile-hour-title{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:9px}
  .public-mobile-hour-title strong{color:#4b1748;font-size:1.03rem}
  .public-mobile-hour-title span{flex:0 0 auto;padding:4px 8px;border-radius:999px;background:#fff;border:1px solid #d7c7d4;font-size:.78rem;font-weight:800}
  .public-mobile-person{padding:7px 0;border-top:1px dashed rgba(75,23,72,.16)}
  .public-mobile-person:first-child{border-top:0}
  .public-mobile-person strong,.public-mobile-person small{display:block}
  .public-mobile-person small{color:#666;margin-top:2px}
}


/* v1.5.15: pestañas y CSV público */
.public-view-tabs{display:flex;gap:8px;margin:0 0 16px;padding:6px;border:1px solid #d7c7d4;border-radius:16px;background:#fff}
.public-view-tabs a{flex:1 1 0;display:block;padding:12px 14px;border-radius:12px;text-align:center;text-decoration:none;font-weight:900;color:#4b1748}
.public-view-tabs a.active{background:#4b1748;color:#fff;box-shadow:0 5px 14px rgba(75,23,72,.18)}
@media(max-width:620px){.public-view-tabs{display:grid;grid-template-columns:1fr}}


/* v1.5.16: viñeta de ausencia en enlace público */
.public-day-table tr.hour-absent td:not(.block-cell){background:#fff7ed}
.public-mobile-hour.hour-absent{background:#fff7ed}
.badge.danger{background:#fde2e2;color:#991b1b;border:1px solid #fecaca}
