/* AI办公 production UI: approved two-column reference style. */
:root{
  --c-bg:#f4f5f6;--c-surface:#fff;--c-surface-2:#f4f5f6;--c-surface-3:#eceff1;
  --c-border:#d8dde2;--c-border-strong:#aab2bb;--c-text:#181818;--c-text-2:#3f4750;--c-text-3:#69717b;
  --c-accent:#c94a3a;--c-accent-hover:#ad3e31;--c-accent-soft:#faecea;--c-accent-soft-2:#f4d9d5;
  --c-on-accent:#fff;--c-danger:#c94a3a;--c-danger-soft:#faecea;--c-warn:#9a681d;--c-warn-soft:#fff1cf;
  --c-chat-bg:#f4f5f6;--c-bubble-theirs:#fff;--c-bubble-theirs-border:#d8dde2;
  --c-bubble-mine:#181818;--c-bubble-mine-text:#fff;--bubble-accent:#181818;--bubble-read:#c9ced4;--c-rail:#fff;--c-rail-text:#181818;
  --r-lg:0;--r-md:0;--r-sm:0;--r-xs:0;--sh-sm:none;--sh-md:none;--sh-lg:none;
  --font:Arial,"Microsoft YaHei",sans-serif;
}

.peer-identity{display:contents}.mobile-chat-more,.mobile-chat-sheet{display:none}#attachPreview:empty{display:none!important}

