.cp-page { overflow-x: hidden; }
.cp-page main { background: var(--concrete); color: var(--ink); }
.cp-page .float { display: none; }
.cp-page .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.cp-crumb { display: flex; gap: 11px; align-items: center; min-height: 40px; color: var(--muted); font-family: var(--f-mono); font-size: 10px; letter-spacing: .08em; }
.cp-crumb a:hover { color: var(--accent-deep); }
.cp-page .eyebrow { color: var(--accent-deep); font-family: var(--f-mono); font-size: 11px; letter-spacing: .09em; }
.cp-ai { padding: 0 0 clamp(54px,7vw,96px); scroll-margin-top: 76px; background: var(--ink); color: var(--text-dark); }
.cp-ai__shell { display: grid; grid-template-columns: minmax(330px,.76fr) minmax(560px,1.24fr); min-height: min(720px,calc(100dvh - 112px)); padding: 0; border: 1px solid var(--line-dark); background: #191b20; }
.cp-ai__intro { display: flex; flex-direction: column; min-width: 0; padding: clamp(36px,4.4vw,68px); border-right: 1px solid var(--line-dark); background: #191b20; }
.cp-ai__intro .eyebrow { color: var(--accent); }
.cp-ai__intro h1 { margin-top: clamp(28px,5vh,54px); color: var(--text-dark); font-size: clamp(36px,3vw,44px); line-height: .95; letter-spacing: -.035em; }
.cp-ai__intro > p { max-width: 470px; margin: 25px 0 0; color: rgba(236,235,230,.68); font-size: clamp(16px,1.35vw,19px); line-height: 1.55; }
.cp-ai__facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; margin-top: auto; background: var(--line-dark); border: 1px solid var(--line-dark); }
.cp-ai__facts > div { min-width: 0; padding: 15px 14px; background: #15171c; }
.cp-ai__facts b,.cp-ai__facts span { display: block; }
.cp-ai__facts b { color: var(--text-dark); font: 700 12px/1.25 var(--f-head); }
.cp-ai__facts span { margin-top: 7px; color: #898d87; font: 9px/1.35 var(--f-mono); letter-spacing: .05em; }
.cp-ai__intro-actions { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 24px; }
.cp-ai__intro-actions a { padding-bottom: 4px; border-bottom: 1px solid rgba(236,235,230,.36); color: rgba(236,235,230,.7); font: 10px var(--f-mono); letter-spacing: .05em; }
.cp-ai__intro-actions a:hover { border-color: var(--accent); color: var(--text-dark); }
.cp-ai__mode { color: var(--accent); font: 10px var(--f-mono); letter-spacing: .08em; }
.cp-ai button:focus-visible,.cp-ai input:focus-visible,.cp-ai textarea:focus-visible,.cp-ai select:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.cp-ai-result__fields label { display: block; color: rgba(236,235,230,.66); font: 10px var(--f-mono); letter-spacing: .06em; }
.cp-ai textarea,.cp-ai input,.cp-ai select { border-radius: 0; }
.cp-ai textarea { width: 100%; padding: 18px; resize: vertical; border: 1px solid var(--line-dark); outline: 0; background: #101216; color: var(--text-dark); font: 15px/1.55 var(--f-body); }
.cp-ai textarea::placeholder,.cp-ai input::placeholder { color: rgba(236,235,230,.42); }
.cp-chat { display: flex; flex-direction: column; min-width: 0; min-height: 100%; margin: 0; border: 0; background: #101216; }
.cp-chat__bar { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; padding: 14px 18px; border-bottom: 1px solid var(--line-dark); background: #15171c; }
.cp-chat__identity { display: flex; align-items: center; gap: 13px; min-width: 0; }
.cp-chat__identity > span { display: grid; flex: 0 0 42px; place-items: center; width: 42px; height: 42px; border: 1px solid var(--accent); color: var(--accent); font: 700 13px var(--f-mono); }
.cp-chat__identity strong,.cp-chat__identity small { display: block; }
.cp-chat__identity strong { color: var(--text-dark); font: 700 14px var(--f-head); }
.cp-chat__identity small { margin-top: 5px; color: #9aa099; font: 9px var(--f-mono); letter-spacing: .06em; }
.cp-chat__bar > button { padding: 5px 0; border: 0; border-bottom: 1px solid #777b76; background: transparent; color: #b7b8b3; font: 9px var(--f-mono); letter-spacing: .05em; cursor: pointer; }
.cp-chat__messages { display: flex; flex: 1 1 360px; flex-direction: column; gap: 18px; min-height: 300px; max-height: 470px; padding: clamp(20px,3vw,32px); overflow-y: auto; overscroll-behavior: contain; scrollbar-color: #45484e #101216; }
.cp-chat__message { width: min(76%,650px); }
.cp-chat__message > span { display: block; margin-bottom: 7px; color: #8c908a; font: 9px var(--f-mono); letter-spacing: .07em; }
.cp-chat__message p { margin: 0; padding: 14px 16px; border: 1px solid var(--line-dark); background: #191b20; color: var(--text-dark); font-size: 15px; line-height: 1.55; }
.cp-chat__message--assistant { align-self: flex-start; }
.cp-chat__message--assistant p { border-left: 2px solid var(--accent); }
.cp-chat__message--user { align-self: flex-end; }
.cp-chat__message--user > span { text-align: right; }
.cp-chat__message--user p { border-color: rgba(255,90,31,.55); background: rgba(255,90,31,.1); }
.cp-chat__message--ready { width: min(92%,700px); }
.cp-chat__ready { padding: 16px; border: 1px solid var(--line-dark); border-left: 2px solid var(--accent); background: #191b20; }
.cp-chat__message--ready .cp-chat__ready p { padding: 0; border: 0; background: transparent; }
.cp-chat__ready strong { color: var(--text-dark); font-weight: 700; }
.cp-chat__ready small { display: block; margin-top: 9px; color: #9ca099; font: 10px/1.5 var(--f-mono); }
.cp-chat__ready .btn { min-height: 46px; margin-top: 16px; padding: 0 18px; }
.cp-chat__ready .btn:disabled { opacity: .58; cursor: wait; }
.cp-chat__message.is-typing p { display: flex; align-items: center; gap: 5px; width: max-content; min-width: 58px; }
.cp-chat__message.is-typing i { width: 6px; height: 6px; background: var(--accent); opacity: .35; animation: cp-chat-pulse 1.1s infinite ease-in-out; }
.cp-chat__message.is-typing i:nth-child(2) { animation-delay: .15s; }
.cp-chat__message.is-typing i:nth-child(3) { animation-delay: .3s; }
@keyframes cp-chat-pulse { 50% { opacity: 1; transform: translateY(-2px); } }
.cp-chat__composer { padding: 18px; border-top: 1px solid var(--line-dark); background: #15171c; }
.cp-chat__composer textarea { min-height: 78px; max-height: 210px; resize: vertical; }
.cp-chat__skip-note { margin: 9px 0 0; color: #92968f; font: 10px/1.45 var(--f-mono); }
.cp-voice-live { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 16px; align-items: center; min-height: 72px; margin-top: 12px; padding: 9px 12px; border: 1px solid rgba(255,90,31,.72); background: #101216; }
.cp-voice-live[hidden] { display: none; }
.cp-voice-live canvas { display: block; width: 100%; height: 52px; }
.cp-voice-live > div { min-width: 72px; padding-left: 14px; border-left: 1px solid var(--line-dark); }
.cp-voice-live strong,.cp-voice-live span { display: block; }
.cp-voice-live strong { color: var(--text-dark); font: 700 15px var(--f-mono); font-variant-numeric: tabular-nums; }
.cp-voice-live span { margin-top: 6px; color: var(--accent); font: 9px var(--f-mono); letter-spacing: .06em; }
.cp-voice-live.is-recording { box-shadow: inset 3px 0 var(--accent); }
.cp-voice-live.is-processing span { color: #bfc1bc; }
.cp-chat__tools { display: flex; align-items: center; gap: 10px; margin-top: 12px; }
.cp-chat__tool { position: relative; display: inline-flex; align-items: center; min-height: 42px; padding: 0 13px; border: 1px solid #484b50; background: transparent; color: #c1c1bd; font: 9px var(--f-mono); letter-spacing: .05em; cursor: pointer; }
.cp-chat__tool[hidden] { display: none; }
.cp-chat__tool:hover { border-color: var(--accent); color: var(--text-dark); }
.cp-chat__tool input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.cp-chat__tool-state { max-width: 160px; overflow: hidden; color: #8c908a; font: 9px var(--f-mono); text-overflow: ellipsis; white-space: nowrap; }
.cp-chat__tools .btn { min-height: 42px; margin-left: auto; padding-inline: 22px; }
.cp-chat__tools button:disabled,.cp-chat__tool:has(input:disabled) { opacity: .45; cursor: wait; }
.cp-ai__privacy { margin: 0 18px 12px; padding: 12px 14px; border-left: 2px solid var(--accent); background: #191b20; color: #92968f; font: 10px/1.5 var(--f-mono); }
.cp-ai__status { padding: 0 18px 18px; color: #9ca099; font-size: 12px; line-height: 1.45; }
.cp-ai__status[data-type="error"] { color: #ff9b78; }
.cp-ai__status[data-type="success"] { color: var(--text-dark); }
.cp-ai-result { grid-column: 1/-1; margin: 24px clamp(24px,4vw,48px) clamp(28px,4vw,48px); border: 1px solid var(--accent); scroll-margin-top: 88px; }
.cp-ai-result > header { display: flex; justify-content: space-between; gap: 24px; align-items: start; padding: 25px; border-bottom: 1px solid var(--line-dark); }
.cp-ai-result > header span { color: var(--accent); font: 10px var(--f-mono); }
.cp-ai-result > header h3 { margin-top: 10px; color: var(--text-dark); font-size: clamp(21px,2.5vw,32px); }
.cp-ai-result > header p { max-width: 560px; margin: 10px 0 0; color: rgba(236,235,230,.58); font-size: 13px; line-height: 1.5; }
.cp-ai-result > header button { border: 0; border-bottom: 1px solid rgba(236,235,230,.45); background: transparent; color: rgba(236,235,230,.68); font: 10px var(--f-mono); cursor: pointer; }
.cp-ai-result__warning { padding: 16px 24px; border-bottom: 1px solid var(--line-dark); background: rgba(255,90,31,.09); color: #ffc0aa; font-size: 13px; line-height: 1.5; }
.cp-ai-result__fields { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1px; background: var(--line-dark); }
.cp-ai-result__fields label { min-width: 0; padding: 15px; background: #15171c; }
.cp-ai-result__fields label span { display: block; margin-bottom: 8px; }
.cp-ai-result__fields input,.cp-ai-result__fields select { width: 100%; min-height: 46px; padding: 10px 11px; border: 1px solid var(--line-dark); outline: 0; background: #101216; color: var(--text-dark); font: 14px var(--f-body); }
.cp-ai-result__fields select { color-scheme: dark; }
.cp-ai-result__detail { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--line-dark); border-top: 1px solid var(--line-dark); }
.cp-ai-result__detail > section,.cp-ai-result__detail > details { min-width: 0; padding: 24px; background: #15171c; }
.cp-ai-result__detail h4 { color: rgba(236,235,230,.58); font: 10px var(--f-mono); letter-spacing: .06em; }
.cp-ai-result__detail summary { color: rgba(236,235,230,.58); font: 10px var(--f-mono); letter-spacing: .06em; cursor: pointer; }
.cp-ai-result__detail details[open] summary { color: var(--accent); }
#cpAiWorks,#cpAiEvidence { display: grid; gap: 10px; margin-top: 16px; }
#cpAiWorks > div { padding-left: 13px; border-left: 2px solid var(--accent); color: var(--text-dark); font-size: 13px; line-height: 1.4; }
#cpAiWorks > p,#cpAiEvidence > p { margin: 0; color: rgba(236,235,230,.52); font-size: 13px; line-height: 1.45; }
#cpAiEvidence article { padding-bottom: 10px; border-bottom: 1px solid var(--line-dark); }
#cpAiEvidence article:last-child { padding-bottom: 0; border-bottom: 0; }
#cpAiEvidence b,#cpAiEvidence span { display: block; }
#cpAiEvidence b { color: var(--accent); font: 10px var(--f-mono); }
#cpAiEvidence span { margin-top: 4px; color: rgba(236,235,230,.46); font: 9px var(--f-mono); }
#cpAiEvidence p { margin: 7px 0 0; color: rgba(236,235,230,.72); font-size: 12px; line-height: 1.45; }
.cp-ai-result__question { padding: 18px 24px; border-top: 1px solid var(--line-dark); color: var(--text-dark); font-size: 14px; line-height: 1.5; }
.cp-ai-result__question::before { content: "НУЖНО УТОЧНИТЬ"; display: block; margin-bottom: 7px; color: var(--accent); font: 9px var(--f-mono); }
.cp-ai-result__foot { display: flex; align-items: center; justify-content: flex-end; gap: 18px; padding: 22px 24px; border-top: 1px solid var(--line-dark); }
.cp-ai-result__foot span { flex: 1; color: #ff9b78; font-size: 13px; }
.cp-ai-result__manual { padding: 11px 0; border: 0; border-bottom: 1px solid rgba(236,235,230,.38); background: transparent; color: rgba(236,235,230,.68); font: 10px var(--f-mono); letter-spacing: .04em; cursor: pointer; }
.cp-ai-result__manual:hover { border-color: var(--accent); color: var(--text-dark); }

.cp-workspace { padding: clamp(42px,5vw,70px) 0 clamp(52px,7vw,100px); background: var(--ink); color: var(--text-dark); }
.cp-workspace[hidden] { display: none; }
.cp-workspace .btn--ghost { border-color: var(--text-dark); background: transparent; color: var(--text-dark); }
.cp-workspace .btn--ghost:hover { border-color: var(--accent); background: var(--text-dark); color: var(--ink); }
.cp-workspace .btn--ghost:disabled { border-color: var(--line-dark); color: rgba(236,235,230,.5); }
.cp-workspace__grid { display: grid; grid-template-columns: minmax(230px,.34fr) minmax(0,1fr); gap: clamp(28px,4vw,64px); }
.cp-rail { position: sticky; top: 100px; align-self: start; }
.cp-rail ol { margin: 34px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--line-dark); }
.cp-rail li { display: grid; grid-template-columns: 40px 1fr; gap: 12px; padding: 18px 0; border-bottom: 1px solid var(--line-dark); color: rgba(236,235,230,.42); }
.cp-rail li b { font-family: var(--f-mono); font-size: 11px; font-weight: 400; }
.cp-rail li span { font-family: var(--f-head); font-size: 13px; font-weight: 700; line-height: 1; }
.cp-rail li small { display: block; margin-top: 6px; font-family: var(--f-body); font-size: 12px; font-weight: 400; text-transform: none; }
.cp-rail li.is-active { color: var(--text-dark); }
.cp-rail li.is-active b { color: var(--accent); }
.cp-rail li.is-done { color: rgba(236,235,230,.72); }
.cp-rail__note { margin-top: 28px; padding: 18px; border: 1px solid var(--line-dark); }
.cp-rail__note span { color: var(--accent); font-family: var(--f-mono); font-size: 10px; letter-spacing: .08em; }
.cp-rail__note p { margin: 10px 0 0; color: rgba(236,235,230,.66); font-size: 13px; line-height: 1.55; }
.cp-panel { min-width: 0; border: 1px solid var(--line-dark); background: #191b20; }
.cp-progress { height: 4px; background: rgba(255,255,255,.07); }
.cp-progress span { display: block; width: 20%; height: 100%; background: var(--accent); transition: width .22s ease; }
.cp-step { padding: clamp(26px,4vw,54px); }
.cp-step[hidden] { display: none; }
.cp-step header { max-width: 780px; }
.cp-step__num { color: var(--accent); font-family: var(--f-mono); font-size: 10px; letter-spacing: .08em; }
.cp-step h2 { margin-top: 18px; color: var(--text-dark); font-size: clamp(27px,3.4vw,47px); line-height: 1; }
.cp-step header > p { margin: 18px 0 0; color: rgba(236,235,230,.62); font-size: 16px; line-height: 1.55; }
.cp-fields { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; margin-top: 35px; }
.cp-field--wide { grid-column: 1/-1; }
.cp-field span { display: block; margin-bottom: 8px; color: rgba(236,235,230,.62); font-family: var(--f-mono); font-size: 10px; letter-spacing: .06em; }
.cp-field input,.cp-field select,.cp-toolbar input { width: 100%; min-height: 54px; padding: 13px 15px; border: 1px solid var(--line-dark); border-radius: 0; outline: 0; background: #14161a; color: var(--text-dark); font: 15px var(--f-body); }
.cp-field input:focus,.cp-field select:focus,.cp-toolbar input:focus { border-color: var(--accent); }
.cp-field select { color-scheme: dark; }
.cp-step__foot { display: flex; align-items: center; justify-content: flex-end; gap: 14px; min-height: 58px; margin-top: 35px; padding-top: 24px; border-top: 1px solid var(--line-dark); }
.cp-error { flex: 1; color: #ff8c65; font-size: 13px; line-height: 1.4; }
.cp-back { padding: 12px 0; border: 0; background: transparent; color: rgba(236,235,230,.68); font: 11px var(--f-mono); letter-spacing: .07em; cursor: pointer; }
.cp-back:hover { color: var(--text-dark); }
.cp-presets { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 34px; }
.cp-preset { position: relative; min-height: 134px; padding: 22px; border: 1px solid var(--line-dark); background: transparent; color: var(--text-dark); text-align: left; cursor: pointer; }
.cp-preset:hover,.cp-preset.is-active { border-color: var(--accent); background: rgba(255,90,31,.07); }
.cp-preset b { display: block; padding-right: 26px; font-family: var(--f-head); font-size: 15px; line-height: 1.16; text-transform: uppercase; }
.cp-preset span { display: block; margin-top: 11px; color: rgba(236,235,230,.58); font-size: 13px; line-height: 1.45; }
.cp-preset i { position: absolute; top: 20px; right: 20px; width: 15px; height: 15px; border: 1px solid rgba(236,235,230,.4); border-radius: 50%; }
.cp-preset.is-active i { border: 4px solid var(--accent); }
.cp-toolbar { display: grid; grid-template-columns: 1fr auto; gap: 10px; margin-top: 32px; }
.cp-catalog-toggle { padding: 0 18px; border: 1px solid var(--accent); background: transparent; color: var(--accent); font: 11px var(--f-mono); letter-spacing: .06em; cursor: pointer; }
.cp-catalog { margin-top: 12px; border: 1px solid var(--line-dark); background: #101216; }
.cp-catalog__head { display: flex; justify-content: space-between; align-items: center; padding: 15px 17px; border-bottom: 1px solid var(--line-dark); }
.cp-catalog__head strong,.cp-catalog__head button { color: var(--text-dark); font: 10px var(--f-mono); letter-spacing: .07em; }
.cp-catalog__head button { border: 0; background: transparent; cursor: pointer; }
.cp-catalog section { border-bottom: 1px solid var(--line-dark); }
.cp-catalog section:last-child { border-bottom: 0; }
.cp-catalog h3 { padding: 15px 17px 8px; color: rgba(236,235,230,.72); font: 11px var(--f-mono); letter-spacing: .05em; }
.cp-catalog__items { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line-dark); }
.cp-catalog-item { display: grid; grid-template-columns: 24px 1fr auto; gap: 10px; align-items: start; min-height: 72px; padding: 13px; border: 0; background: #15171c; color: var(--text-dark); text-align: left; cursor: pointer; }
.cp-catalog-item:hover,.cp-catalog-item.is-added { background: #22242a; }
.cp-catalog-item i { color: var(--accent); font: normal 11px var(--f-mono); }
.cp-catalog-item span { font-size: 13px; line-height: 1.35; }
.cp-catalog-item small { color: rgba(236,235,230,.48); font: 10px var(--f-mono); white-space: nowrap; }
.cp-selected { margin-top: 16px; border-top: 1px solid var(--line-dark); }
.cp-empty { display: flex; flex-direction: column; gap: 8px; padding: 34px 18px; color: rgba(236,235,230,.4); text-align: center; }
.cp-empty b { font: 12px var(--f-head); }
.cp-empty span { font-size: 13px; }
.cp-line { display: grid; grid-template-columns: 1fr 122px 126px 34px; gap: 12px; align-items: center; padding: 16px 0; border-bottom: 1px solid var(--line-dark); }
.cp-line__name b { display: block; color: var(--text-dark); font-size: 14px; line-height: 1.35; }
.cp-line__name span { display: block; margin-top: 6px; color: rgba(236,235,230,.46); font: 10px var(--f-mono); }
.cp-line label { display: flex; align-items: center; border: 1px solid var(--line-dark); }
.cp-line input { min-width: 0; width: 100%; height: 42px; padding: 8px; border: 0; outline: 0; background: #101216; color: var(--text-dark); font: 14px var(--f-mono); }
.cp-line label span { padding-right: 9px; color: rgba(236,235,230,.48); font: 10px var(--f-mono); }
.cp-line__rate { color: var(--accent); font: 11px var(--f-mono); line-height: 1.35; text-align: right; }
.cp-line__remove { width: 34px; height: 34px; border: 1px solid var(--line-dark); background: transparent; color: rgba(236,235,230,.6); cursor: pointer; }
.cp-included { margin-top: 30px; padding: 18px 20px; border: 1px solid rgba(222,90,45,.55); background: rgba(222,90,45,.06); }
.cp-included b { color: var(--accent); font: 10px var(--f-mono); letter-spacing: .06em; }
.cp-included p { margin: 9px 0 0; color: rgba(236,235,230,.7); font-size: 13px; line-height: 1.5; }
.cp-expenses { display: grid; gap: 1px; margin-top: 16px; background: var(--line-dark); border: 1px solid var(--line-dark); }
.cp-expense { display: grid; grid-template-columns: 1fr 210px; gap: 18px; align-items: center; padding: 15px 17px; background: #15171c; }
.cp-expense.is-selected { background: #1e2025; }
.cp-expense > label:first-child { display: flex; gap: 13px; align-items: flex-start; cursor: pointer; }
.cp-expense input[type="checkbox"] { width: 17px; height: 17px; margin-top: 2px; accent-color: var(--accent); }
.cp-expense b { display: block; color: var(--text-dark); font-size: 14px; line-height: 1.35; }
.cp-expense small { display: block; margin-top: 5px; color: rgba(236,235,230,.46); font-size: 11px; line-height: 1.4; }
.cp-expense__qty { display: grid; grid-template-columns: auto 1fr auto; align-items: center; border: 1px solid var(--line-dark); }
.cp-expense__qty > span,.cp-expense__qty > i { padding: 0 9px; color: rgba(236,235,230,.46); font: normal 9px var(--f-mono); }
.cp-expense__qty input { min-width: 0; width: 100%; height: 40px; padding: 7px; border: 0; outline: 0; background: #101216; color: var(--text-dark); font: 13px var(--f-mono); }
.cp-expense__qty input:disabled { opacity: .38; }
.cp-summary { margin-top: 32px; border-top: 1px solid var(--line-dark); }
.cp-summary__object { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: var(--line-dark); }
.cp-summary__object div { padding: 14px; background: #15171c; }
.cp-summary__object span { display: block; color: rgba(236,235,230,.45); font: 9px var(--f-mono); }
.cp-summary__object b { display: block; margin-top: 6px; color: var(--text-dark); font-size: 13px; }
.cp-summary h3 { margin: 24px 0 8px; color: var(--accent); font: 10px var(--f-mono); letter-spacing: .08em; }
.cp-summary__separate { display: grid; grid-template-columns: minmax(180px,.75fr) 1.25fr; gap: 18px; padding: 15px 8px; border-block: 1px solid var(--line-dark); }
.cp-summary__separate b { color: var(--text-dark); font-size: 13px; }
.cp-summary__separate span { color: rgba(236,235,230,.58); font-size: 12px; line-height: 1.45; }
.cp-summary table { width: 100%; border-collapse: collapse; }
.cp-summary th,.cp-summary td { padding: 14px 8px; border-bottom: 1px solid var(--line-dark); text-align: left; vertical-align: top; }
.cp-summary th { color: rgba(236,235,230,.45); font: 9px var(--f-mono); letter-spacing: .05em; }
.cp-summary td { color: var(--text-dark); font-size: 13px; line-height: 1.35; }
.cp-summary td:last-child,.cp-summary th:last-child { text-align: right; }
.cp-total { display: grid; grid-template-columns: 1fr auto; gap: 8px 20px; align-items: end; margin-top: 24px; padding: 24px; border: 1px solid var(--accent); }
.cp-total > span { color: rgba(236,235,230,.6); font: 10px var(--f-mono); letter-spacing: .06em; }
.cp-total strong { color: var(--accent); font: 800 clamp(23px,3.3vw,42px) var(--f-head); line-height: 1; text-align: right; }
.cp-total small { grid-column: 1/-1; color: rgba(236,235,230,.5); font-size: 12px; }
.cp-notice { display: grid; grid-template-columns: 90px 1fr; gap: 18px; margin-top: 16px; padding: 17px 20px; border: 1px solid var(--line-dark); }
.cp-notice b { color: var(--accent); font: 10px var(--f-mono); }
.cp-notice p { margin: 0; color: rgba(236,235,230,.58); font-size: 12px; line-height: 1.5; }
.cp-step__foot--final { flex-wrap: wrap; }

.cp-review { padding: clamp(54px,7vw,96px) 0; border-bottom: 1px solid var(--line); }
.cp-review__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,6vw,90px); align-items: center; }
.cp-review h2,.cp-explain h2 { margin-top: 22px; font-size: clamp(30px,4vw,56px); }
.cp-review__grid > div > p { max-width: 620px; margin: 24px 0 0; color: var(--muted); font-size: 17px; line-height: 1.6; }
.cp-review__card { padding: clamp(26px,4vw,48px); border: 1px solid var(--line); background: var(--surface); }
.cp-review__card > span { color: var(--accent-deep); font: 10px var(--f-mono); letter-spacing: .08em; }
.cp-review__card > strong { display: block; margin-top: 18px; font: 700 22px var(--f-head); }
.cp-review__card > p { margin: 14px 0 0; color: var(--muted); line-height: 1.5; }
.cp-review__card > div { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.cp-explain { padding: clamp(54px,7vw,100px) 0; border-bottom: 1px solid var(--line); }
.cp-explain__grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(36px,7vw,110px); }
.cp-explain__grid > div:last-child { padding-top: 32px; border-top: 1px solid var(--line); }
.cp-explain p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.65; }
.cp-explain p + p { margin-top: 20px; }

@media (max-width: 980px) {
  .cp-ai__shell { grid-template-columns: 1fr; min-height: 0; }
  .cp-ai__intro { border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .cp-ai__intro h1 { max-width: 680px; }
  .cp-ai__facts { margin-top: 42px; }
  .cp-chat { min-height: 650px; }
  .cp-workspace__grid { grid-template-columns: 1fr; }
  .cp-rail { position: static; }
  .cp-rail ol { display: grid; grid-template-columns: repeat(5,1fr); }
  .cp-rail li { grid-template-columns: 1fr; padding-right: 10px; }
  .cp-rail li small,.cp-rail__note { display: none; }
  .cp-review__grid,.cp-explain__grid { grid-template-columns: 1fr; }
  .cp-ai-result__fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 720px) {
  .cp-crumb { overflow: hidden; white-space: nowrap; }
  .cp-ai { padding-bottom: 48px; }
  .cp-ai__shell { border-inline: 0; }
  .cp-ai__intro { padding: 34px 18px 30px; }
  .cp-ai__intro h1 { margin-top: 26px; font-size: clamp(31px,9.2vw,36px); }
  .cp-ai__intro > p { font-size: 16px; }
  .cp-ai__facts { display: none; }
  .cp-ai__intro-actions { gap: 18px; }
  .cp-workspace { padding-block: 42px; }
  .cp-workspace__grid { padding-inline: 14px; }
  .cp-rail ol { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .cp-rail li { gap: 5px; }
  .cp-rail li span { font-size: 9px; overflow-wrap: anywhere; }
  .cp-step { padding: 23px 17px; }
  .cp-step h2 { font-size: 23px; overflow-wrap: anywhere; }
  .cp-fields,.cp-presets { grid-template-columns: 1fr; }
  .cp-field--wide { grid-column: auto; }
  .cp-step__foot { align-items: stretch; flex-direction: column-reverse; }
  .cp-step__foot .btn { width: 100%; }
  .cp-back { align-self: flex-start; }
  .cp-toolbar { grid-template-columns: 1fr; }
  .cp-catalog-toggle { min-height: 48px; }
  .cp-catalog__items { grid-template-columns: 1fr; }
  .cp-line { grid-template-columns: 1fr 105px 34px; }
  .cp-line__name { grid-column: 1/-1; }
  .cp-line__rate { text-align: left; }
  .cp-expense { grid-template-columns: 1fr; }
  .cp-expense__qty { width: 100%; }
  .cp-summary__object { grid-template-columns: 1fr; }
  .cp-summary { overflow: visible; }
  .cp-summary table,.cp-summary tbody,.cp-summary tr,.cp-summary td { display: block; width: 100%; }
  .cp-summary thead { display: none; }
  .cp-summary tr { padding: 10px 0; border-bottom: 1px solid var(--line-dark); }
  .cp-summary td { display: grid; grid-template-columns: 78px minmax(0,1fr); gap: 12px; padding: 7px 4px; border: 0; text-align: right; }
  .cp-summary td:last-child { text-align: right; }
  .cp-summary td::before { content: attr(data-label); color: rgba(236,235,230,.42); font: 9px var(--f-mono); text-align: left; }
  .cp-total { grid-template-columns: 1fr; }
  .cp-summary__separate { grid-template-columns: 1fr; gap: 7px; }
  .cp-total strong { text-align: left; }
  .cp-notice { grid-template-columns: 1fr; gap: 9px; }
  .cp-step__foot--final { flex-direction: column-reverse; }
  .cp-review__grid,.cp-explain__grid { padding-inline: 18px; }
  .cp-chat { width: 100%; min-height: 0; border-inline: 0; }
  .cp-chat__bar { align-items: flex-start; flex-direction: column; min-height: 68px; padding: 12px 14px; }
  .cp-chat__identity > span { flex-basis: 36px; width: 36px; height: 36px; }
  .cp-chat__identity strong { font-size: 12px; }
  .cp-chat__bar > button { font-size: 8px; }
  .cp-chat__messages { flex: 0 0 290px; min-height: 290px; max-height: 290px; padding: 18px 14px; }
  .cp-chat__message { width: 92%; }
  .cp-chat__message p { font-size: 14px; }
  .cp-chat__composer { padding: 14px; }
  .cp-voice-live { grid-template-columns: 1fr; gap: 8px; }
  .cp-voice-live > div { display: flex; align-items: center; justify-content: space-between; min-width: 0; padding: 8px 0 0; border-top: 1px solid var(--line-dark); border-left: 0; }
  .cp-voice-live span { margin-top: 0; }
  .cp-chat__tools { display: grid; grid-template-columns: 1fr 1fr; }
  .cp-chat__tool { justify-content: center; }
  .cp-chat__tool-state { grid-column: 1/-1; max-width: 100%; }
  .cp-chat__tools .btn { grid-column: 1/-1; width: 100%; margin-left: 0; }
  .cp-ai__privacy { margin: 0 14px 11px; }
  .cp-ai__status { padding: 0 14px 16px; }
  .cp-ai-result { margin-inline: 17px; }
  .cp-ai-result > header { flex-direction: column; }
  .cp-ai-result__fields,.cp-ai-result__detail { grid-template-columns: 1fr; }
  .cp-ai-result__foot { align-items: stretch; flex-direction: column; }
  .cp-ai-result__foot .btn { width: 100%; }
  .cp-ai-result__manual { align-self: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-progress span { transition: none; }
  .cp-chat__message.is-typing i { animation: none; }
  .cp-voice-live { box-shadow: none; }
}
