:root{font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","PingFang SC","Microsoft YaHei",sans-serif;color:#1d1d1f;background:#f5f5f7;font-synthesis:none;font-size:14px;--blue:#0071e3;--muted:#6e6e73;--line:#e5e5e9;--red:#bf3435;--green:#23794d}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select,summary{-webkit-tap-highlight-color:transparent}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.42}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #8bc2ff;outline-offset:3px}input:focus,textarea:focus,select:focus{outline:3px solid #0071e324;border-color:#0071e3}input[type=checkbox]{accent-color:var(--blue)}[hidden]{display:none!important}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,p{margin:0}h1{font-size:20px;letter-spacing:-.6px}h2{font-size:30px;letter-spacing:-1.1px;font-weight:650;line-height:1.35}h3{font-size:17px;letter-spacing:-.35px;font-weight:650}p{line-height:1.65}
.app-header{height:76px;padding:0 34px;background:#fffffff0;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:5;backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:11px;color:inherit;font-size:16px;font-weight:650;letter-spacing:-.3px}.brand:hover{text-decoration:none}.brand small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:3px;letter-spacing:.2px}.brand-icon{font-size:31px;font-weight:350;line-height:36px;width:36px;text-align:center;background:#1d1d1f;color:white;border-radius:9px}.connection{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.status-dot{width:6px;height:6px;border-radius:50%;background:#a8a8ad}.status-dot.connected{background:#36a868}.status-dot.failed{background:var(--red)}.workspace{display:grid;grid-template-columns:340px minmax(0,1fr);max-width:1650px;margin:auto;min-height:calc(100vh - 76px)}.sidebar{background:#fff;border-right:1px solid var(--line);padding:27px 24px 18px;position:sticky;top:76px;height:calc(100vh - 76px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#d7d7db transparent}.sidebar-heading,.section-title,.selection-heading,.picker-actions,.work-heading,.override-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px}.unit,.summary-meta{font-size:11px;color:var(--muted)}.example-actions{display:flex;gap:13px;margin:12px 0 23px;flex-wrap:wrap}.text-button{background:transparent;padding:2px 0;color:var(--blue);font-size:12px;line-height:1.65;font-weight:500;white-space:nowrap}.text-button:hover{text-decoration:underline}.muted{color:var(--muted)}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:16px;min-width:0}.field>span{font-size:12px;font-weight:560;color:#3e3e43}.field i{font-style:normal;color:#929298;font-size:10px;letter-spacing:.4px;margin-left:4px}input:not([type=checkbox]),textarea,select{width:100%;border:1px solid #d4d4d9;border-radius:8px;background:white;padding:10px 11px;color:inherit;min-height:41px;transition:border-color .15s;min-width:0}textarea{resize:vertical;line-height:1.6}input::placeholder{color:#97979c;font-size:12px}input[type=number]{font-variant-numeric:tabular-nums}select{padding-right:22px;font-size:12px}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.field-help{font-size:11px;line-height:1.65;color:var(--muted)}#heightsHint{margin-top:-9px}.height-summary{margin:12px 0 17px;padding:10px 12px;background:#f5f5f7;border-radius:8px;color:#68686e;font-size:11px;line-height:1.75}.height-summary strong{color:#343438;font-weight:600}.height-summary.invalid{color:var(--red)}.selection-picker{border-top:1px solid var(--line);padding:16px 0}.selection-picker summary{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:12px;font-weight:600;list-style:none}.selection-picker summary:after{content:"⌄";font-size:15px;line-height:12px;color:#999}.selection-picker[open] summary:after{transform:rotate(180deg)}.selection-picker .summary-meta{margin-left:auto;font-weight:400}.selection-picker>p{margin-top:10px}.selection-picker summary::-webkit-details-marker{display:none}.picker-actions{font-size:11px;color:var(--muted);justify-content:flex-end;margin:12px 0 9px;gap:13px}.picker-actions>span{margin-right:auto}.check-options{padding:0;margin:0;border:0}.check-option{display:flex;align-items:flex-start;gap:8px;font-size:12px;line-height:1.6;cursor:pointer}.check-option input{flex:0 0 auto;width:14px;height:14px;margin:2px 0 0}.structures{display:flex;flex-direction:column;gap:10px;max-height:380px;overflow:auto;padding:3px}.door-picker{border:0;border-top:1px solid var(--line);padding:16px 0;margin:0}.door-picker legend{padding:0;font-size:12px;font-weight:600;float:left;width:100%}.door-picker .picker-actions{clear:both;padding-top:2px}.door-picker legend span{font-weight:400;float:right}.doors{display:grid;grid-template-columns:1fr 1fr;gap:11px 8px;margin-top:13px}.overrides{padding-bottom:8px}.overrides>.field-pair{margin-top:14px}.override-bottom{align-items:flex-start}.override-bottom>p{max-width:205px}.dimension-notice{font-size:11px;color:var(--red);line-height:1.65;margin:-7px 0 13px}.dimension-input-alert{color:var(--red)!important;border-color:#d68b8c!important;background:#fff9f9!important}.calculate-dock{padding:16px 0 1px;position:sticky;bottom:-18px;background:linear-gradient(#ffffffd9,#fff 30%);margin-top:4px}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:9px;padding:11px 18px;min-height:42px;font-size:13px;font-weight:550;line-height:1.4;transition:background .15s,box-shadow .15s}.button:hover{text-decoration:none}.primary{background:var(--blue);color:white}.primary:hover:not(:disabled){background:#0077ed}.secondary{background:#fff;color:#343438;border:1px solid #d8d8dc}.secondary:hover:not(:disabled){background:#f5f5f7}.calculate-dock .button{width:100%;justify-content:space-between}
.main-panel{padding:35px 40px 24px;min-width:0;max-width:1250px}.work-heading{align-items:flex-start;margin-bottom:32px}.eyebrow{font-size:10px;font-weight:600;letter-spacing:1.2px;color:#8a8a91;line-height:1.6}.work-heading h2{margin-top:8px}.work-heading p:last-child{color:var(--muted);font-size:13px;margin-top:9px}.local-label{font-size:11px;color:#777780;border:1px solid #d8d8de;border-radius:6px;padding:5px 8px;white-space:nowrap;margin-top:3px}.tab-bar{display:flex;gap:25px;border-bottom:1px solid #dcdce1;margin-bottom:25px}.tab{display:flex;align-items:center;gap:8px;background:transparent;color:var(--muted);padding:0 0 14px;font-size:13px;font-weight:550;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap}.tab.active{color:#1d1d1f;border-color:#1d1d1f}.tab-count{display:inline-flex;justify-content:center;align-items:center;min-width:20px;padding:1px 6px;background:#e8e8ed;color:#707078;font-size:10px;line-height:17px;border-radius:5px}.tab.active .tab-count{background:#dfeafa;color:#28619e}.section-title{margin-bottom:10px}.live-status{font-size:12px;color:var(--muted);line-height:1.75;margin-bottom:20px}.badge{display:inline-block;white-space:nowrap;border-radius:5px;padding:4px 7px;font-size:10px;font-weight:550;line-height:1.4}.badge.neutral{background:#e9e9ee;color:#707078}.badge.ready{background:#e8f3ec;color:var(--green)}.badge.pending{background:#faf0dd;color:#936921}.badge.special,.badge.failed{background:#fbeaea;color:var(--red)}.badge.running{background:#e8f1fd;color:#306db9}.empty-state{text-align:center;background:#ffffff80;border:1px dashed #d7d7de;border-radius:13px;padding:48px 20px;min-height:294px;display:flex;align-items:center;flex-direction:column;justify-content:center}.empty-number{display:block;font-size:44px;color:#d1d1d7;line-height:1.1;font-weight:250;letter-spacing:-3px;margin-bottom:18px}.empty-state h3{font-size:18px;margin-bottom:12px}.empty-state p{font-size:12px;color:var(--muted);line-height:1.8}.empty-state .button{margin-top:20px}.message{padding:12px 14px;border-radius:9px;font-size:12px;line-height:1.75;margin-bottom:18px;overflow-wrap:anywhere}.message.error{color:#a42b30;background:#fbeeed;border:1px solid #f2d9d8}.message.info{color:#64666e;background:#eceef2}.message p+p{margin-top:4px}.candidate-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:20px}.candidate-card{background:#fff;border:1px solid #e0e0e6;border-radius:11px;padding:17px;cursor:pointer;min-width:0;transition:border-color .15s,box-shadow .15s}.candidate-card:hover{border-color:#bfc9d6}.candidate-card.selected{border-color:#2685e5;box-shadow:0 0 0 1px #2685e5}.candidate-card:focus-visible{outline:3px solid #0071e336;outline-offset:3px}.candidate-topline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:13px}.candidate-choice{width:15px;height:15px;flex:0 0 auto;border:1px solid #c8c8ce;border-radius:50%}.selected .candidate-choice{border:5px solid var(--blue)}.candidate-card h4{font-size:13px;line-height:1.7;font-weight:600;margin:0 0 14px;overflow-wrap:anywhere}.candidate-dimensions{display:flex;flex-wrap:wrap;gap:10px 18px}.candidate-dimensions>div{font-size:10px;color:var(--muted);line-height:1.8}.candidate-dimensions strong{display:block;font-size:12px;font-weight:550;color:#36363a;font-variant-numeric:tabular-nums}.dimension-alert{color:var(--red)!important}.candidate-blocker{font-size:11px;color:#a06921;line-height:1.6;margin-top:11px}.selection-panel{margin-top:22px;border:1px solid #d9dee5;border-radius:12px;background:white;padding:22px}.selection-heading{margin-bottom:11px}.selection-panel>h3,.job-detail>h3{line-height:1.6}.dimension-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin:23px 0}.dimension-grid>div{min-width:0}.dimension-grid dt{font-size:10px;color:var(--muted);margin-bottom:6px}.dimension-grid dd{font-size:15px;font-weight:550;margin:0;font-variant-numeric:tabular-nums;line-height:1.5;overflow-wrap:anywhere;letter-spacing:-.35px}.dimension-grid.compact dd{font-size:13px}.selection-messages{font-size:11px;color:var(--muted);line-height:1.8}.selection-messages p{margin:5px 0}.selection-messages .important{color:#94652b}.selection-messages .error{color:var(--red)}.action-row{display:flex;gap:10px;flex-wrap:wrap;margin:19px 0 13px}.detail-box{border-top:1px solid #dedee4;padding:17px 0;margin-top:19px;color:var(--muted);font-size:11px;line-height:1.8;overflow-wrap:anywhere}.detail-box summary{cursor:pointer;font-size:12px;font-weight:500;color:#56565f}.detail-box p{margin:10px 0}.detail-box pre{white-space:pre-wrap;word-break:break-word;max-height:350px;overflow:auto;background:#f0f0f4;border-radius:7px;padding:12px;font-size:10px}.detail-item{padding:13px 0;border-bottom:1px solid #e2e2e7}.detail-item:last-child{border-bottom:0}.detail-item strong{font-size:12px;color:#47474f}.detail-item p{margin:5px 0}.source-hash{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;color:#95959d;overflow-wrap:anywhere}.download-list{display:flex;flex-wrap:wrap;gap:8px;margin:17px 0}.download-link{display:inline-flex;align-items:center;gap:7px;border:1px solid #d7e0ec;background:#f8fbff;color:#2467ae;border-radius:7px;padding:9px 12px;font-size:11px;line-height:1.5;max-width:100%;overflow-wrap:anywhere}.download-link:hover{background:#edf5ff;text-decoration:none}.file-kind{font-size:9px;font-weight:650;letter-spacing:.5px;color:#6a87a8}
.jobs-workspace{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.job-picker{min-width:0}.job-picker .field{margin-bottom:0}.job-select{max-width:100%;text-overflow:ellipsis}.job-detail{padding:21px;background:#fff;border:1px solid #e0e0e6;border-radius:11px;min-width:0;align-self:start}.job-detail .eyebrow{font-size:9px;letter-spacing:.4px}.job-detail>.live-status{margin-top:8px;font-size:11px}.job-detail .dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.job-detail .detail-box{margin-top:15px}.preview-frame{background:#ececf1;border:1px solid #dddde4;border-radius:9px;padding:14px;margin:21px 0;overflow:auto}.preview-frame img{display:block;width:100%;height:auto;background:#fff;box-shadow:0 2px 9px #00000016;min-width:0}.preview-frame.preview-error:after{content:"页面预览暂不可用，可下载 PDF 查看。";display:block;text-align:center;color:var(--muted);font-size:12px;padding:20px}.preview-frame.preview-error img{display:none}.workspace-footer{font-size:10px;color:#9a9aa1;text-align:center;margin-top:35px;line-height:1.6}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#referenceNote{max-width:760px}#referenceDimensions{padding:16px 20px;border:1px solid #dfdfe5;border-radius:10px;background:#ffffffaa;margin:20px 0}#referencePreviewFrame{padding:22px}.master-card{background:#fff;border:1px solid var(--line);border-radius:11px;padding:20px;margin-bottom:13px}.master-card h4{font-size:14px;margin:13px 0 9px;overflow-wrap:anywhere}.master-card p{font-size:12px;color:var(--muted)}.master-card .source-hash{font-size:10px;margin-top:11px}.job-busy:before{content:"";display:inline-block;width:10px;height:10px;border:1.5px solid #bad6f7;border-top-color:var(--blue);border-radius:50%;margin-right:7px;vertical-align:-1px;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
@media(min-width:1450px){.workspace{grid-template-columns:360px minmax(0,1fr)}.sidebar{padding-left:30px;padding-right:30px}.main-panel{padding-left:50px;padding-right:50px}}@media(max-width:1150px){.workspace{grid-template-columns:310px minmax(0,1fr)}.sidebar{padding:24px 20px 18px}.main-panel{padding:31px 27px 24px}h2{font-size:26px}.local-label{display:none}.candidate-list{grid-template-columns:1fr}.jobs-workspace{grid-template-columns:1fr}.dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.job-detail .dimension-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tab-bar{gap:19px}}
@media(max-width:800px){.app-header{height:67px;padding:0 20px}.brand{font-size:14px}.brand-icon{width:32px;line-height:32px;font-size:28px}.connection{font-size:10px}.workspace{display:block}.sidebar{height:auto;position:relative;top:auto;border-right:0;border-bottom:1px solid var(--line);padding:23px 22px}.sidebar form,.sidebar>.example-actions{max-width:650px;margin-left:auto;margin-right:auto}.sidebar-heading{margin:auto;max-width:650px}.example-actions{margin-bottom:20px}.selection-picker{padding:15px 0}.structures{max-height:280px}.doors{grid-template-columns:repeat(3,minmax(0,1fr))}.calculate-dock{position:static;padding-top:12px;margin:0;max-width:100%;background:#fff}.main-panel{padding:28px 22px}.work-heading{margin-bottom:26px}.tab-bar{gap:23px}.tab{font-size:12px}.work-heading h2{font-size:26px}.work-heading p:last-child{font-size:12px}.candidate-list{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-state{padding:35px 20px;min-height:260px}.selection-panel{padding:19px}.preview-frame{padding:8px}#referencePreviewFrame{padding:9px}}
@media(max-width:470px){.app-header{padding:0 17px}.connection{max-width:110px;line-height:1.5}.sidebar{padding:22px 18px}.main-panel{padding:26px 18px}.candidate-list{grid-template-columns:1fr}.doors{grid-template-columns:1fr 1fr}.work-heading h2{font-size:24px;letter-spacing:-.7px}.tab-bar{gap:16px;overflow-x:auto}.tab{gap:5px;font-size:11px}.tab-count{min-width:17px;font-size:9px;padding:0 5px}.job-detail{padding:16px}.job-detail .dimension-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-row .button{flex:1 1 auto}.download-link{font-size:10px}.dimension-grid dd{font-size:14px}.brand small{font-size:10px}.local-label{display:none}}@media(prefers-reduced-motion:reduce){*{animation-duration:1ms!important;transition:none!important}}
.structure-announcement{font-size:11px;color:#376b9d;line-height:1.7;margin-top:8px!important}.structures .featured-structure{background:#f1f6fc;border-radius:6px;padding:8px;margin:0 -1px}.structures .featured-structure>span{color:#2f4c69;font-weight:550}.mobile-export{border-top:1px solid var(--line);padding:17px 0 0;margin-top:20px}.mobile-export-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.mobile-export h4{font-size:13px;font-weight:600;margin:0 0 6px}.mobile-export .button{font-size:11px;padding:9px 12px;min-height:37px;white-space:nowrap}.mobile-export>.live-status{font-size:11px;margin:10px 0}.mobile-export>.message{margin:12px 0;font-size:11px}.preview-switcher{display:inline-flex;gap:3px;background:#e9e9ef;border-radius:7px;padding:3px;margin-top:17px}.preview-option{border:0;color:#75757e;font-size:11px;background:transparent;padding:6px 15px;border-radius:5px}.preview-option.active{background:#fff;color:#34343c;box-shadow:0 1px 3px #00000012}.preview-frame.mobile-preview{padding:20px;max-height:780px}.preview-frame.mobile-preview img{max-width:350px;margin:auto}.preview-switcher+.preview-frame{margin-top:12px}@media(max-width:470px){.mobile-export-heading{align-items:flex-start;flex-direction:column;gap:10px}.mobile-export-heading .button{width:100%}.preview-frame.mobile-preview{padding:10px;max-height:none}}
.native-matches{background:#fff;border:1px solid #dce1e8;border-radius:12px;padding:20px;margin-bottom:28px}.native-matches .live-status{margin-bottom:13px;font-size:11px}.native-family-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:13px 0 16px}.native-family-card{border:1px solid #e1e4ea;background:#f8f9fb;border-radius:8px;text-align:left;padding:10px 11px;display:flex;flex-direction:column;gap:5px;color:#4c5561}.native-family-card:hover{border-color:#82afe0;background:#f2f7fd}.native-family-card strong{font-size:12px;font-weight:600}.native-family-card span{font-size:10px;color:#999099;line-height:1.6}.native-family-card span.source-found{color:#3f7063}.native-family-card small{font-size:9px;color:#4778ad}.source-table-scroll{overflow-x:auto;border:1px solid #e0e3e8;border-radius:7px;max-width:100%;scrollbar-width:thin}.source-dimensions-table{border-collapse:collapse;min-width:650px;width:100%;font-size:10px;line-height:1.6;text-align:left}.source-dimensions-table th{font-size:10px;font-weight:550;color:#747c86;background:#f3f5f8;white-space:nowrap;padding:9px 9px;border-bottom:1px solid #dfe3e9}.source-dimensions-table td{padding:9px;border-bottom:1px solid #eceef2;vertical-align:top}.source-dimensions-table tr:last-child td{border-bottom:0}.source-dimensions-table tbody tr:hover{background:#f8fbff}.source-dimensions-table .source-number{text-align:right;font-variant-numeric:tabular-nums;color:#303943;min-width:43px}.source-dimensions-table .source-family-cell{font-weight:600;white-space:nowrap}.source-dimensions-table .source-status{font-size:9px;min-width:95px;max-width:180px;color:#6b7683}.source-boundary{margin-top:12px;font-size:10px!important;color:#8b919a!important}.native-library{background:#fff;border:1px solid #dfe3e9;border-radius:12px;padding:20px;margin-bottom:23px}.native-library-filters{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:17px 0;flex-wrap:wrap}.source-family-filters{display:flex;gap:4px;background:#edf0f4;padding:3px;border-radius:7px}.source-family-filter{border-radius:5px;background:transparent;color:#7a8491;font-size:11px;padding:7px 12px;white-space:nowrap}.source-family-filter.active{background:#fff;color:#215b94;box-shadow:0 1px 4px #142f5110}.source-door-filter{display:flex;align-items:center;gap:8px;font-size:10px;color:#8a929d;white-space:nowrap}.source-door-filter select{min-height:34px;padding:6px 22px 6px 9px;font-size:11px;width:130px}.native-library>.live-status{font-size:10px;margin-bottom:14px}.native-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}.native-pagination .button{padding:7px 11px;min-height:32px;font-size:10px}.native-pagination>span{font-size:10px;color:#808996;text-align:center}.native-library .source-table-scroll{max-height:575px}.source-dimensions-table thead th{position:sticky;top:0;z-index:1}@media(max-width:800px){.native-matches,.native-library{padding:16px}.source-dimensions-table{font-size:10px}.native-family-card{padding:10px}.source-family-filter{padding:7px 10px}}@media(max-width:470px){.native-matches,.native-library{padding:14px}.native-family-summary{gap:6px}.native-family-card{padding:9px 7px}.native-family-card strong{font-size:11px}.native-family-card span{font-size:9px}.native-family-card small{font-size:8px}.source-door-filter{width:100%;justify-content:space-between}.source-family-filters{width:100%;justify-content:space-between}.native-library-filters{gap:11px}.native-pagination{gap:6px}.native-pagination>span{font-size:9px}.native-pagination .button{padding:7px 9px}.native-matches>.section-title h3{font-size:16px}}

.area-authorization{border:1px solid #ecd8ac;border-radius:9px;background:#fffaf0;padding:12px;margin:0 0 16px}.area-authorization-summary{font-size:12px;line-height:1.65;font-weight:550;color:#865c1c;margin-bottom:5px}.area-authorization-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:10px}.area-authorization .button{font-size:12px;min-height:37px;padding:8px 12px;width:100%}.area-authorization.authorized{border-color:#b5cde8;background:#f3f8ff}.area-authorization.authorized .area-authorization-summary{color:#315e8a}.area-authorization-status{font-size:11px;line-height:1.65;font-weight:550;color:#315e8a}.area-authorization-note{font-size:11px;line-height:1.65;color:#315e8a;margin-top:6px}

.floor-openings{margin-top:15px;padding:12px;border:1px solid #dfe5ed;border-radius:8px;background:#f8fafc}.floor-openings-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.floor-openings-heading h4{font-size:12px;font-weight:600;margin:0}.floor-opening-list{display:grid;gap:7px;margin:11px 0}.floor-opening-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:8px;font-size:11px;color:#535c68}.floor-opening-row select{min-height:34px;font-size:11px;padding:7px 22px 7px 9px}.floor-openings-missing{color:var(--red)}

.generation-panel{--generation-color:#2867a4;position:sticky;top:88px;z-index:4;scroll-margin-top:88px;padding:20px 22px;margin-bottom:25px;background:#f1f7fe;border:1px solid #a8c9ee;border-left:4px solid var(--generation-color);border-radius:11px;box-shadow:0 4px 16px #253c5710;color:#263b52}
.generation-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.generation-copy{min-width:0}.generation-project{font-size:11px;color:#54718d;margin-bottom:5px;overflow-wrap:anywhere}.generation-panel h3{font-size:20px;line-height:1.45;color:var(--generation-color)}.generation-description{font-size:13px;line-height:1.7;margin-top:7px;overflow-wrap:anywhere}.generation-elapsed{flex-shrink:0;font-size:12px;font-variant-numeric:tabular-nums;white-space:nowrap;color:#54718d;padding-top:3px}
.generation-activity{height:4px;overflow:hidden;background:#d5e5f7;border-radius:3px;margin-top:17px}.generation-activity span{display:block;height:100%;width:38%;background:var(--generation-color);border-radius:3px;animation:generation-slide 1.8s ease-in-out infinite}.generation-stages{display:flex;gap:20px;list-style:none;counter-reset:generation;padding:0;margin:14px 0 0;font-size:12px;color:#6c7f93}.generation-stages li{counter-increment:generation;display:flex;align-items:center;gap:7px}.generation-stages li:before{content:counter(generation);display:inline-flex;align-items:center;justify-content:center;width:21px;height:21px;border:1px solid #b7cde3;border-radius:50%;font-size:10px;font-variant-numeric:tabular-nums;flex-shrink:0}.generation-stages li.current{color:var(--generation-color);font-weight:600}.generation-stages li.current:before{background:var(--generation-color);border-color:var(--generation-color);color:#fff}.generation-stages li.complete{color:var(--generation-color)}.generation-stages li.complete:before{background:#e3eef9;border-color:#9bbbdc}
.generation-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:15px}.generation-footer>p{font-size:12px;color:#54718d;line-height:1.7;flex:1 1 260px}.generation-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.generation-actions .button{font-size:12px;min-height:36px;padding:8px 12px}.generation-panel.success{--generation-color:#23794d;background:#f0f8f3;border-color:#b8d7c4}.generation-panel.success .generation-project,.generation-panel.success .generation-footer>p{color:#4e7460}.generation-panel.error{--generation-color:#a42b30;background:#fff4f3;border-color:#e4bcbc}.generation-panel.warning{--generation-color:#936921;background:#fff9ed;border-color:#e3cda4}.generation-panel.error .generation-footer>p,.generation-panel.warning .generation-footer>p{color:#806a5d}
@keyframes generation-slide{0%{transform:translateX(-105%)}100%{transform:translateX(365%)}}
@media(max-width:600px){.generation-panel{padding:16px;top:84px;scroll-margin-top:84px}.generation-heading{gap:9px;flex-wrap:wrap}.generation-panel h3{font-size:18px}.generation-description{font-size:12px}.generation-elapsed{font-size:11px}.generation-stages{gap:12px;font-size:11px;flex-wrap:wrap}.generation-footer{gap:10px}.generation-footer>p{flex-basis:100%;font-size:11px}.generation-actions{gap:14px}.generation-actions .text-button{min-height:32px}}
@media(prefers-reduced-motion:reduce){.generation-activity span{animation:none;transform:translateX(80%)}}
