.agenda-box{max-width:1000px;margin:24px auto;padding:24px;background:#191919;border:1px solid #444;border-radius:18px;color:#fff}.agenda-box h2{margin-bottom:12px}.agenda-box p{margin:12px 0;color:#ccc}.agenda-box label{display:block;margin:14px 0}.agenda-box input,.agenda-box select{display:block;width:100%;padding:12px;margin-top:6px;background:#252525;color:white;border:1px solid #666;border-radius:8px;color-scheme:dark}.agenda-box button,.agenda-box .agenda-link{display:inline-block;padding:12px 18px;margin:8px 8px 8px 0;background:var(--accent,#c074a0);color:#fff;border:0;border-radius:8px;cursor:pointer;text-decoration:none}.agenda-box button:disabled{opacity:.5;cursor:wait}.agenda-row{border-top:1px solid #555;padding:16px 0;overflow-wrap:anywhere}.agenda-status{min-height:24px}.agenda-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.agenda-box [hidden]{display:none!important}.agenda-box small{display:block;color:#bbb}.agenda-box button:focus-visible,.agenda-box a:focus-visible{outline:3px solid white;outline-offset:3px}
/* Agenda integrada en la ficha del servicio. */
.agenda-service-action{margin:16px 0}.agenda-service-action #agenda-open{width:100%;justify-content:center}
.agenda-public{padding:16px;margin:12px 0 20px;background:var(--bg-secondary,#f5f5f7);color:var(--text-primary,#111);border-color:var(--border,#ddd);border-radius:14px;max-width:100%}
.agenda-public h3{font-size:1.1rem}.agenda-public p{color:var(--text-primary,#111);line-height:1.5}.agenda-public small{color:var(--text-secondary,#555);line-height:1.5}.agenda-public #agenda-service-label{font-weight:700;margin:6px 0}
.agenda-public fieldset{padding:0;border:0;min-width:0}.agenda-public input{background:white;color:#111;border-color:#ccc;color-scheme:light;min-width:0;font:inherit}
.agenda-calendar-nav{display:flex;align-items:center;justify-content:space-between;margin:18px 0 12px;gap:8px}.agenda-calendar-nav h4{text-transform:capitalize;text-align:center;font-size:.95rem}.agenda-public .agenda-calendar-nav button{background:white;color:#111;border:1px solid #ddd;font-size:1.3rem;padding:4px 14px;margin:0}
.agenda-week,.agenda-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;text-align:center}.agenda-week{font-size:.75rem;font-weight:700;color:#666;margin-bottom:8px}
.agenda-public button.agenda-day{padding:0;min-width:0;width:100%;aspect-ratio:1;margin:0;background:#e9e9ed;color:#aaa;border:1px solid transparent;border-radius:9px;font-size:.85rem;position:relative;cursor:default;opacity:1}
.agenda-public button.agenda-day.available{background:#fff;color:var(--text-primary,#111);border-color:var(--accent);cursor:pointer;font-weight:700}.agenda-public button.agenda-day.available:after{content:'';position:absolute;bottom:4px;left:calc(50% - 2px);width:4px;height:4px;border-radius:50%;background:var(--accent)}
.agenda-public button.agenda-day[aria-pressed=true],.agenda-public button.agenda-hour[aria-pressed=true]{background:var(--accent);color:white}.agenda-public button.agenda-day[aria-pressed=true]:after{background:white}.agenda-legend{margin-top:10px}
.agenda-hours{display:flex;flex-wrap:wrap;gap:8px}.agenda-public button.agenda-hour{margin:0;padding:10px 12px;background:white;color:#111;border:1px solid #ccc;font-size:.8rem}.agenda-public #agenda-submit{width:100%;margin:16px 0 0;font-weight:700}.agenda-public .agenda-grid{grid-template-columns:1fr}.agenda-public button:focus-visible,.agenda-public a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.agenda-public .agenda-status{font-size:.9rem;overflow-wrap:anywhere}.agenda-public .agenda-status:empty{display:none}
@media(max-width:400px){.agenda-public{padding:12px}.agenda-days{gap:4px}.agenda-public button.agenda-day{border-radius:7px;font-size:.8rem}}

#modal-detalle .modal-card:has(.agenda-public:not([hidden])) .modal-image-container,
#modal-detalle .modal-card:has(.agenda-public:not([hidden])) .modal-description,
#modal-detalle .modal-card:has(.agenda-public:not([hidden])) #valoracion-wrapper,
#modal-detalle .modal-card:has(.agenda-public:not([hidden])) #btn-agregar-carrito,
#modal-detalle .modal-card:has(.agenda-public:not([hidden])) .modal-actions-row{display:none!important}
#modal-detalle .modal-card:has(.agenda-public:not([hidden])) .modal-header-row{padding-right:32px;gap:8px}
#modal-detalle .modal-card:has(.agenda-public:not([hidden])) #agenda-open{background:transparent;color:var(--text-secondary);border:1px solid var(--border);font-size:.85rem;padding:10px}


.agenda-custom{margin:20px 0}.agenda-custom summary{cursor:pointer;padding:12px 0}.agenda-whatsapp-help{margin-top:14px}
.agenda-manager{background:#fff;color:#111;border-color:#ddd;max-width:1200px}.agenda-manager p,.agenda-manager small{color:#555;line-height:1.5}.agenda-manager input{background:white;color:#111;border-color:#ccc;color-scheme:light}.agenda-manager-layout{display:grid;grid-template-columns:minmax(270px,380px) minmax(0,1fr);gap:28px;margin-top:18px}.agenda-manager-calendar{align-self:start;position:sticky;top:12px}.agenda-manager .agenda-calendar-nav{margin-top:0}.agenda-manager .agenda-calendar-nav label{margin:0;font-size:.75rem;color:#666;min-width:0}.agenda-manager .agenda-calendar-nav button{margin:0;background:#f5f5f7;color:#111;font-size:1.3rem;padding:8px 13px}.agenda-manager button.manager-day{padding:0;margin:0;width:100%;aspect-ratio:1;color:#111;background:#f5f5f7;border:1px solid transparent;font-size:.9rem;position:relative}.agenda-manager button.manager-day[aria-pressed=true]{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);font-weight:800}.manager-marks{display:flex;justify-content:center;gap:3px;font-size:7px;position:absolute;bottom:3px;left:0;right:0}.mark-free{color:#168355}.mark-pending{color:#b87400}.mark-approved{color:#4c57c8}.manager-legend{font-size:.75rem;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.agenda-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.agenda-manager .agenda-toolbar button{margin:0;font-size:.8rem;padding:10px 12px}.manager-slot{padding:16px;margin:12px 0;border:1px solid #ddd;border-radius:12px;border-left:4px solid #bbb}.manager-slot.state-disponible{border-left-color:#168355}.manager-slot.state-pendiente{border-left-color:#b87400}.manager-slot.state-aprobada{border-left-color:#4c57c8}.manager-slot h4{display:inline-block;margin-right:10px}.manager-badge{display:inline-block;font-size:.75rem;margin:6px 0;padding:4px 8px;border-radius:6px;background:#f1f1f4}.manager-slot details{margin-top:12px;font-size:.85rem}.agenda-manager [hidden]{display:none!important}.agenda-manager #agenda-pending-panel{padding:16px;background:#fff9e9;border-radius:12px;margin:16px 0}.agenda-manager button:focus-visible,.agenda-manager a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
@media(max-width:760px){.agenda-manager-layout{grid-template-columns:1fr;gap:20px}.agenda-manager-calendar{position:static}.agenda-manager{padding:16px}.agenda-manager .agenda-days{max-width:420px;margin:auto}.agenda-manager .agenda-week{max-width:420px;margin:0 auto 8px}.agenda-manager .agenda-calendar-nav input{font-size:.9rem;padding:8px}.agenda-manager .agenda-toolbar button{flex:1 1 130px}}
/* Fotos completas en la ficha y visor de pantalla completa. */
#modal-detalle .modal-image-container{position:relative;aspect-ratio:auto;height:min(42vh,360px);background:#f5f5f7}
#modal-detalle .modal-image-container .modal-img,#modal-detalle .modal-carousel-slide img{width:100%;height:100%;object-fit:contain;cursor:zoom-in}
#modal-detalle .modal-image-container:after{content:'Toca la foto para ampliar';position:absolute;top:12px;left:12px;pointer-events:none;padding:6px 10px;border-radius:20px;background:rgba(255,255,255,.9);font-size:.7rem;color:#333}
.service-viewer{position:fixed;inset:0;width:100vw;height:100dvh;max-width:100vw;max-height:100dvh;margin:0;padding:12px;background:#101010;color:#fff;border:0;z-index:9999;overflow:hidden}.service-viewer[open]{display:flex;flex-direction:column;gap:8px}.service-viewer::backdrop{background:#000}.service-viewer header{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:44px}.service-viewer header span{font-size:.9rem;overflow-wrap:anywhere}.service-viewer button{background:#292929;color:#fff;border:1px solid #666;border-radius:8px;min-width:42px;min-height:42px;padding:8px;cursor:pointer}.service-viewer button:disabled{opacity:.35}.service-viewer footer{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.service-viewer p{font-size:.75rem;color:#bbb;text-align:center;margin:0;line-height:1.5}.photo-stage{flex:1;min-height:0;overflow:auto;touch-action:none;overscroll-behavior:contain}.photo-stage #photo-canvas{width:100%;height:100%}.photo-stage img{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none}.service-viewer button:focus-visible{outline:3px solid white;outline-offset:2px}

.manager-last-action{padding:12px 16px;background:#f2f8f4;border:1px solid #b9d6c4;border-radius:10px;margin:12px 0}
