.zf-tool{--zf-ink:#22231f;--zf-muted:#66635d;--zf-line:#d8d4cd;color:var(--zf-ink);padding-block:20px 70px;max-width:1440px;margin:auto}
.zf-intro{max-width:780px;margin-bottom:32px}.zf-intro h1{font-size:clamp(36px,5vw,64px);line-height:1.08;letter-spacing:-.04em;white-space:pre-line;margin:20px 0 24px}.zf-intro p{font-size:17px;line-height:1.7;max-width:650px}
.zf-text-link{display:inline-flex;align-items:center;gap:12px;font-size:13px;line-height:1.6;min-height:44px;text-underline-offset:4px}.zf-toolbar{display:flex;justify-content:space-between;gap:20px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--zf-muted);border-block:1px solid var(--zf-line);padding-block:10px;margin-block:26px}
.zf-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);gap:44px;align-items:start}.zf-project-fields,.zf-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.zf-project-fields{max-width:740px;margin-block:26px 36px}
.zf-field{display:flex;flex-direction:column;gap:8px;min-width:0;font-size:13px}.zf-field input,.zf-field select,.zf-field textarea,.zf-status-label select{width:100%;max-width:100%;box-sizing:border-box;min-height:46px;background:#fff;border:1px solid #bbb7af;color:var(--zf-ink);padding:12px 10px;border-radius:0;font:inherit;font-size:16px}.zf-field textarea{resize:vertical;line-height:1.6}.zf-field input:focus,.zf-field select:focus,.zf-field textarea:focus,.zf-status-label select:focus{outline:2px solid #424743;outline-offset:3px}.zf-field input{scroll-margin-top:130px}.zf-field input[aria-invalid=true]{border-color:#9a382f;background:#fff5f2}
.zf-group{margin-bottom:40px}.zf-group-heading{display:flex;gap:20px;align-items:flex-start;padding:20px 0;border-block:1px solid var(--zf-line)}.zf-group-heading>span{font-size:12px;color:var(--zf-muted);padding-top:4px}.zf-group-heading h2{font-size:26px;line-height:1.2;letter-spacing:-.025em;margin:0 0 7px}.zf-group-heading p{font-size:12px;margin:0;color:var(--zf-muted)}
.zf-item{padding-block:24px;border-bottom:1px solid var(--zf-line);min-width:0}.zf-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.zf-stage{display:block;color:var(--zf-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase;line-height:1.5;margin-bottom:8px}.zf-item h3{font-size:18px;line-height:1.4;letter-spacing:-.015em;margin:0;overflow-wrap:anywhere}.zf-status-label{width:245px;max-width:100%;flex-shrink:0}.zf-status-label select{font-size:13px}.zf-help,.zf-pending,.zf-included{font-size:13px;line-height:1.7;color:var(--zf-muted);margin:12px 0}.zf-pending{font-size:12px}.zf-included{border-left:2px solid #8a867d;padding-left:12px}.zf-basis{max-width:380px;margin-block:18px}.zf-note{margin-top:18px}.zf-error{color:#8e3028;font-size:12px;line-height:1.6}
.zf-overview{position:sticky;top:110px;min-width:0;background:#efede7;padding:28px}.zf-overview h2{font-size:23px;line-height:1.3;letter-spacing:-.02em;margin:15px 0}.zf-subtotal{display:block;font-size:clamp(25px,2.7vw,38px);font-weight:500;letter-spacing:-.04em;line-height:1.25;overflow-wrap:anywhere}.zf-coverage{font-size:12px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin-block:20px;color:var(--zf-muted)}.zf-coverage b{color:var(--zf-ink);font-weight:600}.zf-coverage span{margin-inline:4px}.zf-breakdown{margin:20px 0;font-size:12px}.zf-breakdown>div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid #d3cfc7;padding-block:12px}.zf-breakdown dd{margin:0;text-align:right;overflow-wrap:anywhere}.zf-unknown{border-top:1px solid #d3cfc7;padding-top:15px;font-size:13px;line-height:1.6}.zf-unknown summary{cursor:pointer;min-height:44px}.zf-unknown ul{margin:0 0 18px;padding-left:18px}.zf-unknown li{margin-bottom:7px}.zf-no-double{font-size:13px;line-height:1.7;margin-block:20px;padding-top:16px;border-top:1px solid #d3cfc7}
.zf-actions{display:flex;flex-direction:column;gap:10px;margin:22px 0 16px}.zf-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:46px;box-sizing:border-box;border:1px solid var(--zf-ink);background:var(--zf-ink);color:#fff;font:inherit;font-size:13px;line-height:1.5;padding:12px 16px;cursor:pointer;text-align:center;text-decoration:none;white-space:normal}.zf-button.secondary{background:transparent;color:var(--zf-ink)}.zf-button:disabled{opacity:.5;cursor:wait}.zf-text-button{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:0;color:inherit;font:inherit;font-size:13px;min-height:44px;padding:8px 2px;text-decoration:underline;text-underline-offset:4px;cursor:pointer}.zf-button:focus-visible,.zf-text-button:focus-visible,.zf-text-link:focus-visible{outline:2px solid #424743;outline-offset:4px}.zf-message{min-height:20px;font-size:13px;line-height:1.6;margin-top:25px}.zf-footnote{font-size:12px;line-height:1.8;max-width:830px;padding-top:20px;border-top:1px solid var(--zf-line);color:var(--zf-muted)}
.zf-sr-only{position:absolute;clip:rect(0,0,0,0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;white-space:nowrap}.zf-tool [hidden]{display:none!important}
.zf-jump{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 28px}.zf-jump a{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 14px;border:1px solid var(--zf-line);font-size:12px;line-height:1.5;text-decoration:none;color:var(--zf-ink);background:transparent}.zf-jump a:hover{background:#efede7}.zf-jump a:focus-visible{outline:2px solid #424743;outline-offset:3px}.zf-group,.zf-overview{scroll-margin-top:130px}
@media(max-width:1120px){.zf-layout{gap:26px}.zf-item-top{display:block}.zf-status-label{display:block;width:100%;margin-top:15px}.zf-overview{padding:22px}}
@media(max-width:760px){.zf-layout{grid-template-columns:minmax(0,1fr);gap:16px}.zf-overview{position:static}.zf-tool{padding-top:12px}.zf-intro h1{font-size:clamp(35px,8vw,52px)}.zf-intro p{font-size:15px}.zf-group-heading h2{font-size:24px}.zf-group{margin-bottom:28px}.zf-subtotal{font-size:32px}.zf-fields,.zf-project-fields{gap:14px}.zf-toolbar{gap:10px}.zf-item{padding-block:22px}}
@media(max-width:390px){.zf-fields,.zf-project-fields{grid-template-columns:minmax(0,1fr)}.zf-overview{padding:20px}.zf-subtotal{font-size:29px}}
@media print{.zf-toolbar,.zf-actions,.zf-text-link,.zf-message,.zf-jump{display:none}.zf-layout{display:block}.zf-overview{position:static}.zf-item{break-inside:avoid}}
