.bsm-implementation{--calculator-purple:#6a00d5;--calculator-ink:var(--bsm-ink,#241a38);--calculator-muted:#665b75;--calculator-line:#ded6e8;background:#f5f1fc;scroll-margin-top:7rem;color:var(--calculator-ink)}
.bsm-implementation h2{max-width:24ch;font-size:clamp(1.65rem,3.5vw,2.8rem);line-height:1.3;margin-block:0 1rem}
.bsm-implementation-intro{max-width:65ch;line-height:1.7}.bsm-implementation-rate{display:inline-block;margin-block:1rem 1.5rem;padding:.7rem 1rem;border-inline-start:4px solid var(--calculator-purple);background:white;font-weight:700}
.bsm-implementation *{box-sizing:border-box}.bsm-implementation [hidden]{display:none!important}
.bsm-implementation-stepper{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin-block:0 1rem;padding:0;list-style:none}
.bsm-implementation-stepper button{position:relative;display:flex;align-items:center;gap:.6rem;width:100%;min-height:52px;border:1px solid var(--calculator-line);border-radius:9px;background:white;padding:.75rem .8rem;color:var(--calculator-muted);font:inherit;font-size:.85rem;text-align:start;cursor:pointer}
.bsm-implementation-stepper [aria-current=step]{background:var(--calculator-purple);color:white;border-color:var(--calculator-purple)}
.bsm-implementation-stepper [data-step-number]{display:inline-flex;flex:none;align-items:center;justify-content:center;min-width:1.65rem;height:1.65rem;border-radius:50%;background:#f0e9fa;color:var(--calculator-purple);font-size:.8rem}
.bsm-implementation-stepper [aria-current=step] [data-step-number]{background:white}.bsm-implementation-progress{font-size:.85rem;color:var(--calculator-muted);margin-block:.5rem 1.5rem}
.bsm-implementation-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(19rem,1fr);gap:2rem;align-items:start}.bsm-implementation-work{min-width:0}
.bsm-implementation-step{background:white;border:1px solid var(--calculator-line);border-radius:14px;padding:1.5rem;min-width:0}.bsm-implementation-step h3{margin-block:0 1rem;font-size:1.25rem;line-height:1.4}.bsm-implementation-step p{line-height:1.7}
.bsm-implementation-company-fields,.bsm-implementation-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.bsm-implementation-full{grid-column:1/-1}
.bsm-implementation label{display:block;font-size:.9rem;line-height:1.5}.bsm-implementation input,.bsm-implementation select,.bsm-implementation textarea{font:inherit;font-family:inherit;max-width:100%;color:inherit}
.bsm-implementation input:not([type=checkbox]),.bsm-implementation select,.bsm-implementation textarea{display:block;width:100%;min-height:48px;margin-block:.5rem;padding:.7rem .85rem;border:1px solid #cfc6df;border-radius:8px;background:white}
.bsm-implementation textarea{resize:vertical;min-height:7rem}.bsm-implementation input[type=checkbox]{accent-color:var(--calculator-purple)}
.bsm-implementation-help{font-size:.8rem;line-height:1.65;color:var(--calculator-muted);margin-block:.75rem 1.2rem}.bsm-implementation-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--calculator-line)}
.bsm-implementation-controls button,.bsm-implementation-recommendation button{font:inherit;min-height:44px;border-radius:8px;border:1px solid var(--calculator-line);padding:.7rem 1rem;cursor:pointer;color:var(--calculator-ink);background:white;line-height:1.5}
.bsm-implementation-controls [data-primary]{color:white;background:var(--calculator-purple);border-color:var(--calculator-purple)}.bsm-implementation-controls .btn{min-height:48px;height:auto!important;white-space:normal!important;line-height:1.5;padding:.8rem 1.2rem!important}
.bsm-implementation-license-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.bsm-implementation-license-note{border-inline-start:3px solid var(--calculator-purple);padding-inline-start:1rem}
.bsm-implementation-group{border:1px solid var(--calculator-line);background:white;margin-block:.75rem;border-radius:12px;overflow:hidden}
.bsm-implementation-group summary{display:flex;gap:1rem;justify-content:space-between;align-items:center;padding:1rem;min-height:52px;font-weight:700;cursor:pointer}
.bsm-implementation-group summary:before{content:'+';font-size:1.3rem;color:var(--calculator-purple)}.bsm-implementation-group[open] summary:before{content:'−'}.bsm-implementation-group summary>span:first-of-type{flex:1}
.bsm-implementation-count{border-radius:1rem;background:#f0e9fa;padding:.2rem .6rem;font-size:.75rem;color:#655477;white-space:nowrap}
.bsm-implementation-item{padding:1.15rem;border-top:1px solid #e9e3ef}
.bsm-implementation-choice{display:flex!important;gap:.7rem;align-items:start;font-weight:600;cursor:pointer;min-height:44px}
.bsm-implementation-choice input{flex:none;width:20px;height:20px;margin-top:.15rem}.bsm-implementation-item-title{line-height:1.55}.bsm-implementation-description{font-size:.8rem;line-height:1.7;color:var(--calculator-muted);margin:.3rem 0 1rem}
.bsm-implementation-source{display:inline-block;font-size:.72rem;border:1px solid var(--calculator-line);border-radius:5px;padding:.15rem .45rem;color:var(--calculator-muted);margin-block:.25rem .75rem}
.bsm-implementation-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;align-items:end}.bsm-implementation-fields input,.bsm-implementation-fields select{min-height:44px;padding:.5rem;margin-block:.4rem 0}
.bsm-implementation-fields output{grid-column:1/-1;font-size:.95rem;min-height:30px;display:flex;align-items:center;justify-content:flex-end;font-weight:700;color:var(--calculator-purple);overflow-wrap:anywhere}
.bsm-implementation input:disabled,.bsm-implementation select:disabled{background:#f8f6fa;color:#877c97}.bsm-implementation-chosen{background:#faf7ff;border-inline-start:3px solid var(--calculator-purple)}
.bsm-implementation [aria-invalid=true]{border-color:#b82937}.bsm-implementation :focus-visible{outline:3px solid #9568df;outline-offset:3px}
.bsm-implementation-extras{padding:1.5rem;background:white;border:1px solid var(--calculator-line);border-radius:12px;margin-top:1.5rem}.bsm-implementation-extras h3{font-size:1.15rem;margin-top:0}
.bsm-implementation-recommendations{padding:1rem;background:#faf7ff;border:1px solid var(--calculator-line);border-radius:10px;margin-block:1rem}.bsm-implementation-recommendations h4{margin-block:0 .5rem;font-size:1rem}
.bsm-implementation-recommendation{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding-block:.75rem;border-top:1px solid var(--calculator-line)}.bsm-implementation-recommendation p{font-size:.8rem;color:var(--calculator-muted);margin-block:.25rem 0}.bsm-implementation-recommendation button{font-size:.8rem}
.bsm-implementation-summary{position:sticky;top:7rem;background:#fff;border:1px solid var(--calculator-line);border-radius:16px;padding:1.5rem;min-width:0;box-shadow:0 12px 40px #2b10450a}
.bsm-implementation-summary h3{font-size:1.15rem;margin-top:0}.bsm-implementation-summary #bsm-implementation-error{font-size:.8rem;line-height:1.6;color:var(--calculator-muted)}
.bsm-implementation-total{display:flex;gap:1rem;justify-content:space-between;align-items:baseline;padding-block:.85rem;border-bottom:1px solid #eee7f5;font-size:.85rem}
.bsm-implementation-total output{font-weight:700;white-space:normal;text-align:end;overflow-wrap:anywhere}.bsm-implementation-grand{flex-wrap:wrap;border-bottom:2px solid var(--calculator-purple);margin-top:1rem;color:var(--calculator-purple)}.bsm-implementation-grand output{font-size:1.8rem}
.bsm-implementation-selected{margin:0}#bsm-implementation-selected{padding-inline-start:1.2rem;font-size:.75rem;line-height:1.7;max-height:16rem;overflow:auto}
.bsm-implementation-actions{display:grid;gap:.65rem;margin-top:1.5rem}.bsm-implementation-actions .btn{white-space:normal!important;text-align:center;min-height:48px;line-height:1.5;padding:1rem!important;height:auto!important}
.bsm-implementation-actions button{font:inherit;font-size:.85rem;min-height:44px;background:transparent;border:1px solid var(--calculator-line);border-radius:8px;color:#49385f;padding:.7rem;cursor:pointer}
.bsm-implementation [aria-disabled=true],.bsm-implementation button:disabled{opacity:.55;cursor:not-allowed}.bsm-implementation-detail-table{width:100%;border-collapse:collapse;font-size:.75rem;line-height:1.55;margin-block:1rem}
.bsm-implementation-detail-table th,.bsm-implementation-detail-table td{padding:.7rem .45rem;text-align:start;border-bottom:1px solid var(--calculator-line);vertical-align:top;overflow-wrap:anywhere}.bsm-implementation-detail-table th{font-weight:700;background:#faf7ff}.bsm-implementation-detail-table small{display:block;color:var(--calculator-muted)}
.bsm-implementation-warnings{font-size:.8rem;line-height:1.7;padding-inline-start:1.2rem;margin-block:1rem}.bsm-implementation-warnings li+li{margin-top:.45rem}.bsm-implementation-status{font-size:.85rem;line-height:1.7;overflow-wrap:anywhere}
.bsm-implementation-consent{display:flex!important;align-items:flex-start;gap:.7rem;min-height:44px}.bsm-implementation-consent input{flex:none;width:20px;height:20px;margin-top:.2rem}.bsm-implementation-honeypot{position:absolute;inset-inline-start:-10000px;width:1px;height:1px;overflow:hidden}
.bsm-implementation-field-error{display:block;color:#a32032;font-size:.8rem;line-height:1.5}.bsm-implementation-footnote{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid var(--calculator-line);max-width:80ch}.bsm-implementation-footnote h3{font-size:1rem}.bsm-implementation-footnote p{font-size:.85rem;line-height:1.8;color:var(--calculator-muted)}
.bsm-implementation-print-sheet{display:none}
@media(max-width:1100px){.bsm-implementation-layout{grid-template-columns:minmax(0,1.4fr) minmax(17rem,1fr);gap:1rem}.bsm-implementation-step{padding:1.2rem}.bsm-implementation-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.bsm-implementation-layout{grid-template-columns:minmax(0,1fr)}.bsm-implementation-summary{position:static}.bsm-implementation-summary #bsm-implementation-selected{max-height:none}.bsm-implementation-stepper{grid-template-columns:repeat(3,minmax(0,1fr))}.bsm-implementation-stepper button{font-size:.8rem}.bsm-implementation-stepper li:nth-child(4),.bsm-implementation-stepper li:nth-child(5){grid-column:auto}}
@media(max-width:600px){.bsm-implementation-detail-table thead{display:none}.bsm-implementation-detail-table tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));padding-block:.5rem;border-bottom:1px solid var(--calculator-line)}.bsm-implementation-detail-table td{display:block;border:0;padding:.35rem}.bsm-implementation-detail-table td:first-child{grid-column:1/-1}.bsm-implementation-detail-table td:before{content:attr(data-label);display:block;font-size:.68rem;color:var(--calculator-muted);margin-bottom:.15rem}.bsm-implementation-recommendation{grid-template-columns:minmax(0,1fr)}.bsm-implementation-recommendation button{justify-self:start}}
@media(max-width:480px){.bsm-implementation-stepper{grid-template-columns:repeat(2,minmax(0,1fr))}.bsm-implementation-stepper li:last-child{grid-column:1/-1}.bsm-implementation-stepper button{min-height:48px}.bsm-implementation-company-fields,.bsm-implementation-form-fields,.bsm-implementation-license-filters{grid-template-columns:minmax(0,1fr)}.bsm-implementation-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.bsm-implementation-fields output{grid-column:1/-1;min-height:25px}.bsm-implementation-summary,.bsm-implementation-extras,.bsm-implementation-step{padding:1rem}.bsm-implementation-total{gap:.5rem;flex-wrap:wrap}.bsm-implementation-item{padding:1rem}.bsm-implementation-controls button{flex:1;min-width:0}.bsm-implementation-controls{gap:.5rem}}
@media(prefers-reduced-motion:reduce){.bsm-implementation,.bsm-implementation *{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
@media print{body:has(>.bsm-implementation-print-sheet)>:not(.bsm-implementation-print-sheet){display:none!important}.bsm-implementation-print-sheet{display:block;color:#241a38;font-family:inherit;padding:1rem}.bsm-implementation-print-sheet h1{font-size:20pt}.bsm-implementation-print-sheet p{white-space:pre-wrap;line-height:1.65;font-size:11pt}.bsm-implementation-summary{position:static}}
.bsm-implementation-stepper>button{font:inherit;font-size:.85rem}.bsm-implementation-stepper>button:last-child{grid-column:auto}.bsm-implementation-progress,.bsm-implementation-panel{scroll-margin-top:7.5rem}
.bsm-implementation-item>output{display:block;text-align:end;margin-top:.6rem;color:var(--calculator-purple);font-weight:700;font-size:.95rem;overflow-wrap:anywhere}
.bsm-implementation-license-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}.bsm-implementation-license-card{border:1px solid var(--calculator-line);border-radius:9px;padding:1rem;background:#faf7ff;min-width:0}.bsm-implementation-license-card h4{font-size:1rem;margin-block:0 .5rem}.bsm-implementation-license-card p{font-size:.8rem;line-height:1.6;margin-block:.35rem}
.bsm-implementation-license-card button,.bsm-implementation-step>button,.bsm-implementation form button{font:inherit;font-size:.85rem;min-height:44px;background:var(--calculator-purple);border:1px solid var(--calculator-purple);color:white;border-radius:8px;padding:.7rem 1rem;cursor:pointer;line-height:1.5}
.bsm-implementation-license-card[data-selected=true]{border-color:var(--calculator-purple);box-shadow:inset 0 0 0 1px var(--calculator-purple)}
.bsm-implementation-needs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;margin-block:1rem 1.5rem}.bsm-implementation-needs label{border:1px solid var(--calculator-line);border-radius:8px;padding:.75rem;background:#faf7ff}.bsm-implementation-needs label:has(:checked){border-color:var(--calculator-purple);background:#f1e8ff}
.bsm-implementation-scope-detail{margin-top:.7rem;font-size:.8rem;line-height:1.7}.bsm-implementation-scope-detail summary{display:block!important;min-height:44px;padding:.5rem 0!important;font-weight:600;cursor:pointer}.bsm-implementation-scope-detail summary:before{content:none!important}.bsm-implementation-scope-detail p{margin-block:.4rem}.bsm-implementation-fields input[readonly]{background:#f0ecf6;color:var(--calculator-ink)}
#bsm-implementation-result-scope,#bsm-implementation-result-phases{padding:1rem;background:#faf7ff;border-radius:8px;margin-block:1rem;font-size:.85rem;overflow-wrap:anywhere}#bsm-implementation-result-scope p,#bsm-implementation-result-phases p{margin-block:.35rem}#bsm-implementation-quote-status{font-weight:600;color:var(--calculator-purple)}
@media(max-width:600px){.bsm-implementation-needs{grid-template-columns:minmax(0,1fr)}}
@media(max-width:480px){.bsm-implementation-stepper>button:last-child{grid-column:1/-1}.bsm-implementation-license-cards{grid-template-columns:minmax(0,1fr)}}
