.roofing-page{padding-bottom:80px}.roofing-heading{padding:56px 0 36px;max-width:760px}.roofing-heading h1{font-size:clamp(36px,5vw,58px);letter-spacing:-.05em;line-height:1.08;margin:15px 0}.roofing-heading p{font-size:19px;color:var(--muted);line-height:1.65}.roofing-workspace{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface)}.roofing-workspace form,.roofing-result-panel{padding:30px;min-width:0}.roofing-result-panel{background:var(--accent-soft);border-left:1px solid var(--line)}.roofing-workspace h2{font-size:21px;margin:0 0 16px}.roofing-toolbar{display:flex;align-items:center;gap:12px;justify-content:space-between;flex-wrap:wrap}.roofing-page button:not(.button){border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:10px;padding:11px 13px;min-height:44px;cursor:pointer;font:inherit}.roofing-page button:disabled{opacity:.45;cursor:default}.roofing-modes{display:flex;gap:8px;margin:14px 0}.roofing-modes button[aria-pressed=true]{background:var(--accent);color:var(--button-text)}.roofing-help,.roofing-page figcaption{font-size:13px;color:var(--muted);line-height:1.6}.roofing-zone{margin:20px 0;padding:16px;border:1px solid var(--line);border-radius:16px;min-width:0}.roofing-zone legend{padding:0 7px;font-weight:650}.roofing-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.roofing-fields>div{min-width:0}.roofing-page label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}.roofing-page input,.roofing-page select,.roofing-page textarea{box-sizing:border-box;width:100%;min-height:46px;border:1px solid var(--line);border-radius:9px;padding:10px;background:var(--bg);color:var(--ink);font:inherit;font-size:16px}.roofing-toolbar select{width:auto;max-width:100%}.roofing-error{font-size:12px;color:var(--danger);line-height:1.5}.roofing-page [aria-invalid=true]{border-color:var(--danger)}.roofing-page figure{margin:16px 0 28px;text-align:center}.roofing-page svg{width:100%;max-height:160px}.roofing-total{display:block;font-size:clamp(32px,4vw,52px);letter-spacing:-.04em;overflow-wrap:anywhere;margin:10px 0}.roofing-bags{padding:18px;background:var(--surface);border:1px solid var(--line);border-radius:14px;margin:20px 0}.roofing-bags strong{font-size:32px}.roofing-result-panel p{line-height:1.65}.roofing-table{overflow-x:auto}.roofing-table table{width:100%;font-size:13px}.roofing-table th,.roofing-table td{text-align:left;padding:12px 6px;border-bottom:1px solid var(--line)}.roofing-actions{display:flex;gap:12px;flex-wrap:wrap}.roofing-print-report{display:none}.roofing-reading{display:grid;grid-template-columns:1fr 1fr;gap:64px;margin:64px 0}.roofing-reading p,.roofing-faq p,.roofing-method p{color:var(--muted);line-height:1.8}.roofing-faq details{padding:18px 0;border-bottom:1px solid var(--line)}.roofing-faq summary{cursor:pointer;font-weight:600;line-height:1.6}.roofing-method{margin-top:48px;max-width:800px}.roofing-page [hidden]{display:none!important}.roofing-page button:focus-visible,.roofing-page input:focus-visible,.roofing-page select:focus-visible{outline:3px solid var(--accent);outline-offset:3px}@media(max-width:750px){.roofing-workspace,.roofing-reading{grid-template-columns:1fr}.roofing-workspace form,.roofing-result-panel{padding:20px}.roofing-result-panel{border-left:0;border-top:1px solid var(--line)}.roofing-heading{padding-top:30px}.roofing-reading{gap:24px;margin:40px 0}}@media(max-width:360px){.roofing-fields{grid-template-columns:1fr}.roofing-workspace form,.roofing-result-panel{padding:14px}.roofing-modes{flex-wrap:wrap}}@media(prefers-reduced-motion:no-preference){.roofing-total{animation:roofing-appear .2s ease-out}@keyframes roofing-appear{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:none}}}@media print{.roofing-page{padding:0;max-width:none}.roofing-heading{padding:0}.roofing-heading h1{font-size:25px}.roofing-workspace{display:block;border:0;overflow:visible}.roofing-workspace form,.roofing-reading,.roofing-faq,.roofing-method,.roofing-actions,#roofing-status,#roofing-fallback,.roofing-page .breadcrumbs,.roofing-result-panel figure,.roofing-heading p{display:none!important}.roofing-result-panel{border:0;padding:0;background:white}.roofing-print-report{display:block;white-space:pre-wrap;overflow-wrap:anywhere;font:11px/1.6 sans-serif}.roofing-table tr{break-inside:avoid}.roofing-total{font-size:28px}.roofing-bags{margin:8px 0;padding:8px}.roofing-page p{margin:5px 0}.roofing-page h3{margin:12px 0 6px}}

@media print{.roofing-page{--ink:#000;--muted:#333;--surface:#fff;--line:#bbb;color:#000}.roofing-bags{background:#fff;color:#000}.roofing-result-panel{color:#000}.roofing-result-panel #roofing-empty{display:none}}
@media print{.skip-link{display:none!important}.roofing-print-report{break-before:page}}
@media print{.roofing-result-panel{font-size:12px}.roofing-result-panel h3{font-size:14px}.roofing-table th,.roofing-table td{padding:7px 6px}.roofing-table table{font-size:11px}.roofing-result-panel .roofing-help{font-size:11px}.roofing-print-report{break-before:auto;break-inside:avoid;margin-top:20px}}
.roofing-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}.roofing-summary .roofing-bags{margin:0}.roofing-summary strong{font-size:28px;letter-spacing:-.02em;overflow-wrap:anywhere}.roofing-summary span{display:block;font-size:13px;color:var(--muted)}@media(max-width:360px){.roofing-summary{grid-template-columns:1fr}}
.roofing-fields select{max-width:none}.roofing-fields .roofing-wide{grid-column:1/-1}#roofing-weight-unit{font-size:15px;font-weight:600;color:var(--ink);margin-bottom:6px}
.roofing-safety{margin:18px 0 0}.roofing-page figure text{font-size:13px}
