.sp-tool *{box-sizing:border-box;letter-spacing:0}.sp-layout{display:grid;grid-template-columns:minmax(0,1fr);align-items:start;gap:24px}.sp-field,.sp-layout>*,.sp-result-column{min-width:0}.sp-band{border-top:1px solid var(--color-gray-200);padding:20px 0}.sp-band:first-child{padding-top:0;border:0}.sp-tool h2{font-size:20px;font-weight:600;margin-bottom:16px}.sp-tool h3{font-size:16px;font-weight:600;margin:24px 0 12px}.sp-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:16px}.sp-heading h2{margin:0}.sp-tool .sp-example button{min-height:44px;color:var(--color-gray-600)}.sp-metrics,.sp-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sp-field{margin:18px 0}.sp-tool label{display:block;font-size:14px;font-weight:600}.sp-tool input:not([type=checkbox]),.sp-tool select{display:block;width:100%;min-width:0;min-height:48px;padding:12px;margin-top:8px;font-size:16px;border:1px solid var(--color-gray-300);border-radius:8px;color:var(--color-gray-900);background:var(--color-white)}.sp-tool small{display:block;font-size:12px;font-weight:400;line-height:1.8;color:var(--color-gray-600);margin-top:6px}.sp-tool :is(input,select,button,summary,a):focus-visible{outline:2px solid var(--brand);outline-offset:3px}.sp-tool input:not([type=checkbox]):focus-visible,.sp-tool select:focus-visible{border-color:var(--brand);outline-offset:0}.sp-tool [aria-invalid=true]{border-color:var(--color-red-700)}.sp-modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.sp-modes button{min-height:48px;padding:10px 8px;border:1px solid var(--color-gray-300);border-radius:8px;font-size:14px;font-weight:500;cursor:pointer}.sp-modes button[aria-pressed=true]{border-color:var(--color-black);background:var(--color-black);color:var(--color-white)}.sp-note,.sp-status{color:var(--color-gray-600);font-size:13px;line-height:1.9}.sp-status{min-height:25px;margin-top:12px}.sp-error{color:var(--color-red-700);font-size:13px;line-height:1.8;margin-top:8px}.sp-warning{border-left:3px solid var(--color-amber-500);padding-left:12px;font-size:13px;line-height:1.9;margin:16px 0}.sp-tool .sp-check{display:flex;gap:10px;align-items:flex-start;font-weight:400;line-height:1.8;cursor:pointer}.sp-check input{width:18px;height:18px;margin-top:4px;flex:0 0 18px;accent-color:var(--brand);cursor:pointer}.sp-form-actions{display:flex;gap:12px}.sp-export button,.sp-form-actions button{min-height:48px;padding:12px 16px;border:1px solid var(--color-gray-300);border-radius:8px;font-size:14px;cursor:pointer}.sp-form-actions .sp-primary{flex:1;background:var(--color-black);color:var(--color-white);border-color:var(--color-black);font-size:16px;font-weight:600}.sp-tool button:hover{opacity:.85}.sp-result{outline:none;scroll-margin-top:90px}.sp-total{border-block:1px solid var(--color-gray-200);padding:24px 0;margin:20px 0}.sp-total p,.sp-total span{font-size:13px;font-weight:400;color:var(--color-gray-600);line-height:1.8}.sp-total strong{display:block;font-size:24px;font-weight:600;line-height:1.4;margin:8px 0;color:var(--color-emerald-700);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.sp-metrics{margin:20px 0}.sp-metrics dt{font-size:13px;color:var(--color-gray-600)}.sp-metrics dd{font-size:24px;font-weight:600;margin-top:8px;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.sp-rows>div{display:flex;justify-content:space-between;align-items:baseline;gap:16px;border-bottom:1px solid var(--color-gray-200);padding:14px 0;font-size:14px;line-height:1.8}.sp-rows dt{color:var(--color-gray-600);flex:1}.sp-rows dd{max-width:60%;text-align:right;font-weight:500;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.sp-formula{font-size:14px;line-height:1.8;margin-block:16px;font-variant-numeric:tabular-nums}.sp-schedule{margin:24px 0;border-block:1px solid var(--color-gray-200)}.sp-schedule summary{min-height:48px;padding:12px 0;font-size:14px;font-weight:500;cursor:pointer}.sp-schedule table{width:100%;border-collapse:collapse;font-size:13px;font-variant-numeric:tabular-nums}.sp-schedule caption{text-align:left;padding-bottom:12px}.sp-schedule td,.sp-schedule th{padding:10px 4px;text-align:right;border-bottom:1px solid var(--color-gray-200);overflow-wrap:anywhere}.sp-schedule th:first-child{text-align:left}.sp-schedule tbody th{font-weight:400}.sp-schedule tr:last-child>*{border:0}.sp-result>.sp-note{margin-top:12px}.sp-empty h2{font-size:18px;color:var(--color-gray-700)}.sp-empty .sp-rows{margin-top:16px}.sp-local{margin-top:28px;padding-top:4px;border-top:1px solid var(--color-gray-200)}.sp-local p{font-size:13px;line-height:1.9;color:var(--color-gray-600);margin:10px 0}.sp-local a{display:inline-block;min-height:44px;padding-block:10px;font-size:14px;color:var(--brand);text-decoration:underline;text-underline-offset:4px;overflow-wrap:anywhere}.sp-export{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.sp-export button{display:flex;align-items:center;justify-content:center;gap:8px;flex:1 1 150px}.sp-export svg{width:18px;height:18px}@media (min-width:1024px){.sp-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:32px}}@media (min-width:1024px) and (max-width:1535px){body:has(#settlement-points-page) .feedback-fab{display:none}}@media (max-width:639px){.sp-metrics dd,.sp-total strong{font-size:22px}.sp-metrics{gap:16px 12px}}@media (max-width:359px){.sp-rows>div{flex-direction:column;gap:4px}.sp-rows dd{max-width:100%;text-align:left}.sp-metrics{grid-template-columns:minmax(0,1fr)}}@media (max-height:430px) and (max-width:1023px){.sp-tool .sticky-bar-summary{display:none}}@media (prefers-color-scheme:dark){.sp-tool .sp-example button{color:var(--color-gray-400)}.sp-band,.sp-local,.sp-modes button,.sp-rows>div,.sp-schedule,.sp-schedule td,.sp-schedule th,.sp-total{border-color:var(--color-gray-700)}.sp-modes button[aria-pressed=true]{border-color:var(--color-white);background:var(--color-white);color:var(--color-black)}.sp-tool input:not([type=checkbox]),.sp-tool select{background:var(--color-gray-900);color:var(--color-white);border-color:var(--color-gray-600)}.sp-local p,.sp-metrics dt,.sp-note,.sp-rows dt,.sp-status,.sp-tool small,.sp-total p,.sp-total span{color:var(--color-gray-400)}.sp-total strong{color:var(--color-emerald-400)}.sp-empty h2{color:var(--color-gray-300)}.sp-error{color:var(--color-red-400)}.sp-form-actions .sp-primary{background:var(--color-white);color:var(--color-black);border-color:var(--color-white)}.sp-export button,.sp-form-actions button{border-color:var(--color-gray-600)}}.sp-command,.sp-compare button{min-height:44px;padding:10px 14px;border:1px solid var(--color-gray-300);border-radius:8px;font-size:14px;cursor:pointer}.sp-heading>.sp-field{flex:1;max-width:350px;margin-top:0}@media (max-width:639px){.sp-heading>.sp-field{flex-basis:100%;max-width:none}}.sp-advanced{display:flex;width:100%;min-height:48px;align-items:center;justify-content:space-between;font-size:20px;font-weight:600;cursor:pointer;margin-bottom:12px;gap:12px;text-align:left}.sp-area{border:0;padding:0;min-width:0}.sp-area:disabled input{opacity:.7;cursor:not-allowed}.sp-compare{border-top:1px solid var(--color-gray-200);margin-top:28px;padding-top:24px}.sp-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain}.sp-compare table{border-collapse:collapse;width:100%;font-size:14px}.sp-compare caption{text-align:left;padding-bottom:12px;color:var(--color-gray-600)}.sp-compare td,.sp-compare th{min-width:140px;padding:12px 8px;border-bottom:1px solid var(--color-gray-200);text-align:left;vertical-align:top}.sp-compare td{font-variant-numeric:tabular-nums}.sp-compare th:first-child{min-width:120px}.sp-compare button{display:block;margin-bottom:8px}.sp-modal h2{font-size:20px;font-weight:600;margin-bottom:12px}.sp-modal p{font-size:14px;line-height:1.8;margin-bottom:24px}.sp-tool button:disabled{opacity:.6;cursor:not-allowed}.sp-unavailable{padding:24px 0}.sp-unavailable a{display:block;margin:20px 0;text-decoration:underline;color:var(--brand)}@media(prefers-color-scheme:dark){.sp-command,.sp-compare,.sp-compare button,.sp-compare td,.sp-compare th{border-color:var(--color-gray-700)}.sp-compare caption{color:var(--color-gray-400)}}