/* Only the new tool uses these rules; the shared design system remains the source of colors. */
.cms-benefit [hidden]{display:none!important}
.cms-benefit .crumbs{white-space:normal;overflow:visible}
.cms-benefit #cfo-view{scroll-margin-top:85px}
.cms-benefit .cms-help{font-size:.88rem;color:var(--ink-2);line-height:1.8}
.cms-benefit .cms-companies{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.cms-benefit fieldset{min-width:0;border:1px solid var(--line);border-radius:var(--radius);padding:18px;margin:0;background:var(--bg)}
.cms-benefit legend{padding:0 8px;font-weight:700}
.cms-benefit .cms-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.cms-benefit .cms-field{display:flex;flex-direction:column;gap:6px;min-width:0}
.cms-benefit .cms-field label{font-size:.87rem;font-weight:600;line-height:1.6}
.cms-benefit input,.cms-benefit select{font:inherit;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px 10px;background:var(--bg);color:var(--ink);min-height:46px}
.cms-benefit input{width:100%;font-variant-numeric:tabular-nums}
.cms-benefit input[aria-invalid="true"]{border:2px solid var(--danger);background:var(--danger-soft)}
.cms-benefit :is(input,select,button,summary,a,[tabindex]):focus-visible{outline:3px solid var(--brand);outline-offset:3px}
.cms-benefit .cms-company-top{display:flex;gap:12px;align-items:end;margin-bottom:14px}
.cms-benefit .cms-company-top .cms-field{flex:1}
.cms-benefit .cms-actions{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0}
.cms-benefit button{cursor:pointer;font:inherit}
.cms-benefit button:disabled{opacity:.5;cursor:not-allowed}
.cms-benefit .cms-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.cms-benefit .cms-grid fieldset .cms-fields{grid-template-columns:1fr}
.cms-benefit .cms-result{min-width:0;padding:20px;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--bg)}
.cms-benefit .cms-result h3{color:var(--brand);margin-bottom:16px}
.cms-benefit .cms-result dl{margin:0}
.cms-benefit .cms-metric{border-bottom:1px solid var(--line);padding:10px 0}
.cms-benefit .cms-metric dt{font-size:.86rem;color:var(--ink-2);line-height:1.6}
.cms-benefit .cms-metric dd{margin:4px 0 0;font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.6}
.cms-benefit .cms-key{background:var(--brand-soft);border-radius:8px;padding:12px;margin-bottom:6px}
.cms-benefit .cms-key dd{font-size:1.4rem}
.cms-benefit .cms-negative{color:var(--danger)}
.cms-benefit .cms-resilience{font-size:.87rem;padding:12px;border-radius:8px;background:var(--warn-soft);line-height:1.7;margin-top:16px}
.cms-benefit #cms-status{font-size:.88rem;color:var(--ink-2)}
.cms-benefit .cms-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:20px 0;padding:0;list-style:none}
.cms-benefit .cms-flow li{min-width:0;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--bg-soft);margin:0}
.cms-benefit .cms-flow .cms-flow-value{display:block;font-size:1.25rem;font-weight:700;color:var(--brand);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.cms-benefit .cms-flow small{display:block;color:var(--ink-2)}
.cms-benefit .cms-scroll{max-width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:8px;margin:16px 0}
.cms-benefit .cms-scroll table{min-width:1060px;margin:0;font-size:.85rem}
.cms-benefit .cms-scroll th,.cms-benefit .cms-scroll td{padding:10px;white-space:nowrap}
.cms-benefit .cms-scroll .cms-name{white-space:normal;overflow-wrap:anywhere;min-width:100px;max-width:160px}
.cms-benefit .cms-formula{overflow-wrap:anywhere;font-size:.9rem}
.cms-benefit .cms-delete{flex:none;padding:9px 12px}
@media(max-width:860px){.cms-benefit .cms-companies{grid-template-columns:1fr}.cms-benefit .cms-grid{grid-template-columns:1fr}.cms-benefit .cms-grid fieldset .cms-fields{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.cms-benefit .cms-fields,.cms-benefit .cms-grid fieldset .cms-fields{grid-template-columns:1fr}.cms-benefit .cms-flow{grid-template-columns:1fr}.cms-benefit fieldset,.cms-benefit .cms-result{padding:16px}.cms-benefit .cms-actions .btn{width:100%;justify-content:center}.cms-benefit .cms-company-top{align-items:stretch;flex-direction:column}.cms-benefit .headline{overflow-wrap:anywhere}.cms-benefit .sec-title{flex-wrap:wrap}}
