.wz{--ink:#121715;--gold:#b8923a;--gold2:#d4ad52;--forest:#1c3a2e;--sand:#f5f0e6;--line:#e3dccb;--muted:#6b7570;--ok:#1c7c3e;--err:#c0392b;max-width:820px;margin:0 auto;font-size:16px;line-height:1.5;color:var(--ink)}
.wz [hidden]{display:none!important}
.wz *{box-sizing:border-box}
.wz h2{font-size:1.7rem;margin:0 0 .3rem;font-weight:600}.wz h3{margin:0;font-size:1.05rem}
.wz-intro{color:var(--muted);margin:0 0 1.5rem}
.wz-req{color:var(--gold);margin-left:2px}
/* progress */
.wz-progress{margin-bottom:1.75rem}
.wz-bar{height:6px;background:var(--line);border-radius:3px;overflow:hidden}
.wz-bar span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--gold),var(--gold2));transition:width .4s ease}
.wz-steps{list-style:none;display:flex;justify-content:space-between;margin:.9rem 0 0;padding:0;gap:.25rem}
.wz-steps li{flex:1;display:flex;flex-direction:column;align-items:center;gap:.35rem;cursor:pointer;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-align:center}
.wz-steps li i{font-style:normal;width:30px;height:30px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;background:#fff;transition:.25s}
.wz-steps li.is-active{color:var(--ink)}.wz-steps li.is-active i{border-color:var(--gold);background:var(--gold);color:var(--ink)}
.wz-steps li.is-done i{border-color:var(--forest);background:var(--forest);color:#fff}.wz-steps li.is-done i::before{content:"✓"}.wz-steps li.is-done i{font-size:0}.wz-steps li.is-done i::before{font-size:.8rem}
.wz-meta{display:flex;justify-content:space-between;margin-top:.8rem;font-size:.8rem;color:var(--muted)}
.wz-autosave{font-style:italic}
@media(max-width:560px){.wz-steps li b{display:none}}
/* panels */
.wz-panel{background:#fff;border:1px solid var(--line);border-radius:8px;padding:2rem;animation:wzIn .35s ease}
@keyframes wzIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(max-width:560px){.wz-panel{padding:1.25rem}}
.wz-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.25rem}
.wz-span{grid-column:1/-1}
@media(max-width:620px){.wz-grid{grid-template-columns:1fr}}
.wz-field label{display:block;font-size:.78rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:.4rem}
.wz-field input,.wz-field select,.wz-field textarea{width:100%;padding:.8rem .95rem;border:1.5px solid var(--line);border-radius:6px;font:inherit;background:#fff;transition:.2s}
.wz-field input:focus,.wz-field select:focus,.wz-field textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(184,146,58,.15)}
.wz-field.is-valid input,.wz-field.is-valid select{border-color:var(--ok);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%231c7c3e'%3E%3Cpath d='M7.6 14.6 3.4 10.4l1.4-1.4 2.8 2.8 7.6-7.6 1.4 1.4z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .8rem center;background-size:16px;padding-right:2.4rem}
.wz-field.is-valid select{background-position:right 1.8rem center}
.wz-field.is-error input,.wz-field.is-error select,.wz-field.is-error textarea{border-color:var(--err);box-shadow:0 0 0 4px rgba(192,57,43,.12)}
.wz-err{display:block;color:var(--err);font-size:.8rem;margin-top:.3rem;min-height:0}
.wz-err:empty{display:none}
.wz-hint{display:block;color:var(--muted);font-size:.8rem;margin-top:.3rem}
.wz-check label{text-transform:none;letter-spacing:0;font-weight:500;display:flex;gap:.6rem;align-items:flex-start;font-size:.95rem;cursor:pointer}
.wz-check input{width:18px;height:18px;margin-top:.15rem;flex:none;accent-color:var(--gold)}
.wz-callout{margin-top:1.25rem;padding:1rem 1.2rem;background:var(--sand);border-left:3px solid var(--gold);border-radius:4px;font-size:.92rem}
.wz-note{font-size:.85rem;color:var(--muted);margin:.5rem 0 0}
.wz-fineprint{font-size:.78rem;color:var(--muted);margin-top:1rem}
/* uploads */
.wz-uploads{margin-top:1.75rem;display:grid;gap:1.25rem}
.wz-upload-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.3rem;margin-bottom:.5rem}
.wz-upload-head small{color:var(--muted);font-size:.78rem}
.wz-drop{display:flex;align-items:center;justify-content:center;padding:1.4rem;border:2px dashed var(--line);border-radius:8px;background:var(--sand);cursor:pointer;transition:.2s;text-align:center;font-size:.92rem;color:var(--muted)}
.wz-drop b{color:var(--gold);text-decoration:underline}
.wz-drop:hover,.wz-drop.is-over{border-color:var(--gold);background:#fbf7ee}
.wz-drop input{display:none}.wz-drop.is-full{opacity:.5;pointer-events:none}
.wz-files{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.4rem}
.wz-files li{display:flex;align-items:center;gap:.7rem;padding:.55rem .8rem;border:1px solid var(--line);border-radius:6px;font-size:.88rem;background:#fff}
.wz-files li.is-busy{opacity:.5}
.wz-file-ico{flex:none;width:38px;height:28px;border-radius:4px;background:var(--forest);color:#fff;font-size:.65rem;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:.05em}
.wz-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.wz-files small{color:var(--muted)}
.wz-file-rm{border:0;background:transparent;font-size:1.3rem;line-height:1;color:var(--muted);cursor:pointer;padding:0 .3rem}.wz-file-rm:hover{color:var(--err)}
.wz-file-prog{flex:1;height:6px;background:var(--line);border-radius:3px;overflow:hidden}.wz-file-prog i{display:block;height:100%;width:40%;background:var(--gold);animation:wzProg 1s infinite linear}
@keyframes wzProg{from{transform:translateX(-100%)}to{transform:translateX(250%)}}
/* nav */
.wz-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1.25rem;flex-wrap:wrap}
.wz-nav-right{display:flex;gap:.6rem;margin-left:auto;flex-wrap:wrap}
.wz-btn{border:1.5px solid transparent;border-radius:6px;padding:.9rem 1.5rem;font:inherit;font-weight:700;font-size:.92rem;cursor:pointer;transition:.2s;letter-spacing:.02em}
.wz-primary{background:var(--gold);color:var(--ink)}.wz-primary:hover{background:var(--gold2)}.wz-primary[disabled]{opacity:.6;cursor:wait}
.wz-ghost{background:transparent;border-color:var(--line);color:var(--ink)}.wz-ghost:hover{border-color:var(--ink)}
.wz-link{background:none;border:0;padding:0;color:var(--gold);text-decoration:underline;cursor:pointer;font:inherit;font-size:.9em}
.wz-alert{margin-top:1rem;padding:.9rem 1.1rem;border-radius:6px;font-size:.92rem}
.wz-alert.error{background:#fbe9e7;color:#7f1d1d;border-left:3px solid var(--err)}
.wz-alert.ok{background:#e8f5ec;color:#14532d;border-left:3px solid var(--ok)}
/* review */
.wz-rev{border:1px solid var(--line);border-radius:8px;padding:1.1rem 1.25rem;margin-bottom:.9rem}
.wz-rev-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}
.wz-rev dl{display:grid;grid-template-columns:150px 1fr;gap:.3rem .8rem;margin:0;font-size:.92rem}
.wz-rev dt{color:var(--muted)}.wz-rev dd{margin:0;word-break:break-word}
@media(max-width:520px){.wz-rev dl{grid-template-columns:1fr}.wz-rev dt{margin-top:.4rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.05em}}
.wz-consent{margin-top:1.25rem;padding:1rem;background:var(--sand);border-radius:6px}
/* states */
.wz-resume-banner{display:flex;gap:.8rem;align-items:center;background:#e8f5ec;border:1px solid #bfe3cb;border-radius:8px;padding:.9rem 1.1rem;margin-bottom:1.25rem;font-size:.92rem}
.wz-success,.wz-savebox{background:var(--forest);color:var(--sand);padding:2.5rem;border-radius:8px;text-align:center}
.wz-success h2,.wz-savebox h3{color:#fff;margin-bottom:.6rem}.wz-success p,.wz-savebox p{max-width:52ch;margin:.5rem auto}
.wz-success-icon{width:64px;height:64px;border-radius:50%;background:var(--gold);color:var(--ink);font-size:2rem;font-weight:700;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}
.wz-ref{color:var(--gold2);font-size:1.25em;letter-spacing:.12em}
.wz-savebox .wz-btn{margin-top:1rem}
.wz-resume{margin-top:1.5rem;font-size:.9rem;color:var(--muted)}
.wz-resume summary{cursor:pointer;color:var(--ink)}
.wz-resume-box{padding:1rem 0 0}.wz-inline{display:flex;gap:.5rem;flex-wrap:wrap}.wz-inline input{flex:1;min-width:220px;padding:.7rem .9rem;border:1.5px solid var(--line);border-radius:6px;font:inherit}
.wz-hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
/* admin drafts progress */
.tr-prog{height:6px;background:#eee;border-radius:3px;width:120px;overflow:hidden}.tr-prog span{display:block;height:100%;background:#b8923a}

/* loading */
.wz{position:relative}
.wz-loading .wz-body{visibility:hidden;height:0;overflow:hidden}
.wz-body{animation:wzFade .45s ease}
@keyframes wzFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wz-loader{background:#fff;border:1px solid var(--line);border-radius:8px;padding:2.5rem 2rem;text-align:center;min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem}
.wz:not(.wz-loading) .wz-loader{display:none}
.wz-loader-mark{width:64px;height:64px;color:var(--gold);animation:wzPulse 1.6s ease-in-out infinite}
.wz-loader-mark.wz-small{width:40px;height:40px}
.wz-loader-mark svg{width:100%;height:100%}
.wz-loader-mark .wz-roof,.wz-loader-mark .wz-door{stroke-dasharray:80;stroke-dashoffset:80;animation:wzDraw 1.6s ease-in-out infinite}
.wz-loader-mark .wz-door{animation-delay:.3s}
@keyframes wzDraw{0%{stroke-dashoffset:80}50%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes wzPulse{0%,100%{opacity:1}50%{opacity:.55}}
.wz-loader-text strong{display:block;letter-spacing:.2em;font-size:.85rem;color:var(--ink)}
.wz-loader-text span{display:block;color:var(--muted);font-size:.95rem;margin-top:.3rem}
.wz-loader-bar{width:220px;height:4px;background:var(--line);border-radius:2px;overflow:hidden}
.wz-loader-bar span{display:block;height:100%;width:40%;background:linear-gradient(90deg,var(--gold),var(--gold2));animation:wzProg 1.2s infinite ease-in-out}
.wz-skeleton{width:100%;max-width:560px;display:grid;grid-template-columns:1fr 1fr;gap:.9rem;margin-top:1.25rem}
.wz-skeleton i{display:block;height:44px;border-radius:6px;background:linear-gradient(90deg,#f1ede3 25%,#faf8f2 50%,#f1ede3 75%);background-size:200% 100%;animation:wzShimmer 1.4s infinite}
.wz-sk-wide{grid-column:1/-1}
@keyframes wzShimmer{from{background-position:200% 0}to{background-position:-200% 0}}
.wz-busy{position:absolute;inset:0;background:rgba(245,240,230,.75);backdrop-filter:blur(2px);display:flex;align-items:flex-start;justify-content:center;padding-top:20vh;z-index:5;border-radius:8px}
.wz-busy-card{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.25rem 1.75rem;display:flex;align-items:center;gap:1rem;box-shadow:0 20px 40px -20px rgba(18,23,21,.35);font-weight:600}
@media(prefers-reduced-motion:reduce){.wz-loader-mark,.wz-loader-mark path,.wz-loader-bar span,.wz-skeleton i,.wz-body{animation:none}}

/* document method choice */
.wz-method-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}
@media(max-width:680px){.wz-method-grid{grid-template-columns:1fr}}
.wz-method{cursor:pointer}.wz-method input{position:absolute;opacity:0;width:0;height:0}
.wz-method-box{display:block;height:100%;padding:1rem 1.1rem;border:1.5px solid var(--line);border-radius:8px;background:#fff;transition:.2s}
.wz-method-box b{display:block;margin-bottom:.3rem;font-size:.95rem}.wz-method-box small{display:block;color:var(--muted);font-size:.82rem;line-height:1.4;text-transform:none;letter-spacing:0;font-weight:400}
.wz-method:hover .wz-method-box{border-color:var(--gold)}
.wz-method.is-selected .wz-method-box{border-color:var(--gold);background:#fbf7ee;box-shadow:0 0 0 4px rgba(184,146,58,.15)}
.wz-method input:focus-visible+.wz-method-box{outline:2px solid var(--gold);outline-offset:2px}
.wz-methods.is-error .wz-method-box{border-color:var(--err)}
.wz-methods>label:first-child{margin-bottom:.6rem}
.wz-trust{margin-top:1rem;background:#e8f5ec;border-left-color:var(--ok)}

.wz-method-grid{align-items:stretch}
.wz-method{display:block;height:100%}
.wz-method-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.4rem;padding:1.25rem 1rem}
.wz-method-ico{width:38px;height:38px;color:var(--gold);margin-bottom:.25rem;flex:none}
.wz-method-box b{font-size:.92rem;line-height:1.25}
.wz-method-box small{flex:1}
@media(max-width:680px){.wz-method-box{flex-direction:row;text-align:left;align-items:flex-start;gap:.9rem}.wz-method-ico{margin-top:.1rem}.wz-method-box b,.wz-method-box small{display:block}.wz-method-box>b{order:0}}
@media(max-width:680px){.wz-method-box{display:grid;grid-template-columns:38px 1fr;column-gap:.9rem}.wz-method-ico{grid-row:1/3}}
