.pcalc-v4-full { --pcalc-accent: #f59e0b; }

.pcalcx { max-width: 1100px; margin: 0 auto; padding: 24px 16px; font-family: inherit; }
.pcalcx__grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: 24px; align-items: start; }
@media (max-width: 920px){ .pcalcx__grid{ grid-template-columns: 1fr; } }

.pcalcx__turnoverTop { display:flex; align-items: baseline; gap: 10px; }
.pcalcx__turnoverValue { font-size: 38px; font-weight: 800; letter-spacing: -0.02em; }
.pcalcx__currency { color: var(--pcalc-accent); font-weight: 900; margin-right: 2px; }
.pcalcx__range { width: 100%; margin: 12px 0 6px; }
.pcalcx__rangeLabels { display:flex; justify-content: space-between; color:#9aa3af; font-size: 12px; }
.pcalcx__title { margin: 16px 0 10px; font-size: 14px; color:#111827; font-weight: 800; }

.pcalcx__services { display:flex; flex-direction: column; gap: 10px; }
.pcalcx__service { display:flex; justify-content: space-between; gap: 12px; padding: 14px; border:1px solid #e5e7eb; border-radius: 14px; background:#fff; }
.pcalcx__service--active { border-color:#111827; box-shadow: 0 8px 18px rgba(0,0,0,0.06); }
.pcalcx__serviceLeft { display:flex; flex-direction: column; gap: 6px; }
.pcalcx__serviceLabel { font-weight: 800; color:#111827; font-size: 13px; }
.pcalcx__servicePrice { font-weight: 800; color:#111827; font-size: 14px; }

.pcalcx__toggleWrap { display:flex; align-items:center; }
.pcalcx__toggleInput { position:absolute; opacity:0; pointer-events:none; }
.pcalcx__toggle { width: 46px; height: 26px; border-radius: 999px; background: #e5e7eb; position: relative; cursor:pointer; transition: .2s; }
.pcalcx__toggle::after { content:""; width: 20px; height: 20px; border-radius: 999px; background:#fff; position:absolute; top:3px; left:3px; transition:.2s; box-shadow: 0 4px 10px rgba(0,0,0,0.12); }
.pcalcx__toggleInput:checked + .pcalcx__toggle { background: linear-gradient(90deg,#111827,var(--pcalc-accent)); }
.pcalcx__toggleInput:checked + .pcalcx__toggle::after { transform: translateX(20px); }

.pcalcx__right { border:2px solid rgba(0,0,0,0.05); border-radius: 18px; padding: 18px; background: #fff; position: sticky; top: 18px; }
@media (max-width: 920px){ .pcalcx__right{ position: static; } }

.pcalcx__badge { display:inline-block; padding: 8px 12px; border-radius: 999px; background: #111827; color:#fff; font-weight: 800; font-size: 12px; }
.pcalcx__perMonth { text-align:center; margin: 14px 0 10px; font-size: 44px; font-weight: 900; color:#111827; }
.pcalcx__perMonthLabel { font-size: 12px; font-weight: 700; color:#6b7280; margin-top: -4px; }

.pcalcx__summaryCard { background:#f9fafb; border-radius: 16px; padding: 14px; border:1px solid #e5e7eb; }
.pcalcx__line { display:flex; justify-content: space-between; padding: 8px 0; color:#111827; font-weight: 700; font-size: 13px; }
.pcalcx__line--total { border-top:1px solid #e5e7eb; margin-top: 6px; padding-top: 12px; font-weight: 900; }
.pcalcx__line--grand { font-weight: 900; color:#10b981; }

.pcalcx__deposit { display:flex; gap: 10px; align-items:flex-start; padding: 12px; border-radius: 14px; background:#ecfdf5; border:1px solid #bbf7d0; margin: 12px 0; }
.pcalcx__depositIcon { width: 22px; height:22px; border-radius: 999px; display:flex; align-items:center; justify-content:center; background:#10b981; color:#fff; font-weight: 900; font-size: 12px; }
.pcalcx__depositLabel { font-weight: 800; color:#065f46; }
.pcalcx__depositHint { color:#047857; font-size: 12px; margin-top: 2px; }

.pcalcx__field { margin: 12px 0 10px; text-align: left; }
.pcalcx__field label { display:block; font-size:12px; font-weight:800; color:#374151; margin-bottom:6px; }
.pcalcx__field input { width:100%; padding:10px 12px; border-radius:12px; border:1px solid #cbd5e1; outline:none; box-sizing:border-box; }

.pcalcx__actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
.pcalcx__btnPrimary { flex:1 1 100%; padding: 12px 14px; border-radius: 14px; border:0; cursor:pointer; background: linear-gradient(90deg,#111827,var(--pcalc-accent)); color:#fff; font-weight: 900; }
.pcalcx__btnSecondary { flex:1 1 100%; padding: 10px 12px; border-radius: 12px; border:1px solid #cbd5e1; background:#fff; font-weight: 800; cursor:pointer; }

.pcalcx__toast { margin-top:10px; padding:10px 12px; border-radius:12px; font-weight:800; font-size:12px; }
.pcalcx__toast--ok { background:#ecfdf5; border:1px solid #bbf7d0; color:#065f46; }
.pcalcx__toast--err { background:#fef2f2; border:1px solid #fecaca; color:#991b1b; }
