*{box-sizing:border-box}html,body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:#20242b;background:#f5f7fa}button,input,select,textarea{font:inherit}button{cursor:pointer}a{text-decoration:none;color:inherit}
.lab-shell{min-height:100vh;transition:margin-right .2s ease}.lab-topbar{height:64px;background:#fff;border-bottom:1px solid #e7eaf0;display:flex;align-items:center;justify-content:space-between;padding:0 28px}.lab-brand{display:flex;align-items:center;gap:10px}.lab-brand strong{font-size:20px}.lab-brand span{padding:3px 8px;border-radius:999px;background:#eef4ff;color:#4268a8;font-size:11px}.lab-admin-entry{font-size:13px;color:#526071}.lab-admin-entry:hover{color:#2368e8}.lab-main{padding:28px}.lab-card{background:#fff;border:1px solid #e5e9ef;border-radius:12px;box-shadow:0 6px 22px rgba(22,34,52,.05);overflow:hidden}.lab-card-header{padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.lab-card-header h1{margin:0 0 6px;font-size:22px}.lab-card-header p{margin:0;color:#7b8490;font-size:14px}.lab-primary{border:0;border-radius:8px;background:#276ef1;color:#fff;padding:10px 16px}.lab-table{width:100%;border-collapse:collapse}.lab-table th,.lab-table td{text-align:left;padding:13px 20px;border-top:1px solid #edf0f3;font-size:14px}.lab-table th{background:#fafbfc;color:#6b7480;font-weight:600}.lab-status-chip{padding:3px 8px;border-radius:999px;background:#f2f4f7;color:#6a7280;font-size:11px}
.lab-modal{display:none;position:fixed;inset:0;z-index:50;transition:right .2s ease}.lab-modal.is-open{display:block}.lab-modal-mask{position:absolute;inset:0;background:rgba(18,25,35,.44)}.lab-modal-window{position:absolute;left:6%;right:6%;top:5%;bottom:5%;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 22px 70px rgba(0,0,0,.26)}.lab-modal-window>header{height:56px;padding:0 18px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e7eaf0}.lab-modal-window>header div{display:flex;flex-direction:column;gap:2px}.lab-modal-window>header small{color:#89919c;font-size:11px}.lab-modal-window>header button{border:0;background:transparent;color:#6c7580;font-size:26px}.lab-modal-window iframe{display:block;width:100%;height:calc(100% - 56px);border:0;background:#fff}
.bf-fab{position:fixed;right:22px;bottom:22px;z-index:80;width:56px;height:56px;border:0;border-radius:50%;background:#111827;color:#fff;font-weight:700;box-shadow:0 10px 28px rgba(0,0,0,.25)}.bf-panel{position:fixed;right:0;top:0;z-index:75;width:400px;max-width:94vw;height:100vh;background:#fff;border-left:1px solid #e3e7ed;box-shadow:-12px 0 36px rgba(28,39,55,.12);transform:translateX(100%);transition:transform .2s ease}.bf-panel.is-open{transform:translateX(0)}.bf-panel-header{height:64px;padding:0 17px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e8ebef}.bf-panel-title{display:flex;flex-direction:column;gap:2px}.bf-panel-title strong{font-size:17px}.bf-panel-title span{font-size:11px;color:#89919c}.bf-panel-head-actions{display:flex;align-items:center;gap:8px}.bf-admin-link{padding:6px 9px;border-radius:7px;background:#f4f6f9;color:#596472;font-size:11px}.bf-panel-head-actions button{width:30px;height:30px;border:0;background:transparent;color:#68727f;font-size:24px}.bf-user-panel-body{height:calc(100vh - 64px);overflow:auto;padding:22px 18px}.bf-user-intro{padding:2px 2px 14px}.bf-user-intro strong{font-size:18px}.bf-user-intro p{margin:7px 0 0;color:#727c89;font-size:13px;line-height:1.6}.bf-user-input{width:100%;min-height:150px;border:1px solid #d6dce5;border-radius:11px;padding:12px 13px;resize:vertical;line-height:1.6;font-size:14px;background:#fff}.bf-user-input:focus{outline:0;border-color:#8aabef;box-shadow:0 0 0 3px rgba(39,110,241,.09)}.bf-user-submit{width:100%;margin-top:10px;border:0;border-radius:9px;background:#1e66e7;color:#fff;padding:12px 14px;font-weight:600}.bf-user-submit:disabled{opacity:.56;cursor:wait}.bf-user-result{margin-top:14px;padding:11px 12px;border-radius:9px;background:#f5f7fa;color:#66717f;font-size:13px;line-height:1.55}.bf-user-result[data-state="loading"]{background:#eef5ff;color:#426998}.bf-user-result[data-state="success"]{background:#edf8f1;color:#2d6a45}.bf-user-result[data-state="warn"]{background:#fff7e8;color:#846121}.bf-user-result[data-state="error"]{background:#fff0ef;color:#9c433b}.bf-user-undo{width:100%;margin-top:9px;border:1px solid #d6dce5;border-radius:9px;background:#fff;color:#4b5664;padding:10px 12px}.bf-user-undo:disabled{opacity:.4;cursor:not-allowed}.bf-user-footnote{margin-top:16px;text-align:center;color:#9aa1aa;font-size:11px}
@media(min-width:960px){body.bf-panel-open.bf-panel-push .lab-shell{margin-right:400px}body.bf-panel-open.bf-panel-push .lab-modal{right:400px}body.bf-panel-open .bf-fab{opacity:0;pointer-events:none}}@media(max-width:959px){.lab-main{padding:12px}.lab-card-header{align-items:flex-start;flex-direction:column}.lab-modal-window{inset:2%}.bf-panel{width:100%;max-width:none}}
.bf-form-page-body{background:#fff}.form-page{max-width:900px;margin:0 auto;padding:24px;background:#fff;min-height:100vh}.form-notice{margin-bottom:16px;padding:10px 12px;border-radius:8px;background:#fff8e8;color:#8a6415;font-size:12px}.field-row{display:grid;grid-template-columns:145px minmax(0,1fr);gap:16px;align-items:center;padding:9px 0}.field-row label{font-size:14px;color:#4c5562}.field-row input,.field-row select{width:100%;height:40px;border:1px solid #cfd6df;border-radius:7px;padding:0 10px;background:#fff;transition:border-color .15s,box-shadow .15s,background .15s}.field-row input.bf-ai-modified,.field-row select.bf-ai-modified{border-color:#ee9f32;background:#fffaf0;box-shadow:0 0 0 2px rgba(238,159,50,.14)}.form-actions{margin-left:161px;padding-top:16px;display:flex;align-items:center;gap:12px}.form-actions span{font-size:12px;color:#7f8894}.bf-picker-hover{outline:3px solid #7356d7!important;outline-offset:2px!important;cursor:crosshair!important}.bf-locate-flash{outline:3px solid #ff9a24!important;outline-offset:2px!important;box-shadow:0 0 0 5px rgba(255,154,36,.16)!important}
.bf-admin-page{background:#f4f6f9}.admin-shell{min-height:100vh;display:grid;grid-template-columns:220px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;background:#18202c;color:#fff;padding:22px 14px;display:flex;flex-direction:column}.admin-logo{padding:4px 8px 24px;display:flex;flex-direction:column;gap:3px}.admin-logo strong{font-size:20px}.admin-logo span{font-size:11px;color:#9ba7b7}.admin-nav{display:flex;flex-direction:column;gap:5px}.admin-nav button{border:0;border-radius:8px;background:transparent;color:#aeb8c6;text-align:left;padding:10px 12px}.admin-nav button.is-active{background:#273447;color:#fff}.admin-sidebar-foot{margin-top:auto;padding:14px 8px 4px;color:#aeb8c6;font-size:12px}.admin-main{min-width:0}.admin-topbar{padding:26px 32px 18px;background:#fff;border-bottom:1px solid #e5e9ef;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.admin-eyebrow{display:block;color:#6c7683;font-size:12px;margin-bottom:5px}.admin-topbar h1{margin:0;font-size:24px}.admin-topbar p{margin:6px 0 0;color:#8a929d;font-size:12px}.admin-top-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap;justify-content:flex-end}.admin-version-badge{padding:5px 9px;border-radius:999px;background:#fff2d5;color:#7e5a16;font-size:11px}.admin-version-badge.published{background:#e9f7ef;color:#286944}.admin-tabs{height:52px;padding:0 32px;background:#fff;border-bottom:1px solid #e5e9ef;display:flex;align-items:flex-end;gap:22px}.admin-tabs button{height:52px;border:0;border-bottom:2px solid transparent;background:transparent;color:#6a7481;padding:0 2px}.admin-tabs button.is-active{border-bottom-color:#276ef1;color:#1e5fce;font-weight:600}.admin-content{padding:24px 32px 40px}.admin-tab-panel{display:none}.admin-tab-panel.is-active{display:block}.admin-section-card{background:#fff;border:1px solid #e3e7ed;border-radius:12px;box-shadow:0 4px 16px rgba(23,35,52,.035);padding:22px}.admin-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.admin-section-head h2{margin:0 0 5px;font-size:18px}.admin-section-head p{margin:0;color:#7e8793;font-size:12px;line-height:1.5}.admin-field{display:grid;grid-template-columns:130px minmax(0,1fr);gap:16px;align-items:start;padding:10px 0}.admin-field>span{padding-top:9px;color:#57616f;font-size:13px}.admin-field input,.admin-field textarea{width:100%;border:1px solid #d5dbe4;border-radius:8px;padding:9px 10px;background:#fff}.admin-field input{height:40px}.admin-field input:disabled{background:#f6f7f9;color:#8a929c}.admin-field textarea{min-height:130px;resize:vertical;line-height:1.55}.admin-form-actions{margin-top:14px;display:flex;justify-content:flex-end}.admin-form-actions.sticky{position:sticky;bottom:0;padding-top:14px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 20%)}.admin-primary,.admin-publish{border:0;border-radius:8px;color:#fff;padding:9px 14px}.admin-primary{background:#276ef1}.admin-publish{background:#168255}.admin-publish:disabled{opacity:.45;cursor:not-allowed}.admin-feedback{margin-top:12px;padding:9px 11px;border-radius:8px;background:#f5f7fa;color:#68727f;font-size:12px}.admin-field-layout{display:grid;grid-template-columns:minmax(440px,1fr) minmax(420px,.95fr);gap:18px;align-items:start}.admin-field-config-card{max-height:calc(100vh - 190px);overflow:auto}.admin-preview-card{position:sticky;top:18px;background:#fff;border:1px solid #e3e7ed;border-radius:12px;overflow:hidden;box-shadow:0 4px 16px rgba(23,35,52,.035)}.admin-preview-head{height:52px;padding:0 14px;border-bottom:1px solid #e6eaf0;display:flex;align-items:center}.admin-preview-head div{display:flex;flex-direction:column;gap:2px}.admin-preview-head span{font-size:10px;color:#8a929c}.admin-preview-card iframe{display:block;width:100%;height:calc(100vh - 260px);min-height:560px;border:0;background:#fff}.admin-inline-actions{display:flex;gap:7px;flex-wrap:wrap}.admin-inline-actions button,.admin-cancel-picker{border:1px solid #d5dbe3;border-radius:7px;background:#fff;color:#4e5967;padding:7px 9px;font-size:11px}.admin-cancel-picker{margin-bottom:10px}.admin-cancel-picker:disabled{opacity:.4;cursor:not-allowed}.admin-picker-status{margin-bottom:8px;padding:8px 10px;border-radius:7px;background:#f5f7fa;color:#68727f;font-size:11px}.admin-picker-status[data-state="active"]{background:#f2edff;color:#6041a4}.admin-picker-status[data-state="success"]{background:#edf8f1;color:#2f6a46}.admin-picker-status[data-state="error"]{background:#fff0ef;color:#9d433b}.admin-field-list{display:flex;flex-direction:column;gap:8px}.admin-field-item{border:1px solid #e3e7ed;border-radius:9px;padding:11px;background:#fbfcfe}.admin-field-item-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.admin-field-item-title{display:flex;align-items:center;gap:7px;min-width:0}.admin-field-item-title strong{font-size:13px}.admin-field-item-title code{font-size:10px;color:#87909c}.admin-switch-label{display:flex;align-items:center;gap:4px;font-size:11px;color:#65707d}.admin-field-item-editor{display:grid;grid-template-columns:120px minmax(0,1fr);gap:7px;margin-top:9px}.admin-field-item-editor select,.admin-field-item-editor input{height:34px;border:1px solid #d6dce4;border-radius:7px;background:#fff;padding:0 8px;font-size:11px}.admin-field-binding{margin-top:8px;display:flex;align-items:center;justify-content:space-between;gap:8px}.admin-field-binding>div:first-child{min-width:0;display:flex;align-items:center;gap:7px}.admin-field-binding code{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px;color:#818a95}.admin-binding-state{padding:2px 6px;border-radius:999px;font-size:9px;white-space:nowrap}.admin-binding-state.ok{background:#eaf7ef;color:#2a6844}.admin-binding-state.new{background:#edf4ff;color:#37659d}.admin-binding-state.missing{background:#fff0ef;color:#9e433b}.admin-binding-actions{display:flex;gap:5px}.admin-binding-actions button{border:1px solid #d7dde5;border-radius:6px;background:#fff;color:#4b5663;padding:5px 7px;font-size:10px}.admin-binding-actions button:disabled{opacity:.4;cursor:not-allowed}.admin-field-dependency{margin-top:6px;color:#8a929c;font-size:10px}.admin-history{display:flex;flex-direction:column;gap:8px}.admin-version-item{border:1px solid #e3e7ed;border-radius:9px;padding:12px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#fbfcfe}.admin-version-main{min-width:0}.admin-version-title{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.admin-version-title strong{font-size:13px}.admin-version-state,.admin-version-current{padding:2px 6px;border-radius:999px;font-size:9px}.admin-version-state.draft{background:#fff2d5;color:#7e5a16}.admin-version-state.published,.admin-version-current.published{background:#e9f7ef;color:#286944}.admin-version-current{background:#efeaff;color:#6242a8}.admin-version-meta{margin-top:5px;color:#89919b;font-size:10px}.admin-version-main p{margin:6px 0 0;color:#68727f;font-size:11px}.admin-version-item>button{border:1px solid #d5dbe3;border-radius:7px;background:#fff;color:#4e5967;padding:7px 9px;font-size:11px}
@media(max-width:1180px){.admin-field-layout{grid-template-columns:1fr}.admin-preview-card{position:relative;top:0}.admin-preview-card iframe{height:620px}}@media(max-width:760px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-nav{display:none}.admin-topbar,.admin-tabs,.admin-content{padding-left:16px;padding-right:16px}.admin-topbar{flex-direction:column}.admin-field{grid-template-columns:1fr;gap:5px}.admin-field>span{padding-top:0}.admin-field-item-editor{grid-template-columns:1fr}}
.bf-debug-fab{position:fixed;left:14px;bottom:14px;z-index:140;border:1px solid #d6dce4;border-radius:7px;background:rgba(255,255,255,.92);color:#67717e;padding:6px 9px;font-size:10px;box-shadow:0 4px 14px rgba(20,30,45,.08)}.bf-debug-panel{position:fixed;left:0;top:0;z-index:150;width:380px;max-width:94vw;height:100vh;background:#111827;color:#d6deea;box-shadow:12px 0 36px rgba(0,0,0,.28);transform:translateX(-100%);transition:transform .18s ease}.bf-debug-panel.is-open{transform:translateX(0)}.bf-debug-header{height:62px;padding:0 14px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #293243}.bf-debug-header div{display:flex;flex-direction:column;gap:2px}.bf-debug-header strong{font-size:13px}.bf-debug-header small{font-size:9px;color:#8793a5}.bf-debug-header button{border:0;background:transparent;color:#aab4c2;font-size:24px}.bf-debug-body{height:calc(100vh - 62px);overflow:auto;padding:12px}.bf-debug-section{padding:10px 0;border-bottom:1px solid #293243}.bf-debug-section:last-child{border-bottom:0}.bf-debug-section h3{margin:0 0 8px;color:#9fb0c6;font-size:10px;text-transform:uppercase;letter-spacing:.05em}.bf-debug-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:10px}.bf-debug-row select{height:30px;border:1px solid #3a4659;border-radius:6px;background:#1b2534;color:#d6deea;padding:0 6px;font-size:10px}.bf-debug-note{margin-top:6px;color:#9da9b9;font-size:10px;line-height:1.45}.bf-debug-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.bf-debug-actions button{border:1px solid #39465a;border-radius:6px;background:#1b2534;color:#d6deea;padding:7px;font-size:10px}.bf-debug-section pre{margin:0;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;border-radius:7px;background:#0b111c;padding:9px;color:#c8d4e4;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;line-height:1.45}.bf-debug-section textarea{width:100%;min-height:190px;border:1px solid #39465a;border-radius:7px;background:#0b111c;color:#c8d4e4;padding:9px;resize:vertical;font-family:SFMono-Regular,Consolas,monospace;font-size:9px;line-height:1.45}

.admin-rescan-summary{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:8px;padding:9px 10px;border:1px solid #e3e7ed;border-radius:8px;background:#f8fafc;color:#65707d;font-size:11px}
.admin-rescan-summary-text{margin-right:2px}
.admin-rescan-chip{padding:3px 7px;border-radius:999px;font-size:10px;font-weight:600}
.admin-rescan-chip.ok{background:#eaf7ef;color:#2a6844}
.admin-rescan-chip.new{background:#edf4ff;color:#37659d}
.admin-rescan-chip.changed{background:#fff5df;color:#805d1f}
.admin-rescan-chip.missing{background:#fff0ef;color:#9e433b}
.admin-rescan-diff{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
.admin-rescan-empty{padding:8px 10px;border-radius:7px;background:#edf8f1;color:#2f6a46;font-size:11px}
.admin-rescan-item{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:8px 9px;border-radius:7px;border:1px solid #e3e7ed;background:#fff}
.admin-rescan-item>div{min-width:0;display:flex;flex-direction:column;gap:3px}
.admin-rescan-item strong{font-size:11px;color:#404a57}
.admin-rescan-item span{font-size:10px;line-height:1.45;color:#7a8490}
.admin-rescan-item>b{flex:0 0 auto;padding:2px 6px;border-radius:999px;font-size:9px}
.admin-rescan-item.new>b{background:#edf4ff;color:#37659d}
.admin-rescan-item.changed>b{background:#fff5df;color:#805d1f}
.admin-rescan-item.missing>b{background:#fff0ef;color:#9e433b}
.admin-binding-state.changed{background:#fff5df;color:#805d1f}

/* Step 8C: Side Panel = primary BestFill application */
.bf-panel-nav-left{display:flex;align-items:center;gap:7px;min-width:0}
.bf-panel-back{width:30px;height:30px;border:0;border-radius:7px;background:#f4f6f9;color:#4f5a67;font-size:25px;line-height:1}
.bf-panel-pages{height:calc(100vh - 64px);overflow:hidden}
.bf-panel-page{display:none;height:100%;overflow:auto;padding:18px}
.bf-panel-page.is-active{display:block}
.bf-current-page-card{width:100%;border:1px solid #e0e5ec;border-radius:11px;background:#f9fafc;padding:12px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}
.bf-current-page-card>div:first-child{min-width:0;display:flex;flex-direction:column;gap:3px}
.bf-current-page-card span{font-size:10px;color:#8a929d}
.bf-current-page-card strong{font-size:13px;color:#333d4a}
.bf-current-page-card small{font-size:9px;color:#9aa2ad;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.bf-current-page-meta{display:flex!important;flex-direction:row!important;align-items:center;gap:7px!important;flex:0 0 auto}
.bf-current-page-meta span{font-size:10px;color:#617084}
.bf-current-page-meta b{font-size:18px;color:#929aa5}
.bf-panel-section{margin-top:22px;padding-top:15px;border-top:1px solid #edf0f3}
.bf-panel-section-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;color:#5a6572;font-size:11px;font-weight:600}
.bf-panel-section-title span{font-size:9px;color:#9aa2ad;font-weight:400}
.bf-panel-menu{display:flex;flex-direction:column;gap:6px}
.bf-panel-menu button{width:100%;border:1px solid #e3e7ed;border-radius:9px;background:#fff;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;text-align:left}
.bf-panel-menu button>span{display:flex;flex-direction:column;gap:2px}
.bf-panel-menu button strong{font-size:12px;color:#414b58}
.bf-panel-menu button small{font-size:9px;color:#8f98a3}
.bf-panel-menu button b{font-size:17px;color:#a0a7b0}
.bf-subpage-head{margin-bottom:15px}
.bf-subpage-head h2{margin:0;font-size:17px}
.bf-subpage-head p{margin:6px 0 0;color:#7d8793;font-size:11px;line-height:1.55}
.bf-personal-fields-summary{padding:9px 10px;border-radius:8px;background:#f5f7fa;color:#66717e;font-size:11px;margin-bottom:9px}
.bf-personal-field-list{display:flex;flex-direction:column;gap:6px}
.bf-personal-field-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 11px;border:1px solid #e4e8ee;border-radius:8px;background:#fff}
.bf-personal-field-row>div{display:flex;flex-direction:column;gap:2px;min-width:0}
.bf-personal-field-row strong{font-size:12px;color:#414b58}
.bf-personal-field-row small{font-size:9px;color:#949ca7}
.bf-personal-field-row input{width:17px;height:17px}
.bf-secondary-wide{width:100%;margin-top:10px;border:1px solid #d6dce4;border-radius:8px;background:#fff;color:#596471;padding:9px}
.bf-page-context-box{display:flex;flex-direction:column;gap:3px;padding:11px;border:1px solid #e3e7ed;border-radius:9px;background:#f9fafc;margin-bottom:12px}
.bf-page-context-box span{font-size:9px;color:#939ba5}
.bf-page-context-box strong{font-size:13px}
.bf-page-context-box small{font-size:9px;color:#949ca7}
.bf-side-form-field{display:flex;flex-direction:column;gap:6px}
.bf-side-form-field>span{font-size:11px;color:#5a6572}
.bf-side-form-field textarea{width:100%;min-height:150px;border:1px solid #d5dbe4;border-radius:8px;padding:10px;resize:vertical;line-height:1.55}
.bf-side-feedback{margin-top:9px;padding:9px 10px;border-radius:8px;background:#f5f7fa;color:#68727f;font-size:10px;line-height:1.45}
.bf-inline-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.bf-inline-actions button{border:1px solid #d5dbe3;border-radius:7px;background:#fff;color:#4e5967;padding:8px 6px;font-size:10px}
.bf-side-admin-fields{gap:6px}
.bf-side-admin-fields .admin-field-item{padding:9px}
.bf-side-admin-fields .admin-field-item-editor{grid-template-columns:105px minmax(0,1fr)}
.bf-side-admin-fields .admin-field-binding{align-items:flex-start;flex-direction:column}
.bf-side-admin-fields .admin-binding-actions{width:100%}
.bf-side-admin-fields .admin-binding-actions button{flex:1}
.bf-version-header{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.bf-publish-wide{width:100%;border:0;border-radius:8px;background:#168255;color:#fff;padding:10px;margin-bottom:10px}
.bf-publish-wide:disabled{opacity:.45;cursor:not-allowed}
.bf-side-history .admin-version-item{align-items:flex-start;flex-direction:column}
.bf-side-history .admin-version-item>button{width:100%}

/* Full-page management = global / low-frequency only */
.global-admin-shell{min-height:100vh;background:#f4f6f9}
.global-admin-topbar{height:64px;background:#fff;border-bottom:1px solid #e5e9ef;padding:0 28px;display:flex;align-items:center;justify-content:space-between}
.global-admin-topbar>div{display:flex;align-items:baseline;gap:9px}
.global-admin-topbar strong{font-size:19px}
.global-admin-topbar span{font-size:11px;color:#8b939e}
.global-admin-back{padding:7px 10px;border-radius:7px;background:#f4f6f9;color:#596471;font-size:11px}
.global-admin-main{max-width:920px;margin:0 auto;padding:46px 24px}
.global-admin-heading span{font-size:11px;color:#77818e}
.global-admin-heading h1{margin:7px 0 9px;font-size:27px}
.global-admin-heading p{max-width:720px;margin:0;color:#747e8a;font-size:13px;line-height:1.7}
.global-admin-card{margin-top:26px;background:#fff;border:1px solid #e3e7ed;border-radius:12px;padding:24px;box-shadow:0 5px 18px rgba(24,36,52,.04)}
.global-admin-card h2{margin:0 0 8px;font-size:17px}
.global-admin-card p{margin:0;color:#76808c;font-size:12px;line-height:1.65}
.global-admin-primary{display:inline-block;margin-top:16px;border-radius:8px;background:#276ef1;color:#fff;padding:9px 13px;font-size:11px}

/* Step 8D: single permission-aware administrator gateway */
.bf-admin-entry{border:1px solid #d7dde5!important;border-radius:7px!important;background:#f5f7fa!important;color:#4f5b69!important;font-size:10px!important;width:auto!important;height:30px!important;padding:0 9px!important}
.bf-admin-entry[hidden]{display:none!important}
.bf-admin-gateway-menu{margin-top:4px}
.bf-admin-global-link{width:100%;border:1px solid #e3e7ed;border-radius:9px;background:#fff;padding:10px 11px;display:flex;align-items:center;justify-content:space-between;text-align:left}
.bf-admin-global-link>span{display:flex;flex-direction:column;gap:2px}
.bf-admin-global-link strong{font-size:12px;color:#414b58}
.bf-admin-global-link small{font-size:9px;color:#8f98a3}
.bf-admin-global-link b{font-size:15px;color:#a0a7b0}

/* Step 8E: Page Learning */
.bf-learning-safety{display:grid;grid-template-columns:78px minmax(0,1fr);gap:6px 8px;padding:11px;border:1px solid #e3e7ed;border-radius:9px;background:#f9fafc;margin-bottom:12px;font-size:10px;line-height:1.5}
.bf-learning-safety strong{color:#485463}.bf-learning-safety span{color:#7b8591}
.bf-learning-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.bf-learning-actions .bf-user-submit,.bf-learning-actions .bf-secondary-wide{margin:0}
.bf-learning-cancel{grid-column:1/-1;border:1px solid #d6dce4;border-radius:8px;background:#fff;color:#68727f;padding:8px}.bf-learning-cancel:disabled,.bf-learning-actions button:disabled{opacity:.42;cursor:not-allowed}
.bf-learning-status{margin-top:10px;padding:9px 10px;border-radius:8px;background:#f5f7fa;color:#67727f;font-size:10px;line-height:1.5}.bf-learning-status[data-state="active"]{background:#eef5ff;color:#426a9c}.bf-learning-status[data-state="success"]{background:#edf8f1;color:#2e6a46}.bf-learning-status[data-state="error"]{background:#fff0ef;color:#9e433b}
.bf-learning-result{display:flex;flex-direction:column;gap:6px;margin-top:10px}.bf-learning-suggestion{display:flex;align-items:flex-start;justify-content:space-between;gap:9px;padding:9px 10px;border:1px solid #e3e7ed;border-radius:8px;background:#fff}.bf-learning-suggestion>div{display:flex;flex-direction:column;gap:3px;min-width:0}.bf-learning-suggestion strong{font-size:11px;color:#414b58}.bf-learning-suggestion span{font-size:10px;color:#7a8490;line-height:1.45}.bf-learning-suggestion b{flex:0 0 auto;padding:2px 6px;border-radius:999px;background:#efeaff;color:#6547a5;font-size:9px}.bf-learning-empty{padding:9px 10px;border-radius:8px;background:#f5f7fa;color:#74808d;font-size:10px;line-height:1.5}.bf-learning-apply{margin-top:10px}

/* Step 9A: CurrentPageContext acceptance shell */
.lab-context-test-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}
.lab-context-test-card{border:1px solid #dfe4eb;border-radius:11px;background:#fff;padding:16px;text-align:left;display:flex;flex-direction:column;gap:6px;cursor:pointer}
.lab-context-test-card:hover{border-color:#bfc9d7;box-shadow:0 4px 14px rgba(28,42,61,.06)}
.lab-context-test-card strong{font-size:14px;color:#394451}
.lab-context-test-card span{font-size:11px;line-height:1.55;color:#78828e}
.lab-context-test-card small{font-size:9px;color:#9aa2ad}
.form-page-title{margin:0 0 12px;font-size:20px;color:#313b47}
@media(max-width:760px){
    .lab-context-test-grid{grid-template-columns:1fr}
}

/* Step 9C: final ordinary-user field preference surface */
.bf-user-field-context{margin-bottom:9px}
.bf-personal-field-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.bf-personal-field-actions button{border:1px solid #d6dce4;border-radius:8px;background:#fff;color:#596471;padding:8px;font-size:10px}
.bf-personal-field-actions button:hover{background:#f7f9fb}
.bf-user-field-note{margin-top:9px;padding:8px 9px;border-radius:8px;background:#f7f8fa;color:#848d98;font-size:9px;line-height:1.5}
.bf-personal-field-row small{white-space:normal;line-height:1.35}

/* Step 9D: administrator current-page policy */
.bf-admin-policy-summary{margin-bottom:10px;padding:11px;border:1px solid #e1e6ed;border-radius:9px;background:#f9fafc}
.bf-admin-policy-summary>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:8px}
.bf-admin-policy-summary span{font-size:9px;color:#929ba6}
.bf-admin-policy-summary strong{font-size:12px;color:#414b58}
.bf-admin-policy-badges{display:flex;gap:6px;margin-top:7px}
.bf-admin-policy-badges em{font-style:normal;font-size:9px;padding:3px 6px;border-radius:999px;background:#eef1f5;color:#65717f}
.bf-admin-policy-badges em:last-child{background:#edf7f1;color:#3b7453}
.bf-admin-policy-summary small{display:block;margin-top:7px;color:#838d99;font-size:9px;line-height:1.45}
.bf-admin-policy-banner{margin-bottom:10px;padding:8px 9px;border-radius:8px;background:#f5f7fa;color:#687381;font-size:10px;line-height:1.5}
.bf-admin-policy-banner[data-state="configured"]{background:#edf7f1;color:#3c6e50}
.bf-admin-policy-banner[data-state="dirty"]{background:#fff6e6;color:#89642d}
.bf-admin-policy-banner[data-state="live"]{background:#eef5ff;color:#4f6f98}

/* Step 9F: three-page validation matrix */
@media(min-width:1180px){
    .lab-context-test-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
}

/* Step 9G: page configuration enhancement */
.admin-field-display-name{width:100%;border:0;background:transparent;font-weight:700;font-size:11px;color:#414b58;padding:0;outline:none}
.admin-control-type{display:inline-flex;margin-top:4px;padding:2px 6px;border-radius:999px;background:#f0f3f7;color:#697583;font-size:9px}
.admin-field-rule-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px}
.admin-mini-field{display:flex;flex-direction:column;gap:4px}
.admin-mini-field>span{font-size:9px;color:#8a949f}
.admin-mini-field select{min-width:0;width:100%;border:1px solid #dce2e9;border-radius:7px;background:#fff;padding:6px 7px;font-size:10px;color:#4f5a67}
.admin-field-format-detail{display:grid;grid-template-columns:1fr;gap:7px;margin-top:7px}
.admin-field-options{display:flex;align-items:flex-start;gap:8px;margin-top:8px;padding:7px 8px;border-radius:7px;background:#f8f9fb}
.admin-field-options>span{flex:0 0 auto;font-size:9px;color:#8a949f;padding-top:2px}
.admin-field-option-chips{display:flex;gap:4px;flex-wrap:wrap}
.admin-field-option-chips em{font-style:normal;font-size:9px;padding:2px 5px;border-radius:999px;background:#fff;border:1px solid #e0e5eb;color:#65717e}
.choice-field-row{border:0;padding:0;margin:0 0 14px}
.choice-field-row legend{font-size:12px;color:#47525f;margin-bottom:7px}
.choice-options{display:flex;gap:10px;flex-wrap:wrap}
.choice-option{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#55606d}
.choice-option input{margin:0}
@media(max-width:640px){
    .admin-field-rule-grid{grid-template-columns:1fr}
}

/* Step 9H: dynamic Page Learning */
.bf-learning-scope{margin-bottom:9px;padding:8px 9px;border-radius:8px;background:#f4f6f9;color:#677380;font-size:9px;line-height:1.45;word-break:break-all}
.bf-learning-scope[data-state="active"]{background:#eef5ff;color:#4f6f98}
.bf-learning-scope[data-state="review"]{background:#fff7e9;color:#84632f}
.bf-learning-scope[data-state="saved"]{background:#edf7f1;color:#3b7453}
.bf-learning-review-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:8px 0}
.bf-learning-review-actions button{border:1px solid #d8dee6;border-radius:7px;background:#fff;padding:7px;font-size:9px;color:#66717e}
.bf-learning-review-actions button:disabled{opacity:.45}
.bf-learning-suggestion{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:flex-start;cursor:pointer}
.bf-learning-suggestion>input{margin-top:3px}
.bf-learning-suggestion>div{min-width:0}
.bf-learning-suggestion small{display:block;margin-top:3px;color:#98a1ab;font-size:8px;line-height:1.35}

/* Step 9I: field-state visibility */
.bf-personal-field-row.is-user-off{background:#f6f8fa;border-style:dashed}
.bf-personal-field-row.is-user-off strong{color:#657180}
.bf-personal-field-row.is-locked{background:#fffaf0;border-color:#ead9b4}
.bf-personal-field-row.is-locked strong{color:#66542f}
.bf-user-field-lock{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;min-width:38px;padding:3px 6px;border-radius:999px;background:#f3e8ce;color:#765b28;font-size:9px}

/* Step 9J: ordinary/free-user personal field Prompt */
.bf-personal-field-card{display:block;padding:10px}
.bf-personal-field-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.bf-user-field-toggle{flex:0 0 auto;display:flex;align-items:center;min-height:26px}
.bf-personal-prompt-box{margin-top:8px;padding-top:8px;border-top:1px solid #edf0f3}
.bf-personal-admin-prompt{margin-bottom:7px;padding:7px 8px;border-radius:7px;background:#fff7e8;color:#6f5b34}
.bf-personal-admin-prompt strong{display:block;font-size:9px;margin-bottom:3px}
.bf-personal-admin-prompt span{display:block;font-size:9px;line-height:1.5;white-space:pre-wrap;word-break:break-word}
.bf-personal-prompt-label{display:block}
.bf-personal-prompt-label>span{display:block;font-size:10px;font-weight:650;color:#56616e}
.bf-personal-prompt-label>small{display:block;margin-top:2px;font-size:8px;color:#929ba6;line-height:1.4}
.bf-personal-prompt-label textarea{box-sizing:border-box;width:100%;min-height:64px;margin-top:6px;resize:vertical;border:1px solid #dce2e9;border-radius:7px;background:#fff;padding:7px 8px;font:inherit;font-size:10px;line-height:1.5;color:#44505d;outline:none}
.bf-personal-prompt-label textarea:focus{border-color:#9db7d7;box-shadow:0 0 0 2px rgba(91,132,184,.08)}
.bf-personal-prompt-actions{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:6px}
.bf-personal-prompt-actions span{font-size:8px;color:#929ba6}
.bf-personal-prompt-actions button{border:1px solid #d7dee7;border-radius:7px;background:#fff;padding:5px 8px;font-size:9px;color:#4f6f98;cursor:pointer}
.bf-personal-field-card.is-user-off .bf-personal-prompt-box{opacity:.76}

/* Step 9I Vision image filling */
.bf-user-input-actions{display:grid;grid-template-columns:minmax(0,1fr) 110px;gap:7px}
.bf-user-image-button{border:1px solid #d7dee7;border-radius:9px;background:#fff;color:#4f6f98;font-size:11px;font-weight:650;cursor:pointer}
.bf-image-selection{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:8px;align-items:center;margin-top:8px;padding:7px;border:1px solid #e1e6ec;border-radius:9px;background:#f8fafc}
.bf-image-selection img{width:58px;height:58px;object-fit:cover;border-radius:7px;background:#eef1f4}
.bf-image-selection strong{display:block;font-size:10px;color:#4d5966;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bf-image-selection small{display:block;margin-top:3px;font-size:8px;color:#909aa5}
.bf-image-selection button{border:0;background:transparent;color:#8a5660;font-size:9px;cursor:pointer}
.bf-image-template-note{margin:0 0 9px;padding:8px;border-radius:8px;background:#f3f7fb;color:#657789;font-size:9px;line-height:1.45}
.bf-image-template-list{display:flex;flex-direction:column;gap:9px}
.bf-image-template-empty{padding:12px;border:1px dashed #d9e0e7;border-radius:9px;color:#8a949f;font-size:9px;line-height:1.5}
.bf-image-template-card{padding:10px;border:1px solid #dfe5eb;border-radius:10px;background:#fff}
.bf-image-template-head{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;margin-bottom:8px}
.bf-image-template-head strong{font-size:11px;color:#45515e}
.bf-image-template-head>button{border:0;background:transparent;color:#9b5b63;font-size:9px;cursor:pointer}
.bf-image-template-enabled{display:flex;align-items:center;gap:4px;font-size:9px;color:#65717e}
.bf-image-template-field{display:flex;flex-direction:column;gap:4px;margin-top:7px}
.bf-image-template-field>span{font-size:9px;color:#7f8995}
.bf-image-template-field input,.bf-image-template-field textarea{box-sizing:border-box;width:100%;border:1px solid #dce2e9;border-radius:7px;background:#fff;padding:7px 8px;font:inherit;font-size:9px;line-height:1.5;color:#45515e}
.bf-image-template-field textarea{min-height:72px;resize:vertical}
.bf-image-template-allowed{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px;padding:7px;border-radius:7px;background:#f8f9fb}
.bf-image-template-allowed>span{width:100%;font-size:9px;color:#7f8995}
.bf-image-template-allowed label{display:inline-flex;align-items:center;gap:3px;padding:3px 5px;border:1px solid #e1e6eb;border-radius:999px;background:#fff;font-size:8px;color:#64707c}
@media(max-width:640px){.bf-user-input-actions{grid-template-columns:1fr}}

/* Step 9J: Global Model Center + ASR */
.bf-user-input-actions{grid-template-columns:minmax(0,1fr) 96px 96px}
.bf-user-voice-button{border:1px solid #d7dee7;border-radius:9px;background:#fff;color:#4f6f98;font-size:11px;font-weight:650;cursor:pointer}
.bf-user-voice-button.is-recording{border-color:#d36e75;background:#fff2f3;color:#a7424b}
.bf-voice-status{display:flex;align-items:center;gap:7px;margin-top:8px;padding:7px 9px;border-radius:8px;background:#fff3f4;color:#8c4650;font-size:9px}
.bf-voice-status>span{width:7px;height:7px;border-radius:50%;background:#d15b65;box-shadow:0 0 0 0 rgba(209,91,101,.4);animation:bfVoicePulse 1.2s infinite}
.bf-voice-status strong{font-size:9px}
.bf-voice-status small{margin-left:auto;font-size:9px;color:#9a6870}
@keyframes bfVoicePulse{0%{box-shadow:0 0 0 0 rgba(209,91,101,.4)}70%{box-shadow:0 0 0 7px rgba(209,91,101,0)}100%{box-shadow:0 0 0 0 rgba(209,91,101,0)}}

.global-model-section{display:flex;flex-direction:column;gap:14px}
.global-model-heading{display:flex;justify-content:space-between;gap:20px;align-items:flex-end;padding:20px;border:1px solid #e2e7ed;border-radius:14px;background:#fff}
.global-model-heading>div:first-child>span{font-size:11px;color:#8290a0}
.global-model-heading h2{margin:4px 0 6px;font-size:24px;color:#34404e}
.global-model-heading p{margin:0;max-width:760px;font-size:12px;line-height:1.65;color:#7a8694}
.global-model-badges{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.global-model-badges span{padding:5px 8px;border-radius:999px;background:#f2f5f8;color:#667482;font-size:10px}
.global-model-card{padding:18px 20px;border:1px solid #e0e6ec;border-radius:14px;background:#fff}
.global-model-card>header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding-bottom:13px;border-bottom:1px solid #edf0f3}
.global-model-card>header span{font-size:10px;color:#8a96a3}
.global-model-card>header h3{margin:3px 0 5px;font-size:18px;color:#3b4754}
.global-model-card>header p{margin:0;font-size:11px;line-height:1.55;color:#7b8794}
.global-model-card>header>b{flex:0 0 auto;padding:4px 8px;border-radius:999px;font-size:10px;font-weight:600}
.global-model-card>header>b[data-state="success"]{background:#e9f6ef;color:#397052}
.global-model-card>header>b[data-state="warn"]{background:#fff4df;color:#806029}
.global-model-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;margin-top:14px}
.global-model-grid>label{display:flex;flex-direction:column;gap:5px}
.global-model-grid>label>span{font-size:10px;color:#687583}
.global-model-grid input,.global-model-grid select{box-sizing:border-box;width:100%;height:38px;border:1px solid #d9e0e7;border-radius:8px;background:#fff;padding:0 10px;font-size:11px;color:#42505e;outline:none}
.global-model-grid input:focus,.global-model-grid select:focus{border-color:#9db6d3;box-shadow:0 0 0 2px rgba(87,125,173,.08)}
.global-model-asr-extra{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:11px 14px;padding:12px;border-radius:10px;background:#f7f9fb}
.global-model-asr-extra>label{display:flex;flex-direction:column;gap:5px}
.global-model-asr-extra>label>span{font-size:10px;color:#687583}
.global-model-asr-extra>p{grid-column:1/-1;margin:0;font-size:9px;line-height:1.5;color:#89939e}
.global-model-actions{display:flex;gap:8px;margin-top:14px}
.global-model-actions button{border:1px solid #d5dde6;border-radius:8px;background:#fff;padding:8px 12px;font-size:10px;color:#536273;cursor:pointer}
.global-model-actions button:first-child{border-color:#516f96;background:#516f96;color:#fff}
.global-model-feedback{margin-top:9px;padding:8px 9px;border-radius:8px;background:#f6f8fa;color:#75818e;font-size:9px;line-height:1.45}
.global-model-feedback[data-state="success"]{background:#edf7f1;color:#3d7353}
.global-model-feedback[data-state="error"]{background:#fff0f1;color:#9a4851}
.global-model-feedback[data-state="busy"]{background:#eef5fd;color:#4c6f99}
@media(max-width:760px){
    .bf-user-input-actions{grid-template-columns:1fr}
    .global-model-heading{display:block}
    .global-model-badges{justify-content:flex-start;margin-top:10px}
    .global-model-grid{grid-template-columns:1fr}
    .global-model-asr-extra{grid-template-columns:1fr}
}

/* Step 9J.2: component display rules must respect semantic hidden state. */
.bf-voice-status[hidden],
.bf-image-selection[hidden]{
    display:none !important;
}


/* ==========================================================
   Step 9J.3 — AI Chat Composer
   Mobile-first interaction inside the narrow side panel.
   ========================================================== */

.bf-panel-page[data-bf-panel-page="home"].bf-chat-home{
    display:none;
    height:100%;
    padding:0;
    overflow:hidden;
    background:#fff;
}
.bf-panel-page[data-bf-panel-page="home"].bf-chat-home.is-active{
    display:flex;
    flex-direction:column;
}
.bf-chat-context{
    flex:0 0 auto;
    padding:12px 14px 4px;
    background:#fff;
}
.bf-chat-context .bf-current-page-card{
    margin:0;
    padding:10px 11px;
    border-radius:12px;
    background:#f7f9fc;
}
.bf-chat-log{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:14px 14px 18px;
    scroll-behavior:smooth;
}
.bf-chat-empty{
    padding:28px 10px;
    text-align:center;
    font-size:11px;
    color:#a0a8b2;
}
.bf-chat-message{
    display:flex;
    margin:0 0 13px;
}
.bf-chat-message.is-user{
    justify-content:flex-end;
}
.bf-chat-message.is-assistant{
    justify-content:flex-start;
}
.bf-chat-bubble{
    max-width:88%;
    border-radius:15px;
    padding:9px 11px;
    font-size:12px;
    line-height:1.55;
    word-break:break-word;
    white-space:pre-wrap;
}
.bf-chat-message.is-user .bf-chat-bubble{
    background:#1f6cf0;
    color:#fff;
    border-bottom-right-radius:5px;
}
.bf-chat-message.is-assistant .bf-chat-bubble{
    background:#f3f5f8;
    color:#3f4a57;
    border-bottom-left-radius:5px;
}
.bf-chat-source-badge{
    display:inline-flex;
    margin:0 0 6px;
    padding:2px 6px;
    border-radius:999px;
    background:rgba(255,255,255,.18);
    font-size:8px;
    line-height:1.4;
    opacity:.88;
}
.bf-chat-message.is-assistant .bf-chat-source-badge{
    background:#e5e9ef;
    color:#74808d;
}
.bf-chat-image{
    display:block;
    width:150px;
    max-width:100%;
    max-height:160px;
    object-fit:cover;
    border-radius:10px;
    margin-bottom:7px;
}
.bf-chat-text{
    white-space:pre-wrap;
}
.bf-chat-details{
    margin-top:8px;
    padding-top:7px;
    border-top:1px solid rgba(92,107,124,.14);
    display:flex;
    flex-direction:column;
    gap:3px;
    font-size:10px;
    color:#65717e;
}
.bf-chat-message.is-user .bf-chat-details{
    color:rgba(255,255,255,.82);
    border-top-color:rgba(255,255,255,.22);
}

.bf-chat-composer{
    position:relative;
    flex:0 0 auto;
    padding:7px 10px 10px;
    border-top:1px solid #edf0f3;
    background:rgba(255,255,255,.97);
    box-shadow:0 -10px 24px rgba(34,47,64,.04);
}
.bf-chat-attachment{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) 26px;
    align-items:center;
    gap:8px;
    margin:0 2px 7px;
    padding:6px;
    border:1px solid #e3e7ed;
    border-radius:11px;
    background:#f8fafc;
}
.bf-chat-attachment[hidden]{
    display:none!important;
}
.bf-chat-attachment img{
    width:44px;
    height:44px;
    object-fit:cover;
    border-radius:8px;
    background:#eef1f4;
}
.bf-chat-attachment strong{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:10px;
    color:#4b5663;
}
.bf-chat-attachment small{
    display:block;
    margin-top:2px;
    font-size:8px;
    color:#929ba5;
}
.bf-chat-attachment>button{
    width:26px;
    height:26px;
    border:0;
    background:transparent;
    border-radius:50%;
    color:#8b5961;
    font-size:18px;
    cursor:pointer;
}
.bf-chat-live-status{
    margin:0 2px 7px;
    padding:6px 9px;
    border-radius:9px;
    background:#f4f6f9;
    font-size:9px;
    line-height:1.45;
    color:#718090;
}
.bf-chat-live-status[hidden]{
    display:none!important;
}
.bf-chat-live-status[data-state="loading"],
.bf-chat-live-status[data-state="busy"]{
    background:#eef5ff;
    color:#51719a;
}
.bf-chat-live-status[data-state="error"]{
    background:#fff0f1;
    color:#994954;
}
.bf-chat-live-status[data-state="warn"]{
    background:#fff6e6;
    color:#896226;
}
.bf-composer-row{
    display:flex;
    align-items:flex-end;
    gap:6px;
    min-height:48px;
    padding:5px;
    border:1px solid #dfe4ea;
    border-radius:18px;
    background:#fff;
    box-shadow:0 4px 18px rgba(33,46,62,.07);
}
.bf-composer-row[hidden]{
    display:none!important;
}
.bf-composer-icon{
    flex:0 0 36px;
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:transparent;
    color:#354252;
    font-size:22px;
    line-height:36px;
    cursor:pointer;
}
.bf-composer-icon:hover{
    background:#f2f4f7;
}
.bf-mode-switch{
    font-size:18px;
}
.bf-composer-textarea{
    flex:1 1 auto;
    min-width:0;
    min-height:36px;
    max-height:110px;
    resize:none;
    overflow-y:auto;
    border:0;
    outline:0;
    background:transparent;
    padding:8px 2px 6px;
    font:inherit;
    font-size:13px;
    line-height:1.5;
    color:#303b47;
}
.bf-composer-textarea::placeholder{
    color:#a4abb4;
}
.bf-composer-send{
    flex:0 0 36px;
    width:36px;
    height:36px;
    border:0;
    border-radius:50%;
    background:#1f6cf0;
    color:#fff;
    font-size:20px;
    line-height:36px;
    cursor:pointer;
}
.bf-composer-send:disabled{
    opacity:.48;
    cursor:wait;
}
.bf-composer-voice-row{
    align-items:center;
}
.bf-voice-hold{
    flex:1 1 auto;
    height:38px;
    border:0;
    border-radius:14px;
    background:#f6f7f9;
    color:#1f2935;
    font-size:13px;
    font-weight:650;
    cursor:pointer;
    user-select:none;
    -webkit-user-select:none;
    touch-action:none;
}
.bf-voice-hold.is-recording{
    background:#eef5ff;
    color:#315f9b;
}
.bf-voice-hold.is-canceling{
    background:#fff0f1;
    color:#a64c57;
}
.bf-voice-gesture{
    position:absolute;
    left:10px;
    right:10px;
    bottom:64px;
    min-height:126px;
    padding:20px 16px 16px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:7px;
    border-radius:18px 18px 0 0;
    background:
        radial-gradient(
            circle at 50% 120%,
            rgba(49,145,255,.62),
            rgba(58,145,255,.32) 36%,
            rgba(255,255,255,.96) 78%
        );
    box-shadow:0 -12px 30px rgba(47,115,206,.12);
    z-index:4;
    pointer-events:none;
}
.bf-voice-gesture[hidden]{
    display:none!important;
}
.bf-voice-gesture strong{
    font-size:11px;
    color:#59708b;
}
.bf-voice-gesture small{
    font-size:9px;
    color:#8290a0;
}
.bf-voice-orb{
    width:36px;
    height:36px;
    border-radius:50%;
    background:#2384f5;
    box-shadow:
        0 0 0 8px rgba(35,132,245,.12),
        0 0 0 17px rgba(35,132,245,.06);
}
.bf-composer-meta{
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:23px;
    padding:5px 3px 0;
    font-size:8px;
    color:#a0a8b1;
}
.bf-chat-undo{
    border:0;
    background:transparent;
    color:#778493;
    font-size:8px;
    cursor:pointer;
}
.bf-chat-undo:disabled{
    color:#c3c9d0;
    cursor:default;
}
@media(max-width:640px){
    .bf-chat-context{
        padding-left:10px;
        padding-right:10px;
    }
    .bf-chat-log{
        padding-left:10px;
        padding-right:10px;
    }
}


/* Step 9J.4 functional state fix */
.bf-chat-home{
    position:relative;
}
.bf-voice-gesture{
    /* Recording/recognition is a modal interaction state. */
    inset:0;
    left:0;
    right:0;
    bottom:0;
    min-height:0;
    border-radius:0;
    z-index:30;
    pointer-events:auto;
    background:
        radial-gradient(
            circle at 50% 78%,
            rgba(42,137,252,.62),
            rgba(61,149,255,.31) 24%,
            rgba(246,250,255,.96) 58%,
            rgba(255,255,255,.98) 100%
        );
    backdrop-filter:blur(2px);
    -webkit-backdrop-filter:blur(2px);
}
.bf-voice-gesture[hidden]{
    display:none!important;
}
.bf-voice-orb{
    pointer-events:none;
}

/* Step 9J.6 — Home composer no longer exposes Undo. */
.bf-composer-meta{
    justify-content:flex-start;
}


/* Step 9K.1 — Zero-Config First / Unified Admin Workspace */
.bf-page-workspace{padding:0 12px 18px}
.bf-workspace-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:12px 2px 10px}
.bf-workspace-head h2{margin:4px 0 2px;font-size:16px;color:#2f3b48}
.bf-workspace-head small{display:block;max-width:230px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px;color:#929ca8}
.bf-workspace-state{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:#eef4fb;color:#4e7098;font-size:8px;font-weight:650}
.bf-workspace-state[data-state="automatic"]{background:#eef6f1;color:#4f775f}
.bf-workspace-state[data-state="enhanced_dirty"],.bf-workspace-state[data-state="enhanced_unpublished"]{background:#fff4df;color:#836129}
.bf-workspace-actions{display:flex;flex-direction:column;gap:5px;flex:0 0 auto}
.bf-workspace-actions button{min-width:96px;border:1px solid #d8e0e9;border-radius:8px;background:#fff;padding:7px 9px;font-size:9px;color:#536273;cursor:pointer}
.bf-workspace-actions button:disabled{opacity:.42;cursor:default}
.bf-workspace-actions .bf-workspace-publish{border-color:#356fae;background:#356fae;color:#fff}
.bf-workspace-status{margin:0 0 10px;padding:8px 9px;border-radius:9px;background:#f5f7fa;color:#6f7d8c;font-size:9px;line-height:1.55}
.bf-workspace-status[data-state="dirty"]{background:#fff5e8;color:#886329}
.bf-workspace-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 0 12px;padding:3px;border-radius:10px;background:#f2f4f7}
.bf-workspace-tabs button{border:0;border-radius:8px;background:transparent;padding:7px 3px;font-size:9px;color:#768290;cursor:pointer}
.bf-workspace-tabs button.is-active{background:#fff;color:#344a64;font-weight:650;box-shadow:0 1px 4px rgba(48,64,82,.08)}
.bf-workspace-tab-panel{display:none}
.bf-workspace-tab-panel.is-active{display:block}
.bf-zero-config-note{margin-bottom:12px;padding:10px 11px;border:1px solid #dfe9e3;border-radius:10px;background:#f7fbf8}
.bf-zero-config-note strong{display:block;margin-bottom:4px;font-size:10px;color:#456c55}
.bf-zero-config-note p{margin:0;font-size:9px;line-height:1.55;color:#738179}
.bf-auto-save-line{margin-top:8px;padding:7px 8px;border-radius:8px;background:#f5f7fa;font-size:8px;color:#7c8794}
.bf-auto-save-line[data-state="success"]{background:#eef7f1;color:#4e775d}
.bf-auto-save-line[data-state="dirty"]{background:#fff6e7;color:#8a672f}
.bf-auto-save-line[data-state="preview"]{background:#edf4fd;color:#4b6f9c}
.bf-workspace-section-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;margin-bottom:8px}
.bf-workspace-section-head strong{display:block;font-size:11px;color:#3e4a57}
.bf-workspace-section-head span{display:block;margin-top:3px;max-width:300px;font-size:8px;line-height:1.45;color:#8a949f}
.bf-workspace-learning{margin-top:16px;padding-top:14px;border-top:1px solid #e9edf1}
.bf-publish-summary{padding:11px;border:1px solid #e1e6ec;border-radius:10px;background:#fff}
.bf-publish-summary>strong{font-size:11px;color:#3e4a57}
.bf-publish-summary p{margin:8px 0 0;font-size:8px;line-height:1.5;color:#88939f}
.bf-publish-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 12px}
.bf-publish-actions button:disabled{opacity:.45;cursor:default}
@media(max-width:430px){
    .bf-workspace-head{display:block}
    .bf-workspace-actions{flex-direction:row;margin-top:8px}
    .bf-workspace-actions button{flex:1 1 auto}
}


/* ==========================================================
   Step 9K.2 — Simplified Admin UI
   ========================================================== */
.bf-admin-home-simple{
    padding:18px 14px 24px;
}
.bf-admin-simple-head{
    margin-bottom:14px;
}
.bf-admin-simple-head h2{
    margin-bottom:4px;
}
.bf-admin-simple-head p{
    margin:0;
    max-width:340px;
    font-size:10px;
    line-height:1.5;
    color:#8a95a2;
}
.bf-admin-card-list{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.bf-admin-card{
    width:100%;
    display:grid;
    grid-template-columns:40px minmax(0,1fr) 20px;
    align-items:center;
    gap:10px;
    min-height:92px;
    padding:14px;
    border:1px solid #e2e7ed;
    border-radius:16px;
    background:#fff;
    text-align:left;
    text-decoration:none;
    cursor:pointer;
    box-shadow:0 3px 12px rgba(40,54,70,.035);
}
.bf-admin-card:hover{
    border-color:#cfd8e3;
    background:#fbfcfe;
}
.bf-admin-card-icon{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:12px;
    background:#eef5ff;
    color:#3975ba;
    font-size:18px;
}
.bf-admin-card-link .bf-admin-card-icon{
    background:#f3f4f6;
    color:#5a6878;
}
.bf-admin-card-body{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:3px;
}
.bf-admin-card-body>strong{
    font-size:13px;
    color:#2f3b48;
}
.bf-admin-card-body>b{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:10px;
    font-weight:600;
    color:#677585;
}
.bf-admin-card-body>small{
    font-size:9px;
    color:#9aa3ad;
}
.bf-admin-card-arrow{
    font-size:24px;
    color:#a4adb7;
}

.bf-workspace-head-simple{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:10px;
    padding:12px 2px 8px;
}
.bf-workspace-eyebrow{
    display:block;
    margin-bottom:3px;
    font-size:8px;
    color:#9aa4ae;
}
.bf-workspace-head-simple h2{
    margin:0 0 2px;
    font-size:17px;
    color:#303b47;
}
.bf-workspace-head-simple small{
    display:block;
    max-width:260px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:9px;
    color:#9aa4ae;
}
.bf-workspace-status-simple{
    margin-bottom:8px;
    padding:6px 8px;
    font-size:8px;
}
.bf-workspace-tabs{
    margin-bottom:10px;
}
.bf-compact-hint{
    margin:6px 0 8px;
    font-size:8px;
    color:#929ca7;
}
.bf-image-simple-hint{
    padding:7px 8px;
    border-radius:8px;
    background:#f7f8fa;
}
.bf-field-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    margin-bottom:6px;
}
.bf-field-toolbar>strong{
    font-size:12px;
    color:#3d4956;
}
.bf-field-toolbar>div{
    display:flex;
    gap:5px;
}
.bf-field-toolbar button{
    border:1px solid #dce2e8;
    border-radius:8px;
    background:#fff;
    padding:6px 8px;
    font-size:8px;
    color:#677585;
    cursor:pointer;
}
.bf-field-total-line{
    min-height:auto;
    margin:0 0 8px;
    padding:0;
    border:0;
    background:transparent;
    font-size:8px;
    color:#9aa3ad;
}
.bf-compact-picker-status{
    margin:0 0 5px;
    padding:5px 7px;
    font-size:8px;
}
.bf-compact-cancel-picker{
    margin-bottom:6px;
}
.bf-collapsed-field-list{
    display:flex;
    flex-direction:column;
    gap:7px;
}
.bf-field-card-compact{
    padding:0;
    overflow:hidden;
    border-radius:12px;
}
.bf-field-card-summary{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    min-height:58px;
    padding:8px 10px;
}
.bf-field-summary-button{
    min-width:0;
    display:flex;
    align-items:center;
    gap:7px;
    border:0;
    background:transparent;
    padding:0;
    text-align:left;
    cursor:pointer;
}
.bf-field-summary-text{
    min-width:0;
    flex:1;
    display:flex;
    flex-direction:column;
    gap:2px;
}
.bf-field-summary-text strong{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:11px;
    color:#384554;
}
.bf-field-summary-text small{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:8px;
    color:#9aa4af;
}
.bf-field-state-badge{
    flex:0 0 auto;
    padding:3px 6px;
    border-radius:999px;
    font-size:8px;
}
.bf-field-state-badge.changed{
    background:#fff2d8;
    color:#8a6327;
}
.bf-field-state-badge.new{
    background:#eaf3ff;
    color:#4774a5;
}
.bf-field-state-badge.missing{
    background:#fff0f1;
    color:#9b515b;
}
.bf-field-chevron{
    flex:0 0 auto;
    font-size:18px;
    color:#a1aab4;
    transform:rotate(0deg);
    transition:transform .15s ease;
}
.bf-field-card-compact.is-expanded .bf-field-chevron{
    transform:rotate(90deg);
}
.bf-field-enable{
    margin:0;
    white-space:nowrap;
}
.bf-field-card-details{
    padding:0 10px 10px;
    border-top:1px solid #edf0f3;
}
.bf-field-card-details[hidden]{
    display:none!important;
}
.bf-field-full{
    display:block;
    margin-top:9px;
}
.bf-field-full>span{
    display:block;
    margin-bottom:4px;
}
.bf-learning-details,
.bf-history-details{
    margin-top:14px;
    border-top:1px solid #edf0f3;
    padding-top:10px;
}
.bf-learning-details>summary,
.bf-history-details>summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    cursor:pointer;
    list-style:none;
    font-size:10px;
    font-weight:650;
    color:#556372;
}
.bf-learning-details>summary::-webkit-details-marker,
.bf-history-details>summary::-webkit-details-marker{
    display:none;
}
.bf-learning-details>summary small{
    font-size:8px;
    font-weight:400;
    color:#9ba4ae;
}
.bf-learning-details[open]>summary,
.bf-history-details[open]>summary{
    margin-bottom:9px;
}
.bf-apply-card{
    border:1px solid #e3e7ec;
    border-radius:12px;
    background:#fff;
    padding:5px 11px;
    margin-bottom:10px;
}
.bf-apply-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    min-height:42px;
    border-bottom:1px solid #f0f2f4;
    font-size:9px;
}
.bf-apply-row:last-child{
    border-bottom:0;
}
.bf-apply-row span{
    color:#8994a0;
}
.bf-apply-row strong{
    color:#3f4b58;
    font-size:10px;
}
.bf-test-current{
    margin-bottom:7px;
}
.bf-apply-all{
    margin-bottom:7px;
}
.bf-text-danger{
    width:100%;
    border:0;
    background:transparent;
    padding:8px;
    color:#a6676f;
    font-size:9px;
    cursor:pointer;
}
.bf-history-details{
    margin-top:8px;
}
.bf-test-mode-banner{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin:6px 14px 0;
    padding:8px 10px;
    border:1px solid #d7e6fa;
    border-radius:10px;
    background:#f2f7fe;
}
.bf-test-mode-banner[hidden]{
    display:none!important;
}
.bf-test-mode-banner>div{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:2px;
}
.bf-test-mode-banner strong{
    font-size:9px;
    color:#426c9c;
}
.bf-test-mode-banner span{
    font-size:8px;
    color:#8095ab;
}
.bf-test-mode-banner button{
    flex:0 0 auto;
    border:0;
    background:transparent;
    color:#4d78aa;
    font-size:8px;
    cursor:pointer;
}


/* Step 9K.3 — visible feedback for test-current-changes */
.bf-apply-feedback{
    margin:-1px 0 8px;
    padding:7px 9px;
    border-radius:8px;
    background:#f5f7fa;
    font-size:8px;
    line-height:1.5;
    color:#778593;
}
.bf-apply-feedback[hidden]{
    display:none!important;
}
.bf-apply-feedback[data-state="busy"]{
    background:#eef5ff;
    color:#56779b;
}
.bf-apply-feedback[data-state="warn"]{
    background:#fff5e5;
    color:#8a672e;
}
.bf-apply-feedback[data-state="error"]{
    background:#fff0f1;
    color:#9b525c;
}


/* Step 9K.4 — compact clear-AI-fill action */
.bf-composer-meta{
    justify-content:space-between;
}
.bf-chat-clear-fill{
    border:0;
    background:transparent;
    padding:0;
    color:#8a96a3;
    font-size:8px;
    cursor:pointer;
}
.bf-chat-clear-fill:hover{
    color:#5f7184;
}
.bf-chat-clear-fill[hidden]{
    display:none!important;
}


/* Step 9K.6 — shared Workspace admin password */
.bf-admin-session-line{
    display:flex;align-items:center;justify-content:space-between;gap:10px;
    margin:0 0 10px;padding:8px 10px;border-radius:9px;
    background:#f5f8fb;font-size:9px;color:#6f7e8d;
}
.bf-admin-session-line button{
    border:0;background:transparent;padding:0;font-size:9px;
    color:#657d96;cursor:pointer;
}
.bf-admin-auth-modal{
    position:fixed;inset:0;z-index:2147483646;display:none;
    align-items:center;justify-content:center;
}
.bf-admin-auth-modal.is-open{display:flex}
.bf-admin-auth-mask{
    position:absolute;inset:0;background:rgba(16,28,40,.42);
}
.bf-admin-auth-card{
    position:relative;z-index:1;width:min(360px,calc(100vw - 32px));
    padding:18px;border-radius:16px;background:#fff;
    box-shadow:0 22px 70px rgba(0,0,0,.22);
}
.bf-admin-auth-head{
    display:flex;align-items:flex-start;justify-content:space-between;
    gap:12px;margin-bottom:15px;
}
.bf-admin-auth-head strong{display:block;font-size:15px;color:#243240}
.bf-admin-auth-head span{
    display:block;margin-top:4px;font-size:10px;line-height:1.5;color:#8794a2;
}
.bf-admin-auth-head button{
    border:0;background:transparent;font-size:20px;line-height:1;
    color:#8996a3;cursor:pointer;
}
.bf-admin-auth-card label{display:block}
.bf-admin-auth-card label span{
    display:block;margin-bottom:6px;font-size:10px;color:#677787;
}
.bf-admin-auth-card input{
    box-sizing:border-box;width:100%;height:38px;padding:0 10px;
    border:1px solid #d8e0e7;border-radius:9px;outline:none;font:inherit;
}
.bf-admin-auth-card input:focus{border-color:#8ca9c6}
.bf-admin-auth-error{
    min-height:17px;margin-top:7px;font-size:9px;line-height:1.5;color:#a5525b;
}
.bf-admin-auth-actions{
    display:flex;justify-content:flex-end;gap:8px;margin-top:8px;
}
.bf-admin-auth-actions button{
    min-width:78px;height:34px;border:0;border-radius:9px;cursor:pointer;
}
.bf-admin-auth-actions button:first-child{background:#f1f4f7;color:#667788}
.bf-admin-auth-actions button:last-child{background:#2f6ea9;color:#fff}
.global-admin-top-actions{display:flex;align-items:center;gap:10px}
.global-admin-top-actions>button{
    border:0;background:transparent;font-size:12px;color:#6f7f8f;cursor:pointer;
}
.global-admin-security-section{
    margin-top:24px;padding:22px;border:1px solid #e4eaf0;
    border-radius:16px;background:#fff;
}
.global-admin-security-heading{margin-bottom:16px}
.bf-admin-password-form{max-width:520px;display:grid;gap:12px}
.bf-admin-password-form label span{
    display:block;margin-bottom:6px;font-size:12px;color:#657586;
}
.bf-admin-password-form input{
    box-sizing:border-box;width:100%;height:40px;padding:0 11px;
    border:1px solid #d9e1e8;border-radius:9px;
}
.bf-admin-password-form>button{
    width:120px;height:38px;border:0;border-radius:9px;
    background:#2f6ea9;color:#fff;cursor:pointer;
}
.bf-admin-password-result{min-height:18px;font-size:11px;color:#758493}
.bf-admin-password-result[data-state="error"]{color:#a5525b}
.bf-admin-password-result[data-state="success"]{color:#3e7c5d}
