/* Setup follows the clinic's warm, calm visual language; logical properties support RTL. */
#setupNav { width:100%; font:inherit; text-align:start; cursor:pointer; background:transparent; border:0; }
#setupNav .setup-nav-percent { margin-inline-start:auto; font-size:11px; font-weight:700; padding:3px 7px; border-radius:8px; background:#e8eee4; color:#40543b; font-variant-numeric:tabular-nums; }
#tabSetupContent { max-width:1120px; width:100%; margin:0 auto; padding:28px 12px 36px; color:var(--text-primary,#29372e); }
.setup-hero { background:linear-gradient(115deg,#f6f1e8,#edf3e9); border:1px solid #e2e7da; border-radius:26px; padding:38px 42px; display:flex; justify-content:space-between; gap:30px; align-items:center; overflow:hidden; }
.setup-eyebrow { color:#596e50; font-size:13px; font-weight:700; letter-spacing:.04em; }
.setup-hero h1 { font-size:clamp(27px,3vw,39px); font-weight:600; letter-spacing:-.035em; line-height:1.25; margin:14px 0; }
.setup-hero p { max-width:490px; font-size:16px; line-height:1.75; color:#60705f; margin:0 0 18px; }
.setup-saved { font-size:12px; color:#68775f; }
.setup-progress-wrap { display:grid; justify-items:center; gap:6px; flex-shrink:0; color:#56634e; font-size:13px; }
.setup-progress-wrap>small { opacity:.7; }
.setup-progress-ring { background:conic-gradient(#688259 var(--progress),#dce5d5 0); width:124px; height:124px; border-radius:50%; display:grid; place-items:center; margin-bottom:9px; }
.setup-progress-ring strong { display:flex; justify-content:center; align-items:baseline; direction:ltr; background:#f0f4ec; border-radius:50%; width:106px; height:106px; line-height:106px; font-size:36px; font-weight:600; }
.setup-progress-ring strong small { font-size:18px; }
.setup-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:28px; margin-top:30px; align-items:start; }
.setup-steps { display:grid; gap:5px; padding:8px 0; }
.setup-step { display:flex; align-items:center; gap:12px; padding:13px; text-align:start; background:transparent; border:1px solid transparent; border-radius:14px; font:inherit; color:inherit; cursor:pointer; }
.setup-step.is-current { background:#f0f4ed; border-color:#dce6d6; }
.setup-step-number { width:32px; height:32px; border:1px solid #dfe4dc; border-radius:50%; display:grid; place-items:center; color:#929b8d; flex-shrink:0; font-size:13px; }
.setup-step.is-current .setup-step-number { background:#607653; color:white; border-color:#607653; }
.setup-step.is-done .setup-step-number { background:#e4eddd; color:#526b43; border-color:transparent; }
.setup-step strong { display:block; font-size:14px; font-weight:600; }
.setup-step small { display:block; color:#889080; font-size:11px; margin-top:3px; }
.setup-card { border:1px solid var(--border-color,#e5e8e1); border-radius:22px; padding:30px; background:var(--card-bg,#fff); box-shadow:0 8px 30px #24351b05; min-height:440px; }
.setup-card fieldset { border:0; padding:0; margin:0; min-width:0; }
.setup-step-count { font-size:12px; color:#909787; }
.setup-card h2 { font-size:25px; margin:10px 0 6px; font-weight:600; }
.setup-card-sub { font-size:15px; color:var(--text-secondary,#73806e); line-height:1.6; margin:0 0 26px; }
.setup-body { display:grid; gap:18px; }
.setup-field { display:grid; gap:8px; font-size:13px; font-weight:600; }
.setup-field input,.setup-field select { width:100%; box-sizing:border-box; border:1px solid #dce2d6; border-radius:10px; padding:13px; background:var(--card-bg,#fff); color:inherit; font:inherit; min-height:46px; }
.setup-field-row { display:grid; grid-template-columns:2fr 1fr; gap:16px; }
.setup-choices { display:grid; gap:12px; }
.setup-choice { display:flex; gap:12px; align-items:center; padding:20px 17px; border:1px solid #e0e5da; border-radius:14px; cursor:pointer; transition:background .15s,border-color .15s; }
.setup-choice:has(input:checked) { border-color:#81976f; background:#f4f7f0; box-shadow:0 0 0 1px #81976f; }
.setup-choice input { accent-color:#637c52; flex-shrink:0; width:17px; height:17px; }
.setup-choice strong { display:block; font-size:15px; font-weight:600; }
.setup-choice small { display:block; font-size:13px; line-height:1.6; color:#79846f; margin-top:5px; }
.setup-choice-check { margin-inline-start:auto; color:#617c4f; opacity:0; }
.setup-choice:has(input:checked) .setup-choice-check { opacity:1; }
.setup-note { background:#faf6ee; border-radius:12px; padding:13px 16px; color:#807158; font-size:13px; line-height:1.8; margin:0; }
.setup-footer { display:flex; justify-content:space-between; gap:12px; padding-top:22px; border-top:1px solid #edf0e9; margin-top:12px; }
.setup-card .btn-primary,.setup-confirm .btn-primary { background:#617853; border-color:#617853; color:white; border-radius:10px; min-height:44px; }
.setup-card .btn-secondary { border-radius:10px; min-height:42px; }
.setup-text-button { background:none; border:none; color:#748368; font:inherit; font-size:13px; padding:10px 4px; cursor:pointer; }
.setup-text-button:disabled { opacity:.3; cursor:default; }
.setup-bottom { text-align:center; padding-top:20px; }
.setup-error { color:#a63f30; font-size:13px; line-height:1.7; min-height:20px; margin-top:14px; }
.setup-demo-live { display:grid; gap:14px; justify-items:start; }
.setup-demo-avatars { background:#e9eedf; border:6px solid #f7f9f2; border-radius:30px; padding:12px 20px; color:#6a7b59; font-weight:700; letter-spacing:9px; }
.setup-demo-live p { font-size:14px; color:#79846f; }
.setup-delete { border:none; background:none; color:#a85746; font:inherit; font-size:13px; cursor:pointer; padding:8px 0; }
.setup-inline-actions { display:flex; gap:12px; flex-wrap:wrap; }
.setup-loading { padding:70px 20px; display:grid; gap:20px; justify-items:center; }
.setup-confirm { max-width:460px; width:calc(100% - 40px); border:1px solid #e2e7da; border-radius:20px; padding:28px; color:#34402e; }
.setup-confirm::backdrop { background:#18221166; backdrop-filter:blur(4px); }
.setup-confirm h2 { margin:0 0 16px; font-size:22px; }
.setup-confirm p { line-height:1.8; color:#6e7965; }
.setup-confirm>div { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; flex-wrap:wrap; }
#tabSetupContent :focus-visible,.setup-confirm :focus-visible { outline:3px solid #bd9871; outline-offset:4px; }
.onb-setup-progress { display:grid; gap:7px; font-size:12px; color:#68775f; margin-bottom:20px; }
.onb-setup-progress progress { width:100%; height:6px; accent-color:#637c52; }
.onb-option { display:flex; gap:12px; padding:14px; border:1px solid #dce3d7; border-radius:12px; margin:10px 0; cursor:pointer; font-size:14px; line-height:1.6; }
.onb-option:has(input:checked) { background:#f0f5eb; border-color:#869b75; }
.onb-option input { accent-color:#637c52; }
@media(max-width:760px) {
  #tabSetupContent { padding:12px 0 24px; }
  .setup-hero { padding:25px 22px; gap:18px; border-radius:20px; }
  .setup-progress-ring { width:84px;height:84px; }
  .setup-progress-ring strong { width:70px;height:70px;line-height:70px;font-size:25px; }
  .setup-progress-wrap { font-size:10px; }
  .setup-hero p { font-size:14px; }
  .setup-layout { grid-template-columns:1fr; gap:12px; margin-top:16px; }
  .setup-steps { display:flex; overflow-x:auto; gap:6px; padding-bottom:8px; }
  .setup-step { flex-shrink:0; padding:10px; gap:8px; }
  .setup-step small { display:none; }
  .setup-step:not(.is-current) strong { display:none; }
  .setup-card { padding:23px 18px; min-height:0; }
  .setup-choice { padding:16px 12px; }
}
@media(prefers-reduced-motion:reduce) { .setup-choice { transition:none; } }
@media(max-width:992px) {
  .app-sidebar:has(#setupNav) { padding:6px 8px; block-size:68px; }
  .app-sidebar:has(#setupNav) .sidebar-top { width:100%; min-width:0; }
  .app-sidebar:has(#setupNav) .nav-menu { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:0; }
  .app-sidebar:has(#setupNav) .nav-link { min-width:0; padding:4px 2px; font-size:10px; text-align:center; line-height:1.25; min-height:48px; justify-content:flex-start; }
  #setupNav { position:relative; }
  #setupNav .setup-nav-percent { position:absolute; top:-3px; inset-inline-end:0; font-size:8px; padding:1px 3px; }
  #tabSetupContent { padding-bottom:100px; }
}
.setup-field textarea { width:100%; box-sizing:border-box; border:1px solid #dce2d6; border-radius:10px; padding:13px; background:var(--card-bg,#fff); color:inherit; font:inherit; resize:vertical; }
.setup-skip-hint,.setup-progress-hint { display:block; color:#78836f; font-size:12px; line-height:1.7; margin:12px 0 0; }
.setup-step.is-deferred small { color:#9a7447; }
.setup-review-list { display:grid; gap:4px; margin-bottom:24px; }
.setup-review-list .setup-step { border-color:#e4e8df; justify-content:space-between; }
.setup-footer { flex-wrap:wrap; align-items:center; }
@media(min-width:761px) { .setup-steps { max-height:650px; overflow-y:auto; } .setup-step { padding:9px 12px; } }
