
/* V4.7 — strictly scoped presentation changes. Financial and report snapshot data unchanged. */
#result .v47-result-layout{grid-template-columns:1.1fr .9fr}
#messages .b02-reply-copy{height:auto;max-height:none;overflow:visible}
#messages .b02-reply-copy p,#messages .b02-reply-copy h3,#messages .b02-reply-copy li{max-height:none;-webkit-line-clamp:unset;overflow:visible}
#messages .v47-reading-block{transition:opacity .12s ease}
#messages .v47-below-viewport{opacity:0}
.b02-input-lock .v47-lock-body{flex:0 0 100%;margin:0;display:block!important}
#eval-view .metric-number,#eval-view .metric-number.is-unknown,#eval-view .metric-number small{color:#2455d6}
#b02-dialog .b02-methods .v47-payment-choice{display:flex;align-items:center;gap:9px;min-width:0;position:relative;padding:10px 12px;background:#f8fbff;border:1px solid #b6cce6;color:#284c70;text-align:left;box-shadow:none;line-height:1.5}
#b02-dialog .b02-methods .v47-payment-choice[aria-pressed=true]{border-color:#3e78bf;background:#ddecf6;box-shadow:inset 0 0 0 1px #3e78bf}
#b02-dialog .v47-payment-logo{display:block;width:28px;height:28px;object-fit:contain;flex:0 0 28px}
#b02-dialog .v47-payment-choice>span{font-size:13px;white-space:nowrap;min-width:0}
#b02-dialog .v47-radio{display:block;flex:0 0 15px;width:15px;height:15px;border-radius:50%;border:1px solid #8a939d;background:#fff;margin-left:auto}
#b02-dialog .v47-payment-choice[aria-pressed=true] .v47-radio{border-color:#3265a3;background:#3265a3;box-shadow:inset 0 0 0 3px #fff}
#b02-dialog .v47-payment-choice:focus-visible{outline:2px solid #2855db;outline-offset:3px}
/* Short cards stay centered; tall documents have a bounded, independently scrollable body. */
dialog#b02-utility-dialog,dialog#b02-report-dialog,dialog#b02-dialog{inset:0;margin:auto}
@media(max-width:700px){
 #result .v47-result-layout{grid-template-columns:1fr;gap:36px}
 /* Budget editing remains in the existing menu; the inline selector was removed at all widths in V4.9. */
 #eval-view .composer-zone>.rail-final{height:auto;min-height:66px;grid-template-columns:repeat(3,minmax(0,1fr))}
 #eval-view .composer-zone>.rail-final .metric-cell{height:auto;min-height:64px;flex-direction:column;gap:4px;padding:8px 4px;justify-content:center}
 #eval-view .composer-zone>.rail-final .metric-number,
 #eval-view .composer-zone>.rail-final .metric-number.is-unknown,
 #eval-view .composer-zone>.rail-final [data-metric].v46-upgraded{order:0;display:block;flex:0 0 auto;width:100%;max-width:100%;font-size:clamp(11px,3.2vw,14px);line-height:1.45;letter-spacing:-.02em;white-space:normal;overflow-wrap:anywhere;color:#2455d6;font-weight:700}
 #eval-view .composer-zone>.rail-final .metric-label{order:1;font-size:10px;line-height:1.4;margin:0;letter-spacing:0;white-space:nowrap}
 #eval-view .composer-zone>.rail-final .metric-label>span{display:inline}
 /* Large bottom-entering sheet: directly below site navigation, with safe bottom spacing. */
 dialog#cost-drawer{inset:calc(var(--nav-h) + 8px) 0 max(12px,env(safe-area-inset-bottom));margin:0 auto;width:calc(100vw - 24px);max-width:calc(100vw - 24px)!important;height:calc(var(--app-h) - var(--nav-h) - 20px - env(safe-area-inset-bottom))!important;max-height:calc(var(--app-h) - var(--nav-h) - 20px - env(safe-area-inset-bottom))!important;min-height:0;border-radius:23px;animation:costFromBottom .32s cubic-bezier(.2,.76,.25,1) both}
 #cost-drawer #cost-detail{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 #cost-drawer .cost-tab-cards{padding-bottom:12px}
 #cost-drawer .cost-card-foot{flex-shrink:0}
 /* Only assessment purchases: deposit composition and desktop layout remain intact. */
 #b02-dialog[data-product=assessment][data-purchase-decision=true]:has(.gate-story:not([hidden])){width:calc(100vw - 24px);max-width:calc(100vw - 24px)!important;max-height:calc(var(--app-h) - 32px)!important;border-radius:23px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .gate-content{padding:23px 20px 18px;gap:12px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .gate-story{padding:0;min-width:0}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .v47-desktop-only{display:none}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .gate-story h2{font-size:clamp(20px,5.55vw,23px);line-height:1.42;letter-spacing:-.035em;max-width:calc(100% - 18px);margin:0}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .gate-story h2 br{display:block}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .gate-intro{font-size:11px;line-height:1.7;margin-top:9px;max-width:none}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .v46-benefits{margin-top:12px;gap:7px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .v46-benefits p{display:grid;grid-template-columns:75px minmax(0,1fr);gap:7px;font-size:11px;line-height:1.65;align-items:start}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .v46-benefits b{font-size:11px;line-height:1.65;font-weight:650}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .payment-card{margin-top:12px;padding:16px 17px 12px;border-radius:17px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .payment-card-head h3{font-size:18px;line-height:1.4;margin-top:3px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .payment-card-head .service-label{font-size:9px;line-height:1.5}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-project-name{font-size:10px;line-height:1.6;margin:4px 0}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .service-price{padding:8px 0 9px;gap:4px;flex-wrap:nowrap}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .service-price strong{font-size:51px;line-height:1.05;white-space:nowrap}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .service-price small{font-size:9px;margin-left:4px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-methods{margin-top:8px;gap:8px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-methods .v47-payment-choice{min-height:46px;padding:8px 9px;gap:6px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .v47-payment-choice>span{font-size:12px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .v47-payment-logo{width:25px;height:25px;flex-basis:25px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .v47-radio{width:14px;height:14px;flex-basis:14px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .service-rules{margin:8px 0 7px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .service-rules summary{font-size:11px;padding:4px 0;min-height:28px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-consent{font-size:10px;line-height:1.8;gap:8px;margin-top:7px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-consent input{margin-top:2px;width:16px;height:16px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-consent .b02-link{font-size:inherit;padding:0 1px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-actions{margin-top:12px;gap:4px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-actions .primary{min-height:44px;font-size:13px;padding:10px 14px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-actions .secondary{min-height:26px;padding:3px;font-size:11px}
}
@media(max-width:360px){
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .gate-content{padding:23px 15px 15px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .payment-card{padding:15px 12px 10px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .v46-benefits p{grid-template-columns:68px minmax(0,1fr);gap:5px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .b02-methods .v47-payment-choice{padding:8px 7px;gap:5px}
 #b02-dialog[data-product=assessment][data-purchase-decision=true] .v47-payment-choice>span{font-size:11px}
}
@media(prefers-reduced-motion:reduce){#messages .v47-reading-block{transition:none}dialog#cost-drawer{animation:none!important}}
