.builder-page { background:#f6f9fd;color:var(--brand-dark) }
.builder-page [hidden] { display:none!important }
.builder-intro { background:linear-gradient(115deg,#edf6ff 0%,#fff 62%,#f1f8ff 100%);border-bottom:1px solid var(--line);padding:1.45rem 0 2rem }
.builder-breadcrumb { display:flex;align-items:center;gap:.55rem;color:var(--muted);font-size:.78rem;margin-bottom:1.8rem }
.builder-breadcrumb a { color:var(--muted);text-decoration:none }
.builder-breadcrumb a:hover { color:var(--brand-primary);text-decoration:underline }
.builder-intro-row { display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem }
.builder-intro h1 { max-width:740px;font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.12;margin:.45rem 0 1rem }
.builder-intro-row p:not(.section-kicker) { max-width:690px;color:#566b81;line-height:1.65;margin:0 }
.builder-mobile-copy,.builder-progress-compact { display:none }
.builder-preview-label { display:inline-flex;align-items:center;flex:none;border:1px solid #b9d8f2;background:#fff;border-radius:50px;color:#30608b;font-size:.76rem;font-weight:700;padding:.5rem .8rem }
.builder-steps { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:2rem 0 0;padding:0;list-style:none }
.builder-steps li { min-width:0;display:grid;grid-template-columns:2.1rem minmax(0,1fr);align-items:center;column-gap:.62rem;min-height:4.1rem;padding:.7rem .82rem;border:1px solid #dce8f3;border-radius:11px;background:#fff;color:#78889b }
.builder-steps li span { display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;background:#eff3f8;font-size:.72rem;font-weight:800 }
.builder-steps li strong { font-size:.82rem;line-height:1.24;overflow-wrap:anywhere }
.builder-steps li small { grid-column:2;font-size:.69rem;color:#8393a3 }
.builder-steps li.is-current { border-color:#8fc5f2;background:#f3faff;color:var(--brand-dark);box-shadow:0 7px 22px #1876c710 }
.builder-steps li.is-current span { background:var(--brand-primary);color:#fff }
.builder-steps li.is-current small { color:#285d89 }
.builder-steps li.is-complete { border-color:#b7d9c8;background:#f3faf6;color:#245b3d }
.builder-steps li.is-complete span { background:#24774d;color:#fff }
.builder-steps li.is-complete small { color:#245b3d }
.builder-workspace { padding:2.45rem 0 4.5rem }
.builder-layout { display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,340px);gap:1.5rem;align-items:start }
.builder-main { min-width:0 }
.builder-section-heading { display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.35rem }
.builder-section-heading h2 { font-size:1.7rem;font-weight:800;margin:.3rem 0 .4rem }
.builder-section-heading p:last-child { font-size:.9rem;color:#62758a;margin:0 }
.builder-section-count { flex:none;color:#69839c;font-size:.76rem;font-weight:700 }
.builder-category-nav { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem }
.builder-category-choice { position:relative;display:grid;grid-template-columns:2rem minmax(0,1fr);align-items:center;gap:.5rem;min-width:0;min-height:4.3rem;padding:.55rem .65rem;border:1px solid #d4e2ef;border-radius:10px;background:#fff;color:var(--brand-dark);text-align:left;box-shadow:0 4px 13px #10233d06 }
.builder-category-choice:hover { border-color:#83bff0;background:#f7fbff }
.builder-category-choice.is-active { border:2px solid var(--brand-primary);background:#f1f8ff;box-shadow:0 8px 18px #0874d117 }
.builder-category-choice.is-selected { padding-bottom:.95rem }
.builder-choice-icon { display:grid;place-items:center;width:2rem;height:2rem;border-radius:8px;background:#e9f5ff;color:var(--brand-primary) }
.builder-choice-icon svg { width:1.55rem;height:1.55rem }
.builder-choice-name { min-width:0;font-size:.76rem;font-weight:800;line-height:1.25;overflow-wrap:anywhere }
.builder-choice-selected { position:absolute;right:.55rem;bottom:.2rem;display:inline-flex;align-items:center;gap:.2rem;color:#206842;font-size:.7rem;font-weight:800 }
.builder-cards { margin-top:1rem }
.builder-card { min-width:0;border:1px solid #dbe6f1;background:#fff;border-radius:14px;padding:1.15rem;box-shadow:0 8px 25px #10233d08 }
.builder-card.is-selected { border-color:#8bc8f6;box-shadow:0 10px 28px #0874d113 }
.builder-card-top { display:flex;align-items:flex-start;gap:.8rem }
.builder-card-icon { flex:none;display:grid;place-items:center;width:2.8rem;height:2.8rem;color:var(--brand-primary);background:#edf7ff;border-radius:10px }
.builder-card-icon svg { width:2rem;height:2rem }
.builder-card-heading { min-width:0;flex:1 }
.builder-card-heading h3 { margin:.1rem 0 .35rem;font-size:.99rem;line-height:1.3;font-weight:800 }
.builder-card-heading p { margin:0;color:#66798d;font-size:.77rem;line-height:1.46 }
.builder-selected-badge { flex:none;padding:.22rem .43rem;border-radius:20px;background:#e3f5e9;color:#206842;font-size:.65rem;font-weight:800 }
.builder-lines { display:grid;gap:.75rem;margin-top:.9rem }
.builder-line { border-top:1px solid #e7edf5;padding-top:.85rem;min-width:0 }
.builder-line:not(:first-child) { border:1px solid #e0ebf5;border-radius:9px;padding:.75rem;background:#f9fcff }
.builder-line-heading { display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem }
.builder-line-heading strong { font-size:.78rem }
.builder-remove-line { border:0;background:transparent;color:#a53b3b;font-weight:700;text-decoration:underline;font-size:.72rem;padding:.25rem;min-height:44px }
.builder-line-main { min-width:0 }
.builder-field-label { display:block;font-size:.76rem;font-weight:700;margin-bottom:.35rem }
.builder-quantity-control { display:flex;align-items:stretch;width:max-content;max-width:100%;border:1px solid #c8d8e8;border-radius:9px;overflow:hidden;background:#fff }
.builder-quantity-control:focus-within { outline:2px solid #4f9bdd;outline-offset:2px }
.builder-quantity-control button { width:2.75rem;min-height:2.75rem;border:0;background:#f1f7fc;color:#075caa;font-size:1.27rem;font-weight:700;line-height:1 }
.builder-quantity-control button:hover { background:#e2f0fc }
.builder-quantity-control input { width:4.5rem;min-width:0;border:0;border-left:1px solid #dce7f2;border-right:1px solid #dce7f2;text-align:center;font-weight:800;color:var(--brand-dark);font-variant-numeric:tabular-nums }
.builder-quantity-control input:focus { outline:0 }
.builder-quantity-control input[aria-invalid="true"] { color:#a52f36;background:#fff3f3 }
.builder-quantity-error { min-height:1.2rem;color:#a42e36;font-size:.7rem;line-height:1.2;margin:.25rem 0 0 }
.builder-options summary { color:#1165a9;font-size:.76rem;font-weight:700;cursor:pointer;list-style:none;width:max-content;max-width:100%;min-height:2.75rem;display:flex;align-items:center;gap:.35rem }
.builder-options summary::-webkit-details-marker { display:none }
.builder-options[open] summary span { transform:rotate(180deg) }
.builder-options-grid { display:grid;gap:.7rem;padding:.55rem 0 .2rem }
.builder-options-grid .form-control,.builder-options-grid .form-select { min-width:0;font-size:.8rem;border-color:#cbdbe9 }
.builder-options-grid textarea { resize:vertical }
.builder-note-helper { display:block;margin-top:.3rem;color:#708397;font-size:.72rem;line-height:1.35 }
.builder-options-error { color:#a42e36;font-size:.72rem;line-height:1.3;margin:0 }
.builder-add-line { display:inline-flex;align-items:center;gap:.3rem;margin-top:.85rem;padding:.45rem 0;border:0;background:transparent;color:#1165a9;font-size:.76rem;font-weight:800;text-align:left;min-height:2.75rem }
.builder-add-line:hover,.builder-remove-line:hover,.builder-clear:hover { text-decoration:underline }
.builder-add-line:disabled { color:#7b8c9e;cursor:not-allowed }
.builder-summary { position:sticky;top:1.5rem;min-width:0;padding:1.25rem;border:1px solid #d8e6f3;border-radius:15px;background:#fff;box-shadow:0 16px 40px #10233d0d }
.builder-summary-header { display:flex;align-items:center;gap:.7rem }
.builder-summary-mark { display:grid;place-items:center;width:2.7rem;height:2.7rem;flex:none;border-radius:10px;background:#e7f4ff;color:var(--brand-primary);font-size:1.2rem }
.builder-summary-header .section-kicker { margin:0 0 .15rem;font-size:.61rem }
.builder-summary h2 { margin:0;font-size:1.17rem;font-weight:800 }
.builder-summary-caption { color:#6c7e90;font-size:.77rem;line-height:1.5;margin:1rem 0 }
.builder-summary-empty { border:1px dashed #c7d9e9;border-radius:9px;background:#f8fbfe;padding:1.1rem;color:#64788d;font-size:.82rem;line-height:1.55;margin:1rem 0 }
.builder-summary-list { display:grid;gap:.6rem;list-style:none;padding:0;margin:0 0 1.1rem;max-height:45vh;overflow:auto }
.builder-summary-list li { min-width:0;border-bottom:1px solid #e8eff5 }
.builder-summary-link { display:flex;align-items:flex-start;justify-content:space-between;gap:.65rem;width:100%;min-height:2.75rem;padding:.55rem .2rem;border:0;background:#fff;color:var(--brand-dark);text-align:left;border-radius:5px }
.builder-summary-link:hover { background:#f1f8ff }
.builder-summary-list strong { display:block;font-size:.8rem;overflow-wrap:anywhere }
.builder-summary-list small { display:block;color:#687e91;font-size:.73rem;line-height:1.4;overflow-wrap:anywhere;margin-top:.2rem }
.builder-summary-quantity { flex:none;color:#075fa9;font-size:.86rem;font-weight:800;white-space:nowrap }
.builder-summary-stats { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;border-top:1px solid #e7eff6;padding:1rem 0 }
.builder-summary-stats div { display:flex;flex-direction:column;gap:.15rem }
.builder-summary-stats .builder-summary-total { grid-column:1/-1;flex-direction:row;align-items:baseline;gap:.55rem;border-top:1px solid #e7eff6;padding-top:.7rem }
.builder-summary-stats strong { font-size:1.35rem;color:var(--brand-primary);line-height:1 }
.builder-summary-stats span { font-size:.72rem;color:#698096 }
.builder-summary-actions { display:flex;flex-direction:column;align-items:stretch;gap:.65rem }
.builder-summary-actions .btn { width:100%;min-height:2.85rem }
.builder-summary-actions .btn:disabled { opacity:.55 }
.builder-clear { align-self:center;min-height:2.75rem;border:0;background:transparent;color:#9b3b3b;font-size:.78rem;font-weight:700 }
.builder-clear-confirm { border:1px solid #efc6c6;border-radius:9px;padding:.8rem;margin-top:.65rem;background:#fff9f9 }
.builder-clear-confirm p { font-size:.79rem;margin:0 0 .6rem }
.builder-clear-confirm div { display:flex;gap:.45rem;flex-wrap:wrap }
.builder-feedback { font-size:.78rem;font-weight:700;color:#216a46;margin:.6rem 0 0 }
.builder-feedback:empty { margin:0 }
.builder-draft-status { border:1px solid #cfe1f1;border-radius:8px;background:#f2f9ff;padding:.6rem .8rem;color:#42647f;font-size:.77rem;line-height:1.45;margin:0 0 .8rem }
.builder-page button:focus-visible,.builder-page summary:focus-visible,.builder-page a:focus-visible,.builder-page input:focus-visible,.builder-page select:focus-visible,.builder-page textarea:focus-visible { outline:3px solid #0874d1;outline-offset:2px }
.builder-page [data-builder-step] h2[tabindex="-1"]:focus { outline:3px solid #0874d1;outline-offset:4px;border-radius:3px }
.builder-page [data-step-error]:not(:empty) { color:#a42e36 }
.builder-page .builder-form-panel .btn { min-height:44px }
.builder-page .builder-form-panel .form-check { min-height:44px }
@media(max-width:1199.98px) { .builder-category-nav { grid-template-columns:repeat(2,minmax(0,1fr)) } }
@media(max-width:991.98px) { .builder-layout { grid-template-columns:minmax(0,1fr) } .builder-summary { position:static } .builder-summary-list { max-height:none;overflow:visible } }
@media(max-width:767.98px) { .builder-intro { padding:.9rem 0 1rem } .builder-breadcrumb,.builder-intro-row .section-kicker,.builder-preview-label,.builder-desktop-copy,.builder-steps { display:none } .builder-intro-row { display:block } .builder-mobile-copy,.builder-progress-compact { display:block } .builder-intro h1 { font-size:1.78rem;margin:0 0 .4rem } .builder-intro-row p:not(.section-kicker) { font-size:.88rem;line-height:1.5 } .builder-progress-compact { margin:.85rem 0 0;padding:.48rem .7rem;border-radius:6px;background:#e3f2ff;color:#12619f;font-size:.77rem;font-weight:800;width:max-content;max-width:100% } .builder-workspace { padding:1rem 0 2.5rem } .builder-section-heading { margin-bottom:.75rem } .builder-section-heading .section-kicker,.builder-section-heading p:last-child,.builder-section-count { display:none } .builder-section-heading h2 { font-size:1.18rem;margin:0 } .builder-category-choice { min-height:4.5rem } }
@media(max-width:575.98px) { .builder-category-nav { gap:.5rem } .builder-category-choice { padding:.48rem .5rem;grid-template-columns:1.7rem minmax(0,1fr);gap:.4rem;min-height:4.5rem } .builder-category-choice.is-selected { padding-bottom:.95rem } .builder-choice-icon { width:1.7rem;height:1.7rem } .builder-choice-icon svg { width:1.35rem;height:1.35rem } .builder-choice-name { font-size:.73rem } .builder-card,.builder-summary { padding:1rem } }
[data-builder-step][hidden] { display: none !important; }
.builder-form-panel { max-width: 960px; padding-top: 1.5rem; padding-bottom: 3rem; }
.builder-form-panel h2 { margin-bottom: .75rem; }
