:root {
    --bsl-source-ink: #14231b;
    --bsl-source-muted: #65736b;
    --bsl-source-line: #dfe8e2;
    --bsl-source-soft: #f4f8f5;
    --bsl-source-brand: #176b46;
    --bsl-source-brand-dark: #0d4f32;
    --bsl-source-accent: #e5a82f;
    --bsl-source-danger: #b83a3a;
    --bsl-source-radius: 20px;
    --bsl-source-shadow: 0 18px 48px rgba(26, 61, 42, .08);
}

.bsl-source-home,
.bsl-source-page,
.bsl-source-dashboard { width: min(1180px, calc(100% - 32px)); margin: 0 auto; color: var(--bsl-source-ink); }
.bsl-source-page,
.bsl-source-dashboard { padding: 50px 0 80px; }
.bsl-source-home { padding-bottom: 70px; }
.bsl-source-home *, .bsl-source-page *, .bsl-source-dashboard * { box-sizing: border-box; }

.bsl-source-kicker { display: inline-flex; align-items: center; gap: 8px; color: var(--bsl-source-brand); font-weight: 800; font-size: .88rem; }
.bsl-source-kicker::before { content: ""; width: 28px; height: 2px; background: var(--bsl-source-accent); border-radius: 10px; }

.bsl-source-hero { display: grid; grid-template-columns: 1.15fr .85fr; gap: 34px; align-items: center; padding: 72px 0 56px; }
.bsl-source-hero__content h1 { margin: 18px 0; font-size: clamp(2.3rem, 5vw, 4.6rem); line-height: 1.16; letter-spacing: -.035em; }
.bsl-source-hero__content > p { margin: 0; max-width: 760px; color: var(--bsl-source-muted); font-size: 1.08rem; line-height: 2; }
.bsl-source-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.bsl-source-trust { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.bsl-source-trust span { padding: 7px 12px; border: 1px solid var(--bsl-source-line); border-radius: 999px; color: var(--bsl-source-muted); font-size: .84rem; background: #fff; }
.bsl-source-hero__panel { position: relative; overflow: hidden; padding: 28px; border-radius: 30px; color: #fff; background: linear-gradient(145deg, var(--bsl-source-brand-dark), var(--bsl-source-brand)); box-shadow: 0 26px 80px rgba(13, 79, 50, .23); }
.bsl-source-hero__panel::after { content: ""; position: absolute; width: 230px; height: 230px; border-radius: 50%; left: -90px; bottom: -120px; background: rgba(255,255,255,.08); }
.bsl-source-hero__panel > strong { color: #d9f6e8; font-size: .88rem; }
.bsl-source-mission-preview { margin: 16px 0 24px; padding: 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 18px; background: rgba(255,255,255,.09); }
.bsl-source-mission-preview span { display: block; font-weight: 900; font-size: 1.25rem; }
.bsl-source-mission-preview small { display: block; margin-top: 6px; color: #d9e8df; }
.bsl-source-hero__panel ol { display: grid; gap: 16px; list-style: none; margin: 0; padding: 0; }
.bsl-source-hero__panel li { display: grid; grid-template-columns: 28px 1fr; gap: 4px 12px; }
.bsl-source-hero__panel li::before { content: counter(list-item); display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--bsl-source-accent); color: #1c261f; font-weight: 900; grid-row: 1 / 3; }
.bsl-source-hero__panel li span { color: #cfdfd5; font-size: .86rem; }

.bsl-btn { display: inline-flex; justify-content: center; align-items: center; min-height: 46px; padding: 0 20px; border: 1px solid transparent; border-radius: 13px; text-decoration: none !important; font: inherit; font-weight: 800; cursor: pointer; transition: .18s ease; }
.bsl-btn:hover { transform: translateY(-1px); }
.bsl-btn--primary { background: var(--bsl-source-brand); color: #fff !important; box-shadow: 0 10px 25px rgba(23,107,70,.18); }
.bsl-btn--primary:hover { background: var(--bsl-source-brand-dark); }
.bsl-btn--ghost { border-color: var(--bsl-source-line); background: #fff; color: var(--bsl-source-ink) !important; }
.bsl-btn--light { background: #fff; color: var(--bsl-source-brand-dark) !important; }
.bsl-btn--small { min-height: 38px; padding: 0 14px; font-size: .85rem; }
.bsl-btn--large { width: 100%; min-height: 56px; font-size: 1rem; }

.bsl-source-section { padding: 60px 0; }
.bsl-source-section--tinted { width: calc(100% + 64px); margin-right: -32px; padding: 60px 32px; border-radius: 34px; background: var(--bsl-source-soft); }
.bsl-source-section__head { max-width: 720px; margin-bottom: 26px; }
.bsl-source-section__head > span { color: var(--bsl-source-brand); font-weight: 800; }
.bsl-source-section__head h2 { margin: 8px 0 10px; font-size: clamp(1.8rem, 3.5vw, 3rem); line-height: 1.35; }
.bsl-source-section__head p { color: var(--bsl-source-muted); line-height: 1.9; }
.bsl-source-grid { display: grid; gap: 18px; }
.bsl-source-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bsl-source-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.bsl-source-card, .bsl-source-plan, .bsl-source-panel, .bsl-source-request-card { border: 1px solid var(--bsl-source-line); border-radius: var(--bsl-source-radius); background: #fff; box-shadow: 0 8px 28px rgba(26,61,42,.035); }
.bsl-source-card { padding: 25px; }
.bsl-source-card__icon { display: inline-flex; margin-bottom: 22px; padding: 8px 13px; border-radius: 12px; background: #eaf5ef; color: var(--bsl-source-brand); font-weight: 900; }
.bsl-source-card h2, .bsl-source-card h3 { margin: 0 0 10px; }
.bsl-source-card p { color: var(--bsl-source-muted); line-height: 1.85; }
.bsl-source-card a { display: block; margin-top: 16px; color: var(--bsl-source-brand); font-weight: 800; }
.bsl-source-card a + a { margin-top: 8px; }
.bsl-source-chip { display: inline-flex; padding: 7px 12px; border-radius: 999px; background: #f0f2f1; color: #69756e; font-size: .78rem; }
.bsl-source-plan { position: relative; padding: 26px 22px; }
.bsl-source-plan.is-recommended { border: 2px solid var(--bsl-source-brand); transform: translateY(-6px); box-shadow: var(--bsl-source-shadow); }
.bsl-source-plan__badge { position: absolute; top: -13px; right: 20px; padding: 6px 12px; border-radius: 999px; background: var(--bsl-source-accent); color: #213027; font-size: .75rem; font-weight: 900; }
.bsl-source-plan h2, .bsl-source-plan h3 { margin: 0 0 14px; }
.bsl-source-plan > strong { display: block; font-size: 1.42rem; color: var(--bsl-source-brand-dark); }
.bsl-source-plan p { min-height: 82px; color: var(--bsl-source-muted); line-height: 1.8; font-size: .9rem; }
.bsl-source-plan ul { min-height: 74px; padding-right: 20px; color: var(--bsl-source-muted); line-height: 1.9; font-size: .86rem; }
.bsl-source-plan .bsl-btn { width: 100%; }
.bsl-source-output { display: grid; grid-template-columns: repeat(4, 1fr); overflow: hidden; border: 1px solid var(--bsl-source-line); border-radius: 22px; background: #fff; }
.bsl-source-output div { padding: 26px; border-left: 1px solid var(--bsl-source-line); }
.bsl-source-output div:last-child { border-left: 0; }
.bsl-source-output b, .bsl-source-output span { display: block; }
.bsl-source-output span { margin-top: 7px; color: var(--bsl-source-muted); line-height: 1.7; font-size: .86rem; }
.bsl-source-final-cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 46px; padding: 34px; border-radius: 26px; color: #fff; background: var(--bsl-source-brand-dark); }
.bsl-source-final-cta span { color: #bfe4d0; font-weight: 800; }
.bsl-source-final-cta h2 { margin: 8px 0; }
.bsl-source-final-cta p { margin: 0; color: #d1e2d8; }

.bsl-source-page__intro { max-width: 800px; margin-bottom: 34px; }
.bsl-source-page__intro h1 { margin: 10px 0 12px; font-size: clamp(2rem, 4vw, 3.4rem); line-height: 1.25; }
.bsl-source-page__intro p { margin: 0; color: var(--bsl-source-muted); font-size: 1.02rem; line-height: 1.9; }
.bsl-source-toolbar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 24px; }

.bsl-source-dashboard__header, .bsl-source-detail__header { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; margin-bottom: 24px; }
.bsl-source-dashboard__header h1, .bsl-source-detail__header h1 { margin: 8px 0 6px; font-size: clamp(2rem, 4vw, 3rem); }
.bsl-source-dashboard__header p, .bsl-source-detail__header p { margin: 0; color: var(--bsl-source-muted); }
.bsl-source-next-action { display: flex; justify-content: space-between; align-items: center; gap: 26px; margin-bottom: 24px; padding: 25px 28px; border-radius: 22px; color: #fff; background: linear-gradient(135deg, var(--bsl-source-brand), var(--bsl-source-brand-dark)); box-shadow: 0 14px 40px rgba(23,107,70,.15); }
.bsl-source-next-action span { color: #bfe4d0; font-size: .82rem; font-weight: 800; }
.bsl-source-next-action h2 { margin: 5px 0; font-size: 1.35rem; }
.bsl-source-next-action p { margin: 0; color: #dcebe2; }
.bsl-source-next-action form { margin: 0; }
.bsl-source-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; margin-bottom: 24px; }
.bsl-source-stats > div { padding: 20px; border: 1px solid var(--bsl-source-line); border-radius: 17px; background: #fff; }
.bsl-source-stats strong, .bsl-source-stats span { display: block; }
.bsl-source-stats strong { font-size: 1.65rem; color: var(--bsl-source-brand-dark); }
.bsl-source-stats span { margin-top: 4px; color: var(--bsl-source-muted); font-size: .84rem; }
.bsl-source-dashboard-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 18px; align-items: start; }
.bsl-source-panel { padding: 23px; }
.bsl-source-panel--wide { grid-row: span 2; }
.bsl-source-panel__head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; }
.bsl-source-panel__head h2 { margin: 0 0 5px; font-size: 1.15rem; }
.bsl-source-panel__head p { margin: 0; color: var(--bsl-source-muted); font-size: .83rem; }
.bsl-source-panel__head > a, .bsl-source-panel__head > span { color: var(--bsl-source-brand); font-size: .84rem; font-weight: 800; }
.bsl-source-request-list { display: grid; }
.bsl-source-request-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--bsl-source-line); color: inherit !important; text-decoration: none !important; }
.bsl-source-request-row:last-child { border-bottom: 0; }
.bsl-source-request-row b, .bsl-source-request-row small { display: block; }
.bsl-source-request-row small { margin-top: 5px; color: var(--bsl-source-muted); }
.bsl-source-request-row > span { display: flex; align-items: center; gap: 12px; }
.bsl-source-request-row em { color: var(--bsl-source-brand); font-style: normal; font-size: .82rem; }
.bsl-source-checklist { display: grid; gap: 12px; }
.bsl-source-check-item { display: grid; grid-template-columns: 30px 1fr auto; gap: 10px; align-items: center; padding: 11px; border-radius: 13px; background: #f7f8f7; }
.bsl-source-check-item i { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid #cbd6cf; border-radius: 50%; color: #849087; font-style: normal; }
.bsl-source-check-item.is-done i { border-color: #8cc2a5; background: #e7f4ed; color: var(--bsl-source-brand); }
.bsl-source-check-item b, .bsl-source-check-item small { display: block; }
.bsl-source-check-item small { margin-top: 3px; color: var(--bsl-source-muted); font-size: .75rem; }
.bsl-source-check-item a { color: var(--bsl-source-brand); font-size: .78rem; font-weight: 800; }
.bsl-source-action-list { display: grid; gap: 10px; }
.bsl-source-action-list a { padding: 13px; border: 1px solid var(--bsl-source-line); border-radius: 13px; text-decoration: none !important; color: inherit !important; }
.bsl-source-action-list b, .bsl-source-action-list span { display: block; }
.bsl-source-action-list span { margin-top: 4px; color: var(--bsl-source-muted); font-size: .76rem; }

.bsl-source-status { display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border-radius: 999px; background: #eef1ef; color: #536059; white-space: nowrap; font-size: .75rem; font-weight: 800; }
.bsl-source-status.is-awaiting_payment { background: #fff0d8; color: #8a5b05; }
.bsl-source-status.is-submitted, .bsl-source-status.is-reviewing { background: #e7f0ff; color: #2f5c94; }
.bsl-source-status.is-assigned, .bsl-source-status.is-sourcing { background: #e6f5ed; color: #176b46; }
.bsl-source-status.is-offers_ready { background: #fff0c3; color: #765100; }
.bsl-source-status.is-completed { background: #dff3e9; color: #125d3d; }
.bsl-source-status.is-cancelled, .bsl-source-status.is-closed { background: #f1e7e7; color: #8b4545; }
.bsl-source-scout-state { padding: 8px 13px; border-radius: 999px; background: #eef1ef; font-weight: 800; }
.bsl-source-scout-state.is-approved { background: #e6f5ed; color: #176b46; }
.bsl-source-scout-state.is-pending { background: #fff0d8; color: #8a5b05; }

.bsl-source-empty { padding: 48px 26px; border: 1px dashed #c9d5ce; border-radius: 20px; text-align: center; background: #fafcfb; }
.bsl-source-empty--small { padding: 28px 20px; }
.bsl-source-empty h2, .bsl-source-empty h3 { margin-top: 0; }
.bsl-source-empty p { color: var(--bsl-source-muted); }

.bsl-source-form-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 22px; align-items: start; }
.bsl-source-form { display: grid; gap: 18px; }
.bsl-source-form-section { padding: 25px; border: 1px solid var(--bsl-source-line); border-radius: var(--bsl-source-radius); background: #fff; }
.bsl-source-step-title { display: flex; gap: 13px; margin-bottom: 20px; }
.bsl-source-step-title > span { display: grid; place-items: center; flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; background: #e7f4ed; color: var(--bsl-source-brand); font-weight: 900; }
.bsl-source-step-title h2 { margin: 0 0 4px; font-size: 1.2rem; }
.bsl-source-step-title p { margin: 0; color: var(--bsl-source-muted); font-size: .83rem; }
.bsl-source-plan-select { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.bsl-source-plan-option { position: relative; display: block; padding: 16px; border: 1px solid var(--bsl-source-line); border-radius: 15px; cursor: pointer; }
.bsl-source-plan-option.is-selected, .bsl-source-plan-option:has(input:checked) { border: 2px solid var(--bsl-source-brand); background: #f6fbf8; }
.bsl-source-plan-option input { position: absolute; top: 15px; left: 15px; }
.bsl-source-plan-option > span { display: flex; justify-content: space-between; gap: 10px; padding-left: 24px; }
.bsl-source-plan-option b { font-size: .93rem; }
.bsl-source-plan-option em { color: var(--bsl-source-brand); font-style: normal; font-weight: 900; }
.bsl-source-plan-option small { display: block; margin-top: 8px; color: var(--bsl-source-muted); line-height: 1.7; }
.bsl-source-fields { display: grid; gap: 15px; }
.bsl-source-fields--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.bsl-source-fields label { display: grid; gap: 7px; }
.bsl-source-fields label.is-wide { grid-column: 1 / -1; }
.bsl-source-fields label > span { font-weight: 800; font-size: .84rem; }
.bsl-source-fields input, .bsl-source-fields select, .bsl-source-fields textarea, .bsl-source-mini-form textarea, .bsl-source-form select, .bsl-source-form input, .bsl-source-form textarea { width: 100%; border: 1px solid #ccd8d0; border-radius: 11px; background: #fff; color: var(--bsl-source-ink); font: inherit; }
.bsl-source-fields input, .bsl-source-fields select, .bsl-source-form input, .bsl-source-form select { min-height: 45px; padding: 0 12px; }
.bsl-source-fields textarea, .bsl-source-mini-form textarea, .bsl-source-form textarea { padding: 12px; line-height: 1.8; resize: vertical; }
.bsl-source-fields input:focus, .bsl-source-fields select:focus, .bsl-source-fields textarea:focus { outline: 3px solid rgba(23,107,70,.1); border-color: var(--bsl-source-brand); }
.bsl-source-fields small { color: var(--bsl-source-muted); font-size: .74rem; }
.bsl-source-checkboxes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.bsl-source-checkboxes label { display: flex; gap: 10px; padding: 15px; border: 1px solid var(--bsl-source-line); border-radius: 14px; }
.bsl-source-checkboxes input { width: auto; margin-top: 5px; }
.bsl-source-checkboxes b, .bsl-source-checkboxes small { display: block; }
.bsl-source-checkboxes small { margin-top: 5px; color: var(--bsl-source-muted); line-height: 1.6; }
.bsl-source-form-submit { background: #f8fbf9; }
.bsl-source-terms { display: flex !important; gap: 10px; align-items: flex-start; margin-bottom: 18px; color: var(--bsl-source-muted); line-height: 1.8; }
.bsl-source-terms input { width: auto !important; min-height: auto !important; margin-top: 6px; }
.bsl-source-form-guide { position: relative; }
.bsl-source-sticky-guide { position: sticky; top: 100px; padding: 22px; border-radius: 20px; color: #fff; background: var(--bsl-source-brand-dark); }
.bsl-source-sticky-guide > span { color: #bfe4d0; font-size: .8rem; font-weight: 800; }
.bsl-source-sticky-guide h3 { margin: 8px 0 17px; }
.bsl-source-sticky-guide ol { margin: 0; padding-right: 20px; }
.bsl-source-sticky-guide li { margin-bottom: 13px; }
.bsl-source-sticky-guide b, .bsl-source-sticky-guide small { display: block; }
.bsl-source-sticky-guide small { margin-top: 3px; color: #cbded2; line-height: 1.6; }
.bsl-source-sticky-guide a { color: #fff3c7; font-weight: 800; }
.bsl-source-checkbox-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; }
.bsl-source-checkbox-grid label { display: flex; gap: 8px; padding: 11px; border: 1px solid var(--bsl-source-line); border-radius: 12px; }

.bsl-source-cards-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.bsl-source-request-card { padding: 22px; }
.bsl-source-request-card__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.bsl-source-request-card__top > span { color: var(--bsl-source-muted); font-size: .78rem; }
.bsl-source-request-card h2 { margin: 17px 0 7px; font-size: 1.18rem; }
.bsl-source-request-card > p { color: var(--bsl-source-muted); }
.bsl-source-request-card dl, .bsl-source-data-list, .bsl-source-offer dl, .bsl-source-payment-card dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 18px 0; }
.bsl-source-request-card dl div, .bsl-source-data-list div, .bsl-source-offer dl div, .bsl-source-payment-card dl div { padding: 10px; border-radius: 10px; background: #f6f8f7; }
.bsl-source-request-card dt, .bsl-source-data-list dt, .bsl-source-offer dt, .bsl-source-payment-card dt { color: var(--bsl-source-muted); font-size: .72rem; }
.bsl-source-request-card dd, .bsl-source-data-list dd, .bsl-source-offer dd, .bsl-source-payment-card dd { margin: 3px 0 0; font-weight: 800; }

.bsl-source-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 18px; align-items: start; }
.bsl-source-detail-grid main, .bsl-source-detail-grid aside { display: grid; gap: 18px; }
.bsl-source-data-list { grid-template-columns: repeat(3, 1fr); }
.bsl-source-description { margin-top: 18px; padding-top: 18px; border-top: 1px solid var(--bsl-source-line); }
.bsl-source-description h3 { margin: 0 0 8px; }
.bsl-source-description p { color: var(--bsl-source-muted); line-height: 1.9; }
.bsl-source-attachment { display: inline-flex; margin-top: 12px; padding: 9px 12px; border-radius: 10px; background: #eef6f1; color: var(--bsl-source-brand) !important; text-decoration: none !important; font-weight: 800; }
.bsl-source-offers { display: grid; gap: 14px; }
.bsl-source-offer { padding: 19px; border: 1px solid var(--bsl-source-line); border-radius: 16px; background: #fff; }
.bsl-source-offer.is-selected { border: 2px solid var(--bsl-source-brand); background: #f6fbf8; }
.bsl-source-offer__head { display: flex; justify-content: space-between; gap: 20px; }
.bsl-source-offer__head span { color: var(--bsl-source-brand); font-size: .76rem; font-weight: 800; }
.bsl-source-offer__head h3 { margin: 4px 0 0; }
.bsl-source-offer__head > strong { color: var(--bsl-source-brand-dark); font-size: 1.25rem; }
.bsl-source-offer p { color: var(--bsl-source-muted); line-height: 1.8; }
.bsl-source-offer__contact { margin: 12px 0; padding: 11px; border-radius: 10px; background: #fff7dc; }
.bsl-source-payment-card > strong { display: block; margin: 12px 0; color: var(--bsl-source-brand-dark); font-size: 1.55rem; }
.bsl-source-payment-card > p { color: var(--bsl-source-muted); line-height: 1.8; }
.bsl-source-note { padding: 11px; border-radius: 10px; background: #fff4d7; color: #755813; font-size: .82rem; line-height: 1.7; }
.bsl-source-timeline { display: grid; gap: 14px; }
.bsl-source-timeline > div { display: grid; grid-template-columns: 15px 1fr; gap: 10px; }
.bsl-source-timeline i { width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: var(--bsl-source-brand); box-shadow: 0 0 0 5px #e7f4ed; }
.bsl-source-timeline b, .bsl-source-timeline small { display: block; }
.bsl-source-timeline small { margin-top: 3px; color: var(--bsl-source-muted); font-size: .72rem; }
.bsl-source-timeline p { margin: 5px 0 0; color: var(--bsl-source-muted); font-size: .8rem; line-height: 1.7; }
.bsl-source-mini-form { display: grid; gap: 10px; }
.bsl-source-cancel-form { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--bsl-source-line); }
.bsl-source-cancel-form button { border: 0; background: transparent; color: var(--bsl-source-danger); font: inherit; font-size: .8rem; cursor: pointer; }
.bsl-source-offer-form { scroll-margin-top: 110px; }

.bsl-source-service-list { display: grid; gap: 16px; }
.bsl-source-service { display: grid; grid-template-columns: 1.2fr 1fr .8fr; gap: 22px; padding: 25px; border: 1px solid var(--bsl-source-line); border-radius: 20px; background: #fff; }
.bsl-source-service span { color: var(--bsl-source-brand); font-size: .78rem; font-weight: 800; }
.bsl-source-service h2, .bsl-source-service h3 { margin: 6px 0 10px; }
.bsl-source-service p, .bsl-source-service li { color: var(--bsl-source-muted); line-height: 1.8; }
.bsl-source-service__limit { padding: 16px; border-radius: 14px; background: #fff5d9; }
.bsl-source-pricing-notes { margin-top: 22px; }
.bsl-source-pricing-notes li { margin-bottom: 8px; color: var(--bsl-source-muted); }
.bsl-source-process { display: grid; gap: 14px; }
.bsl-source-process article { display: grid; grid-template-columns: 64px 1fr; gap: 18px; align-items: center; padding: 20px; border: 1px solid var(--bsl-source-line); border-radius: 18px; background: #fff; }
.bsl-source-process article > span { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 18px; background: #e8f4ed; color: var(--bsl-source-brand); font-size: 1.35rem; font-weight: 900; }
.bsl-source-process h2 { margin: 0 0 5px; }
.bsl-source-process p { margin: 0 0 6px; color: var(--bsl-source-muted); }
.bsl-source-process b { color: var(--bsl-source-brand); font-size: .78rem; }
.bsl-source-numbered { padding-right: 22px; line-height: 1.9; }
.bsl-source-numbered li { margin-bottom: 8px; }
.bsl-source-mission-card { display: flex; justify-content: space-between; gap: 20px; padding: 17px 0; border-bottom: 1px solid var(--bsl-source-line); }
.bsl-source-mission-card:last-child { border-bottom: 0; }
.bsl-source-mission-card span, .bsl-source-mission-card small { color: var(--bsl-source-muted); font-size: .76rem; }
.bsl-source-mission-card h3 { margin: 5px 0; }
.bsl-source-mission-card p { margin: 0; color: var(--bsl-source-muted); }
.bsl-source-mission-card > div:last-child { display: grid; justify-items: end; align-content: center; gap: 9px; }
.bsl-source-faq { display: grid; gap: 10px; }
.bsl-source-faq details { border: 1px solid var(--bsl-source-line); border-radius: 15px; background: #fff; }
.bsl-source-faq summary { padding: 17px 20px; cursor: pointer; font-weight: 900; }
.bsl-source-faq p { padding: 0 20px 18px; margin: 0; color: var(--bsl-source-muted); line-height: 1.9; }
.bsl-source-guide-nav { display: flex; flex-wrap: wrap; gap: 9px; margin-bottom: 20px; }
.bsl-source-guide-nav a { padding: 9px 13px; border: 1px solid var(--bsl-source-line); border-radius: 999px; color: var(--bsl-source-brand) !important; text-decoration: none !important; background: #fff; font-weight: 800; }
.bsl-source-status-guide { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.bsl-source-status-guide > div { padding: 14px; border-radius: 13px; background: #f7f9f8; }
.bsl-source-status-guide p { margin: 9px 0 0; color: var(--bsl-source-muted); font-size: .8rem; line-height: 1.7; }

@media (max-width: 1000px) {
    .bsl-source-hero, .bsl-source-form-layout, .bsl-source-detail-grid { grid-template-columns: 1fr; }
    .bsl-source-grid--4 { grid-template-columns: repeat(2, 1fr); }
    .bsl-source-form-guide { order: -1; }
    .bsl-source-sticky-guide { position: static; }
    .bsl-source-dashboard-grid { grid-template-columns: 1fr; }
    .bsl-source-panel--wide { grid-row: auto; }
    .bsl-source-service { grid-template-columns: 1fr 1fr; }
    .bsl-source-service__limit { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
    .bsl-source-home, .bsl-source-page, .bsl-source-dashboard { width: min(100% - 22px, 1180px); }
    .bsl-source-hero { padding-top: 42px; }
    .bsl-source-hero__content h1 { font-size: 2.35rem; }
    .bsl-source-grid--3, .bsl-source-grid--4, .bsl-source-output, .bsl-source-stats, .bsl-source-cards-list, .bsl-source-fields--2, .bsl-source-plan-select, .bsl-source-checkboxes, .bsl-source-data-list, .bsl-source-status-guide { grid-template-columns: 1fr; }
    .bsl-source-section--tinted { width: calc(100% + 22px); margin-right: -11px; padding-right: 11px; padding-left: 11px; }
    .bsl-source-output div { border-left: 0; border-bottom: 1px solid var(--bsl-source-line); }
    .bsl-source-output div:last-child { border-bottom: 0; }
    .bsl-source-final-cta, .bsl-source-next-action, .bsl-source-dashboard__header, .bsl-source-detail__header, .bsl-source-request-row, .bsl-source-mission-card { align-items: stretch; flex-direction: column; }
    .bsl-source-request-row > span { justify-content: space-between; }
    .bsl-source-service { grid-template-columns: 1fr; }
    .bsl-source-service__limit { grid-column: auto; }
    .bsl-source-checkbox-grid { grid-template-columns: 1fr; }
    .bsl-source-plan.is-recommended { transform: none; }
}

/* Bazar Salam 2.1 — multi-item forms, Jalali dates, profiles and ratings */
.bsl-source-home,.bsl-source-page,.bsl-source-dashboard,.bsl-auth-page,
.bsl-source-form,.bsl-source-panel,.bsl-source-card,
.bsl-source-form input,.bsl-source-form select,.bsl-source-form textarea,.bsl-source-form button {
    font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}
.bsl-account-mode { display:grid; gap:10px; margin:0; padding:0; border:0; }
.bsl-account-mode legend { margin-bottom:9px; font-weight:900; }
.bsl-account-mode label { display:flex; gap:10px; align-items:flex-start; padding:13px; border:1px solid var(--bsl-source-line); border-radius:14px; background:#fff; cursor:pointer; }
.bsl-account-mode input { margin-top:5px; }
.bsl-account-mode span,.bsl-account-mode b,.bsl-account-mode small { display:block; }
.bsl-account-mode small { margin-top:4px; color:var(--bsl-source-muted); line-height:1.7; }
.bsl-account-switcher { display:flex; flex-wrap:wrap; gap:8px; margin:14px 0 24px; }
.bsl-account-switcher a { padding:9px 14px; border:1px solid var(--bsl-source-line); border-radius:999px; text-decoration:none; font-weight:800; background:#fff; }
.bsl-account-switcher a.is-active { color:#fff; border-color:var(--bsl-source-brand); background:var(--bsl-source-brand); }

.bsl-repeat-list { display:grid; gap:15px; margin-bottom:14px; }
.bsl-repeat-card { margin:0; padding:18px; border:1px solid var(--bsl-source-line); border-radius:18px; background:#fbfdfc; }
.bsl-repeat-card__head { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:15px; }
.bsl-repeat-card__head strong { font-size:1rem; }
.bsl-repeat-card__head button,.bsl-link-row>button { padding:7px 10px; border:0; border-radius:9px; color:#a12f2f; background:#fff0ef; cursor:pointer; font:inherit; font-size:.76rem; font-weight:800; }
.bsl-repeat-card__head button:disabled { opacity:.35; cursor:not-allowed; }
.bsl-link-row { display:grid; grid-template-columns:minmax(150px,.7fr) minmax(260px,1.5fr) auto; gap:10px; align-items:end; padding:13px; border:1px solid var(--bsl-source-line); border-radius:14px; background:#f9fbfa; }
.bsl-link-row label { margin:0; }
.bsl-link-row>button { margin-bottom:2px; }
[data-bsl-other-category][hidden] { display:none !important; }

.bsl-jalali-picker { display:flex; flex-wrap:wrap; gap:8px; margin-top:7px; }
.bsl-jalali-picker select { flex:1 1 105px; min-width:90px; }
.bsl-field-title { display:block; font-weight:800; }
.bsl-upload-box { display:grid; gap:8px; padding:17px; border:1px dashed #a9c4b2; border-radius:16px; background:#f5fbf7; }
.bsl-upload-box>span { font-weight:900; }
.bsl-upload-box input[type=file] { width:100%; padding:10px; border:1px solid var(--bsl-source-line); border-radius:11px; background:#fff; }
.bsl-upload-box small { color:var(--bsl-source-muted); line-height:1.9; }
.bsl-upload-box small a { font-weight:800; }

.bsl-operation-clock { display:flex; flex-wrap:wrap; justify-content:space-between; gap:14px; margin:0 0 20px; padding:17px 20px; border:1px solid #cfe1d5; border-radius:17px; background:#eff8f2; }
.bsl-operation-clock>div { display:grid; gap:4px; }
.bsl-operation-clock span,.bsl-operation-clock small { color:var(--bsl-source-muted); font-size:.76rem; }
.bsl-operation-clock strong { font-size:1rem; }
.bsl-operation-clock.is-warning { border-color:#ebca76; background:#fff8e3; }
.bsl-operation-clock.is-overdue { border-color:#e6aaa5; background:#fff0ef; }
.bsl-mini-clock { margin:10px 0; padding:7px 9px; border-radius:9px; color:#276340; background:#eaf6ee; font-size:.75rem; font-weight:800; }
.bsl-mini-clock.is-warning { color:#765400; background:#fff4cf; }
.bsl-mini-clock.is-overdue { color:#9b3029; background:#ffe8e6; }
.bsl-mini-clock.is-neutral { color:#5d6861; background:#f0f3f1; }

.bsl-source-item-list { display:grid; gap:12px; }
.bsl-source-item { padding:15px; border:1px solid var(--bsl-source-line); border-radius:14px; background:#fbfdfc; }
.bsl-source-item h3 { margin:0 0 8px; }
.bsl-source-chip-row { display:flex; flex-wrap:wrap; gap:7px; }
.bsl-source-chip-row span { padding:6px 10px; border-radius:999px; color:var(--bsl-source-brand); background:#eaf5ee; font-size:.75rem; font-weight:800; }
.bsl-source-attachment-list,.bsl-source-link-list { display:grid; gap:8px; margin-top:18px; }
.bsl-source-attachment-list h3,.bsl-source-link-list h3 { margin:0 0 3px; }
.bsl-source-attachment,.bsl-source-link-list>a { display:flex; justify-content:space-between; gap:12px; padding:11px 13px; border:1px solid var(--bsl-source-line); border-radius:11px; background:#fff; text-decoration:none; }
.bsl-source-attachment small,.bsl-source-link-list small { color:var(--bsl-source-muted); }

.bsl-scout-directory,.bsl-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.bsl-scout-card,.bsl-article-grid article { overflow:hidden; border:1px solid var(--bsl-source-line); border-radius:19px; background:#fff; box-shadow:0 12px 32px rgba(19,72,43,.06); }
.bsl-scout-card { padding:20px; }
.bsl-scout-card h2 { margin:7px 0; font-size:1.2rem; }
.bsl-scout-card p { color:var(--bsl-source-muted); line-height:1.9; }
.bsl-scout-card__score { display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-top:1px solid var(--bsl-source-line); }
.bsl-scout-profile-head { display:flex; align-items:flex-start; justify-content:space-between; gap:25px; margin-bottom:24px; }
.bsl-scout-score { min-width:130px; padding:18px; text-align:center; border-radius:18px; color:#fff; background:linear-gradient(145deg,var(--bsl-source-brand),#0e5535); }
.bsl-scout-score strong,.bsl-scout-score span,.bsl-scout-score small { display:block; }
.bsl-scout-score strong { font-size:2rem; }
.bsl-review-list { display:grid; gap:11px; }
.bsl-review-list article { padding:14px; border:1px solid var(--bsl-source-line); border-radius:13px; background:#fbfdfc; }
.bsl-review-list p { line-height:1.9; }
.bsl-review-list small { color:var(--bsl-source-muted); }
.bsl-rating-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.bsl-rating-form label { display:grid; gap:6px; }
.bsl-rating-form .is-wide { grid-column:1/-1; }
.bsl-rating-form select,.bsl-rating-form textarea { width:100%; padding:11px; border:1px solid var(--bsl-source-line); border-radius:10px; background:#fff; }

.bsl-article-grid article>a { display:block; height:100%; color:inherit; text-decoration:none; }
.bsl-article-grid img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.bsl-article-grid article span,.bsl-article-grid article h2,.bsl-article-grid article p { display:block; margin-inline:18px; }
.bsl-article-grid article span { margin-top:16px; color:var(--bsl-source-brand); font-size:.72rem; font-weight:800; }
.bsl-article-grid article h2 { margin-top:7px; margin-bottom:8px; font-size:1.12rem; line-height:1.7; }
.bsl-article-grid article p { margin-bottom:19px; color:var(--bsl-source-muted); line-height:1.85; }

@media (max-width:900px) {
    .bsl-scout-directory,.bsl-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
    .bsl-link-row,.bsl-scout-directory,.bsl-article-grid,.bsl-rating-form { grid-template-columns:1fr; }
    .bsl-rating-form .is-wide { grid-column:auto; }
    .bsl-scout-profile-head { flex-direction:column; }
    .bsl-scout-score { width:100%; }
    .bsl-operation-clock { display:grid; }
}

/* Bazar Salam 2.2: operational controls, multi-item results, finance and training */
.bsl-btn--danger { background: #fff3f3; border-color: #efb6b6; color: var(--bsl-source-danger) !important; }
.bsl-btn--danger:hover { background: #ffe7e7; }
.bsl-v22-offer-items { display: grid; gap: 18px; margin: 22px 0; }
.bsl-v22-result-item { border-color: #cbdcd0; background: #fbfdfb; }
.bsl-v22-checklist { margin: 22px 0; padding: 20px; border: 1px solid var(--bsl-source-line); border-radius: 18px; background: #f6faf7; }
.bsl-v22-checklist h3 { margin-top: 0; }
.bsl-v22-check-row { display: grid; grid-template-columns: minmax(220px, 1fr) minmax(240px, 1.2fr); align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--bsl-source-line); }
.bsl-v22-check-row:last-child { border-bottom: 0; }
.bsl-v22-check-row label { display: flex; align-items: flex-start; gap: 9px; font-weight: 700; }
.bsl-v22-package { margin: 18px 0; border: 1px solid var(--bsl-source-line); border-radius: 18px; overflow: hidden; background: #fff; }
.bsl-v22-package > header { display: flex; justify-content: space-between; gap: 16px; padding: 15px 18px; background: #eef7f1; }
.bsl-v22-result-table-wrap { overflow-x: auto; }
.bsl-v22-result-table { width: 100%; min-width: 780px; border-collapse: collapse; }
.bsl-v22-result-table th, .bsl-v22-result-table td { padding: 13px 15px; border-bottom: 1px solid var(--bsl-source-line); text-align: right; vertical-align: top; }
.bsl-v22-result-table th { color: var(--bsl-source-muted); font-size: .82rem; background: #fbfdfb; }
.bsl-v22-result-table td small { display: block; margin-top: 5px; color: var(--bsl-source-muted); }
.bsl-v22-control-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; }
.bsl-v22-control-grid > form, .bsl-v22-control-info { margin: 0; padding: 18px; border: 1px solid var(--bsl-source-line); border-radius: 16px; background: #fbfdfb; }
.bsl-v22-control-grid h3 { margin: 0 0 8px; font-size: 1rem; }
.bsl-v22-control-grid textarea, .bsl-v22-control-grid input, .bsl-v22-control-grid select { width: 100%; margin: 8px 0; }
.bsl-v22-message-list, .bsl-v22-dispute-list { display: grid; gap: 10px; margin: 16px 0; }
.bsl-v22-message-list article, .bsl-v22-dispute-list article { padding: 15px 17px; border: 1px solid var(--bsl-source-line); border-radius: 14px; background: #fbfdfb; }
.bsl-v22-message-list p, .bsl-v22-dispute-list p { margin: 7px 0; line-height: 1.9; }
.bsl-v22-message-list small, .bsl-v22-dispute-list small { color: var(--bsl-source-muted); }
.bsl-v22-finance-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 18px 0; }
.bsl-v22-finance-card { padding: 18px; border: 1px solid var(--bsl-source-line); border-radius: 16px; background: #fff; }
.bsl-v22-finance-card strong, .bsl-v22-finance-card span { display: block; }
.bsl-v22-finance-card strong { color: var(--bsl-source-brand-dark); font-size: 1.35rem; }
.bsl-v22-finance-card span { margin-top: 5px; color: var(--bsl-source-muted); font-size: .82rem; }
.bsl-v22-training-nav { display: flex; flex-wrap: wrap; gap: 9px; margin: 18px 0 28px; }
.bsl-v22-training-nav a { padding: 8px 12px; border: 1px solid var(--bsl-source-line); border-radius: 999px; background: #fff; text-decoration: none; font-weight: 700; }
.bsl-v22-training-section { scroll-margin-top: 100px; margin: 22px 0; padding: 24px; border: 1px solid var(--bsl-source-line); border-radius: 20px; background: #fff; }
.bsl-v22-training-section h2 { margin-top: 0; }
.bsl-v22-training-section ol, .bsl-v22-training-section ul { line-height: 2; }
@media (max-width: 760px) {
    .bsl-v22-control-grid, .bsl-v22-finance-grid, .bsl-v22-check-row { grid-template-columns: 1fr; }
}
