
/* PC09 B02: scoped additions. Approved V4.3 style blocks above are byte-identical. */
.b02-shell{width:580px;max-width:calc(100vw - 28px);max-height:calc(var(--app-h,100dvh) - 32px);margin:auto;inset:0;padding:0;border:1px solid #bcd2ef;border-radius:24px;background:radial-gradient(ellipse at 0 0,#fff,transparent 64%),linear-gradient(135deg,#f1f7ff,#dbe9fd);box-shadow:0 30px 100px #12305d4d;overflow:auto;overscroll-behavior:contain;color:#15243d;scrollbar-width:thin;animation:b02-card-in .2s ease-out}
.b02-shell::backdrop{background:linear-gradient(115deg,#132b568a,#345b9380);backdrop-filter:blur(8px)}
.b02-shell:not([open]){display:none}
.b02-shell.b02-purchase{width:940px}
.b02-card-content{padding:32px}
.b02-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}
.b02-card-head h2{font-size:27px;line-height:1.45;letter-spacing:-.04em;font-weight:650;color:#173e77;overflow-wrap:anywhere;outline:0}
.b02-kicker{font-size:10px;letter-spacing:.12em;color:#6784ab;margin-bottom:12px;display:block}
.b02-lead{font-size:14px;line-height:1.9;color:#4a668b;margin-top:13px;overflow-wrap:anywhere;white-space:pre-line}
.b02-notes{padding-top:15px;margin-top:17px;border-top:1px solid #bdd0e980;display:grid;gap:7px;font-size:12px;color:#526d90;line-height:1.8}
.b02-close{flex:none;width:34px;height:34px;min-height:34px;border:1px solid #bed1ed;border-radius:50%;background:#ffffffa6;color:#4e6f99;display:grid;place-items:center;cursor:pointer;font-size:22px;line-height:1}
.b02-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:10px;margin-top:24px}
.b02-actions .btn{min-height:44px;line-height:1.6;font-size:13px;padding:11px 17px;white-space:normal;text-align:center;overflow-wrap:anywhere;max-width:100%}
.b02-link{border:0;background:none;color:#2855b6;font-size:12px;line-height:1.7;cursor:pointer;padding:5px 3px;max-width:100%;overflow-wrap:anywhere;text-decoration:underline;text-underline-offset:3px}
.b02-foot{border-top:1px solid #c6d7ef90;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 24px;background:#f5f9ff8c;font-size:10px;line-height:1.5;color:#7890ad;flex-wrap:wrap}
.b02-foot .b02-link{font-size:10px}
.b02-field{display:block;margin-top:18px;color:#345781;font-size:12px;line-height:1.8}
.b02-field input,.b02-field select,.b02-field textarea,.b02-control{width:100%;min-width:0;min-height:43px;border:1px solid #b4cbed;border-radius:10px;background:#fff;padding:10px 12px;color:#203d67;outline:none;font:inherit;font-size:14px;box-sizing:border-box;display:block;margin-top:6px}
.b02-field textarea{resize:vertical;min-height:80px;white-space:pre-wrap;overflow-wrap:anywhere}
.b02-field input:focus,.b02-field select:focus,.b02-field textarea:focus,.b02-control:focus{outline:2px solid #6a9ae7;outline-offset:2px}
.b02-consent{display:flex;align-items:flex-start;gap:9px;font-size:12px;line-height:1.9;color:#526b8f;margin-top:17px}
.b02-consent input{width:17px;height:17px;flex:none;margin-top:4px;accent-color:#2855db}
.b02-consent .b02-link{font-size:inherit;display:inline;padding:0 2px}
.b02-purchase .gate-content{padding:32px;gap:32px}
.b02-purchase .gate-story h2{padding-right:0;overflow-wrap:anywhere}
.b02-purchase .b02-close{position:absolute;top:12px;right:12px;z-index:2}
.b02-purchase .b02-project-name{font-size:12px;margin:7px 0;color:#57779c;max-height:none;overflow-wrap:anywhere;white-space:pre-wrap}
.b02-purchase .b02-offer-summary{display:flex;gap:7px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #c7d8ef;font-size:12px;color:#42668d}
.b02-purchase .b02-offer-summary span{border:1px solid #bfd0ea;border-radius:6px;background:#ffffffa3;padding:3px 7px}
.b02-purchase .b02-actions{display:grid;grid-template-columns:1fr;margin-top:18px;gap:6px}
.b02-purchase .b02-actions .primary{width:100%}
.b02-purchase .b02-actions .secondary{border:0;background:none;box-shadow:none;font-size:11px;min-height:30px;padding:4px}
.b02-purchase .b02-notes{border:0;padding:0;margin-top:13px;font-size:11px;gap:5px}
.b02-quote-amount{font-size:42px;font-weight:650;color:#234fa9;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;line-height:1.2;margin:18px 0}
.b02-quote-amount small{font-size:15px;margin-right:5px}
.b02-methods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}
.b02-methods button{border:1px solid #bbd0ed;border-radius:12px;background:#fff;padding:17px 12px;text-align:left;color:#48678b;font-size:14px;min-height:65px}
.b02-methods button[aria-pressed=true]{border-color:#3970cc;background:linear-gradient(130deg,#e5efff,#f7faff);box-shadow:inset 0 0 0 1px #5786d4;color:#1c4daa}
.b02-methods small{display:block;margin-top:5px;font-size:10px;color:#718aae}
.b02-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:20px 0}
.b02-summary-grid>div{border:1px solid #c4d5ee;border-radius:12px;padding:15px 10px;background:#ffffff9c;text-align:center;min-width:0}
.b02-summary-grid strong{display:block;font-size:25px;font-weight:650;color:#2754aa;overflow-wrap:anywhere}
.b02-summary-grid span{display:block;font-size:11px;margin-top:4px;color:#6581a6}
.b02-warning{padding:12px 14px;border:1px solid #d5b184;border-radius:11px;background:#fff5e9;color:#835625;font-size:12px;line-height:1.85;margin:15px 0;overflow-wrap:anywhere}
.b02-payload{width:100%;resize:vertical;padding:12px;border:1px solid #c4d7f1;border-radius:10px;background:#fff;font:12px/1.8 ui-monospace,monospace;color:#315b8d;min-height:80px;max-height:160px;white-space:pre-wrap;overflow-wrap:anywhere;display:block;margin-top:15px}
/* Bottom cost metrics: the original nodes are moved above the original form at every width. */
.b02-eval .grid-final{grid-template-columns:164px minmax(0,1fr);gap:26px}
.b02-eval .grid-final.steps-collapsed{grid-template-columns:54px minmax(0,1fr)}
.b02-eval .convo-final{min-width:0;min-height:0}
.b02-eval .composer-zone>.rail-final{position:relative;inset:auto;align-self:auto;width:100%;height:auto;max-height:none;min-height:44px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #91afd478;border-radius:11px;margin:0 0 9px;padding:0;overflow:hidden;flex:none;background:linear-gradient(105deg,#ffffff6e,#e3efff6b);box-shadow:none;animation:none}
.b02-eval .composer-zone>.rail-final .metric-cell{min-width:0;height:44px;min-height:0;width:100%;padding:0 9px;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:9px;border:0;border-right:1px solid #91afd44d;text-align:center;background:transparent}
.b02-eval .composer-zone>.rail-final .metric-cell:last-of-type{border-right:0}
.b02-eval .composer-zone>.rail-final .metric-number{flex:0 1 auto;width:auto;min-width:0;max-width:calc(100% - 60px);height:auto;font-size:18px;line-height:1.2;letter-spacing:-.025em;display:flex;align-items:baseline;justify-content:center;color:#2455d6;white-space:nowrap;overflow-wrap:normal}
.b02-eval .composer-zone>.rail-final .metric-number small{font-size:9px;line-height:1;margin-left:2px;color:#617993}
.b02-eval .composer-zone>.rail-final .metric-number.is-unknown{font-size:12px;color:#6d7f99;letter-spacing:0}
.b02-eval .composer-zone>.rail-final .metric-label{order:-1;flex:none;display:block;font-size:11px;line-height:1.2;font-weight:500;letter-spacing:0;margin:0;color:#45607e;white-space:nowrap}
.b02-eval .composer-zone>.rail-final .metric-label>span{display:inline}
.b02-eval .composer-zone>.rail-final .metric-label:after,.b02-eval .composer-zone>.rail-final .rail-hint{display:none}
.b02-servicebar{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;border-bottom:1px solid #adc5e560;padding:6px 0;font-size:10px;line-height:1.6;color:#6f87a6;flex:none}
.b02-servicebar>span{min-width:0;overflow-wrap:anywhere}
.b02-servicebar .b02-link{font-size:10px;padding:2px 4px}
.b02-servicebar nav{display:flex;gap:8px;flex-wrap:wrap}
.b02-input-lock{border:1px solid #a9c6ef;background:linear-gradient(120deg,#f7faff,#dbe9ff);border-radius:14px;padding:14px 17px;display:flex;gap:16px;align-items:center;justify-content:space-between;box-shadow:0 8px 24px #345d9510}
.b02-input-lock[hidden]{display:none}
.b02-input-lock strong{display:block;font-size:14px;color:#234e96;line-height:1.5}
.b02-input-lock p{font-size:11px;color:#607b9d;line-height:1.8;margin-top:4px}
.b02-input-lock .btn{font-size:12px;min-height:42px;flex:none;line-height:1.6;white-space:normal;text-align:center;padding:9px 13px}
.b02-notice{margin:7px 0;padding:12px 15px;border:1px solid #b5cce9;border-radius:12px;background:linear-gradient(115deg,#f5f9ff,#e1edfd);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;max-height:200px;overflow:auto;overscroll-behavior:contain}
.b02-notice h3{font-size:13px;line-height:1.6;font-weight:650;color:#31598d;overflow-wrap:anywhere}
.b02-notice p{font-size:11px;line-height:1.8;margin-top:4px;color:#617c9f;white-space:pre-line;overflow-wrap:anywhere}
.b02-notice .b02-actions{margin-top:8px;gap:6px}
.b02-notice .b02-actions .btn{min-height:34px;padding:5px 10px;font-size:11px}
.b02-notice .b02-close{width:26px;height:26px;min-height:26px;font-size:18px}
.b02-notice .b02-notes{font-size:10px;margin-top:6px;padding-top:6px;gap:2px}
.b02-notice.b02-urgent{background:#fff4ed;border-color:#d6af92}
.b02-wait{display:flex;align-items:center;gap:10px;padding:9px 2px;font-size:12px;color:#5375a0}
.b02-spinner{width:15px;height:15px;border:1.5px solid #bad0ef;border-top-color:#346ac3;border-radius:50%;animation:b02-spin 1s linear infinite;flex:none}
.b02-task-line{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:7px 0;font-size:10px;color:#7890ab}
.b02-task-line .b02-link{font-size:10px}
.b02-inline-tools{display:flex;justify-content:flex-end;gap:9px;flex-wrap:wrap;margin:9px 0 2px}
.b02-inline-tools .b02-link{font-size:11px}
.b02-msg-meta{font-size:10px;line-height:1.6;color:#7891b1;margin-bottom:5px}
.b02-eval #thread{overflow-anchor:none;scroll-behavior:auto}
.b02-eval #messages .msg{min-width:0}
.b02-eval #messages .msg-text{min-width:0;max-width:100%;overflow-wrap:anywhere}
.b02-reply-copy{font-size:14px;line-height:26px;overflow:hidden;position:relative;white-space:normal;overflow-wrap:anywhere;max-width:100%}
.b02-reply-copy p,.b02-reply-copy h3,.b02-reply-copy li{margin:0;font-size:inherit;line-height:26px;letter-spacing:normal}
.b02-reply-copy h3{font-weight:650;color:#245093}
.b02-reply-copy ul,.b02-reply-copy ol{padding-left:20px;margin:0}
.b02-reply-copy code{font-size:.9em;background:#dfeafa;border-radius:3px;padding:0 3px;white-space:pre-wrap}
.b02-reply-copy pre{white-space:pre;overflow:auto;max-width:100%;padding:10px;background:#e4edf9;font-size:12px;line-height:22px}
.b02-reply-copy .b02-table-scroll{overflow-x:auto;max-width:100%;line-height:26px}
.b02-g{opacity:1}

.b02-message-actions{margin-top:8px;display:flex;gap:8px;align-items:center}
.b02-message-actions .b02-link{font-size:11px}
.b02-new-reply{border:1px solid #a9c4eb;background:#edf5ff;color:#2757a5;border-radius:20px;font-size:11px;line-height:1.7;padding:6px 14px;position:absolute;right:5px;top:-38px;box-shadow:0 6px 20px #2454a41a;max-width:calc(100% - 10px)}
.b02-new-reply[hidden]{display:none}
.b02-eval .composer-zone{position:relative}
.b02-doc-footer{font-size:11px;line-height:1.9;color:#768ca9;padding-top:16px;border-top:1px solid #bdd0ec;display:grid;gap:7px;width:100%;max-width:100%}
.b02-doc-footer nav{display:flex;gap:13px;flex-wrap:wrap}
.b02-doc-footer .b02-link{font-size:11px}
.b02-doc-footer .b02-pending{font-size:10px;color:#8c764b}
.b02-document-view{width:min(850px,calc(100% - 36px));margin:28px auto 80px;min-height:65vh}
.b02-document-toolbar{display:flex;justify-content:space-between;gap:13px;flex-wrap:wrap;position:sticky;top:var(--nav-h);z-index:5;background:#f1f7fff5;padding:10px 0;border-bottom:1px solid #ccd9ec}
.b02-document-body{background:linear-gradient(145deg,#fff,#f4f8ff);border:1px solid #ccdaf0;border-radius:18px;padding:32px;margin-top:18px;font-size:14px;line-height:1.95;color:#435c7e;overflow-wrap:anywhere}
.b02-document-body h1{font-size:31px;color:#183e77;line-height:1.5;margin-bottom:18px}
.b02-document-body h2{font-size:19px;margin-top:30px;margin-bottom:12px;color:#254e88;line-height:1.65}
.b02-document-body h3{font-size:16px;margin:20px 0 9px}
.b02-document-body p{margin:12px 0}
.b02-draft-label{font-size:12px;padding:14px 17px;border-left:3px solid #779bce;background:#e9f1fe;line-height:1.9;margin-bottom:24px;color:#5b7597}
.b02-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior:contain;scrollbar-width:thin}
.b02-table-scroll table{border-collapse:collapse;min-width:520px;width:100%;font-size:12px}
.b02-table-scroll th,.b02-table-scroll td{border:1px solid #c7d8ee;text-align:left;padding:10px 12px;vertical-align:top;line-height:1.85}
.b02-table-scroll th{background:#e7effc;color:#315687}



.b02-review-launcher{position:fixed;left:12px;bottom:max(10px,env(safe-area-inset-bottom));z-index:30;border:1px solid #b9cdec;border-radius:10px;background:#f5f9fff0;box-shadow:0 6px 22px #244b8620;padding:9px 12px;min-height:36px;font:11px/1.5 inherit;font-size:11px;color:#416691;display:flex;gap:13px;align-items:center;cursor:pointer;max-width:calc(100vw - 24px)}
.b02-review-launcher span{color:#7594bf}
.b02-review-shell{width:710px}
.b02-review-head{padding-bottom:15px;border-bottom:1px solid #bdd0e9}
.b02-review-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.b02-review-grid .b02-field{margin-top:12px}
.b02-review-wide{grid-column:1/-1}
.b02-review-detail{margin-top:21px;border-top:1px solid #bfcee2;padding-top:13px}
.b02-review-detail>summary{font-size:13px;color:#406a9d;cursor:pointer;line-height:1.8}
.b02-review-detail p{font-size:11px;color:#6b84a4;line-height:1.8;margin-top:9px}
.b02-journey-guide{font-size:12px;line-height:1.9;white-space:pre-wrap;color:#5c7598;max-height:170px;overflow:auto;margin-top:12px;padding:12px;border:1px solid #c9d9ef;border-radius:9px;background:#ffffff9c}
.b02-review-chip{font-size:10px;line-height:1.7;color:#7b8eab;margin:8px 0}
.b02-cost-actions{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:9px}
.b02-cost-actions .btn{font-size:11px;min-height:36px;padding:7px 11px}
#cost-drawer.b02-cost .row-price{white-space:normal;overflow-wrap:anywhere;max-width:100%;font-size:14px}
#cost-drawer.b02-cost .row-price .amount-value{white-space:normal;overflow-wrap:anywhere}
#cost-drawer.b02-cost .component-row{grid-template-columns:30px minmax(0,1fr) minmax(55px,auto)}
#cost-drawer.b02-cost .section-total{white-space:normal;overflow-wrap:anywhere}
#cost-drawer.b02-cost .section-total .amount-value{white-space:normal;overflow-wrap:anywhere}
#cost-drawer.b02-cost .b02-full-amount{font-size:10px;line-height:1.7;display:block;color:#748eae;overflow-wrap:anywhere;margin:6px 0}
.b02-cost-section-note{font-size:11px;color:#7b91ae;padding-top:5px;line-height:1.7}
.b02-full-value{padding:12px;background:#ffffffad;border:1px solid #c4d7ee;border-radius:10px;overflow-wrap:anywhere;white-space:pre-wrap;font-size:12px;line-height:1.9;margin:12px 0;color:#47658c;font-variant-numeric:tabular-nums}
.b02-report-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;border:1px solid #c0d4f0;border-radius:12px;background:#ffffffa0;margin-top:12px;min-width:0}
.b02-report-item>div{min-width:0;overflow-wrap:anywhere}
.b02-report-item strong{display:block;font-size:13px;color:#355b8e;line-height:1.8}
.b02-report-item small{display:block;font-size:10px;color:#7890ae;line-height:1.8}
.b02-report-item .b02-link{flex:none;font-size:11px}
.b02-toast{position:fixed;bottom:65px;left:50%;transform:translateX(-50%);z-index:90;background:#214777;color:#f8fbff;padding:12px 20px;border-radius:12px;font-size:12px;line-height:1.8;max-width:calc(100vw - 32px);box-shadow:0 6px 24px #244b862e;overflow-wrap:anywhere}
.b02-toast[hidden]{display:none}
.b02-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.b02-shell button:focus-visible,.b02-review-launcher:focus-visible,.b02-document-view button:focus-visible{outline:2px solid #3779d9;outline-offset:3px}
.b02-shell button:disabled{opacity:.48;cursor:not-allowed}
@keyframes b02-card-in{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
@keyframes b02-spin{to{transform:rotate(360deg)}}
@media(max-width:1000px){.b02-eval .grid-final{grid-template-columns:130px minmax(0,1fr);gap:18px}.b02-eval .grid-final.steps-collapsed{grid-template-columns:45px minmax(0,1fr)}}
@media(max-width:700px){
.b02-eval .grid-final,.b02-eval .grid-final.steps-collapsed{display:flex;flex-direction:column;gap:0}
.b02-card-content{padding:25px 21px}
.b02-card-head h2{font-size:24px}
.b02-shell{border-radius:20px;max-width:calc(100vw - 24px);max-height:calc(var(--app-h,100dvh) - 24px)}
.b02-lead{font-size:13px;line-height:1.9}
.b02-notes{font-size:11px}
.b02-actions{gap:8px;margin-top:20px}
.b02-actions .btn{font-size:12px;padding:10px 13px;min-height:44px}
.b02-foot{padding:10px 20px;font-size:9px}
.b02-purchase .gate-content{display:block;padding:29px 20px 20px}
.b02-purchase .gate-story{padding-right:12px}
.b02-purchase .gate-story h2{font-size:27px}
.b02-purchase .payment-card{margin-top:18px;padding:19px 17px}
.b02-purchase .b02-notes{font-size:11px}
.b02-purchase .b02-consent{font-size:11px}
.b02-summary-grid{gap:7px}.b02-summary-grid>div{padding:13px 7px}
.b02-summary-grid strong{font-size:23px}
.b02-input-lock{padding:12px 13px;gap:12px}
.b02-input-lock strong{font-size:12px}
.b02-input-lock p{font-size:10px}
.b02-input-lock .btn{font-size:11px;padding:8px 10px}
.b02-eval .composer-bottom{padding-bottom:37px;min-height:53px;justify-content:flex-end}
.b02-eval .composer-bottom>span{font-size:9px}
.b02-servicebar{padding:5px 16px;font-size:9px}
.b02-servicebar nav{gap:5px}
.b02-servicebar .b02-link{font-size:9px}
.b02-eval .composer-zone>.rail-final .metric-cell{gap:5px;height:40px;padding:0 6px}
.b02-eval .composer-zone>.rail-final{min-height:40px}
.b02-eval .composer-zone>.rail-final .metric-label{font-size:10px}
.b02-eval .composer-zone>.rail-final .metric-number{font-size:16px;max-width:calc(100% - 44px)}
.b02-eval .composer-zone>.rail-final .metric-number.is-unknown{font-size:11px}
.b02-notice{padding:10px 12px;margin:5px 0;max-height:170px}
.b02-document-view{width:calc(100% - 24px);margin-top:13px}
.b02-document-body{padding:23px 19px;font-size:13px;line-height:1.95}
.b02-document-body h1{font-size:27px}
.b02-document-body h2{font-size:18px}
.b02-document-toolbar{top:var(--nav-h)}
.b02-review-grid{grid-template-columns:1fr}
.b02-review-grid .b02-field{margin-top:8px}
.b02-review-head h2{font-size:23px}
.b02-review-launcher{padding:7px 10px;min-height:32px;font-size:10px;left:12px;bottom:9px}
#cost-drawer.b02-cost .component-row{grid-template-columns:25px minmax(0,1fr) minmax(45px,auto)}
#cost-drawer.b02-cost .row-price{font-size:12px}
.b02-cost-actions .btn{font-size:10px;padding:6px 10px}
.b02-cost-actions .b02-link{font-size:9px}
.b02-doc-footer{padding-bottom:24px}
.b02-doc-footer nav{gap:9px}
}
@media(max-width:360px){
.b02-card-content{padding:23px 18px}.b02-card-head h2{font-size:22px}
.b02-purchase .gate-content{padding:27px 15px 18px}.b02-purchase .gate-story h2{font-size:25px}.b02-purchase .payment-card{padding:18px 14px}
.b02-input-lock{display:block;padding:10px 12px}.b02-input-lock .btn{margin-top:8px;min-height:35px}
.b02-servicebar{padding-left:12px;padding-right:12px}.b02-servicebar nav{gap:2px}
.b02-eval .composer-zone>.rail-final .metric-label{font-size:9px}.b02-eval .composer-zone>.rail-final .metric-number{font-size:14px;max-width:calc(100% - 37px)}
.b02-eval .composer-zone>.rail-final .metric-cell{padding:0 4px;gap:4px}
.b02-notice{max-height:145px}
}
@media(max-height:520px){
.b02-shell{max-height:calc(var(--app-h,100dvh) - 20px)}
.b02-card-content{padding-top:21px;padding-bottom:21px}
.b02-notice{max-height:120px}
.b02-eval .composer-zone{padding-top:5px}
.b02-eval .composer-bottom{min-height:22px;padding-top:2px;padding-bottom:0}
.b02-eval .composer-zone>.rail-final{margin-bottom:5px;min-height:36px}
.b02-eval .composer-zone>.rail-final .metric-cell{height:34px}
.b02-eval .budget-inline{display:none}
.b02-eval .composer{min-height:48px}
.b02-eval #chat-input{max-height:48px;min-height:40px;height:40px}
.b02-servicebar{padding-top:3px;padding-bottom:3px}
.b02-input-lock{padding:8px 12px}
.b02-input-lock p{display:none}
.b02-input-lock .btn{min-height:34px;padding:6px 11px}
.b02-review-launcher{bottom:7px}
}
@media(max-height:520px) and (max-width:700px){.b02-eval .composer-bottom{min-height:35px;padding-bottom:25px}}
@media(prefers-reduced-motion:reduce){.b02-shell,.b02-spinner{animation:none}.b02-g{transition:none}}

/* Layout correction verified after the first real mobile rendering. */
.b02-eval .composer-bottom{display:flex;min-height:44px;align-items:flex-start;justify-content:flex-end;padding:7px 3px 0}
.b02-servicebar>div{min-width:0;overflow-wrap:anywhere}
.b02-servicebar #b02-storage-note{display:block;font-size:9px;color:#7b91af}
.b02-persistent-task{flex:none;font-size:11px;line-height:1.6;padding:0 4px}
.b02-persistent-task[hidden]{display:none}
.b02-eval #utility-menu{max-height:calc(var(--app-h) - var(--nav-h) - 20px);overflow-y:auto}
@media(max-width:700px){.b02-eval .composer-bottom{min-height:44px;padding:6px 3px 0}}
@media(max-height:520px){.b02-eval .composer-bottom{min-height:41px;padding-top:4px}.b02-servicebar #b02-storage-note{display:none}}
/* Short landscape keeps accepted-task notices, metrics and input simultaneously reachable. */
.b02-eval .grid-final{grid-template-rows:minmax(0,1fr)}
.b02-eval .journey-sidebar{min-height:0}
@media(max-height:520px){
 .eval-view.variant-final.b02-eval{padding-top:8px;padding-bottom:0}
 .b02-eval .grid-final{height:100%;min-height:0}
 .b02-eval .journey-sidebar{overflow-y:auto;scrollbar-width:thin}
 .b02-eval .composer-zone{padding-top:4px;padding-bottom:0}
 .b02-eval #chat-form{padding:6px 10px;min-height:54px}
 .b02-eval .composer #chat-input{height:40px!important;min-height:40px;max-height:40px}
 .b02-eval .composer-bottom{min-height:48px;padding-top:4px}
 .b02-eval .b02-notice{max-height:68px;margin-top:3px;margin-bottom:3px}
 .b02-eval .b02-servicebar{font-size:9px;line-height:1.4}
 .b02-eval .b02-servicebar .b02-link{font-size:9px}
 .b02-eval .b02-persistent-task{line-height:1.4}
}
.b02-purchase .gate-content,.b02-purchase .gate-story,.b02-purchase .payment-card{min-width:0}
.b02-purchase .service-price{flex-wrap:wrap;gap:4px;min-width:0;max-width:100%}
.b02-purchase .service-price strong{min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:normal}
.b02-purchase .service-price small{white-space:normal;overflow-wrap:anywhere}
.b02-close svg{display:block;width:16px;height:16px;flex:none}
#cost-drawer.b02-cost [data-tab-amount]{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#cost-drawer.b02-cost [data-tab-amount] small{font-size:10px;margin-left:3px;letter-spacing:0;font-weight:400}

/* Keep the collapsed reviewer in the original left rail on short landscape. */
@media(max-height:520px) and (min-width:701px){
 .b02-review-launcher{width:52px;min-width:0;max-width:52px;padding:7px 4px;font-size:0}
 .b02-review-launcher::after{content:"审阅";font-size:11px;line-height:1.6}
}
body.in-eval #utility-menu{max-height:calc(var(--app-h) - var(--nav-h) - 20px);overflow-y:auto}


/* V4.5 bounded repairs: no selectors inside frozen home modules or global resets. */
.b02-eval #chat-form{flex-wrap:wrap}
#b02-consent-panel,#b02-composer-feedback{flex:0 0 100%;min-width:0;width:100%}
#b02-consent-panel:empty,#b02-composer-feedback:empty{display:none}
.s2-inline-feedback{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;border:1px solid #b5cce9;border-radius:10px;background:linear-gradient(120deg,#f8fbff,#e8f1ff);padding:10px 12px;max-height:min(250px,34vh);overflow:auto;overscroll-behavior:contain}
.s2-inline-feedback>div{min-width:0;flex:1}
.s2-inline-feedback strong,.s2-inline-head strong{font-size:13px;line-height:1.7;color:#31598d;overflow-wrap:anywhere}
.s2-inline-feedback p,.s2-small{font-size:12px;line-height:1.8;color:#5a7496;overflow-wrap:anywhere;margin:4px 0}
.s2-inline-feedback .b02-close,.s2-reply-status .b02-close,.s2-inline-head .b02-close{width:26px;min-height:26px;height:26px}
.s2-inline-actions{display:flex;gap:6px 10px;flex-wrap:wrap;align-items:center;margin-top:7px}
.s2-inline-actions .btn{font-size:12px;line-height:1.7;min-height:34px;padding:6px 10px;white-space:normal;max-width:100%}
.s2-inline-actions .b02-link{font-size:12px}
.s2-urgent{background:#fff4ed;border-color:#d6af92}
.b02-input-lock{padding:10px 14px;box-shadow:none;border-radius:11px;gap:12px;flex-wrap:wrap}
.b02-input-lock strong{font-size:13px;line-height:1.7;min-width:0;overflow-wrap:anywhere}
.b02-input-lock .b02-link{margin-left:auto;flex-shrink:0}
.s2-reply-operation>.msg-text{width:min(560px,100%);background:linear-gradient(115deg,#edf4ff8c,#f8fbff30)!important;border:0!important;padding:10px 12px!important;box-shadow:none}
.s2-reply-status{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;white-space:normal}
.s2-reply-status>div{min-width:0}
.s2-reply-status strong{font-size:13px;line-height:1.8;font-weight:500;color:#466791}
.s2-reply-status p{font-size:12px;line-height:1.8;margin:4px 0;color:#5f7c9d}
.s2-reply-status .b02-spinner{display:inline-block;vertical-align:middle;margin-right:9px}
#utility-menu{max-width:calc(100vw - 24px);max-height:calc(var(--app-h,100dvh) - 100px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;width:310px}
#utility-menu[hidden]{display:none}
.s2-utility-entries{display:grid;gap:1px}
.s2-utility-entries>button{display:block!important;width:100%;text-align:left;padding:10px 12px;font-size:12px;color:#345b8c;border:0;background:transparent;border-radius:7px;line-height:1.8}
.s2-utility-entries>button:hover{background:#e7f0fe}
#b02-persistent-task{display:flex;flex-wrap:wrap;gap:5px;padding:8px 6px;border-bottom:1px solid #bdd0e9}
#b02-persistent-task[hidden]{display:none}
.s2-data-operation{background:linear-gradient(125deg,#f8fbff,#e5efff);border:1px solid #bfd2ed;border-radius:10px;padding:12px;margin-bottom:9px;overflow-wrap:anywhere}
.s2-data-operation>p{font-size:12px;line-height:1.9;margin-top:8px}
.s2-data-operation .b02-notes{font-size:11px;padding-top:7px;margin-top:8px}
.s2-inline-head{display:flex;justify-content:space-between;align-items:start;gap:8px}
.s2-transaction .gate-content{min-height:0;max-height:none}
.s2-transaction .gate-story{align-self:center}
.s2-transaction .payment-card{min-width:0;min-height:0}
.s2-transaction .b02-offer-summary{margin:8px 0 4px}
.s2-purchase-summary{font-size:12px;line-height:1.8;color:#466891;margin:8px 0}
.s2-stage-title{font-size:23px;line-height:1.5;font-weight:650;overflow-wrap:anywhere;color:#214d96;margin-top:20px}
.s2-receipt{border-top:1px solid #bfd2eb;padding-top:12px;margin-top:18px;min-width:0}
.s2-receipt dl{font-size:12px;line-height:1.9;min-width:0}
.s2-receipt dt{color:#6b85a4;font-size:11px;margin-top:9px}
.s2-receipt dd{margin:0;color:#345a88;overflow-wrap:anywhere;white-space:pre-wrap;font-variant-numeric:tabular-nums}
.s2-copy-feedback{min-width:0;max-width:100%;grid-column:1/-1;margin-top:8px}
.s2-copy-feedback p{font-size:12px;line-height:1.8;color:#735325}
.s2-copy-feedback .b02-payload{margin-top:7px;font-size:12px;min-height:64px;max-height:160px;box-sizing:border-box}
.s2-copy-object{min-width:0}
.s2-copy-price{border:0;background:transparent;font:inherit;color:inherit;padding:0;text-align:right;cursor:pointer}
.s2-cost-status{border-bottom:1px solid #c8d8ee;padding-bottom:12px;margin-bottom:14px;color:#476b97;font-size:12px;line-height:1.8;overflow-wrap:anywhere}
.s2-cost-status h3{font-size:14px;margin:0 0 5px}
.s2-cost-status input{max-width:100%}
.s2-report .b02-card-content{padding:28px}
.s2-report-links{display:flex;gap:10px;flex-wrap:wrap}
.s2-report .b02-report-item{display:block;padding:12px}
.s2-report .b02-report-item small{font-size:11px}
.s2-report .b02-report-item .b02-link{font-size:12px}
.s2-saved-text{margin-top:12px;font-size:12px;line-height:1.8;color:#44688d}
.s2-report-stage>.s2-full-saved-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9;margin-top:15px}
#b02-page-notice:not([hidden]){margin:12px 16px;flex:none}
#b02-page-notice:empty{display:none}
.s2-review-dialog{position:fixed;inset:auto auto 10px 12px;margin:0;width:450px;max-width:calc(100vw - 24px);height:min(730px,calc(var(--app-h,100dvh) - 24px));max-height:calc(var(--app-h,100dvh) - 24px);border:1px solid #b8cdee;border-radius:16px;background:#f5f9ff;padding:0;box-shadow:0 20px 80px #16356055;overflow:hidden;color:#25456c}
.s2-review-dialog[open]{display:flex;flex-direction:column}
.s2-review-dialog::backdrop{background:#16366338;backdrop-filter:blur(2px)}
.s2-review-head{display:flex;align-items:start;gap:12px;flex-wrap:wrap;flex:none;padding:16px 18px 10px;border-bottom:1px solid #c7d8ee;background:linear-gradient(120deg,#fff,#eaf2ff)}
.s2-review-head>div{flex:1;min-width:0}
.s2-review-head h2{font-size:18px;line-height:1.6;margin:0}
.s2-review-head p{font-size:11px;line-height:1.7;margin-top:3px;color:#6882a3}
#s2-review-search{flex:0 0 100%;min-width:0;width:100%;font:13px/1.6 inherit;padding:9px 11px;border:1px solid #b4cbed;background:#fff;border-radius:8px;box-sizing:border-box}
#b02-review-current{flex:0 0 100%;margin:0}
.s2-review-scroll{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;padding:8px 12px 16px}
.s2-review-group{margin-top:12px}
.s2-review-group>h3{font-size:13px;line-height:1.8;color:#436996;padding:7px 5px;border-bottom:1px solid #ccdcef;margin-bottom:7px}
.s2-review-group>h3 small{font-size:10px;color:#7b91ac;margin-left:7px}
.s2-review-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;padding:9px 10px;border:1px solid transparent;border-radius:8px;background:transparent;text-align:left;color:#365a88;min-height:38px;cursor:pointer}
.s2-review-row>span{min-width:0;font-size:12px;line-height:1.7;overflow-wrap:anywhere}
.s2-review-row>small{font:10px/1.6 ui-monospace,monospace;color:#7890ad;flex-shrink:0}
.s2-review-row:hover{background:#e8f1ff}
.s2-review-row.s2-current{border-color:#4a7ad0;background:#dfeaff;color:#164bb3}
.s2-review-row.s2-current>small{color:#245cca}
.s2-variant-row{padding-left:22px}
.s2-review-row[hidden],.s2-review-group[hidden]{display:none}
.s2-review-footer{display:flex;align-items:center;gap:9px;flex:none;padding:12px;border-top:1px solid #c7d8ee;background:#f9fbff}
.s2-review-footer .btn{font-size:12px;min-height:38px;padding:8px 12px;white-space:normal}
.s2-review-footer>span{font-size:10px;line-height:1.7;color:#6e87a7}
#s2-diagnostic{font:11px/1.8 ui-monospace,monospace;white-space:pre-wrap;overflow-wrap:anywhere;background:#edf4ff;padding:10px}
.s2-review-scroll .b02-review-grid{gap:8px}
.s2-review-dialog :focus-visible{outline:2px solid #3975cb;outline-offset:2px}
@media(max-width:700px){
 .s2-transaction .gate-content{padding:27px 20px 20px}
 .s2-stage-title{font-size:21px}
 .s2-report .b02-card-content{padding:24px 20px}
 .s2-inline-feedback{padding:8px 10px;max-height:min(235px,32vh)}
 .s2-inline-feedback .b02-consent{margin-top:8px;font-size:11px}
 #cost-drawer.b02-cost .component-row{grid-template-columns:23px minmax(0,1fr)}
 #cost-drawer.b02-cost .component-row>.row-price{grid-column:2;justify-self:start;text-align:left;max-width:100%;line-height:1.7;font-size:14px}
 .s2-review-head{padding:12px 14px 8px}
 .s2-review-head h2{font-size:16px}
 .s2-review-scroll{padding:5px 8px 14px}
 .s2-review-row{gap:7px;padding:8px}
 .s2-review-row>small{font-size:9px}
 .s2-review-footer{padding:10px}
}
@media(max-height:500px){
 .s2-transaction .gate-content{padding:24px;gap:24px}
 .s2-transaction .gate-story h2{font-size:31px}
 .s2-review-head>div>p{display:none}
 .s2-review-head{padding:8px 12px;gap:7px}
 .s2-review-head h2{font-size:15px}
 .s2-review-footer{padding:7px 10px}
 .s2-review-footer .btn{min-height:32px}
 #utility-menu{max-height:calc(var(--app-h,100dvh) - 82px)}
 .s2-inline-feedback{max-height:105px}
}
dialog.s2-transaction,dialog.s2-report,dialog.s2-utility,dialog#b02-document-view,dialog#cost-drawer{max-width:min(calc(100vw - 40px),calc(100% - 24px))!important;max-height:min(calc(var(--app-h,100dvh) - 64px),calc(100% - 24px))!important} .s2-transaction{container-type:inline-size;container-name:transaction} @container transaction (max-width:650px){.s2-transaction .gate-content{grid-template-columns:1fr;gap:20px;padding:27px 20px 20px}.s2-transaction .gate-story h2{font-size:28px}.s2-transaction .gate-story .gate-intro{max-width:none}}/* P15/P17: top-layer review control cannot obscure the original bottom actions. */


