/* Approved Figma 07 · AI · Чат: shared 1100px shell, current pair, bottom composer. */
.page-shell--ai {--ai-gradient:linear-gradient(135deg,#148345,#175932);width:100%;max-width:none;height:100vh;height:100dvh;min-height:0;padding:0;margin:0;display:flex;flex-direction:column;overflow:hidden;color:var(--text);background:var(--page)}
.ai-main {display:flex;flex-direction:column;flex:1;min-height:0;width:var(--site-fluid-width);max-width:var(--site-width);margin:0 auto}
.ai-identity {display:flex;align-items:center;gap:8px;min-height:64px;flex:none}
.ai-identity h1 {font:800 26px/32px var(--heading);letter-spacing:-1px;background:linear-gradient(163deg,#148345,#175932);color:transparent;background-clip:text;-webkit-background-clip:text}
.ai-identity>span {font:500 10px/14px var(--heading);letter-spacing:.5px;color:var(--muted);padding:3px 6px;border-radius:12px;background:var(--green)}
.ai-conversation {flex:1;min-height:0;display:flex;flex-direction:column;gap:16px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:8px 0 16px;scrollbar-width:thin}
.ai-user-row,.ai-answer-row {display:flex;flex:none;width:100%;align-items:flex-start}
.ai-user-row {justify-content:flex-end}
.ai-message {display:flex;flex-direction:column;gap:8px;flex:none;width:min(740px,calc(100% - 24px));padding:16px;border:1px solid var(--border);border-radius:20px 20px 20px 12px;overflow-wrap:anywhere;background:var(--subtle);color:var(--text);font:400 14px/22px var(--body)}
.ai-message h2 {font:600 13px/20px var(--heading);color:var(--brand)}
.ai-message>p {white-space:pre-line}
.ai-message--user {border-radius:20px 20px 12px 20px;background:var(--green)}
.ai-message--user h2 {color:var(--muted)}
.ai-job-result {display:flex;flex-direction:column;gap:8px;min-width:0;background:transparent}
.ai-message .ai-meta {font:400 11px/16px var(--body);color:var(--muted)}
.ai-compose-zone {flex:none;padding:12px 0 max(20px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:8px;background:white}
.ai-composer {display:flex;align-items:center;gap:12px;padding:12px;border:1.5px solid transparent;border-radius:20px;background:linear-gradient(white,white) padding-box,var(--ai-gradient) border-box}
.ai-composer textarea {display:block;flex:1;min-width:0;min-height:22px;max-height:132px;padding:0;border:0;outline:0;background:transparent;resize:none;font:400 14px/22px var(--body);color:var(--text);overflow-y:auto;scrollbar-width:thin}
.ai-composer textarea::placeholder {color:var(--muted);opacity:1}
.ai-composer:focus-within {box-shadow:0 0 0 2px #14834514}
.ai-send {display:flex;align-items:center;justify-content:center;flex:none;width:40px;height:40px;min-height:40px;padding:0;border-radius:12px;background:var(--ai-gradient)}
.ai-send img {display:block;width:20px;height:20px}
.ai-send .ai-send-disabled {display:none}
.ai-send:disabled {background:var(--green)}
.ai-send:disabled .ai-send-disabled {display:block}
.ai-send:disabled .ai-send-active {display:none}
.ai-intro-notes {display:flex;flex-direction:column;gap:8px;margin-top:8px;padding:12px;border-left:3px solid var(--brand);border-radius:0 12px 12px 0;background:var(--page)}
.ai-intro-notes h3 {font:600 12px/18px var(--heading);color:var(--brand-text)}
.ai-history-note,.ai-privacy-note {margin:0;font:400 12px/18px var(--body);color:var(--muted);text-align:left}
.ai-retry {align-self:flex-start;padding:4px 0;color:var(--brand-text);font-weight:600;text-decoration:underline}
.ai-wait {display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ai-dots {display:inline-flex;gap:4px;align-items:center;height:20px}
.ai-dots i {width:5px;height:5px;border-radius:50%;background:var(--brand);animation:ai-pulse 1.2s infinite}
.ai-dots i:nth-child(2) {animation-delay:.15s}.ai-dots i:nth-child(3) {animation-delay:.3s}
@keyframes ai-pulse {0%,70%,100%{opacity:.25;transform:translateY(0)}35%{opacity:1;transform:translateY(-3px)}}
.ai-market-group {display:flex;flex-direction:column;gap:8px;padding:12px 0;border-top:1px solid var(--border)}
.ai-market-group h2 {color:var(--brand-text)}
.ai-metrics {display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0}
.ai-metrics dt {font:400 11px/16px var(--body);color:var(--muted)}
.ai-metrics dd {margin:2px 0 0;font:600 14px/20px var(--heading);color:var(--text)}
.ai-data-note {color:var(--secondary)}
body:has(.page-shell--ai) .vacancy-detail-dialog .s-panel-header,body:has(.page-shell--ai) .city-dialog .dialog-heading {position:static;top:auto}
body:has(.page-shell--ai) .city-dialog .city-options {max-height:none;overflow:visible}
.action-dialog--ai-vacancy {animation:ai-sheet-in .2s ease-out}
@keyframes ai-sheet-in {from{transform:translateY(30px);opacity:.5}to{transform:translateY(0);opacity:1}}
@media(min-width:900px){.ai-message {font-size:16px;line-height:24px}}
@media(prefers-reduced-motion:reduce){.ai-dots i,.action-dialog--ai-vacancy{animation:none}}
.ai-match-reason {color:var(--secondary);font-size:13px;line-height:20px}
.ai-next-step,.ai-question {white-space:pre-line}
.ai-question {font-weight:600}
.ai-direction {display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--border);border-radius:12px;background:white}
.ai-direction h3 {font:600 13px/20px var(--heading);color:var(--brand-text)}