@media(max-width:560px){
  #peerbar{height:60px!important;min-height:60px!important;padding:0 8px!important;gap:4px!important;flex-wrap:nowrap!important;background:#fff!important;border-bottom:1px solid #e8eaed!important}
  #peerbar .peer-identity{display:flex;min-width:0;flex:1;flex-direction:column;justify-content:center;gap:2px;padding:0 4px}
  #peerbar .peer-name-row{display:flex;min-width:0;align-items:center;gap:7px}
  #peerbar .pname{min-width:0;overflow:hidden;color:var(--c-text)!important;font-size:15px!important;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
  #peerbar .pid{font-size:10px!important}.peer-name-row .bot-badge{flex:0 0 auto}
  #peerbar .pstatus{display:block;overflow:hidden;color:var(--c-text-3)!important;font-size:11px!important;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
  #peerbar .dot{width:7px;height:7px;flex:0 0 7px}
  #peerbar>.spacer{display:none!important}
  #peerbar #backBtn,#peerbar .mobile-chat-more{display:inline-flex!important;width:44px;min-width:44px;height:44px!important;min-height:44px!important;align-items:center;justify-content:center;padding:0!important;border:0!important;border-radius:50%!important;background:transparent!important;color:var(--c-text)!important}
  #peerbar #backBtn span{font-size:34px;font-weight:300;line-height:1;transform:translateY(-1px)}#peerbar #backBtn b{display:none}
  #peerbar .mobile-chat-more span{font-size:15px;font-weight:800;letter-spacing:1px!important;transform:translateY(-2px)}
  #peerbar #backBtn:active,#peerbar .mobile-chat-more:active{background:#f1f3f5!important;transform:scale(.94)}
  #peerbar #manageMsgBtn,#peerbar #removeFriendBtn,#peerbar select{display:none!important}
  #msgs{padding:14px 14px 28px!important;gap:19px!important}.msg{max-width:86%!important}
  #selectBar{min-height:54px;padding:7px 10px!important;gap:6px!important}#selectBar button{height:38px;padding:0 11px!important;border:0!important;border-radius:10px!important;background:#f1f3f5!important}#selectBar button.danger{background:#fdecec!important;color:var(--c-danger)!important}
  #attachPreview.show{margin:8px 10px 0;padding:8px 10px!important;border:1px solid #e1e5e9!important;border-radius:12px!important;background:#fff!important;box-shadow:0 5px 18px rgba(15,23,42,.08)}
  #inputbar{padding:9px 10px max(9px,env(safe-area-inset-bottom))!important;gap:8px!important;background:#fff!important;border-top:1px solid #e8eaed!important;box-shadow:0 -8px 24px rgba(15,23,42,.05)}
  #inputbar input{height:44px!important;min-width:0;padding:0 16px!important;border:1px solid transparent!important;border-radius:22px!important;background:#f1f3f5!important;color:var(--c-text)!important;font-size:15px!important}
  #inputbar input:focus{border-color:rgba(7,193,96,.35)!important;background:#fff!important;box-shadow:0 0 0 3px rgba(7,193,96,.10)!important}
  #inputbar #plusBtn{width:44px!important;min-width:44px!important;height:44px!important;padding:0!important;border:0!important;border-radius:50%!important;background:#f1f3f5!important;color:#181818!important;font-size:26px!important;font-weight:400}
  #inputbar #sendBtn{min-width:62px!important;height:44px!important;padding:0 15px!important;border:0!important;border-radius:12px!important;background:#07c160!important;color:#fff!important;font-size:14px!important;font-weight:700;box-shadow:none!important}
  #inputbar #sendBtn:active,#inputbar #plusBtn:active{transform:scale(.94)}
  .mobile-chat-sheet:not(.hidden){position:fixed;inset:0;z-index:160;display:block}
  .mobile-chat-sheet-backdrop{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:rgba(15,23,42,.38)}
  .mobile-chat-sheet-panel{position:absolute;left:0;right:0;bottom:0;padding:8px 12px max(12px,env(safe-area-inset-bottom));border-radius:20px 20px 0 0;background:#f4f5f6;box-shadow:0 -18px 48px rgba(15,23,42,.18)}
  .mobile-chat-sheet-handle{width:36px;height:4px;margin:2px auto 10px;border-radius:2px;background:#c7ccd1}
  .mobile-chat-sheet-panel h3{margin:0 0 8px;padding:0 5px 8px;color:var(--c-text);font-size:13px;font-weight:700}
  .mobile-chat-sheet-action{display:flex;width:100%;min-height:64px;align-items:center;gap:12px;padding:10px 12px;border:0;border-bottom:1px solid #eceef0;background:#fff;color:var(--c-text);text-align:left}
  .mobile-chat-sheet-action:first-of-type{border-radius:14px 14px 0 0}.mobile-chat-sheet-action:nth-of-type(2){border-bottom:0;border-radius:0 0 14px 14px}
  .mobile-chat-sheet-action:active,.mobile-chat-sheet-cancel:active{background:#eceff1}
  .sheet-action-icon{display:grid;width:36px;height:36px;flex:0 0 36px;place-items:center;border-radius:10px;background:#e9f8f0;color:#078d48;font-size:19px;font-weight:700}.mobile-chat-sheet-action.danger .sheet-action-icon{background:#fdeceb;color:#c63f35}
  .mobile-chat-sheet-action>span:last-child{display:flex;min-width:0;flex-direction:column;gap:3px}.mobile-chat-sheet-action strong{font-size:15px}.mobile-chat-sheet-action small{color:var(--c-text-3);font-size:11px;font-weight:400}.mobile-chat-sheet-action.danger strong{color:#c63f35}
  .mobile-chat-sheet-cancel{width:100%;height:48px;margin-top:9px;border:0;border-radius:14px;background:#fff;color:var(--c-text);font-size:15px;font-weight:700}
}
html[data-bubble-theme="green"]{--c-bubble-mine:#07c160;--c-bubble-mine-text:#fff;--bubble-accent:#07c160;--bubble-read:#145c34}
*{letter-spacing:0!important;box-sizing:border-box}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
html,body{background:var(--c-bg);font-family:var(--font);color:var(--c-text)}
button,input,select,textarea{font-family:var(--font)}
#app{width:100%;max-width:none;margin:0;background:var(--c-surface);box-shadow:none}
#chat{height:100%;min-height:0}
.hidden{display:none!important}
.system-name{visibility:hidden}
.system-name.system-name-ready{visibility:visible}
.system-description{visibility:hidden}.system-description.system-description-ready{visibility:visible}

/* Authentication */
#login{flex:1!important;width:100%!important;max-width:none!important;margin:0!important;padding:0!important;justify-content:flex-start!important;background:var(--c-bg)}#login::before{display:none!important}.auth-page{display:grid;width:min(1024px,calc(100vw - 40px));min-height:100dvh;margin:0 auto;grid-template-rows:86px 1fr 66px}.auth-page-header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--c-text)}.auth-page-brand{display:flex;align-items:center;gap:12px}.auth-page-mark{display:grid;width:34px;height:34px;place-items:center;background:var(--c-text);color:#fff;font-size:11px;font-weight:800}.auth-page-brand strong{font-size:17px}.auth-entry-label{padding:5px 9px;background:var(--c-accent);color:#fff;font-size:11px;font-weight:700}.auth-main{display:flex;align-items:center;justify-content:center;padding:42px 0}.auth-card{width:min(440px,100%)!important;max-width:440px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}.auth-brand{text-align:left!important;margin-bottom:24px!important}.auth-brand-rule{width:48px;height:4px;margin-bottom:16px;background:var(--c-accent)}.auth-logo{display:none!important}#loginTitle{margin:0 0 7px!important;color:var(--c-text)!important;font-size:26px!important;text-align:left!important}.auth-sub{margin:0!important;color:var(--c-text-2)!important;font-size:13px!important}.auth-tabs{margin-bottom:24px!important;padding:0!important;gap:0!important;background:transparent!important;border-bottom:1px solid var(--c-border-strong)!important;border-radius:0!important}.auth-tabs::before{content:"账户验证";display:flex;align-items:center;margin-right:auto;color:var(--c-text);font-size:17px;font-weight:700}.auth-tabs{display:flex!important}.auth-tabs .auth-tab{flex:0 0 auto!important;width:auto!important;padding:10px 13px!important}.auth-field-label{display:block;margin:0 0 7px;color:var(--c-text);font-size:12px;font-weight:700}#login .auth-tab{border:0!important;border-bottom:2px solid transparent!important;border-radius:0!important;box-shadow:none!important;color:var(--c-text-3)!important}#login .auth-tab.active{color:var(--c-accent)!important;border-color:var(--c-accent)!important;background:transparent!important}#login input{height:43px!important;margin-bottom:16px!important;border:1px solid var(--c-border-strong)!important;border-radius:0!important;background:#fff!important;color:var(--c-text)!important;font-size:14px!important}#login input:focus{border-color:var(--c-text)!important;box-shadow:none!important}#loginBtn,#regBtn{height:43px!important;margin-top:4px;background:var(--c-text)!important;color:#fff!important;border-radius:0!important;font-size:14px!important}#loginBtn:hover,#regBtn:hover{background:var(--c-accent)!important}.auth-page-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--c-border);color:var(--c-text-3);font-size:11px}
.auth-page-mark{background:#181818!important;color:#07c160!important;font-size:17px!important}.auth-page-brand strong{min-height:20px}.auth-sub,.auth-field-label,#login input{text-align:left!important}#loginTitle{min-height:32px}.auth-sub{min-height:20px}
.desktop-download-entry{display:inline-flex;min-height:36px;align-items:center;padding:0 12px;background:var(--c-text);color:#fff;font-size:11px;font-weight:800;text-decoration:none}.desktop-download-entry:hover{background:var(--c-accent);color:#fff}

/* Global header */
header{height:56px;padding:0 18px;background:#fff;border-bottom:1px solid var(--c-border);color:var(--c-text)}
.brand-mark{width:30px;height:30px;display:grid;place-items:center;background:#181818;color:#07c160;font-weight:800;margin-right:9px}
header .title{font-size:16px;font-weight:700;color:var(--c-text)}
header .me{font-size:12px;color:var(--c-text-3)}
header button,header a{height:32px;min-width:32px;padding:0 10px;border:1px solid var(--c-border-strong);border-radius:0;background:#fff;color:var(--c-text);display:inline-flex;align-items:center;justify-content:center}
header button:hover,header a:hover{background:var(--c-bg);color:var(--c-text)}
header #logoutBtn{color:var(--c-danger)}
.theme-toggle,[data-theme-toggle]{display:none!important}
.menu-panel,.more-popup{border:1px solid var(--c-border)!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}

/* Two-column application */
#body{background:#fff;min-height:0}
#sidebar{width:330px!important;min-width:330px!important;max-width:330px!important;background:#fff;border-right:1px solid var(--c-border)}
#splitter{display:none!important}
.sidebar-overview{padding:13px 14px 8px;background:#fff}
.sidebar-title-row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.sidebar-actions{display:flex;align-items:center;gap:6px}
.sidebar-actions button{width:36px;height:36px;padding:0;border:1px solid var(--c-border-strong);background:#fff;color:var(--c-text);font-size:17px;cursor:pointer}
.sidebar-actions button:hover{border-color:var(--c-accent);color:var(--c-accent);background:var(--c-accent-soft)}
.sidebar-overview h2{margin:0 0 3px;font-size:17px;line-height:1.2}
.sidebar-overview p{margin:0;color:var(--c-text-2);font-size:11px}
.sidebar-tools-row{position:relative;display:flex;align-items:center;gap:7px;padding:0 14px 9px;background:#fff}
.sidebar-tools-row .more-popup{display:none}
.sidebar-tools-row .m-search{min-width:0;flex:1}
.m-search{display:block!important;padding:0!important}
.m-search input{width:100%!important;height:36px!important;border:1px solid var(--c-border-strong)!important;border-radius:0!important;background:var(--c-bg)!important;color:var(--c-text)!important;padding:0 10px!important}
.m-search input:focus{border-color:var(--c-accent)!important;box-shadow:none!important}
.m-search input::placeholder{color:var(--c-text-3);opacity:1}
.sidebar-search-results{border-bottom:1px solid var(--c-border);background:#fff}
.sidebar-search-title{padding:8px 16px 6px;color:var(--c-text-3);font-size:11px}
.sidebar-search-state{padding:14px 16px;color:var(--c-text-2);font-size:12px;line-height:1.5}
.sidebar-person-result{display:flex;width:100%;min-height:62px;align-items:center;gap:10px;padding:9px 14px;border:0;border-top:1px solid var(--c-border);background:#fff;color:var(--c-text);text-align:left;cursor:pointer}
.sidebar-person-result:hover,.sidebar-person-result:focus-visible{background:var(--c-bg)}
.sidebar-person-result .conv-avatar{width:40px;height:40px;flex:0 0 40px}
.sidebar-person-main{display:flex;min-width:0;flex:1;flex-direction:column;gap:4px}
.sidebar-person-name{display:flex;min-width:0;align-items:center;gap:6px;font-size:13px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar-person-meta{overflow:hidden;color:var(--c-text-3);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
#sidebar .sec{padding:11px 16px 7px;color:var(--c-text-3);font-size:11px;font-weight:400;border-bottom:1px solid var(--c-border)}
#friendsHeader,#convHeader{display:none!important}
.sidebar-tabs{display:flex;justify-content:space-between;gap:8px;padding:0 14px 7px;border-bottom:1px solid var(--c-border)}
.sidebar-tabs button{height:31px;padding:0 2px;border:0;border-bottom:2px solid transparent;background:#fff;color:var(--c-text-3);font-size:12px;cursor:pointer}
.sidebar-tabs button.active{color:var(--c-accent);border-color:var(--c-accent);font-weight:700}
#sidebar .sec button{border:1px solid var(--c-border-strong);border-radius:0;background:#fff;color:var(--c-text);padding:3px 7px}
#sidebar .conv{min-height:69px;padding:11px 14px;border:0;border-bottom:1px solid var(--c-border);border-radius:0;background:#fff;gap:4px}
#sidebar .conv:hover{background:#fafafa}
#sidebar .conv.active{background:#fff;color:var(--c-text);box-shadow:inset 3px 0 var(--c-accent)}
#sidebar .conv .conv-preview{color:var(--c-text-3);font-size:12px}
#sidebar .conv:focus-visible{outline:2px solid var(--c-accent);outline-offset:-2px}
#sidebar .conv.active .conv-preview{color:var(--c-text-3)}
.conv-avatar{border-radius:0!important;color:#fff!important}
.conv-online{border-color:#fff!important}
.conv-unread,#sidebar .conv .badge{background:var(--c-accent)!important;color:#fff!important;border-radius:0!important}
.friend-req-tip{color:var(--c-text-3)!important}
.contact-group-label{padding:8px 14px 6px;border-bottom:1px solid var(--c-border);background:var(--c-bg);color:var(--c-text-2);font-size:11px;font-weight:700}
#main{background:var(--c-chat-bg);min-width:0}
#empty{background:var(--c-chat-bg);color:var(--c-text-3)}
.empty-inner{max-width:420px;padding:24px;text-align:center}.empty-inner h2{margin:0 0 8px;color:var(--c-text);font-size:20px}.empty-inner p{margin:0;line-height:1.55;font-size:13px}.empty-actions{display:flex;justify-content:center;gap:8px;margin-top:18px}.empty-actions button{height:38px;padding:0 14px;border:1px solid var(--c-border-strong);background:#fff;color:var(--c-text);cursor:pointer}.empty-actions button:first-child{background:var(--c-text);color:#fff;border-color:var(--c-text)}

/* Thread */
#peerbar{min-height:62px;height:62px;padding:0 18px;background:#fff;border-bottom:1px solid var(--c-border)}
#peerbar .pname{font-size:15px;font-weight:700;color:var(--c-text)}
#peerbar .pid,#peerbar .pstatus{font-size:12px;color:var(--c-text-3)}
#peerbar .dot{background:#9aa4aa}.dot.on,#peerbar .dot.on{background:#39a866}
#peerbar button,#peerbar select{height:32px;border:1px solid var(--c-border-strong);border-radius:0;background:#fff;color:var(--c-text);padding:0 9px}
#peerbar #removeFriendBtn{color:var(--c-danger)}
#convMode,#clearTtl{display:none!important}
#selectBar{background:#fff;border-bottom:1px solid var(--c-border);padding:9px 14px}
#selectBar button{border:1px solid var(--c-border-strong);border-radius:0;background:#fff;color:var(--c-text)}
#selectBar button.danger{color:var(--c-danger);background:#fff}
#msgs{padding:20px 14px 26px!important;gap:20px;background:var(--c-chat-bg);font-size:14px}
.msg{max-width:min(72%,680px);padding:7px 9px;border-radius:15px!important;box-shadow:none;line-height:1.48}
.msg.mine{background:var(--c-bubble-mine);color:var(--c-bubble-mine-text);border:1px solid var(--c-bubble-mine);border-bottom-right-radius:4px!important}
.msg.theirs{background:#fff;color:var(--c-text);border:1px solid var(--c-border);border-left:3px solid var(--bubble-accent);border-bottom-left-radius:4px!important;padding-left:10px}
.msg.theirs::before{display:none}
.msg .meta{color:var(--c-text-3);bottom:-16px}
.msg.mine .read{color:var(--bubble-read);font-weight:700}
.msg.queued{outline:1px dashed var(--c-warn);opacity:.78}.msg.send-failed{outline:2px solid var(--c-danger);opacity:1}
.file-card{border:1px solid var(--c-border)!important;border-radius:0!important;background:var(--c-bg)!important;color:var(--c-text)!important}
#msgs .msg.file-only{padding:0!important;border:0!important;background:transparent!important}
.msg.file-only::before,.msg.img-only::before{display:none}
.msg.file-only .file-card{margin-top:0!important;border-color:var(--c-border-strong)!important}
.fc-ico{border-radius:0!important}.type-xls,.type-img{background:var(--c-accent)!important;color:#fff!important}
.img-preview,.img-preview img{border-radius:0!important}
.recall-note{color:var(--c-text-3)}

/* Composer */
#attachPreview{background:#fff;border-top:1px solid var(--c-border)}
#inputbar{padding:12px 16px;background:#fff;border-top:1px solid var(--c-border);gap:8px}
#inputbar input{height:38px;padding:0 11px;border:1px solid var(--c-border-strong);border-radius:0;background:var(--c-bg);color:var(--c-text)}
#inputbar input:focus{border-color:var(--c-accent);box-shadow:none}
#inputbar button{height:38px;border-radius:0;background:var(--c-text);color:#fff;padding:0 18px}
#plusBtn{width:38px!important;min-width:38px!important;background:#fff!important;color:var(--c-text)!important;border:1px solid var(--c-border-strong)!important}

/* Dialogs and secondary surfaces */
.modal-mask{background:rgba(24,24,24,.42);backdrop-filter:none}
.modal{background:#fff;border:1px solid var(--c-border);border-radius:0;padding:20px;box-shadow:none}
.modal h3{font-size:16px;border-bottom:1px solid var(--c-border);padding-bottom:11px}
.modal input,.modal select{border:1px solid var(--c-border-strong)!important;border-radius:0!important;background:var(--c-bg)!important;color:var(--c-text)!important}
.modal button{border-radius:0!important}.modal .ok{background:var(--c-text);color:#fff}.modal .cancel{background:#fff;color:var(--c-text);border:1px solid var(--c-border-strong)}
.peer-picker{width:min(460px,calc(100vw - 32px))}
.peer-picker>label{display:block;margin:2px 0 7px;font-size:12px;color:var(--c-text-2)}
.peer-results{margin:10px 0 4px;max-height:280px;overflow:auto;border:1px solid var(--c-border);background:#fff}
.peer-results:empty{display:none}
.peer-result{width:100%;min-height:58px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-bottom:1px solid var(--c-border);background:#fff;color:var(--c-text);text-align:left;cursor:pointer}
.peer-result:last-child{border-bottom:0}.peer-result:hover,.peer-result[aria-selected="true"]{background:var(--c-bg)}
.peer-result .conv-avatar{width:38px;height:38px;flex:0 0 38px}.peer-result-main{min-width:0;flex:1}.peer-result-name{font-size:14px;font-weight:700}.peer-result-meta{font-size:12px;color:var(--c-text-3);margin-top:2px}
.peer-empty{padding:18px 12px;color:var(--c-text-3);font-size:12px;text-align:center}
.app-dialog-message{white-space:pre-wrap;line-height:1.55;color:var(--c-text-2);margin:2px 0 18px;max-height:45vh;overflow:auto;word-break:break-word}
.toast-region{position:fixed;right:18px;bottom:18px;z-index:120;display:flex;flex-direction:column;gap:8px;pointer-events:none}
.toast{min-width:220px;max-width:min(380px,calc(100vw - 32px));padding:11px 13px;border:1px solid var(--c-border-strong);background:#fff;color:var(--c-text);box-shadow:none;font-size:13px;pointer-events:auto}
.toast.error{border-left:3px solid var(--c-danger)}.toast.success{border-left:3px solid #267052}
.toggle-slider{border-radius:0!important}.toggle-slider::after{border-radius:0!important}
.bot-item{border:1px solid var(--c-border)!important;border-radius:0!important;box-shadow:none!important}
.bot-item .bi-avatar{border-radius:0!important;background:#665f91!important;color:#fff!important}
.bot-item .bi-type{color:var(--c-text-2)!important;background:var(--c-bg)!important;border:1px solid var(--c-border)!important;border-radius:0!important}
.bot-manager-page{width:min(780px,calc(100vw - 32px))!important;max-width:780px!important;max-height:min(760px,calc(100dvh - 32px));display:flex;flex-direction:column;padding:0!important}
.bot-manager-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:18px 20px 14px;border-bottom:1px solid var(--c-border)}
.bot-manager-head h3{margin:0 0 4px!important;padding:0!important;border:0!important}.bot-manager-head p{margin:0;color:var(--c-text-3);font-size:12px}
.bot-manager-summary{color:var(--c-text-2);font-size:12px;white-space:nowrap}
.bot-manager-page .bot-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:14px 20px;overflow-y:auto}
.bot-manager-page .bot-item{gap:9px;padding:13px;background:#fff!important}
.bot-item .bi-account{margin-top:3px;color:var(--c-text-3);font-size:11px}.bot-item-state{font-size:11px}.bot-added-state{color:#267052}.bot-added-state.off{color:var(--c-text-3)}
.bot-item-actions{display:flex;gap:7px;margin-top:auto}.bot-item-actions .bi-btn{height:34px;flex:1;padding:0 10px!important;border:1px solid var(--c-text)!important;background:var(--c-text)!important;color:#fff!important;font-size:12px}
.bot-item-actions .bi-btn.secondary{border-color:var(--c-border-strong)!important;background:#fff!important;color:var(--c-text)!important}.bot-item-actions .bi-btn.remove{border-color:var(--c-border-strong)!important;background:#fff!important;color:var(--c-danger)!important}
.bot-manager-footer{justify-content:flex-end;margin:0!important;padding:12px 20px;border-top:1px solid var(--c-border)}.bot-manager-footer button{flex:0 0 auto!important;min-width:88px}
.email-bot-manager{width:min(860px,calc(100vw - 32px))!important;max-width:860px!important;max-height:min(780px,calc(100dvh - 32px));padding:0!important;overflow:hidden}
.email-bot-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--c-border)}.email-bot-head h3{margin:0 0 4px!important;padding:0!important;border:0!important}.email-bot-head p{margin:0;color:var(--c-text-3);font-size:12px}.email-bot-head .email-close{height:32px;flex:0 0 auto!important;padding:0 12px!important}
.email-account-layout{display:grid;height:min(676px,calc(100dvh - 106px));min-height:0;grid-template-columns:290px minmax(0,1fr)}
.email-account-list-panel{min-width:0;overflow-y:auto;border-right:1px solid var(--c-border);background:var(--c-bg)}.email-account-form-panel{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;background:#fff}
.email-section-title{display:flex;min-height:42px;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-bottom:1px solid var(--c-border);font-size:13px}.email-account-form-panel>.email-section-title{flex:0 0 auto;padding-left:18px;padding-right:18px}.email-section-title button{height:28px;flex:0 0 auto!important;padding:0 9px!important;border:1px solid var(--c-border-strong)!important;background:#fff!important;color:var(--c-text)!important;font-size:11px}.email-section-title span{color:var(--c-text-3);font-size:11px}
.email-account-list{display:flex;flex-direction:column}.email-account-empty{padding:28px 14px;color:var(--c-text-3);font-size:12px;text-align:center}.email-account-row{padding:12px;border-bottom:1px solid var(--c-border);background:#fff}.email-account-row.active{background:var(--c-accent-soft)}.email-account-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.email-account-row-head strong,.email-account-row-head span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-account-row-head strong{font-size:13px}.email-account-row-head span{margin-top:2px;color:var(--c-text-3);font-size:11px}.email-account-row-head em{font-style:normal;font-size:10px;white-space:nowrap}.email-account-row-head em.ok{color:#267052}.email-account-row-head em.error{color:var(--c-danger)}.email-account-row-head em.paused{color:var(--c-text-3)}.email-account-row-meta{margin-top:7px;color:var(--c-text-3);font-size:10px;line-height:1.45}.email-account-error{margin-top:6px;color:var(--c-danger);font-size:10px;line-height:1.45}.email-account-row-actions{display:flex;gap:6px;margin-top:8px}.email-account-row-actions button{height:28px;flex:0 0 auto!important;padding:0 9px!important;border:1px solid var(--c-border-strong)!important;background:#fff!important;color:var(--c-text)!important;font-size:11px}.email-account-row-actions button.danger{color:var(--c-danger)!important}
.email-account-status{display:inline-flex!important;align-items:center;gap:5px;flex:0 0 auto;padding:4px 7px;border:1px solid var(--c-border);background:#fff;color:var(--c-text-2)!important;font-size:10px!important;font-weight:700}.email-account-status i{width:7px;height:7px;background:#267052}.email-account-status.error i{background:var(--c-danger)}.email-account-status.paused i{background:var(--c-text-3)}.email-account-last{margin-top:3px;color:var(--c-text-3);font-size:10px}
.email-account-form-scroll{min-height:0;flex:1;overflow-y:auto;padding:14px 18px}.email-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 12px}.email-form-grid label{display:block;min-width:0}.email-form-grid label>span{display:block;margin-bottom:5px;color:var(--c-text-2);font-size:11px;font-weight:700}.email-form-grid input,.email-form-grid select{width:100%;height:38px!important;margin:0!important;padding:0 9px!important}.email-form-grid input[readonly]{background:var(--c-surface-3)!important;color:var(--c-text-2)!important}.email-span-2{grid-column:1/-1}.email-enabled-row{display:flex;align-items:center;gap:8px;margin-top:13px;color:var(--c-text-2);font-size:12px}.email-enabled-row input{width:16px!important;height:16px!important;margin:0!important}.email-bot-manager .err{margin:10px 0 0}.email-bot-manager .err.success{color:#267052}.email-form-actions{display:flex;flex:0 0 auto;justify-content:flex-end;gap:8px;margin:0;padding:12px 18px;border-top:1px solid var(--c-border);background:#fff}.email-form-actions button{height:36px;flex:0 0 auto!important;padding:0 13px!important}.email-account-progress{margin-top:5px;color:#8a5b00;font-size:10px;font-weight:700}
/* Email assistant is an inbox workspace, not a chat composer. */
.email-workspace{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column;background:#fff}.email-workspace.hidden{display:none!important}.email-workspace-head{display:flex;min-height:62px;align-items:center;gap:14px;padding:0 18px;border-bottom:1px solid var(--c-border);background:#fff}.email-workspace-back{display:none;width:38px;height:38px;padding:0;border:0;background:transparent;color:var(--c-text);font-size:28px}.email-workspace-identity{display:flex;min-width:0;align-items:center;gap:10px}.email-workspace-avatar{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:8px;background:#49758d;color:#fff;font-size:10px;font-weight:800}.email-workspace-identity>div{display:flex;min-width:0;flex-direction:column;gap:3px}.email-workspace-identity strong{font-size:14px}.email-workspace-identity span:last-child{overflow:hidden;color:var(--c-text-3);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.email-workspace-actions{display:flex;min-width:0;align-items:center;gap:8px;margin-left:auto}.email-workspace-actions select,.email-workspace-actions button{height:34px;margin:0;padding:0 10px;border:1px solid var(--c-border-strong);border-radius:6px;background:#fff;color:var(--c-text);font-size:11px}.email-workspace-actions select{width:min(190px,20vw)}#emailInboxPoll{border-color:var(--c-text);background:var(--c-text);color:#fff;font-weight:700}#emailInboxPoll:disabled{opacity:.55}
.email-inbox-view{display:flex;min-height:0;flex:1;flex-direction:column}.email-inbox-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 18px;border-bottom:1px solid var(--c-border);background:#fff}.email-inbox-filters{display:flex;gap:4px}.email-inbox-filters button{height:30px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:var(--c-text-3);font-size:11px}.email-inbox-filters button:hover{background:var(--c-surface-3);color:var(--c-text)}.email-inbox-filters button.active{background:var(--c-accent-soft);color:#067a40;font-weight:700}.email-inbox-search{position:relative;width:min(360px,42%)}.email-inbox-search span{position:absolute;top:6px;left:10px;color:var(--c-text-3);font-size:18px}.email-inbox-search input{width:100%;height:32px;margin:0!important;padding:0 10px 0 31px!important;border:1px solid var(--c-border)!important;border-radius:7px!important;background:var(--c-surface-3)!important;font-size:11px!important}.email-inbox-search input:focus{border-color:rgba(7,193,96,.5)!important;background:#fff!important}.email-inbox-meta{display:flex;align-items:center;justify-content:space-between;padding:9px 20px;border-bottom:1px solid var(--c-border);background:#fafbfb;color:var(--c-text-3);font-size:10px}.email-inbox-list{min-height:0;overflow-y:auto;background:#fff}.email-inbox-empty{display:flex;min-height:280px;align-items:center;justify-content:center;flex-direction:column;gap:7px;color:var(--c-text-3);font-size:11px}.email-inbox-empty strong{color:var(--c-text);font-size:13px}
.email-mail-row{position:relative;display:grid;width:100%;min-height:80px;grid-template-columns:38px minmax(120px,170px) minmax(0,1fr) minmax(132px,158px);align-items:center;gap:12px;padding:10px 18px;border:0;border-bottom:1px solid var(--c-border);background:#fff;color:var(--c-text);text-align:left}.email-mail-row:hover{background:#f7f9f8}.email-mail-row.unread{background:#fbfefc}.email-mail-row.unread:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--c-accent)}.email-sender-avatar{display:grid;width:36px;height:36px;place-items:center;border-radius:8px;background:var(--email-avatar,#64748b);color:#fff;font-size:12px;font-weight:750}.email-sender,.email-subject{display:flex;min-width:0;flex-direction:column;gap:4px}.email-sender strong,.email-sender span,.email-subject strong,.email-subject span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-sender strong{font-size:12px}.email-sender span{color:var(--c-text-3);font-size:10px}.email-subject{gap:5px}.email-subject strong{font-size:13px;font-weight:600}.email-subject span{color:var(--c-text-3);font-size:11px}.email-mail-row.unread .email-sender strong,.email-mail-row.unread .email-subject strong{font-weight:750}.email-mail-side{display:flex;min-width:0;align-items:flex-end;flex-direction:column;gap:5px;color:var(--c-text-3)}.email-mail-route{display:flex;max-width:100%;align-items:center;gap:5px;padding:3px 6px;border:1px solid var(--c-border);border-radius:5px;background:#f7f9f8;font-size:9px}.email-mail-route strong,.email-mail-route span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.email-mail-route strong{flex:none;color:#067a40}.email-mail-route span{min-width:0}.email-mail-flags{display:flex;align-items:center;gap:7px;font-size:10px}.email-mail-flags b{color:#c88b16;font-size:13px}.email-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--c-accent)}.email-inbox-pager{display:flex;min-height:48px;align-items:center;justify-content:center;gap:12px;border-top:1px solid var(--c-border);background:#fff}.email-inbox-pager button{height:30px;padding:0 10px;border:1px solid var(--c-border);border-radius:6px;background:#fff;color:var(--c-text);font-size:11px}.email-inbox-pager span{color:var(--c-text-3);font-size:10px}
.email-detail-view{display:flex;min-height:0;flex:1;flex-direction:column;background:#fff}.email-detail-view.hidden{display:none!important}.email-detail-head{display:flex;min-height:58px;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border-bottom:1px solid var(--c-border)}.email-detail-head>div{display:flex;gap:7px}.email-detail-head button{height:32px;padding:0 9px;border:1px solid var(--c-border);border-radius:7px;background:#fff;color:var(--c-text);font-size:10px}.email-detail-head>button:first-child{border-color:transparent}.email-detail-head button:hover{background:var(--c-surface-3)}.email-detail-scroll{min-height:0;overflow-y:auto}.email-detail-inner{width:min(820px,calc(100% - 48px));margin:0 auto;padding:28px 0 54px}.email-detail-inner h2{margin:0 0 20px;color:var(--c-text);font-size:22px;line-height:1.32}.email-detail-meta{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--c-border)}.email-detail-meta>span{display:grid;width:42px;height:42px;place-items:center;border-radius:9px;background:#527b6a;color:#fff;font-size:13px;font-weight:800}.email-detail-meta>div{min-width:0}.email-detail-meta strong{font-size:12px}.email-detail-meta p{margin:4px 0 0;color:var(--c-text-3);font-size:10px;line-height:1.55}.email-detail-meta time{color:var(--c-text-3);font-size:10px}.email-detail-body{max-width:75ch;padding:22px 0;color:var(--c-text);font-size:13px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.email-detail-body.empty{color:var(--c-text-3)}.email-detail-attachments{display:flex;flex-direction:column;gap:7px;padding-top:4px}.email-attachment-row{display:flex;min-height:54px;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--c-border);border-radius:7px;background:var(--c-surface-3)}.email-attachment-row>span{display:grid;width:30px;height:34px;place-items:center;border-radius:5px;background:#fff;color:#067a40;font-size:10px;font-weight:800}.email-attachment-row>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.email-attachment-row strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.email-attachment-row small{color:var(--c-text-3);font-size:9px}.email-attachment-row button{height:30px;padding:0 9px;border:1px solid var(--c-border);border-radius:6px;background:#fff;color:var(--c-text);font-size:10px}
.email-inbox-filters button.active{background:#e9f8f0}.email-mail-row.unread:before,.email-unread-dot{background:#07c160}
.email-checkboxes{display:flex;flex-wrap:wrap;gap:6px 22px}.email-account-rule{margin-top:5px;color:#267052;font-size:10px;line-height:1.45}
.email-collection-note{margin:11px 0 0;padding:8px 10px;background:var(--c-accent-soft);color:#16613f;font-size:11px;line-height:1.5}.email-form-grid select:disabled{cursor:not-allowed;opacity:.58}
.bot-badge{border-radius:0!important;background:var(--c-text)!important}
.conn-bar{background:var(--c-warn-soft)!important;color:var(--c-warn)!important;border-bottom:1px solid #d8b56b!important}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--c-accent);outline-offset:1px}

/* Mobile keeps the same visual language and a list-to-thread flow. */
@media(max-width:560px){
  .email-workspace-head,.email-detail-head{display:flex!important}
  body{min-width:0}#app,#chat{width:100%;height:100dvh}.auth-page{width:calc(100vw - 32px);min-height:100dvh;grid-template-rows:64px minmax(0,1fr) auto;padding-bottom:0}.auth-page-header{display:flex!important}.auth-main{min-height:0;align-items:flex-start;padding:38px 0 34px}.auth-card{width:100%!important}.auth-page-footer{position:static;min-height:54px;height:auto;padding:8px 0 max(8px,env(safe-area-inset-bottom));background:var(--c-bg);font-size:10px}.auth-page-footer>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-download-entry{min-height:44px;font-size:10px}.auth-page-brand strong{font-size:15px}.auth-entry-label{font-size:10px}#loginTitle{font-size:23px!important}.auth-tabs::before{font-size:15px}
  header{display:none!important}#mobileHeader{display:none!important}
  #mobileHeader .mh-title{color:var(--c-text)!important}.mh-more,.mh-theme{color:var(--c-text)!important;border:1px solid var(--c-border-strong)!important;border-radius:0!important}.mh-more{width:44px!important;height:44px!important}.mh-theme{display:none!important}
  #sidebar{width:100%!important;min-width:0!important;max-width:none!important}.conversation{padding-inline:12px!important}.sidebar-person-result{min-height:64px;padding:10px 12px}.sidebar-search-title,.sidebar-search-state{padding-left:12px;padding-right:12px}
  #body{padding-top:0!important}.sidebar-overview{padding:12px 12px 7px}.sidebar-tools-row{padding:0 12px 10px}.sidebar-tools-row .m-search input{height:44px!important}.sidebar-tools-row .more-popup{top:48px;right:12px}.sidebar-tools-row .more-popup.show{display:block!important}.sidebar-tabs{display:none!important}#sidebarNewChatBtn{display:none!important}
  #peerbar{height:54px;min-height:54px;padding:0 9px}.backBtn{display:inline-flex!important}.messages,#msgs{padding:14px 10px 24px!important}.msg{max-width:88%;padding:7px 9px}
  #inputbar{padding:9px 9px max(9px,env(safe-area-inset-bottom))}#inputbar input,#inputbar button{height:44px!important}#inputbar button{padding:0 11px;min-width:58px}#plusBtn{min-width:44px!important;width:44px!important}
  #peerbar button,#peerbar select{min-height:44px}.sidebar-actions button{width:44px;height:44px}.peer-result{min-height:62px}
  .empty-actions{flex-direction:column}.empty-actions button{height:44px;width:100%}
  .toast-region{left:12px;right:12px;bottom:68px}.toast{max-width:none;width:100%}
  #tabbar{background:#fff;border-top:1px solid var(--c-border)}#tabbar button{color:var(--c-text-3)}#tabbar button.active{color:var(--c-accent)}
  #body.mview-chat #main{padding-top:0!important}#body.mview-chat #mobileHeader{display:none!important}#body.mview-chat #ptr{top:0!important}#meTab{top:0!important}
  .modal{width:calc(100vw - 24px)!important;max-width:420px!important}
  .bot-manager-page,.email-bot-manager{width:calc(100vw - 16px)!important;max-width:none!important;max-height:calc(100dvh - 16px)}.bot-manager-page .bot-grid{grid-template-columns:1fr;padding:10px 12px}.bot-manager-head,.bot-manager-footer{padding-left:12px;padding-right:12px}.email-account-layout{display:flex;height:calc(100dvh - 82px);min-height:0;flex-direction:column;overflow:hidden}.email-account-list-panel{max-height:180px;flex:0 1 auto;border-right:0;border-bottom:1px solid var(--c-border);overflow-y:auto}.email-account-form-panel{min-height:0;flex:1}.email-account-form-scroll{padding:13px 12px}.email-form-actions{padding:10px 12px}.email-form-actions .ok{min-width:0;flex:1!important}.email-form-grid{grid-template-columns:1fr}.email-span-2{grid-column:auto}
  .email-workspace-head{min-height:58px;padding:0 10px}.email-workspace-back{display:block}.email-workspace-avatar{width:34px;height:34px;flex-basis:34px}.email-workspace-actions select,#emailInboxSettings{display:none}.email-workspace-actions button{padding:0 9px}.email-inbox-toolbar{align-items:stretch;flex-direction:column;padding:9px 10px}.email-inbox-filters{overflow-x:auto}.email-inbox-filters button{flex:none}.email-inbox-search{width:100%}.email-inbox-meta{padding:8px 12px}.email-inbox-meta span:last-child{display:none}.email-mail-row{min-height:88px;grid-template-columns:36px minmax(0,1fr) auto;gap:9px;padding:10px 12px}.email-sender{grid-column:2}.email-subject{grid-column:2/4}.email-mail-side{grid-column:3;grid-row:1/2}.email-mail-route{max-width:132px}.email-detail-head{padding:0 10px}.email-detail-head>div{gap:4px}.email-detail-head button{padding:0 7px}.email-detail-inner{width:calc(100% - 28px);padding-top:20px}.email-detail-inner h2{font-size:19px}.email-detail-meta{grid-template-columns:40px minmax(0,1fr)}.email-detail-meta time{grid-column:2}.email-detail-body{font-size:13px}
}
@media(max-width:560px){.email-workspace-head{padding:0 8px;gap:7px}.email-workspace-back,.email-detail-head>button{display:inline-flex!important}.email-workspace-back{width:34px;flex:0 0 34px;align-items:center;justify-content:center}.email-workspace-identity{gap:7px}.email-workspace-identity span:last-child{display:none}.email-workspace-actions{gap:0}.email-workspace-actions button{padding:0 7px}#emailInboxPoll{width:42px;font-size:0}#emailInboxPoll:before{content:"收取";font-size:10px}}

/* Private browser workspace. It is deliberately a small operational surface:
   one URL field, one explicit launch action, and no faux browser chrome. */
.browser-workspace{display:flex;min-width:0;min-height:0;flex:1;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;flex-direction:column;background:var(--c-surface)}
.browser-head{display:flex!important;min-height:64px;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--c-border);background:var(--c-surface)}
.browser-head>div{display:flex;min-width:0;flex-direction:column;gap:3px}.browser-head strong{font-size:16px}.browser-head span{color:var(--c-text-3);font-size:11px}
.browser-back{display:inline-flex;min-width:76px;height:34px;flex:0 0 auto;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--c-border);border-radius:var(--r-xs);background:var(--c-surface);color:var(--c-text);font-size:12px;font-weight:700}.browser-back:hover{border-color:var(--c-text);background:var(--c-surface-2)}
.browser-body{width:min(640px,calc(100% - 48px));flex:0 0 auto;margin:0 auto;padding:42px 0}.browser-intro{display:flex;align-items:flex-start;gap:14px;padding-bottom:28px;border-bottom:1px solid var(--c-border)}.browser-mark{display:grid;width:44px;height:44px;flex:0 0 44px;place-items:center;background:var(--c-text);color:var(--c-accent);font-size:17px;font-weight:800}.browser-intro strong{font-size:18px}.browser-intro p{margin:5px 0 0;color:var(--c-text-3);font-size:12px;line-height:1.55}
.browser-open-form{margin-top:26px}.browser-open-form label{display:block;margin-bottom:7px;color:var(--c-text-2);font-size:12px;font-weight:700}.browser-open-form>div{display:grid;grid-template-columns:minmax(0,1fr) 78px;gap:8px}.browser-open-form input{height:42px;min-width:0;padding:0 11px;border:1px solid var(--c-border-strong);border-radius:var(--r-xs);background:var(--c-surface-2);color:var(--c-text);font-size:13px;outline:0}.browser-open-form input:focus{border-color:var(--c-text);background:var(--c-surface);box-shadow:0 0 0 3px var(--c-accent-soft)}.browser-open-form button,.browser-ready a{display:inline-flex;min-height:42px;align-items:center;justify-content:center;border:0;border-radius:var(--r-xs);background:var(--c-text);color:#fff;font-size:13px;font-weight:700;text-decoration:none}.browser-open-form button:disabled{opacity:.58}.browser-open-form button:not(:disabled):hover,.browser-ready a:hover{background:var(--c-accent-hover)}
.browser-error{min-height:18px;margin-top:9px;color:var(--c-danger);font-size:12px}.browser-ready{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:14px;border:1px solid var(--c-border);background:var(--c-surface-2)}.browser-ready>div{display:flex;min-width:0;flex-direction:column;gap:4px}.browser-ready strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.browser-ready span{color:var(--c-text-3);font-size:11px}.browser-ready a{min-width:100px;padding:0 12px}
.browser-body{display:flex;flex-direction:column;gap:18px}.browser-panel{padding:18px;border:1px solid var(--c-border);background:var(--c-surface)}.browser-panel-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.browser-panel-head>div:first-child{display:flex;min-width:0;flex-direction:column;gap:4px}.browser-panel-head strong{font-size:15px}.browser-panel-head span{color:var(--c-text-3);font-size:12px}.browser-download,.browser-service-actions button,.browser-copy-row button{display:inline-flex;min-height:32px;align-items:center;justify-content:center;border:1px solid var(--c-border-strong);border-radius:var(--r-xs);background:var(--c-surface);color:var(--c-text);font-size:12px;font-weight:700;text-decoration:none}.browser-download{padding:0 10px}.browser-download:hover,.browser-service-actions button:hover,.browser-copy-row button:hover{border-color:var(--c-text);background:var(--c-surface-2)}.browser-copy-list{margin-top:14px;border-top:1px solid var(--c-border)}.browser-copy-row{display:grid;min-height:44px;grid-template-columns:76px minmax(0,1fr) 44px;align-items:center;gap:10px;border-bottom:1px solid var(--c-border)}.browser-copy-row>span{color:var(--c-text-3);font-size:12px}.browser-copy-row code{overflow:hidden;color:var(--c-text);font-family:var(--font-mono,ui-monospace,monospace);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.browser-copy-row button{min-height:28px;padding:0}.browser-remote-panel{margin-top:0}.browser-service-actions{display:flex;gap:7px}.browser-service-actions button{padding:0 11px}.browser-service-actions button:disabled{cursor:wait;opacity:.5}.browser-remote-panel .browser-open-form{margin-top:18px}
.browser-mode-tabs{display:flex;gap:0;border-bottom:1px solid var(--c-border)}.browser-mode-tabs button{height:36px;min-width:94px;padding:0 14px;border:0;border-bottom:2px solid transparent;background:transparent;color:var(--c-text-3);font-size:13px;font-weight:700}.browser-mode-tabs button.active{border-color:var(--c-accent);color:var(--c-text)}.browser-proxy-metrics{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:16px;border:1px solid var(--c-border);background:var(--c-border)}.browser-proxy-metrics>div{display:flex;min-width:0;flex-direction:column;gap:5px;padding:12px;background:var(--c-surface-2)}.browser-proxy-metrics span{color:var(--c-text-3);font-size:11px}.browser-proxy-metrics strong{overflow:hidden;color:var(--c-text);font-size:14px;text-overflow:ellipsis;white-space:nowrap}.browser-primary-actions{display:flex;gap:8px;margin-top:14px}.browser-clash-import{display:inline-flex;min-height:38px;align-items:center;justify-content:center;padding:0 13px;border:1px solid var(--c-text);border-radius:var(--r-xs);background:var(--c-text);color:#fff;font-size:13px;font-weight:700;text-decoration:none}.browser-clash-import[aria-disabled="true"]{pointer-events:none;opacity:.45}.browser-primary-actions .browser-download{min-height:38px}
@media(max-width:560px){.browser-head{min-height:58px;padding:0 10px}.browser-back{min-width:66px;height:32px;padding:0 7px}.browser-body{width:calc(100% - 28px);margin:0 auto;padding:28px 0}.browser-intro{gap:11px;padding-bottom:22px}.browser-intro strong{font-size:16px}.browser-intro p{font-size:12px}.browser-open-form{margin-top:22px}.browser-open-form input,.browser-open-form button{height:44px;font-size:14px}.browser-ready{align-items:stretch;flex-direction:column}.browser-ready a{width:100%}}
@media(max-width:560px){.browser-panel{padding:14px}.browser-panel-head{align-items:flex-start}.browser-panel-head span{font-size:11px}.browser-copy-row{grid-template-columns:68px minmax(0,1fr) 40px;gap:7px}.browser-copy-row>span,.browser-copy-row code{font-size:11px}.browser-service-actions{flex:0 0 auto}.browser-service-actions button{min-width:38px;padding:0 7px;font-size:11px}.browser-remote-panel .browser-open-form{margin-top:16px}}
@media(max-width:560px){.browser-mode-tabs button{min-width:86px}.browser-proxy-metrics>div{padding:10px}.browser-primary-actions{gap:7px}.browser-clash-import,.browser-primary-actions .browser-download{min-height:36px;padding:0 10px;font-size:12px}}

/* PC28 is a focused workspace inside the IM shell. The outer chrome stays quiet
   so the statistics surface gets the room it needs without looking like a new app. */
.pc28-workspace{display:flex;min-width:0;min-height:0;flex:1;flex-direction:column;background:var(--c-surface)}
.pc28-head{display:flex;min-height:64px;align-items:center;gap:12px;padding:0 18px;border-bottom:1px solid var(--c-border);background:var(--c-surface)}
.pc28-head>div{display:flex;min-width:0;flex:1;flex-direction:column;gap:3px}.pc28-head strong{font-size:16px}.pc28-head span{color:var(--c-text-3);font-size:11px}
.pc28-back,.pc28-refresh,.pc28-toggle{display:inline-flex;min-height:34px;align-items:center;justify-content:center;border:1px solid var(--c-border);border-radius:var(--r-xs);background:var(--c-surface);color:var(--c-text);font-size:12px;font-weight:700}.pc28-back{min-width:76px;padding:0 10px}.pc28-refresh{min-width:52px;padding:0 10px}.pc28-toggle{min-width:68px;padding:0 9px;color:var(--c-danger)}.pc28-toggle.hidden{display:none}.pc28-back:hover,.pc28-refresh:hover,.pc28-toggle:hover{border-color:var(--c-text);background:var(--c-surface-2)}.pc28-toggle:disabled{opacity:.55}
.pc28-frame-wrap{position:relative;min-height:0;flex:1;background:var(--c-surface-2)}.pc28-frame{display:block;width:100%;height:100%;border:0;background:var(--c-surface)}.pc28-loading{position:absolute;inset:0;z-index:1;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:var(--c-surface);color:var(--c-text-3);font-size:12px}.pc28-loading strong{color:var(--c-text);font-size:14px}
@media(max-width:560px){#pc28Workspace .pc28-head{position:sticky;top:0;z-index:24;display:flex!important;min-height:56px;padding:0 10px;gap:6px}#pc28Workspace .pc28-back{display:inline-flex!important;min-width:66px;height:32px;flex:0 0 66px;padding:0 8px;visibility:visible}#pc28Workspace .pc28-head>div{min-width:0}#pc28Workspace .pc28-head span{display:none}#pc28Workspace .pc28-refresh,#pc28Workspace .pc28-toggle{min-height:32px;flex:0 0 auto;padding:0 8px}#pc28Workspace .pc28-toggle{min-width:60px;font-size:11px}#pc28Workspace .pc28-head strong{display:block;overflow:hidden;font-size:15px;text-overflow:ellipsis;white-space:nowrap}}
@media(max-width:560px){.pc28-workspace{position:relative;min-height:0}.pc28-frame-wrap{min-height:0}}

/* A workspace must never trap a mobile user. The fallback sits above every
   bot workspace and remains available even when the workspace header changes. */
.mobile-workspace-back{display:none}
@media(max-width:560px){
  #mobileWorkspaceBack:not(.hidden){position:absolute;top:10px;left:10px;z-index:80;display:inline-flex!important;min-width:76px;height:34px;align-items:center;justify-content:center;padding:0 10px;border:1px solid var(--c-border-strong)!important;border-radius:0!important;background:var(--c-surface)!important;color:var(--c-text)!important;font-size:12px!important;font-weight:700;box-shadow:0 2px 8px rgba(15,23,42,.10)}
  #browserWorkspace:not(.hidden) .browser-head,#pc28Workspace:not(.hidden) .pc28-head{padding-left:96px!important}
  #browserWorkspace:not(.hidden) .browser-back,#pc28Workspace:not(.hidden) .pc28-back{visibility:hidden!important;pointer-events:none!important}
  #emailWorkspace:not(.hidden) .email-workspace-head,#bookkeepingWorkspace:not(.hidden) .book-head{padding-left:96px!important}
  #emailWorkspace:not(.hidden) .email-workspace-back,#bookkeepingWorkspace:not(.hidden) .book-back{visibility:hidden!important;pointer-events:none!important}
}

/* The public header must reflow before its brand and the WIN entry collide.
   The compact entry keeps a stable tap target while the brand can wrap safely. */
@media(max-width:700px) and (min-width:561px){
  .auth-page{width:calc(100vw - 32px);grid-template-rows:minmax(86px,auto) 1fr 66px}
  .auth-page-header{min-height:86px;gap:14px;padding:12px 0;align-items:center}
  .auth-page-brand{min-width:0;gap:9px}
  .auth-page-brand strong{overflow-wrap:anywhere;line-height:1.25}
  .desktop-download-entry{flex:0 0 auto;padding:0 11px}
}
@media(max-width:420px){
  .auth-page-header{gap:8px}
  .auth-page-brand{gap:7px}
  .auth-page-brand strong{font-size:13px}
  .auth-page-mark{width:30px;height:30px;font-size:15px!important}
  .desktop-download-entry{min-width:44px;padding:0 9px}
}

/* The auth form needs its own scroll surface when a mobile keyboard reduces
   the visual viewport. The chat composer already has this behavior. */
@media(max-width:560px){
  #login{min-height:0!important;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
  #login .auth-page{height:auto;min-height:100%;grid-template-rows:64px minmax(0,1fr) auto}
  #login .auth-main{min-height:min-content;padding:32px 0 28px}
  #login.keyboard-open .auth-page{grid-template-rows:54px minmax(0,1fr) 0}
  #login.keyboard-open .auth-page-footer{display:none}
  #login.keyboard-open .auth-main{padding:18px 0 26px}
}
