/* Shared workspace surfaces. Keep viewport and keyboard geometry in mobile.css. */
:root{--ink:#17212c;--muted:#737b85;--line:#e7e9ec;--light:#f7f8f9;--green:#087f8c;--accent:#22b9cc;--shadow:none;font-synthesis:none}
body,main,.content-view,.chat-view{background:#fff;color:var(--ink)}
body{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;-webkit-font-smoothing:antialiased}
.chat-view::before,.content-view::before,.welcome::before,.welcome h1::after,.suggestion::after,.metric::after,header::after,.composer::after,.logo::after{display:none!important}
button,input,textarea,select,a,summary{-webkit-tap-highlight-color:transparent}
button{transition:background-color .15s,border-color .15s}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:3px}
.primary,.new-chat{background:#142536;color:#fff;box-shadow:none;border-radius:12px;font-weight:500}
.primary:not(:disabled):hover{background:#263b4c;box-shadow:none;transform:none}
.secondary{border:1px solid var(--line);border-radius:10px;background:#fff;color:#37414b}
.secondary:hover,.icon-button:hover{background:#f0f1f3}
input,select,textarea{border-color:#e0e3e7;border-radius:10px;background:#fff}
input:focus,textarea:focus,select:focus{border-color:#97adb5;box-shadow:0 0 0 2px #087f8c0b}
.brand .logo{background:#132c3c;box-shadow:none;color:#71dbe8;border-radius:10px}
.brand .cloud{color:#84919a;letter-spacing:1.2px;font-weight:500}
.sidebar,.mobile-layout #shell .sidebar{background:#f7f7f8;color:var(--ink);border-right:1px solid #eceef0;box-shadow:none}
.sidebar{width:260px;padding:16px 12px 0}
.sidebar .brand{color:#172b3b;font-size:20px;letter-spacing:-.7px}
.sidebar .cloud{color:#829099}.sidebar .workspace-name{color:#8a9098;font-size:11px;margin:10px 10px 4px}
.sidebar .new-chat{display:flex;align-items:center;justify-content:flex-start;gap:10px;background:transparent;border:0;color:#273541;box-shadow:none;margin:12px 0 4px;padding:10px 12px;height:42px;text-align:left;font-weight:500}
.sidebar .new-chat:hover,.sidebar .nav:hover,.sidebar-tools>summary:hover,.history-heading:hover,.sidebar-bottom>button:hover{background:#eaecee;color:#17212c}
.sidebar .nav{color:#45515e;border-radius:9px;height:40px;padding:10px 12px;font-weight:400;gap:12px}
.sidebar .nav.active{background:#e7ebee;color:#183443;box-shadow:none;font-weight:500}
.sidebar .nav .icon{width:19px;height:19px;opacity:.88}
.sidebar-tools{margin-top:10px}.sidebar-tools>summary{color:#9298a0;font-size:11px;padding:8px 12px;list-style:none;letter-spacing:.2px}
.sidebar-tools>summary::-webkit-details-marker{display:none}.sidebar-tools>summary::after{content:'⌄';float:right}
.sidebar .history-heading{color:#969ca4;margin:22px 0 5px;padding:7px 12px;font-size:11px;font-weight:500}
.sidebar .history-search{background:transparent;color:#45515e;border-color:#e4e6e9;border-radius:8px;font-size:12px;height:34px;margin:3px 4px 10px;width:calc(100% - 8px)}
.sidebar .history-search::placeholder{color:#a1a5ab}
.sidebar .history button{color:#58616c;padding:10px 12px;font-size:13px;border-radius:8px}
.sidebar .history button:hover{background:#eceef0;color:#273541}.sidebar .history button.current{background:#e6eaed;color:#1b3946}
.sidebar .history-empty{color:#8d949c;font-size:12px;padding:0 12px;line-height:1.8}
.sidebar-bottom{border-top:1px solid #e7e9ec;padding:14px 8px;gap:10px;min-height:68px}
.sidebar-bottom .avatar{background:#dceef0;color:#286574;font-size:12px;font-weight:600}
.sidebar-bottom strong{color:#303e4b;font-size:12px;font-weight:500}.sidebar-bottom>button,#sidebar-toggle{color:#6e7984}
.history{scrollbar-color:#d4d8de transparent}
#main-content header,.shell:has(#view-chat:not([hidden])) header{display:flex;height:64px;padding:0 28px;border:0;background:#fff;box-shadow:none;gap:12px}
#view-title{font-size:18px;font-weight:550;letter-spacing:-.4px}.breadcrumb{display:none}
.header-actions{display:flex;align-items:center;gap:12px;margin-left:auto}
#header-new-chat{border:0;color:#6c7580;font-size:12px;background:transparent;padding:8px 10px;border-radius:8px}
#header-new-chat:hover{background:#f4f5f6}.status-dot{font-size:10px;color:#8a929a;background:#f6f7f8;box-shadow:none;padding:6px 10px}
.chat-nav-controls,.sidebar-collapsed .chat-nav-controls{display:none}
.messages{padding:32px max(28px,calc((100% - 780px)/2));scrollbar-width:thin;scrollbar-color:#e2e5e8 transparent}
.message{font-size:15px;line-height:1.9;margin-bottom:30px}
.message.user,.mobile-layout .message.user{background:#f2f3f5;color:#25313c;border-radius:24px;padding:12px 20px;max-width:80%;box-shadow:none}
.message.assistant .message-label{color:#6c7a85;font-size:11px;font-weight:500;margin-bottom:13px!important;gap:9px}
.message-label::before{background:#eaf3f4;color:#327382;box-shadow:none;border-radius:50%}
.message-body.rich{font-size:15px;line-height:1.9}.message-body.rich p{line-height:1.9;margin-bottom:16px}
.message-body pre,.code-block{border:1px solid #e7e9ec;background:#f7f8fa;border-radius:12px}
.message-actions button{color:#939aa2}.message-actions button:hover{color:#263b4c;background:#f2f4f5}
.citation{border-color:#e6e9ec;background:#f8f9fa;color:#49616e;border-radius:8px}
.chat-view.chat-start{display:grid;grid-template-rows:minmax(30px,1fr) auto auto minmax(30px,1.3fr)}
.chat-start .messages{grid-row:2;overflow:visible;padding:0 24px 28px;min-height:0}
.welcome,.chat-start .welcome{padding:0;text-align:center}
.welcome-icon{display:none!important}
.welcome h1,.chat-start .welcome h1{font-size:clamp(26px,2.4vw,34px);font-weight:550;letter-spacing:-1px;line-height:1.4;margin:0}
.welcome>p{display:block;color:#a0a5ac;font-size:13px;margin:12px 0 0;line-height:1.6}
.suggestions,.chat-start .suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:25px auto 0;max-width:650px}
.suggestion,.chat-start .suggestion{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e8ebee;border-radius:20px;padding:9px 14px;min-height:38px;box-shadow:none;transform:none;text-align:center}
.suggestion:hover,.chat-start .suggestion:hover{background:#f7f9fa;border-color:#d2dce0;box-shadow:none;transform:none}
.suggestion .icon{display:block;width:16px;height:16px;color:#74949d}.suggestion strong{font-size:12px;font-weight:400;margin:0}.suggestion span{display:none}
.composer-area{padding:0 max(28px,calc((100% - 780px)/2)) 12px;background:#fff}
.chat-start .composer-area{grid-row:3;width:min(100%,828px);padding:0 24px;justify-self:center}
.composer{background:#f7f8f9;border:1px solid #e8ebee;border-radius:26px;padding:16px 18px 10px;box-shadow:0 2px 8px #16253605}
.composer:focus-within{border-color:#ccd5da;box-shadow:0 3px 14px #16253607}
.composer textarea{font-size:15px;min-height:40px;line-height:1.65;background:transparent;border-radius:0;padding:0 3px;color:#283743}
.composer textarea::placeholder{color:#969ea7}
.composer-bottom{gap:8px;margin-top:10px;min-height:36px}
.composer-bottom #attach-file{color:#576674;border-radius:50%;width:34px;height:34px;background:transparent}
.composer-bottom #attach-file:hover{background:#e8ecef}
.composer-bottom #send{background:#162b3b;color:#fff;width:36px;height:36px;min-width:36px;box-shadow:none}
#composer-options .chat-controls{gap:6px}#composer-options .chat-controls select{font-size:11px;color:#687680;border-radius:16px;font-weight:400}
#composer-options .chat-controls #chat-model{font-weight:500;color:#40515d}
#composer-options .chat-controls select:hover{background:#eaeef0}
.composer-caption{margin:10px 0 0;text-align:center;font-size:10px;line-height:1.5;color:#a2a7ae}
.composer-area .notice{border-radius:12px;font-size:12px;line-height:1.6;margin-bottom:10px}
.content-view{padding:34px max(32px,calc((100% - 1040px)/2)) 48px}
.page-heading{margin-bottom:28px}.page-heading h1{font-size:27px;font-weight:550;letter-spacing:-.8px;margin-bottom:10px}
.eyebrow,.page-heading .eyebrow{color:#99a1aa;font-size:10px;letter-spacing:1.5px;margin-bottom:12px}
.page-heading p{font-size:13px;color:#8b939d}.page-heading .pill{background:#f4f6f7;color:#74818d;font-size:11px}
.card,.metric,.document-list,.settings-grid .card{box-shadow:none;border:1px solid #e8ebee;border-radius:16px;background:#fff}
.metrics{gap:16px;margin:24px 0}.metric{padding:24px}.metric h2{font-size:28px;font-weight:550;letter-spacing:-.7px}.metric p{color:#9199a2}
.credit-balance{background:#fafbfc;border-color:#e7ecef}.credit-balance h2{font-size:32px;letter-spacing:-1px;font-weight:550}
.credit-balance>strong{color:#83909b;font-size:12px;font-weight:500}.credit-balance .muted{font-size:12px;line-height:1.8}
.billing-plan{background:#fafbfc;padding:24px;gap:16px}.billing-plan .primary{align-self:flex-start;min-width:170px;margin-top:8px}
.recharge-amounts button{border-radius:20px;min-width:64px}.recharge-amounts button:hover{border-color:#aac9d0;background:#eff6f7}
.billing-plans{margin-top:18px}.event-row,.recharge-record{font-size:12px;color:#7c8791;border-color:#eceef1;padding-top:18px;padding-bottom:18px}
.event-row strong,.recharge-record strong{font-weight:500;color:#40515d}
.upload-box{background:#fafbfc;border:1px dashed #d4dce2;border-radius:16px;padding:30px;box-shadow:none}
.upload-icon{background:#edf2f5;color:#718a98;border-radius:12px}.upload-box h3{font-weight:500}
.tabs button,.tabs button.active{border-radius:20px}.tabs button.active{background:#edf4f5;border-color:#cfe1e5;color:#34717b}
.document-row{padding:20px 16px;border-color:#eceef1}.document-row:hover{background:#fafbfc}
.index-panel,.plan-card,.task-banner{background:#f6f8f9;border-color:#e5eaee;box-shadow:none;border-radius:14px}
.task-status,.task-schedule-summary{background:#edf4f5;color:#517b85}.task-examples button{border-radius:20px}
.settings-grid{gap:20px}.card h3{font-size:15px;font-weight:550}.service-row{border-color:#eceef1}
.advanced-tools summary,.search-check summary{color:#8b96a0;font-size:12px}
dialog{border-color:#e6e9ec;border-radius:20px;box-shadow:0 24px 80px #13283b1c;padding:28px}
dialog::backdrop{background:#1529394d;backdrop-filter:blur(3px)}
.auth{background:#fff}.intro{background:#f7f8fa;color:#172b3b}.intro .brand{color:#172b3b}.intro h1{color:#1b3444;font-weight:500;letter-spacing:-2px}.intro p{color:#8a96a0}
.intro::before,.intro::after{display:none}.intro .eyebrow{color:#8a9ca7}.intro .cloud{color:#8798a6}
.sample{border:1px solid #e1e7ec;background:#fff;box-shadow:none;border-radius:20px}.sample p{color:#455c6b}.sample-answer{background:#f5f8fa;border:0;color:#748693}.sample-answer span{color:#458594}.sample-label{color:#588791}.sample-label::before{display:none}
.intro-footer{color:#a2adb6;letter-spacing:1.5px}.auth-panel{background:#fff}.auth-card h2{font-size:30px;font-weight:550;letter-spacing:-.8px}.auth-card .tag{color:#87949e;background:none;padding:0}.auth-card .full{border-radius:24px;min-height:46px}.auth-card input{border-radius:12px}.auth-card .muted{font-size:13px}.auth-card .fine,.login-policy{color:#a2a8af}
@media(min-width:701px){.shell.sidebar-collapsed .sidebar{width:64px;padding:16px 7px 0}.sidebar-collapsed .sidebar .new-chat{justify-content:center}.shell.sidebar-collapsed #main-content header .sidebar-reopen{display:none}.shell:has(#view-chat:not([hidden])) #main-content header>div:not(.header-actions){display:block}.mobile-chat-title{display:none}}
@media(max-width:1000px) and (min-width:701px){.sidebar{width:230px}.composer-area{padding-right:24px;padding-left:24px}.messages{padding-right:28px;padding-left:28px}.content-view{padding:28px}.composer-caption{font-size:9px}}
.mobile-layout #shell #main-content header{height:calc(56px + env(safe-area-inset-top));border:0;background:#fff}
.mobile-layout #shell .sidebar{width:min(300px,calc(100vw - 44px));box-shadow:none}
.mobile-layout .sidebar .workspace-name{color:#929aa3}.mobile-layout .sidebar .nav{font-size:14px;color:#52606b}
.mobile-layout .sidebar .nav.active{background:#e7ebee;color:#1d3c4c}.mobile-layout .sidebar-bottom strong{color:#344652}
.mobile-layout #messages,.mobile-layout .chat-start #messages{padding-left:20px;padding-right:20px}
.mobile-layout .welcome h1{font-size:27px;font-weight:550;letter-spacing:-.7px}
.mobile-layout .welcome>p{display:block;font-size:12px;max-width:280px;margin:12px auto 0}
.mobile-layout .suggestions{display:flex;flex-wrap:wrap;overflow:visible;margin:24px auto 0;padding:0;gap:8px;justify-content:center}
.mobile-layout .suggestion{flex:0 1 auto;min-height:36px;padding:8px 12px;background:#fff;border:1px solid #e6eaed;border-radius:20px}
.mobile-layout .suggestion .icon{display:block;width:14px;height:14px}.mobile-layout .suggestion strong{font-size:11px}
.mobile-layout .composer-area,.mobile-layout .chat-start .composer-area{padding-top:8px;background:#fff}
.mobile-layout #chat-form{border:1px solid #e8ebee;background:#f7f8f9;border-radius:25px;padding:10px;box-shadow:none}
.mobile-layout #question{padding:4px 8px;font-size:16px;min-height:38px}.mobile-layout #send{background:#162b3b}
.mobile-layout #chat-form .mobile-model-picker:hover{background:#edf0f2}.mobile-layout #chat-form .mobile-model-title{color:#667682;font-size:11px}
.mobile-layout .composer-caption{font-size:9px;margin-top:8px}
.mobile-layout .message.user{max-width:86%;font-size:15px;border-radius:23px}
.mobile-layout .content-view{padding:24px 18px 36px}.mobile-layout .page-heading h1{font-size:25px}
.mobile-layout .card,.mobile-layout .metric{padding:20px}.mobile-layout .event-row{flex-wrap:wrap}
.mobile-layout .mobile-sheet[open]{border-radius:22px 22px 0 0;box-shadow:none}.mobile-layout .mobile-sheet-done{background:#162b3b;border-radius:14px}
.mobile-layout.compact-viewport .welcome>p,.mobile-layout.compact-viewport .composer-caption{display:none}
@media(prefers-reduced-motion:reduce){button{transition:none}}
