:root{--ui-blue:#206bc4;--ui-ink:#182433;--ui-muted:#52657a;--ui-border:#dfe6ee;--ui-surface:#fff;--ui-ground:#f3f6fa}
[hidden]{display:none!important}.ui-modal-open{overflow:hidden!important}
.ui-brand{display:inline-flex;gap:10px;align-items:center;color:#182433;text-decoration:none;font-weight:750}.ui-brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:8px;background:#206bc4;color:white;font-size:22px}.ui-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:10px 18px;border:1px solid #cbd8e7;border-radius:8px;background:#fff;color:#185aa8;font:600 14px/1.5 -apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif;cursor:pointer;text-decoration:none}.ui-primary{background:#206bc4;border-color:#206bc4;color:#fff}.ui-danger{background:#b42334;border-color:#b42334;color:#fff}.ui-button:hover{filter:brightness(.95)}.ui-button:focus-visible,.business-modal :is(button,input,select,textarea):focus-visible{outline:3px solid #206bc4!important;outline-offset:3px}.ui-button:disabled{opacity:.55;cursor:wait}
.ui-dialog-overlay,.business-modal{position:fixed;inset:0;top:var(--ui-viewport-top,0px)!important;bottom:auto!important;height:min(var(--ui-viewport-height,100dvh),100dvh)!important;padding:12px;display:flex;align-items:center;justify-content:center;background:#14263d99;z-index:100100;box-sizing:border-box;overflow:hidden!important}
.ui-dialog{width:min(560px,100%);max-height:calc(min(var(--ui-viewport-height,100dvh),100dvh) - 24px);overflow:auto;background:#fff;border:1px solid #dfe6ee;border-radius:14px;padding:24px;color:#182433;font:14px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif;box-sizing:border-box;overscroll-behavior:contain}.ui-dialog h2{font-size:22px;margin:0 0 12px}.ui-dialog p{margin:10px 0;color:#52657a}.ui-dialog label{display:grid;gap:8px;margin:18px 0}.ui-dialog input,.ui-dialog textarea{width:100%;min-height:44px;box-sizing:border-box;padding:10px 12px;border:1px solid #bacbde;border-radius:8px;font:inherit}.ui-dialog-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap;margin-top:20px}.ui-dialog-actions .ui-button{margin:0}.ui-history-list{list-style:none;padding:0;display:grid;gap:12px}.ui-history-list li{border:1px solid #dfe6ee;border-radius:10px;padding:14px}.ui-history-list strong,.ui-history-list span{display:block}.ui-history-list span{color:#52657a;margin-top:4px}.ui-history-pagination{display:flex;align-items:center;justify-content:space-between;gap:8px}.ui-status{padding:16px;border-radius:8px;background:#f3f6fa;color:#52657a}.ui-toast{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:min(560px,calc(100vw - 32px));padding:12px 18px;background:#182433;color:#fff;border-radius:10px;z-index:100200;font:14px/1.6 system-ui,sans-serif}.ui-toast.ui-error{background:#9f2336}
.business-modal>div:first-child{max-height:calc(min(var(--ui-viewport-height,100dvh),100dvh) - 24px)!important;overflow-y:auto!important;overscroll-behavior:contain;box-sizing:border-box;border:1px solid #dfe6ee;box-shadow:0 12px 36px #14263d26!important;border-radius:14px!important;color:#182433}
.business-modal :is(button,input,select,textarea){font-family:inherit!important;font-size:14px!important;min-height:44px!important;box-sizing:border-box}
.business-modal button{min-width:44px;cursor:pointer}.business-modal input:not([type=checkbox]),.business-modal select{font-size:16px!important;min-width:0}.business-modal textarea{font-size:16px!important}.business-modal [role=log]{min-height:0}.business-modal button[aria-label^='关闭']{min-width:44px!important;min-height:44px!important}.business-modal .modal-toolbar{display:flex!important;flex-wrap:wrap;justify-content:flex-start!important;gap:8px!important;padding:12px 52px 12px 16px!important}.business-modal .modal-toolbar button:not([aria-label^='关闭']){flex:1 1 100px;white-space:nowrap;padding:8px 10px!important}.business-modal .modal-toolbar button[aria-label^='关闭']{top:6px!important;right:6px!important;transform:none!important}.business-heading{margin:0;padding:16px 20px 0;font-size:20px!important}.business-modal #chatContent{width:0;flex:1;min-width:0}.business-modal #chatList,.business-modal #messagesList{max-height:min(45vh,340px)!important}.business-modal #fbList{max-height:min(24vh,200px)!important}.business-modal .message-reply{min-height:44px}
.ui-error-page{margin:0;background:#f3f6fa;color:#182433;font:16px/1.6 -apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',sans-serif}.ui-page-header{height:72px;padding:0 24px;background:#fff;border-bottom:1px solid #dfe6ee;display:flex;justify-content:space-between;align-items:center;gap:16px}.ui-error-card{max-width:620px;margin:10vh auto;padding:32px;background:#fff;border:1px solid #dfe6ee;border-radius:14px}.ui-error-card h1{font-size:28px;margin:8px 0}.ui-error-card p{color:#52657a}.ui-error-code{font-weight:700;color:#206bc4}.ui-error-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}
@media(max-width:600px){.ui-page-header{padding:0 16px}.ui-error-card{margin:32px 12px;padding:24px}.ui-dialog{padding:20px}.ui-dialog-actions .ui-button{flex:1}.business-modal>div:first-child{width:100%!important}.business-modal #profileModal{align-items:flex-start}.ui-history-pagination{flex-wrap:wrap}.ui-history-pagination .ui-button{padding:8px 12px}}

@media(max-width:600px){.ui-dialog input,.ui-dialog textarea{font-size:16px}}

.challenge-status:empty{display:none}.challenge-status .ui-button{margin-top:8px}.business-modal p{line-height:1.6}.business-modal #profileModal>div{max-width:440px}

.business-modal>div:first-child{animation:none!important;transform:none!important}

.business-modal>div:first-child{position:relative}.business-modal .profile-dismiss{position:absolute;top:8px;right:8px;width:44px;height:44px;border:0;background:#fff;color:#52657a;border-radius:8px;font-size:24px!important}.business-modal button[aria-label^='关闭']{font-size:24px!important}

/* Shared interaction tokens extend the approved brand without changing its layout. */
:root{--primary:var(--ui-blue);--text:var(--ui-ink);--text2:var(--ui-muted);--border:var(--ui-border)}
.workspace-context{font-size:15px;color:var(--ui-muted)}.profile-sections{display:flex;gap:8px;margin:16px 0}.profile-sections .ui-button{flex:1}.profile-sections [aria-pressed=true]{background:#eaf2ff;border-color:var(--ui-blue);color:#185aa8}.profile-field-label{display:block;color:var(--ui-ink);font-size:14px;margin:8px 0;text-align:left}.field-status{font-size:14px;color:var(--ui-muted);margin:8px 0}.field-status[role=alert]{color:#a51d36}.challenge-urgent{color:#a51d36}.ui-status .ui-button{margin-left:12px}.business-modal #messagesList{overflow-wrap:anywhere}.business-modal #messagesList [style*='font-size:11px']{font-size:12px!important}.ui-button:disabled{cursor:default}.ui-dialog button:focus-visible{outline:3px solid var(--ui-blue);outline-offset:3px}
@media(max-width:900px){.workspace-context{display:none}}

.cell-details{display:none}@media(max-width:800px){.cell-details{display:block}}

/* Compact profile shares the field and action rhythm of other dialogs. */
#profileModal>div:first-child{max-width:440px!important;padding:24px!important}
#profileModal h2:first-of-type{margin:0 40px 16px 0!important;text-align:left!important;font-size:21px!important}
#profileModal .profile-identity{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px}
#profileModal .profile-identity h2{margin:0!important;font-size:18px!important}
#profileModal .profile-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;background:#f3f6fa;border-radius:8px;padding:10px 12px;margin-bottom:16px}
#profileModal .profile-facts>div{padding:0;background:none}
#profileModal .profile-sections{margin:0 0 14px}
#profileModal .profile-field-label{margin:8px 0 6px}
#profileModal input,#profileModal select{text-align:left!important;margin-bottom:8px!important}
#profileModal .profile-bottom-close{display:none}
#app .review-page-status{margin:14px 0;color:#52657a;scroll-margin-top:90px}
#app #quizReview{scroll-margin-top:90px}
#app .review-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}
#app .review-skipped{color:#805100;font-weight:600;margin-bottom:4px}
#app .review-item .rs small{display:block;margin-bottom:6px;color:#52657a}
