.boq{--bq-ink:#152d3f;--bq-teal:#087c80;--bq-line:#dae6e8;--bq-pale:#f4f8fa;color:var(--bq-ink);font:15px/1.65 system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;min-width:0}
.boq *{box-sizing:border-box}.boq h2{font-size:25px;line-height:1.35;margin:0 0 8px}.boq h3{font-size:18px;margin:24px 0 12px}.boq h4{font-size:16px;margin:18px 0 8px}.boq p{margin:8px 0}.boq small{display:block;font-size:12px;color:#526975}.boq strong,.boq b{font-weight:700}.boq del{display:block;color:#78858d;font-size:13px}.boq label{display:flex;flex-direction:column;gap:5px;font-weight:600;font-size:13px}.boq input,.boq select,.boq textarea{font:inherit;width:100%;min-width:0;border:1px solid #b7cdd1;background:#fff;border-radius:7px;padding:10px;color:var(--bq-ink)}.boq input:focus,.boq select:focus,.boq textarea:focus,.boq button:focus-visible{outline:3px solid #afd9db;outline-offset:2px}.boq button{font:inherit;font-size:13px;border:1px solid #b7cdd1;border-radius:7px;background:white;color:var(--bq-ink);padding:9px 13px;cursor:pointer}.boq button:disabled{opacity:.45;cursor:not-allowed}.boq .boq-primary{color:#fff;background:var(--bq-teal);border-color:var(--bq-teal);font-weight:700}.boq-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-bottom:1px solid var(--bq-line);padding-bottom:20px;margin-bottom:18px}.boq-eyebrow{font-size:11px;letter-spacing:.16em;font-weight:800;color:var(--bq-teal)}.boq-status{font-size:12px;font-weight:700;border-radius:99px;padding:8px 12px;white-space:normal;text-align:center;flex-shrink:0;max-width:230px}.boq-status.paid{background:#def3e7;color:#166c3b}.boq-status.unpaid{background:#fce8e8;color:#a12831}.boq-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(290px,1fr);gap:24px;align-items:start}.boq-main{min-width:0}.boq-summary{background:var(--bq-pale);border:1px solid var(--bq-line);border-radius:12px;padding:22px;min-width:0}.boq-summary h3{margin-top:12px}.boq-plans{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.boq-plan{position:relative;border:1px solid var(--bq-line);border-radius:10px;padding:15px;cursor:pointer;gap:5px!important;background:#fff}.boq-plan.selected{border:2px solid var(--bq-teal);padding:14px;background:#f0faf9}.boq-plan input{width:16px;min-height:0;padding:0;position:absolute;right:10px;top:10px;accent-color:var(--bq-teal)}.boq-plan>span{padding-right:17px}.boq-plan strong{font-size:19px;line-height:1.4;color:var(--bq-teal)}.boq-muted{font-size:13px;color:#536b78}.boq-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:end}.boq-form [hidden]{display:none}.boq-span2{grid-column:1/-1}.boq-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:auto}.boq-table th{font-size:12px;text-align:left;background:#edf4f6;color:#47616e;font-weight:700;white-space:nowrap}.boq-table td,.boq-table th{border-bottom:1px solid var(--bq-line);padding:11px 9px;vertical-align:top}.boq-table td strong{display:block}.boq-table td{overflow-wrap:anywhere}.boq-controls{min-width:116px}.boq-controls button{padding:3px 8px;font-size:12px;margin:2px}.boq-lock{display:block;color:#267346;font-size:11px}.boq-scroll{overflow:auto;max-width:100%}.boq-toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.boq-total-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.boq-total-head small{max-width:175px;text-align:right}.boq-pill{display:inline-block;background:#e0f0ed;color:var(--bq-teal);font-size:12px;border-radius:6px;padding:4px 9px;font-weight:700}.boq-lines>div,.boq-totals>div{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:9px 0;font-size:13px}.boq-lines>div>strong,.boq-totals>div>b{white-space:nowrap}.boq-lines{border-bottom:1px solid var(--bq-line);padding-bottom:9px}.boq-grand{font-size:17px!important;border-top:1px solid var(--bq-line);margin-top:6px;padding-top:15px!important}.boq-due{font-size:16px!important;color:var(--bq-teal);background:#e5f2f0;padding:12px!important;border-radius:7px;margin-top:8px}.boq-review{background:#fff5dd;border:1px solid #ecdaae;border-radius:8px;padding:12px;margin-top:16px;font-size:13px;color:#745223}.boq summary{cursor:pointer;font-weight:700}.boq ul{padding-left:19px;margin:10px 0}.boq li{margin:7px 0;list-style:disc}.boq-details{padding:14px 0;border-bottom:1px solid var(--bq-line);font-size:13px;overflow-wrap:anywhere}.boq-message{background:#eaf6f5;border:1px solid #bee0dc;border-radius:8px;padding:12px 15px;margin:12px 0}.boq-message[hidden]{display:none}.boq-error{background:#fff0f0;border-color:#edc6c6;color:#99252f}.boq-panel{border:1px solid var(--bq-line);background:var(--bq-pale);border-radius:10px;padding:20px;margin-top:20px}.boq-panel label{margin-bottom:10px}.boq .boq-checkbox{display:flex;flex-direction:row;align-items:flex-start;gap:8px;font-weight:500}.boq-checkbox input{width:16px;flex-shrink:0;min-height:0;margin-top:4px;padding:0}.boq-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.boq-metrics>div{padding:16px;border:1px solid var(--bq-line);border-radius:8px;background:var(--bq-pale)}.boq-metrics span{display:block;font-size:12px}.boq-metrics strong{display:block;font-size:19px}.boq-paid-title{color:#187648}.boq-empty{padding:28px 15px;background:var(--bq-pale);border:1px dashed var(--bq-line);border-radius:10px}.bo-billing-paid>td:first-child{border-left:5px solid #208446;background:#effaf3}.bo-billing-unpaid>td:first-child{border-left:5px solid #c03945;background:#fff1f1}.bo-billing-status{font-size:12px;display:block;margin:4px 0}.bo-billing-status.paid{color:#166c3b}.bo-billing-status.unpaid{color:#a12831}.boq-print{margin:0 auto;max-width:1000px;padding:35px;background:white}.boq-print details{break-inside:avoid}.boq-print .boq-lines,.boq-print .boq-totals{max-width:650px}.boq-print h1{font-size:27px}
@media(max-width:1100px){.boq-layout{grid-template-columns:minmax(0,1fr)}.boq-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.boq-header{display:block}.boq-status{display:inline-block;margin-top:12px}.boq-plans{grid-template-columns:1fr}.boq-plan{padding:12px 15px}.boq-plan.selected{padding:11px 14px}.boq-plan strong{font-size:20px}.boq-form{grid-template-columns:1fr}.boq-span2{grid-column:1}.boq-summary{padding:16px}.boq-metrics strong{font-size:16px}.boq-lines>div,.boq-totals>div{gap:8px}.boq-grand,.boq-due{font-size:15px!important}.boq-table{min-width:560px}}
@media print{.boq-toolbar,.boq-controls{display:none!important}.boq-print{padding:0}.boq summary{list-style:none}.boq-scroll{overflow:visible}.boq-table{min-width:0!important}.boq-message{border:1px solid #999}.boq *{-webkit-print-color-adjust:exact;print-color-adjust:exact}}

/* v4.0.1 · Plan comparison and concise selection limits */
.boq-comparison{margin:24px 0 28px}.boq-comparison-title{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}.boq-comparison-title h3{margin:0}.boq-comparison-title>span{font-size:12px;color:#557381}.boq-comparison-scroll{overflow:auto;border:1px solid var(--bq-line);border-radius:12px;max-width:100%;scrollbar-gutter:stable}.boq-compare-table{width:100%;min-width:620px;border-spacing:0;table-layout:fixed;font-size:13px}.boq-compare-table th,.boq-compare-table td{padding:13px 9px;border-bottom:1px solid var(--bq-line);text-align:center;vertical-align:middle;overflow-wrap:anywhere}.boq-compare-table th:first-child{width:29%;text-align:left;position:sticky;left:0;background:#fff;z-index:1;font-weight:600}.boq-compare-table thead th{font-size:14px;background:#eaf1f4;color:#203f50;white-space:normal}.boq-compare-table thead th:first-child{background:#eaf1f4}.boq-compare-table td{background:#fff}.boq-compare-table .boq-selected-column{background:#f2f9f8}.boq-compare-table td.boq-feature-upgrade{background:#e3f3ed;font-weight:700;color:#0f654e}.boq-feature-badge{display:inline-block;background:#0e7e64;color:#fff;border-radius:4px;padding:2px 6px;font-size:10px;line-height:1.4;margin-bottom:5px}.boq-feature-value{display:block}.boq-included{font-size:20px;color:#17765f;font-weight:700}.boq-not-included{color:#a2adb4}.boq-compare-table .boq-common-heading th{background:#f1f4f6;color:#607681;text-align:left;font-size:12px;padding:9px 12px;position:static}.boq-selection-rule{background:#eef6f7;border-left:3px solid var(--bq-teal);padding:10px 12px;font-size:13px}.boq-tax-label{color:#617d89}.boq-plan strong{font-variant-numeric:tabular-nums}.boq-compare-table tr:last-child>*{border-bottom:0}
@media(max-width:600px){.boq-compare-table{min-width:585px}.boq-comparison-scroll{border-radius:8px}.boq-comparison-title{gap:3px}.boq-compare-table th:first-child{width:27%}.boq-compare-table th,.boq-compare-table td{padding:11px 8px}.boq-header .boq-status{max-width:100%}}
@media print{.boq-comparison-scroll{overflow:visible}.boq-compare-table{min-width:0!important}.boq-compare-table th:first-child{position:static}.boq-compare-table thead{display:table-header-group}.boq-compare-table tr{break-inside:avoid}}

/* v4.0.2 · verified package / manual confirmation */
.boq-confirmed{border:1px solid #c3e3d6;border-left:4px solid #168258;border-radius:12px;padding:20px;margin:18px 0 28px;background:#f6fcf9}.boq-confirmed .boq-header{margin-bottom:12px;padding-bottom:12px}.boq-confirmed h3{margin:0}.boq-confirmed .boq-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.boq-confirmed-empty{border-left-color:#92a7b2;background:#f6f8fa}.boq-package-names{display:flex;gap:12px;flex-wrap:wrap}.boq-package-names>strong{padding:10px 14px;background:white;border:1px solid #d7e9df;border-radius:8px}.boq-public-note{padding:12px 14px;border-radius:8px;background:#eaf5f0;white-space:pre-wrap;overflow-wrap:anywhere}.boq-manual-preview{background:white;border:1px solid var(--bq-line);padding:16px;border-radius:8px}.boq-manual-preview ul{color:#735726;font-size:13px}.boq [data-confirm-error]{color:#a12831}.boq [data-confirmation]:empty{display:none}.boq [data-manual-confirmation]{scroll-margin-top:24px}.boq-metrics strong{overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
@media(max-width:600px){.boq-confirmed{padding:14px}.boq-confirmed .boq-metrics{grid-template-columns:1fr}.boq [data-confirm-package] .boq-toolbar{display:grid;grid-template-columns:1fr}.boq [data-confirm-package] .boq-toolbar button{width:100%}}
/* v4.0.6 · private special/deal paid package */
.boq-paid-only{border-left-color:#168258;background:#f5fbf8}.boq-paid-only-message{font-size:16px;font-weight:700;margin:8px 0 0}.boq-special-box{border:1px solid #c7d9d0;background:#f7fbf9;border-radius:10px;padding:14px 16px;margin-bottom:14px}.boq-special-box h4{margin:0 0 6px}.boq-special-admin{border:1px solid #b9dbc9;border-left:4px solid #168258;border-radius:12px;padding:18px;background:#f6fcf9;margin:18px 0}.boq-special-title{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.boq-special-title h3{margin:8px 0 0}.boq-private-note{margin-top:16px;padding:14px;border-radius:8px;border:1px dashed #9fb5aa;background:#fff}.boq-private-note p{white-space:pre-wrap;overflow-wrap:anywhere;margin:8px 0 0}.boq-student-preview{margin-top:16px;padding:12px 14px;border-radius:8px;background:#eaf5f0;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.boq-student-preview small{display:block;width:100%;color:#51655c}.boq [data-special-mode][hidden],.boq [data-standard-mode][hidden]{display:none!important}
/* v4.0.11 regional choice builder. Distinct tiers; no countdown or fabricated popularity. */
.boq-regional{--boq-teal:#007d76;--boq-blue:#255ac9;--boq-purple:#7243b7;--boq-gold:#926800}
.boq-regional .boq-header h2{font-size:clamp(1.4rem,2vw,1.85rem);margin:.3rem 0}.boq-start-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#f0f8f6;border:1px solid #bfdfd3;border-radius:18px;padding:24px;margin:24px 0}.boq-start-card p{margin:8px 0 0;color:#435d63}.boq-start-card button{white-space:normal;flex-shrink:0}
.boq-region-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0}.boq-region-tabs button{padding:11px 16px;background:#f4f7fc;color:#304b69;border:1px solid #ccd9e9;border-radius:12px;min-height:44px}.boq-region-tabs button.active{background:#173c62;color:white;border-color:#173c62}.boq-region-tabs button span{color:inherit}
.boq-region-panel{border:1px solid #d7e1ed;background:#fcfdff;padding:22px;border-radius:18px;margin-bottom:28px}.boq-region-heading{display:flex;justify-content:space-between;gap:12px;align-items:center}.boq-region-heading h3{margin:0 0 12px}.boq-region-toggle{display:flex;align-items:center;gap:8px;flex-direction:row!important;font-size:.9rem}.boq-region-toggle input{width:18px!important;height:18px}
.boq .boq-plan.boq-tier-basic{border-top:5px solid var(--boq-teal)}.boq .boq-plan.boq-tier-sprint{border-top:5px solid var(--boq-blue)}.boq .boq-plan.boq-tier-supreme{border-top:5px solid var(--boq-purple)}.boq .boq-tier-basic.selected{background:#eaf7f3;border-color:var(--boq-teal)}.boq .boq-tier-sprint.selected{background:#eef3ff;border-color:var(--boq-blue)}.boq .boq-tier-supreme.selected{background:#f5effc;border-color:var(--boq-purple)}.boq .boq-plan .boq-tier-tag{font-size:.75rem;font-weight:700;letter-spacing:.08em}.boq .boq-plan.boq-tier-supreme .boq-tier-tag{color:var(--boq-gold)}
.boq-region-offer{border-radius:14px;padding:20px;background:#f5f2fa;margin:12px 0}.boq-deposit-offer{background:#eef8f5}.boq-offer-amount{font-size:1.1rem;margin:12px 0}.boq-offer-amount b{font-size:1.65rem}.boq-choice-group{padding:12px 0}.boq-choice-group h4{font-size:1.06rem;margin:10px 0}.boq-choice-group h4 small{font-weight:400;margin-left:10px;color:#576a80}.boq-choice{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid #d8e3ec;border-radius:12px;padding:16px;margin:10px 0;background:white}.boq-choice-body{display:flex;gap:12px;min-width:0}.boq-choice-body strong,.boq-choice-body p{overflow-wrap:anywhere}.boq-choice-body p{margin:5px 0}.boq-choice-body small{display:block;color:#60728b}.boq-choice-body a{display:block;font-size:.82rem;margin-top:6px}.boq-choice-order{border-radius:8px;background:#e9f0f8;width:28px;min-width:28px;text-align:center;padding:3px;font-weight:700}.boq-choice-controls{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}.boq-choice-controls button{padding:8px 10px;min-height:40px;white-space:nowrap}
.boq-recommendations{border:1px solid #d9e4ee;border-radius:16px;padding:20px;margin:26px 0}.boq-recommendations>summary{font-size:1.1rem;font-weight:700;cursor:pointer}.boq-recommend-form{display:grid;grid-template-columns:1fr 2fr auto;gap:10px;align-items:end;margin:18px 0}.boq-recommend-form label{display:flex;flex-direction:column;gap:6px}.boq-recommend-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.boq-recommend-card{border:1px solid #d9e5ec;background:#fff;border-radius:12px;padding:18px;overflow-wrap:anywhere}.boq-recommend-card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.boq-recommend-card-head h4{font-size:1.06rem;margin:0 0 6px}.boq-recommend-reference{font-size:.82rem;font-weight:650;color:#607681;white-space:nowrap}.boq-recommend-card p,.boq-recommend-card small{font-size:.85rem;line-height:1.7}.boq-recommend-card small{color:#576b81}.boq-recommend-card details{font-size:.82rem;margin:10px 0}.boq-recommend-card button{margin-top:12px;width:100%}
.boq-upgrade-tip{padding:16px;margin:15px 0;border-radius:12px;background:#fff9e8;border:1px solid #ead59d;display:flex;flex-direction:column;gap:12px;font-size:.9rem}.boq-quote-stage{font-weight:700;font-size:.88rem;color:#49667b;margin:12px 0}.boq-pending-regions{background:#fff4e5;border:1px solid #f1d9b3;padding:12px;border-radius:12px;color:#78521f}.boq-pending-regions p{margin:5px 0}.boq-savebar{border-top:1px solid #dce4ed;padding-top:20px;margin-top:24px}.boq-regional .boq-summary{position:sticky;top:20px;align-self:start}.boq-manual-region-offer{margin:20px 0}.boq a:focus-visible,.boq button:focus-visible{outline:3px solid #2c79cc;outline-offset:3px}
@media(max-width:1150px){.boq-regional .boq-layout{display:block}.boq-regional .boq-summary{position:static;margin-top:20px}.boq-regional .boq-plans{grid-template-columns:repeat(3,minmax(0,1fr))}.boq-start-card{align-items:flex-start}}
@media(max-width:680px){.boq-start-card{display:block;padding:18px}.boq-start-card button{margin-top:14px;width:100%}.boq-region-panel{padding:14px}.boq-region-heading{align-items:flex-start;flex-direction:column}.boq-region-tabs button{flex:1 1 42%;font-size:.9rem}.boq-regional .boq-plans{grid-template-columns:1fr}.boq-recommend-list,.boq-recommend-form{grid-template-columns:1fr}.boq-choice{display:block}.boq-choice-controls{justify-content:flex-start;margin-top:12px}.boq-recommendations{padding:14px}.boq-regional .boq-savebar button{width:100%}}

/* v4.0.12 · Align controls, not the bottom of variable-height helper text. */
.boq .boq-form[data-regional-add]{align-items:start;column-gap:16px;row-gap:20px}
.boq .boq-form[data-regional-add]>label{align-self:start;justify-content:flex-start;min-width:0;margin:0;gap:6px;line-height:1.5rem}
.boq .boq-form[data-regional-add]>label>input,
.boq .boq-form[data-regional-add]>label>select{height:3rem;min-height:3rem;margin:0}
.boq .boq-form[data-regional-add]>.boq-toolbar{align-self:start;margin:4px 0 0}
.boq .boq-form[data-regional-add]>[data-match-result]{margin-top:0}
.boq .boq-recommend-form{align-items:start;grid-template-columns:minmax(0,1fr) minmax(0,2fr) auto;column-gap:12px;row-gap:16px}
.boq .boq-recommend-form>label{align-self:start;min-width:0;margin:0;gap:6px;line-height:1.5rem}
.boq .boq-recommend-form>label>input,
.boq .boq-recommend-form>label>select{height:3rem;min-height:3rem;margin:0}
.boq .boq-recommend-form>button{align-self:start;margin-top:calc(1.5rem + 6px);height:3rem;min-height:3rem;white-space:nowrap}
/* A long school name grows the card rather than pushing neighbouring QS / action rows out of alignment. */
.boq .boq-recommend-card{display:flex;flex-direction:column;gap:14px;min-width:0;height:100%}
.boq .boq-recommend-card-head{align-items:baseline;flex-wrap:nowrap;min-width:0;gap:12px}
.boq .boq-recommend-card-head h4{flex:1 1 0;min-width:0;margin:0;font-size:1.0625rem;line-height:1.5;overflow-wrap:anywhere;text-wrap:balance}
.boq .boq-recommend-reference{flex:0 0 auto;display:inline-block;color:#086750;background:#e9f6ee;border:1px solid #c6e5d5;border-radius:999px;padding:4px 9px;font-size:.75rem;line-height:1.5;font-weight:700;white-space:nowrap}
.boq .boq-recommend-card>.boq-recommend-rank{margin:auto 0 0;font-size:.9375rem;line-height:1.6}
.boq .boq-recommend-card>button{margin:0;width:100%;min-height:44px}
@media(max-width:680px){
 .boq .boq-recommend-form{grid-template-columns:1fr}
 .boq .boq-recommend-form>button{margin-top:0;width:100%}
}

/* v4.0.13: explicit red actions, aligned with keyword input. */
.boq .boq-red-action{background:#ba2337;color:#fff;border-color:#ba2337;font-weight:700}
.boq .boq-red-action:hover{background:#981b2b;border-color:#981b2b}
.boq .boq-red-action:disabled{opacity:.6;cursor:wait}
.boq .boq-shortlist-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:end;margin:1rem 0}
.boq .boq-shortlist-form>label{display:flex;flex-direction:column;gap:.5rem;min-width:0}
.boq .boq-shortlist-form input,.boq .boq-shortlist-form>button{height:3rem;min-height:3rem;margin:0;box-sizing:border-box}
.boq .boq-recommend-card>[data-recommend-fill]{margin-top:1rem}
.boq [data-shortlist-notice]:empty{display:none}
@media(max-width:620px){.boq .boq-shortlist-form{grid-template-columns:1fr}.boq .boq-shortlist-form>button{width:100%}}
/* v4.0.14: visible receipt notes, amount hierarchy, and responsive supplementary records. */
.boq .boq-supplements {margin-block:24px;min-width:0}
.boq .boq-supplement-list {display:grid;gap:14px}
.boq .boq-supplement-record {border:1px solid #c9dde6;border-left:4px solid #16806c;border-radius:12px;padding:20px;background:#fff;min-width:0;overflow-wrap:anywhere}
.boq .boq-supplement-record.is-reversed {border-left-color:#8d9aab;background:#f5f7fa}
.boq .boq-supplement-record .boq-header {align-items:flex-start;gap:12px;margin:0}
.boq .boq-supplement-record small {display:block;color:#526c7f;font-size:.88em;margin-top:6px}
.boq .boq-supplement-record .boq-public-note span,.boq .boq-supplement-record .boq-private-note p {white-space:pre-wrap}
.boq .boq-supplement-amount {font-size:1.3em;font-weight:700;margin-block:14px}
.boq .boq-supplement-amount small {display:inline;font-weight:400;margin-left:10px}
.boq .boq-supplement-total {padding:14px;background:#edf8f4;border-radius:10px}
.boq .boq-supplement-total small {display:block;margin-top:6px;color:#526c7f}
.boq .boq-supplement-editor summary {font-weight:700}
@media(max-width:620px){.boq .boq-supplement-record {padding:14px}.boq .boq-supplement-record .boq-header {flex-wrap:wrap}}
