.forecast-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 14px;
}
.forecast-card {
  padding: 17px;
  background: linear-gradient(135deg, #1b1e25, #14161b);
  border: 1px solid var(--line);
  border-radius: 14px;
}
.forecast-card b,
.forecast-card span { display: block; }
.forecast-card b {
  font-size: 21px;
  margin: 8px 0;
}
.forecast-card span,
.forecast-card small { color: var(--muted); }
.competitor-row {
  display: grid;
  grid-template-columns: minmax(180px, 1.4fr) repeat(5, minmax(80px, .6fr));
  gap: 10px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  align-items: center;
}
.competitor-row span {
  color: var(--muted);
  font-size: 12px;
}
.competitor-row b {
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 1120px) {
  .forecast-grid { grid-template-columns: repeat(2, 1fr); }
  .competitor-row { grid-template-columns: 1fr 1fr 1fr; }
}
@media (max-width: 560px) {
  .forecast-grid { grid-template-columns: 1fr; }
  .competitor-row { grid-template-columns: 1fr 1fr; }
}
.business-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.business-card{border:1px solid var(--line);background:var(--card);border-radius:14px;padding:16px;display:grid;gap:8px}.business-card>span,.business-card small,.business-card div{color:var(--muted);font-size:12px}.business-card>b{font-size:22px}.funnel-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.funnel-grid article{background:#13151a;border:1px solid var(--line);padding:15px;border-radius:12px}.funnel-grid b,.funnel-grid span{display:block}.funnel-grid b{font-size:24px}.funnel-grid span{color:var(--muted);font-size:12px;margin-top:6px}.hunter-row,.cleaner-row,.change-row,.alert-row{border:1px solid var(--line);border-radius:11px;padding:13px;margin:9px 0;background:#13151a;display:flex;gap:12px;align-items:center;justify-content:space-between}.hunter-row div,.cleaner-row div,.change-row{min-width:0}.hunter-row b,.hunter-row span,.cleaner-row b,.cleaner-row span,.alert-row b,.alert-row span,.change-row b,.change-row span,.change-row code{display:block}.hunter-row span,.cleaner-row span,.alert-row span,.change-row span{color:var(--muted);font-size:12px;margin-top:5px}.hunter-row.confirmed{border-left:4px solid var(--green)}.budget-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.budget-strip>div{padding:14px;border:1px solid var(--line);border-radius:11px}.budget-strip span,.budget-strip b{display:block}.budget-strip span{color:var(--muted);font-size:12px}.budget-strip b{font-size:20px;margin-top:7px}.budget-strip.warning{border-left:4px solid var(--yellow)}.budget-strip.critical{border-left:4px solid var(--red)}.fact-note{color:var(--muted);line-height:1.5;padding:10px 0}.alert-row{display:block;border-left:4px solid var(--blue)}.alert-row.warning{border-left-color:var(--yellow)}.alert-row.critical{border-left-color:var(--red)}.critical-alerts:empty{display:none}.segment-block{display:grid;grid-template-columns:minmax(130px,.5fr) repeat(auto-fit,minmax(150px,1fr));gap:8px;padding:11px 0;border-bottom:1px solid var(--line)}.segment-block span{color:var(--muted)}.change-row{display:grid;justify-content:stretch}.change-row code{white-space:pre-wrap;overflow-wrap:anywhere;color:#b8c8ff;font-size:11px}
.ad-row,.landing-row{border:1px solid var(--line);border-radius:11px;padding:13px;margin:8px 0;background:#13151a;display:flex;justify-content:space-between;gap:12px}.ad-row b,.ad-row span,.landing-row b,.landing-row span{display:block}.ad-row span,.landing-row span{color:var(--muted);font-size:12px;margin-top:5px}.ad-row strong{color:var(--yellow);font-size:12px}.landing-row.ok{border-left:4px solid var(--green)}.landing-row.critical{border-left:4px solid var(--red)}
@media(max-width:1120px){.business-grid{grid-template-columns:repeat(2,1fr)}.funnel-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.business-grid,.budget-strip{grid-template-columns:1fr 1fr}.funnel-grid{grid-template-columns:1fr 1fr}.hunter-row,.cleaner-row{align-items:stretch;flex-direction:column}.hunter-row button,.cleaner-row button{width:100%;min-height:46px}.segment-block{grid-template-columns:1fr}.critical-alerts{margin-bottom:12px}}
.wizard-card form{max-width:980px}.wizard-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}select,textarea{width:100%;background:#0f1114;border:1px solid var(--line);border-radius:9px;color:var(--text);padding:11px;font:inherit}textarea{resize:vertical;line-height:1.45}.safe-badge{padding:7px 10px;border-radius:999px;background:#32d5831a;border:1px solid #32d58355;color:var(--green);font-size:12px;font-weight:800}.campaign-preview{display:grid;gap:14px}.preview-ad{max-width:720px;padding:18px;border:1px solid #3b4660;border-radius:14px;background:#f7f9fc;color:#202124}.preview-ad small,.preview-ad span{color:#5f6368}.preview-ad h3{color:#1558d6;font-size:21px;margin:8px 0 3px}.preview-ad h4{color:#1558d6;font-size:17px;margin:0 0 9px}.preview-ad p{margin:8px 0;line-height:1.45}.preview-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.preview-facts>div{padding:12px;border:1px solid var(--line);border-radius:10px;background:#13151a}.preview-facts span,.preview-facts b{display:block}.preview-facts span{color:var(--muted);font-size:11px;margin-bottom:6px}.campaign-preview details{color:var(--muted)}.campaign-draft{border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;padding:15px;margin:11px 0;background:#13151a}.campaign-draft.direct_draft{border-left-color:var(--yellow)}.campaign-draft.launched{border-left-color:var(--green)}.campaign-draft.daily_cap_suspended,.campaign-draft.launch_failed,.campaign-draft.materialize_failed{border-left-color:var(--red)}.draft-heading{display:flex;justify-content:space-between;gap:12px;align-items:start}.draft-heading b,.draft-heading span{display:block}.draft-heading span{color:var(--muted);font-size:12px;margin-top:5px}.draft-heading strong{white-space:nowrap}.draft-facts{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0}.draft-facts span{padding:6px 8px;border-radius:7px;background:#20242b;color:#c4c9d2;font-size:11px}.draft-error{color:#ff8b99;font-size:12px}.write-warning{display:block;color:var(--yellow);margin-top:10px}
@media(max-width:760px){.wizard-grid{grid-template-columns:1fr}.preview-facts{grid-template-columns:1fr 1fr}.campaign-draft .button-row button{width:100%;min-height:46px}.draft-heading{flex-direction:column}}
@media(max-width:470px){.preview-facts{grid-template-columns:1fr}.preview-ad h3{font-size:18px}}
.status-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.inline-link{display:inline-block;color:#82a5ff;font-size:12px;margin-top:7px;text-decoration:none}.compact-input{width:min(280px,100%);margin:0}.copy-id{padding:5px 8px;background:#20242b;border:1px solid var(--line);font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.campaign-name-button{font-weight:750;text-align:left}.status-pill{display:inline-flex;padding:5px 8px;border-radius:999px;background:#2a2e36;color:#cbd0d8;font-size:11px}.status-pill.ok{background:#32d5831a;color:var(--green)}.status-pill.warning{background:#fdb0221c;color:var(--yellow)}.status-pill.critical{background:#ef233c1c;color:#ff7e8e}.cell-note{display:block;max-width:260px;white-space:normal;color:#ff9aa6;margin-top:5px}.table-actions{display:flex;align-items:center;gap:6px}.campaign-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.campaign-detail-head b,.campaign-detail-head span{display:block}.campaign-detail-head span{color:var(--muted);font-size:12px;margin-top:5px}.editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}.editor-grid .wide{grid-column:1/-1}.object-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-bottom:1px solid var(--line)}.object-row b,.object-row span{display:block}.object-row span{color:var(--muted);font-size:12px;margin-top:4px}.bid-input{width:90px;padding:8px}details{margin-top:12px}summary{cursor:pointer;font-weight:750;padding:8px 0}
@media(max-width:760px){.card-title{flex-direction:column}.compact-input{width:100%}.editor-grid{grid-template-columns:1fr}.editor-grid .wide{grid-column:auto}.object-row{align-items:stretch;flex-direction:column}.table-actions{flex-wrap:wrap}.table-actions button{min-height:42px}.campaign-detail-head{align-items:stretch;flex-direction:column}.campaign-detail-head button{min-height:44px}}


/* Светлая тема пульта Директа */
:root{
  color-scheme:light;
  --bg:#f4f6f8;
  --surface:#ffffff;
  --card:#ffffff;
  --card2:#f7f8fa;
  --line:#dfe3e8;
  --text:#20242a;
  --muted:#66707c;
  --red:#e31a22;
  --green:#198754;
  --yellow:#bd8400;
  --blue:#315efb;
}
body{background:var(--bg);color:var(--text)}
.login-screen{background:linear-gradient(145deg,#f7f8fa,#e9edf2)}
.login-card{background:#fff;border-color:#d9dee5;box-shadow:0 18px 55px #33415520}
.sidebar{background:#fff;border-right-color:#dfe3e8}
.sidebar-brand small,.sidebar-footer small{color:var(--muted)}
.nav-item{color:#46505c}
.nav-item:hover,.nav-item.active{background:#fff0f1;color:#a30f18}
.topbar{background:#fffffff2;border-bottom-color:#dfe3e8}
.badge{background:#f7f8fa;color:#586270;border-color:#dfe3e8}
.badge.manual{color:#315efb;border-color:#315efb55}
.status-card,.card,.kpi,.business-card{background:#fff;border-color:#dfe3e8;box-shadow:0 8px 26px #3341550a}
.status-card span,.status-card small,.section-heading p,.card-title p,.kpi span,.muted{color:var(--muted)}
.insight,.action,.audit-row,.integration-item,.funnel-grid article,.hunter-row,.cleaner-row,.change-row,.alert-row,.ad-row,.landing-row,.campaign-draft{background:#fff;border-color:#dfe3e8}
.insight p,.action p{color:#4f5965}
button.secondary{background:#fff;color:#20242a;border:1px solid #cfd5dc}
input,select,textarea{background:#fff;color:#20242a;border-color:#cfd5dc}
input::placeholder,textarea::placeholder{color:#8a94a1}
#toast{background:#fff;color:#20242a;border-color:#d7dce3;box-shadow:0 15px 50px #33415524}
.preview-facts>div,.budget-strip>div{background:#fff;border-color:#dfe3e8}
.draft-facts span,.copy-id{background:#f1f3f5;color:#4d5763;border-color:#dfe3e8}
.status-pill{background:#eef1f4;color:#59636f}
.cell-note,.draft-error{color:#b42318}
.sidebar-footer{border-top-color:#dfe3e8}
table th,table td{border-bottom-color:#e4e7eb}
table th{color:#66707c}
.text-button,.inline-link{color:#315efb}
.login-card p{color:#66707c}


/* Светлые карточки прогноза */
.forecast-card{background:linear-gradient(135deg,#ffffff,#f4f7fb)!important;border-color:#dfe3e8!important;color:#20242a!important;box-shadow:0 8px 26px #3341550a}.forecast-card b,.forecast-card h2,.forecast-card h3{color:#20242a!important}.forecast-card small,.forecast-card span,.forecast-card p{color:#66707c!important}

/* ИИ-Директолог */
.assistant-nav{margin:4px 0 8px;background:#f6f4ff;color:#5b3cc4;border:1px solid #e5defc}
.assistant-nav:hover,.assistant-nav.active{background:#eee9ff;color:#4527a0;border-color:#d8cdfb}
.assistant-hero{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:26px 28px;margin-bottom:14px;border:1px solid #ded8f6;border-radius:18px;background:linear-gradient(135deg,#fff 0%,#f7f4ff 56%,#eef4ff 100%);box-shadow:0 12px 34px #4f46e50d}
.assistant-hero h2{font-size:27px;margin:7px 0 8px;color:#20242a}.assistant-hero p{max-width:760px;margin:0;color:#59636f;line-height:1.55}.assistant-kicker{font-size:11px;font-weight:850;letter-spacing:.12em;color:#6347c8}.assistant-health{min-width:220px;padding:14px 16px;border:1px solid #e0dcf3;border-radius:12px;background:#ffffffb8}.assistant-health span,.assistant-health small{display:block}.assistant-health small{margin-top:7px;color:#66707c;line-height:1.4}.assistant-status{font-weight:800;color:#b42318}.assistant-status.ok{color:#198754}.assistant-layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:14px;align-items:start}.assistant-main{padding:0;overflow:hidden}.assistant-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:17px 19px;border-bottom:1px solid #e4e7eb}.assistant-toolbar b,.assistant-toolbar span{display:block}.assistant-toolbar span{margin-top:4px;color:#66707c;font-size:12px}.assistant-messages{height:min(58vh,650px);min-height:440px;overflow:auto;padding:22px;background:#f8f9fb;scroll-behavior:smooth}.assistant-empty{height:100%;min-height:300px;display:grid;place-content:center;justify-items:center;text-align:center;color:#66707c}.assistant-empty>span{width:54px;height:54px;display:grid;place-items:center;margin-bottom:13px;border-radius:16px;background:#eee9ff;color:#5b3cc4;font-size:25px}.assistant-empty b{color:#20242a;font-size:17px}.assistant-empty p{max-width:420px;margin:8px 0;line-height:1.5}.assistant-message{display:flex;gap:11px;max-width:880px;margin:0 0 18px}.assistant-message.user{margin-left:auto;flex-direction:row-reverse;max-width:720px}.assistant-avatar{flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#e8e4fb;color:#5135b0;font-size:10px;font-weight:900}.assistant-message.user .assistant-avatar{background:#e5eaf1;color:#53606d}.assistant-message>div:last-child{min-width:0;padding:13px 15px;border:1px solid #dfe3e8;border-radius:4px 14px 14px 14px;background:#fff;box-shadow:0 5px 16px #33415508}.assistant-message.user>div:last-child{border-radius:14px 4px 14px 14px;background:#315efb;color:#fff;border-color:#315efb}.assistant-message p{margin:0;line-height:1.58;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-message time{display:block;margin-top:8px;color:#7b8490;font-size:10px}.assistant-message.user time{color:#d9e1ff}.assistant-message footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px}.assistant-message footer time{margin:0}.assistant-answer-block{margin-top:13px;padding-top:11px;border-top:1px solid #e7e9ed}.assistant-answer-block>b{font-size:12px}.assistant-answer-block ul{margin:7px 0 0;padding-left:19px;color:#4f5965}.assistant-answer-block li{margin:5px 0;line-height:1.45}.assistant-data-status{padding:4px 7px;border-radius:99px;background:#eef1f4;color:#59636f;font-size:10px}.assistant-data-status.fresh{background:#e8f6ee;color:#167044}.assistant-data-status.stale{background:#fff6dc;color:#8a6100}.assistant-message.pending>div:last-child{color:#66707c}.assistant-message.pending p::after{content:' ';display:inline-block;width:16px;height:5px;margin-left:8px;border-radius:9px;background:linear-gradient(90deg,#6548c8 30%,#c9bfef 30% 60%,#e5e0f8 60%);animation:assistantPulse 1s infinite alternate}@keyframes assistantPulse{to{opacity:.35}}
.assistant-compose{padding:15px 18px 17px;border-top:1px solid #e4e7eb;background:#fff}.assistant-compose textarea{margin:0;min-height:76px;max-height:220px;resize:vertical}.assistant-compose>div{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}.assistant-compose small{color:#7a8490}.assistant-side{display:grid;gap:14px}.assistant-side .card{margin:0}.assistant-side h3{margin:0 0 13px}.assistant-prompts{display:grid;gap:8px}.assistant-prompts button{width:100%;text-align:left;background:#fff;color:#333b45;border:1px solid #dfe3e8;font-weight:650;line-height:1.35}.assistant-prompts button:hover{background:#f7f5ff;border-color:#cfc4f3;color:#5135b0}.assistant-guard{border-left:4px solid #6548c8}.assistant-guard>span{font-size:10px;font-weight:850;letter-spacing:.1em;color:#6347c8}.assistant-guard h3{margin:7px 0}.assistant-guard p{margin:0;color:#59636f;line-height:1.55;font-size:13px}
@media(max-width:1050px){.assistant-layout{grid-template-columns:1fr}.assistant-side{grid-template-columns:1fr 1fr}.assistant-messages{height:55vh}}
@media(max-width:650px){.assistant-hero{align-items:stretch;flex-direction:column;padding:20px}.assistant-hero h2{font-size:22px}.assistant-health{min-width:0}.assistant-side{grid-template-columns:1fr}.assistant-toolbar{align-items:stretch;flex-direction:column}.assistant-toolbar button{width:100%}.assistant-messages{min-height:380px;padding:14px}.assistant-compose>div{align-items:stretch;flex-direction:column}.assistant-compose button{width:100%;min-height:46px}.assistant-compose small{display:none}.assistant-message{gap:7px}.assistant-avatar{flex-basis:30px;width:30px;height:30px}.assistant-message>div:last-child{padding:11px 12px}}

/* Пульт владельца */
.owner-command{margin:0 0 24px;border:1px solid #e5e9ef;background:linear-gradient(135deg,#fff,#f8fbff)}
.owner-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0 18px}
.owner-metrics article{padding:14px;border:1px solid #e5e9ef;border-radius:14px;background:#fff;display:flex;flex-direction:column;gap:4px}.owner-metrics b{font-size:20px;color:#17202a}.owner-metrics span{font-size:12px;color:#687381}
.owner-columns{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.owner-columns h3{margin:0 0 10px}.readiness{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:12px;background:#fff8e8;border:1px solid #f1d99c;margin-bottom:8px}.readiness.ok{background:#effaf4;border-color:#bce3cc}.readiness span{font-size:13px;color:#4e5966}
.offline-strip{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}.offline-strip span{padding:10px;background:#fff;border:1px solid #e5e9ef;border-radius:10px}.safe-badge.warning{background:#fff4df;color:#8a5a00}
@media(max-width:900px){.owner-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.owner-columns{grid-template-columns:1fr}}@media(max-width:520px){.owner-metrics{grid-template-columns:1fr}}
