/* RN05 (public note 04) — approval-scope diagram and long-form table. Offline only. */
.zf-note--04 .zf-note-hero h1{font-size:clamp(51px,5.45vw,84px);line-height:1.01;letter-spacing:-.05em}
.zf-note--04 .zf-note-prelude{max-width:540px}
.zf-note--04 .zf-approval-diagram{display:flex;flex-direction:column;justify-content:center;min-height:470px;padding:76px clamp(16px,2vw,27px) 28px;gap:0}
.zf-note--04 .zf-note-diagram__mark{font-size:11px;line-height:1.45;letter-spacing:.12em;max-width:calc(100% - 52px)}
.zf-approval-sequence{min-width:0;display:flex;flex-direction:column;gap:14px;position:relative}
.zf-approval-stage{min-width:0;padding:16px 17px;border:1px solid #3785b4;background:#071e2d;display:grid;gap:6px}
.zf-approval-index,.zf-approval-resolve span,.zf-approval-conclusion span{font:750 11px/1.4 "Inter",Arial,sans-serif;letter-spacing:.11em;color:#95cdf2}
.zf-approval-stage strong{font:400 clamp(19px,1.8vw,24px)/1.2 Georgia,"Times New Roman",serif;color:#fff}
.zf-approval-stage small,.zf-approval-conclusion small{font:400 12px/1.5 "Inter",Arial,sans-serif;color:#bdd1df}
.zf-approval-stage small em{font-style:normal;color:#f3ce86;overflow-wrap:anywhere}
.zf-approval-transition{display:flex;justify-content:center;align-items:center;gap:12px;color:#9dbacf;font:750 11px/1.4 "Inter",Arial,sans-serif;letter-spacing:.10em}
.zf-approval-transition i{font:400 22px/1 "Inter",Arial,sans-serif;color:#dcbd7b;font-style:normal}
.zf-approval-resolve{display:grid;grid-template-columns:minmax(0,1fr) 25px minmax(0,1fr);align-items:stretch;gap:8px;min-width:0}
.zf-approval-resolve>div:not(.zf-approval-resolve__arrow){min-width:0;padding:14px 12px;border:1px solid #397398;background:#0b2a3d;display:grid;gap:5px}
.zf-approval-resolve .zf-approval-resolve__changed{border-color:#c3a467!important;background:#27271f!important}
.zf-approval-resolve__changed span{color:#e6c680}
.zf-approval-resolve strong{font:650 13px/1.35 "Inter",Arial,sans-serif;letter-spacing:.035em;color:#e7f4fa;overflow-wrap:break-word}
.zf-approval-resolve__arrow{display:flex;justify-content:center;align-items:center;font-size:24px;color:#d1b47e}
.zf-approval-stage--receiver{border-color:#c1a365}
.zf-approval-conclusion{border-top:1px solid #947d59;padding-top:14px;text-align:center;display:grid;gap:6px}
.zf-approval-conclusion span{color:#e0c48c}
.zf-approval-conclusion strong{font:700 13px/1.4 "Inter",Arial,sans-serif;color:#f0f7fc;letter-spacing:.02em}
.zf-note--04 .zf-note-article-body pre{display:block;max-width:100%;overflow-x:auto;padding:19px 20px;background:#091e30;border:1px solid #284c65;color:#e4f4ff;line-height:1.7;font-size:13px;white-space:pre}
.zf-note--04 .zf-note-article-body pre code{font-family:"Courier New",monospace;font-size:13px}
.zf-note--04 .zf-note-article-body table{display:block;width:100%;max-width:100%;overflow-x:auto;border-collapse:collapse;border:1px solid #c3d5e3;background:#fff;font-size:12px;line-height:1.5;scrollbar-width:thin}
.zf-note--04 .zf-note-article-body th,.zf-note--04 .zf-note-article-body td{min-width:155px;border:1px solid #d3dfe9;text-align:left;padding:12px 13px;vertical-align:top}
.zf-note--04 .zf-note-article-body th{min-width:130px;background:#e4eef7;color:#173c5d;font-weight:750}
.zf-note--04 .zf-note-article-body td:first-child{min-width:64px;font-weight:750;color:#176eaa}
.zf-note--04 .zf-note-article-body li{overflow-wrap:anywhere}
.zf-note--04 .zf-note-article-body a{overflow-wrap:anywhere}
@media(max-width:1190px){
 .zf-note--04 .zf-note-hero__inner{grid-template-columns:minmax(0,1fr);gap:33px}
 .zf-note--04 .zf-approval-diagram{width:100%;max-width:710px;min-height:0}
 .zf-note--04 .zf-note-hero h1{max-width:850px}
}
@media(max-width:800px){
 .zf-note--04 .zf-approval-diagram{display:flex;max-width:640px;min-height:0;padding:65px 18px 24px}
}
@media(max-width:520px){
 .zf-note--04 .zf-note-hero h1{font-size:clamp(45px,11.7vw,63px);overflow-wrap:break-word}
 .zf-note--04 .zf-approval-diagram{padding:79px 13px 19px}
 .zf-approval-sequence{gap:12px}
 .zf-approval-stage{padding:12px}
 .zf-approval-resolve{grid-template-columns:minmax(0,1fr);gap:7px}
 .zf-approval-resolve>div:not(.zf-approval-resolve__arrow){padding:11px 13px}
 .zf-approval-resolve__arrow{height:17px;line-height:1;transform:rotate(90deg)}
 .zf-note--04 .zf-note-article-body table{font-size:12px}
}
@media(prefers-reduced-motion:reduce){
 .zf-note--04 .zf-note-article-body *{scroll-behavior:auto}
}
