:root{color:#172342;background:#eef5ff;--muted:#6f7c97;--line:#dfe7f2;--good:#169b67;--warn:#d9892d;--bad:#d95770;--accent:#4f83ff}
body{color:#172342;background:linear-gradient(180deg,#fbfcff,#eaf3ff)}
.btn{background:#fff;color:#284269;border-color:#d7e2f0}
.hq-shell{background:linear-gradient(180deg,#fbfcff,#eef5ff)}.hq-header{background:rgba(255,255,255,.92);border-bottom-color:#e2e9f2;box-shadow:0 6px 24px rgba(54,80,120,.05)}.hq-header .brand{color:#172342}.hq-header .mark{border-color:#85abff;background:#f7fbff;color:#356ff2}.brand-label{color:#4f83ff}.hq-sidebar{background:rgba(255,255,255,.96);border-right-color:#e3eaf3;box-shadow:8px 0 26px rgba(57,83,123,.035)}
.nav-group{color:#939eb3}.nav-item{color:#596983}.nav-item svg{color:#5d8df3}.nav-item:hover{background:#f1f6ff;color:#254b88}.nav-item.active{color:#1e64e8;border-color:#d4e2ff;background:linear-gradient(135deg,#edf4ff,#e8f1ff);box-shadow:inset 3px 0 0 #4f83ff}.nav-item.active svg{color:#2e70f0}.sidebar-bottom{border-top-color:#e5ebf3;color:#8794a9}.view-heading .eyebrow{color:#5481db}.view-heading h1{color:#172342}.view-heading p{color:#6f7c97}
.metric,.panel,.project,.seo-site,.overview-site,.overview-shortcuts a{background:#fff;border-color:#e1e8f2;box-shadow:0 6px 18px rgba(50,76,114,.055)}.metric .label{color:#7b879e}.metric .hint,.summary{color:#6f7c97}.focus,.seo-summary>div,.agent-summary>div{background:#f8fbff;border-color:#e1e9f3}.run-list,.agent-list,.seo-list{background:#fff;border-color:#e1e8f2}.seo-row,.run-row,.agent-row,.agent-task{border-color:#e7edf4}.seo-row span,.seo-section-head>span{color:#7b889f}.seo-score{border-color:#d8e5f5;background:#edf4ff;color:#245fd1}
.seo-tab{background:#fff;border-color:#dfe7f2;color:#536681}.seo-tab:hover{background:#f8fbff;border-color:#b8cdfd;color:#2f63d8}.seo-tab.active{background:#4f83ff;border-color:#4f83ff;color:#fff}.status.good{background:#e8f8f1;border-color:#bfead8;color:#0d8f5c}
.money-panel{background:#fff;border-color:#e1e8f2}.money-step{background:#f8fbff;border-color:#e1e8f2}.money-revenue span,.money-revenue small,.money-step span,.money-rates span{color:#7b889f}.money-rates span{background:#fff;border-color:#dfe7f2}.money-rates b{color:#273652}
.overview-site{color:#253653;background:linear-gradient(145deg,#fff,#f5f9ff)}.overview-site:hover{background:#f7faff;border-color:#b5cbfa}.overview-site>span,.overview-site>small{color:#74839d}.overview-heading a,.overview-site-head>span,.overview-shortcuts span{color:#4f83ff}.overview-shortcuts a{color:#344863}
.status.warn{background:#fff7e9;border-color:#f0d6b2;color:#bb7427}.status.bad{background:#fff0f3;border-color:#f1cbd4;color:#c64963}.status.info{background:#eff5ff;border-color:#c9d9ff;color:#356ff2}.owner-panel{background:#fff;border-color:#dfe7f2}.recommendation{background:#f6faff;border-color:#d8e5f6;color:#4a5f80}
.kamp-winner-table,.market-table{background:#fff;border-color:#e1e8f2}.kamp-winner-table th,.market-table th{background:#f7faff;color:#7b889f}.market-domain-score{background:#edf4ff;border-color:#d7e4f5;color:#285fcd}.business-alert{background:#f8fbff;border-color:#e2e9f2}.business-alert span{color:#6f7f98}.business-alert.good{background:#eaf9f2;border-color:#bfead8}.business-alert.warn{background:#fff8eb;border-color:#efd8b6}.business-alert.info{background:#eff5ff;border-color:#cbdcff}.business-alert.bad{background:#fff0f3;border-color:#f0cad3}
body{background:radial-gradient(circle at 8% 0%,rgba(255,224,221,.7),transparent 22rem),radial-gradient(circle at 54% 0%,rgba(226,216,255,.65),transparent 30rem),radial-gradient(circle at 100% 55%,rgba(78,164,255,.55),transparent 32rem),linear-gradient(180deg,#fbfcff,#eaf3ff)}.hq-shell{background:radial-gradient(circle at 28% 0%,rgba(255,228,224,.4),transparent 22rem),radial-gradient(circle at 68% 0%,rgba(224,215,255,.42),transparent 26rem),linear-gradient(180deg,#fbfcff,#eef5ff)}

/* Market Discovery light KPI cards: fix contrast */
.market-summary>div{
  background:#fff;
  border:1px solid #dfe7f2;
  box-shadow:0 5px 16px rgba(50,76,114,.05);
}
.market-summary span{
  color:#6f7c97;
}
.market-summary strong{
  color:#172342;
  font-size:20px;
  font-weight:750;
}
.market-summary small{
  color:#4f83ff;
}
.market-summary>div:nth-child(2) strong{color:#6859d9}
.market-summary>div:nth-child(3) strong{color:#168b64}
.market-summary>div:nth-child(4) strong{color:#2f6fd8}
.market-summary>div:nth-child(5) strong{color:#c7772c}
.market-summary>div:nth-child(6) strong{color:#42526e}

/* Full light-theme QA pass: remove remaining dark islands and raise contrast */
.hq-main .seo-site{
  background:linear-gradient(180deg,#fbfdff,#f7faff);
  border-color:#dbe5f2;
  color:#172342;
  box-shadow:0 6px 18px rgba(50,76,114,.045);
}
.hq-main .seo-site .money-panel,
.hq-main .intel-card,
.hq-main .kamp-winner-today>div,
.hq-main .kamp-winner-metrics>div{
  background:#fff;
  border-color:#dfe7f2;
  color:#172342;
  box-shadow:0 4px 14px rgba(50,76,114,.04);
}
.hq-main .seo-grid h4,
.hq-main .runs-grid h4,
.hq-main .agent-grid h4{
  color:#263553;
}
.hq-main .seo-summary span,
.hq-main .seo-summary small,
.hq-main .seo-row span,
.hq-main .seo-section-head>span,
.hq-main .intel-row span,
.hq-main .agent-foot{
  color:#55657f;
}
.hq-main .seo-site-head span:not(.status),
.hq-main .panel-note,
.hq-main .run-main span,
.hq-main .run-meta,
.hq-main .agent-row span,
.hq-main .agent-task span,
.hq-main .kamp-winner-today span,
.hq-main .kamp-winner-metrics span,
.hq-main .kamp-winner-empty span{
  color:#596981;
}
.hq-main .metric .label,
.metric .label,
.nav-group,
.focus small,
.milestone-meta,
.stage{
  color:#5d6b83;
}
.milestones li,
.task,
.decision-empty,
.run-empty{
  color:#4f5f78;
}
.eyebrow,
.view-heading .eyebrow{
  color:#3568c8;
}
.status.good{
  color:#08724a;
  border-color:#addfc9;
  background:#e8f8f1;
}
.status.warn{
  color:#9c5f1e;
  border-color:#e8c995;
  background:#fff7e9;
}
.status.info{
  color:#285fcf;
  border-color:#bfd2ff;
  background:#eff5ff;
}
.seo-tab.active{
  background:#356ff2;
  border-color:#356ff2;
  color:#fff;
  box-shadow:0 7px 16px rgba(53,111,242,.18);
}
.overview-heading a,
.overview-site-head>span,
.overview-shortcuts span{
  color:#285fcf;
}
.overview-site>span,
.overview-site>small{
  color:#55657f;
}
.sidebar-bottom,
.footer{
  color:#66758d;
}
.login{
  background:#fff;
  border-color:#dfe7f2;
  color:#172342;
  box-shadow:0 22px 60px rgba(53,91,151,.12);
}
.login p,
.login label{
  color:#596981;
}
.login input{
  background:#f8fbff;
  border-color:#d8e3f1;
  color:#172342;
}
.mail-modal{
  border-color:#dbe5f1;
  background:#fff;
  color:#172342;
  box-shadow:0 26px 70px rgba(45,73,118,.20);
}
.mail-modal-head,
.mail-modal-meta,
.mail-modal-foot{
  border-color:#e4ebf3;
}
.mail-modal-meta,
.mail-modal-foot{
  color:#596981;
}
.mail-modal-meta b{
  color:#32435f;
}
.mail-modal-body{
  color:#2a3955;
  background:#f9fbfe;
}
.mail-thread-row.mail-thread-unread{
  background:linear-gradient(90deg,rgba(255,197,107,.13),#fff);
}
.market-summary span,
.market-table td small,
.money-revenue span,
.money-revenue small,
.money-step span,
.money-rates span{
  color:#596981;
}

/* Contrast QA polish */
:root{--good:#08724a;--warn:#9c5f1e;--bad:#b53c57}
.run-source,
.runs-grid h4 span{
  color:#405575;
  border-color:#cbd9eb;
  background:#f3f7fd;
}
.runs-updated,
.agent-summary span,
.intel-card span,
.kamp-winner-history-empty{
  color:#596981;
}
.market-table th,
.kamp-winner-table th{
  color:#4f607b;
}
.market-summary small{
  color:#285fcf;
}
.market-summary>div:nth-child(5) strong{
  color:#9c5f1e;
}
.business-alert span{
  color:#596981;
}
.business-alert.good strong{color:#08724a}
.business-alert.warn strong{color:#9c5f1e}
.business-alert.info strong{color:#285fcf}
.business-alert.bad strong{color:#b53c57}
.money-revenue strong{
  color:#08724a;
}

/* Traffic period selector + previous-period comparison */
.traffic-period-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
  padding-bottom:15px;
  border-bottom:1px solid #e5ebf3;
}
.traffic-period-tabs{
  display:flex;
  gap:7px;
  flex-wrap:wrap;
}
.traffic-period-btn{
  appearance:none;
  border:1px solid #d6e1ef;
  background:#fff;
  color:#52627c;
  border-radius:9px;
  padding:8px 12px;
  font:inherit;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease;
}
.traffic-period-btn:hover{
  border-color:#a9c2fb;
  color:#285fcf;
  background:#f7faff;
}
.traffic-period-btn.active{
  border-color:#356ff2;
  background:#356ff2;
  color:#fff;
  box-shadow:0 5px 12px rgba(53,111,242,.18);
}
.traffic-period-btn:focus-visible{
  outline:3px solid rgba(53,111,242,.22);
  outline-offset:2px;
}
.traffic-period-caption{
  display:flex;
  align-items:flex-end;
  flex-direction:column;
  gap:3px;
  text-align:right;
}
.traffic-period-caption strong{
  color:#263553;
  font-size:11px;
}
.traffic-period-caption span{
  color:#66758d;
  font-size:10px;
}
.traffic-money-head{
  margin-bottom:16px;
}
.traffic-summary .traffic-metric{
  min-width:0;
}
.traffic-metric>span:first-child{
  display:block;
  color:#55657f;
  font-size:10px;
}
.traffic-metric>strong{
  display:block;
  margin:6px 0 3px;
  color:#172342;
  font-size:22px;
  line-height:1;
}
.traffic-metric>small{
  display:block;
  min-height:28px;
  color:#66758d;
  font-size:9px;
  line-height:1.35;
}
.traffic-delta{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin-top:7px;
  border-radius:999px;
  padding:4px 7px;
  font-size:9px;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}
.traffic-delta small{
  font:inherit;
  font-weight:600;
  opacity:.82;
}
.traffic-delta.up{
  color:#08724a;
  background:#e8f8f1;
  border:1px solid #bfe7d4;
}
.traffic-delta.down{
  color:#a93a52;
  background:#fff0f3;
  border:1px solid #efcbd4;
}
.traffic-delta.flat,
.traffic-delta.neutral{
  color:#55657f;
  background:#f1f5fa;
  border:1px solid #dce5ef;
}
.money-revenue .traffic-delta{
  margin-left:auto;
}
.traffic-source-note{
  margin-top:12px;
  color:#66758d;
  font-size:9px;
  line-height:1.45;
}
@media(max-width:900px){
  .traffic-period-bar{align-items:flex-start;flex-direction:column}
  .traffic-period-caption{align-items:flex-start;text-align:left}
  .traffic-delta{white-space:normal}
}

/* Growth control: Quality Health, Search Opportunities, AI Visibility */
.quality-health-panel,.search-opportunity-panel,.ai-visibility-panel{margin-bottom:18px}
.quality-health-panel .seo-summary,.search-opportunity-panel .seo-summary{margin-top:14px}
.ai-observation-row .ai-excerpt{display:block;max-width:880px;line-height:1.55;opacity:.82;margin-top:5px}
.ai-observation-row b{font-weight:800}
.search-opportunity-panel .status{display:inline-flex;margin-right:6px;vertical-align:middle}

/* SEO action lifecycle */
.seo-action-center{margin-bottom:18px;border-width:2px}
.seo-action-center .money-rates{margin-top:12px}
.authority-plan-row{align-items:flex-start}
.authority-plan-row>div:first-child{min-width:0}
.authority-plan-row b,.seo-action-center b{font-weight:800}

/* AI visibility closed-loop action plans */
.ai-action-plan-row{align-items:flex-start}
.ai-action-plan-row>div:first-child{min-width:0}
.ai-action-plan-row .ai-checklist{display:block;margin-top:5px;font-size:.86rem;opacity:.78;line-height:1.5}
.ai-visibility-panel .seo-summary{margin-top:14px}
.ai-visibility-panel .seo-list+.seo-section-head{margin-top:18px}

/* Market Discovery v1.5 + Site Incubator */
.market-pipeline>div,.market-incubator-card,.market-incubator-metrics>div{background:#fff;border-color:#e1e8f2}.market-pipeline b{background:#edf4ff;color:#285fcd}.market-incubator-head small,.market-business-score span,.market-business-score small,.market-incubator-card p,.market-plan-progress{color:#718096}.market-plan-progress{border-color:#e6ebf2}.market-blockers span{background:#fff8eb;border-color:#efd8b6;color:#805b2b}.market-incubator-metrics>div{background:#f8faff}.market-decision-actions .danger{border-color:#f0cad3;color:#a13b57}

/* Control Plane light-theme integration */
.control-plane-panel{background:#fff!important;border-color:#dfe7f2!important;color:#172342!important;box-shadow:0 6px 18px rgba(50,76,114,.055)!important}
.cp-head h2,.cp-section-head h3,.cp-row strong,.cp-repair strong,.cp-metrics strong{color:#172342!important}
.cp-head p,.cp-row span,.cp-repair span,.cp-repair small,.cp-metrics span,.cp-metrics small{color:#596981!important}
.cp-metrics>div,.cp-list,.cp-repair{background:#fff!important;border-color:#dfe7f2!important;color:#172342!important}
.cp-row{border-color:#e7edf4!important}
.cp-state{color:#285fcf!important}
.cp-section-head a,.cp-section-head span{color:#285fcf!important}

/* Portfolio v2: central governance and evidence-based maturity */
.portfolio-model{display:grid;gap:18px}
.portfolio-intro{padding:22px;border:1px solid #dbe5f3;border-radius:16px;background:linear-gradient(145deg,#fff,#f7faff)}
.portfolio-intro .eyebrow{font-size:10px}
.portfolio-intro h2{font-size:21px;letter-spacing:-.02em;margin:8px 0}
.portfolio-intro p{margin:6px 0;color:#4d6080;font-size:13px;line-height:1.6}
.portfolio-intro .portfolio-truth{margin-top:14px;padding:11px 14px;border-left:3px solid #4f83ff;background:#edf4ff;border-radius:0 9px 9px 0;color:#34537d}
.portfolio-architecture{display:flex;align-items:center;flex-direction:column;gap:8px;padding:18px;border:1px solid #dce6f3;border-radius:14px;background:#f5f9ff}
.architecture-node{display:flex;flex-direction:column;gap:4px;justify-content:center;padding:13px 15px;border:1px solid #d6e3f5;border-radius:11px;background:#fff;text-align:center;min-width:0}
.architecture-node strong{font-size:13px;color:#172342}
.architecture-node span{font-size:10px;line-height:1.5;color:#5d6f8b}
.architecture-host{width:min(420px,100%);background:#fbfdff}
.architecture-control{width:min(510px,100%);border-color:#a9c3ef;background:#eaf2ff}
.architecture-arrow{font-size:19px;font-weight:700;color:#5b8beb;line-height:1}
.architecture-products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.portfolio-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:5px 0 -7px}
.portfolio-section-head h2{font-size:17px;margin:0;color:#172342}
.portfolio-section-head span{font-size:11px;color:#657894}
.platform-projects{grid-template-columns:minmax(0,1fr)}
.application-projects{grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-model .projects{margin:0;gap:14px}
.portfolio-model .project{padding:21px;min-height:0;border-color:#dce6f3}
.project-head{align-items:flex-start}
.project-head .status{flex-shrink:0;max-width:44%;text-align:center}
.project-kind{text-transform:uppercase;font-weight:700;font-size:10px;letter-spacing:.08em;color:#356cd4;margin-bottom:7px}
.portfolio-model .project h2{font-size:20px;margin:0 0 5px;color:#172342}
.portfolio-model .summary{min-height:0;line-height:1.6;margin:11px 0 15px}
.project-responsibilities{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px}
.project-responsibilities>div{padding:12px;background:#f8fbff;border:1px solid #e1e9f3;border-radius:10px}
.project-responsibilities small,.project-acceptance small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#647b98;font-weight:700}
.project-responsibilities p,.project-acceptance p{font-size:12px;line-height:1.55;color:#425774;margin:6px 0 0}
.portfolio-model .focus{margin:0 0 12px}
.portfolio-model .focus strong{color:#243b61;line-height:1.55;display:block}
.project-readiness{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid #e3d2b5;border-radius:9px;background:#fffbf3;padding:10px 12px;margin-bottom:16px;font-size:11px}
.project-readiness strong{color:#795927}
.project-readiness span{color:#855e27;text-align:right;font-weight:650}
.project-section-label{font-size:11px;font-weight:700;color:#283e60;margin-bottom:10px}
.project-milestones{display:grid;gap:8px;margin:0 0 14px}
.project-milestones li{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:9px;align-items:start;color:#3f526e;font-size:12px;line-height:1.4}
.project-milestones li .dot{margin-top:5px}
.project-milestones li em{font-style:normal;font-weight:650;font-size:10px;color:#546d8e;white-space:nowrap}
.project-milestones .dot.established{background:#198b60}
.project-milestones .dot.verifying{background:#d19632}
.project-milestones .dot.active{background:#457cde}
.project-milestones .dot.planned{background:#b1bfd0}
.project-acceptance{padding:12px 13px;border-radius:9px;border:1px solid #dfebfa;background:#f7fbff}
.project-footer{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid #e5edf7;margin-top:16px;padding-top:12px;font-size:10px;color:#61748f;line-height:1.4}
.portfolio-legend{margin:0;color:#61748f;font-size:11px;line-height:1.55}
@media(max-width:1250px){.application-projects{grid-template-columns:minmax(0,1fr)}}
@media(max-width:760px){.portfolio-intro{padding:17px}.portfolio-architecture{padding:11px}.architecture-products{grid-template-columns:1fr}.project-responsibilities{grid-template-columns:1fr}.portfolio-section-head{flex-direction:column;align-items:flex-start;gap:4px}.portfolio-model .project{padding:16px}.project-head{flex-wrap:wrap}.project-head .status{max-width:100%}}
@media(max-width:450px){.project-milestones li{grid-template-columns:8px minmax(0,1fr)}.project-milestones li em{grid-column:2}.project-readiness{align-items:flex-start;flex-direction:column}.project-readiness span{text-align:left}}
