/* Verasoft Labs — Apply wizard — 20261027
   Secondary color uses --accent / --accent-text (Amber Signal) so it can be retuned without hunting hex values.
   Docked layout: one full-bleed band, rail | form split by a divider. No floating cards. */
[hidden]{display:none!important}
.ap-hero{padding:64px 0 40px}
.ap-hero h1{font:900 clamp(40px,6vw,84px)/1 var(--f-display)}
.ap-hero .lede{max-width:760px}
.ap-wrap{max-width:calc(1408px + var(--px)*2)}
.ap-band{position:relative;background:rgba(7,4,15,.94);border-top:1px solid var(--cyan);border-bottom:1px solid rgba(106,75,176,.6)}
.ap-band::before{content:"";position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),var(--cyan),transparent);opacity:.9}
.ap{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:640px}
/* ---- rail ---- */
.rail{position:relative;border-right:1px solid rgba(106,75,176,.55);padding:40px 28px 40px 0}
.rail__in{position:sticky;top:100px}
.rail__t{font:600 15px var(--f-mono);letter-spacing:.14em;color:var(--accent-text);text-transform:uppercase;margin:0 0 18px}
.rail__bar{height:3px;background:rgba(106,75,176,.4);margin:0 0 22px;overflow:hidden}
.rail__bar i{display:block;height:100%;width:var(--p,0%);background:linear-gradient(90deg,var(--accent),var(--cyan));box-shadow:var(--glow-c);transition:width .5s var(--ease)}
.rail ol{list-style:none;margin:0;padding:0;border-top:1px solid rgba(106,75,176,.35)}
.rail li{border-bottom:1px solid rgba(106,75,176,.35)}
.rail button{all:unset;box-sizing:border-box;position:relative;display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:6px;width:100%;padding:16px 10px 16px 14px;cursor:pointer;color:var(--accent-text);font:600 15px/1.2 var(--f-ui);letter-spacing:.06em;text-transform:uppercase;transition:background .25s,color .2s}
.rail button::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--cyan);box-shadow:var(--glow-c);transform:scaleY(0);transition:transform .3s var(--ease)}
.rail button .n{font:700 15px var(--f-mono);color:var(--accent-text);letter-spacing:.1em}
.rail button .st{font:600 15px var(--f-mono);letter-spacing:.1em;color:var(--accent-text)}
.rail button:hover:not([disabled]){background:rgba(34,232,255,.06);color:var(--text)}
.rail button[disabled]{cursor:not-allowed;color:var(--accent-text)}
.rail button[aria-current=step]{color:var(--cyan);background:rgba(34,232,255,.07)}
.rail button[aria-current=step]::before{transform:scaleY(1)}
.rail button[aria-current=step] .n{color:var(--cyan)}
.rail li.done button .st{color:#7CFFB2}
.rail li.done button .n{color:var(--accent-text)}
.rail li.sub button{padding-left:30px;font-size:13.5px}
.rail li.gated button .st{color:var(--accent-text);font-weight:700}
.rail li.is-off{display:none}
.rail__note{margin:22px 0 0;font:600 15px/1.6 var(--f-mono);color:var(--accent-text)}
.rail__note b{color:var(--cyan);font-weight:400}
/* ---- form column ---- */
.ap__main{padding:40px 0 48px 48px;min-width:0}
.step{display:none}
.step.on{display:block;animation:stepin .35s var(--ease)}
@keyframes stepin{from{opacity:0;transform:translateX(14px)}}
.step__hd{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding-bottom:22px;border-bottom:1px solid rgba(106,75,176,.45)}
.step__k{font:700 15px var(--f-mono);letter-spacing:.14em;color:var(--accent-text);text-transform:uppercase;margin:0 0 10px}
.step h2{font:800 clamp(28px,3vw,40px)/1.08 var(--f-display);margin:0;outline:none}
.step__lede{color:var(--text-2);margin:12px 0 0;max-width:720px}
.step__save{font:600 16px var(--f-mono);letter-spacing:.1em;color:var(--eyebrow);text-transform:uppercase}
.step__save b{color:#7CFFB2;font-weight:400}
.gate{display:flex;gap:12px;align-items:flex-start;margin:22px 0 0;padding:14px 16px;border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 7%, transparent);font:600 16px/1.5 var(--f-mono);color:var(--note)}
.gate b{color:var(--accent-text);font-weight:700;letter-spacing:.12em;white-space:nowrap}
/* fields: rows separated by dividers */
.fgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}
.f{padding:22px 0;border-bottom:1px solid rgba(106,75,176,.3);min-width:0}
.f--full{grid-column:1/-1}
.f>label,.f legend,.f .lab{display:flex;justify-content:space-between;gap:10px;font:600 14px/1.2 var(--f-ui);letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin:0 0 10px;padding:0}
.f .opt{font:12px var(--f-mono);color:var(--text-2);letter-spacing:.1em;text-transform:uppercase}
.f .req{color:var(--accent-text);font:700 15px var(--f-mono);letter-spacing:.06em}
fieldset.f{border:0;margin:0;border-bottom:1px solid rgba(106,75,176,.3);padding:22px 0}
.in{width:100%;background:transparent;border:0;border-bottom:1px solid var(--purple-line);color:var(--text);font:400 17px/1.4 var(--f-ui);padding:10px 2px;border-radius:0;transition:border-color .2s,box-shadow .2s,background .2s}
.in::placeholder{color:rgba(185,169,224,.55)}
.in:hover{border-bottom-color:var(--text-2)}
.in:focus{outline:none;border-bottom-color:var(--cyan);box-shadow:0 1px 0 0 var(--cyan),0 10px 22px -16px rgba(34,232,255,.9);background:rgba(34,232,255,.04)}
select.in{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--cyan) 50%),linear-gradient(-45deg,transparent 50%,var(--cyan) 50%);background-position:calc(100% - 14px) 52%,calc(100% - 8px) 52%;background-size:6px 6px;background-repeat:no-repeat;padding-right:30px}
select.in option{background:var(--void);color:var(--text)}
textarea.in{min-height:120px;resize:vertical;border:1px solid var(--purple-line);padding:12px 14px}
textarea.in:focus{border-color:var(--cyan)}
.hint{font:600 15px/1.5 var(--f-mono);color:var(--accent-text);margin:8px 0 0}
.err{display:none;font:12.5px var(--f-mono);color:#FF7A9A;margin:8px 0 0;letter-spacing:.04em}
.f.bad .err{display:block}
.f.bad .in{border-bottom-color:#FF7A9A}
.pre{display:flex;align-items:center;gap:8px}
.pre span{font:14px var(--f-mono);color:var(--cyan);white-space:nowrap}
/* option chips (checkbox / radio) */
.opts{display:flex;flex-wrap:wrap;gap:10px}
.opt-c{position:relative}
.opt-c input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.opt-c span{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border:1px solid var(--chip-line);font:600 14px/1 var(--f-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--chip-text);background:rgba(18,10,36,.6);transition:all .2s var(--ease)}
.opt-c span::before{content:"";width:9px;height:9px;border:1px solid currentColor;transform:rotate(45deg);transition:all .2s}
.opt-c:hover span{color:var(--text);border-color:var(--cyan);box-shadow:0 0 14px rgba(34,232,255,.3)}
.opt-c input:checked+span{color:var(--void);background:var(--cyan);border-color:var(--cyan);box-shadow:var(--glow-c)}
.opt-c input:checked+span::before{background:var(--void);border-color:var(--void)}
.opt-c input:focus-visible+span{outline:2px solid var(--cyan);outline-offset:3px}
.opt-c input:active+span{transform:scale(.96)}
.opts--big .opt-c span{padding:16px 22px;font-size:15px}
/* drop zones */
.drop{position:relative;display:grid;place-items:center;text-align:center;gap:8px;padding:38px 20px;border:1px dashed var(--purple-line);background:repeating-linear-gradient(135deg,rgba(75,46,131,.12) 0 12px,transparent 12px 24px);cursor:pointer;transition:border-color .2s,background .2s,box-shadow .2s}
.drop input{position:absolute;inset:0;opacity:0;cursor:pointer}
.drop b{font:700 16px var(--f-display);letter-spacing:.08em}
.drop small{font:12.5px var(--f-mono);color:var(--text-2);letter-spacing:.06em}
.drop .ico{font:26px var(--f-mono);color:var(--cyan);text-shadow:var(--glow-c);transition:transform .3s var(--ease)}
.drop:hover,.drop.over,.drop:focus-within{border-color:var(--cyan);background:rgba(34,232,255,.06);box-shadow:inset 0 0 40px rgba(34,232,255,.08)}
.drop:hover .ico,.drop.over .ico{transform:translateY(-4px)}
.drop.over{border-style:solid}
.f.bad .drop{border-color:#FF7A9A}
.files{list-style:none;margin:12px 0 0;padding:0;border-top:1px solid rgba(106,75,176,.35)}
.files li{display:grid;grid-template-columns:auto 1fr auto auto;gap:14px;align-items:center;padding:12px 4px;border-bottom:1px solid rgba(106,75,176,.35);font:14px var(--f-mono)}
.files li .k{color:var(--cyan)}.files li .sz{color:var(--text-2)}
.files li .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.files li.stale .k{color:var(--accent-text)}
.x{background:none;border:1px solid transparent;color:var(--text-2);font:13px var(--f-mono);cursor:pointer;padding:4px 8px;letter-spacing:.08em}
.x:hover{color:var(--accent-text);border-color:var(--accent)}
/* voice */
.script{position:relative;margin:22px 0 0;padding:24px 26px 24px 30px;border-left:3px solid var(--cyan);background:linear-gradient(90deg,rgba(34,232,255,.07),transparent 70%);font:500 19px/1.65 var(--f-ui);color:var(--text)}
.script__t{display:block;font:12.5px var(--f-mono);letter-spacing:.14em;color:var(--cyan);text-transform:uppercase;margin-bottom:10px}
.consent{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;cursor:pointer}
.consent input{appearance:none;width:22px;height:22px;margin:2px 0 0;border:1px solid var(--cyan);background:transparent;cursor:pointer;display:grid;place-items:center;transition:all .2s}
.consent input:checked{background:var(--cyan);box-shadow:var(--glow-c)}
.consent input:checked::after{content:"✓";color:var(--void);font:700 14px var(--f-mono)}
.consent span{font-size:16px;color:var(--text)}
.rec{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:28px;align-items:stretch}
.rec__or{display:grid;place-items:center;font:13px var(--f-mono);color:var(--text-2);letter-spacing:.14em}
.rec__live{display:flex;flex-direction:column;gap:14px;padding:4px 0}
.rec__row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.rec__btn{--cut:12px}
.rec__btn.is-rec{background:var(--accent);box-shadow:var(--glow-a)}
.rec__time{font:20px var(--f-mono);color:var(--text);letter-spacing:.1em;min-width:72px}
.meter{display:flex;gap:3px;align-items:flex-end;height:34px}
.meter i{width:5px;height:12%;background:var(--cyan);box-shadow:var(--glow-c);transition:height .08s}
.rec__live audio{width:100%;max-width:420px;filter:invert(.9) hue-rotate(180deg)}
.rec__live[aria-disabled=true]{opacity:.45;pointer-events:none}
.disabled-zone{opacity:.45;pointer-events:none}
/* review */
.rv-sec{padding:22px 0;border-bottom:1px solid rgba(106,75,176,.35)}
.rv-sec__hd{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px}
.rv-sec h3{font:700 18px var(--f-display);letter-spacing:.06em;margin:0;display:flex;gap:12px;align-items:center}
.rv-sec h3 .mono{font-size:13px;color:var(--accent-text);font-weight:400}
.rv-sec dl{display:grid;grid-template-columns:220px minmax(0,1fr);gap:8px 24px;margin:0}
.rv-sec dt{font:13px var(--f-mono);color:var(--text-2);letter-spacing:.08em;text-transform:uppercase;padding-top:2px}
.rv-sec dd{margin:0;overflow-wrap:anywhere}
.rv-sec dd.empty-v{color:var(--text-2);font-family:var(--f-mono);font-size:14px}
.edit{background:none;border:1px solid rgba(34,232,255,.5);color:var(--cyan);font:12.5px var(--f-mono);letter-spacing:.1em;padding:7px 12px;cursor:pointer;transition:all .2s}
.edit:hover{background:var(--cyan);color:var(--void);box-shadow:var(--glow-c)}
/* nav row */
.step__nav{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:32px;padding-top:24px;border-top:1px solid rgba(106,75,176,.45)}
.step__nav .r{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-left:auto}
.back{background:none;border:0;color:var(--text-2);font:600 14px var(--f-ui);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:10px 0;transition:color .2s}
.back:hover{color:var(--cyan);text-shadow:var(--glow-c)}
.savenote{font:600 15px var(--f-mono);color:var(--accent-text);letter-spacing:.06em}
/* done */
.done-state{padding:24px 0}
.done-state .ref{font:15px var(--f-mono);color:var(--cyan);letter-spacing:.12em}
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);z-index:96;max-width:min(560px,calc(100% - 32px));padding:14px 18px;background:var(--void);border:1px solid #7CFFB2;color:#7CFFB2;font:15px/1.45 var(--f-mono);letter-spacing:.04em;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s var(--ease)}
.toast.on{opacity:1;transform:translate(-50%,0)}
.toast.is-err{border-color:var(--accent);color:var(--eyebrow)}
.concept{font:14px var(--f-mono);color:var(--note);margin:18px 0 0}
/* responsive */
@media (max-width:1100px){.ap{grid-template-columns:240px minmax(0,1fr)}.ap__main{padding-left:32px}.rec{grid-template-columns:1fr}.rec__or{place-items:start}}
@media (max-width:860px){
  .ap{grid-template-columns:minmax(0,1fr)}.rail{min-width:0}
  .rail{border-right:0;border-bottom:1px solid rgba(106,75,176,.55);padding:20px 0}
  .rail__in{position:static}
  .rail ol{display:flex;overflow-x:auto;border-top:0;gap:0;scrollbar-width:none}
  .rail li{border-bottom:0;border-right:1px solid rgba(106,75,176,.35);flex:0 0 auto}
  .rail button{grid-template-columns:auto;gap:2px;padding:10px 14px;font-size:12px}
  .rail button::before{left:0;right:0;top:auto;bottom:0;width:auto;height:3px;transform:scaleX(0)}
  .rail button[aria-current=step]::before{transform:scaleX(1)}
  .rail li.sub button{padding-left:14px}
  .rail button .st,.rail__note{display:none}
  .ap__main{padding:28px 0 40px}
  .fgrid{grid-template-columns:1fr}
  .rv-sec dl{grid-template-columns:1fr;gap:2px}.rv-sec dd{margin-bottom:10px}
  .step__nav .btn{width:100%;justify-content:center}.step__nav .r{width:100%}
}
@media (prefers-reduced-motion:reduce){.step.on{animation:none}.drop:hover .ico,.drop.over .ico{transform:none}.rail__bar i{transition:none}}
.f>label.consent{display:grid;grid-template-columns:auto 1fr;justify-content:start;text-transform:none;letter-spacing:0;font:400 16px/1.5 var(--f-ui);margin:0}
[data-step=review] [data-save]{display:none}
fieldset.f legend{float:left;width:100%}fieldset.f legend~*{clear:both}
