:root{font-family:"Segoe UI",system-ui,sans-serif;color:#24392f;background:#f5f6f2}*{box-sizing:border-box}body{margin:0}main{max-width:1150px;margin:auto;padding:0 36px}nav{display:flex;align-items:center;gap:20px;min-height:90px;border-bottom:1px solid #d5ddd5}.brand{font-size:18px;font-weight:750;color:inherit;text-decoration:none}.brand span{display:block;font-size:11px;font-weight:400;letter-spacing:.1em;margin-top:3px;color:#667c6d}#identity{margin-left:auto;font-size:13px;overflow-wrap:anywhere}h1{font-size:clamp(32px,4vw,52px);line-height:1.12;letter-spacing:-.045em;font-weight:600;margin:15px 0 22px}h2{font-size:20px;font-weight:600;margin:0}.eyebrow{font-size:11px;letter-spacing:.14em;color:#667c6d}.lead{font-size:18px;line-height:1.6;max-width:630px;color:#5b6d61}header,#login{padding:45px 0 15px}#login{max-width:730px;min-height:65vh}section{padding:28px 0;border-top:1px solid #d5ddd5}#login{border:0}.connections{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:25px}.section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.badge{font-size:11px;background:#e4eade;padding:6px 9px;border-radius:4px}.muted,.hint{color:#627568;line-height:1.65}.muted{font-size:14px}.hint{font-size:12px;max-width:620px}label{display:flex;flex-direction:column;gap:7px;font-size:13px;margin:17px 0}input,select,button{font:inherit}input,select{padding:11px 12px;background:#fff;border:1px solid #bfcbc0;border-radius:5px;width:100%;min-width:0;color:inherit}button{border:1px solid #bfcbc0;background:#fff;padding:11px 16px;border-radius:5px;cursor:pointer;font-size:13px;color:inherit}button.primary{background:#285b42;color:#fff;border-color:#285b42}button:disabled{opacity:.5;cursor:default}button:hover:not(:disabled){filter:brightness(.94)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #82ad90;outline-offset:3px}.danger{color:#973d31;margin-top:15px}.note,.preview{padding:18px;background:#e9eee3;border-left:3px solid #75916c;margin:22px 0;line-height:1.65;font-size:14px}#message:empty{display:none}#message{padding:15px;background:#e7eddf;line-height:1.5}#message[data-error=true]{background:#f2e5df;color:#863f31}.project-row,.issue-row{padding:17px 0;border-bottom:1px solid #dce3d9;line-height:1.6;overflow-wrap:anywhere}.project-row strong,.issue-row strong{display:block}.fields{display:grid;grid-template-columns:1fr 1fr;gap:0 25px}fieldset{border:1px solid #d5ddd5;margin:18px 0;padding:14px}legend{font-size:13px}fieldset label{flex-direction:row;align-items:center;margin:10px 0}fieldset input{width:auto}footer{padding:30px 0;font-size:12px;color:#758373;border-top:1px solid #d5ddd5}[hidden]{display:none!important}@media(max-width:700px){main{padding:0 18px}nav{gap:10px}.connections,.fields{grid-template-columns:1fr;gap:0}.section-title{flex-wrap:wrap}header,#login{padding-top:30px}#identity{font-size:11px;max-width:45%}}

details{margin:20px 0}summary{cursor:pointer;color:var(--muted,#667268);font-size:14px}details form{margin-top:16px}.preview select{width:100%}

.execution-row{padding:18px 0;border-bottom:1px solid #dce3d9;overflow-wrap:anywhere}.execution-row h3{font-size:17px;font-weight:600;margin:0 0 10px}.execution-row p{line-height:1.6;margin:8px 0}.execution-row ol{padding-left:22px;font-size:13px;line-height:1.8}#readiness-result:not(:empty){margin-top:20px;padding:16px;background:#e9eee3;line-height:1.6}

.actions{display:flex;gap:10px;flex-wrap:wrap}.repository-picker{padding:18px 0;border-top:1px solid #d5ddd5}.repository-picker h3{font-size:16px;font-weight:600}.check-label{flex-direction:row;align-items:center}.check-label input{width:auto}

/* Existing palette and forms, separated into clear destinations. */
.primary-nav,.settings-nav{min-height:0;justify-content:flex-start;flex-wrap:wrap;gap:8px}
.primary-nav{padding:18px 0 0;gap:28px}.primary-nav a{font-size:17px;font-weight:600;padding:12px 0;border-bottom:3px solid transparent}
.primary-nav a,.settings-nav a{color:#627568;text-decoration:none;transition:color .15s,background-color .15s}
.primary-nav a[aria-current=page]{color:#24392f;border-bottom-color:#285b42}
.settings-nav{padding:0 0 20px;margin-bottom:8px;border-bottom:1px solid #d5ddd5}
.settings-nav a{padding:10px 14px;border-radius:5px;font-size:14px}.settings-nav a[aria-current=page]{background:#e4eade;color:#24392f;font-weight:600}
.primary-nav a:hover,.settings-nav a:hover{color:#285b42}.settings-nav a:hover{background:#edf0e9}
.page-header{padding:28px 0 16px}.page-header h1{font-size:36px;margin:10px 0 12px}.page-header .lead{font-size:16px;margin:0 0 20px}
.settings-panel{border-top:0;padding-top:20px}#admin.settings-panel,#settings-groups.settings-panel{padding-top:0}.settings-panel .connections{margin-top:0}.connections>section{border-top:0;padding-top:10px;min-width:0}
.settings-panel h3{font-size:16px;font-weight:600;margin-top:28px}.settings-panel p{overflow-wrap:anywhere}
.skip-link{position:absolute;left:16px;top:-80px;padding:12px;background:#fff;z-index:2}.skip-link:focus{top:10px}
@media(max-width:700px){.primary-nav{gap:24px}.settings-nav{gap:4px}.settings-nav a{padding:10px;font-size:13px}.page-header h1{font-size:30px}.connections{gap:24px}.connections>section+section{border-top:1px solid #d5ddd5;padding-top:26px}}
@media(prefers-reduced-motion:reduce){.primary-nav a,.settings-nav a{transition:none}}
/* Compact agent workspace, retaining the portal palette. */
.account-bar{min-height:68px}.page-header{padding:22px 0 4px}.page-header h1{font-size:28px}.page-header .lead{font-size:14px;margin-bottom:16px}.work-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #d5ddd5;padding:0 0 14px}.work-tabs{min-height:0;border:0;gap:4px;flex-wrap:wrap}.work-tabs button{background:transparent;border-color:transparent;padding:8px 12px}.work-tabs button[aria-pressed=true]{background:#e4eade;color:#24392f;font-weight:600}.work-toolbar .actions{flex-wrap:nowrap}.execution-group{padding:22px 0 10px}.execution-group h2{font-size:16px;display:flex;align-items:center;gap:10px}.count{font-size:12px;font-variant-numeric:tabular-nums;color:#627568;background:#e4eade;padding:3px 7px;border-radius:4px}.compact-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(150px,220px) auto;align-items:center;gap:20px;padding:16px 0;border-bottom:1px solid #dce3d9}.compact-row>div{min-width:0}.compact-row .hint{margin:4px 0 0}.issue-row.compact-row{grid-template-columns:minmax(0,1fr) auto}.text-button{border:0;background:none;padding:0;font-weight:650;font-size:14px;text-decoration:underline;text-underline-offset:3px}.row-project{font-size:13px;color:#627568;margin-left:12px}.row-status .hint{font-variant-numeric:tabular-nums;font-size:11px}.badge{display:inline-block}.phase-Failed,.phase-Unknown{color:#863f31;background:#f2e5df}.phase-Waiting{color:#70591e;background:#f0ead6}.phase-Succeeded{color:#285b42;background:#dceadd}.empty-state{padding:16px 0;margin:0;font-size:13px}.side-panel{position:fixed;margin:0 0 0 auto;inset:0;width:min(520px,100%);height:100dvh;max-height:100dvh;max-width:100%;border:0;border-left:1px solid #d5ddd5;padding:28px;background:#f5f6f2;color:#24392f;overflow-y:auto}.side-panel::backdrop{background:rgb(24 42 32 / 25%)}.side-panel h2{font-size:21px}.side-panel h3{font-size:15px;margin-top:26px}.side-panel ol{padding-left:22px;line-height:1.8;font-size:13px}.side-panel textarea{font:inherit;resize:vertical;min-height:110px;padding:12px;border:1px solid #bfcbc0;border-radius:5px;background:#fff;color:inherit}.side-panel textarea:focus-visible{outline:3px solid #82ad90;outline-offset:3px}.launch-footer{margin-top:28px;padding-top:20px;border-top:1px solid #d5ddd5}#work-tasks input{max-width:480px}#work-updated{margin:12px 0 0}.project-row button{margin:8px 0 0 16px}@media(max-width:700px){.work-toolbar{align-items:stretch;flex-direction:column;gap:10px}.work-toolbar .actions{justify-content:flex-end}.compact-row{grid-template-columns:minmax(0,1fr) auto;gap:12px}.row-status{grid-row:2;grid-column:1/-1;display:flex;gap:12px;align-items:center}.row-project{display:block;margin:5px 0 0}.side-panel{padding:20px}.project-row button{margin-left:0}}


#agent-enrollment-result code{overflow-wrap:anywhere}

.launch-footer{position:sticky;bottom:-28px;z-index:2;padding-bottom:28px;background:#f5f6f2}
@media(max-width:700px){.launch-footer{bottom:-20px;padding-bottom:20px}}

.agent-strip{display:flex;align-items:center;gap:10px;padding:0 0 14px;border-bottom:1px solid #d5ddd5}.agent-strip nav{min-height:0;border:0;gap:6px;flex:1;flex-wrap:wrap;min-width:0}.agent-strip nav a{padding:10px 14px;color:#627568;text-decoration:none;border-radius:5px;overflow-wrap:anywhere}.agent-strip nav a[aria-current=page]{background:#e4eade;color:#24392f;font-weight:600}.agent-strip nav a:hover{background:#edf0e9}.agent-heading{display:flex;align-items:center;gap:12px;margin:24px 0 18px}.agent-heading h2{font-size:22px;overflow-wrap:anywhere}#agent-settings-panel,#agent-work-panel{padding:8px 0 28px}#agent-instance-settings .project-row{border:0;padding:0}#agent-instance-settings .project-row>strong{display:none}#agent-executions>button{margin:0 8px 12px 0}#agent-add-content #agent-refresh{margin-top:18px}#agent-catalog-message:empty{display:none}@media(max-width:700px){.agent-strip{flex-wrap:wrap}.agent-strip nav{flex-basis:100%}.agent-heading{align-items:flex-start}.agent-strip>button{padding:9px 12px}}

#login-domains-form{max-width:680px;padding-bottom:20px;border-bottom:1px solid #d5ddd5;margin-bottom:24px}#login-domains{display:block;width:100%;box-sizing:border-box;font:inherit;resize:vertical;padding:12px;border:1px solid #bfcbc0;border-radius:5px;background:#fff;color:inherit}#login-domains:focus-visible{outline:3px solid #82ad90;outline-offset:3px}

#settings-groups form{max-width:760px}.group-tools{align-items:flex-end;margin-bottom:20px}.group-tools label{margin:0}.group-tools button{align-self:flex-end}

.workspace-connection { overflow-wrap:anywhere; }
.workspace-connection code { display:block; white-space:pre-wrap; overflow-wrap:anywhere; margin:1rem 0; }
.workspace-connection button { margin:0 .5rem .5rem 0; }

.issue-sprint{margin-left:10px}

.connection-address{display:grid;grid-template-columns:minmax(0,2fr) minmax(124px,1fr);gap:16px}.connection-field{min-width:0}.connection-field label{margin:18px 0 8px}.connection-field input{font-variant-numeric:tabular-nums}.connection-field .actions{gap:8px}.connection-ssl{margin:24px 0 6px;flex-wrap:wrap}.connection-ssl input:disabled{opacity:1}.connection-copy-status{min-height:22px}.connection-details p,.workspace-session-links{overflow-wrap:anywhere}.workspace-session-links a{color:#285b42}.workspace-connection>h2{margin-bottom:18px}

.connection-field button{white-space:nowrap;padding:10px 12px}

.workspace-sessions{width:100%;min-width:0;margin-top:16px;padding:16px 0 0;border-bottom:0}.workspace-sessions .section-title{gap:12px;flex-wrap:wrap}.workspace-sessions h3{margin:0}.workspace-session-row{display:flex;align-items:center;gap:10px 16px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid #d5ddd5}.workspace-session-row strong{flex:1;min-width:0;overflow-wrap:anywhere}.workspace-session-links .workspace-session-open{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:7px 11px;border:1px solid #285b42;border-radius:5px;background:#285b42;color:#fff;font-size:13px;font-weight:600;line-height:1.3;text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s,transform .15s}.workspace-session-open::after{content:"↗";margin-left:7px;font-size:15px;line-height:1}.workspace-session-open:hover{background:#204c36;border-color:#204c36}.workspace-session-open:active{transform:translateY(1px)}@media(max-width:520px){.workspace-session-row{align-items:flex-start}.workspace-session-open{width:100%}}

/* Колонку «Задача» растягиваем на остаток ширины, остальные — по содержимому, чтобы кнопки действий не обрезались. */
.issue-table{width:100%;border-collapse:collapse;table-layout:auto;font-size:13px}.issue-table th{text-align:left;font-weight:600;color:#627568}.issue-table th,.issue-table td{padding:5px 8px;height:40px;border-bottom:1px solid #dce3d9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.issue-table .issue-col-0,.issue-table .issue-col-1,.issue-table .issue-col-3,.issue-table .issue-col-4,.issue-table .issue-col-5{width:1%}.issue-table .issue-col-2{width:100%;max-width:0}.issue-table .issue-col-3,.issue-table .issue-col-4{max-width:124px}.issue-table .badge{max-width:100%;padding:3px 6px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.issue-table a{color:#285b42}.issue-table .issue-title{display:block;width:100%;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:transparent;border:0;padding:5px 0}.issue-table .issue-row strong{display:inline}.issue-table .issue-actions{display:flex;gap:10px;align-items:center}.issue-table .issue-actions button{padding:4px 8px;white-space:nowrap}.issue-table .issue-actions a{display:inline-flex;align-items:center;padding:4px 8px;border:1px solid #bfcbc0;border-radius:5px;background:#fff;color:#285b42;font-size:13px;line-height:1.5;text-decoration:none;white-space:nowrap}.issue-table .issue-actions a:hover{filter:brightness(.94)}.issue-table .issue-group th{height:28px;background:#edf0e9;font-size:11px}.task-session-dialog ul{font-size:13px;line-height:1.7;padding-left:20px}@media(max-width:1000px){.issue-table .issue-col-3{display:none}}@media(max-width:820px){.issue-table .issue-col-4{display:none}}@media(max-width:700px){.issue-table .issue-col-5{max-width:112px}.issue-table .issue-actions{flex-wrap:wrap}.issue-table .issue-actions a{font-size:11px;padding:4px}.issue-table th,.issue-table td{padding:4px;font-size:11px}.issue-table .issue-title{font-size:12px}.issue-table .issue-actions{gap:4px}.issue-table .issue-actions button{font-size:11px;padding:4px}.issue-table .badge{font-size:10px}}

/* Обсуждение задачи: история и подтверждённый контекст. */
.task-chat-dialog{width:min(800px,100%);display:flex;flex-direction:column;gap:12px;padding:24px 28px}.task-chat-dialog:not([open]){display:none}.chat-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.chat-header h2{margin:0}.chat-summary{margin:0;font-size:16px}.task-chat-dialog>.muted{margin:0;font-size:13px}.chat-tabs{display:flex;gap:6px;border-bottom:1px solid #d5ddd5;padding-bottom:12px}.chat-tabs button{background:transparent;border-color:transparent}.chat-tabs button[aria-pressed=true]{background:#e4eade;font-weight:600}.chat-discussion{display:flex;flex:1;min-height:0;flex-direction:column}.chat-discussion[hidden],.chat-context[hidden]{display:none}.chat-messages{flex:1;overflow:auto;min-height:140px;padding:4px 0;overscroll-behavior:contain}.chat-message{padding:18px 0;border-bottom:1px solid #dce3d9}.chat-message-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:8px;font-size:12px;color:#627568}.chat-message-label strong{color:#24392f;font-size:14px}.chat-message-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:14px}.chat-user .chat-message-text{color:#415447}.chat-message-text.markdown{white-space:normal}.chat-message-text.markdown>:first-child{margin-top:0}.chat-message-text.markdown>:last-child{margin-bottom:0}.chat-message-text.markdown p{margin:0 0 10px}.chat-message-text.markdown h1,.chat-message-text.markdown h2,.chat-message-text.markdown h3,.chat-message-text.markdown h4{line-height:1.3;margin:16px 0 8px;color:#24392f}.chat-message-text.markdown h1{font-size:18px}.chat-message-text.markdown h2{font-size:16px}.chat-message-text.markdown h3,.chat-message-text.markdown h4{font-size:15px}.chat-message-text.markdown ul,.chat-message-text.markdown ol{margin:0 0 10px;padding-left:22px}.chat-message-text.markdown li{margin:2px 0}.chat-message-text.markdown a{color:#285b42}.chat-message-text.markdown code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;background:#f4f6f2;border:1px solid #dce3d9;border-radius:4px;padding:1px 4px}.chat-message-text.markdown pre{background:#f4f6f2;border:1px solid #dce3d9;border-radius:6px;padding:10px 12px;margin:0 0 10px;overflow:auto}.chat-message-text.markdown pre code{background:transparent;border:0;padding:0;font-size:13px}.chat-message-text.markdown blockquote{margin:0 0 10px;padding:2px 12px;border-left:3px solid #d5ddd5;color:#627568}.chat-message-text.markdown hr{border:0;border-top:1px solid #dce3d9;margin:16px 0}.chat-message-text.markdown img{max-width:100%}.chat-message-text.markdown table{border-collapse:collapse;margin:0 0 10px}.chat-message-text.markdown th,.chat-message-text.markdown td{border:1px solid #dce3d9;padding:6px 10px;font-size:13px}.chat-message .text-button{margin-top:12px;font-size:12px}.chat-empty{max-width:440px;line-height:1.7;margin:36px auto;color:#627568}.chat-composer{display:flex;flex-direction:column;gap:10px;border-top:1px solid #d5ddd5;padding-top:12px}.chat-choices{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:10px}.chat-choices select{width:100%;min-width:0}.task-chat-dialog .chat-composer textarea,.task-chat-page .chat-composer textarea{min-height:88px;width:100%;box-sizing:border-box}.chat-context textarea{width:100%;box-sizing:border-box}.chat-context details{margin-top:16px}.chat-error{color:#863f31;font-size:13px}.task-chat-dialog .hint,.task-chat-page .hint{font-size:12px;line-height:1.5}.issue-actions{flex-wrap:nowrap}.task-chat-dialog button,.task-chat-page button{min-height:36px}@media(max-width:600px){.task-chat-dialog{padding:18px 16px}.chat-header h2{font-size:18px}.chat-tabs{gap:0}.chat-tabs button{font-size:12px;padding:8px}.chat-choices{grid-template-columns:minmax(0,1fr) 125px}.chat-message-label{flex-wrap:wrap}.chat-messages{min-height:100px}.chat-message-text{font-size:14px}}
.task-chat-page{display:flex;flex-direction:column;gap:12px;padding-top:28px;padding-bottom:40px;min-height:100dvh;box-sizing:border-box}.task-chat-page textarea{font:inherit;resize:vertical;min-height:110px;padding:12px;border:1px solid #bfcbc0;border-radius:5px;background:#fff;color:inherit}.task-chat-page textarea:focus-visible{outline:3px solid #82ad90;outline-offset:3px}.task-chat-page .chat-summary{color:#627568}


.issue-prs{display:flex;gap:4px 8px;flex-wrap:wrap;white-space:normal;line-height:1.5;padding-bottom:4px}.issue-prs .hint{margin:0;font-size:11px}.issue-prs a{font-size:11px;overflow-wrap:anywhere}.issue-prs .pr-Failure{color:#863f31}.issue-prs .pr-Pending{color:#70591e}.issue-prs .pr-Unknown{color:#627568}.issue-task-info{min-width:0}
.issue-actions .chat-count{display:inline-grid;place-items:center;min-width:18px;height:18px;margin-left:7px;padding:0 5px;border-radius:9px;background:#dceadd;color:#285b42;font-size:11px;font-weight:700;font-variant-numeric:tabular-nums}

.work-agent-tabs{padding:10px 0;border-bottom:1px solid #d5ddd5;gap:6px}.work-agent-tabs button{max-width:100%;overflow-wrap:anywhere}#work-agents>section{border-top:0}

#project-agents .work-agent-heading{font-size:22px;font-weight:600;line-height:1.3;margin:0 0 12px}#project-agents .workspace-sessions h3{font-size:15px;font-weight:600;line-height:1.4}

#agent-group-navigation-message:empty{display:none}

.connection-tabs{padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid #d5ddd5}.connection-tabs button{display:inline-flex;align-items:center;gap:7px}.connection-status{width:8px;height:8px;flex:0 0 8px;border-radius:50%;background:#93a096}.connection-tabs button[data-connection-status=ready] .connection-status{background:#3c8652}.connection-tabs button[data-connection-status=action] .connection-status{background:#b65443}.connection-tabs button[data-connection-status=checking] .connection-status,.connection-tabs button[data-connection-status=unavailable] .connection-status{background:#b48831}#settings-connections .connections{display:block;max-width:760px}#settings-connections .connections>section{border-top:0;padding-top:0}
.workspace-pairing{margin:20px 0;padding:20px;background:#edf0e9;border:1px solid #d5ddd5;border-left:4px solid #285b42;border-radius:7px}.workspace-pairing h3{margin:0 0 8px}.workspace-pairing-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.workspace-pairing-actions .danger{margin-top:0}.workspace-pairing-result{display:grid;grid-template-columns:196px minmax(0,1fr);align-items:center;gap:20px;margin-top:18px}.workspace-pairing-qr{display:block;width:196px;height:196px;padding:10px;background:#fff;border:1px solid #bfcbc0;image-rendering:pixelated}.workspace-pairing-link{display:block;color:#285b42;overflow-wrap:anywhere;word-break:break-word}.workspace-pairing-copy-status{min-height:20px;margin:7px 0 0}.workspace-pairing[aria-busy=true] .workspace-pairing-issue{cursor:wait}@media(max-width:620px){.workspace-pairing-result{grid-template-columns:1fr}.workspace-pairing-qr{width:min(196px,100%);height:auto;aspect-ratio:1}}

.profile-readiness{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0;padding:18px 20px;border:1px solid #d7c88b;border-left:4px solid #8a6a11;background:#fbf6df;border-radius:6px}.profile-readiness h2{margin:3px 0 7px;font-size:19px}.profile-readiness .eyebrow{color:#70591e}.profile-readiness ul{margin:0;padding-left:19px;color:#4d4a37;font-size:14px;line-height:1.55}.profile-readiness button{white-space:nowrap}.profile-wizard{max-width:760px;margin:0 0 24px;padding:20px 22px;background:#edf0e9;border:1px solid #d5ddd5;border-radius:7px}.profile-wizard h2{margin:3px 0 14px;font-size:20px}.profile-wizard ol{display:flex;gap:8px;margin:0;padding:0;list-style:none;flex-wrap:wrap}.profile-wizard li{margin:0}.profile-wizard button{font-size:13px}.profile-wizard button[data-state=ready]{border-color:#78a17b;color:#285b42;background:#f4faf3}.profile-wizard button[data-state=reconnect]{border-color:#b48831}.profile-wizard button[data-state=unavailable]{border-color:#89978b;color:#4e5e50}@media(max-width:620px){.profile-readiness{align-items:flex-start;flex-direction:column;gap:14px}.profile-readiness button{width:100%}}

.task-session-info:not(:empty){margin-bottom:18px}

.command-copy{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:12px 0}.command-copy code{padding:10px 12px;background:#fff;border:1px solid #bfcbc0;border-radius:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px}.command-copy button{white-space:nowrap}.command-copy-status{min-height:20px;margin:0 0 17px}@media(max-width:420px){.command-copy{align-items:stretch}.command-copy button{width:100%}}

/* Журнал приложения: моноширинная лента записей, уровень задаёт цвет метки. */
.logs { display: flex; flex-direction: column; gap: 2px; max-height: 60vh; overflow: auto; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 12px; }
.log-entry { display: grid; grid-template-columns: 5.5rem 5.5rem minmax(6rem, 14rem) 1fr; gap: 8px; padding: 4px 6px; border-radius: 4px; align-items: baseline; }
.log-entry:nth-child(odd) { background: rgba(127, 127, 127, 0.07); }
.log-message, .log-exception { white-space: pre-wrap; overflow-wrap: anywhere; }
.log-exception { grid-column: 4; opacity: 0.85; }
.log-category { opacity: 0.7; overflow-wrap: anywhere; }
.log-time { opacity: 0.6; }
.log-level { font-weight: 600; }
.log-entry[data-level="Warning"] .log-level { color: #b26a00; }
.log-entry[data-level="Error"] .log-level, .log-entry[data-level="Critical"] .log-level { color: #c0392b; }
.logs-auto { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; }

/* Панель состояния страницы «Работа»: лимиты подписок и сводки по работе. */
.work-status{padding:16px 0 18px;border-bottom:1px solid #d5ddd5}
.status-tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:start}
.status-provider{grid-column:span 6}.status-metric{grid-column:span 3}
@media(min-width:560px){.status-provider{grid-column:span 3}.status-metric{grid-column:span 2}}
@media(min-width:940px){.status-tiles{grid-template-columns:repeat(12,minmax(0,1fr))}.status-provider{grid-column:span 3}.status-metric{grid-column:span 2}}
.status-tile{min-width:0;padding:14px 16px;border:1px solid #dce3d9;border-left-width:4px;border-radius:6px;background:#fff}
.status-tile[data-state=ok]{border-left-color:#285b42}
.status-tile[data-state=warning]{border-left-color:#a98524}
.status-tile[data-state=danger],.status-tile[data-state=action]{border-left-color:#a3513e}
.status-tile[data-state=unknown]{border-left-color:#bfcbc0}
.status-tile[data-state=loading]{border-left-color:#cbd5cc}
.status-tile h3{font-size:14px;font-weight:600;margin:0}
.status-tile .hint{margin:6px 0 0;line-height:1.5}
.status-tile-head{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0}
.status-tile-head h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.usage-windows{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.status-tile .status-checked{margin-top:10px;padding-top:8px;border-top:1px solid #edf1ec;color:#6b7a6f;font-size:12px}
.usage-label{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:#627568;min-width:0}
.usage-label span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.usage-label span:last-child{font-variant-numeric:tabular-nums;color:#24392f;font-weight:600}
.usage-bar{margin-top:4px;height:6px;border-radius:3px;background:#e4eade;overflow:hidden}
.usage-bar span{display:block;height:100%;background:#285b42}
.usage-bar[data-tone=warning] span{background:#a98524}
.usage-bar[data-tone=danger] span{background:#a3513e}
.usage-bar[data-tone=unknown] span{background:#bfcbc0}
.status-metric-value{font-size:26px;font-weight:700;margin:0;line-height:1.1;font-variant-numeric:tabular-nums}
.status-metric-title{display:block;margin-top:2px;padding:0;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:#24392f;text-align:left;cursor:pointer}
.status-metric-title:hover{color:#285b42;text-decoration:underline}
.status-skeleton-tile{position:relative;overflow:hidden;color:#52655a}
.status-skeleton-tile::after{content:"";position:absolute;inset:0;transform:translateX(-110%);background:linear-gradient(100deg,transparent 20%,rgba(255,255,255,.75) 48%,transparent 76%);animation:status-skeleton-shimmer 1.45s ease-in-out infinite;pointer-events:none}
.status-skeleton-line{display:block;height:8px;border-radius:3px;background:#e4e9e3}
.status-skeleton-badge{width:52px;height:22px}
.status-skeleton-window{display:grid;grid-template-columns:minmax(0,1fr) 32px;gap:7px;margin-top:14px}
.status-skeleton-label{width:62%}.status-skeleton-label-short{width:42%}.status-skeleton-percent{width:28px;justify-self:end}
.status-skeleton-bar{grid-column:1/-1;width:100%;height:6px}
.status-skeleton-checked{width:58%;margin-top:15px;padding-top:0}
.status-skeleton-value{width:34px;height:25px;margin-bottom:5px}
.status-skeleton-detail{width:88%;margin-top:11px}.status-skeleton-detail-short{width:64%;margin-top:7px}
@keyframes status-skeleton-shimmer{to{transform:translateX(110%)}}
#work-status-note:empty{display:none}
#work-status-note{margin:12px 0 0}
@media(max-width:700px){.status-tiles{gap:10px}.status-tile{padding:12px}.status-metric-value{font-size:22px}}

/*
 * Portal visual system: a calm, dense operations console.
 * The rules below intentionally restyle the existing semantic markup instead of
 * replacing components or changing interaction contracts.
 */
:root {
  --canvas: #eef1eb;
  --canvas-strong: #e6ebe3;
  --surface: #fbfcf8;
  --surface-raised: #ffffff;
  --surface-muted: #f1f4ee;
  --ink: #17251f;
  --ink-soft: #35473e;
  --muted: #607168;
  --muted-strong: #4d6056;
  --line: #ced8cf;
  --line-strong: #b4c2b7;
  --brand: #155f46;
  --brand-strong: #0e4b37;
  --brand-soft: #dcebe1;
  --focus: #197553;
  --warning: #865f13;
  --warning-soft: #f6ebcd;
  --danger: #a04335;
  --danger-soft: #f6e2dd;
  --success-soft: #dcecdf;
  --shadow-low: 0 1px 2px rgb(23 37 31 / 6%), 0 8px 24px rgb(38 64 50 / 5%);
  --shadow-high: 0 22px 70px rgb(25 48 37 / 18%);
  --radius-small: 7px;
  --radius-medium: 12px;
  --radius-large: 18px;
  color: var(--ink);
  background: var(--canvas);
  font-family: "Avenir Next", "Segoe UI Variable", "Segoe UI", system-ui, sans-serif;
  font-synthesis: none;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 24px;
}

body {
  min-width: 320px;
  min-height: 100dvh;
  color: var(--ink);
  background:
    radial-gradient(circle at 12% 0%, rgb(255 255 255 / 78%), transparent 33rem),
    radial-gradient(circle at 94% 7%, rgb(210 226 216 / 55%), transparent 28rem),
    var(--canvas);
}

main {
  width: min(100%, 1280px);
  max-width: none;
  min-height: 100dvh;
  padding-inline: clamp(20px, 4vw, 52px);
}

::selection {
  color: #fff;
  background: var(--brand);
}

.account-bar {
  position: relative;
  min-height: 76px;
  gap: 14px;
  border-color: var(--line);
}

.brand {
  position: relative;
  display: grid;
  grid-template-columns: 7px auto;
  column-gap: 12px;
  align-items: center;
  min-height: 44px;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: -.025em;
}

.brand::before {
  content: "";
  grid-row: 1 / span 2;
  align-self: stretch;
  width: 7px;
  border-radius: 2px;
  background: var(--brand);
  box-shadow: 0 0 0 1px rgb(14 75 55 / 8%);
}

.brand span {
  grid-column: 2;
  margin-top: -4px;
  color: var(--muted);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: .12em;
  text-transform: uppercase;
}

#identity {
  color: var(--muted-strong);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 12px;
}

h1,
h2,
h3 {
  color: var(--ink);
  text-wrap: balance;
}

h1 {
  font-weight: 650;
  letter-spacing: -.05em;
}

h2,
h3 {
  letter-spacing: -.025em;
}

p,
li {
  text-wrap: pretty;
}

.eyebrow {
  color: var(--brand);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .13em;
}

.lead {
  max-width: 66ch;
  color: var(--muted-strong);
}

.muted,
.hint {
  color: var(--muted);
}

.primary-nav {
  min-height: 56px;
  margin-top: 14px;
  padding: 6px;
  gap: 4px;
  border: 1px solid #223a30;
  border-radius: var(--radius-medium);
  background: #1c2f27;
  box-shadow: 0 12px 32px rgb(23 42 33 / 12%);
}

.primary-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: var(--radius-small);
  color: #bbcbc2;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.01em;
}

.primary-nav a:hover {
  color: #fff;
  background: rgb(255 255 255 / 7%);
}

.primary-nav a[aria-current=page] {
  color: #fff;
  border: 0;
  background: var(--brand);
  box-shadow: inset 0 1px rgb(255 255 255 / 14%);
}

.page-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .45fr);
  column-gap: 48px;
  align-items: end;
  padding: 38px 0 24px;
}

.page-header .eyebrow,
.page-header h1 {
  grid-column: 1;
}

.page-header h1 {
  margin: 6px 0 0;
  font-size: clamp(34px, 4vw, 48px);
  line-height: 1;
}

.page-header .lead {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  margin: 0;
  padding-left: 20px;
  border-left: 2px solid var(--brand);
  font-size: 14px;
  line-height: 1.55;
}

section {
  border-color: var(--line);
}

button,
input,
select,
textarea {
  color: var(--ink);
}

button,
.issue-table .issue-actions a,
.workspace-session-open {
  min-height: 44px;
  border-color: var(--line-strong);
  border-radius: var(--radius-small);
  font-weight: 600;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

button,
a,
summary,
select,
input[type="checkbox"],
input[type="radio"] {
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgb(21 95 70 / 18%);
}

button {
  background: var(--surface-raised);
  box-shadow: 0 1px 1px rgb(23 37 31 / 4%);
}

button:hover:not(:disabled) {
  filter: none;
  border-color: #8ca195;
  background: #f4f7f2;
  transform: translateY(-1px);
}

button:active:not(:disabled) {
  transform: translateY(1px) scale(.99);
}

button.primary {
  border-color: var(--brand);
  background: var(--brand);
  box-shadow: 0 7px 18px rgb(21 95 70 / 16%);
}

button.primary:hover:not(:disabled) {
  border-color: var(--brand-strong);
  background: var(--brand-strong);
}

button:disabled {
  color: #7b8880;
  background: #e9ede7;
  opacity: 1;
}

input,
select,
textarea,
#login-domains,
.side-panel textarea,
.task-chat-page textarea {
  min-height: 44px;
  padding: 11px 13px;
  border-color: var(--line-strong);
  border-radius: var(--radius-small);
  background: var(--surface-raised);
  box-shadow: inset 0 1px 1px rgb(23 37 31 / 3%);
  transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

input:hover,
select:hover,
textarea:hover {
  border-color: #8ca195;
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--focus);
  box-shadow: 0 0 0 3px rgb(25 117 83 / 13%);
}

button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}

label {
  color: var(--ink-soft);
  font-weight: 550;
}

.skip-link {
  border-radius: var(--radius-small);
  color: var(--ink);
  box-shadow: var(--shadow-high);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  scroll-margin-top: 24px;
}

#message {
  margin: 18px 0 0;
  padding: 15px 18px;
  border: 1px solid #bfd3c2;
  border-left: 4px solid var(--brand);
  border-radius: var(--radius-small);
  color: var(--brand-strong);
  background: var(--success-soft);
}

#message[data-error=true] {
  border-color: #deb9b0;
  border-left-color: var(--danger);
  color: #7f3027;
  background: var(--danger-soft);
}

.work-status {
  padding: 10px 0 24px;
  border-bottom: 0;
}

.status-tiles {
  gap: 14px;
}

.status-tile {
  position: relative;
  padding: 17px 18px;
  border: 1px solid var(--line);
  border-left-width: 1px;
  border-radius: var(--radius-medium);
  background: rgb(255 255 255 / 82%);
  box-shadow: var(--shadow-low);
  overflow: hidden;
}

.status-tile::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: var(--line-strong);
}

.status-tile[data-state=ok]::before { background: var(--brand); }
.status-tile[data-state=warning]::before { background: var(--warning); }
.status-tile[data-state=danger]::before,
.status-tile[data-state=action]::before { background: var(--danger); }
.status-tile[data-state=unknown]::before,
.status-tile[data-state=loading]::before { background: #90a097; }

.status-metric {
  background: var(--brand-soft);
  box-shadow: none;
}

.status-tile h3,
.status-metric-title {
  font-weight: 650;
}

.status-metric-value,
.usage-label span:last-child,
.count,
.badge,
.row-status .hint {
  font-variant-numeric: tabular-nums;
}

.status-metric-value {
  color: var(--brand-strong);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 28px;
  letter-spacing: -.06em;
}

.usage-bar {
  height: 7px;
  background: #dfe6dd;
}

.badge,
.count {
  border: 1px solid rgb(71 99 83 / 8%);
  border-radius: 5px;
  background: #e5ebe2;
}

.phase-Failed,
.phase-Unknown {
  color: #7f3027;
  background: var(--danger-soft);
}

.phase-Waiting {
  color: #6c4c0d;
  background: var(--warning-soft);
}

.phase-Succeeded {
  color: var(--brand-strong);
  background: var(--success-soft);
}

.work-toolbar {
  position: relative;
  min-height: 64px;
  padding: 8px 0;
  border-top: 1px solid var(--line);
  border-bottom-color: var(--line);
}

.work-tabs {
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--canvas-strong);
}

.work-tabs button {
  min-height: 38px;
  border: 0;
  border-radius: 6px;
  color: var(--muted-strong);
  box-shadow: none;
}

.work-tabs button:hover:not(:disabled) {
  background: rgb(255 255 255 / 55%);
  transform: none;
}

.work-tabs button[aria-pressed=true] {
  color: var(--ink);
  background: var(--surface-raised);
  box-shadow: 0 1px 3px rgb(31 52 41 / 10%);
}

#work-updated {
  margin-top: 16px;
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 10px;
  letter-spacing: .02em;
}

.execution-group {
  padding-top: 26px;
}

.execution-group h2 {
  margin-bottom: 11px;
  font-size: 17px;
}

.compact-row {
  margin-bottom: 8px;
  padding: 15px 16px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: rgb(251 252 248 / 72%);
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

.compact-row:hover {
  border-color: #a8b8ac;
  background: var(--surface-raised);
  transform: translateY(-1px);
}

.text-button {
  color: var(--ink);
  text-decoration-color: #8fa296;
  text-decoration-thickness: 1px;
}

.text-button:hover:not(:disabled) {
  color: var(--brand);
  background: transparent;
  transform: none;
}

.row-project {
  color: var(--muted);
}

.settings-nav {
  min-height: 52px;
  padding: 6px 0 14px;
  gap: 5px;
  border-color: var(--line);
}

.settings-nav a,
.agent-strip nav a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  border-radius: var(--radius-small);
  color: var(--muted-strong);
  font-weight: 550;
}

.settings-nav a[aria-current=page],
.agent-strip nav a[aria-current=page] {
  color: var(--brand-strong);
  background: var(--brand-soft);
}

.agent-strip {
  min-height: 64px;
  padding-block: 8px;
  border-color: var(--line);
}

.agent-heading {
  margin-top: 28px;
}

.connections > section,
.settings-panel > form,
.repository-picker,
.workspace-pairing,
.workspace-unity,
.profile-wizard {
  border-color: var(--line);
}

#settings-connections .connections > section,
.settings-panel > form,
#agent-selected,
#project-selected,
#agent-group-selected {
  max-width: 900px;
}

fieldset,
.repository-picker,
.workspace-pairing,
.workspace-unity,
.profile-wizard,
.preview,
.note {
  border: 1px solid var(--line);
  border-radius: var(--radius-medium);
  background: rgb(251 252 248 / 76%);
}

fieldset {
  padding: 18px;
}

legend {
  padding-inline: 8px;
  color: var(--muted-strong);
  font-weight: 600;
}

.repository-picker {
  margin-block: 22px;
  padding: 20px;
}

.profile-readiness {
  border-color: #dec884;
  border-left-color: var(--warning);
  border-radius: var(--radius-medium);
  background: #fbf5df;
  box-shadow: var(--shadow-low);
}

.profile-wizard {
  background: var(--surface-muted);
}

.side-panel {
  padding:
    max(32px, env(safe-area-inset-top))
    max(32px, env(safe-area-inset-right))
    max(32px, env(safe-area-inset-bottom))
    max(32px, env(safe-area-inset-left));
  border-left: 1px solid #a9b9ae;
  background: var(--surface);
  box-shadow: var(--shadow-high);
  overscroll-behavior: contain;
  scroll-padding-block: 24px 140px;
}

.side-panel::backdrop {
  background: rgb(15 29 23 / 48%);
  backdrop-filter: blur(3px);
}

.side-panel .section-title {
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.launch-footer {
  background: linear-gradient(to bottom, rgb(251 252 248 / 84%), var(--surface) 28%);
}

.issue-table {
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-medium);
  background: rgb(255 255 255 / 62%);
}

.issue-table th,
.issue-table td {
  height: 46px;
  border-color: var(--line);
}

.issue-table th {
  color: var(--muted-strong);
  background: var(--surface-muted);
}

.issue-table .issue-group th {
  height: 34px;
  color: var(--brand-strong);
  background: var(--brand-soft);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  letter-spacing: .04em;
}

.issue-table .issue-title {
  min-height: 36px;
  color: var(--ink);
}

.issue-table .issue-title:hover:not(:disabled) {
  color: var(--brand);
  background: transparent;
  transform: none;
}

.issue-table .issue-actions a,
.issue-table .issue-actions button {
  min-height: 34px;
}

.connection-tabs {
  overflow-x: auto;
  flex-wrap: nowrap;
  scrollbar-width: thin;
}

.connection-status {
  box-shadow: 0 0 0 2px var(--surface-raised);
}

.workspace-pairing {
  background: var(--surface-muted);
}

.workspace-unity {
  margin-top: 14px;
  padding: 18px;
  background: var(--surface-muted);
}

.workspace-unity h3 {
  margin: 0;
}

.workspace-unity-warning {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid var(--warning);
  border-radius: var(--radius-small);
  color: var(--ink);
  background: var(--warning-soft);
}

.workspace-unity-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}

.workspace-unity-actions .danger {
  margin-top: 0;
}

.workspace-unity-license {
  display: grid;
  gap: 2px;
  margin-top: 8px;
}

.workspace-unity-login {
  margin-top: 14px;
}

.workspace-unity-login a {
  display: block;
  margin-bottom: 8px;
  overflow-wrap: anywhere;
}

.workspace-unity[aria-busy=true] {
  cursor: wait;
}

.workspace-progress {
  max-width: 720px;
  margin: 14px 0 6px;
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-left: 4px solid var(--brand);
  border-radius: var(--radius-small);
  background: var(--surface-muted);
}

.workspace-progress[data-state="warning"] {
  border-left-color: var(--warning);
  background: var(--warning-soft);
}

.workspace-progress[data-state="danger"] {
  border-left-color: var(--danger);
  background: var(--danger-soft);
}

.workspace-progress p {
  margin: 5px 0 0;
}

.workspace-progress-stage,
.workspace-progress-next,
.workspace-progress-git {
  color: var(--ink-soft);
  font-size: 13px;
}

.workspace-progress-warning {
  color: var(--warning);
  font-size: 13px;
}

.workspace-progress-failure {
  color: var(--danger);
  font-size: 13px;
}

.workspace-session-open::after {
  content: none;
}

.command-copy code,
.workspace-connection code,
.chat-message-text.markdown code,
.chat-message-text.markdown pre,
.logs {
  color: #dce8e1;
  border-color: #31483d;
  background: #1c2f27;
}

.command-copy code {
  border-radius: var(--radius-small);
}

.logs {
  padding: 12px;
  border: 1px solid #31483d;
  border-radius: var(--radius-medium);
}

.log-entry:nth-child(odd) {
  background: rgb(255 255 255 / 5%);
}

footer {
  margin-top: 26px;
  padding: 26px 0 34px;
  border-color: var(--line);
  color: var(--muted);
  font-family: ui-monospace, "SFMono-Regular", Consolas, monospace;
  font-size: 10px;
}

@media (max-width: 800px) {
  .page-header {
    display: block;
    padding-top: 30px;
  }

  .page-header h1 {
    font-size: 38px;
  }

  .page-header .lead {
    max-width: 54ch;
    margin-top: 14px;
    padding-left: 0;
    border-left: 0;
  }

  .compact-row {
    padding: 14px;
  }
}

@media (max-width: 700px) {
  main {
    padding-inline: 15px;
  }

  .account-bar {
    min-height: 68px;
  }

  .brand {
    font-size: 16px;
  }

  .brand span {
    display: none;
  }

  #identity {
    max-width: 34%;
    font-size: 9px;
  }

  #logout {
    min-width: 58px;
    padding-inline: 10px;
  }

  .primary-nav {
    margin-top: 10px;
  }

  .primary-nav a {
    flex: 1;
    justify-content: center;
    padding-inline: 10px;
  }

  .page-header h1 {
    font-size: 34px;
  }

  .status-tiles {
    gap: 9px;
  }

  .status-tile {
    padding: 15px;
  }

  .work-toolbar {
    padding-block: 12px;
  }

  .work-tabs {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
  }

  .work-tabs button {
    flex: 0 0 auto;
    min-height: 42px;
  }

  .work-toolbar .actions button {
    flex: 1;
  }

  .compact-row:hover {
    transform: none;
  }

  .side-panel {
    padding:
      max(22px, env(safe-area-inset-top))
      max(18px, env(safe-area-inset-right))
      max(22px, env(safe-area-inset-bottom))
      max(18px, env(safe-area-inset-left));
  }

  .fields {
    gap: 0;
  }

  .issue-table {
    border-radius: 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Чат задачи: максимум места истории, компактный композер в стиле рабочей консоли. */
.side-panel.task-chat-dialog {
  inset: 0;
  width: min(1180px, calc(100vw - 40px));
  height: min(860px, calc(100dvh - 40px));
  max-width: none;
  max-height: none;
  margin: auto;
  padding: 0;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-large);
}

.task-chat-page {
  width: 100%;
  max-width: 1280px;
  height: 100dvh;
  min-height: 0;
  padding: 0 max(20px, env(safe-area-inset-right)) 0 max(20px, env(safe-area-inset-left));
  gap: 0;
  overflow: hidden;
  background: var(--surface);
}

.chat-header {
  min-height: 56px;
  padding: 6px 14px;
  border-bottom: 1px solid var(--line);
  background: rgb(251 252 248 / 96%);
}

.chat-heading {
  min-width: 0;
}

.chat-header h2 {
  overflow: hidden;
  font-size: 17px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chat-header .chat-summary {
  max-width: 72ch;
  margin-top: 2px;
  overflow: hidden;
  color: var(--muted-strong);
  font-size: 11.5px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chat-header-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.chat-header-actions .text-button {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 8px;
  font-size: 11.5px;
}

.chat-header-actions button {
  min-height: 36px;
  padding: 6px 10px;
  font-size: 11.5px;
}

.chat-tabs {
  flex: 0 0 auto;
  gap: 2px;
  min-height: 37px;
  padding: 0 14px;
  border-bottom: 1px solid var(--line);
  background: var(--surface-muted);
}

.chat-tabs button {
  min-height: 36px;
  padding: 6px 10px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: var(--muted-strong);
  font-size: 12px;
}

.chat-tabs button:hover:not(:disabled) {
  border-bottom-color: var(--line-strong);
  background: transparent;
  transform: none;
}

.chat-tabs button[aria-pressed="true"] {
  border-bottom-color: var(--brand);
  background: transparent;
  color: var(--ink);
}

.chat-discussion,
.chat-context {
  flex: 1;
  min-height: 0;
  padding: 0;
  border: 0;
}

.chat-discussion {
  overflow: hidden;
}

.chat-context {
  overflow: auto;
  padding: 18px 22px max(24px, env(safe-area-inset-bottom));
  scroll-padding-block: 18px 100px;
}

.chat-sources {
  flex: 0 0 auto;
  border-bottom: 1px solid var(--line);
  background: var(--surface-muted);
  color: var(--muted-strong);
  font-size: 11px;
}

.chat-sources summary {
  width: fit-content;
  min-height: 36px;
  padding: 7px 16px;
  cursor: pointer;
  font-weight: 600;
  list-style-position: inside;
}

.chat-sources-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
  padding: 0 20px 10px;
}

.chat-sources-list .hint {
  margin: 0;
  font-size: 11px;
  line-height: 1.45;
}

.chat-messages {
  min-height: 0;
  padding: 0 20px;
  scroll-padding-block: 16px;
  scrollbar-gutter: stable;
}

.chat-message {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 5px 18px;
  padding: 14px 2px;
}

.chat-message-label {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: 3px;
  margin: 0;
  font-size: 11px;
  line-height: 1.35;
}

.chat-message-label strong {
  font-size: 12.5px;
}

.chat-message-text {
  min-width: 0;
  font-size: 13.5px;
  line-height: 1.55;
}

.chat-message > .muted,
.chat-message > .chat-error,
.chat-message > .text-button {
  grid-column: 2;
  justify-self: start;
  margin-block: 3px 0;
}

.chat-message .text-button {
  min-height: 36px;
}

.chat-empty {
  margin-block: clamp(48px, 13vh, 120px);
  font-size: 13px;
  text-align: center;
}

.chat-discussion > .hint[role="status"] {
  flex: 0 0 auto;
  margin: 0;
  padding: 5px 20px;
  border-top: 1px solid var(--line);
  background: var(--surface-muted);
  color: var(--muted-strong);
}

.chat-discussion > .hint[role="status"]:empty {
  display: none;
}

.chat-composer {
  flex: 0 0 auto;
  gap: 5px;
  padding: 8px 10px max(8px, env(safe-area-inset-bottom));
  border-top: 1px solid var(--line);
  background: var(--surface);
}

.chat-input-shell {
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: var(--radius-medium);
  background: var(--surface-raised);
  box-shadow: 0 8px 24px rgb(23 37 31 / 8%);
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.chat-input-shell:focus-within {
  border-color: var(--focus);
  box-shadow: 0 0 0 3px rgb(25 117 83 / 13%), 0 8px 24px rgb(23 37 31 / 8%);
}

.task-chat-dialog .chat-composer textarea,
.task-chat-page .chat-composer textarea {
  display: block;
  width: 100%;
  height: 48px;
  min-height: 48px;
  max-height: 144px;
  padding: 10px 12px 6px;
  overflow-y: auto;
  resize: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 14px;
  line-height: 1.45;
}

.task-chat-dialog .chat-composer textarea:focus,
.task-chat-dialog .chat-composer textarea:focus-visible,
.task-chat-page .chat-composer textarea:focus,
.task-chat-page .chat-composer textarea:focus-visible {
  outline: 0;
  box-shadow: none;
}

.chat-composer-toolbar {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 8px;
  padding: 5px;
  border-top: 1px solid var(--line);
}

.chat-choices {
  display: grid;
  flex: 1 1 520px;
  grid-template-columns: minmax(190px, 1fr) minmax(138px, 180px);
  gap: 6px;
  max-width: 660px;
}

.chat-choices select,
.chat-composer-toolbar button {
  min-height: 36px;
  height: 36px;
  padding-block: 5px;
  font-size: 11.5px;
}

.chat-composer-toolbar .actions {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 6px;
}

.chat-composer-toolbar .actions button {
  padding-inline: 10px;
}

.chat-composer-note {
  min-height: 16px;
  margin: 0 4px;
  overflow: hidden;
  color: var(--muted-strong);
  font-size: 10.5px !important;
  line-height: 1.35 !important;
  text-overflow: ellipsis;
  white-space: nowrap;
}

@media (max-width: 700px) {
  .side-panel.task-chat-dialog {
    width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .task-chat-page {
    padding-inline: 0;
  }

  .chat-header {
    min-height: 64px;
    padding: max(8px, env(safe-area-inset-top)) 10px 8px;
  }

  .chat-header h2 {
    font-size: 15px;
  }

  .chat-header .chat-summary {
    max-width: 42vw;
    font-size: 11px;
  }

  .chat-header-actions {
    gap: 2px;
  }

  .chat-header-actions .text-button,
  .chat-header-actions button {
    min-height: 44px;
    padding-inline: 8px;
    font-size: 11px;
  }

  .chat-tabs {
    min-height: 43px;
    padding-inline: 10px;
  }

  .chat-tabs button {
    min-height: 44px;
    padding-inline: 9px;
    font-size: 11px;
  }

  .chat-sources summary {
    min-height: 44px;
    padding-inline: 12px;
  }

  .chat-sources-list {
    grid-template-columns: 1fr;
    padding-inline: 12px;
  }

  .chat-messages {
    padding-inline: 12px;
  }

  .chat-message {
    display: block;
    padding-block: 12px;
  }

  .chat-message-label {
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 6px;
  }

  .chat-message-text {
    font-size: 14px;
  }

  .chat-message > .muted,
  .chat-message > .chat-error,
  .chat-message > .text-button {
    margin-top: 6px;
  }

  .chat-message .text-button {
    min-height: 44px;
  }

  .chat-composer {
    padding: 8px 8px max(8px, env(safe-area-inset-bottom));
  }

  .task-chat-dialog .chat-composer textarea,
  .task-chat-page .chat-composer textarea {
    height: 52px;
    min-height: 52px;
    font-size: 16px;
  }

  .chat-composer-toolbar {
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px;
  }

  .chat-choices {
    flex-basis: 100%;
    grid-template-columns: minmax(0, 1fr) minmax(112px, 35%);
    gap: 8px;
    max-width: none;
  }

  .chat-choices select,
  .chat-composer-toolbar button {
    min-height: 44px;
    height: 44px;
  }

  .chat-composer-toolbar .actions {
    width: 100%;
    gap: 8px;
  }

  .chat-composer-toolbar .actions button {
    flex: 1;
  }

  .chat-composer-note {
    min-height: 0;
    white-space: normal;
  }

  .chat-context {
    padding: 14px 12px max(18px, env(safe-area-inset-bottom));
  }
}

@media (max-width: 430px) {
  .chat-header-actions .text-button {
    max-width: 72px;
    text-align: center;
  }

  .chat-header .chat-summary {
    max-width: 34vw;
  }
}

@media (max-height: 560px) {
  .side-panel.task-chat-dialog {
    width: 100vw;
    height: 100dvh;
    border: 0;
    border-radius: 0;
  }

  .chat-header {
    min-height: 56px;
    padding-block: max(6px, env(safe-area-inset-top)) 6px;
  }

  .chat-header .chat-summary {
    display: none;
  }

  .chat-header-actions .text-button,
  .chat-header-actions button,
  .chat-tabs button,
  .chat-message .text-button,
  .chat-choices select,
  .chat-composer-toolbar button {
    min-height: 44px;
    height: 44px;
  }

  .chat-sources {
    display: none;
  }

  .chat-composer {
    gap: 2px;
    padding-block: 5px max(5px, env(safe-area-inset-bottom));
  }

  .task-chat-dialog .chat-composer textarea,
  .task-chat-page .chat-composer textarea {
    height: 44px;
    min-height: 44px;
    max-height: 96px;
    padding-block: 10px 6px;
    font-size: 16px;
  }

  .chat-composer-toolbar {
    gap: 8px;
    padding: 4px;
  }

  .chat-choices,
  .chat-composer-toolbar .actions {
    gap: 8px;
  }

  .chat-composer-note {
    min-height: 13px;
    font-size: 10px !important;
  }
}
