/* ============================================================================
   KALKULATOR ROI WDROŻENIA AI (materialy/kalkulator-roi-ai)
   ----------------------------------------------------------------------------
   Ładowany po style.css i materialy.css. Tokeny i komponenty design systemu;
   wykresy rysowane bez bibliotek (HTML + SVG), kolory sprawdzone walidatorem CVD.
============================================================================ */
.calc { --c-team:#94A3B8; --c-ai:#6B4FB3; --c-onb:#D97706; --c-comp:#0D9488; --c-debt:#B91C1C; --c-eff:#C2410C; }

.calc-sec { padding:48px 0 88px; background:var(--surface); }
@media (max-width:640px) { .calc-sec { padding:28px 0 60px; } }
.calc-wrap { max-width:1200px; margin:0 auto; }

/* ── Pasek narzędzi: kurs, zapis i odczyt scenariusza ── */
.calc-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; margin-bottom:14px; padding:14px 18px; border-radius:var(--r-lg); border:1px solid var(--border); background:var(--white); box-shadow:var(--sh); }
.calc-rate { display:inline-flex; align-items:center; gap:8px; font-size:.86rem; font-weight:600; color:var(--text); }
.calc-rate input { width:84px; }
.calc-rate small { font-weight:500; color:var(--text-muted); }
.calc-toolbar-btns { display:flex; flex-wrap:wrap; gap:8px; margin-left:auto; }
.btn-sm { padding:8px 14px; font-size:.84rem; border-radius:10px; }
@media (max-width:640px) { .calc-toolbar-btns { margin-left:0; width:100%; } .calc-toolbar-btns .btn { flex:1; } }

