/* ==========================================================================
   Guided forms — one screen at a time, or a conversation
   Built only from the theme's own colours, so every colour scheme works.
   ========================================================================== */

/* things the guide takes over */
.wz-on .wz-hidebtn{display:none!important}
.wz-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important;padding:0!important;margin:-1px!important}
.wz-off{display:none!important}
.wz-step[hidden],.wz-view[hidden]{display:none!important}
.wz-ic{display:inline-flex;width:18px;height:18px;flex:none}
.wz-ic svg,.wz-send svg,.wz-edit svg,.wz-dot svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}

.wz{max-width:680px}
.wz-auto .wz{max-width:none}

/* ---------- top line: what this is, and how to fill it in ---------- */
.wz-top{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.wz-name{font-family:var(--slab);font-weight:600;font-size:13px;color:var(--muted)}
.wz-modes{margin-left:auto;display:inline-flex;padding:3px;border-radius:12px;background:var(--paper);border:1px solid var(--line)}
.wz-modes[hidden]{display:none}
.wz-mode{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:var(--muted);
  font-size:12.5px;font-weight:600;padding:6px 11px;border-radius:9px;min-height:32px}
.wz-mode .wz-ic{width:15px;height:15px}
.wz-mode[aria-pressed="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(22,40,58,.14)}
@media(hover:hover){.wz-mode[aria-pressed="false"]:hover{color:var(--ink)}}

/* ---------- the progress track ---------- */
.wz-track{margin-bottom:18px}
.wz-trackrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:12.5px;margin-bottom:8px}
.wz-count{font-weight:700;color:var(--ink)}
.wz-pct{color:var(--muted)}
.wz-bar{display:flex;gap:5px;list-style:none;margin:0;padding:0}
.wz-bar li{flex:1;min-width:0}
.wz-seg{display:flex;flex-direction:column;gap:7px;width:100%;border:0;background:none;padding:4px 0;text-align:left;color:var(--muted-2);cursor:pointer}
.wz-seg[disabled]{cursor:default}
.wz-segbar{display:block;height:7px;border-radius:7px;background:var(--line);transition:background .25s}
.wz-seg.done .wz-segbar{background:var(--cyan)}
.wz-seg.now .wz-segbar{background:var(--grad-play)}
.wz-seglabel{font-size:11px;font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wz-seg.done .wz-seglabel{color:var(--muted)}
.wz-seg.now .wz-seglabel{color:var(--ink)}
@media(hover:hover){.wz-seg:not([disabled]):hover .wz-seglabel{color:var(--cyan)}}
.wz-meter{display:none}
.wz-title{font-size:22px;line-height:1.2;margin:16px 0 0;color:var(--ink)}
.wz-title:focus{outline:none}

/* ---------- a screen ---------- */
.wz-stage{min-height:120px}
.wz-intro{margin:-4px 0 16px;color:var(--muted);font-size:13.5px;line-height:1.55;max-width:60ch}
.wz-step .field{margin-bottom:18px}
.wz-step .field label{font-size:14px;margin-bottom:7px}
.wz-step .field input,.wz-step .field select,.wz-step .field textarea{font-size:16px;padding:12px 13px;min-height:48px}
.wz-step .field .help{font-size:12.5px;margin-top:6px}
.wz-step .row2{gap:16px}
.wz-opt{font-weight:400;color:var(--muted-2);font-size:12px;margin-left:6px}
.wz-step .flash{margin-bottom:16px}
.wz-make{margin-top:8px}

/* short lists become big buttons */
.wz-choices{display:flex;flex-wrap:wrap;gap:10px}
.wz-choice{flex:1 1 140px;display:flex;align-items:center;gap:10px;min-height:52px;padding:10px 14px;text-align:left;
  border:1.5px solid var(--line);border-radius:12px;background:var(--card);color:var(--ink);font-size:15px;font-weight:500;
  transition:border-color .12s,background .12s}
.wz-dot{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);flex:none;color:transparent;padding:3px}
.wz-choice[aria-checked="true"]{border-color:var(--cyan);background:var(--cyan-soft)}
.wz-choice[aria-checked="true"] .wz-dot{background:var(--cyan);border-color:var(--cyan);color:#fff}
@media(hover:hover){.wz-choice:hover{border-color:var(--cyan)}}
.is-bad + .wz-choices .wz-choice{border-color:var(--clay)}

/* ---------- Back / Next ---------- */
.wz-nav{display:flex;align-items:center;gap:10px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line-2)}
.wz-gap{flex:1}
.wz-nav .btn{min-height:48px;padding:0 18px;font-size:15px;border-radius:12px}
.wz-back .wz-ic,.wz-next .wz-ic{width:20px;height:20px}
.wz-next{min-width:150px;justify-content:center}
.wz-finish{background:linear-gradient(135deg,#10B981,#059669)!important;box-shadow:0 6px 16px -8px rgba(5,150,105,.9)!important}

/* ---------- check your answers ---------- */
.wz-sum{display:flex;flex-direction:column;gap:12px}
.wz-sumblock{border:1px solid var(--line);border-radius:12px;padding:12px 14px;background:var(--card)}
.wz-sumhead{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}
.wz-sumhead b{font-size:13.5px}
.wz-sumhead .btn .wz-ic{width:14px;height:14px}
.wz-sum dl{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:6px 14px;margin:0;font-size:13.5px}
.wz-sum dt{color:var(--muted)}
.wz-sum dd{margin:0;font-weight:500;word-break:break-word}
.wz-sum dd.none{color:var(--muted-2);font-weight:400;font-style:italic}

/* ---------- how would you like to do this? ---------- */
.wz-howtitle{font-size:22px;margin:0 0 6px}
.wz-howtitle:focus{outline:none}
.wz-howsub{margin:0 0 18px;color:var(--muted)}
.wz-picks{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wz-pick{display:flex;flex-direction:column;align-items:stretch;gap:14px;text-align:left;padding:16px;border-radius:16px;
  border:1.5px solid var(--line);background:var(--card);color:var(--ink);transition:border-color .15s,transform .15s,box-shadow .15s}
.wz-art{display:block;border-radius:11px;background:var(--grad-soft);padding:14px 10px}
.wz-art svg{display:block;width:100%;max-width:180px;height:auto;margin:0 auto}
.wz-art .a-paper{fill:var(--card);stroke:var(--line);stroke-width:1.5}
.wz-art .a-line{fill:var(--line)}
.wz-art .a-ink{fill:var(--muted-2)}
.wz-art .a-cyan{fill:var(--cyan)}
.wz-art .a-white{fill:#fff;opacity:.9}
.wz-picktext b{display:block;font-family:var(--slab);font-size:17px;margin-bottom:4px}
.wz-picktext span{display:block;font-size:13px;color:var(--muted);line-height:1.5}
@media(hover:hover){.wz-pick:hover{border-color:var(--cyan);transform:translateY(-2px);box-shadow:var(--shadow-lift)}}
.wz-pick:active{transform:scale(.99)}

/* ---------- the conversation ---------- */
.wz-chathead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:12.5px}
.wz-chatback .wz-ic{width:14px;height:14px}
.wz-chatview .wz-meter{display:block;height:7px;border-radius:7px;background:var(--line);overflow:hidden;margin-bottom:12px}
.wz-chatview .wz-meter::after{content:"";display:block;height:100%;width:var(--p,0%);background:var(--grad-play);border-radius:7px;transition:width .35s}
.wz-msgs{display:flex;flex-direction:column;gap:10px;max-height:min(58vh,540px);min-height:220px;overflow-y:auto;
  padding:14px;border-radius:14px;background:var(--paper);border:1px solid var(--line-2);overscroll-behavior:contain}
.wz-turn{display:flex;flex-direction:column;gap:10px}
.wz-msg{display:flex;align-items:flex-end;gap:6px;max-width:88%}
.wz-msg.bot{align-self:flex-start}
.wz-msg.wz-mine{align-self:flex-end;flex-direction:row-reverse}
.wz-bubble{display:block;padding:10px 14px;border-radius:16px;font-size:14.5px;line-height:1.45;word-break:break-word}
.wz-msg.bot .wz-bubble{background:var(--card);border:1px solid var(--line);border-bottom-left-radius:5px;color:var(--ink)}
.wz-msg.wz-mine .wz-bubble{background:var(--grad);color:#fff;border-bottom-right-radius:5px}
.wz-q{display:block;font-weight:500}
.wz-bubble small{display:block;margin-top:4px;font-size:12px;color:var(--muted);line-height:1.45}
.wz-msg.wz-oops .wz-bubble{background:var(--clay-soft);border-color:transparent;color:var(--clay)}
.wz-edit{width:28px;height:28px;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--muted);padding:6px;flex:none;opacity:.75}
@media(hover:hover){.wz-edit:hover{opacity:1;color:var(--cyan);border-color:var(--cyan)}}
.wz-divider{display:flex;align-items:center;gap:10px;font-size:11.5px;font-weight:600;color:var(--muted);margin:6px 0 2px}
.wz-divider::before,.wz-divider::after{content:"";flex:1;height:1px;background:var(--line)}
.wz-typing .wz-bubble{display:inline-flex;gap:4px;padding:13px 14px}
.wz-typing i{width:6px;height:6px;border-radius:50%;background:var(--muted-2);animation:wzdot 1s infinite ease-in-out}
.wz-typing i:nth-child(2){animation-delay:.15s}.wz-typing i:nth-child(3){animation-delay:.3s}
@keyframes wzdot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.wz-sumcard{max-width:100%;width:100%}
.wz-sumcard .wz-bubble{width:100%;padding:10px}
.wz-sumcard .wz-sumblock{padding:10px 12px}

.wz-composer{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.wz-tip{margin:0;font-size:12.5px;color:var(--muted)}
.wz-chips{display:flex;flex-wrap:wrap;gap:8px}
.wz-chip{min-height:44px;padding:8px 16px;border-radius:22px;border:1.5px solid var(--cyan);background:var(--card);color:var(--ink);
  font-size:14.5px;font-weight:500;transition:background .12s}
.wz-chip.was{background:var(--cyan-soft)}
.wz-chip.ghost{border-color:var(--line);color:var(--muted)}
.wz-chip.solid{background:var(--grad);border-color:transparent;color:#fff;font-weight:600}
.wz-chip.toggle[aria-pressed="true"]{background:var(--cyan);color:#fff}
@media(hover:hover){.wz-chip:not(.solid):hover{background:var(--cyan-soft)}}
.wz-entry{display:flex;gap:8px;align-items:flex-end}
.wz-input{flex:1;min-width:0;font-family:var(--sans);font-size:16px;padding:12px 14px;min-height:50px;border:1.5px solid var(--line);
  border-radius:14px;background:var(--card);color:var(--ink);resize:none}
.wz-input:focus{outline:none;border-color:var(--cyan);box-shadow:0 0 0 3px var(--cyan-soft)}
.wz-send{width:50px;height:50px;flex:none;border-radius:50%;border:0;background:var(--grad);color:#fff;padding:14px}
.wz-donebar{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.wz-donebar .btn{min-height:48px;padding:0 18px;font-size:15px;border-radius:12px}

/* ---------- small screens ---------- */
@media(max-width:700px){
  .wz-top{margin-bottom:12px}
  .wz-name{display:none}
  .wz-modes{margin-left:0;width:100%}
  .wz-mode{flex:1;justify-content:center}
  .wz-seglabel{display:none}
  .wz-title{font-size:19px;margin-top:12px}
  .wz-picks{grid-template-columns:1fr}
  .wz-pick{flex-direction:row;align-items:center}
  .wz-art{width:96px;flex:none;padding:10px 6px}
  .wz-next{flex:1;min-width:0}
  .wz-sum dl{grid-template-columns:1fr;gap:0}
  .wz-sum dd{margin-bottom:8px}
  .wz-msg{max-width:94%}
  .wz-msgs{max-height:52vh;padding:10px}
  .wz-donebar .btn{flex:1;justify-content:center}
}
/* Back / Next stay in reach above the phone's tab bar */
@media(max-width:760px){
  .wz-nav{position:sticky;bottom:calc(68px + env(safe-area-inset-bottom,0px));background:var(--card);z-index:5;padding-bottom:12px}
  body:not(:has(.tabbar)) .wz-nav,.applywrap .wz-nav{bottom:env(safe-area-inset-bottom,0px)}
}

@media print{.wz-top,.wz-nav,.wz-composer{display:none}}

/* ==========================================================================
   Setting up the school — one task at a time
   ========================================================================== */
.st-panel h3{font-size:21px;margin:0 0 8px}
.st-panel h3:focus{outline:none}
.st-why{font-size:14.5px;line-height:1.6;color:var(--ink);margin:0 0 6px;max-width:60ch}
.st-note{font-size:13px;color:var(--cyan);margin:6px 0 0}
.st-state{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:4px 10px;border-radius:20px;margin-bottom:12px}
.st-state.done{background:var(--sage-soft);color:var(--sage)}
.st-state.todo{background:var(--brass-soft);color:#B45309}
.st-acts{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.st-acts .btn{min-height:46px;padding:0 18px;font-size:14.5px;border-radius:12px}
.st-dots{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:14px 0 0;padding:0}
.st-dots button{width:34px;height:34px;border-radius:50%;border:1.5px solid var(--line);background:var(--card);
  font-weight:700;font-size:12.5px;color:var(--muted);display:grid;place-items:center;padding:0}
.st-dots button.done{background:var(--sage-soft);border-color:transparent;color:var(--sage)}
.st-dots button.now{border-color:var(--cyan);color:var(--ink);box-shadow:0 0 0 3px var(--cyan-soft)}
.st-nav{display:flex;align-items:center;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line-2)}
.st-nav .btn{min-height:46px;padding:0 16px;font-size:14.5px;border-radius:12px}
.st-nav .wz-ic{width:20px;height:20px}
.st-count{flex:1;text-align:center;font-size:12.5px;font-weight:600;color:var(--muted)}
.st-on .st-list{display:none}
[data-stepper]:not(.st-on) .st-nav,[data-stepper]:not(.st-on) .st-dots{display:none}
[data-stepper]:not(.st-on) [data-panel]{display:block!important;border-bottom:1px solid var(--line-2);padding-bottom:16px;margin-bottom:16px}

/* a guided form never pushes its column wider than its share of the page */
form.wz-on,.wz,.wz-view,.wz-stage,.wz-track{min-width:0}
.wz-view,.wz-stage,.wz-track{max-width:100%}
.wz{max-width:min(680px,100%)}
.wz-auto .wz{max-width:100%}
.wz-seg{min-width:0;overflow:hidden}
/* forms that sit in a side card: the bar alone, the step's name is the heading below it */
.wz-auto .wz-seglabel{display:none}
.wz-auto .wz-title{font-size:18px;margin-top:12px}
.wz-auto .wz-top{margin-bottom:12px}
.wz-auto .wz-nav .btn{padding:0 14px}
.wz-auto .wz-next{min-width:0}

/* phones: the floating Back/Top bar, the SOS button and the tab bar must never cover the typing box */
@media(max-width:760px){
  .wz-composer{scroll-margin-bottom:150px}
  .wz-chatting .wz-chatview{padding-bottom:84px}
  .wz-chatting .wz-entry{padding-right:62px}
}

/* the "how would you like to do this?" choice inside a narrow card: picture beside the words */
.wz{container-type:inline-size}
@container (max-width:520px){
  .wz-howtitle{font-size:19px}
  .wz-picks{grid-template-columns:1fr;gap:10px}
  .wz-pick{flex-direction:row;align-items:center;gap:12px;padding:12px}
  .wz-art{width:84px;flex:none;padding:8px 6px}
}

/* ==========================================================================
   Module forms: a starter card in the page, the questions in a focused panel
   ========================================================================== */
html.wz-locked{overflow:hidden}

/* ---------- the starter card ---------- */
.wz-launch{container-type:inline-size;display:grid;grid-template-columns:auto 1fr;gap:14px 16px;align-items:center;
  padding:20px;border-radius:18px;background:var(--grad-soft);border:1px solid var(--line-2)}
.wz-launchart{width:58px;height:58px;border-radius:16px;background:var(--card);display:grid;place-items:center;
  color:var(--cyan);box-shadow:0 6px 16px -10px rgba(22,40,58,.5)}
.wz-launchart svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.wz-launchtext b{display:block;font-family:var(--slab);font-weight:600;font-size:18px;line-height:1.3;color:var(--ink)}
.wz-launchtext span{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.wz-launchacts{grid-column:1 / -1;display:flex;gap:10px;flex-wrap:wrap}
.wz-launchbtn{min-height:48px;padding:0 18px;font-size:15px;border-radius:13px;flex:1 1 170px;justify-content:center}
.wz-launchbtn .wz-ic{width:18px;height:18px}
.wz-launchbtn:not(.pri){background:var(--card)}
@container (max-width:340px){ .wz-launchbtn{flex-basis:100%} }

/* ---------- the panel ---------- */
.wz-dialog{border:0;padding:0;margin:auto;width:min(760px,calc(100vw - 32px));height:min(720px,calc(100dvh - 32px));
  max-width:none;max-height:none;border-radius:24px;background:var(--card);color:var(--ink);overflow:hidden;
  box-shadow:0 30px 80px -24px rgba(10,20,35,.55)}
.wz-dialog[open]{animation:wzopen .2s ease-out}
.wz-dialog::backdrop{background:rgba(16,30,46,.5);backdrop-filter:blur(4px)}
@keyframes wzopen{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
.wz-dialog .wz{max-width:none;height:100%;display:flex;flex-direction:column}
.wz-dialog .wz-top{margin:0;padding:14px 16px 14px 24px;border-bottom:1px solid var(--line-2);flex-wrap:nowrap}
.wz-dialog .wz-name{display:block;font-size:15px;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;flex:1}
.wz-dialog .wz-modes{margin-left:0;flex:none}
.wz-close{width:40px;height:40px;flex:none;border-radius:50%;border:1px solid var(--line);background:var(--card);color:var(--muted);padding:10px}
.wz-close svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
@media(hover:hover){.wz-close:hover{color:var(--ink);border-color:var(--muted-2)}}
.wz-dialog .wz-view{flex:1;min-height:0;display:flex;flex-direction:column}
.wz-dialog .wz-track{margin:0;padding:18px 28px 0}
.wz-dialog .wz-stage{flex:1;min-height:0;overflow-y:auto;padding:0 28px 28px;overscroll-behavior:contain}
.wz-dialog .wz-nav{position:static;margin:0;padding:14px 20px calc(14px + env(safe-area-inset-bottom,0px));background:var(--card);border-top:1px solid var(--line-2)}

/* the question is the hero of each screen */
.wz-group{margin:22px 0 0;font-size:13px;font-weight:600;color:var(--cyan)}
.wz-group[hidden]{display:none}
.wz-dialog .wz-title{font-family:var(--slab);font-weight:600;font-size:clamp(22px,3.2vw,30px);line-height:1.22;
  margin:10px 0 20px;max-width:30ch;letter-spacing:-.01em}
.wz-dialog .wz-group:not([hidden]) + .wz-title{margin-top:6px}
.wz-dialog .wz-title .wz-opt{font-family:var(--sans);font-size:13px;vertical-align:middle;margin-left:10px}
.wz-onequestion .field > label:first-child,.wz-checklabel{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.wz-emptied{display:contents}
.wz-dialog .wz-step .field{margin-bottom:12px}
.wz-dialog .wz-step .field input,.wz-dialog .wz-step .field select,.wz-dialog .wz-step .field textarea{
  font-size:18px;padding:14px 16px;min-height:58px;border-width:1.5px;border-radius:14px}
.wz-dialog .wz-step .field textarea{min-height:130px}
.wz-dialog .wz-step .field .help{font-size:13.5px;margin-top:10px;line-height:1.5}
.wz-dialog .wz-intro,.wz-dialog .wz-step > p.hint{font-size:13.5px}

/* answers as big tiles, one under another, each with its key */
.wz-dialog .wz-choices{flex-direction:column;gap:10px;max-width:520px}
.wz-dialog .wz-choice{flex:none;min-height:58px;font-size:16.5px;padding:12px 16px;border-radius:14px}
.wz-key{margin-left:auto;font-family:var(--sans);font-size:11.5px;font-weight:700;color:var(--muted);
  border:1px solid var(--line);border-radius:6px;padding:1px 7px;background:var(--paper)}
.wz-choice[aria-checked="true"] .wz-key{border-color:var(--cyan);color:var(--cyan);background:var(--card)}
/* lists of tick boxes (e.g. which classes) as tiles you tap */
.wz-dialog .field label:has(> input[type=checkbox]){display:inline-flex!important;align-items:center;gap:8px;margin:0 8px 8px 0!important;
  padding:10px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:15px!important;font-weight:500!important;cursor:pointer;background:var(--card)}
.wz-dialog .field label:has(> input[type=checkbox]:checked){border-color:var(--cyan);background:var(--cyan-soft)}
.wz-dialog .field label > input[type=checkbox]{width:18px!important;height:18px;min-height:0!important;accent-color:var(--cyan)}

/* moving between questions */
.wz-fwd{animation:wzinf .22s ease-out}
.wz-bwd{animation:wzinb .22s ease-out}
@keyframes wzinf{from{opacity:0;transform:translateX(22px)}to{opacity:1;transform:none}}
@keyframes wzinb{from{opacity:0;transform:translateX(-22px)}to{opacity:1;transform:none}}

/* the conversation fills the panel */
.wz-dialog .wz-chatview{padding:16px 24px calc(16px + env(safe-area-inset-bottom,0px))}
.wz-dialog .wz-msgs{flex:1;max-height:none;min-height:0}
.wz-dialog .wz-chatview{padding-bottom:calc(16px + env(safe-area-inset-bottom,0px))!important}
.wz-dialog .wz-entry{padding-right:0!important}
.wz-dialog .wz-review .wz-sum{max-width:620px}

@media(max-width:640px){
  .wz-dialog{width:100vw;height:100dvh;border-radius:0;margin:0}
  .wz-dialog .wz-top{padding:10px 10px 10px 16px;gap:8px}
  .wz-dialog .wz-name{display:none}
  .wz-dialog .wz-modes{flex:1;width:auto}
  .wz-dialog .wz-track{padding:14px 18px 0}
  .wz-dialog .wz-stage{padding:0 18px 22px}
  .wz-dialog .wz-chatview{padding:12px 14px}
  .wz-dialog .wz-nav .btn{flex:1;justify-content:center}
}

/* ---------- the saved moment ---------- */
.flash.wz-celebrate{animation:wzpop .5s cubic-bezier(.2,1.4,.4,1);box-shadow:0 10px 26px -14px rgba(5,150,105,.7)}
.wz-tick{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;flex:none;
  background:linear-gradient(135deg,#10B981,#059669);color:#fff;padding:5px;animation:wztick .45s .1s both cubic-bezier(.2,1.6,.4,1)}
.wz-tick svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
@keyframes wzpop{0%{transform:translateY(-6px) scale(.97);opacity:0}100%{transform:none;opacity:1}}
@keyframes wztick{0%{transform:scale(0)}100%{transform:scale(1)}}
.wz-sub{margin:-10px 0 20px;font-size:15px;color:var(--muted);line-height:1.5;max-width:52ch}
.wz-sub[hidden]{display:none}
.wz-enter{font-size:12.5px;color:var(--muted-2)}
.wz-enter[hidden]{display:none}
.wz-dialog{height:min(640px,calc(100dvh - 32px))}
@media(max-width:640px){.wz-dialog{height:100dvh}}
.wz-sumlist{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);max-width:620px}
.wz-sumrow{display:grid;grid-template-columns:minmax(110px,34%) 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid var(--line-2);font-size:14.5px}
.wz-sumrow:first-child{border-top:0}
.wz-sumk{color:var(--muted)}
.wz-sumv{font-weight:600;word-break:break-word}
.wz-sumv.none{font-weight:400;font-style:italic;color:var(--muted-2)}
.wz-sumrow .btn .wz-ic{width:14px;height:14px}
@media(max-width:640px){.wz-sumrow{grid-template-columns:1fr auto;gap:2px 10px}.wz-sumk{grid-column:1 / -1;font-size:12.5px}}
.wz-mobile-chat-note{display:none}

/* ==========================================================================
   Companion panel beside a full-page guided form (computer screens)
   ========================================================================== */
.wz-page{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:22px;align-items:start}
.wz-page > form{max-width:none!important;margin:0}
.wz-page .wz,.wz-page-grid .wz{max-width:none}
.wz-aside{display:flex;flex-direction:column;gap:14px;position:sticky;top:84px;min-width:0}
.wz-asidecard > header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.wz-asidecount{font-size:12px;font-weight:700;color:var(--cyan);white-space:nowrap}
.wz-sofar{display:flex;flex-direction:column;max-height:46vh;overflow-y:auto;margin:-4px 0}
.wz-sofarrow{display:flex;flex-direction:column;gap:2px;padding:9px 0;border-top:1px solid var(--line-2)}
.wz-sofarrow:first-child{border-top:0}
.wz-sofarrow span{font-size:12px;color:var(--muted)}
.wz-sofarrow b{font-size:14px;font-weight:600;color:var(--ink);word-break:break-word;animation:wzfadein .3s ease-out}
@keyframes wzfadein{from{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}
.wz-asideempty{margin:0;font-size:13px;color:var(--muted-2);line-height:1.5}
.wz-asidetext{margin:0;font-size:13.5px;line-height:1.55;color:var(--ink)}
.wz-asidetip{display:flex;gap:10px;align-items:flex-start;padding:14px 16px;border-radius:16px;background:var(--grad-soft);border:1px solid var(--line-2)}
.wz-asidetip .wz-ic{color:var(--cyan);margin-top:1px}
.wz-asidetip p{margin:0;font-size:13px;line-height:1.5;color:var(--ink)}
@media(max-width:1099px){
  .wz-page{display:block}
  .wz-aside{display:none}
}

/* Setting up: the whole checklist beside the task card */
.setupgrid{align-items:start}
.setupgrid [data-stepper]{max-width:none}
.setuplist{position:sticky;top:84px}
.setuplist ol{list-style:none;margin:0;padding:6px}
.setuplist button{display:flex;align-items:center;gap:11px;width:100%;padding:10px 10px;border:0;background:none;border-radius:12px;
  text-align:left;color:var(--ink);font-size:13.5px;font-weight:600;cursor:pointer}
.setuplist button:hover{background:var(--paper)}
.setuplist button.now{background:var(--cyan-soft)}
.setupmark{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;border:1.5px solid var(--line);font-size:12px;color:var(--muted)}
.setuplist button.done .setupmark{background:var(--sage-soft);border-color:transparent;color:var(--sage)}
.setupname{flex:1;min-width:0}
.setupstate{font-size:11.5px;font-weight:700;color:var(--muted-2)}
.setuplist button.done .setupstate{color:var(--sage)}
@media(max-width:900px){ .setuplist{display:none} }

/* Change password: tips beside the form */
.pwgrid{align-items:start}
.pwtips ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:12px}
.pwtips li{font-size:13.5px;line-height:1.55;color:var(--ink);padding-left:16px;position:relative}
.pwtips li::before{content:"";position:absolute;left:0;top:.6em;width:7px;height:7px;border-radius:50%;background:var(--grad-play)}
.pwtips li b{font-weight:700}
