.spc-calculator {
    --spc-accent: #a868ff;
    --spc-accent-2: #6a29dc;
    --spc-bg: #0a0b0e;
    --spc-surface: #111217;
    --spc-surface-alt: #17131f;
    --spc-text: #fff;
    --spc-muted: #aaa6b3;
    --spc-border: #2b2d34;
    --spc-radius: 14px;
    --spc-max-width: 1180px;
    box-sizing: border-box;
    width: min(100%, var(--spc-max-width));
    margin: 0 auto;
    color: var(--spc-text) !important;
    font: inherit;
}
.spc-calculator *, .spc-calculator *::before, .spc-calculator *::after { box-sizing: border-box; }
.spc-calculator button, .spc-calculator input, .spc-calculator textarea { font: inherit; }
.spc-header { margin-bottom: 1.1rem; }
.spc-header h2 { margin: 0 0 .35rem !important; color: var(--spc-text) !important; font-size: clamp(1.7rem, 4vw, 2.35rem); line-height: 1.1; }
.spc-header p { margin: 0 !important; color: var(--spc-muted) !important; line-height: 1.55; }
.spc-eyebrow { display: block; margin-bottom: .65rem; color: var(--spc-accent) !important; font-size: .8rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.spc-presets { margin-bottom: 1.1rem; padding: 1rem; border: 1px solid var(--spc-border); border-radius: var(--spc-radius); background: var(--spc-surface); }
.spc-preset-list { display: flex; flex-wrap: wrap; gap: .65rem; }
.spc-preset { min-height: 48px; padding: .65rem .9rem !important; border: 1px solid var(--spc-border) !important; border-radius: calc(var(--spc-radius) - 4px) !important; background: var(--spc-bg) !important; color: var(--spc-text) !important; cursor: pointer; text-align: left; box-shadow: none !important; }
.spc-preset strong { display: block; color: inherit !important; font-size: .92rem; }
.spc-preset small { display: block; margin-top: .12rem; color: var(--spc-muted) !important; font-size: .76rem; }
.spc-preset:hover, .spc-preset.is-active { border-color: var(--spc-accent) !important; background: color-mix(in srgb, var(--spc-accent) 10%, var(--spc-bg)) !important; }
.spc-layout { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(280px, .72fr); gap: 1.15rem; align-items: start; }
.spc-options { min-width: 0; display: grid; gap: 1rem; }
.spc-section { min-width: 0; margin: 0 !important; padding: 1rem; border: 1px solid var(--spc-border) !important; border-radius: var(--spc-radius); background: var(--spc-surface); }
.spc-section legend, .spc-section-title { padding: 0 .25rem; color: var(--spc-accent) !important; font-size: .88rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.spc-section-title { display: block; padding: 0; margin-bottom: .75rem; }
.spc-choice-list, .spc-service-list { display: grid; gap: .65rem; }
.spc-choice { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .85rem; align-items: center; min-height: 74px; padding: .85rem 1rem; border: 1px solid var(--spc-border) !important; border-radius: calc(var(--spc-radius) - 3px); cursor: pointer; background: linear-gradient(90deg, color-mix(in srgb, var(--spc-text) 2%, transparent), transparent); transition: border-color .16s ease, background .16s ease, opacity .16s ease; }
.spc-choice:hover { border-color: color-mix(in srgb, var(--spc-accent) 45%, var(--spc-border)) !important; }
.spc-choice:has(input:checked) { border-color: var(--spc-accent) !important; background: linear-gradient(90deg, color-mix(in srgb, var(--spc-accent) 12%, transparent), transparent); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--spc-accent) 18%, transparent); }
.spc-choice input[type="radio"] { appearance: none; -webkit-appearance: none; width: 21px !important; height: 21px !important; min-width: 21px; margin: 0 !important; border: 2px solid color-mix(in srgb, var(--spc-muted) 70%, transparent) !important; border-radius: 50%; background: transparent !important; display: grid; place-items: center; }
.spc-choice input[type="radio"]::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--spc-accent); transform: scale(0); transition: transform .12s ease; }
.spc-choice input[type="radio"]:checked { border-color: var(--spc-accent) !important; }
.spc-choice input[type="radio"]:checked::before { transform: scale(1); }
.spc-choice-copy, .spc-service-info { display: flex; flex-direction: column; min-width: 0; }
.spc-choice-copy strong, .spc-service-info strong { color: var(--spc-text) !important; font-weight: 780; font-size: 1rem; }
.spc-choice-copy small, .spc-service-info small, .spc-category-description { color: var(--spc-muted) !important; margin-top: .17rem; line-height: 1.42; font-size: .83rem; }
.spc-choice-price, .spc-service-total, .spc-unit-price { color: var(--spc-accent) !important; font-weight: 800; white-space: nowrap; }
.spc-category-tabs { display: flex; gap: .45rem; overflow-x: auto; padding: .15rem 0 .75rem; scrollbar-width: thin; }
.spc-category-tab { flex: 0 0 auto; min-height: 42px; padding: .5rem .8rem !important; border: 1px solid var(--spc-border) !important; border-radius: 999px !important; background: var(--spc-bg) !important; color: var(--spc-muted) !important; cursor: pointer; box-shadow: none !important; }
.spc-category-tab.is-active { border-color: var(--spc-accent) !important; color: var(--spc-text) !important; background: color-mix(in srgb, var(--spc-accent) 12%, var(--spc-bg)) !important; }
.spc-category-panel[hidden] { display: none !important; }
.spc-category-panel + .spc-category-panel { margin-top: 1.15rem; padding-top: 1.15rem; border-top: 1px solid var(--spc-border); }
.spc-category-panel h3 { margin: 0 0 .25rem !important; color: var(--spc-text) !important; font-size: 1.08rem; }
.spc-category-description { margin: 0 0 .75rem !important; }
.spc-service { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(52px, auto); gap: .9rem; align-items: center; min-height: 76px; padding: .85rem 1rem; border: 1px solid var(--spc-border) !important; border-radius: calc(var(--spc-radius) - 3px); background: linear-gradient(90deg, color-mix(in srgb, var(--spc-text) 2%, transparent), transparent); transition: opacity .16s ease, border-color .16s ease; }
.spc-service.is-unavailable { opacity: .54; }
.spc-service.is-unavailable .spc-service-reason { display: block !important; color: color-mix(in srgb, var(--spc-accent) 70%, var(--spc-muted)) !important; }
.spc-service-control { display: flex; align-items: center; justify-content: flex-end; min-width: 0; }
.spc-service-total { min-width: 52px; text-align: right; font-size: .98rem; }
.spc-quantity-wrap { display: flex; align-items: center; gap: .75rem; }
.spc-stepper { display: grid; grid-template-columns: 44px 62px 44px; height: 44px; border: 1px solid var(--spc-border) !important; border-radius: calc(var(--spc-radius) - 5px); overflow: hidden; background: var(--spc-bg); }
.spc-stepper button { border: 0 !important; margin: 0 !important; padding: 0 !important; min-width: 44px; min-height: 44px; background: var(--spc-surface-alt) !important; color: var(--spc-accent) !important; cursor: pointer; font-size: 1.35rem !important; line-height: 1; font-weight: 700; border-radius: 0 !important; box-shadow: none !important; }
.spc-stepper button:hover:not(:disabled) { filter: brightness(1.15); }
.spc-stepper button:disabled { cursor: not-allowed; opacity: .5; }
.spc-stepper input { appearance: textfield; -moz-appearance: textfield; width: 62px !important; height: 44px !important; min-height: 44px !important; margin: 0 !important; padding: 0 .25rem !important; border: 0 !important; border-left: 1px solid var(--spc-border) !important; border-right: 1px solid var(--spc-border) !important; border-radius: 0 !important; background: var(--spc-bg) !important; color: var(--spc-text) !important; text-align: center; font: inherit !important; font-weight: 750 !important; box-shadow: none !important; }
.spc-stepper input::-webkit-inner-spin-button, .spc-stepper input::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.spc-money-input { display: grid; grid-template-columns: auto minmax(86px, 110px); align-items: center; height: 44px; border: 1px solid var(--spc-border) !important; border-radius: calc(var(--spc-radius) - 5px); overflow: hidden; background: var(--spc-bg); }
.spc-money-input > span { color: var(--spc-accent) !important; padding: 0 .65rem; font-weight: 800; }
.spc-money-input input { width: 100% !important; height: 44px !important; min-height: 44px !important; margin: 0 !important; border: 0 !important; border-left: 1px solid var(--spc-border) !important; border-radius: 0 !important; padding: .45rem .6rem !important; background: transparent !important; color: var(--spc-text) !important; font: inherit !important; box-shadow: none !important; }
.spc-checkbox-control { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; margin: 0; cursor: pointer; }
.spc-checkbox-control input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.spc-checkbox-visual { width: 22px; height: 22px; border: 2px solid color-mix(in srgb, var(--spc-muted) 70%, transparent); border-radius: 4px; background: var(--spc-bg); display: grid; place-items: center; }
.spc-checkbox-control input:checked + .spc-checkbox-visual { border-color: var(--spc-accent); background: var(--spc-accent-2); }
.spc-checkbox-control input:checked + .spc-checkbox-visual::after { content: "✓"; color: #fff; font-size: 14px; line-height: 1; font-weight: 900; }
.spc-notes { display: block; width: 100% !important; min-height: 116px; resize: vertical; border: 1px solid var(--spc-border) !important; border-radius: calc(var(--spc-radius) - 4px) !important; padding: .8rem .9rem !important; background: var(--spc-bg) !important; color: var(--spc-text) !important; box-shadow: none !important; }
.spc-notes::placeholder { color: color-mix(in srgb, var(--spc-muted) 78%, transparent); }
.spc-char-count { margin-top: .35rem; text-align: right; color: var(--spc-muted) !important; font-size: .75rem; }
.spc-summary { border: 1px solid color-mix(in srgb, var(--spc-accent) 55%, var(--spc-border)) !important; border-radius: calc(var(--spc-radius) + 2px); padding: 1.25rem; background: linear-gradient(180deg, color-mix(in srgb, var(--spc-accent) 4%, var(--spc-surface)), var(--spc-bg)); box-shadow: inset 0 0 28px color-mix(in srgb, var(--spc-accent) 3%, transparent); }
.spc-summary-is-sticky .spc-summary { position: sticky; top: 28px; }
.spc-summary-label { display: block; color: var(--spc-accent) !important; font-weight: 850; font-size: 1rem; }
.spc-total { display: block; color: var(--spc-text) !important; font-size: clamp(2.4rem, 5vw, 3.65rem); line-height: 1; margin: .4rem 0 .22rem; letter-spacing: -.035em; overflow-wrap: anywhere; }
.spc-currency-code { display: block; margin-bottom: 1rem; color: var(--spc-muted) !important; font-size: .78rem; font-weight: 700; letter-spacing: .08em; }
.spc-breakdown { border-top: 1px solid var(--spc-border); border-bottom: 1px solid var(--spc-border); padding: .72rem 0; margin-bottom: .8rem; min-height: 18px; }
.spc-breakdown-row { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .38rem 0; color: color-mix(in srgb, var(--spc-text) 92%, var(--spc-muted)) !important; font-size: .9rem; }
.spc-breakdown-row span:first-child { min-width: 0; overflow-wrap: anywhere; }
.spc-breakdown-row span:last-child { color: var(--spc-text) !important; font-weight: 750; white-space: nowrap; }
.spc-summary-total-row { display: flex; justify-content: space-between; gap: 1rem; color: var(--spc-accent) !important; font-size: 1.04rem; padding: .12rem 0 .9rem; }
.spc-summary-total-copy { color: var(--spc-accent) !important; }
.spc-summary-actions { display: grid; grid-template-columns: 1fr 1fr; gap: .55rem; }
.spc-action { min-height: 46px; padding: .62rem .72rem !important; border: 1px solid var(--spc-border) !important; border-radius: calc(var(--spc-radius) - 5px) !important; background: var(--spc-surface-alt) !important; color: var(--spc-text) !important; cursor: pointer; font: inherit !important; font-weight: 750 !important; box-shadow: none !important; }
.spc-action:hover { border-color: var(--spc-accent) !important; filter: brightness(1.08); }
.spc-action-primary { grid-column: 1 / -1; border: 0 !important; background: linear-gradient(90deg, var(--spc-accent-2), var(--spc-accent)) !important; color: #fff !important; }
.spc-reset { color: var(--spc-muted) !important; }
.spc-status { min-height: 1.35em; margin-top: .55rem; color: var(--spc-accent) !important; font-size: .78rem; font-weight: 700; text-align: center; }
.spc-status.is-error { color: #ff9a9a !important; }
.spc-disclaimer { display: grid; grid-template-columns: auto 1fr; gap: .7rem; align-items: start; border: 1px solid color-mix(in srgb, var(--spc-accent) 28%, var(--spc-border)); border-radius: calc(var(--spc-radius) - 4px); background: color-mix(in srgb, var(--spc-accent) 5%, transparent); padding: .8rem; margin-top: .7rem; }
.spc-disclaimer p { margin: 0 !important; color: var(--spc-muted) !important; font-size: .8rem; line-height: 1.55; }
.spc-info-icon { display: grid; place-items: center; width: 22px; height: 22px; border: 2px solid var(--spc-accent); border-radius: 50%; color: var(--spc-accent) !important; font-size: .75rem; font-weight: 900; font-style: normal; }
.spc-sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
.spc-calculator button:focus-visible, .spc-calculator input:focus-visible, .spc-calculator textarea:focus-visible, .spc-calculator label:has(input:focus-visible) { outline: 3px solid color-mix(in srgb, var(--spc-accent) 48%, transparent) !important; outline-offset: 2px; }
@supports not (color: color-mix(in srgb, white, black)) {
    .spc-choice:has(input:checked), .spc-preset.is-active { background: rgba(168,104,255,.08) !important; }
    .spc-summary { border-color: var(--spc-accent) !important; }
}
@media (max-width: 850px) {
    .spc-layout { grid-template-columns: 1fr; }
    .spc-summary-is-sticky .spc-summary { position: static; }
}
@media (max-width: 620px) {
    .spc-section { padding: .78rem; }
    .spc-choice { grid-template-columns: auto minmax(0, 1fr); }
    .spc-choice-price { grid-column: 2; justify-self: start; }
    .spc-service { grid-template-columns: minmax(0, 1fr) auto; }
    .spc-service-info { grid-column: 1 / -1; }
    .spc-service-control { justify-content: flex-start; }
    .spc-service-total { justify-self: end; }
    .spc-summary-actions { grid-template-columns: 1fr; }
    .spc-action-primary { grid-column: auto; }
}
@media (max-width: 430px) {
    .spc-quantity-wrap { align-items: flex-start; flex-direction: column; gap: .45rem; }
    .spc-money-input { width: 100%; grid-template-columns: auto 1fr; }
    .spc-service { gap: .65rem; padding: .8rem; }
    .spc-preset-list { display: grid; }
    .spc-preset { width: 100%; }
}
