.settlement-calculator { scroll-margin-top:24px; }
.service-content .settlement-calculator > h2 { margin-top:0; }
.calc-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:28px; align-items:start; margin-top:28px; }
.calc-form,.calc-result-area { min-width:0; }
.calc-form { padding:28px; border:1px solid #dfe4e8; border-radius:14px; background:#fff; }
.calc-form fieldset { margin:0; padding:0; border:0; min-width:0; }
.calc-form legend { font-size:23px; font-weight:400; margin-bottom:22px; }
.calc-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
.calc-fields label { display:flex; flex-direction:column; gap:8px; min-width:0; color:#252c32; font-size:16px; line-height:1.4; }
.calc-fields input { width:100%; min-width:0; max-width:100%; min-height:48px; padding:11px 12px; border:1px solid #aeb7bf; border-radius:4px; color:#202326; background:#fff; font:400 16px/1.4 'Titillium Web',sans-serif; }
.calc-fields input:focus-visible,.calc-actions button:focus-visible,.calc-breakdown summary:focus-visible,.calc-table-wrap:focus-visible { outline:2px solid #1769cb; outline-offset:3px; }
.calc-fields small { font-size:13px; line-height:1.5; color:#5b656d; }
.calc-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:26px; }
.calc-actions button { cursor:pointer; font-family:inherit; }
.calc-reset { background:#fff; border:1px solid #aeb7bf; color:#313a42; }
.calc-reset:hover { background:#f1f4f7; }
.service-content .calc-privacy { font-size:13px; line-height:1.55; color:#616b74; margin:20px 0 0; }
.calc-empty,.calc-output { padding:30px; background:#f1f5f9; border:1px solid #dbe4ec; border-radius:14px; }
.calc-empty { padding-block:48px; }
.calc-empty > span { display:block; color:#1769cb; font-size:36px; font-weight:300; margin-bottom:24px; }
.service-content .calc-empty h3,.service-content .calc-output h3 { font-size:24px; font-weight:400; }
.calc-total { display:block; color:#1258a7; font-size:clamp(30px,3vw,44px); line-height:1.25; font-weight:400; overflow-wrap:anywhere; margin:12px 0 20px; }
.service-content .calc-context { font-size:14px; }
.calc-metrics { margin:22px 0 10px; }
.calc-metrics > div { padding:16px 0; border-top:1px solid #d4dde5; }
.calc-metrics dt { font-size:15px; color:#50585d; }
.calc-metrics dd { margin:5px 0 0; font-size:24px; font-weight:400; }
.service-content .calc-limit { font-size:14px; }
.calc-output > .button { width:100%; margin:12px 0; }
.calc-output:focus { outline:2px solid #1769cb; outline-offset:4px; }
.calc-status { min-height:24px; margin-top:18px!important; }
.service-content .calc-status--error { color:#a22222; }
.calc-breakdown { margin-top:20px; }
.calc-breakdown summary { cursor:pointer; font-size:16px; color:#1258a7; }
.calc-table-wrap { overflow-x:auto; max-width:100%; margin-top:16px; }
.calc-table-wrap table { width:100%; min-width:480px; border-collapse:collapse; font-size:14px; }
.calc-table-wrap th,.calc-table-wrap td { text-align:left; padding:10px; border-bottom:1px solid #d4dde5; }
.calc-table-wrap caption { text-align:left; padding-bottom:12px; color:#515d66; }
.calc-formula { padding:20px; background:#f1f5f9; overflow-wrap:anywhere; }
@media(max-width:900px) { .calc-layout { grid-template-columns:1fr; } }
@media(max-width:520px) { .calc-fields { grid-template-columns:1fr; } .calc-form,.calc-empty,.calc-output { padding:22px 18px; } .calc-actions { flex-direction:column; } .calc-actions .button { flex:auto; width:100%; } }


.calc-processing { padding:38px 30px; border:1px solid #dbe4ec; border-radius:14px; background:linear-gradient(135deg,#f1f5f9,#f8fafc); }
.calc-processing[hidden] { display:none; }
.service-content .calc-processing h3 { font-size:24px; font-weight:400; margin:22px 0 12px; }
.calc-processing small { color:#616b74; font-size:13px; }
.calc-spinner { display:block; width:38px; height:38px; border:3px solid #d5e3f1; border-top-color:#1769cb; border-radius:50%; animation:calc-spin .8s linear infinite; }
.calc-processing-track { height:3px; margin:26px 0 18px; background:#dfe8f1; border-radius:4px; overflow:hidden; }
.calc-processing-track span { display:block; height:100%; width:35%; background:#1769cb; animation:calc-sweep 1.1s ease-in-out infinite; }
.calc-actions button:disabled { opacity:.7; cursor:wait; }
@keyframes calc-spin { to { transform:rotate(360deg); } }
@keyframes calc-sweep { from { transform:translateX(-110%); } to { transform:translateX(390%); } }
@media(prefers-reduced-motion:reduce) { .calc-spinner,.calc-processing-track span { animation:none; } }
@media(max-width:520px) { .calc-processing { padding:28px 18px; } }
