:root{
  --fsqcb-primary: #4db849;
  --fsqcb-accent: #e46e2b;
  --fsqcb-border: #e5e7eb;
  --fsqcb-text: #111827;
  --fsqcb-muted: #6b7280;
  --fsqcb-bg: #ffffff;
}

.fsqcb-wrap{max-width:720px;margin:0 auto;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--fsqcb-text)}
.fsqcb-step{display:none;border:1px solid var(--fsqcb-border);padding:18px;border-radius:14px;background:var(--fsqcb-bg);box-shadow:0 10px 30px rgba(0,0,0,.05)}
.fsqcb-step.is-active{display:block}

.fsqcb-step h3{margin:0 0 12px;font-size:18px;line-height:1.3}
.fsqcb-row{margin:10px 0}
.fsqcb-row label{display:block;font-weight:600;margin-bottom:6px}

.fsqcb-row input,
.fsqcb-row select,
.fsqcb-row textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid var(--fsqcb-border);
  border-radius:12px;
  outline:none;
  background:#fff;
}
.fsqcb-row input:focus,
.fsqcb-row select:focus,
.fsqcb-row textarea:focus{
  border-color: rgba(77,184,73,.65);
  box-shadow:0 0 0 4px rgba(77,184,73,.15);
}

.fsqcb-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}
.fsqcb-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 16px;
  border-radius:12px;
  border:1px solid transparent;
  background:var(--fsqcb-primary);
  color:#fff;
  cursor:pointer;
  text-decoration:none;
  font-weight:700;
}
.fsqcb-btn:hover{filter:brightness(.97)}
.fsqcb-btn:active{transform:translateY(1px)}

.fsqcb-btn.fsqcb-secondary{
  background:#fff;
  color:var(--fsqcb-text);
  border-color:var(--fsqcb-border);
  font-weight:600;
}

.fsqcb-msg{margin-top:10px;font-weight:600}
.fsqcb-msg.error{color:#b42318}
.fsqcb-msg.ok{color:#1a7f37}

.fsqcb-existing{margin-top:10px;padding:10px;border:1px dashed var(--fsqcb-border);border-radius:12px;background:#fafafa}
.fsqcb-existing .fsqcb-appt{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid #eee}
.fsqcb-existing .fsqcb-appt:last-child{border-bottom:none}
.fsqcb-existing .fsqcb-appt .meta{color:var(--fsqcb-muted);font-size:13px}
.fsqcb-existing .fsqcb-cancel{background:var(--fsqcb-accent);border:none;color:#fff;border-radius:10px;padding:8px 10px;cursor:pointer;font-weight:700}

.fsqcb-summary{padding:12px;border:1px solid var(--fsqcb-border);border-radius:12px;background:#fafafa}
.fsqcb-summary .k{color:var(--fsqcb-muted);font-weight:600}

.fsqcb-calendar-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0 6px}
.fsqcb-calendar-intro{margin:0 0 10px;color:var(--fsqcb-muted);line-height:1.45}

/* Stepper */
.fsqcb-stepper{
  display:flex;
  align-items:center;
  gap:12px;
  list-style:none;
  padding:0;
  margin:0 0 14px;
}
.fsqcb-stepper-item{
  position:relative;
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--fsqcb-muted);
  font-weight:700;
  flex:1 1 0;
  min-width:0;
}
.fsqcb-stepper-item:not(:last-child)::after{
  content:"";
  position:absolute;
  left:34px;
  right:-6px;
  top:14px;
  height:2px;
  background:var(--fsqcb-border);
}
.fsqcb-stepper-dot{
  width:28px;height:28px;
  border-radius:999px;
  border:2px solid var(--fsqcb-border);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:var(--fsqcb-muted);
  flex:0 0 auto;
  z-index:1;
}
.fsqcb-stepper-label{
  font-size:13px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.fsqcb-stepper-item.is-active{color:var(--fsqcb-text)}
.fsqcb-stepper-item.is-active .fsqcb-stepper-dot{
  border-color:var(--fsqcb-primary);
  color:var(--fsqcb-primary);
  box-shadow:0 0 0 4px rgba(77,184,73,.15);
}

.fsqcb-stepper-item.is-done{color:var(--fsqcb-text)}
.fsqcb-stepper-item.is-done .fsqcb-stepper-dot{
  background:var(--fsqcb-primary);
  border-color:var(--fsqcb-primary);
  color:#fff;
}
.fsqcb-stepper-item.is-done:not(:last-child)::after{background:rgba(77,184,73,.45)}

@media (max-width:520px){
  .fsqcb-stepper-label{display:none}
  .fsqcb-stepper{gap:8px}
  .fsqcb-stepper-item:not(:last-child)::after{left:32px}
}
