:root{--red:#c0392b;--brand:#ef3c43;--ink:#212529;--dark:#1d1f25;--muted:#69717d;--line:#dfe3e8;--soft:#f4f5f7;--green:#28704c;--amber:#9c6619}*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:14px/1.6 Arial,Helvetica,sans-serif}button,input,select{font:inherit}button,a{cursor:pointer}a{color:var(--red)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:3px}input:focus,select:focus{outline:2px solid var(--red);outline-offset:2px}input:invalid{border-color:var(--red)}[hidden]{display:none!important}.topbar{display:flex;justify-content:space-between;background:#101115;color:#c9cdd2;padding:9px 5%;font-size:10px;letter-spacing:1.3px}.topbar a{color:white;text-decoration:none;letter-spacing:.2px}.brand-header{text-align:center;border-bottom:1px solid var(--line);padding:26px 16px 20px}.brand-logo{display:inline-block;line-height:0}.brand-logo img{width:225px;max-width:65vw;height:auto;display:block}.brand-header p{font-size:12px;color:var(--muted);letter-spacing:.4px;margin:12px 0 0}main{max-width:1580px;margin:auto;padding:40px 4.5%}.page-title{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:30px}h1{font-size:clamp(32px,3.4vw,49px);font-weight:400;line-height:1.08;letter-spacing:-1.8px;margin:12px 0 16px}h1 strong{font-weight:700}h2{font-size:20px;letter-spacing:-.4px;line-height:1.25;margin:0 0 8px;color:#191b20}h3{font-size:17px;line-height:1.3;margin:12px 0}.eyebrow{font-size:10px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;color:var(--red)}.page-title p{color:var(--muted);margin:0}.project-actions{text-align:right;max-width:450px;flex-shrink:0}#saveState{display:block;font-size:11px;color:var(--muted);margin-bottom:12px}.button-row{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.project-actions .button-row{justify-content:flex-end}.btn{border:1px solid var(--red);border-radius:3px;padding:9px 13px;font-size:12px;line-height:1.5;background:#fff;color:var(--red);text-decoration:none}.btn:hover{filter:brightness(.94);background:#f9eeec}.btn.primary{background:var(--red);color:#fff}.btn.secondary{background:white}.btn.compact{font-size:11px;padding:7px 11px;white-space:nowrap}.btn.small{font-size:11px;padding:8px 12px}.btn:disabled{cursor:default;opacity:.45}.text-button{border:0;background:none;padding:5px;color:var(--red);font-size:12px;text-decoration:underline;text-underline-offset:3px}.text-button:disabled{color:#9298a1;cursor:default}.tabs{display:flex;gap:0;border-block:1px solid var(--line);background:#fafafa;margin-bottom:25px}.tabs button{border:0;background:none;color:var(--muted);border-bottom:3px solid transparent;padding:15px 26px;font-size:13px}.tabs button[aria-selected=true]{color:var(--red);border-bottom-color:var(--red);background:white;font-weight:700}.card{border:1px solid var(--line);border-radius:4px;padding:23px;background:white;min-width:0}.metadata{margin-bottom:20px;padding:16px 22px}summary{cursor:pointer;font-weight:600;color:#262b32}summary small{font-size:11px;font-weight:400;color:var(--muted);margin-left:15px}.metadata summary{display:list-item}.metadata summary>span{font-size:13px}.metadata-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 25px;padding-top:20px}label{display:block;font-size:11px;font-weight:600;color:#3e4652;min-width:0}input,select{display:block;width:100%;min-width:0;height:41px;background:white;color:var(--ink);border:1px solid #cdd2da;border-radius:3px;padding:8px 10px;margin-top:7px}input::placeholder{color:#8b929c;font-size:11px;font-weight:400}input[readonly]{background:#edf0f4;color:#6c7480;border-style:dashed}input[type=number]{appearance:textfield;-moz-appearance:textfield}input::-webkit-inner-spin-button,input::-webkit-outer-spin-button{appearance:none;margin:0}.stepper{display:flex;align-items:stretch;width:100%;margin-top:7px}.stepper input{margin:0;border-radius:3px 0 0 3px}.step-controls{width:28px;flex-shrink:0;display:flex;flex-direction:column}.step-controls button{height:20.5px;padding:0;border:1px solid #cdd2da;border-left:0;background:#edf0f4;font-size:9px;line-height:1;color:#485263}.step-controls button:first-child{border-bottom:0;border-radius:0 3px 0 0}.step-controls button:last-child{border-radius:0 0 3px 0}.step-controls button:hover{background:#f3dcd8}.step-controls button:disabled{color:#b8bec7;cursor:default}.rate-card{display:grid;grid-template-columns:270px minmax(0,1fr);gap:30px;padding:23px;background:var(--dark);border-top:3px solid var(--red);border-radius:3px;color:white;margin-bottom:20px}.rate-card .eyebrow{color:#ffb0aa}.rate-card h2{color:white;margin:8px 0}.rate-card p{font-size:11px;color:#b3bac4;margin:0}.rate-card label{color:#d4d8df}.rate-fields{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;align-items:center}.rate-card input,.rate-card select{border-color:#4c525c}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px}.summary-item{border:1px solid var(--line);padding:16px 19px;background:#fafbfc;border-radius:3px}.summary-item span{color:var(--muted);font-size:11px}.summary-item strong{display:block;font-size:26px;line-height:1.4;font-weight:600;margin-top:7px}.summary-item small{font-size:10px;font-weight:400;color:var(--muted)}.summary-item.alert strong{color:var(--red)}.workspace{display:grid;grid-template-columns:290px minmax(0,1fr);gap:24px;align-items:start}.node-panel{background:#fafbfc;padding:20px 16px;position:sticky;top:15px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px}.section-heading h2{margin:5px 0 0}.node-panel .section-heading{gap:8px}.node-panel h2{font-size:18px}.search-label{margin:6px 0 15px}.search-label input{height:36px}.node-filter{display:flex;justify-content:space-between;gap:10px;align-items:end;margin-bottom:16px}.node-filter select{font-size:11px;max-width:145px;height:34px}.node-filter .text-button{font-size:10px;margin-bottom:5px;white-space:nowrap}.node-list{max-height:570px;overflow:auto;display:flex;flex-direction:column;gap:8px}.node-card{display:block;width:100%;border:1px solid var(--line);background:#fff;border-left:3px solid transparent;border-radius:3px;padding:13px;text-align:left;color:var(--ink)}.node-card[aria-pressed=true]{border-color:#d99e97;border-left-color:var(--red);background:#fff8f6}.node-card>span{display:flex;justify-content:space-between;align-items:center;gap:6px}.node-card b{font-size:12px;overflow-wrap:anywhere;max-width:145px}.node-card strong{font-size:13px;white-space:nowrap}.node-card small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.status-dot{display:inline-block;width:6px;height:6px;background:#8993a1;border-radius:50%;margin-right:5px}.status-dot.bad{background:var(--red)}.status-dot.good{background:var(--green)}.status-dot.pending{background:var(--amber)}.node-footer{margin-top:20px;padding-top:17px;border-top:1px solid var(--line)}.node-footer .btn{font-size:11px;width:100%}.node-footer p{color:var(--muted);font-size:10px;line-height:1.8;margin-bottom:0}.node-workspace{min-width:0}.node-editor{margin-bottom:22px}.editor-top{display:grid;grid-template-columns:1fr .85fr 1.25fr;gap:17px}.mode-hint{font-size:12px;line-height:1.7;padding:11px 14px;border-left:3px solid var(--red);background:#fbf0ee;color:#6f3f38;margin:19px 0 24px}.input-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-size:13px;font-weight:600;border-bottom:1px solid var(--line);width:100%;padding-bottom:9px;margin-bottom:15px}fieldset>label{margin:13px 0}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:13px 0}.helper-text{font-size:11px;color:var(--muted);line-height:1.8}.splitter-helper{border-top:1px solid var(--line);padding-top:14px;margin-top:17px}.splitter-helper summary{font-size:11px;color:var(--red)}.splitter-helper .btn{margin-top:5px}.results-card h2{font-size:19px}.badge{font-size:10px;padding:4px 9px;background:#edf0f4;color:#525d6e;border:1px solid #d9dee5;border-radius:3px}.badge.bad{background:#fcece8;border-color:#e7b9b0;color:#a63627}.badge.good{background:#eff6f0;border-color:#bad3c4;color:#2c6648}.badge.pending{background:#fff5e5;border-color:#e9d3af;color:#815611}.result-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.result-number{padding:14px;background:#f4f5f7;border-top:2px solid #b9c0cc}.result-number.primary{border-color:var(--red);background:#fff5f2}.result-number span{font-size:10px;color:var(--muted)}.result-number strong{display:block;font-size:24px;font-weight:600;margin:6px 0 3px}.result-number strong small{font-size:11px;font-weight:400;color:var(--muted)}.result-number p{font-size:10px;color:var(--muted);margin:0}.missing-message{padding:20px;background:#f8f4ec;border:1px solid #eee0c6;margin-bottom:20px;font-size:12px;color:#6e5530}.missing-message p{margin:3px 0}.missing-message ul{padding-left:18px;margin-bottom:0}.diagram-scroll{overflow:auto;border:1px solid var(--line);background:#fafbfc;padding:12px;border-radius:3px}.path-diagram{display:block;width:100%;min-width:620px;height:auto}.diagram-placeholder{padding:35px 20px;text-align:center;color:var(--muted);font-size:12px}.loss-breakdown{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:20px 0}.loss-item{font-size:10px;color:var(--muted)}.loss-item strong{display:block;font-size:13px;color:var(--ink);margin:4px 0 7px;font-weight:600}.bar-track{height:4px;background:#edf0f4;border-radius:2px}.bar-track i{display:block;height:100%;background:var(--red);border-radius:2px}.bar-track i[data-color=splice]{background:#4b586e}.bar-track i[data-color=connector]{background:#728096}.bar-track i[data-color=split]{background:#a46a32}.bar-track i[data-color=atten]{background:#9c9490}.diagram-note{font-size:10px;color:var(--muted);line-height:1.8;margin:14px 0 0}.all-nodes{margin-top:24px;padding:18px 22px}.table-scroll{overflow:auto;min-width:0}table{width:100%;border-collapse:collapse;font-size:11px;margin-top:15px}th{text-align:left;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.4px;white-space:nowrap}td,th{border-bottom:1px solid var(--line);padding:11px 8px}td{white-space:nowrap}.guide-intro{max-width:720px;padding:15px 0 26px}.guide-intro h2{font-size:32px;margin-top:14px;letter-spacing:-1px}.guide-intro p{color:var(--muted);line-height:1.9}.guide-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.guide-grid p{font-size:13px;color:#5f6976;line-height:1.9}.guide-number{font-size:29px;color:#d6aca6;font-weight:600}.formula-guide{margin-top:22px}.formula-guide table{font-size:12px}.formula-guide td{white-space:normal}.formula-guide th{font-size:11px}.formula-guide .helper-text{margin-top:20px}footer{display:flex;justify-content:space-between;gap:15px;padding:25px 0 10px;margin-top:30px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}footer a{text-decoration:none;white-space:nowrap}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#20242c;color:white;padding:12px 20px;border-radius:4px;z-index:30;font-size:12px;max-width:90vw;box-shadow:0 5px 25px #0002}dialog{padding:27px;border:1px solid var(--line);border-radius:5px;max-width:450px}dialog::backdrop{background:#14192388}dialog h2{font-size:20px}dialog p{color:var(--muted);font-size:13px;margin:15px 0 22px}dialog .button-row{justify-content:flex-end}.print-only{display:none}@media(min-width:1550px){main{padding-inline:3%}.workspace{grid-template-columns:300px minmax(0,1fr)}}@media(max-width:1200px){.rate-card{grid-template-columns:1fr}.rate-fields{gap:18px}.workspace{grid-template-columns:250px minmax(0,1fr);gap:20px}.node-panel{padding:18px 13px}.input-columns{gap:20px}.result-grid{grid-template-columns:1fr 1fr}.project-actions{max-width:350px}.project-actions .btn{font-size:11px}.editor-top{grid-template-columns:1fr 1fr}.editor-top>label:last-child{grid-column:1/-1}}@media(max-width:900px){.page-title{display:block}.project-actions{text-align:left;max-width:none;margin-top:24px}.project-actions .button-row{justify-content:start}.workspace{grid-template-columns:minmax(0,1fr)}.node-panel{position:static}.node-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-height:245px;gap:9px}.node-card b{max-width:120px}.node-card>span{display:block}.node-card strong{display:block;margin-top:4px}.node-footer p{max-width:600px}.node-footer .btn{width:auto}.node-filter{justify-content:start;gap:20px}.node-filter label{width:180px}.node-filter select{max-width:none}.summary-grid{gap:10px}.summary-item{padding:13px}.summary-item strong{font-size:23px}.metadata-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.topbar>span{display:none}.topbar{justify-content:center}.brand-header{padding:22px 12px 18px}.brand-logo img{width:205px}.brand-header p{font-size:11px}main{padding:28px 5%}h1{font-size:35px;letter-spacing:-1.3px}.page-title p{font-size:12px}.tabs button{flex:1;padding:14px 10px;font-size:12px}.rate-card{padding:20px;gap:17px}.rate-card h2{font-size:19px}.rate-fields{grid-template-columns:1fr 1fr;gap:16px 13px}.summary-grid{grid-template-columns:1fr 1fr}.summary-item strong{font-size:24px}.card{padding:19px}.metadata{padding:15px}.metadata summary small{display:block;margin:7px 0 0 14px}.metadata-grid{grid-template-columns:1fr}.input-columns{grid-template-columns:1fr;gap:20px}.editor-top{grid-template-columns:1fr}.editor-top>label:last-child{grid-column:auto}.node-list{grid-template-columns:1fr 1fr}.node-card{padding:11px}.section-heading{gap:8px}.section-heading h2{font-size:18px}.section-heading>.button-row{gap:3px}.section-heading .text-button{font-size:11px}.loss-breakdown{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.result-number{padding:12px}.result-number strong{font-size:22px}.result-grid{gap:10px}.guide-grid{grid-template-columns:1fr}.guide-intro h2{font-size:27px}summary small{display:block;margin:7px 0 0}footer{display:block;font-size:10px}footer a{display:block;margin-top:10px}.badge{font-size:9px}.project-actions .button-row{gap:7px}.project-actions .btn{padding:8px 10px}}@media print{.topbar,.page-title,.tabs,.rate-card,.node-panel,.node-editor,.project-actions,.btn,.button-row,#guide,#toast,dialog,.diagram-note,.metadata-grid input,.step-controls{display:none!important}.brand-header{padding:0 0 10px}.brand-logo img{width:155px}.brand-header p{font-size:11px;margin:6px 0}main{padding:10px;max-width:none}.workspace{display:block}.results-card{break-inside:avoid}.summary-grid{grid-template-columns:repeat(4,1fr)}.summary-item{padding:10px}.summary-item strong{font-size:19px}.all-nodes{display:block!important}.all-nodes>.table-scroll{display:block!important}.all-nodes table{font-size:8px}th{font-size:7px}td,th{padding:5px 3px;white-space:normal}.all-nodes summary{list-style:none}.path-diagram{min-width:0}.diagram-scroll{overflow:visible}.loss-breakdown{grid-template-columns:repeat(5,1fr)}.result-grid{grid-template-columns:repeat(4,1fr)}.metadata{padding:10px;border:0}.metadata summary{list-style:none}.metadata small{font-size:12px}.table-scroll{overflow:visible}.results-card .section-heading h2{font-size:16px}footer{font-size:9px}.print-only{display:block}}

@media print{#printMetadata{font-size:10px;line-height:1.8;margin:10px 0 15px}#printMetadata h3{font-size:12px}#printMetadata p{margin:5px 0}}
