.zcard{border:1px solid var(--fw-gl,#d6dde6);border-radius:14px;background:var(--fw-wb,#fff);padding:16px 18px;margin:0 0 14px}
.zcard h2{margin:0 0 4px;font-size:1.25rem}.zcard h3{margin:0 0 8px;font-size:1.05rem}
.zsub{margin:2px 0;color:var(--fw-gt,#4b5b66);font-size:.92rem}.znote{margin:10px 0 0;color:var(--fw-gt,#4b5b66);font-size:.85rem;line-height:1.45}
.zhead{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:flex-start}
.zstat{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:12px;border:2px solid;min-width:220px;max-width:340px}
.zstat strong{font-size:1.05rem;display:flex;align-items:center;gap:8px}.zstat small{font-size:.82rem;line-height:1.35}
.zdot{width:12px;height:12px;border-radius:50%;background:currentColor;display:inline-block}
.zstat.z-o{color:color-mix(in srgb,#8a4b00 var(--fw-sm,100%),#fff);background:color-mix(in srgb,#fff4e0 var(--fw-bm,100%),#10233b);border-color:#e0922f}
.zstat.z-b{color:color-mix(in srgb,#0f4c9c var(--fw-sm,100%),#fff);background:color-mix(in srgb,#e6f0ff var(--fw-bm,100%),#10233b);border-color:#3b7bd6}
.zstat.z-ok{color:color-mix(in srgb,#14673a var(--fw-sm,100%),#fff);background:color-mix(in srgb,#e5f6ec var(--fw-bm,100%),#10233b);border-color:#2e9b5b}
.zstat.z-r{color:color-mix(in srgb,#9b1c14 var(--fw-sm,100%),#fff);background:color-mix(in srgb,#fdeceb var(--fw-bm,100%),#10233b);border-color:#d4483f}
.zstat.z-g,.zstat.z-x{color:var(--fw-gt,#3d4a53);background:var(--fw-gb,#eef1f4);border-color:#8b98a3}
.zstat small{color:var(--fw-gt,#33414a)}
.zsteps{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;counter-reset:zs}
.zsteps li{counter-increment:zs;padding:6px 12px;border-radius:999px;background:var(--fw-gb,#eef1f4);color:var(--fw-gt,#4b5b66);font-size:.82rem}
.zsteps li::before{content:counter(zs)'. '}
.zsteps li.done{background:var(--fw-se,#13696a);color:var(--fw-wt,#fff)}.zsteps li.now{background:var(--fw-pr,#002045);color:var(--fw-wt,#fff);font-weight:600}
.zopts{display:grid;gap:8px;margin:8px 0}
.zopt{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--fw-gl,#d6dde6);border-radius:10px;cursor:pointer}
.zopt.on{border-color:var(--fw-se,#13696a);background:rgba(19,105,106,.07)}.zopt input{margin-top:4px}
.zopt b{display:block}.zopt small{color:var(--fw-gt,#4b5b66)}
.zrole{margin:8px 0}.zrole select{font:inherit;padding:6px 8px}
.ztab{width:100%;border-collapse:collapse;font-size:.92rem}.ztab td{padding:8px 4px;border-bottom:1px solid var(--fw-gl,#e3e8ee);vertical-align:top}
.ztab .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.ztab .ztot td{font-weight:700;border-top:2px solid var(--fw-pr,#002045)}
.zdue{margin:0 0 8px}.zdl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:10px 0}.zdl dt{font-weight:600}.zdl dd{margin:0;word-break:break-word}
.zlock{padding:12px 14px;border-radius:10px;background:var(--fw-gb,#eef1f4);color:var(--fw-gt,#3d4a53)}.zlock p{margin:4px 0 0}
.zstars{display:flex;gap:4px;margin:8px 0}.zstars.err{outline:2px solid #d4483f;border-radius:8px}
.zstar{font-size:1.7rem;line-height:1;background:none;border:0;color:#b9c3cc;cursor:pointer;min-width:44px;min-height:44px}.zstar.on{color:#e0a000}
.zcard textarea{width:100%;font:inherit;padding:8px;border:1px solid var(--fw-gl,#b9c3cc);border-radius:8px;margin:6px 0 10px;box-sizing:border-box}
.zq{font-style:italic}.zsafe ul{margin:0 0 0 18px;padding:0}.zsafe li{margin:4px 0}
.zdemo{font-size:.85rem;color:var(--fw-gt,#4b5b66);margin:6px 0 24px}.zlink{font:inherit;background:none;border:0;color:var(--fw-se,#13696a);text-decoration:underline;cursor:pointer;padding:4px 6px}
.zspin{display:inline-block;width:18px;height:18px;border:3px solid var(--fw-gl,#b9c3cc);border-top-color:var(--fw-se,#13696a);border-radius:50%;animation:zspin .8s linear infinite;vertical-align:middle}
@keyframes zspin{to{transform:rotate(360deg)}}
@media (max-width:600px){.zstat{max-width:none;width:100%}.zdl{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.zspin{animation:none}}
.zviews{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}.zview{font:inherit;padding:8px 14px;border-radius:999px;border:1px solid var(--fw-gl,#b9c3cc);background:var(--fw-wb,#fff);cursor:pointer;min-height:44px}.zview.on{background:var(--fw-pr,#002045);color:var(--fw-wt,#fff);border-color:var(--fw-pr,#002045)}
.zdoc{position:relative;border:1px solid var(--fw-gl,#b9c3cc);background:var(--fw-wb,#fff);padding:22px;margin:10px 0;box-shadow:0 2px 10px rgba(0,32,69,.08)}
.zmark{font-size:.72rem;font-weight:700;letter-spacing:.04em;color:color-mix(in srgb,#9b1c14 var(--fw-sm,100%),#fff);border:1px dashed #d4483f;padding:4px 8px;display:inline-block;margin-bottom:10px}
.zdhead{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.zdhead h3{margin:0}.zdhead p{margin:2px 0}.zdr{text-align:right}.zdst{font-weight:700}
.zparty{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:14px 0}.zparty b{display:block;margin-bottom:2px}.zparty span{display:block;font-size:.9rem}
.zacts{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
@media (max-width:600px){.zparty{grid-template-columns:1fr}.zdr{text-align:left}}
@media print{body.zprint *{visibility:hidden!important}body.zprint #zdoc,body.zprint #zdoc *{visibility:visible!important}body.zprint #zdoc{position:absolute;left:0;top:0;width:100%;border:0;box-shadow:none}}

/* ===== Editorial-Design ===== */
.zpage main{background:var(--fw-p,#f5f2ea)}
.zpage .ph{padding:40px 0 8px}
.zpage .wrap.narrow2,.zpage .ph .wrap{max-width:1800px}
.zpage .ph h1{font:800 clamp(34px,6vw,80px)/1 Montserrat,Inter,system-ui,sans-serif;letter-spacing:-.03em;color:var(--fw-gt,#14213a);border-bottom:2px solid var(--fw-gd,#14213a);padding-bottom:10px;margin:0 0 14px;max-width:none;width:100%}
.zpage .ph p{max-width:64ch;color:var(--fw-gt,#51627a)}
.zed{--ink:var(--fw-gt,#14213a);--ac:color-mix(in srgb,#c24e0a var(--fw-sm,100%),#fff);--mut:var(--fw-gt,#5b6677);color:var(--ink)}
.zed .zsteps{display:flex;flex-wrap:wrap;gap:6px 26px;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:10px 0;margin:22px 0}
.zed .zsteps li{background:none;padding:0;border-radius:0;color:var(--mut);font-weight:700;font-size:.9rem;display:flex;gap:8px;align-items:baseline}
.zed .zsteps li::before{content:counter(zs);font:800 13px Montserrat,Inter,sans-serif}
.zed .zsteps li button{all:unset;cursor:pointer;border-bottom:2px solid transparent;padding-bottom:2px}
.zed .zsteps li button:focus-visible{outline:3px solid var(--ac);outline-offset:2px}
.zed .zsteps li.now,.zed .zsteps li.now::before{background:none;color:var(--ac)}
.zed .zsteps li.now button{border-color:var(--ac)}
.zed .zsteps li.done{background:none;color:var(--mut)}
.zed .zsteps li.done button{text-decoration:line-through;text-decoration-thickness:1px}
.zlay{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px 56px;align-items:start}
.zside{display:grid;gap:22px;min-width:0}
.zmain{min-width:0}
.zed .zcard{border:0;border-top:2px solid var(--ink);border-radius:0;background:transparent;padding:14px 0 0;margin:0}
.zed .zside .zhead{display:block}
.zed .zside .zstat{min-width:0;max-width:none;margin-top:12px;border-radius:2px}
.zed .zside ul{list-style:decimal;margin:0 0 0 18px;padding:0}
.zed .zside li{margin:6px 0}
.zed .zstep{display:grid;grid-template-columns:130px minmax(0,1fr) minmax(300px,44%);column-gap:28px;padding:22px 0 34px}
.zed .zstep::before{content:attr(data-n);grid-column:1;grid-row:1;font:900 96px/.9 Montserrat,Inter,sans-serif;color:#d9d2bd}
.zed .zstep .zhd{grid-column:2;grid-row:1;min-width:0}
.zed .zstep .zctl{grid-column:3;grid-row:1;min-width:0}
.zed .zstep h3{font:800 26px/1.15 Montserrat,Inter,sans-serif;letter-spacing:-.01em;margin:0 0 8px}
.zed .badge{background:none;border-color:var(--ac);color:var(--ac);border-radius:2px}
.zed .badge.ok::before{color:var(--ac)}
.zed .btn{border-radius:2px;background:var(--ink);border-color:var(--ink)}
.zed .btn.alt{background:transparent;color:var(--ink)}
.zed .btn[disabled]{opacity:.5;cursor:not-allowed}
.zed .zopt,.zed .zview,.zed .zdoc,.zed .zlock,.zed .zdl,.zed .field input,.zed .field select,.zed .zrole select,.zed .zcard textarea{border-radius:2px}
.zed .field input{box-sizing:border-box;width:100%}
.zed .zopt{background:var(--fw-wb,#fff);border-color:var(--fw-gl,#9aa5b4)}
.zed .zopt.on{border:2px solid var(--ac);background:var(--fw-wb,#fff)}
.zed .zview.on{background:var(--ink);border-color:var(--ink)}
.zed .zmsg{border:2px dashed var(--ink);background:var(--fw-wb,#fff);padding:12px 14px;margin:10px 0;font-size:.9rem}
.zed .zmsg p{margin:6px 0 0}
.zed .zacts{margin:12px 0 4px}
.zed .ztab .ztot td{border-top-color:var(--ink)}
.zafter{display:grid;grid-template-columns:1fr 1fr;gap:22px 56px;margin-top:28px}
.zed .zdocs{grid-template-columns:130px minmax(0,1fr) minmax(420px,62%)}
.zed .zdocs .zdoc{overflow-wrap:anywhere}
@media (max-width:1000px){
 .zlay,.zafter{grid-template-columns:1fr}
 .zed .zstep{grid-template-columns:auto minmax(0,1fr)}
 .zed .zstep::before{font-size:52px}
 .zed .zstep .zhd{grid-column:2}
 .zed .zstep .zctl{grid-column:1/-1;grid-row:2;margin-top:12px}
}