/* ── Jak korzystać (rozwijane) ── */
.calc-guide { margin-bottom:22px; border-radius:var(--r-lg); border:1px solid var(--brand-border); background:var(--brand-light); }
.calc-guide summary { display:flex; align-items:center; gap:10px; min-height:48px; padding:12px 18px; list-style:none; cursor:pointer; font-size:.92rem; font-weight:700; color:var(--brand); }
.calc-guide summary::-webkit-details-marker { display:none; }
.calc-guide summary::after { content:'\f078'; margin-left:auto; font:900 .72rem/1 "Font Awesome 6 Free"; transition:transform .2s; }
.calc-guide[open] summary::after { transform:rotate(180deg); }
.calc-guide ol { list-style:none; counter-reset:g; display:grid; gap:10px; padding:0 18px 18px; }
@media (min-width:860px) { .calc-guide ol { grid-template-columns:repeat(5,1fr); } }
.calc-guide li { counter-increment:g; position:relative; padding:12px 14px 12px 46px; border-radius:var(--r); background:var(--white); border:1px solid var(--brand-border); font-size:.84rem; line-height:1.5; color:var(--text-body); }
.calc-guide li::before { content:counter(g); position:absolute; left:12px; top:12px; width:24px; height:24px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:.74rem; font-weight:800; color:#fff; background:var(--brand-gradient); }
.calc-guide li b { display:block; color:var(--text); }

/* ── Konfiguracja: pięć kart z numerami kroków ── */
.calc-grid { display:grid; gap:16px; }
@media (min-width:760px) { .calc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .calc-card.wide { grid-column:1/-1; } }
@media (min-width:1100px) {
    .calc-grid { grid-template-columns:repeat(12,minmax(0,1fr)); }
    .calc-card { grid-column:span 4; }
    .calc-card.wide { grid-column:1/-1; }
    .calc-card.wide .calc-impacts { grid-template-columns:repeat(4,minmax(0,1fr)); }
    .calc-card.wide .calc-scen { max-width:720px; }
}
.calc-card { min-width:0; padding:22px 22px 20px; border-radius:var(--r-lg); border:1px solid var(--border); background:var(--white); box-shadow:var(--sh); }
@media (max-width:640px) { .calc-card { padding:18px 16px; } }
.calc-card > h2, .calc-card-head h2 { display:flex; align-items:center; gap:10px; margin-bottom:16px; font-size:1.02rem; font-weight:800; letter-spacing:-.015em; color:var(--text); }
.calc-step { width:28px; height:28px; flex:none; border-radius:9px; display:flex; align-items:center; justify-content:center; font-size:.8rem; font-weight:800; color:var(--brand); background:var(--brand-light); border:1px solid var(--brand-border); }
.calc-card > h2 .calc-link { margin-left:auto; }

.calc-field { margin-bottom:14px; }
.calc-field:last-child { margin-bottom:0; }
.calc-field > label, .calc-label { display:block; margin-bottom:6px; font-size:.84rem; font-weight:600; color:var(--text); }
.calc input[type=number], .calc select { width:100%; min-height:42px; padding:8px 12px; border-radius:10px; border:1.5px solid #7B8494; background:var(--white); font:inherit; font-size:.95rem; color:var(--text); transition:border-color .2s, box-shadow .2s; }
.calc select { padding-right:36px; -webkit-appearance:none; appearance:none; cursor:pointer;
    background:var(--white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M2 4l4 4 4-4' fill='none' stroke='%236B4FB3' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center; }
.calc input[type=number]:hover, .calc select:hover { border-color:var(--brand-border); }
.calc input[type=number]:focus, .calc select:focus { outline:none; border-color:var(--brand-soft); box-shadow:0 0 0 4px rgba(107,79,179,.14); }
.calc input[type=range] { width:100%; accent-color:#6B4FB3; cursor:pointer; }
.calc-hint { margin-top:5px; font-size:.76rem; line-height:1.5; color:var(--text-muted); }
.calc-row2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; align-items:end; }

/* Przełącznik (krzywa adopcji, dług, compliance) */
.calc-switch { position:relative; display:flex; align-items:center; gap:10px; min-height:36px; font-size:.86rem; font-weight:600; color:var(--text); cursor:pointer; }
.calc-switch input { position:absolute; opacity:0; width:1px; height:1px; }
.calc-switch-ui { position:relative; width:38px; height:22px; flex:none; border-radius:var(--r-full); background:#7B8494; transition:background .2s; }
.calc-switch-ui::after { content:''; position:absolute; left:3px; top:3px; width:16px; height:16px; border-radius:50%; background:#fff; box-shadow:var(--sh); transition:transform .2s; }
.calc-switch input:checked + .calc-switch-ui { background:var(--brand); }
.calc-switch input:checked + .calc-switch-ui::after { transform:translateX(16px); }
.calc-switch input:focus-visible + .calc-switch-ui { outline:2px solid var(--brand-soft); outline-offset:2px; }
.calc-sub { margin:6px 0 4px 48px; }
.calc-sub[hidden] { display:none; }
.calc-sub output { font-weight:700; color:var(--brand); }

/* Skład zespołu */
.calc-team { margin:12px 0; padding:6px 12px; border-radius:var(--r); background:var(--surface); border:1px solid var(--border-light); }
.calc-team li { display:flex; justify-content:space-between; gap:10px; padding:5px 0; font-size:.86rem; color:var(--text-body); }
.calc-team li + li { border-top:1px dashed var(--border); }
.calc-team b { color:var(--text); font-variant-numeric:tabular-nums; }
.calc-team-cost { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin:12px 0 14px; padding-top:12px; border-top:1px solid var(--border-light); font-size:.82rem; color:var(--text-muted); }
.calc-team-cost strong { font-size:1.25rem; font-weight:800; letter-spacing:-.02em; color:var(--text); }
.calc-btns { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.calc-btns .btn { justify-content:center; }
.calc-devil { width:100%; margin-top:8px; justify-content:center; color:var(--red); border-color:#F1C4C4; background:#FFF7F7; }
.calc-devil:hover { color:#fff; background:var(--red); border-color:var(--red); }

/* Pakiety AI (karty-radia) */
.calc-pkgs { display:grid; gap:8px; }
.calc-pkg { position:relative; display:grid; grid-template-columns:auto 1fr auto; align-items:start; gap:4px 12px; padding:12px 14px; border-radius:var(--r); border:1.5px solid var(--border); background:var(--white); cursor:pointer; transition:border-color .2s, background .2s; }
.calc-pkg:hover { border-color:var(--brand-border); }
.calc-pkg input { margin-top:4px; accent-color:#6B4FB3; width:16px; height:16px; }
.calc-pkg:has(input:checked) { border-color:var(--brand); background:var(--brand-light); }
.calc-pkg-name { font-size:.92rem; font-weight:800; color:var(--text); }
.calc-pkg-price { display:block; font-size:.8rem; font-weight:600; color:var(--brand); }
.calc-pkg-tools { grid-column:2 / -1; font-size:.76rem; line-height:1.45; color:var(--text-body); }
.calc-pkg-mult { padding:2px 8px; border-radius:var(--r-full); font-size:.72rem; font-weight:800; color:var(--brand); background:var(--brand-light); border:1px solid var(--brand-border); white-space:nowrap; }
.calc-pkg:has(input:checked) .calc-pkg-mult { color:#fff; background:var(--brand); border-color:var(--brand); }
.calc-link { display:inline-flex; align-items:center; gap:6px; padding:0; border:0; background:none; font:inherit; font-size:.82rem; font-weight:700; color:var(--brand); cursor:pointer; }
.calc-link:hover { text-decoration:underline; }

/* Scenariusze + wpływ AI na role */
.calc-scen { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:16px; }
.calc-scen button { display:flex; flex-direction:column; align-items:flex-start; gap:2px; min-height:56px; padding:10px 12px; border-radius:var(--r); border:1.5px solid var(--border); background:var(--white); font:inherit; text-align:left; cursor:pointer; transition:all .2s; }
.calc-scen button:hover { border-color:var(--brand-border); background:var(--brand-light); }
.calc-scen button[aria-pressed="true"] { border-color:var(--brand); background:var(--brand-light); }
.calc-scen b { font-size:.88rem; color:var(--text); }
.calc-scen small { font-size:.74rem; color:var(--text-body); }
@media (max-width:420px) { .calc-scen { grid-template-columns:1fr; } }
.calc-impacts { display:grid; gap:10px 22px; }
@media (min-width:560px) { .calc-impacts { grid-template-columns:1fr 1fr; } }
.calc-impact label { display:flex; justify-content:space-between; gap:10px; margin-bottom:2px; font-size:.82rem; font-weight:600; color:var(--text-body); }
.calc-impact output { font-weight:800; color:var(--brand); font-variant-numeric:tabular-nums; }
.calc-impacts-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px; }
.calc-impacts-head .calc-label { margin:0; }

/* ── Wyniki ── */
.calc-results { margin-top:40px; }
.calc-results > h2 { margin-bottom:6px; font-size:clamp(1.4rem,3vw,1.8rem); font-weight:800; letter-spacing:-.03em; color:var(--text); }
.calc-results > p { margin-bottom:20px; font-size:.95rem; color:var(--text-muted); }
.calc-kpis { display:grid; gap:14px; margin-bottom:14px; }
@media (min-width:640px) { .calc-kpis { grid-template-columns:repeat(2,1fr); } }
@media (min-width:1100px) { .calc-kpis { grid-template-columns:repeat(4,1fr); } }
.calc-kpi { position:relative; overflow:hidden; padding:20px 22px; border-radius:var(--r-lg); background:var(--navy); color:#fff; }
.calc-kpi::before { content:none; }
.calc-kpi span { position:relative; display:block; font-size:10.5px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--brand-on-dark); }
.calc-kpi strong { position:relative; display:block; margin:6px 0 4px; font-size:clamp(1.6rem,3vw,2.1rem); font-weight:800; letter-spacing:-.035em; line-height:1.1; }
.calc-kpi small { position:relative; display:block; font-size:.8rem; color:rgba(255,255,255,.68); line-height:1.45; }
.calc-sum { display:grid; gap:10px; margin-bottom:22px; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); }
.calc-tile { padding:14px 16px; border-radius:var(--r); border:1px solid var(--border); background:var(--white); }
.calc-tile span { display:block; font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.calc-tile strong { display:block; margin:4px 0 2px; font-size:1.12rem; font-weight:800; letter-spacing:-.02em; color:var(--text); }
.calc-tile small { display:block; font-size:.76rem; line-height:1.45; color:var(--text-muted); }
.calc-tile i.sw { display:inline-block; width:10px; height:10px; margin-right:6px; border-radius:3px; vertical-align:0; }

/* Wykresy */
.calc-charts { display:grid; gap:16px; }
@media (min-width:1000px) { .calc-charts { grid-template-columns:1.25fr 1fr; } .calc-chart.full { grid-column:1/-1; } }
.calc-chart { min-width:0; padding:22px 22px 18px; border-radius:var(--r-lg); border:1px solid var(--border); background:var(--white); box-shadow:var(--sh); }
.calc-chart h3 { font-size:1rem; font-weight:800; letter-spacing:-.01em; color:var(--text); }
.calc-chart > p { margin:4px 0 16px; font-size:.82rem; line-height:1.5; color:var(--text-muted); }
.calc-note { margin-top:14px; padding-top:12px; border-top:1px solid var(--border-light); font-size:.78rem; line-height:1.55; color:var(--text-muted); }
.calc-note b { color:var(--text-body); }

.hbars { display:grid; gap:14px; }
.hbar { display:grid; grid-template-columns:64px minmax(0,1fr); align-items:center; gap:12px; }
.hbar-l { font-size:.82rem; font-weight:700; color:var(--text); }
.hbar-track { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:10px; min-width:0; }
.hbar-area { min-width:0; }
.stack { display:flex; gap:2px; height:26px; min-width:2px; }
.stack i { display:block; height:100%; min-width:2px; }
.stack i:first-child { border-radius:0; }
.stack i:last-child { border-radius:0 5px 5px 0; }
.hbar-v { flex:none; font-size:.86rem; font-weight:800; color:var(--text); font-variant-numeric:tabular-nums; white-space:nowrap; }
.calc-legend { display:grid; gap:6px 18px; margin-top:16px; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); }
.calc-legend li { display:flex; align-items:center; gap:8px; font-size:.8rem; color:var(--text-body); }
.calc-legend li i { width:11px; height:11px; flex:none; border-radius:3px; }
.calc-legend li b { margin-left:auto; color:var(--text); font-variant-numeric:tabular-nums; }

.adopt { position:relative; }
.adopt svg { display:block; width:100%; height:auto; overflow:visible; font-family:inherit; }
.adopt .grid { stroke:var(--border); stroke-width:1; }
.adopt .tick { font-size:12px; fill:var(--text-muted); }
.adopt .line { fill:none; stroke-width:2; stroke-linejoin:round; stroke-linecap:round; }
.adopt .dot { stroke:#fff; stroke-width:2; }
.adopt .hit { fill:transparent; cursor:crosshair; }
.adopt .cross { stroke:var(--text-xmuted); stroke-width:1; }
.adopt-tip { position:absolute; z-index:2; min-width:150px; padding:8px 10px; border-radius:10px; background:var(--navy); color:#fff; font-size:.78rem; line-height:1.5; box-shadow:var(--sh-lg); pointer-events:none; transform:translate(-50%,-110%); white-space:nowrap; }
.adopt-tip[hidden] { display:none; }
.adopt-tip b { display:block; margin-bottom:2px; }
.adopt-tip i { display:inline-block; width:9px; height:9px; margin-right:6px; border-radius:2px; }
.calc-legend.inline { display:flex; flex-wrap:wrap; gap:6px 18px; margin:0 0 10px; }
.calc-data { margin-top:12px; }
.calc-data summary { cursor:pointer; font-size:.8rem; font-weight:700; color:var(--brand); }
.calc-data { overflow-x:auto; }
.calc-data table { width:100%; margin-top:8px; border-collapse:collapse; font-size:.8rem; font-variant-numeric:tabular-nums; }
.calc-data th, .calc-data td { padding:6px 8px; border-bottom:1px solid var(--border-light); text-align:right; }
.calc-data th:first-child, .calc-data td:first-child { text-align:left; }
.calc-data thead th { font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; color:var(--text-muted); }

/* ── Okna dialogowe ── */
.calc-dlg { position:fixed; width:min(760px, calc(100vw - 32px)); max-height:min(86vh, 900px); margin:auto; padding:0; border:0; border-radius:var(--r-xl); overflow:hidden; color:var(--text); background:var(--white); box-shadow:var(--sh-xl); }
.calc-dlg.wide { width:min(920px, calc(100vw - 32px)); }
.calc-dlg[open] { display:flex; flex-direction:column; }
.calc-dlg::backdrop { background:rgba(9,17,64,.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.calc-dlg-head { position:relative; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 26px 16px; border-bottom:1px solid var(--border-light); }
.calc-dlg-head::before { content:''; position:absolute; left:0; right:0; top:0; height:3px; background:var(--brand-gradient); }
.calc-dlg.danger .calc-dlg-head::before { background:var(--red); }
.calc-dlg-head h2 { font-size:1.25rem; font-weight:800; letter-spacing:-.02em; line-height:1.3; }
.calc-dlg-head p { margin-top:4px; font-size:.84rem; color:var(--text-muted); }
.calc-x { width:40px; height:40px; flex:none; border-radius:50%; border:1px solid var(--border); background:var(--white); color:var(--text-body); cursor:pointer; font-size:1rem; transition:all .2s; }
.calc-x:hover { border-color:var(--brand-border); color:var(--brand); background:var(--brand-light); }
.calc-dlg-body { padding:18px 26px; overflow-y:auto; overscroll-behavior:contain; }
.calc-dlg-foot { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:10px; padding:14px 26px 20px; border-top:1px solid var(--border-light); }
@media (max-width:640px) { .calc-dlg-head { padding:20px 18px 14px; } .calc-dlg-body { padding:14px 18px; } .calc-dlg-foot { padding:12px 18px 16px; } }

.calc-rows { display:grid; gap:8px; }
.calc-rowi { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:8px 14px; padding:12px 14px; border-radius:var(--r); border:1px solid var(--border); background:var(--surface); }
.calc-rowi b { display:block; font-size:.9rem; color:var(--text); }
.calc-rowi small { display:block; margin-top:2px; font-size:.76rem; line-height:1.45; color:var(--text-body); }
.calc-rowi input[type=number] { width:110px; text-align:right; }
.calc-rowi .fte { width:88px; }
.calc-rowi .val { text-align:right; font-size:.9rem; font-weight:800; color:var(--text); font-variant-numeric:tabular-nums; }
.calc-rowi .val small { font-weight:500; }
.calc-callout { margin-bottom:14px; padding:12px 14px; border-radius:var(--r); font-size:.86rem; line-height:1.6; color:var(--text-body); background:var(--brand-light); border:1px solid var(--brand-border); }
.calc-callout.warn { background:#FFF7F7; border-color:#F1C4C4; }
.calc-callout b { color:var(--text); }
.calc-total { display:flex; justify-content:space-between; gap:10px; font-size:1rem; font-weight:800; }
.calc-total span:last-child { color:var(--brand); }

.devil-sum { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-bottom:14px; }
.devil-sum div { padding:14px 10px; border-radius:var(--r); text-align:center; border:1px solid var(--border); background:var(--surface); }
.devil-sum strong { display:block; font-size:1.5rem; font-weight:800; letter-spacing:-.03em; color:var(--text); }
.devil-sum span { font-size:.74rem; color:var(--text-body); }
.devil-role { padding:10px 14px; border-radius:var(--r); border:1px solid var(--border); }
.devil-role + .devil-role { margin-top:8px; }
.devil-role-top { display:flex; justify-content:space-between; gap:12px; font-size:.86rem; }
.devil-role-top b { color:var(--text); }
.devil-role-top small { display:block; font-size:.74rem; color:var(--text-muted); }
.devil-role-top .val { text-align:right; white-space:nowrap; font-weight:800; font-variant-numeric:tabular-nums; }
.devil-bar { height:6px; margin-top:8px; border-radius:6px; background:var(--surface-2); overflow:hidden; }
.devil-bar i { display:block; height:100%; border-radius:6px; background:var(--red); }
.calc-dlg h3 { margin:20px 0 10px; font-size:.78rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:var(--brand); }
.fin { width:100%; border-collapse:collapse; font-size:.86rem; }
.fin td { padding:7px 0; border-bottom:1px solid var(--border-light); color:var(--text-body); }
.fin td:last-child { text-align:right; font-weight:700; color:var(--text); font-variant-numeric:tabular-nums; white-space:nowrap; padding-left:12px; }
.fin tr.sum td { border-top:2px solid var(--border); border-bottom:0; font-weight:800; color:var(--text); }
.calc-ul { list-style:disc; padding-left:20px; font-size:.84rem; line-height:1.65; color:var(--text-body); }

/* Komunikat po zapisie/odczycie */
.calc-toast { position:fixed; right:20px; bottom:20px; z-index:2000; max-width:min(380px, calc(100vw - 40px)); padding:12px 16px; border-radius:var(--r); background:var(--navy); color:#fff; font-size:.88rem; font-weight:600; box-shadow:var(--sh-xl); }
.calc-toast.error { background:var(--red); }
.calc-toast[hidden] { display:none; }

/* Informacja o prywatności obliczeń */
.calc-about { margin-top:48px; }

/* Nagłówek karty z przyciskiem obok (przycisk poza <h2>) */
.calc-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:16px; }
.calc-card-head h2 { margin:0; }

/* Ograniczony ruch */
@media (prefers-reduced-motion:reduce) {
    .calc input, .calc select, .calc-switch-ui, .calc-switch-ui::after, .calc-pkg, .calc-scen button, .calc-x, .calc-guide summary::after { transition:none; }
}

/* Wydruk / zapis do PDF: konfiguracja i wyniki bez nawigacji, ciemny tekst na białym tle */
@media print {
    .header, .calc-toolbar, .calc-guide, .art-cta, .footer, .calc-btns, .calc-devil, .calc-link, .calc-dlg, .calc-toast, .calc-data summary, #cc-banner { display:none !important; }
    .calc-sec, .art-hero { padding:0 !important; background:none !important; }
    .art-hero::before, .art-hero::after { display:none; }
    .art-hero .hero-h1, .art-hero .hero-h1 .accent-dark, .art-hero .c-sub, .art-hero .hero-lead { color:#000 !important; -webkit-text-fill-color:#000; background:none; }
    .art-hero .hero-pill { display:none; }
    .calc-kpi { background:#fff !important; color:#000; border:1px solid #999; box-shadow:none; }
    .calc-kpi::before { display:none; }
    .calc-kpi span, .calc-kpi small { color:#333; }
    .calc-card, .calc-chart, .calc-tile, .calc-results { break-inside:avoid; box-shadow:none; }
    .stack i, .calc-legend i, .calc-tile i.sw, .calc-switch-ui { -webkit-print-color-adjust:exact; print-color-adjust:exact; }
}

/* Cele dotykowe co najmniej 44 px (pola, listy, suwaki, odnośniki) */
.calc input:not([type=range]):not([type=checkbox]):not([type=radio]), .calc select { min-height:44px; }
.calc input[type=range] { height:32px; }
.calc summary { display:flex; align-items:center; min-height:44px; }
.calc .calc-link { display:inline-flex; align-items:center; min-height:44px; }
/* Pasek kursu: etykieta w jednym wierszu, pole na szerokość kilku cyfr */
.calc-rate { display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; white-space:nowrap; }
.calc-rate input { width:96px !important; flex:none; }
.calc-rate small { white-space:normal; flex:1 1 180px; }

/* Wyniki: jeden główny (oszczędności netto), pozostałe jasne (audyt graficzny A19-A20) */
.calc-kpi { background:#fff; color:var(--text); border:1px solid var(--border); }
.calc-kpi span { font-size:.78rem; color:var(--text-muted); letter-spacing:.08em; }
.calc-kpi strong { color:var(--text); font-variant-numeric:tabular-nums; }
.calc-kpi small { color:var(--text-muted); font-size:.84rem; }
.calc-kpi.is-main { background:var(--navy); border-color:var(--navy); color:#fff; }
.calc-kpi.is-main span { color:var(--brand-on-dark); }
.calc-kpi.is-main strong { color:#fff; }
.calc-kpi.is-main small { color:rgba(255,255,255,.7); }
#kpi-roi { color:var(--brand); }
/* Wariant mniejszego zespołu: spokojne działanie drugorzędne */
.calc-devil { color:var(--brand); border-color:var(--border); background:#fff; }
.calc-devil:hover { color:var(--brand); background:var(--brand-light); border-color:var(--brand); }
/* Tło sekcji narzędzia */
.calc .art-sec, .calc-sec { background:#EEF2F6; }
