:root{font-family:Inter,Segoe UI,Microsoft YaHei,sans-serif;color:#202529;background:#f6f7f5;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:#f6f7f5;font-size:15px}button,input,textarea{letter-spacing:0}.app-loading{display:grid;place-items:center;min-height:100dvh}.login-page{min-height:100dvh;display:grid;grid-template-columns:minmax(300px,.9fr) minmax(420px,1.1fr);background:#f6f7f5}.login-brand{display:flex;align-items:center;justify-content:center;gap:20px;padding:48px;color:#f7faf8;background:#161a1d;border-right:6px solid #18745a}.brand-mark{width:70px;height:70px;display:grid;place-items:center;font-size:34px;color:#f7faf8;background:#18745a;border-radius:8px}.brand-wordmark{font-size:48px;line-height:1;font-weight:750;letter-spacing:0}.brand-subtitle{margin-top:12px;font-size:17px;color:#b9c4bf}.login-form-wrap{width:min(420px,calc(100% - 48px));margin:auto;padding:32px 0}.login-form-wrap h1{margin:0 0 32px;font-size:30px;letter-spacing:0}.login-form-wrap .ant-btn{height:48px;margin-top:8px;font-weight:650}.login-form-wrap .ant-input-affix-wrapper,.login-form-wrap .ant-input{min-height:46px}.form-error{margin:-8px 0 14px;color:#b4232c;font-size:13px}.password-change-copy{margin-bottom:22px;color:#52615a}.password-change-modal .ant-modal-content{border-radius:8px}.password-change-modal .ant-btn{min-height:44px;font-weight:650}.workspace-shell{height:var(--app-viewport-height, 100dvh);overflow:hidden;background:#f6f7f5}.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;color:#f7faf8;background:#161a1d;border-bottom:1px solid #292f33}.topbar-brand{display:flex;align-items:center;gap:10px;font-size:18px}.mini-mark{width:30px;height:30px;display:inline-grid;place-items:center;flex:0 0 30px;color:#fff;background:#18745a;border-radius:6px}.topbar-actions{display:flex;align-items:center;gap:4px}.topbar-actions .ant-btn{min-width:40px;min-height:40px;padding:8px;color:#dbe2de;font-size:17px}.topbar-actions .ant-btn:hover{color:#fff!important;background:#2b3235!important}.user-avatar{width:36px;height:36px;margin-left:6px;cursor:pointer;background:#d39b37;color:#1b1b1b;font-weight:700}.role-label{display:block;margin-top:2px;font-size:11px;color:#777}.workspace-grid{height:calc(var(--app-viewport-height, 100dvh) - 58px);display:grid;grid-template-columns:220px minmax(480px,1fr) 280px;min-height:0}.project-rail,.history-rail{min-height:0;overflow-y:auto;background:#eef0ed}.project-rail{padding:18px 12px;border-right:1px solid #d9ddda}.history-rail{padding:18px 12px;border-left:1px solid #d9ddda}.section-label{padding:0 9px 10px;color:#66706b;font-size:12px;font-weight:700;text-transform:uppercase}.project-item{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;margin:2px 0;padding:8px 10px;border:0;border-radius:6px;color:#39413d;background:transparent;font-size:15px;text-align:left;cursor:pointer}.project-item span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-item:hover{background:#e1e5e1}.project-item.is-active{color:#125d49;background:#d9e9e2;font-weight:650}.project-add{margin-top:12px;color:#52615a;border-top:1px solid #d9ddda;border-radius:0 0 6px 6px}.conversation-panel{min-width:0;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:58px minmax(0,1fr) auto;background:#fff}.conversation-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 20px;border-bottom:1px solid #e4e7e4}.project-select{width:min(260px,58%)}.project-select .ant-select-selector{min-height:40px;align-items:center;font-size:15px;font-weight:650}.mobile-project-picker{display:none}.conversation-header>.ant-btn{min-width:40px;min-height:40px}.status-badge{display:inline-flex;align-items:center;gap:6px;font-size:14px;font-weight:650;white-space:nowrap}.task-stop-button{min-width:78px;flex:0 0 auto}.conversation-scroll{min-width:0;min-height:0;overflow-y:auto;overscroll-behavior:contain}.new-task-empty{min-height:100%;display:grid;place-content:center;justify-items:center;padding:32px;color:#6d7671}.new-task-empty h2{margin:16px 0 2px;font-size:24px}.empty-mark{width:52px;height:52px;display:grid;place-items:center;color:#fff;background:#18745a;border-radius:8px;font-size:24px}.message-stream{width:min(820px,100%);margin:0 auto;padding:28px 24px 36px}.message{padding:22px 0}.user-message{padding:22px;background:#f1f4f1;border-left:3px solid #d39b37;border-radius:0 6px 6px 0}.message-label{margin-bottom:8px;color:#756224;font-size:13px;font-weight:700}.user-message h3{margin:0 0 12px;font-size:20px}.user-message p{margin-bottom:12px;font-size:16px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.agent-message{margin-top:8px}.agent-heading{display:flex;align-items:center;gap:10px;margin-bottom:22px}.agent-message p{font-size:16px;line-height:1.65}.task-approvals{margin:0 0 22px;border-top:1px solid #e0c77a;border-bottom:1px solid #e0c77a;background:#fffaf0}.task-approval{padding:16px}.task-approval+.task-approval{border-top:1px solid #eadba9}.task-approval-heading{display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;color:#664b08}.task-approval-heading .anticon{font-size:18px}.task-approval-heading strong{min-width:0;font-size:15px}.task-approval-heading time{color:#87794f;font-size:12px}.agent-message .task-approval-reason{margin:10px 0 0;color:#403817;font-size:14px;line-height:1.55;overflow-wrap:anywhere}.task-approval-command{max-height:180px;margin:12px 0 0;padding:12px;overflow:auto;color:#f5f7f6;background:#202522;border-radius:4px;font:13px/1.55 Consolas,Courier New,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.task-approval-path{margin-top:9px;color:#6b6246;font:12px/1.5 Consolas,Courier New,monospace;overflow-wrap:anywhere}.task-approval-details{margin-top:10px;color:#5f5431;font-size:13px}.task-approval-details summary{min-height:34px;display:flex;align-items:center;cursor:pointer;font-weight:650}.task-approval-details pre{max-height:180px;margin:0 0 10px;padding:10px;overflow:auto;border:1px solid #dfd4b2;background:#fff;font:12px/1.5 Consolas,Courier New,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.task-approval-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.task-approval-actions .ant-btn{min-height:40px}.execution-log{padding-left:4px}.log-row{position:relative;min-height:58px;display:grid;grid-template-columns:28px 1fr;gap:10px;color:#405049}.log-line{position:absolute;left:11px;top:23px;bottom:-3px;width:1px;background:#ccd6d1}.log-row:last-child .log-line{display:none}.log-icon{z-index:1;padding-top:2px;color:#287a4b;font-size:18px;background:#fff}.log-error .log-icon{color:#b4232c}.log-row strong{display:block;font-size:15px;font-weight:550;line-height:1.5;overflow-wrap:anywhere}.log-row small{display:block;margin-top:3px;color:#8a938f;font-size:12px}.task-result{margin:10px 0 0 38px;padding:16px;background:#eef7f2;border:1px solid #cce4d7;border-radius:6px;overflow-wrap:anywhere}.task-result p{margin:0 0 10px;font-size:16px;line-height:1.65;white-space:pre-wrap}.task-result p:last-child{margin-bottom:0}.result-failed{background:#fff1f0;border-color:#f1c8c4}.result-cancelled{background:#f4f6f4;border-color:#d8dfdb}.composer-wrap{min-width:0;padding:12px 20px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(to bottom,#fff0,#fff 22%)}.composer{width:min(780px,100%);margin:0 auto;padding:5px 7px 8px;background:#fff;border:1px solid #cfd5d1;border-radius:8px;box-shadow:0 8px 26px #161a1d1a}.composer .ant-input{font-size:16px}.composer .ant-input-textarea textarea{font-size:16px;line-height:1.65}.composer-footer{min-height:44px;display:flex;align-items:center;justify-content:space-between;padding:2px 4px 0 8px}.composer-context{min-width:0;display:flex;align-items:center;gap:6px;flex:1}.composer-image-input{display:none}.composer-attach{width:40px;height:40px;flex:0 0 auto;color:#53615a;font-size:19px}.composer-images{display:flex;gap:8px;padding:5px 9px 7px;overflow-x:auto}.composer-image{position:relative;width:74px;height:74px;flex:0 0 74px;overflow:hidden;border:1px solid #d7ddd9;border-radius:6px;background:#f3f5f4}.composer-image img{width:100%;height:100%;display:block;object-fit:cover}.composer-image button{position:absolute;top:3px;right:3px;width:26px;height:26px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;color:#fff;background:#181d1ad1;cursor:pointer}.composer-project{min-width:0;display:flex;align-items:center;gap:6px;padding:0;border:0;color:#66706b;background:transparent;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.composer-codex-target{min-width:0;display:flex;align-items:center;gap:6px;color:#146c94;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-submit{width:auto;min-width:44px;height:44px;padding:0 14px;flex:0 0 auto;border-radius:7px;font-size:14px;font-weight:650}.mobile-send-label{display:none}.task-image-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin:12px 0}.task-image-gallery .ant-image{width:100%;min-height:140px;max-height:360px;display:block;overflow:hidden;border:1px solid #d7ddd9;border-radius:6px;background:#f2f4f3}.task-image-gallery img{width:100%;min-height:140px;max-height:360px;display:block;object-fit:contain}.task-image-loading{width:100%;min-height:140px;border:1px solid #d7ddd9;border-radius:6px;background:#f2f4f3}.codex-drawer-meta{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:12px}.codex-thread-list .ant-list-item{align-items:flex-start;gap:10px}.codex-thread-list .ant-list-item-meta{min-width:0}.codex-thread-title{display:block;overflow-wrap:anywhere}.codex-thread-title-button{display:block;max-width:100%;padding:0;border:0;color:inherit;background:transparent;font:inherit;text-align:left;overflow-wrap:anywhere;cursor:pointer}.codex-thread-title-button:hover{color:#146c94}.codex-thread-description{display:grid;gap:4px;color:#7a8580;font-size:12px;line-height:1.45}.codex-thread-description span{overflow-wrap:anywhere}.codex-thread-description strong{color:#b4232c;font-weight:600}.codex-project-rail{min-width:0}.codex-rail-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin:0 0 12px}.codex-rail-head .section-label{padding-left:0;padding-bottom:4px}.codex-rail-head>.ant-btn{flex:0 0 auto;color:#52615a}.codex-project-groups,.codex-project-section{display:grid;gap:6px}.codex-project-section-label,.mobile-project-section-label{padding:6px 8px 2px;color:#66706b;font-size:12px;font-weight:700}.codex-project-group{min-width:0}.codex-project-group-head{display:flex;align-items:stretch;min-width:0}.codex-project-group-toggle{min-width:0;flex:1;display:flex;align-items:center;gap:8px;padding:7px 8px;border:0;border-radius:6px;color:#39413d;background:transparent;text-align:left;cursor:pointer}.codex-project-group-toggle:hover,.codex-project-new:hover{background:#e1e5e1}.codex-project-group-copy{min-width:0;flex:1;display:grid;gap:2px}.codex-project-group-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.codex-project-group-copy small{color:#7e8782;font-size:11px}.codex-project-new{width:30px;min-width:30px;display:grid;place-items:center;margin:2px 0;padding:0;border:0;border-radius:6px;color:#146c94;background:transparent;cursor:pointer}.codex-project-count{margin-left:auto;color:#7e8782;font-size:10px}.codex-project-thread-list{display:grid;gap:2px;margin:0 0 4px 14px;padding-left:10px;border-left:1px solid #ccd6d1}.codex-project-thread{min-width:0;display:grid;gap:4px;padding:8px 9px;border:0;border-radius:5px;color:#52615a;background:transparent;text-align:left;cursor:pointer}.codex-project-thread:hover{background:#e1e5e1}.codex-project-thread.is-active{color:#125d49;background:#d9e9e2}.codex-project-thread.is-readonly{color:#8f6f6f}.codex-project-thread-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.codex-project-thread-meta,.codex-project-thread-warning{overflow-wrap:anywhere;color:#8a938f;font-size:11px}.codex-project-thread-meta{display:flex;align-items:center;justify-content:space-between;gap:8px}.codex-project-thread-warning{color:#b4232c}.codex-project-rail.is-collapsed .codex-rail-head,.codex-project-rail.is-collapsed .codex-project-group-head{justify-content:center}.codex-project-rail.is-collapsed .codex-project-group-toggle{flex:0 0 100%;justify-content:center;padding-left:4px;padding-right:4px}.codex-project-rail.is-collapsed .codex-project-count{margin-left:0}.codex-history-loading{min-height:240px;display:flex;align-items:center;justify-content:center;gap:10px;color:#7e8782}.codex-thread-summary{padding-bottom:12px;border-bottom:1px solid #e1e6e2}.codex-thread-summary h3{margin-bottom:10px}.codex-thread-state{display:flex;flex-wrap:wrap;gap:10px;color:#7e8782;font-size:11px}.conversation-status{min-height:24px;display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:999px;font-size:12px;font-weight:700;white-space:nowrap}.conversation-status.is-compact{min-height:20px;padding:2px 6px;font-size:10px}.conversation-status-active{background:#e8f4f9}.conversation-status-completed{background:#e9f5ed}.conversation-status-blocked{background:#fff5dc}.conversation-status-failed{background:#fff0f0}.conversation-status-pending{background:#eef0ef}.conversation-status-filters{display:flex;gap:6px;overflow-x:auto;padding:0 0 10px;scrollbar-width:none}.conversation-status-filters::-webkit-scrollbar{display:none}.conversation-status-filters button{min-height:30px;display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border:1px solid #d8dfdb;border-radius:999px;color:#52615a;background:#fff;font-size:11px;white-space:nowrap;cursor:pointer}.conversation-status-filters button span{min-width:18px;padding:1px 5px;border-radius:999px;background:#edf0ee;color:#68736d;font-size:10px;text-align:center}.conversation-status-filters button.is-active{border-color:#18745a;color:#125d49;background:#e5f1eb}.conversation-status-filters button.is-active span{color:#fff;background:#18745a}.codex-project-rail>.conversation-status-filters{padding:0 10px 9px}.codex-history-stream .agent-message{padding:16px 0}.codex-history-stream .agent-message p,.codex-history-stream .user-message p{white-space:pre-wrap;overflow-wrap:anywhere}.markdown-body{min-width:0;color:inherit;font-size:16px;line-height:1.65;overflow-wrap:anywhere}.markdown-body>:first-child{margin-top:0}.markdown-body>:last-child{margin-bottom:0}.markdown-body p{margin:0 0 12px;white-space:normal}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin:20px 0 10px;line-height:1.35}.markdown-body h1{font-size:24px}.markdown-body h2{font-size:21px}.markdown-body h3{font-size:18px}.markdown-body h4,.markdown-body h5,.markdown-body h6{font-size:16px}.markdown-body ul,.markdown-body ol{margin:0 0 14px;padding-inline-start:1.55em}.markdown-body li{margin:5px 0;padding-inline-start:3px}.markdown-body .markdown-task-item{display:flex;align-items:flex-start;gap:8px;list-style:none}.markdown-body .markdown-task-item input{margin-top:6px;flex:0 0 auto;accent-color:#18745a}.markdown-body strong{font-weight:700}.markdown-body code{padding:2px 5px;border-radius:4px;color:#3e4742;background:#eef0ef;font:.9em/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.markdown-body pre{max-width:100%;margin:0 0 14px;padding:13px 15px;overflow:auto;border:1px solid #dfe4e1;border-radius:6px;color:#e7ece9;background:#202622}.markdown-body pre code{padding:0;color:inherit;background:transparent;font-size:13px;white-space:pre;overflow-wrap:normal}.markdown-body blockquote{margin:0 0 14px;padding:2px 0 2px 14px;border-left:3px solid #b7c4bd;color:#59655f}.markdown-body hr{margin:18px 0;border:0;border-top:1px solid #dce2de}.markdown-body a{color:#146c94;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}.markdown-table-scroll{max-width:100%;margin:0 0 14px;overflow-x:auto}.markdown-body table{width:max-content;min-width:100%;border-collapse:collapse;font-size:14px}.markdown-body th,.markdown-body td{padding:8px 10px;border:1px solid #d8dfdb;text-align:left;vertical-align:top}.markdown-body th{background:#f1f4f2;font-weight:700}.codex-history-stream .agent-message .markdown-body p{white-space:normal}.codex-history-tool{margin:4px 0;border-bottom:1px solid #edf0ee;color:#52615a;font-size:13px}.codex-history-tool-summary{min-height:44px;display:grid;grid-template-columns:20px minmax(0,1fr) auto 16px;align-items:center;gap:8px;padding:8px 0;cursor:pointer;list-style:none}.codex-history-tool-summary::-webkit-details-marker{display:none}.codex-history-tool-summary>.anticon:first-child{color:#146c94}.codex-history-tool-summary>span{min-width:0;overflow-wrap:anywhere}.codex-history-tool-summary small{color:#8a938f;font-size:10px}.codex-history-tool-chevron{color:#8a938f;font-size:11px;transition:transform .16s ease}.codex-history-tool[open] .codex-history-tool-chevron{transform:rotate(90deg)}.codex-history-tool-details{max-height:320px;margin:0 0 10px 28px;padding:10px 12px;overflow:auto;color:#5c6862;background:#f4f6f4;border:1px solid #e1e6e2;border-radius:5px;font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere}.codex-history-tool-no-details .codex-history-tool-summary{cursor:default}.codex-history-progress{min-height:42px;display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:8px;padding:8px 0;color:#52615a;border-bottom:1px solid #edf0ee;font-size:13px}.codex-history-progress .anticon{color:#146c94}.codex-history-progress small{color:#8a938f;font-size:10px}.codex-history-error{min-height:54px;display:grid;grid-template-columns:22px minmax(0,1fr) auto;align-items:start;gap:10px;margin:10px 0;padding:12px;color:#8f1d24;background:#fff1f0;border:1px solid #f1c8c4;border-radius:6px}.codex-history-error>.anticon{padding-top:2px;color:#b4232c;font-size:17px}.codex-history-error strong{display:block;margin-bottom:3px}.codex-history-error p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.codex-history-error small{color:#9a6a6a;font-size:10px}.codex-history-empty{padding:28px 0;color:#8a938f;text-align:center}.codex-linked-tasks{margin-top:14px;padding-top:14px;border-top:1px solid #e1e6e2}.codex-linked-task{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 0;color:#52615a;font-size:12px}.codex-linked-task>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-list{min-width:0}.history-empty{padding:28px 10px;color:#8a938f;font-size:13px;text-align:center}.history-item{position:relative;width:100%;min-height:48px;display:block;margin:2px 0;padding:10px 18px 10px 10px;color:#303733;background:transparent;border:0;border-radius:6px;text-align:left;cursor:pointer}.history-item:hover{background:#e1e5e1}.history-item.is-active{background:#fff;box-shadow:inset 3px 0 #18745a}.history-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600}.history-meta{display:flex;justify-content:space-between;gap:8px;margin-top:6px;color:#7e8782;font-size:11px}.history-meta span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{position:absolute;top:14px;right:7px;width:6px;height:6px;border-radius:50%;background:#8a6a16}.status-running{background:#146c94}.status-success{background:#287a4b}.status-failed{background:#b4232c}.status-cancelled{background:#7e8782}.mobile-only{display:none}.mobile-project-search{margin-bottom:14px}.mobile-project-drawer .conversation-status-filters{margin-bottom:4px}.codex-archive-tabs .ant-tabs-tab{min-height:44px;padding:10px 8px}.codex-archive-tabs .ant-tabs-content-holder{min-height:0}.mobile-project-groups,.mobile-project-section{display:grid;gap:8px}.mobile-project-section-label{padding-left:2px}.mobile-project-group{overflow:hidden;border:1px solid #dce2de;border-radius:7px;background:#fff}.mobile-project-group.is-archived .mobile-project-group-toggle>.anticon:first-child{color:#7e8782}.mobile-project-group-head{min-width:0;display:flex;align-items:stretch;background:#f6f8f6}.mobile-project-group-toggle{min-width:0;min-height:58px;flex:1;display:flex;align-items:center;gap:12px;padding:9px 12px;border:0;color:#303733;background:transparent;text-align:left;cursor:pointer}.mobile-project-group-toggle>.anticon:first-child{color:#18745a;font-size:18px}.mobile-project-group-toggle>span:not(.anticon){min-width:0;flex:1;display:grid;gap:3px}.mobile-project-group-toggle strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px}.mobile-project-group-toggle small{color:#7e8782;font-size:12px}.mobile-project-new{min-width:96px;min-height:48px;align-self:center;margin-right:6px;color:#146c94;font-weight:650}.mobile-thread-list{padding:4px 8px 8px;border-top:1px solid #e7ebe8}.mobile-thread-row{min-width:0;display:flex;align-items:center;gap:10px;padding:7px 4px;border-bottom:1px solid #edf0ee}.mobile-thread-row:last-child{border-bottom:0}.mobile-thread-row.is-active{background:#eef7f2}.mobile-thread-view{min-width:0;min-height:52px;flex:1;display:grid;align-content:center;gap:4px;padding:7px 8px;border:0;color:#39413d;background:transparent;text-align:left;cursor:pointer}.mobile-thread-view strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}.mobile-thread-view small,.mobile-thread-view span{color:#7e8782;font-size:11px;overflow-wrap:anywhere}.mobile-thread-status-row{display:flex;align-items:center;gap:8px}.mobile-thread-status-row small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-thread-status-row .conversation-status{flex:0 0 auto}.mobile-thread-row>.ant-btn{min-width:70px;min-height:42px;flex:0 0 auto}@media(max-width:1120px){.workspace-grid{grid-template-columns:190px minmax(460px,1fr)}.history-rail{display:none}.mobile-only{display:inline-flex}}@media(max-width:1024px){.login-page{display:block;background:#fff}.login-brand{min-height:32dvh;justify-content:flex-start;padding:max(32px,env(safe-area-inset-top)) 26px 30px;border-right:0;border-bottom:5px solid #18745a}.brand-mark{width:54px;height:54px;font-size:27px}.brand-wordmark{font-size:36px}.brand-subtitle{margin-top:8px;font-size:14px}.login-form-wrap{width:100%;margin:0;padding:34px 24px 40px}.login-form-wrap h1{margin-bottom:24px;font-size:26px}.password-change-modal{max-width:calc(100vw - 32px)}.topbar{height:60px;padding:0 14px}.topbar-brand{gap:11px;font-size:18px}.mini-mark{width:34px;height:34px;flex-basis:34px}.topbar-actions{gap:6px}.topbar-actions .ant-btn{min-width:44px;min-height:44px;padding:8px;font-size:19px}.user-avatar{width:38px;height:38px;margin-left:4px}.workspace-grid{height:calc(var(--app-viewport-height, 100dvh) - 60px);display:block}.project-rail,.history-rail{display:none}.conversation-panel{height:100%;grid-template-rows:58px minmax(0,1fr) auto}.conversation-header{gap:10px;padding:7px 14px}.desktop-project-picker{display:none}.mobile-project-picker{min-width:0;width:auto;flex:1;height:50px;display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:0 14px;border-color:#cfd5d1;border-radius:8px;text-align:left}.mobile-project-picker>span:not(.anticon){min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:650}.mobile-project-picker>.anticon:last-child{margin-left:auto;color:#7e8782}.conversation-header .status-badge{flex:0 0 auto;font-size:14px}.task-stop-button{min-width:72px}.conversation-scroll{scroll-padding-bottom:190px}.message-stream{padding:20px 16px 32px}.message{padding:20px 0}.message-label{margin-bottom:9px;font-size:13px}.user-message{padding:18px}.user-message h3{font-size:20px;line-height:1.45}.user-message p,.agent-message p{font-size:16px;line-height:1.7}.log-row{min-height:58px;grid-template-columns:30px minmax(0,1fr);gap:11px}.log-row strong{font-size:15px;line-height:1.55}.log-row small{font-size:12px}.task-result{margin-left:0;padding:18px}.task-result p{font-size:16px;line-height:1.7}.task-approval{padding:16px 14px}.task-approval-actions{display:grid;grid-template-columns:1fr 1fr}.task-approval-actions .ant-btn{width:100%;min-height:46px}.task-approval-actions .ant-btn-dangerous{grid-column:1 / -1}.composer-wrap{padding:10px 12px calc(12px + env(safe-area-inset-bottom))}.composer{max-height:min(320px,52dvh);padding:6px 7px 7px;overflow-y:auto;box-shadow:0 5px 18px #161a1d1f}.composer .ant-input,.composer .ant-input-textarea textarea{font-size:17px;line-height:1.65}.composer .ant-input{min-height:44px;padding:8px 10px}.composer-footer{min-height:52px;gap:12px;padding:4px 2px 0 8px}.composer-context{gap:4px}.composer-attach{width:44px;height:44px;font-size:21px}.composer-images{padding:5px 8px 8px}.composer-image{width:82px;height:82px;flex-basis:82px}.composer-project,.composer-codex-target{min-height:44px;flex:1;font-size:14px;line-height:1.45}.composer-submit{width:auto;min-width:104px;height:48px;padding:0 20px;border-radius:7px;font-size:15px;font-weight:700}.mobile-send-label{display:inline}.task-image-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.task-image-gallery .ant-image,.task-image-gallery img,.task-image-loading{min-height:120px;max-height:260px}.mobile-project-drawer .ant-drawer-header{min-height:58px;padding:12px 16px}.mobile-project-drawer .ant-drawer-title{font-size:19px}.mobile-project-drawer .ant-drawer-body{padding:12px}.codex-drawer-meta{font-size:14px}.mobile-project-search .ant-input{min-height:48px;font-size:16px}.mobile-project-group-toggle{min-height:64px;padding:10px 14px}.mobile-project-group-toggle strong{font-size:16px}.mobile-project-group-toggle small{font-size:13px}.mobile-project-new{min-width:104px;min-height:52px;font-size:14px}.mobile-thread-view{min-height:60px;padding:8px 10px}.mobile-thread-view strong{font-size:15px;line-height:1.45}.mobile-thread-view small,.mobile-thread-view span{font-size:12px}.mobile-thread-row>.ant-btn{min-width:82px;min-height:48px;font-size:14px}.mobile-layout button,.mobile-layout .ant-btn,.mobile-layout .ant-select-selector{touch-action:manipulation}}@media(max-width:380px){.topbar-brand strong{display:none}.conversation-header{gap:8px}.project-select{width:58%}.status-badge{font-size:12px}.task-stop-button{min-width:40px;padding-inline:8px}.task-stop-label{display:none}.message-stream{padding-left:10px;padding-right:10px}.task-approval-actions{grid-template-columns:1fr}.task-approval-actions .ant-btn-dangerous{grid-column:auto}}.provider-drawer .ant-drawer-body{padding:18px}.provider-drawer .ant-table{border:1px solid #dfe3e1;border-radius:6px;overflow:hidden}.provider-drawer .ant-table-cell{vertical-align:middle;transition:background-color .16s ease,color .16s ease}.provider-drawer .ant-table-thead>tr>th{background:#eef1ef;color:#303733;font-weight:700}.provider-name{color:#27332e}.provider-current-tag{max-width:210px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.provider-manual-switch{min-width:0;display:grid;grid-template-columns:minmax(180px,1fr) minmax(230px,320px) 144px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 14px;border:1px solid #d7ddda;border-left:4px solid #9aa39e;border-radius:6px;background:#f5f6f5}.provider-manual-switch.is-active{border-left-color:#147858;background:#edf8f3}.provider-manual-switch-copy{min-width:0;display:grid;gap:3px}.provider-manual-switch-copy span{color:#66706b;font-size:12px;font-weight:700}.provider-manual-switch-copy strong{overflow:hidden;color:#27332e;font-size:14px;text-overflow:ellipsis;white-space:nowrap}.provider-manual-switch-select{width:100%}.provider-manual-switch-button{width:144px;height:40px;border-radius:6px;font-weight:700}.provider-manual-switch-button.is-active,.provider-manual-switch-button.is-active:disabled{border-color:#147858;background:#147858;color:#fff;opacity:1}.provider-status-tag{min-width:78px;margin:0;padding:4px 8px;text-align:center}.provider-status-tag .anticon{margin-right:5px}.provider-status-tag.is-inactive{border-color:#c7cdca;background:#eceeed;color:#626a66}.provider-row-active>td{background:#edf8f3!important}.provider-row-active>td:first-child{box-shadow:inset 4px 0 #147858}.provider-row-active:hover>td{background:#e5f5ed!important}.provider-row-inactive>td{background:#f5f6f5!important;color:#707773}.provider-row-inactive .provider-name{color:#555c58}.provider-row-inactive .ant-tag{border-color:#d1d5d3;background:#e8eae9;color:#666d69;filter:grayscale(1)}.provider-row-inactive .provider-action-button{color:#727975!important}.provider-row-inactive:hover>td{background:#eceeed!important}@media(max-width:1024px){.provider-drawer .ant-drawer-header{min-height:60px;padding:12px 16px}.provider-drawer .ant-drawer-body{padding:12px}.provider-manual-switch{grid-template-columns:1fr;align-items:stretch}.provider-manual-switch-button{width:100%;min-height:44px}}
