.roicalc{--teal:var(--color-accent);--teal-deep:var(--color-accent-dark);--teal-pale:#009c8466;--teal-wash:var(--color-accent-soft);--slate:var(--color-ink);--slate-60:var(--color-sub);--slate-40:#9a958d;--surface:var(--color-well);--hair:var(--color-hairline);--white:var(--color-card);--radius:var(--radius-btn);--radius-card:16px;--on-dark-muted:#ffffff9e;--on-dark-soft:#ffffffc7;--on-dark-line:#ffffff24;--c2:170px;--c3:172px;color:var(--slate);font-size:15px;line-height:1.5}.roicalc *{box-sizing:border-box}.roicalc .cols{grid-template-columns:290px minmax(0,1fr);align-items:start;gap:32px;display:grid}@media (max-width:940px){.roicalc .cols{grid-template-columns:minmax(0,1fr)}}.roicalc .panel{background:var(--white);border:1px solid var(--hair);border-radius:var(--radius-card);padding:22px}.roicalc .panel h2{text-transform:uppercase;letter-spacing:.16em;color:var(--slate-40);margin:0 0 4px;font-size:10px;font-weight:600}.roicalc .panel .intro{color:var(--slate-40);margin:0 0 16px;font-size:11.5px;line-height:1.45}.roicalc .field{margin-bottom:15px}.roicalc .field label{margin-bottom:5px;font-size:12px;font-weight:500;line-height:1.35;display:block}.roicalc .field .hint{color:var(--slate-40);margin-top:4px;font-size:11px;line-height:1.4}.roicalc .field input{border:1px solid var(--hair);border-radius:var(--radius);background:var(--white);width:100%;color:var(--slate);padding:8px 10px;font-family:inherit;font-size:14px}.roicalc .field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px var(--teal-wash);outline:none}.roicalc .field input.prefill{color:var(--slate-60);background:var(--color-page)}.roicalc .field input::placeholder{color:#b3aea6}.roicalc .chain{background:var(--teal-wash);border-left:2px solid var(--teal);border-radius:0 10px 10px 0;margin:18px 0 16px;padding:12px 13px}.roicalc .chain-row{justify-content:space-between;gap:10px;padding:3px 0;font-size:11.5px;line-height:1.4;display:flex}.roicalc .chain-row span{min-width:0}.roicalc .chain-row span:first-child{color:var(--slate-60)}.roicalc .chain-row b{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.roicalc .chain-row.lead b{color:var(--teal-deep)}.roicalc .refine{border-top:1px solid var(--hair);margin-top:18px;padding-top:16px}.roicalc details.adv{border-top:1px solid var(--hair);margin-top:14px;padding-top:12px}.roicalc details.adv summary{text-transform:uppercase;letter-spacing:.1em;color:var(--slate-60);cursor:pointer;font-size:11px;font-weight:600}.roicalc details.adv summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.roicalc .adv-group{text-transform:uppercase;letter-spacing:.12em;color:var(--teal-deep);margin:14px 0 6px;font-size:9.5px;font-weight:700}.roicalc .adv-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.roicalc .adv-row label{color:var(--slate-60);flex:1;min-width:0;font-size:11px;line-height:1.35}.roicalc .adv-row input{text-align:right;border:1px solid var(--hair);border-radius:var(--radius);flex:none;width:58px;padding:4px 6px;font-family:inherit;font-size:12px}.roicalc .adv-row input.wide{width:94px}.roicalc .adv-row input::placeholder{color:#b3aea6;font-size:10px}.roicalc .adv-note{color:var(--slate-40);margin:2px 0 8px;font-size:10.5px;line-height:1.45}.roicalc .scope{background:var(--slate);color:#fff;border-radius:var(--radius-card);margin-bottom:20px;padding:22px 24px}.roicalc .scope-q{margin:0 0 3px;font-size:15px;font-weight:500}.roicalc .scope-sub{color:var(--on-dark-muted);margin:0 0 18px;font-size:12px}.roicalc .steps{grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.roicalc .step{cursor:pointer;color:var(--on-dark-muted);text-align:center;background:0 0;border:none;padding:16px 2px 12px;font-family:inherit;transition:all .18s;position:relative}.roicalc .step:before{content:"";background:var(--on-dark-line);height:3px;transition:all .18s;position:absolute;top:0;left:0;right:0}.roicalc .step:hover{color:#fff}.roicalc .step:hover:before{background:#ffffff4d}.roicalc .step[aria-pressed=true]{color:#fff}.roicalc .step[aria-pressed=true]:before{background:var(--teal);height:5px;top:-1px}.roicalc .step:focus-visible{outline:2px solid var(--teal);outline-offset:-2px}.roicalc .step-n{letter-spacing:-.03em;font-size:25px;font-weight:600;line-height:1;display:block}.roicalc .step-l{text-transform:uppercase;letter-spacing:.09em;margin-top:5px;font-size:9.5px;display:block}.roicalc .scope-out{border-top:1px solid var(--on-dark-line);color:var(--on-dark-soft);margin-top:14px;margin-bottom:0;padding-top:13px;font-size:12px;line-height:1.55}.roicalc .scope-out b{color:#fff;font-weight:600}.roicalc .stack{background:var(--white);border:1px solid var(--hair);border-radius:var(--radius-card) var(--radius-card) 0 0;overflow:hidden}.roicalc .row-toggle{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0}.roicalc .row-toggle:after{content:"▸";color:var(--slate-40);margin-left:7px;font-size:.85em;transition:transform .15s;display:inline-block}.roicalc .row-toggle[aria-expanded=true]:after{transform:rotate(90deg)}.roicalc .row-toggle:hover{color:var(--teal-deep)}.roicalc .row-toggle:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:3px}.roicalc .blk:not(.open) p,.roicalc .sub:not(.open) .sub-name em,.roicalc .sub:not(.open) .chainlet{display:none}.roicalc .row{grid-template-columns:minmax(0, 1fr) var(--c2) var(--c3);align-items:center;gap:14px;display:grid}.roicalc .row>*{min-width:0}@media (max-width:1080px){.roicalc{--c2:120px;--c3:158px}}@media (max-width:700px){.roicalc .row{grid-template-columns:minmax(0,1fr) 130px}.roicalc .row .barcell{display:none}}.roicalc .blk{border-bottom:1px solid var(--hair);background:var(--color-page);padding:16px 22px}.roicalc .blk h3{text-transform:uppercase;letter-spacing:.13em;margin:0;font-size:12px;font-weight:700}.roicalc .blk p{color:var(--slate-60);max-width:58ch;margin:5px 0 0;font-size:11.5px;line-height:1.55}.roicalc .blk .val{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--teal-deep);font-size:14px;font-weight:700}.roicalc .blk .tag{text-transform:uppercase;letter-spacing:.1em;color:var(--slate-40);text-align:right;margin-bottom:2px;font-size:9px;font-weight:600}.roicalc .sub{border-bottom:1px solid var(--hair);padding:14px 22px 14px 40px;position:relative}.roicalc .sub:before{content:"";background:var(--teal-wash);width:2px;position:absolute;top:0;bottom:0;left:22px}.roicalc .sub-name{font-size:13px;font-weight:500}.roicalc .sub-name em{color:var(--slate-60);margin-top:3px;font-size:11px;font-style:normal;line-height:1.55;display:block}.roicalc .chainlet{color:var(--teal-deep);margin-top:7px;font-size:10.5px;line-height:1.5;display:block}.roicalc .bar{background:var(--surface);border-radius:4px;height:13px;position:relative;overflow:hidden}.roicalc .blk .bar{background:var(--surface);height:15px}.roicalc .bar-lo{background:var(--teal);position:absolute;top:0;bottom:0;left:0}.roicalc .bar-hi{background:var(--teal-pale);position:absolute;top:0;bottom:0}.roicalc .val-sm{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:13px;font-weight:600}.roicalc .total{background:var(--teal-wash);padding:20px 22px}.roicalc .total .name{text-transform:uppercase;letter-spacing:.1em;font-size:12.5px;font-weight:600}.roicalc .total .name small{text-transform:none;letter-spacing:0;color:var(--slate-60);max-width:50ch;margin-top:4px;font-size:11.5px;font-weight:400;line-height:1.55;display:block}.roicalc .total .val{text-align:right;letter-spacing:-.02em;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--teal-deep);font-size:18px;font-weight:700}.roicalc .verdict{background:var(--hair);border:1px solid var(--hair);border-radius:0 0 var(--radius-card) var(--radius-card);border-top:none;grid-template-columns:minmax(0,1fr);gap:1px;margin:0;display:grid;overflow:hidden}@media (max-width:700px){.roicalc .verdict{grid-template-columns:minmax(0,1fr)}}.roicalc .vcell{background:var(--white);min-width:0;padding:17px 20px}.roicalc .vcell dt{text-transform:uppercase;letter-spacing:.13em;color:var(--slate-40);margin-bottom:6px;font-size:10px;font-weight:600;line-height:1.3}.roicalc .vcell dd{letter-spacing:-.02em;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:600}.roicalc .vcell dd small{color:var(--slate-40);letter-spacing:0;margin-top:4px;font-size:11px;font-weight:400;line-height:1.45;display:block}.roicalc .vcell.hero{background:var(--slate);color:#fff}.roicalc .vcell.hero dt{color:var(--on-dark-muted)}.roicalc .vcell.hero dd{color:#fff}.roicalc .vcell.hero dd small{color:var(--on-dark-muted)}.roicalc .legend{letter-spacing:.08em;text-transform:uppercase;color:var(--slate-40);flex-wrap:wrap;justify-content:flex-end;gap:14px;margin-top:12px;font-size:9.5px;display:flex}.roicalc .legend i{width:11px;height:9px;margin-right:5px;display:inline-block}.roicalc .legend .s1{background:var(--teal)}.roicalc .legend .s2{background:var(--teal-pale)}.roicalc .basis{border-top:1px solid var(--hair);color:var(--slate-60);margin-top:22px;padding-top:16px;font-size:12px;line-height:1.65}.roicalc .basis p{max-width:82ch;margin:0}.roicalc .basis b{color:var(--slate);font-weight:600}.roicalc .basis-h{text-transform:uppercase;letter-spacing:.13em;color:var(--slate);margin:0 0 7px;font-size:11px;font-weight:700}.roicalc details.method{margin-top:12px}.roicalc details.method summary{text-transform:uppercase;letter-spacing:.13em;color:var(--slate-60);cursor:pointer;font-size:11px;font-weight:600}.roicalc details.method summary:focus-visible{outline:2px solid var(--teal);outline-offset:2px}.roicalc details.method ul{color:var(--slate-60);columns:2;column-gap:32px;margin:14px 0 0;padding:0;font-size:11.5px;list-style:none}@media (max-width:820px){.roicalc details.method ul{columns:1}}.roicalc details.method li{break-inside:avoid;margin-bottom:8px;padding-left:14px;line-height:1.5;position:relative}.roicalc details.method li:before{content:"·";color:var(--teal);font-weight:700;position:absolute;left:2px}.roicalc .export{background:var(--slate);color:#fff;border-radius:var(--radius-card);grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:26px;margin-top:24px;padding:22px 26px;display:grid}@media (max-width:820px){.roicalc .export{grid-template-columns:minmax(0,1fr)}}.roicalc .export h2{letter-spacing:-.01em;margin:0 0 6px;font-size:16px;font-weight:600}.roicalc .export p{color:var(--on-dark-muted);margin:0;font-size:12px;line-height:1.55}.roicalc .export-form{gap:8px;display:flex}.roicalc .export-form input{border-radius:var(--radius);color:#fff;background:#ffffff12;border:1px solid #fff3;flex:1;min-width:0;padding:10px 12px;font-family:inherit;font-size:13px}.roicalc .export-form input::placeholder{color:#ffffff73}.roicalc .export-form input:focus{border-color:var(--teal);outline:none;box-shadow:0 0 0 3px #009c844d}.roicalc .export-form button{border-radius:var(--radius);background:var(--teal);color:#fff;cursor:pointer;white-space:nowrap;border:none;flex:none;padding:10px 18px;font-family:inherit;font-size:14px;font-weight:600}.roicalc .export-form button:hover{filter:brightness(.93);transform:translateY(-1px)}.roicalc .export-form button:disabled{cursor:default;opacity:.7}.roicalc .export-msg{min-height:18px;color:var(--on-dark-soft);margin-top:10px;font-size:13px;font-weight:500;line-height:1.45}.roicalc .export-msg.err{color:#ffb4a2}.roicalc .export-msg.ok{color:#8fe3d0}.roicalc .foot{color:var(--slate-40);letter-spacing:.03em;margin-top:18px;font-size:10.5px;line-height:1.55}@media print{.roicalc .export{display:none}.roicalc .blk p,.roicalc .sub-name em,.roicalc .chainlet{display:block}.roicalc .row-toggle:after{display:none}.roicalc details{display:block}.roicalc details>summary{display:none}}
