/* Shared visual identity: service artwork during booking, people in the agenda. */
.visual-service-search{display:grid;gap:8px;margin:22px 0 18px;max-width:520px;font-size:14px;font-weight:600}
.visual-service-grid{grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:14px}
.booking-service.visual-service-card{padding:0 0 18px;display:flex;flex-direction:column;align-items:flex-start;position:relative;gap:8px;overflow:hidden;border:1px solid #dbe4e2;border-top:4px solid var(--service-color);border-radius:18px;background:#fff;color:#143333;min-width:0;box-shadow:0 4px 15px #163b3107;transition:transform .15s,box-shadow .15s}
.booking-service.visual-service-card:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 22px #163b3114;border-color:var(--service-color)}
.visual-service-card>strong,.visual-service-card>b,.visual-service-card>span:not(.visual-service-art):not(.booking-choice-arrow){margin-inline:16px}
.visual-service-card>strong{font-size:16px;line-height:1.35;overflow-wrap:anywhere}
.visual-service-card>b{margin-top:auto;font-size:17px}
.visual-service-art{width:100%;aspect-ratio:1.8;display:grid;place-items:center;background:color-mix(in srgb,var(--service-color) 12%,white);color:var(--service-color);margin-bottom:7px;overflow:hidden}
.visual-service-art img{width:100%;height:100%;object-fit:cover}
.visual-service-art svg{width:36px;height:36px}
.visual-service-card .booking-choice-arrow{position:absolute;bottom:16px;right:16px;color:var(--service-color)}
.visual-service-paging{display:flex;justify-content:center;align-items:center;gap:15px;margin:22px 0;font-size:13px}
.team-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin:24px 0}
.team-card{display:flex;align-items:center;gap:16px;text-align:left;background:white;border:1px solid #dbe6e2;border-left:5px solid var(--person-color);border-radius:18px;padding:22px;color:#173a36;min-height:125px;min-width:0;transition:box-shadow .15s}
.team-card:hover{box-shadow:0 6px 24px #123b3012}
.team-avatar{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;border-radius:18px;background:var(--person-color);color:var(--person-ink);font-size:19px;font-weight:750}
.team-card>span:nth-child(2){display:grid;gap:6px;min-width:0}.team-card strong{font-size:17px;overflow-wrap:anywhere}.team-card small{font-size:12px;color:#526962;line-height:1.4}.team-edit{display:flex;gap:5px;align-items:center;margin-left:auto;font-size:12px}.team-edit svg{width:16px}
.team-appointment-preview{display:grid;gap:10px;padding:20px;margin-top:24px;border-left:5px solid var(--person-color);border-radius:12px;background:color-mix(in srgb,var(--person-color) 10%,white);color:#16372f}.team-appointment-preview small{font-size:10px;letter-spacing:1.5px;color:#4e665e}.team-appointment-preview strong{font-size:19px}
.team-service-choices{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:20px}.team-service-choice{display:flex;align-items:center;gap:12px;border:1px solid #dce5df;border-radius:13px;padding:17px;cursor:pointer;min-width:0}.team-service-choice:has(input:checked){border-color:#176b67;background:#f2f9f6}.team-service-choice input{width:20px;height:20px;flex-shrink:0}.team-service-dot{width:14px;height:14px;border-radius:50%;border:1px solid #173a3620;flex-shrink:0}.team-service-choice>span:last-child{display:grid;gap:5px}.team-service-choice small{font-size:12px;color:#526962}
.team-review-person{display:flex;gap:18px;align-items:center;margin:22px 0}.team-review-person h4{font-size:24px;margin:0}.team-review-person p{margin:6px 0}.team-schedule-review{background:#f5f9f6;border:1px solid #e0e8e2;border-radius:16px;padding:9px 20px}.team-schedule-review>div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #e0e8e2}.team-schedule-review>div:last-child{border:0}.team-schedule-review dt{font-weight:650}.team-schedule-review dd{margin:0;text-align:right;color:#4e665e}
.appointment.professional-colored{background:color-mix(in srgb,var(--person-color) 13%,white);color:#172d29;border-left-color:var(--person-color);border-left-width:6px}.appointment.professional-colored .appointment-person i{background:color-mix(in srgb,var(--person-color) 24%,white);color:#172d29}.appointment.professional-colored.cancelled-appointment{background:#f0f0f0;color:#626262;border-left-color:#999}
@media(max-width:600px){.appointment.professional-colored{border-left-width:4px}}
@media(max-width:600px){.visual-service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.visual-service-card>strong{font-size:14px}.visual-service-card>strong,.visual-service-card>b,.visual-service-card>span:not(.visual-service-art):not(.booking-choice-arrow){margin-inline:12px}.visual-service-art{aspect-ratio:1.4}.team-card-grid{grid-template-columns:1fr}.team-card{padding:17px}.team-service-choices{grid-template-columns:1fr}.team-schedule-review{padding-inline:13px}.team-schedule-review dd{font-size:13px}.team-editor .service-editor-progress strong{font-size:10px}}
@media(prefers-reduced-motion:reduce){.booking-service.visual-service-card,.team-card{transition:none}}
