.appointment-flow{margin-top:18px}
.appointment-progress{display:flex;align-items:center;gap:10px;margin-bottom:18px;padding:12px 14px;border:1px solid rgba(155,234,60,.14);background:linear-gradient(90deg,rgba(155,234,60,.05),rgba(229,196,90,.035));border-radius:14px}
.progress-step{display:flex;align-items:center;gap:7px;border:0;background:none;color:var(--muted);padding:0;font-weight:800;font-size:12px;white-space:nowrap}
.progress-step>span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;background:#1b211a;border:1px solid #30382d;color:#aeb6aa;font-size:11px}
.progress-step.active{color:white}.progress-step.active>span{background:var(--lime);border-color:var(--lime);color:#0a0c09;box-shadow:0 0 0 4px rgba(155,234,60,.08)}
.progress-step.complete{color:#e7ece4}.progress-step.complete>span{background:rgba(155,234,60,.12);border-color:rgba(155,234,60,.45);color:var(--lime)}
.progress-step:disabled{opacity:.4;cursor:default}.progress-line{height:1px;flex:1;min-width:14px;background:linear-gradient(90deg,rgba(155,234,60,.4),rgba(229,196,90,.22))}
.appointment-flow-panel{position:relative;overflow:hidden;border:1px solid rgba(155,234,60,.24);background:linear-gradient(180deg,#131813 0%,#0e120e 100%);border-radius:20px;padding:22px;box-shadow:0 18px 45px rgba(0,0,0,.2)}
.appointment-flow-panel:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--lime),var(--gold));opacity:.8}
.flow-stage-head{margin-bottom:20px}.flow-stage-head h3{font-family:Oswald,Inter,sans-serif;font-size:30px;line-height:1.05;margin:5px 0 8px;color:white}.flow-stage-head p{margin:0;color:var(--muted);font-size:13px;max-width:560px}.flow-kicker{display:block;color:var(--gold);font-size:11px;font-weight:900;letter-spacing:.14em}
.flow-back{border:0;background:none;color:#c0c7bc;padding:0;margin:0 0 12px;font-size:12px;font-weight:800}.flow-back:hover{color:var(--lime)}
.flow-choice-grid{display:grid;gap:12px}.month-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.date-flow-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.flow-choice,.flow-time{border:1px solid #2d352a;background:#151a15;color:white;border-radius:14px;transition:.16s ease;box-shadow:0 8px 20px rgba(0,0,0,.12)}
.flow-choice:hover,.flow-time:hover{transform:translateY(-1px);border-color:rgba(155,234,60,.65);background:#182017}
.flow-choice:focus-visible,.flow-time:focus-visible,.flow-back:focus-visible,.progress-step:focus-visible{outline:2px solid var(--lime);outline-offset:3px}
.flow-month{display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;padding:18px}.flow-choice-main{display:block}.flow-choice-main strong{display:block;font-family:Oswald,Inter,sans-serif;font-size:20px;line-height:1.1}.flow-choice-main small{display:block;color:var(--muted);font-size:11px;margin-top:5px}.flow-arrow{font-size:22px;color:var(--lime);font-weight:900}
.flow-choice.selected,.flow-time.selected{border-color:var(--lime);background:linear-gradient(180deg,rgba(155,234,60,.13),rgba(155,234,60,.065));box-shadow:inset 0 0 0 1px rgba(155,234,60,.35),0 10px 24px rgba(0,0,0,.18)}
.flow-date{padding:14px 10px;text-align:center;min-height:112px;display:flex;flex-direction:column;align-items:center;justify-content:center}.date-weekday{font-size:11px;text-transform:uppercase;letter-spacing:.09em;color:var(--gold);font-weight:900}.date-number{font-family:Oswald,Inter,sans-serif;font-size:34px;line-height:1;margin:7px 0 5px}.flow-date small{font-size:10px;color:var(--muted)}
.flow-selected-date{display:inline-block!important;margin-top:3px!important;padding:7px 10px;border-radius:999px;background:rgba(229,196,90,.07);border:1px solid rgba(229,196,90,.2);color:#e4dbb7!important;font-weight:700}
.flow-time-grid{display:grid;grid-template-columns:repeat(3,minmax(100px,1fr));gap:12px;max-width:520px}.flow-time{display:flex;align-items:center;justify-content:center;min-width:0;min-height:58px;padding:14px 16px;text-align:center;font-family:Inter,sans-serif;font-weight:800;font-size:17px;line-height:1;letter-spacing:.01em;white-space:nowrap}
.flow-confirmation{display:flex;align-items:center;gap:12px;margin-top:18px;border:1px solid rgba(155,234,60,.38);background:linear-gradient(90deg,rgba(155,234,60,.09),rgba(155,234,60,.035));border-radius:14px;padding:14px 15px}.flow-confirmation-icon{width:34px;height:34px;min-width:34px;border-radius:50%;display:grid;place-items:center;background:var(--lime);color:#0a0c09;font-weight:900}.flow-confirmation>div>strong,.flow-confirmation>div>span{display:block}.flow-confirmation>div>strong{color:white;font-size:13px}.flow-confirmation>div>span{color:#cbd2c7;font-size:12px;margin-top:2px}
.slot-state .form-note{text-align:left;margin-bottom:0;color:#aeb6aa}
@media(max-width:760px){.date-flow-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.flow-time-grid{grid-template-columns:repeat(3,minmax(90px,1fr));max-width:none}.appointment-flow-panel{padding:18px}.flow-stage-head h3{font-size:27px}}
@media(max-width:540px){.appointment-progress{gap:6px;padding:10px}.progress-step{font-size:11px;gap:5px}.progress-step>span{width:22px;height:22px}.progress-line{min-width:6px}.month-flow-grid{grid-template-columns:1fr}.date-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flow-time-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.flow-time{min-height:56px;padding:13px 10px;font-size:16px}.flow-month{padding:16px}.flow-choice-main strong{font-size:18px}}
