/* Calculator Studio V22.6 — isolated to the calculator service. */
.sa-service-calculator {
    --calc-ink: #eaf0ff;
    --calc-muted: #99a8bf;
    --calc-panel: #0c1424;
    --calc-panel-2: #111d31;
    --calc-line: rgba(255,255,255,.09);
    --calc-violet: #8b5cf6;
    --calc-violet-2: #6d28d9;
    --calc-cyan: #22d3ee;
    --calc-green: #34d399;
    --calc-red: #fb7185;
    --calc-gold: #fbbf24;
}

.sa-service-calculator .sa-tool-card__header,
.sa-service-calculator .sa-tool-aftercare { display:none!important; }
.sa-service-calculator .sa-tool-card { padding:0!important; overflow:visible; border:0; background:transparent; box-shadow:none; }
.sa-service-calculator .sa-tool-content { min-width:0; padding:0!important; }

.sa-calc-studio,
.sa-calc-studio * { box-sizing:border-box; }
.sa-calc-studio { width:100%; min-width:0; display:grid; gap:18px; color:#172033; }

.sa-calc-hero {
    position:relative;
    isolation:isolate;
    min-width:0;
    padding:clamp(20px,4vw,36px);
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:22px;
    overflow:hidden;
    border:1px solid #dfe4ff;
    border-radius:24px;
    color:#fff;
    background:
        radial-gradient(circle at 8% 10%,rgba(34,211,238,.25),transparent 28%),
        radial-gradient(circle at 88% 75%,rgba(139,92,246,.4),transparent 32%),
        linear-gradient(135deg,#091426,#18234a 55%,#312e81);
    box-shadow:0 20px 50px rgba(30,41,90,.18);
}
.sa-calc-hero::after { content:""; position:absolute; z-index:-1; inset:auto -50px -100px auto; width:250px; aspect-ratio:1; border:42px solid rgba(255,255,255,.04); border-radius:50%; }
.sa-calc-hero__identity { min-width:0; display:flex; align-items:center; gap:17px; }
.sa-calc-hero__identity>span { width:64px; aspect-ratio:1; flex:0 0 auto; display:grid; place-items:center; border:1px solid rgba(255,255,255,.22); border-radius:20px; background:rgba(255,255,255,.1); color:#a5f3fc; font-size:27px; backdrop-filter:blur(10px); }
.sa-calc-hero small { display:block; color:#a5f3fc; font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.sa-calc-hero h2 { margin:4px 0 3px; color:#fff; font-size:clamp(23px,3.2vw,37px); line-height:1.3; }
.sa-calc-hero p { margin:0; color:#cbd5e1; font-size:13px; }
.sa-calc-mode { flex:0 0 auto; padding:5px; display:flex; gap:5px; border:1px solid rgba(255,255,255,.13); border-radius:14px; background:rgba(3,8,23,.42); }
.sa-calc-mode button { min-height:43px!important; padding:0 15px!important; display:flex; align-items:center; justify-content:center; gap:7px; border:0!important; border-radius:10px!important; background:transparent!important; color:#cbd5e1!important; font-size:12px!important; font-weight:800; cursor:pointer; }
.sa-calc-mode button.is-active { background:linear-gradient(135deg,#8b5cf6,#6d28d9)!important; color:#fff!important; box-shadow:0 8px 18px rgba(109,40,217,.35); }

.sa-calc-workspace { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) minmax(250px,330px); gap:18px; align-items:start; }
.sa-calc-machine,
.sa-calc-history { min-width:0; overflow:hidden; border:1px solid #1f2c43; border-radius:24px; background:linear-gradient(160deg,var(--calc-panel),#080e19); box-shadow:0 22px 55px rgba(8,15,30,.22); }
.sa-calc-machine { padding:clamp(13px,2.5vw,22px); }

.sa-calc-display { position:relative; min-height:150px; padding:18px 20px; overflow:hidden; border:1px solid rgba(148,163,184,.17); border-radius:19px; direction:ltr; text-align:left; background:linear-gradient(145deg,#030712,#0a1020); box-shadow:inset 0 1px 18px rgba(0,0,0,.35); }
.sa-calc-display::after { content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(110deg,transparent 55%,rgba(34,211,238,.035)); }
.sa-calc-display__meta { position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; gap:12px; direction:rtl; color:var(--calc-muted); font-size:10px; }
.sa-calc-display__meta span { display:inline-flex; align-items:center; gap:5px; }
.sa-calc-display__meta .is-set { color:var(--calc-green); }
.sa-calc-expression { position:relative; z-index:1; min-height:25px; margin-top:13px; overflow:auto; color:#8fa0ba; font:600 14px/1.6 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:nowrap; }
.sa-calc-display output { position:relative; z-index:1; display:block; max-width:100%; margin-top:3px; overflow:auto; color:#f8fafc; font:800 clamp(35px,6vw,62px)/1.15 ui-monospace,SFMono-Regular,Consolas,monospace; letter-spacing:-.05em; white-space:nowrap; }
.sa-calc-display p { position:relative; z-index:1; margin:8px 0 0; direction:rtl; color:#64748b; font-size:10px; text-align:right; }
.sa-calc-display p.is-error { color:#fda4af; }
.sa-calc-display p.is-success { color:#6ee7b7; }

.sa-calc-toolbar { margin:11px 0; display:flex; align-items:center; justify-content:space-between; gap:10px; }
.sa-calc-memory,.sa-calc-angle { display:flex; gap:6px; }
.sa-calc-toolbar button { min-height:36px!important; min-width:44px; padding:0 9px!important; border:1px solid var(--calc-line)!important; border-radius:10px!important; background:#141f32!important; color:#aebbd0!important; font-size:11px!important; font-weight:800; cursor:pointer; }
.sa-calc-angle { display:none; }
.sa-calc-studio[data-mode="advanced"] .sa-calc-angle { display:flex; }
.sa-calc-angle button.is-active { border-color:rgba(34,211,238,.5)!important; background:rgba(34,211,238,.12)!important; color:#67e8f9!important; }

.sa-calc-scientific { display:none; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; margin-bottom:8px; animation:saCalcReveal .22s ease; }
.sa-calc-studio[data-mode="advanced"] .sa-calc-scientific { display:grid; }
@keyframes saCalcReveal { from{opacity:0;transform:translateY(-6px)} to{opacity:1;transform:none} }
.sa-calc-scientific button { min-width:0; min-height:44px!important; padding:6px!important; border:1px solid rgba(34,211,238,.11)!important; border-radius:11px!important; background:#102238!important; color:#9ae6f4!important; font:700 13px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace!important; cursor:pointer; }
.sa-calc-scientific button:hover { border-color:rgba(34,211,238,.36)!important; background:#15304d!important; }

.sa-calc-keypad { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.sa-calc-keypad button { min-width:0; min-height:59px!important; padding:8px!important; border:1px solid var(--calc-line)!important; border-radius:15px!important; background:linear-gradient(145deg,#19263a,#121c2c)!important; color:#eef2ff!important; font:700 clamp(17px,2vw,21px)/1 ui-monospace,SFMono-Regular,Consolas,monospace!important; cursor:pointer; box-shadow:0 5px 10px rgba(0,0,0,.12); transition:transform .12s ease,border-color .12s ease,background .12s ease; }
.sa-calc-keypad button:hover { border-color:rgba(255,255,255,.19)!important; background:#22324a!important; transform:translateY(-1px); }
.sa-calc-keypad button:active { transform:translateY(1px); }
.sa-calc-keypad .is-operator { border-color:rgba(139,92,246,.25)!important; background:linear-gradient(145deg,#31245d,#241c48)!important; color:#ddd6fe!important; font-size:25px!important; }
.sa-calc-keypad .is-equal { border-color:transparent!important; background:linear-gradient(145deg,#8b5cf6,#6d28d9)!important; color:#fff!important; box-shadow:0 9px 23px rgba(109,40,217,.35); }
.sa-calc-keypad .is-danger { background:#321724!important; color:#fda4af!important; }

.sa-calc-actions { margin-top:9px; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.sa-calc-actions button { min-width:0; min-height:42px!important; padding:6px!important; display:flex; align-items:center; justify-content:center; gap:5px; border:1px solid var(--calc-line)!important; border-radius:11px!important; background:#101a2a!important; color:#aebbd0!important; font-size:11px!important; font-weight:700; cursor:pointer; }
.sa-calc-actions button:last-child { color:#67e8f9!important; }

.sa-calc-history { position:sticky; top:88px; color:var(--calc-ink); }
.sa-calc-history>header { padding:18px; display:flex; align-items:center; gap:11px; border-bottom:1px solid var(--calc-line); }
.sa-calc-history>header>span { width:43px; aspect-ratio:1; display:grid; place-items:center; flex:0 0 auto; border-radius:13px; background:rgba(139,92,246,.14); color:#c4b5fd; }
.sa-calc-history header small { display:block; color:var(--calc-muted); font-size:10px; }
.sa-calc-history h3 { margin:1px 0 0; color:#fff; font-size:18px; }
.sa-calc-history [data-calc-history] { min-height:245px; max-height:520px; padding:11px; display:grid; align-content:start; gap:7px; overflow:auto; }
.sa-calc-history-item { width:100%; min-height:62px!important; padding:10px 12px!important; display:block; border:1px solid var(--calc-line)!important; border-radius:12px!important; background:#111c2c!important; color:#fff!important; cursor:pointer; text-align:left; direction:ltr; }
.sa-calc-history-item:hover { border-color:rgba(139,92,246,.35)!important; background:#162238!important; }
.sa-calc-history-item small,.sa-calc-history-item strong { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.sa-calc-history-item small { color:#7f90a9; font-size:10px; }
.sa-calc-history-item strong { margin-top:3px; color:#dbeafe; font-size:17px; }
.sa-calc-empty { margin:auto!important; padding:32px 10px; color:#718198; font-size:12px; text-align:center; }
.sa-calc-clear-history { width:calc(100% - 22px); min-height:41px!important; margin:0 11px 11px; border:1px solid rgba(251,113,133,.17)!important; border-radius:11px!important; background:rgba(251,113,133,.08)!important; color:#fda4af!important; font-size:11px!important; cursor:pointer; }

.sa-calc-lab { display:none; overflow:hidden; border:1px solid #dce4f3; border-radius:24px; background:#f8fafc; box-shadow:0 16px 42px rgba(15,23,42,.08); animation:saCalcReveal .25s ease; }
.sa-calc-studio[data-mode="advanced"] .sa-calc-lab { display:block; }
.sa-calc-lab__head { padding:21px 23px; display:flex; align-items:center; justify-content:space-between; gap:20px; border-bottom:1px solid #e2e8f0; background:linear-gradient(135deg,#fff,#f4f7ff); }
.sa-calc-lab__head>div { display:flex; align-items:center; gap:12px; }
.sa-calc-lab__head>div>span { width:48px; aspect-ratio:1; display:grid; place-items:center; border-radius:15px; background:linear-gradient(145deg,#ede9fe,#cffafe); color:#6d28d9; font-size:19px; }
.sa-calc-lab__head small { display:block; color:#7c3aed; font-size:10px; font-weight:800; }
.sa-calc-lab__head h2 { margin:1px 0 0; color:#172033; font-size:clamp(19px,2.5vw,26px); }
.sa-calc-lab__head p { max-width:320px; margin:0; color:#64748b; font-size:11px; }
.sa-calc-lab__grid { padding:16px; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.sa-calc-model { min-width:0; padding:17px; border:1px solid #e2e8f0; border-radius:18px; background:#fff; box-shadow:0 8px 24px rgba(15,23,42,.04); }
.sa-calc-model>header { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.sa-calc-model>header>span { width:42px; aspect-ratio:1; display:grid; place-items:center; flex:0 0 auto; border-radius:13px; background:#ecfdf5; color:#059669; }
.sa-calc-model.is-loan>header>span { background:#eff6ff; color:#2563eb; }
.sa-calc-model.is-stats>header>span { background:#f5f3ff; color:#7c3aed; }
.sa-calc-model header small { display:block; color:#94a3b8; font-size:9px; }
.sa-calc-model h3 { margin:1px 0 0; color:#172033; font-size:17px; }
.sa-calc-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.sa-calc-fields label,.sa-calc-values { min-width:0; display:grid; gap:5px; color:#64748b; font-size:10px; }
.sa-calc-fields input,.sa-calc-values textarea { width:100%; min-height:43px; padding:8px 10px; border:1px solid #dbe3ee!important; border-radius:10px!important; outline:0; background:#f8fafc!important; color:#172033!important; box-shadow:none!important; direction:ltr; text-align:left; font:600 13px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; }
.sa-calc-fields input:focus,.sa-calc-values textarea:focus { border-color:#8b5cf6!important; box-shadow:0 0 0 3px rgba(139,92,246,.1)!important; }
.sa-calc-model__result { margin-top:12px; padding:13px; border-radius:13px; background:#effcf6; }
.sa-calc-model.is-loan .sa-calc-model__result { background:#eff6ff; }
.sa-calc-model__result span,.sa-calc-model__result small { display:block; color:#64748b; font-size:10px; }
.sa-calc-model__result strong { display:block; margin:3px 0; color:#047857; font:800 25px/1.2 ui-monospace,SFMono-Regular,Consolas,monospace; direction:ltr; text-align:right; }
.sa-calc-model.is-loan .sa-calc-model__result strong { color:#1d4ed8; }
.sa-calc-values textarea { min-height:78px; resize:vertical; }
.sa-calc-stat-grid { margin-top:11px; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.sa-calc-stat-grid span { min-width:0; padding:9px; border-radius:10px; background:#f5f3ff; }
.sa-calc-stat-grid small,.sa-calc-stat-grid strong { display:block; }
.sa-calc-stat-grid small { color:#7c6f99; font-size:9px; }
.sa-calc-stat-grid strong { color:#5b21b6; font:800 16px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace; direction:ltr; text-align:right; }
.sa-calc-disclaimer { margin:0; padding:0 18px 17px; color:#64748b; font-size:10px; }
.sa-calc-disclaimer i { margin-inline-end:5px; color:#8b5cf6; }

[data-theme="dark"] .sa-calc-lab { border-color:#273449; background:#101826; }
[data-theme="dark"] .sa-calc-lab__head { border-color:#273449; background:#151f2f; }
[data-theme="dark"] .sa-calc-lab__head h2,[data-theme="dark"] .sa-calc-model h3 { color:#f8fafc; }
[data-theme="dark"] .sa-calc-model { border-color:#29364a; background:#151f2f; }
[data-theme="dark"] .sa-calc-fields input,[data-theme="dark"] .sa-calc-values textarea { border-color:#334155!important; background:#0f172a!important; color:#fff!important; }

@media (max-width:980px) {
    .sa-calc-lab__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sa-calc-model.is-stats { grid-column:1/-1; }
}
@media (max-width:760px) {
    .sa-calc-hero { align-items:flex-start; flex-direction:column; border-radius:19px; }
    .sa-calc-hero__identity { align-items:flex-start; }
    .sa-calc-hero__identity>span { width:52px; border-radius:16px; }
    .sa-calc-mode { width:100%; }
    .sa-calc-mode button { flex:1; }
    .sa-calc-workspace { grid-template-columns:1fr; }
    .sa-calc-history { position:static; }
    .sa-calc-history [data-calc-history] { min-height:0; max-height:270px; }
    .sa-calc-lab__head { align-items:flex-start; flex-direction:column; }
    .sa-calc-lab__grid { grid-template-columns:1fr; padding:11px; }
    .sa-calc-model.is-stats { grid-column:auto; }
}
@media (max-width:430px) {
    .sa-calc-machine { padding:10px; border-radius:18px; }
    .sa-calc-display { min-height:136px; padding:15px; }
    .sa-calc-display__meta { align-items:flex-start; flex-direction:column; gap:4px; }
    .sa-calc-display output { font-size:36px; }
    .sa-calc-toolbar { align-items:stretch; flex-direction:column; }
    .sa-calc-memory,.sa-calc-angle { width:100%; }
    .sa-calc-toolbar button { flex:1; min-width:0; }
    .sa-calc-keypad,.sa-calc-scientific { gap:6px; }
    .sa-calc-keypad button { min-height:53px!important; border-radius:12px!important; }
    .sa-calc-scientific button { min-height:41px!important; }
    .sa-calc-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sa-calc-fields { grid-template-columns:1fr; }
}

@media print {
    .sa-service-calculator .sa-modern-header,.sa-service-calculator .sa-commandbar,.sa-calc-mode,.sa-calc-keypad,.sa-calc-toolbar,.sa-calc-actions,.sa-calc-history { display:none!important; }
    .sa-calc-machine,.sa-calc-lab { box-shadow:none; }
}
