.ads-safety { margin-bottom: 20px; }
.ads-safety, #view-ads, #view-ads * { box-sizing: border-box; }
.ads-safety > div, #view-ads .page-heading > div { min-width: 0; }
.ads-safety strong, .ads-safety span, #view-ads .page-heading p { overflow-wrap: anywhere; }
.ads-meta-row { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 20px; color: #667085; font-size: 13px; }
.ads-meta-row span { background: #fff; border: 1px solid #e8edf4; border-radius: 999px; padding: 7px 11px; }
.ads-section { margin-top: 18px; padding: 22px; }
.ads-account-grid, .ads-preview-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; }
.ads-account-card, .ads-preview-card { border: 1px solid #e4eaf2; border-radius: 16px; padding: 18px; background: #fff; }
.ads-account-card h3, .ads-preview-card h3 { margin: 8px 0 14px; }
.ads-account-card dl, .ads-preview-card dl { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 0; }
.ads-account-card dl div, .ads-preview-card dl div { border-radius: 10px; background: #f7f9fc; padding: 10px; }
.ads-account-card dt, .ads-preview-card dt { color: #7b8493; font-size: 12px; }
.ads-account-card dd, .ads-preview-card dd { margin: 3px 0 0; font-weight: 700; overflow-wrap: anywhere; }
.ads-table-wrap { overflow-x: auto; }
.ads-table { border-collapse: collapse; width: 100%; min-width: 760px; }
.ads-table th, .ads-table td { border-bottom: 1px solid #edf0f5; padding: 12px 10px; text-align: left; }
.ads-table th { color: #758093; font-size: 12px; text-transform: uppercase; }
.ads-table td small { display: block; color: #7b8493; margin-top: 3px; }
.ads-preview-head { display: flex; justify-content: space-between; gap: 12px; }
.ads-creative-image { border-radius: 13px; display: block; height: auto; margin: 4px 0 16px; max-width: 100%; width: 100%; }
.ads-decision { color: #196b4f; }
.ads-copy { border-left: 4px solid #246be8; margin: 14px 0; padding: 12px 14px; background: #f6f9ff; }
.ads-copy p { color: #566174; line-height: 1.55; }
.ads-preview-card textarea { box-sizing: border-box; margin-top: 14px; min-height: 76px; padding: 10px; resize: vertical; width: 100%; }
.ads-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.button.danger { background: #fff1f1; border-color: #f1b4b4; color: #a12f2f; }
@media (min-width: 721px) and (max-width: 900px) {
  .global-search, .global-search input { min-width: 0; }
}
@media (max-width: 720px) {
  .topbar { gap: 8px; }
  .global-search { flex: 1; min-width: 0; width: auto; }
  .top-actions .notification-button { display: none; }
  .ads-safety { align-items: flex-start; max-width: 100%; overflow: hidden; }
  .ads-section { padding: 15px; }
  .ads-account-card dl, .ads-preview-card dl { grid-template-columns: 1fr; }
  .ads-actions .button { width: 100%; }
  #view-ads .analytics-grid { grid-template-columns: 1fr; }
}

/* Split Ads, Site Analytics and per-ad detail views. */
#view-ads-performance *, #view-ad-performance-detail *, #view-ads-previews *, #view-ad-preview-detail * { box-sizing: border-box; }
.ads-hub-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.ads-next-panel { margin-bottom:18px; padding:22px; }
.next-step-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; margin-top:16px; }
.next-step { background:#f6f8fb; border:1px solid #e5eaf1; border-radius:13px; display:grid; gap:6px; padding:14px; }
.next-step>span { align-items:center; background:#dfeafe; border-radius:50%; color:#1766df; display:flex; font-weight:800; height:28px; justify-content:center; width:28px; }
.next-step small { color:#64748b; line-height:1.45; }
.next-step.active { background:#eef5ff; border-color:#bcd4fb; }
.next-step.blocked { background:#fff7e9; border-color:#f3d39c; }
.next-step.blocked>span { background:#ffe2ae; color:#986000; }
.launch-rule { background:#10294a; border-radius:12px; color:#fff; line-height:1.5; margin-top:12px; padding:13px 15px; }
.ads-hub-card { background:#fff; border:1px solid #dfe6ef; border-radius:20px; color:#10294a; cursor:pointer; display:grid; gap:9px; min-height:210px; padding:24px; text-align:left; transition:.2s; }
.ads-hub-card:hover { border-color:#8cb1f1; box-shadow:0 16px 34px rgba(18,48,86,.09); transform:translateY(-2px); }
.ads-hub-card>span { align-items:center; background:#eaf2ff; border-radius:14px; color:#1766df; display:flex; font-size:22px; height:46px; justify-content:center; width:46px; }
.ads-hub-card.previews>span { background:#f0eefe; color:#6d52cf; }
.ads-hub-card strong { font-family:Manrope,sans-serif; font-size:21px; }
.ads-hub-card small { color:#64748b; line-height:1.55; max-width:56ch; }
.ads-hub-card b { align-self:end; color:#1766df; }
.strategy-summary-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; }
.strategy-summary-card { background:#f8fafc; border:1px solid #e2e8f0; border-radius:15px; cursor:pointer; display:grid; gap:4px; padding:16px; text-align:left; }
.strategy-summary-card:hover { border-color:#8cb1f1; }
.strategy-summary-card span,.strategy-summary-card small { color:#64748b; }
.strategy-summary-card strong { color:#10294a; font-size:28px; }
.filter-chip-row,.analytics-tabs { display:flex; gap:8px; margin:10px 0 20px; overflow-x:auto; padding-bottom:3px; scrollbar-width:thin; }
.filter-chip,.analytics-tab { background:#fff; border:1px solid #dfe6ef; border-radius:999px; color:#475569; cursor:pointer; flex:0 0 auto; font-weight:700; padding:9px 14px; }
.filter-chip.active,.analytics-tab.active { background:#1766df; border-color:#1766df; color:#fff; }
.ads-performance-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(285px,1fr)); gap:15px; }
.performance-card { background:#fff; border:1px solid #dfe6ef; border-radius:18px; color:#10294a; cursor:pointer; display:grid; gap:9px; min-height:230px; padding:18px; text-align:left; transition:.2s; }
.performance-card:hover { box-shadow:0 14px 30px rgba(18,48,86,.09); transform:translateY(-2px); }
.performance-card-head { align-items:center; display:flex; gap:8px; justify-content:space-between; }
.performance-card>strong { font-family:Manrope,sans-serif; font-size:17px; }
.performance-card>small { color:#718096; }
.performance-card>em { align-self:end; color:#1766df; font-style:normal; font-weight:700; }
.performance-mini-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:8px; }
.performance-mini-grid span { background:#f6f8fb; border-radius:10px; color:#718096; display:grid; font-size:11px; gap:2px; padding:9px; }
.performance-mini-grid b { color:#10294a; font-size:15px; }
.strategy-tag { background:#e9f2ff; border-radius:999px; color:#175fc9; display:inline-flex; font-size:11px; font-weight:800; max-width:100%; padding:6px 9px; }
.strategy-tag.s-airport { background:#e9f7f2; color:#107657; }
.strategy-tag.s-operator { background:#fff2dd; color:#9a5d00; }
.strategy-tag.s-benchmark { background:#f0edff; color:#6849bd; }
.ads-preview-grid.compact-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(225px,1fr)); gap:15px; }
.ads-preview-card.compact-card { background:#fff; border:1px solid #dfe6ef; border-radius:18px; color:#10294a; cursor:pointer; display:grid; gap:10px; min-height:310px; overflow:hidden; padding:12px; text-align:left; }
.ads-preview-card.compact-card>* { min-width:0; overflow-wrap:anywhere; }
.ads-preview-card.compact-card:hover { border-color:#8cb1f1; box-shadow:0 12px 28px rgba(18,48,86,.08); }
.preview-tile { background:#f5f8fc; border-radius:13px; display:grid; grid-template-columns:minmax(0,1fr) auto; min-height:170px; overflow:hidden; padding:10px; position:relative; }
.preview-tile img { height:170px; inset:0; object-fit:cover; position:absolute; width:100%; }
.preview-tile .strategy-tag,.preview-tile .status-pill { align-self:start; position:relative; z-index:1; }
.preview-tile .strategy-tag { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.preview-tile .status-pill { max-width:92px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.creative-placeholder { align-content:center; color:#64748b; display:grid; gap:6px; grid-column:1/-1; justify-items:center; padding:20px 8px; text-align:center; }
.preview-progress { align-items:center; display:flex; justify-content:space-between; margin-top:auto; }
.preview-progress span { color:#b06c00; font-size:12px; font-weight:700; }
.combined-source-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:15px; }
.source-detail,.review-card { min-width:0; padding:20px; }
.source-detail h2,.review-card h2 { margin-top:0; }
.detail-metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.detail-metrics span { background:#f6f8fb; border-radius:10px; display:grid; gap:3px; padding:10px; }
.detail-metrics small { color:#718096; }
.ads-analysis-note { margin-top:16px; padding:22px; }
.expectation-box { background:#f4f7fb; border-radius:13px; margin-top:15px; padding:16px; }
.preview-detail-layout { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(280px,.8fr); gap:18px; }
.preview-detail-layout>section,.preview-detail-layout>aside { align-content:start; display:grid; gap:16px; min-width:0; }
.preview-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin:18px 0 0; }
.preview-facts div { background:#f6f8fb; border-radius:10px; padding:10px; }
.preview-facts dt { color:#718096; font-size:12px; }
.preview-facts dd { font-weight:700; margin:3px 0 0; overflow-wrap:anywhere; }
.preview-facts a { color:#1766df; word-break:break-all; }
.task-list { display:grid; gap:10px; padding-left:22px; }
.required-file-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.required-file-grid>div { background:#f6f8fb; border:1px solid #e4eaf2; border-radius:11px; display:grid; gap:5px; padding:12px; }
.required-file-grid span { color:#64748b; font-size:12px; }
.required-file-grid code { color:#1766df; font-size:11px; overflow-wrap:anywhere; white-space:normal; }
.prompt-agent-card { border:1px solid #cdddf5; overflow:hidden; }
.prompt-agent-head { align-items:flex-start; display:flex; gap:16px; justify-content:space-between; }
.prompt-agent-head h2 { margin:9px 0 3px; }
.prompt-agent-head p { color:#64748b; margin:0; }
.review-status.prompt-ready { background:#e7f7ef; color:#087653; }
.prompt-safety { background:#fff7e9; border:1px solid #f3d39c; border-radius:12px; display:grid; gap:4px; margin:16px 0; padding:13px 15px; }
.prompt-safety span,.prompt-strategy { color:#526176; font-size:13px; line-height:1.5; }
.prompt-asset-grid { display:grid; gap:13px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:16px; }
.prompt-asset { background:#f7faff; border:1px solid #dce7f6; border-radius:14px; display:grid; gap:9px; min-width:0; padding:14px; }
.prompt-asset-title { display:grid; gap:7px; }
.prompt-asset-title>div { align-items:center; display:flex; gap:8px; justify-content:space-between; }
.prompt-asset-title small { color:#64748b; }
.prompt-asset-title code { color:#1766df; font-size:11px; overflow-wrap:anywhere; white-space:normal; }
.prompt-asset label { color:#475569; font-size:12px; font-weight:800; }
.prompt-asset textarea,.prompt-wide textarea { background:#fff; border:1px solid #d7e0eb; border-radius:10px; box-sizing:border-box; color:#26364b; font:12px/1.5 Inter,sans-serif; min-height:190px; padding:11px; resize:vertical; width:100%; }
.prompt-asset details { border-top:1px solid #dce7f6; padding-top:9px; }
.prompt-asset summary,.prompt-wide summary { color:#164f9d; cursor:pointer; font-weight:800; }
.prompt-asset dl { display:grid; gap:6px; }
.prompt-asset dl div { display:grid; gap:2px; }
.prompt-asset dt { color:#718096; font-size:11px; }
.prompt-asset dd { margin:0; }
.prompt-wide { border-top:1px solid #e4eaf2; margin-top:15px; padding-top:14px; }
.prompt-wide textarea { margin:12px 0 8px; min-height:130px; }
.shot-list { display:grid; gap:8px; margin-top:14px; padding-left:22px; }
.shot-list li { color:#44546a; display:grid; gap:3px; line-height:1.4; }
.shot-list small { color:#1766df; }
.prompt-check-grid { display:grid; gap:15px; grid-template-columns:repeat(2,minmax(0,1fr)); margin-top:12px; }
.prompt-check-grid h3 { margin:0 0 8px; }
.prompt-check-grid ul { display:grid; gap:7px; margin:0; padding-left:20px; }
.upload-zone { background:#f7faff; border:1px dashed #8bb2ef; border-radius:15px; display:grid; gap:10px; margin-top:18px; padding:18px; }
.upload-zone label { display:grid; gap:5px; }
.upload-zone input { max-width:100%; }
.asset-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(145px,1fr)); gap:10px; margin-top:16px; }
.asset-grid a { border:1px solid #dfe6ef; border-radius:12px; color:#10294a; display:grid; gap:5px; overflow:hidden; padding:8px; text-decoration:none; }
.asset-grid img { aspect-ratio:1; border-radius:8px; object-fit:cover; width:100%; }
.asset-grid b,.asset-grid small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.video-file { align-items:center; aspect-ratio:1; background:#10294a; border-radius:8px; color:#fff; display:flex; font-size:22px; justify-content:center; }
.review-status { border-radius:999px; display:inline-block; font-size:11px; font-weight:800; padding:6px 9px; }
.review-status.pending { background:#fff2dd; color:#8b5909; }
.expectation-card>p { line-height:1.55; }
.expectation-card h3 { font-size:13px; margin:18px 0 8px; }
.expectation-card ul { display:grid; gap:7px; margin:0; padding-left:20px; }
.expectation-card li { color:#44546a; font-size:13px; line-height:1.4; }
.expectation-card .risk-list li::marker { color:#c47700; }
.decision-window { background:#eef5ff; border-radius:11px; margin-top:16px; padding:12px; }
.decision-window p { color:#44546a; font-size:13px; line-height:1.45; margin:5px 0 0; }
.approval-card textarea { min-height:80px; padding:10px; resize:vertical; width:100%; }
.site-kpis { margin-top:14px; }
.site-table-wrap { overflow-x:auto; }
.clarity-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(175px,1fr)); gap:10px; }
.clarity-grid div { background:#f6f8fb; border-radius:12px; display:grid; gap:5px; padding:14px; }
.clarity-grid b { font-size:22px; }
.site-funnel { display:grid; gap:8px; margin-top:16px; }
.site-funnel div { align-items:center; background:linear-gradient(90deg,#eaf2ff,#f8faff); border-radius:10px; display:flex; justify-content:space-between; padding:12px 15px; }
.metric-list { display:grid; gap:8px; }
.metric-list>div { align-items:center; background:#f6f8fb; border-radius:10px; display:flex; gap:12px; justify-content:space-between; padding:11px 13px; }
.metric-list>div span,.metric-list>div small { display:block; min-width:0; }
.metric-list>div small { color:#718096; margin-top:3px; }
.metric-list>div b { flex:none; text-align:right; }
@media(max-width:1050px){.combined-source-grid,.preview-detail-layout{grid-template-columns:1fr}.next-step-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){body{overflow-x:hidden}.main-area,.content-wrap,.view{max-width:100%;min-width:0}.global-search input{min-width:0}.ads-hub-grid,.next-step-grid{grid-template-columns:1fr}.ads-next-panel{padding:16px}.ads-hub-card{min-height:180px;padding:19px}.ads-performance-grid,.ads-preview-grid.compact-grid{grid-template-columns:minmax(0,1fr);max-width:100%;width:100%}.ads-preview-card.compact-card{max-width:100%;min-height:270px;width:100%}.preview-facts,.detail-metrics,.required-file-grid,.prompt-asset-grid,.prompt-check-grid{grid-template-columns:1fr}.prompt-agent-head{display:grid}.asset-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-head.ads-detail-head{align-items:flex-start;display:grid}}

/* Phase 1: compact Ads navigation and decision workflow. */
.nav-group { min-width: 0; }
.nav-parent { align-items: center; display: grid; grid-template-columns: 28px minmax(0, 1fr) 24px; min-height: 44px; width: 100%; }
.nav-parent .nav-parent-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: auto; }
.nav-parent .nav-chevron { font-size: 20px; text-align: center; transform: rotate(0); transition: transform .18s ease; width: 24px; }
.nav-parent[aria-expanded="true"] .nav-chevron { transform: rotate(90deg); }
.nav-submenu { display: grid; gap: 3px; margin: 3px 0 8px 28px; }
.nav-submenu[hidden] { display: none; }
.nav-subitem { background: transparent; border: 0; border-left: 2px solid #ffffff1f; border-radius: 0 8px 8px 0; color: #aebcd0; cursor: pointer; font-size: 13px; min-height: 44px; padding: 9px 12px; text-align: left; width: 100%; }
.nav-subitem:hover, .nav-subitem.active { background: #ffffff10; border-left-color: #5b95f4; color: #fff; }
.ads-tools-nav { color: #9eacc0; font-size: 12px; }
.ads-tools-nav summary { align-items: center; cursor: pointer; display: flex; min-height: 44px; padding: 8px 12px; }
.ads-tools-list { border-left: 1px solid #ffffff1a; display: grid; gap: 10px; margin: 0 0 8px 12px; padding: 6px 12px; }
.ads-tools-list span::after { color: #72849d; content: " · Yakında"; font-size: 10px; }
.nav-parent:focus-visible, .nav-subitem:focus-visible, .ads-tools-nav summary:focus-visible,
#view-ads button:focus-visible, #view-ads-create button:focus-visible, #view-ads-active button:focus-visible,
.ads-wizard-field input:focus-visible, .ads-wizard-field select:focus-visible, .ads-wizard-field textarea:focus-visible { outline: 3px solid #8bb6ff; outline-offset: 2px; }
.back-button { min-height: 44px; padding: 10px 0; }
.sidebar-scrim { background: rgba(7,16,31,.48); inset: 0; position: fixed; z-index: 19; }
.sidebar-scrim[hidden] { display: none; }

.page-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.page-actions .button, .ads-overview-heading .button { min-height: 44px; }
.ads-connection-panel { align-items: center; display: flex; gap: 12px; justify-content: space-between; margin-bottom: 18px; }
.ads-connection-panel .ads-meta-row { margin: 0; }
.connection-badge { background: #eef3fa; border: 1px solid #d9e2ee; border-radius: 999px; color: #52627a; flex: none; font-size: 12px; font-weight: 800; padding: 8px 11px; }
.connection-badge.connected { background: #e5f7ef; border-color: #bfe7d5; color: #107657; }
.ads-decision-kpis { display: grid; gap: 12px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 18px 0 26px; }
.ads-decision-kpi { background: #fff; border: 1px solid #e2e8f1; border-radius: 14px; box-shadow: var(--shadow); min-width: 0; padding: 17px; }
.ads-decision-kpi strong, .ads-decision-kpi span { display: block; }
.ads-decision-kpi strong { color: #10294a; font: 800 25px Manrope, sans-serif; }
.ads-decision-kpi span { color: #667085; font-size: 12px; margin-top: 5px; overflow-wrap: anywhere; }
.ads-action-section { margin-top: 8px; }
.ads-action-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 14px; }
.ads-action-card { align-content: start; background: #fff; border: 1px solid #dfe6ef; border-radius: 16px; color: #10294a; cursor: pointer; display: grid; gap: 8px; min-height: 160px; padding: 18px; text-align: left; }
.ads-action-card:hover { border-color: #8cb1f1; box-shadow: 0 12px 26px rgba(18,48,86,.08); }
.ads-action-card .action-count { align-items: center; background: #eaf2ff; border-radius: 10px; color: #1766df; display: flex; font-weight: 800; height: 34px; justify-content: center; width: 34px; }
.ads-action-card small { color: #64748b; line-height: 1.45; }
.ads-action-card em { align-self: end; color: #1766df; font-style: normal; font-weight: 800; }

.ads-wizard-safety { margin-bottom: 10px; }
.ads-wizard-status { color: #64748b; font-size: 12px; margin: 8px 0 16px; }
.ads-wizard-layout { align-items: start; display: grid; gap: 16px; grid-template-columns: minmax(190px, .55fr) minmax(360px, 1.35fr) minmax(240px, .75fr); }
.ads-wizard-steps { display: grid; gap: 5px; }
.ads-wizard-step { align-items: center; background: transparent; border: 1px solid transparent; border-radius: 10px; color: #64748b; cursor: pointer; display: grid; gap: 10px; grid-template-columns: 28px minmax(0, 1fr); min-height: 44px; padding: 8px 10px; text-align: left; width: 100%; }
.ads-wizard-step span { align-items: center; background: #e8eef6; border-radius: 50%; display: flex; font-size: 12px; font-weight: 800; height: 28px; justify-content: center; width: 28px; }
.ads-wizard-step.active { background: #eef5ff; border-color: #bdd5fb; color: #175fc9; }
.ads-wizard-step.complete span { background: #dff5ec; color: #107657; }
.ads-wizard-card, .ads-wizard-summary { min-width: 0; }
.ads-wizard-card h2, .ads-wizard-summary h2 { margin-top: 0; }
.ads-wizard-fields { display: grid; gap: 15px; }
.ads-wizard-field { display: grid; gap: 7px; }
.ads-wizard-field label, .ads-wizard-field legend { color: #334155; font-size: 13px; font-weight: 800; }
.ads-wizard-field input, .ads-wizard-field select, .ads-wizard-field textarea { background: #fff; border: 1px solid #d5deea; border-radius: 10px; color: #1e293b; font-size: 16px; min-height: 44px; padding: 10px 12px; width: 100%; }
.ads-wizard-field input[aria-invalid="true"], .ads-wizard-field select[aria-invalid="true"] { border-color: #c53f3f; box-shadow: 0 0 0 2px rgba(197,63,63,.12); }
.ads-field-error { color: #a82e2e; font-size: 12px; font-weight: 700; margin: 0; }
.ads-locked-choice { align-items: center; background: #f8fafc; border: 1px solid #dfe7f0; border-radius: 11px; display: flex; justify-content: space-between; min-height: 52px; padding: 11px 13px; }
.ads-locked-choice small { color: #64748b; }
.ads-wizard-field textarea { min-height: 104px; resize: vertical; }
.ads-choice-grid { border: 0; display: grid; gap: 9px; margin: 0; padding: 0; }
.ads-choice { align-items: start; background: #f8fafc; border: 1px solid #e2e8f0; border-radius: 11px; cursor: pointer; display: grid; gap: 10px; grid-template-columns: auto minmax(0, 1fr); min-height: 52px; padding: 11px; }
.ads-choice input { height: 20px; margin: 1px 0 0; min-height: 0; width: 20px; }
.ads-choice b, .ads-choice small { display: block; }
.ads-choice small { color: #64748b; margin-top: 3px; }
.ads-wizard-actions { border-top: 1px solid #e6ebf2; display: flex; gap: 10px; justify-content: space-between; margin-top: 22px; padding-top: 16px; }
.ads-wizard-actions .button { min-height: 44px; }
.ads-wizard-primary-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.ads-wizard-summary dl { display: grid; gap: 9px; margin-bottom: 16px; }
.ads-wizard-summary dl div { background: #f7f9fc; border-radius: 9px; padding: 9px 10px; }
.ads-wizard-summary dt { color: #718096; font-size: 11px; }
.ads-wizard-summary dd { font-weight: 700; margin: 3px 0 0; overflow-wrap: anywhere; }
.ads-safe-wait { background: #fff7e9; border: 1px solid #f3d39c; border-radius: 11px; color: #75501d; line-height: 1.5; padding: 12px; }
.ads-safe-wait button { margin-top: 10px; min-height: 44px; width: 100%; }

@media(max-width:1100px){
  .ads-decision-kpis { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ads-wizard-layout { grid-template-columns: minmax(180px, .5fr) minmax(0, 1.5fr); }
  .ads-wizard-summary { grid-column: 1 / -1; }
}
@media(max-width:720px){
  .nav-submenu { margin-left: 20px; }
  .ads-overview-heading .page-actions, .ads-overview-heading .button { width: 100%; }
  .ads-connection-panel { align-items: flex-start; display: grid; }
  .ads-decision-kpis, .ads-action-grid, .ads-wizard-layout { grid-template-columns: 1fr; }
  .ads-decision-kpi { padding: 15px; }
  .ads-wizard-steps { display: grid; gap: 6px; grid-template-columns: repeat(3,minmax(0,1fr)); margin: 0; overflow: visible; padding: 0; }
  .ads-wizard-step { display: none; grid-template-columns: 24px minmax(0,1fr); min-width: 0; padding: 7px; }
  .ads-wizard-step.previous, .ads-wizard-step.active, .ads-wizard-step.next { display: grid; }
  .ads-wizard-step span { height: 24px; width: 24px; }
  .ads-wizard-step b { font-size: 11px; overflow-wrap: anywhere; }
  .ads-wizard-card, .ads-wizard-summary { padding: 16px; }
  .ads-wizard-actions { bottom: 0; margin: 22px -16px -16px; padding: 12px 16px; position: sticky; background: #fff; z-index: 2; }
  .ads-wizard-primary-actions { flex: 1; }
  .ads-wizard-primary-actions .button { flex: 1 1 130px; }
}

/* Phase 2: five-step creative review and single-use production authorization. */
.creative-flow-heading { align-items: center; }
.creative-state-badge { background: #eef4ff; border: 1px solid #cfe0fb; border-radius: 999px; color: #245ca8; font-size: 12px; font-weight: 800; max-width: 240px; overflow-wrap: anywhere; padding: 8px 11px; text-align: center; }
.creative-provider-lock { margin-bottom: 10px; }
.creative-status { color: #607089; font-size: 13px; margin: 10px 0 16px; min-height: 20px; }
.creative-status[data-state="error"], .creative-status[data-state="blocked"] { color: #9f2d2d; }
.creative-status[data-state="stale"] { color: #8a5700; }
.creative-progress { display: grid; gap: 8px; grid-template-columns: repeat(5, minmax(0, 1fr)); margin: 0 0 16px; min-width: 0; }
.creative-progress-step { align-items: center; background: #fff; border: 1px solid #dfe6ef; border-radius: 12px; color: #64748b; cursor: pointer; display: grid; gap: 8px; grid-template-columns: 30px minmax(0, 1fr); min-height: 52px; min-width: 0; padding: 9px 10px; text-align: left; }
.creative-progress-step span { align-items: center; background: #edf1f6; border-radius: 50%; display: flex; flex: none; font-size: 12px; font-weight: 800; height: 30px; justify-content: center; width: 30px; }
.creative-progress-step b { font-size: 12px; overflow-wrap: anywhere; }
.creative-progress-step.active { background: #eef5ff; border-color: #87aff0; color: #1559bd; }
.creative-progress-step.complete span { background: #dff5ec; color: #087653; }
.creative-progress-step:disabled { cursor: not-allowed; opacity: .58; }
.creative-stage-panel { box-sizing: border-box; min-height: 390px; min-width: 0; padding: 24px; }
.creative-stage-header { align-items: start; display: flex; justify-content: space-between; margin-bottom: 20px; }
.creative-stage-header h2 { margin: 3px 0 7px; }
.creative-stage-header p { color: #64748b; line-height: 1.5; margin: 0; }
.creative-stage-header .eyebrow { color: #1766df; font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.creative-source-grid, .creative-concept-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.creative-source-card { border: 1px solid #dce5ef; border-radius: 14px; min-width: 0; padding: 16px; }
.creative-source-card.cleared { border-top: 4px solid #17956d; }
.creative-source-card.blocked { border-top: 4px solid #bb3636; }
.creative-source-card.reference-only { background: repeating-linear-gradient(-45deg, #fff9ed, #fff9ed 12px, #fffdf8 12px, #fffdf8 24px); border-color: #e4ba68; }
.creative-card-head { align-items: start; display: flex; gap: 10px; justify-content: space-between; }
.creative-card-head h3 { margin: 0; overflow-wrap: anywhere; }
.creative-card-head span { background: #eef2f7; border-radius: 999px; flex: none; font-size: 9px; font-weight: 900; letter-spacing: .04em; padding: 6px 7px; }
.reference-warning { color: #7d4d00; display: block; font-size: 13px; line-height: 1.45; margin: 15px 0 7px; }
.creative-source-card p { color: #5f6e83; font-size: 13px; line-height: 1.5; }
.creative-facts { display: grid; gap: 8px; margin: 14px 0 0; }
.creative-facts div { background: #f6f8fb; border-radius: 9px; min-width: 0; padding: 9px 10px; }
.creative-facts dt { color: #718096; font-size: 11px; }
.creative-facts dd { font-weight: 700; margin: 3px 0 0; overflow-wrap: anywhere; }
.creative-concept-card { align-items: start; background: #fff; border: 2px solid #dfe6ef; border-radius: 15px; cursor: pointer; display: grid; gap: 11px; grid-template-columns: 22px 34px minmax(0, 1fr); min-height: 150px; min-width: 0; padding: 16px; }
.creative-concept-card:hover, .creative-concept-card.selected { background: #f5f9ff; border-color: #4d87e2; }
.creative-concept-card input { height: 22px; margin: 2px 0 0; min-height: 0; width: 22px; }
.creative-concept-card > span:last-child { min-width: 0; }
.creative-concept-card b, .creative-concept-card small, .creative-concept-card em { display: block; overflow-wrap: anywhere; }
.creative-concept-card small { color: #5f6e83; line-height: 1.5; margin-top: 7px; }
.creative-concept-card em { color: #1766df; font-size: 11px; font-style: normal; font-weight: 800; margin-top: 12px; }
.creative-concept-number { align-items: center; background: #eaf2ff; border-radius: 9px; color: #1766df; display: flex; font-size: 13px; font-weight: 900; height: 34px; justify-content: center; width: 34px; }
.creative-package-grid { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.4fr) minmax(240px, .7fr); }
.creative-package-grid > * { background: #f8fafc; border: 1px solid #e3e9f1; border-radius: 14px; min-width: 0; padding: 17px; }
.creative-package-grid h3 { margin: 0 0 13px; }
.creative-shot-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.creative-shot-list li { align-items: start; display: grid; gap: 12px; grid-template-columns: 74px minmax(0, 1fr); }
.creative-shot-list li > span { background: #e9f2ff; border-radius: 8px; color: #175fc9; font-size: 11px; font-weight: 800; padding: 7px; text-align: center; }
.creative-shot-list p { color: #607089; line-height: 1.45; margin: 4px 0 0; overflow-wrap: anywhere; }
.creative-output-list { display: grid; gap: 8px; list-style: none; margin: 0; padding: 0; }
.creative-output-list li { background: #fff; border-radius: 9px; display: grid; gap: 3px; padding: 10px; }
.creative-output-list span { color: #64748b; font-size: 12px; }
.creative-rule { color: #526176; font-size: 13px; line-height: 1.5; margin: 14px 0 0; }
.creative-prompt-details, .creative-agent-details { border: 1px solid #dfe6ef; border-radius: 12px; margin-top: 14px; padding: 0 14px; }
.creative-prompt-details summary, .creative-agent-details summary { color: #174f9d; cursor: pointer; font-weight: 800; min-height: 44px; padding: 12px 0; }
.creative-prompt-details > div, .creative-agent-details > div, .creative-agent-details > dl { border-top: 1px solid #e4eaf2; color: #526176; line-height: 1.55; margin: 0; overflow-wrap: anywhere; padding: 13px 0; }
.creative-cost-grid { display: grid; gap: 11px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; }
.creative-cost-grid div { background: #f6f8fb; border: 1px solid #e4eaf2; border-radius: 12px; min-width: 0; padding: 14px; }
.creative-cost-grid dt { color: #718096; font-size: 12px; }
.creative-cost-grid dd { font: 800 16px/1.35 Manrope, sans-serif; margin: 5px 0 0; overflow-wrap: anywhere; }
.creative-stop-loss, .creative-fatal { border-radius: 12px; display: grid; gap: 4px; line-height: 1.45; margin-top: 16px; padding: 14px 16px; }
.creative-stop-loss { background: #eef7f3; border: 1px solid #bfe4d5; color: #146448; }
.creative-fatal { background: #fff1f1; border: 1px solid #efb6b6; color: #902a2a; }
.creative-authorization { background: #fff8ea; border: 1px solid #edca83; border-radius: 14px; color: #614518; padding: 18px; }
.creative-authorization strong { display: block; font-size: 16px; line-height: 1.55; }
.creative-authorization ul { display: grid; gap: 7px; margin: 13px 0 0; padding-left: 21px; }
.creative-disabled-reason { color: #8b3a3a; font-size: 13px; font-weight: 700; margin: 13px 0 0; }
.creative-stage-actions { border-top: 1px solid #e4eaf2; display: flex; justify-content: flex-end; margin-top: 20px; padding-top: 16px; }
.creative-primary { min-height: 44px; }
.creative-primary:disabled { cursor: not-allowed; opacity: .56; }
.creative-empty-state { align-content: center; display: grid; justify-items: center; min-height: 320px; padding: 24px; text-align: center; }
.creative-empty-state > span { align-items: center; background: #eef3fa; border-radius: 50%; color: #42638f; display: flex; font-size: 23px; height: 48px; justify-content: center; width: 48px; }
.creative-empty-state h2 { margin: 15px 0 7px; }
.creative-empty-state p { color: #64748b; line-height: 1.5; margin: 0 0 16px; max-width: 540px; }
.creative-correlation { background: #f3f6fa; border-radius: 8px; color: #526176; font-family: ui-monospace, monospace; margin: -4px 0 14px; overflow-wrap: anywhere; padding: 7px 9px; }
.creative-skeleton { display: grid; gap: 8px; max-width: 420px; width: 100%; }
.creative-skeleton i { animation: creative-skeleton-pulse 1.4s ease-in-out infinite alternate; background: #e7ecf3; border-radius: 8px; display: block; height: 16px; }
.creative-skeleton i:nth-child(2) { width: 82%; }
.creative-skeleton i:nth-child(3) { width: 64%; }
.creative-loading-late { animation: creative-loading-note 0s linear 10s forwards; opacity: 0; }
.creative-blocked-owner { display: grid; gap: 8px; margin: 0 0 16px; max-width: 460px; width: 100%; }
.creative-blocked-owner div { background: #fff1f1; border: 1px solid #efc0c0; border-radius: 9px; padding: 9px 11px; }
.creative-blocked-owner dt { color: #8e4343; font-size: 11px; }
.creative-blocked-owner dd { color: #742929; font-weight: 800; margin: 3px 0 0; }
@keyframes creative-skeleton-pulse { to { opacity: .45; } }
@keyframes creative-loading-note { to { opacity: 1; } }
#view-ads-creative button:focus-visible, #view-ads-creative input:focus-visible, #view-ads-creative summary:focus-visible, #creativeStageHeading:focus-visible { outline: 3px solid #78a9f5; outline-offset: 3px; }
#view-ads-creative input, #view-ads-creative select, #view-ads-creative textarea { font-size: 16px; }

@media(max-width:900px){
  .creative-source-grid, .creative-concept-grid { grid-template-columns: 1fr; }
  .creative-package-grid { grid-template-columns: 1fr; }
  .creative-cost-grid { grid-template-columns: 1fr; }
}
@media(max-width:720px){
  #view-ads-creative { max-width: 100%; min-width: 0; }
  .creative-flow-heading { align-items: flex-start; display: grid; }
  .creative-state-badge { max-width: 100%; }
  .creative-progress { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .creative-progress-step { display: none; grid-template-columns: 24px minmax(0, 1fr); min-height: 52px; min-width: 0; padding: 7px; }
  .creative-progress-step.previous, .creative-progress-step.active, .creative-progress-step.next { display: grid; }
  .creative-progress-step span { height: 24px; width: 24px; }
  .creative-progress-step b { font-size: 10px; }
  .creative-stage-panel { min-height: 360px; padding: 16px; }
  .creative-stage-actions { margin: 20px -16px -16px; padding: 12px 16px; }
  .creative-stage-actions .creative-primary { width: 100%; }
  .creative-cost-grid { grid-template-columns: 1fr; }
  .creative-shot-list li { grid-template-columns: 62px minmax(0, 1fr); }
}
@media(max-width:375px){
  .creative-progress { gap: 5px; }
  .creative-progress-step { gap: 5px; padding: 6px 5px; }
  .creative-concept-card { grid-template-columns: 22px minmax(0, 1fr); padding: 13px; }
  .creative-concept-number { display: none; }
  .creative-card-head { display: grid; }
  .creative-card-head span { justify-self: start; }
}
@media(prefers-reduced-motion:reduce){
  .creative-progress-step, .creative-concept-card, .creative-skeleton i { animation: none; scroll-behavior: auto; transition: none; }
  .creative-loading-late { animation: none; opacity: 1; }
}

/* Phase 6: read-only production preview and media QA. */
.creative-review-entry-wrap { align-items: center; display: flex; flex-wrap: wrap; gap: 9px; justify-content: flex-end; }
.creative-review-entry { min-height: 44px; }
.creative-review-view { box-sizing: border-box; margin: 0 auto; max-width: 1180px; min-width: 0; }
.creative-review-view * { box-sizing: border-box; }
.creative-review-heading { align-items: center; }
.creative-review-heading > div { min-width: 0; }
.creative-review-state { background: #eef4ff; border: 1px solid #cfe0fb; border-radius: 999px; color: #245ca8; flex: none; font-size: 12px; font-weight: 800; max-width: 250px; overflow-wrap: anywhere; padding: 8px 11px; text-align: center; }
.creative-review-status { color: #607089; font-size: 13px; margin: 10px 0 16px; min-height: 20px; overflow-wrap: anywhere; }
.creative-review-status[data-state="error"], .creative-review-status[data-state="blocked"] { color: #9f2d2d; }
.creative-review-status[data-state="stale"], .creative-review-status[data-state="partial"] { color: #805500; }
.creative-review-progress { display: grid; gap: 8px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin: 0 0 16px; min-width: 0; }
.creative-review-step { align-items: center; background: #fff; border: 1px solid #dfe6ef; border-radius: 12px; color: #64748b; cursor: pointer; display: grid; gap: 8px; grid-template-columns: 30px minmax(0, 1fr); min-height: 52px; min-width: 0; padding: 9px 10px; text-align: left; }
.creative-review-step span { align-items: center; background: #edf1f6; border-radius: 50%; display: flex; font-size: 12px; font-weight: 800; height: 30px; justify-content: center; width: 30px; }
.creative-review-step b { font-size: 12px; overflow-wrap: anywhere; }
.creative-review-step.active { background: #eef5ff; border-color: #87aff0; color: #1559bd; }
.creative-review-step.available span { background: #dff5ec; color: #087653; }
.creative-review-step:disabled { cursor: not-allowed; opacity: .58; }
.creative-review-panel { min-height: 390px; min-width: 0; padding: 24px; }
.creative-review-section-head { align-items: start; display: flex; gap: 14px; justify-content: space-between; margin-bottom: 20px; }
.creative-review-section-head h2 { margin: 3px 0 7px; }
.creative-review-section-head p { color: #64748b; line-height: 1.5; margin: 0; }
.creative-review-kind { background: #edf4ff; border-radius: 999px; color: #185baa; flex: none; font-size: 11px; font-weight: 800; padding: 7px 10px; }
.creative-review-layout { display: grid; gap: 18px; grid-template-columns: minmax(0, 1.4fr) minmax(250px, .7fr); min-width: 0; }
.creative-review-preview { align-content: center; aspect-ratio: var(--creative-review-ratio, 4 / 5); background: linear-gradient(145deg, #eaf1fb, #f8fafc); border: 1px solid #dbe5f1; border-radius: 16px; display: grid; justify-items: center; max-height: 520px; min-height: 260px; overflow: hidden; padding: 24px; text-align: center; width: min(100%, 420px); }
.creative-review-preview span { align-items: center; background: #fff; border: 1px solid #d9e3ef; border-radius: 50%; color: #35679e; display: flex; font-size: 24px; height: 54px; justify-content: center; width: 54px; }
.creative-review-preview strong { margin-top: 14px; }
.creative-review-preview p { color: #607089; line-height: 1.5; margin: 7px 0 0; max-width: 300px; }
.creative-review-facts, .creative-review-connectors { display: grid; gap: 9px; margin: 0; }
.creative-review-facts div, .creative-review-connectors div { background: #f6f8fb; border: 1px solid #e3e9f1; border-radius: 11px; min-width: 0; padding: 11px 12px; }
.creative-review-facts dt, .creative-review-connectors dt { color: #718096; font-size: 11px; }
.creative-review-facts dd, .creative-review-connectors dd { font-weight: 800; margin: 4px 0 0; overflow-wrap: anywhere; }
.creative-review-privacy { background: #eef8f4; border: 1px solid #c6e7da; border-radius: 11px; color: #176448; line-height: 1.45; margin-top: 12px; padding: 12px; }
.creative-review-checks { display: grid; gap: 10px; }
.creative-review-check { align-items: start; border: 1px solid #e0e7f0; border-radius: 12px; display: grid; gap: 12px; grid-template-columns: minmax(140px, 1fr) minmax(0, 1.2fr) auto; padding: 13px 14px; }
.creative-review-check > div { min-width: 0; }
.creative-review-check strong, .creative-review-check small { display: block; overflow-wrap: anywhere; }
.creative-review-check small { color: #718096; margin-top: 4px; }
.creative-review-check-state { border-radius: 999px; font-size: 11px; font-weight: 900; padding: 6px 8px; white-space: nowrap; }
.creative-review-check-state[data-state="PASS"] { background: #def5eb; color: #087653; }
.creative-review-check-state[data-state="FAIL"] { background: #ffe8e8; color: #9c2828; }
.creative-review-check-state[data-state="NOT_APPLICABLE"] { background: #eef2f7; color: #5e6b7d; }
.creative-review-summary { border-radius: 13px; display: grid; gap: 4px; margin-bottom: 16px; padding: 14px 16px; }
.creative-review-summary[data-tone="good"] { background: #eaf8f2; border: 1px solid #bfe4d5; color: #126348; }
.creative-review-summary[data-tone="warn"] { background: #fff7e8; border: 1px solid #eed199; color: #765018; }
.creative-review-summary[data-tone="bad"] { background: #fff0f0; border: 1px solid #efbaba; color: #8f2929; }
.creative-review-score-layout { align-items: start; display: grid; gap: 18px; grid-template-columns: 180px minmax(0, 1fr); }
.creative-review-score { align-content: center; aspect-ratio: 1; background: #f5f8fc; border: 12px solid #dfeaf7; border-radius: 50%; display: grid; justify-items: center; text-align: center; }
.creative-review-score b { color: #12345b; font: 800 38px/1 Manrope, sans-serif; }
.creative-review-score span { color: #64748b; font-size: 12px; margin-top: 5px; }
.creative-review-rubric { display: grid; gap: 8px; margin: 0; }
.creative-review-rubric div { align-items: center; background: #f7f9fc; border-radius: 9px; display: flex; gap: 12px; justify-content: space-between; padding: 9px 11px; }
.creative-review-rubric dt { color: #526176; }
.creative-review-rubric dd { font-weight: 800; margin: 0; }
.creative-review-details { border: 1px solid #dfe6ef; border-radius: 12px; margin-top: 14px; padding: 0 14px; }
.creative-review-details summary { color: #174f9d; cursor: pointer; font-weight: 800; min-height: 44px; padding: 12px 0; }
.creative-review-details > div { border-top: 1px solid #e4eaf2; color: #526176; line-height: 1.5; padding: 12px 0; }
.creative-review-details p { margin: 5px 0 0; }
.creative-review-notification { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.creative-review-notification article { border: 1px solid #dfe6ef; border-radius: 14px; min-width: 0; padding: 16px; }
.creative-review-notification h3 { margin: 0 0 8px; }
.creative-review-notification p { color: #64748b; line-height: 1.5; margin: 0; }
.creative-review-lock { background: #fff8e9; border: 1px solid #edcf91; border-radius: 14px; margin-top: 18px; padding: 16px; }
.creative-review-lock h3 { margin: 0 0 6px; }
.creative-review-lock > p { color: #72501c; line-height: 1.45; margin: 0 0 13px; }
.creative-review-actions { border-top: 1px solid #e4eaf2; display: flex; justify-content: flex-end; margin-top: 20px; padding-top: 16px; }
.creative-review-primary { min-height: 44px; }
.creative-review-primary:disabled { cursor: not-allowed; opacity: .56; }
.creative-review-async { align-content: center; display: grid; justify-items: center; min-height: 320px; padding: 24px; text-align: center; }
.creative-review-async > span { align-items: center; background: #eef3fa; border-radius: 50%; color: #42638f; display: flex; font-size: 23px; height: 48px; justify-content: center; width: 48px; }
.creative-review-async h2 { margin: 15px 0 7px; }
.creative-review-async p { color: #64748b; line-height: 1.5; margin: 0 0 16px; max-width: 560px; }
.creative-review-skeleton { display: grid; gap: 8px; max-width: 420px; width: 100%; }
.creative-review-skeleton i { animation: creative-skeleton-pulse 1.4s ease-in-out infinite alternate; background: #e7ecf3; border-radius: 8px; display: block; height: 16px; }
.creative-review-skeleton i:nth-child(2) { width: 80%; }
.creative-review-skeleton i:nth-child(3) { width: 60%; }
.creative-review-view button:focus-visible, .creative-review-view summary:focus-visible, #creativeReviewPageHeading:focus-visible, #creativeReviewHeading:focus-visible { outline: 3px solid #78a9f5; outline-offset: 3px; }
.creative-review-view input, .creative-review-view select, .creative-review-view textarea { font-size: 16px; }

@media(max-width:900px){
  .creative-review-layout, .creative-review-score-layout { grid-template-columns: 1fr; }
  .creative-review-preview { justify-self: center; }
  .creative-review-score { max-width: 180px; width: 100%; }
}
@media(max-width:720px){
  .creative-review-entry-wrap { align-items: stretch; justify-content: stretch; width: 100%; }
  .creative-review-entry { width: 100%; }
  .creative-review-heading { align-items: flex-start; display: grid; }
  .creative-review-state { justify-self: start; max-width: 100%; }
  .creative-review-progress { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .creative-review-step { display: none; grid-template-columns: 24px minmax(0, 1fr); min-height: 52px; padding: 7px; }
  .creative-review-step.previous, .creative-review-step.active, .creative-review-step.next { display: grid; }
  .creative-review-step span { height: 24px; width: 24px; }
  .creative-review-step b { font-size: 10px; }
  .creative-review-panel { min-height: 360px; padding: 16px; }
  .creative-review-check { grid-template-columns: 1fr auto; }
  .creative-review-check > div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .creative-review-notification { grid-template-columns: 1fr; }
  .creative-review-actions { margin: 20px -16px -16px; padding: 12px 16px; }
  .creative-review-primary { width: 100%; }
}
@media(max-width:375px){
  .creative-review-progress { gap: 5px; }
  .creative-review-step { gap: 5px; padding: 6px 5px; }
  .creative-review-section-head { display: grid; }
  .creative-review-kind { justify-self: start; }
  .creative-review-check { grid-template-columns: 1fr; }
  .creative-review-check > div:nth-child(2), .creative-review-check-state { grid-column: 1; grid-row: auto; justify-self: start; }
}
@media(prefers-reduced-motion:reduce){
  .creative-review-step, .creative-review-skeleton i { animation: none; scroll-behavior: auto; transition: none; }
}

/* Phase 3A: sanitized Instagram reference ideas. */
.content-ideas-view { box-sizing: border-box; margin: 0 auto; max-width: 1180px; min-width: 0; }
.content-ideas-view * { box-sizing: border-box; }
.content-ideas-heading { margin-bottom: 18px; }
.content-ideas-heading > div { min-width: 0; }
.content-ideas-reference-lock { margin-bottom: 14px; }
.content-ideas-status { color: #64748b; font-size: 13px; margin: 10px 0 14px; min-height: 20px; overflow-wrap: anywhere; }
.content-ideas-view input, .content-ideas-view select, .content-ideas-view textarea { font-size: 16px; }
.content-ideas-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.content-ideas-filter { background: #fff; border: 1px solid #dfe6ef; border-radius: 999px; color: #526176; cursor: pointer; font-size: 14px; font-weight: 700; min-height: 44px; padding: 9px 14px; }
.content-ideas-filter.active { background: #1766df; border-color: #1766df; color: #fff; }
.content-ideas-grid { display: grid; gap: 16px; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; }
.content-idea-card { background: #fff; border: 1px solid #dfe6ef; border-radius: 16px; display: grid; min-width: 0; overflow: hidden; }
.content-idea-placeholder { align-items: center; background: linear-gradient(135deg, #eef3fa, #f8fafc); color: #526176; display: flex; gap: 9px; min-height: 72px; padding: 14px 16px; }
.content-idea-placeholder span { align-items: center; background: #fff; border: 1px solid #dfe6ef; border-radius: 10px; display: flex; font-size: 20px; height: 42px; justify-content: center; width: 42px; }
.content-idea-placeholder small { font-weight: 800; }
.content-idea-card-body { align-content: start; display: grid; gap: 12px; min-width: 0; padding: 16px; }
.content-idea-card-head { align-items: start; display: flex; gap: 10px; justify-content: space-between; }
.content-idea-card-head span { color: #10294a; font-weight: 800; }
.content-idea-card-head time { color: #718096; font-size: 12px; text-align: right; }
.content-idea-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.content-idea-badges span { background: #eef3fa; border-radius: 999px; color: #526176; font-size: 11px; font-weight: 800; padding: 5px 8px; }
.content-idea-badges [data-permission="REFERENCE_ONLY"] { background: #fff3d8; color: #855b0d; }
.content-idea-badges [data-status="CONVERTED"] { background: #dff5ec; color: #087653; }
.content-idea-badges [data-status="BLOCKED"] { background: #ffe5e5; color: #922f2f; }
.content-idea-summary { color: #334155; display: -webkit-box; line-height: 1.5; margin: 0; min-height: 4.5em; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.content-idea-risk { color: #79520b; font-size: 13px; line-height: 1.45; margin: 0; overflow-wrap: anywhere; }
.content-idea-actions { align-items: stretch; display: grid; gap: 8px; margin-top: auto; }
.content-idea-actions a, .content-ideas-primary { align-items: center; display: flex; justify-content: center; min-height: 44px; text-align: center; }
.content-idea-actions a { border: 1px solid #dfe6ef; border-radius: 10px; color: #175fc9; font-size: 13px; font-weight: 800; padding: 8px 12px; text-decoration: none; }
.content-idea-actions a[aria-disabled="true"] { color: #8793a5; cursor: not-allowed; }
.content-ideas-primary:disabled { cursor: not-allowed; opacity: .56; }
.content-ideas-async { align-content: center; background: #fff; border: 1px solid #dfe6ef; border-radius: 16px; display: grid; grid-column: 1 / -1; justify-items: center; min-height: 300px; padding: 24px; text-align: center; }
.content-ideas-async > span { align-items: center; background: #eef3fa; border-radius: 50%; color: #42638f; display: flex; font-size: 22px; height: 48px; justify-content: center; width: 48px; }
.content-ideas-async h2 { margin: 14px 0 7px; }
.content-ideas-async p { color: #64748b; line-height: 1.5; margin: 0 0 16px; max-width: 560px; }
.content-idea-detail-head { align-items: center; display: flex; gap: 16px; justify-content: space-between; margin: 12px 0 18px; }
.content-idea-detail-head > div { min-width: 0; }
.content-idea-detail-head h1 { margin: 4px 0; overflow-wrap: anywhere; }
.content-idea-detail-head p { color: #64748b; margin: 0; }
.content-idea-detail-head > span { background: #eef3fa; border-radius: 999px; color: #526176; flex: none; font-size: 12px; font-weight: 800; padding: 8px 11px; }
.content-idea-detail-grid { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .7fr); min-width: 0; }
.content-idea-detail-grid main, .content-idea-detail-grid aside { display: grid; gap: 14px; min-width: 0; }
.content-idea-detail-section { min-width: 0; }
.content-idea-detail-section h2 { font-size: 18px; margin-top: 0; }
.content-idea-detail-section p, .content-idea-detail-section li { color: #526176; line-height: 1.6; overflow-wrap: anywhere; }
.content-idea-reference-warning { background: #fff4df; border: 1px solid #efcf92; border-radius: 14px; color: #664814; padding: 16px; }
.content-idea-reference-warning strong { letter-spacing: .06em; }
.content-idea-reference-warning p { line-height: 1.5; margin: 7px 0 0; }
.content-idea-facts { background: #fff; border: 1px solid #dfe6ef; border-radius: 14px; display: grid; gap: 9px; margin: 0; padding: 15px; }
.content-idea-facts div { background: #f6f8fb; border-radius: 9px; padding: 10px; }
.content-idea-facts dt { color: #718096; font-size: 11px; }
.content-idea-facts dd { font-weight: 800; margin: 3px 0 0; overflow-wrap: anywhere; }
.content-idea-confirmation, .content-idea-conversion-success { background: #eef5ff; border: 1px solid #bad2f6; border-radius: 14px; display: grid; gap: 11px; padding: 16px; }
.content-idea-confirmation h2, .content-idea-conversion-success h2 { font-size: 18px; margin: 0; }
.content-idea-confirmation p, .content-idea-conversion-success p { color: #40516b; line-height: 1.5; margin: 0; }
.content-idea-decision-reason { font-size: 13px; font-weight: 700; }
.content-ideas-view button:focus-visible, .content-ideas-view a:focus-visible, .content-ideas-view [tabindex="-1"]:focus-visible { outline: 3px solid #78a9f5; outline-offset: 3px; }

@media(max-width:900px){
  .content-ideas-grid, .content-idea-detail-grid { grid-template-columns: minmax(0, 1fr); }
}
@media(max-width:720px){
  .content-ideas-view { max-width: 100%; width: 100%; }
  .content-ideas-heading, .content-idea-detail-head { align-items: flex-start; display: grid; }
  .content-ideas-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-ideas-filter { min-width: 0; padding: 8px; }
  .content-idea-card-head { display: grid; }
  .content-idea-card-head time { text-align: left; }
  .content-idea-actions .content-ideas-primary { width: 100%; }
}

/* Phase 4: honest cross-source analytics and per-ad performance. */
.phase4-analytics-view, #view-ads-performance, #view-ad-performance-detail { box-sizing: border-box; min-width: 0; }
.phase4-analytics-view *, #view-ads-performance *, #view-ad-performance-detail * { box-sizing: border-box; }
.phase4-refresh, .filter-chip, .analytics-tab, .performance-card { min-height: 44px; }
.phase4-refresh { height: 44px; }
.phase4-analytics-view input, .phase4-analytics-view select, .phase4-analytics-view textarea,
#view-ads-performance input, #view-ads-performance select, #view-ads-performance textarea { font-size: 16px; }
.phase4-source-status { color: #526176; font-size: 13px; margin: 8px 0 12px; min-height: 20px; overflow-wrap: anywhere; }
.phase4-source-status[data-state="stale"], .phase4-source-status[data-state="partial"] { color: #855b0d; }
.phase4-source-status[data-state="error"], .phase4-source-status[data-state="unauthorized"] { color: #922f2f; }
.phase4-async { align-content: center; background: #fff; border: 1px solid #dfe6ef; border-radius: 16px; display: grid; justify-items: center; min-height: 280px; padding: 24px; text-align: center; }
.phase4-async > span { align-items: center; background: #eef3fa; border-radius: 50%; color: #42638f; display: flex; font-size: 22px; height: 48px; justify-content: center; width: 48px; }
.phase4-async h2 { margin: 14px 0 7px; }
.phase4-async p { color: #64748b; line-height: 1.5; margin: 0 0 16px; max-width: 560px; }
.phase4-async .button { min-height: 44px; }
.phase4-decision-card { margin-bottom: 16px; padding: 22px; }
.phase4-decision-head, .source-title { align-items: flex-start; display: flex; gap: 12px; justify-content: space-between; }
.phase4-decision-head h2, .source-title h2 { margin: 4px 0 0; }
.sufficiency-badge, .attribution-badge, .source-health-badge { border-radius: 999px; flex: none; font-size: 11px; font-weight: 800; padding: 7px 10px; text-align: center; }
.sufficiency-badge.sufficient, .attribution-exact_ad { background: #dff5ec; color: #087653; }
.sufficiency-badge.insufficient, .attribution-unmatched { background: #fff0d8; color: #855b0d; }
.attribution-campaign_only { background: #eaf2ff; color: #175fc9; }
.attribution-stale { background: #ffe5e5; color: #922f2f; }
.source-health-success { background: #dff5ec; color: #087653; }
.source-health-empty, .source-health-loading, .source-health-partial { background: #eef1f5; color: #526176; }
.source-health-unauthorized, .source-health-error, .source-health-stale { background: #ffe5e5; color: #922f2f; }
.phase4-decision-grid { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 18px; }
.phase4-decision-grid section { background: #f6f8fb; border-radius: 12px; min-width: 0; padding: 15px; }
.phase4-decision-grid h3 { font-size: 13px; margin: 0 0 8px; }
.phase4-decision-grid p, .phase4-decision-grid li { color: #526176; line-height: 1.5; margin-bottom: 0; overflow-wrap: anywhere; }
.phase4-decision-grid ul { margin: 0; padding-left: 20px; }
.phase4-source-stack { display: grid; gap: 16px; min-width: 0; }
.phase4-caveat { background: #eef5ff; border: 1px solid #cfe0fb; border-radius: 11px; color: #31577f; line-height: 1.5; margin: 14px 0 0; padding: 12px 14px; }
.phase4-responsive-table { min-width: 640px; }
.strategy-tag.s-unknown { background: #eef1f5; color: #526176; }
.strategy-tag.s-airport_ewr, .strategy-tag.s-airport_jfk, .strategy-tag.s-airport_lga { background: #e9f7f2; color: #107657; }
#view-ads-performance button:focus-visible, #view-ad-performance-detail button:focus-visible,
.phase4-analytics-view button:focus-visible, .phase4-analytics-view [role="tab"]:focus-visible { outline: 3px solid #78a9f5; outline-offset: 3px; }

@media(max-width:900px){
  .phase4-decision-grid { grid-template-columns: 1fr; }
}
@media(max-width:720px){
  .phase4-analytics-view, #view-ads-performance, #view-ad-performance-detail { max-width: 100%; width: 100%; }
  .phase4-analytics-view .page-heading, #view-ads-performance .page-heading { align-items: flex-start; display: grid; }
  .phase4-refresh { width: 100%; }
  .filter-chip-row, .analytics-tabs { flex-wrap: wrap; overflow: visible; }
  .filter-chip, .analytics-tab { flex: 1 1 132px; white-space: normal; }
  .phase4-decision-head, .source-title { display: grid; }
  .sufficiency-badge, .attribution-badge { justify-self: start; }
  .source-detail { padding: 16px; }
  .phase4-responsive-table { border-collapse: separate; min-width: 0; width: 100%; }
  .phase4-responsive-table thead { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
  .phase4-responsive-table tbody, .phase4-responsive-table tr, .phase4-responsive-table td { display: block; width: 100%; }
  .phase4-responsive-table tr { background: #fff; border: 1px solid #dfe6ef; border-radius: 12px; margin-bottom: 10px; padding: 8px 12px; }
  .phase4-responsive-table td { align-items: baseline; border: 0; display: grid; gap: 10px; grid-template-columns: minmax(92px, .65fr) minmax(0, 1fr); overflow-wrap: anywhere; padding: 7px 0; text-align: right; }
  .phase4-responsive-table td::before { color: #718096; content: attr(data-label); font-size: 11px; font-weight: 800; text-align: left; text-transform: uppercase; }
  .site-table-wrap { overflow: visible; }
}

/* Phase 5A: read-only reports, experiments and landing-page recommendations. */
.phase5-analysis-view, .phase5-analysis-view * { box-sizing: border-box; }
.phase5-analysis-view { min-width: 0; }
.phase5-heading { align-items: flex-start; }
.phase5-refresh, .phase5-inline-back { min-height: 44px; }
.phase5-status { color: #526176; font-size: 13px; margin: 8px 0 14px; min-height: 20px; overflow-wrap: anywhere; }
.phase5-status[data-state="stale"], .phase5-status[data-state="partial"] { color: #855b0d; }
.phase5-status[data-state="error"], .phase5-status[data-state="unauthorized"] { color: #922f2f; }
.phase5-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; }
.phase5-card { background: #fff; border: 1px solid #dfe6ef; border-radius: 16px; color: #10294a; cursor: pointer; display: grid; gap: 10px; min-height: 238px; min-width: 0; padding: 18px; text-align: left; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.phase5-card:hover { border-color: #b9cce8; box-shadow: 0 12px 28px rgba(18,48,86,.08); transform: translateY(-1px); }
.phase5-card:focus-visible, .phase5-analysis-view button:focus-visible, .phase5-analysis-view a:focus-visible { outline: 3px solid #78a9f5; outline-offset: 3px; }
.phase5-card-head, .phase5-detail-head { align-items: flex-start; display: flex; gap: 10px; justify-content: space-between; min-width: 0; }
.phase5-card > strong { font-family: Manrope,sans-serif; font-size: 16px; line-height: 1.35; overflow-wrap: anywhere; }
.phase5-card > p { color: #526176; line-height: 1.45; margin: 0; overflow-wrap: anywhere; }
.phase5-card > em { align-self: end; color: #1766df; font-style: normal; font-weight: 800; }
.phase5-slot, .phase5-state, .phase5-not-applied { align-items: center; border-radius: 999px; display: inline-flex; font-size: 11px; font-weight: 800; line-height: 1.2; min-height: 28px; padding: 6px 9px; }
.phase5-slot { background: #edf4ff; color: #205aa8; }
.phase5-state { background: #eef3f8; color: #43566e; text-align: right; }
.phase5-state.state-final, .phase5-state.state-ready_for_review { background: #e8f7ef; color: #176641; }
.phase5-state.state-insufficient_data, .phase5-state.state-blocked_input, .phase5-state.state-stale { background: #fff4d8; color: #7a5307; }
.phase5-state.state-error { background: #fdeaea; color: #8c2929; }
.phase5-not-applied { background: #f4f1ff; color: #5a48a0; justify-self: start; }
.phase5-card-meta { display: flex; flex-wrap: wrap; gap: 7px; }
.phase5-card-meta span { background: #f6f8fb; border-radius: 8px; color: #526176; font-size: 12px; overflow-wrap: anywhere; padding: 7px 9px; }
.phase5-async { align-content: center; background: #fff; border: 1px solid #dfe6ef; border-radius: 16px; display: grid; grid-column: 1 / -1; justify-items: center; min-height: 280px; padding: 24px; text-align: center; }
.phase5-async > span { align-items: center; background: #eef3fa; border-radius: 50%; color: #42638f; display: flex; font-size: 22px; height: 48px; justify-content: center; width: 48px; }
.phase5-async h2 { margin: 14px 0 7px; }
.phase5-async p { color: #64748b; line-height: 1.5; margin: 0 0 16px; max-width: 560px; }
.phase5-async .button { min-height: 44px; }
.phase5-inline-back { margin-bottom: 12px; }
.phase5-detail { display: grid; gap: 20px; grid-column: 1 / -1; min-width: 0; padding: 22px; }
.phase5-detail-head h2 { margin: 4px 0 0; overflow-wrap: anywhere; }
.phase5-summary-grid { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.phase5-summary-grid section { background: #f6f8fb; border-radius: 11px; display: grid; gap: 5px; min-width: 0; padding: 13px; }
.phase5-summary-grid small { color: #718096; font-size: 11px; font-weight: 800; text-transform: uppercase; }
.phase5-summary-grid strong { overflow-wrap: anywhere; }
.phase5-source-badges { display: flex; flex-wrap: wrap; gap: 7px; }
.phase5-source-badge { background: #eef3f8; border-radius: 999px; color: #43566e; font-size: 11px; font-weight: 800; padding: 7px 9px; }
.phase5-source-badge.source-success { background: #e8f7ef; color: #176641; }
.phase5-source-badge.source-stale, .phase5-source-badge.source-empty, .phase5-source-badge.source-partial { background: #fff4d8; color: #7a5307; }
.phase5-source-badge.source-error, .phase5-source-badge.source-unauthorized { background: #fdeaea; color: #8c2929; }
.phase5-detail-columns { display: grid; gap: 12px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.phase5-detail-columns > section, .phase5-landing-result, .phase5-variant-list { background: #f6f8fb; border-radius: 12px; min-width: 0; padding: 16px; }
.phase5-detail-columns h3, .phase5-landing-result h3, .phase5-variant-list h3 { margin: 0 0 9px; }
.phase5-detail-columns p, .phase5-detail-columns li, .phase5-landing-result p, .phase5-variant-list p { color: #526176; line-height: 1.5; overflow-wrap: anywhere; }
.phase5-detail-columns ul { margin: 0; padding-left: 20px; }
.phase5-observed { display: grid; gap: 7px; grid-template-columns: repeat(2,minmax(0,1fr)); margin-top: 12px; }
.phase5-observed span { background: #fff; border-radius: 8px; color: #64748b; display: grid; font-size: 11px; gap: 2px; padding: 9px; }
.phase5-observed b { color: #10294a; font-size: 15px; }
.phase5-threshold { border-top: 1px solid #dfe6ef; padding-top: 10px; }
.phase5-variant-list { display: grid; gap: 10px; }
.phase5-variant-list article { background: #fff; border: 1px solid #e4e9f0; border-radius: 10px; padding: 12px; }
.phase5-variant-list article p { margin-bottom: 0; }
.phase5-landing-result { display: grid; gap: 9px; }
.phase5-landing-result a { color: #1766df; font-weight: 800; min-height: 44px; overflow-wrap: anywhere; padding: 10px 0; }
.phase5-landing-candidates { display: grid; gap: 10px; min-width: 0; }
.phase5-landing-candidates > h3 { margin: 0; }
.phase5-landing-candidates > p { color: #526176; margin: 0; }
.phase5-landing-candidate { background: #f6f8fb; border: 1px solid #e0e7ef; border-radius: 12px; display: grid; gap: 9px; min-width: 0; padding: 14px; }
.phase5-landing-candidate > div { align-items: center; display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; }
.phase5-landing-candidate a { color: #1766df; font-weight: 800; min-height: 44px; overflow-wrap: anywhere; padding: 10px 0; }
.phase5-landing-candidate p { color: #526176; margin: 0; }
.phase5-landing-candidate ul { color: #526176; margin: 0; padding-left: 20px; }
.phase5-safety-note { background: #edf4ff; border: 1px solid #cfe0fb; border-radius: 10px; color: #31577f; line-height: 1.45; margin: 0; padding: 12px 14px; }
@media(max-width:1050px){.phase5-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.phase5-detail-columns{grid-template-columns:1fr}.phase5-detail-columns>section{min-width:0}}
@media(max-width:720px){.phase5-analysis-view{max-width:100%;width:100%}.phase5-heading{display:grid}.phase5-refresh{width:100%}.phase5-grid,.phase5-summary-grid{grid-template-columns:minmax(0,1fr)}.phase5-card{min-height:210px}.phase5-card-head,.phase5-detail-head{display:grid}.phase5-state{text-align:left}.phase5-detail{padding:16px}.phase5-observed{grid-template-columns:minmax(0,1fr)}.phase5-landing-candidate>div{align-items:flex-start;display:grid}}

/* Roadmap 20A: safe content analysis intake, list and written result. */
.content-analysis-view, .content-analysis-view * { box-sizing: border-box; }
.content-analysis-view { margin: 0 auto; max-width: 1180px; min-width: 0; }
.content-analysis-view [hidden] { display: none !important; }
.content-analysis-heading { align-items: flex-start; margin-bottom: 18px; }
.content-analysis-heading > div { min-width: 0; }
.content-analysis-heading h1, .content-analysis-detail-head h1 { overflow-wrap: anywhere; }
.content-analysis-primary, .content-analysis-back { min-height: 44px; }
.content-analysis-primary:disabled { cursor: not-allowed; opacity: .56; }
.content-analysis-safety { margin-bottom: 14px; }
.content-analysis-status { color: #526176; font-size: 13px; margin: 9px 0 14px; min-height: 20px; overflow-wrap: anywhere; }
.content-analysis-status[data-state="partial"], .content-analysis-status[data-state="human_review"], .content-analysis-status[data-state="stale"], .content-analysis-status[data-state="media_unavailable"] { color: #855b0d; }
.content-analysis-status[data-state="blocked"], .content-analysis-status[data-state="error"], .content-analysis-status[data-state="unauthorized"] { color: #922f2f; }
.content-analysis-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 18px; }
.content-analysis-filter { background: #fff; border: 1px solid #dfe6ef; border-radius: 999px; color: #526176; cursor: pointer; font-size: 14px; font-weight: 750; min-height: 44px; padding: 9px 14px; }
.content-analysis-filter.active { background: #1766df; border-color: #1766df; color: #fff; }
.content-analysis-grid { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); min-width: 0; }
.content-analysis-card { background: #fff; border: 1px solid #dfe6ef; border-radius: 16px; color: #10294a; cursor: pointer; display: grid; gap: 10px; min-height: 270px; min-width: 0; padding: 17px; text-align: left; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease; }
.content-analysis-card:hover { border-color: #b9cce8; box-shadow: 0 12px 28px rgba(18,48,86,.08); transform: translateY(-1px); }
.content-analysis-card-head { align-items: flex-start; display: flex; gap: 8px; justify-content: space-between; min-width: 0; }
.content-analysis-source { color: #245a9f; font-size: 12px; font-weight: 850; overflow-wrap: anywhere; }
.content-analysis-state { background: #eef3f8; border-radius: 999px; color: #43566e; flex: none; font-size: 11px; font-weight: 850; line-height: 1.2; padding: 7px 9px; text-align: center; }
.content-analysis-state.state-analysis_ready, .content-analysis-state.state-converted { background: #e5f6ee; color: #126746; }
.content-analysis-state.state-human_review, .content-analysis-state.state-analyzing { background: #fff4da; color: #80560a; }
.content-analysis-state.state-blocked { background: #fde9e9; color: #922f2f; }
.content-analysis-card > strong { font-family: Manrope,sans-serif; font-size: 17px; line-height: 1.35; overflow-wrap: anywhere; }
.content-analysis-card > p { color: #526176; display: -webkit-box; line-height: 1.5; margin: 0; min-height: 4.5em; overflow: hidden; overflow-wrap: anywhere; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.content-analysis-badges { display: flex; flex-wrap: wrap; gap: 6px; }
.content-analysis-badges span, .content-analysis-confidence { background: #f1f4f8; border-radius: 999px; color: #526176; font-size: 11px; font-weight: 800; padding: 6px 8px; }
.content-analysis-badges .risk-low { background: #e5f6ee; color: #126746; }
.content-analysis-badges .risk-medium { background: #fff4da; color: #80560a; }
.content-analysis-badges .risk-high, .content-analysis-badges .risk-blocked { background: #fde9e9; color: #922f2f; }
.content-analysis-performance { color: #176641; font-size: 11px; font-weight: 850; letter-spacing: .02em; }
.content-analysis-performance.unavailable { color: #79520b; }
.content-analysis-card time { color: #718096; font-size: 12px; }
.content-analysis-card em { align-self: end; color: #1766df; font-style: normal; font-weight: 850; }
.content-analysis-async { align-content: center; background: #fff; border: 1px solid #dfe6ef; border-radius: 16px; display: grid; grid-column: 1 / -1; justify-items: center; min-height: 300px; padding: 24px; text-align: center; }
.content-analysis-async > span { align-items: center; background: #eef3fa; border-radius: 50%; color: #42638f; display: flex; font-size: 22px; height: 48px; justify-content: center; width: 48px; }
.content-analysis-async h2 { margin: 14px 0 7px; }
.content-analysis-async p { color: #64748b; line-height: 1.5; margin: 0 0 16px; max-width: 580px; }

.content-analysis-form { display: grid; gap: 20px; margin: 0 auto; max-width: 820px; min-width: 0; padding: 24px; }
.content-analysis-form fieldset { border: 0; margin: 0; min-width: 0; padding: 0; }
.content-analysis-form legend, .content-analysis-field > span, .content-analysis-file > span { color: #10294a; font-size: 14px; font-weight: 850; margin-bottom: 8px; }
.content-analysis-choice { display: grid; gap: 10px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.content-analysis-choice legend { grid-column: 1 / -1; }
.content-analysis-choice label { align-items: center; background: #f7f9fc; border: 1px solid #dfe6ef; border-radius: 13px; cursor: pointer; display: grid; gap: 10px; grid-template-columns: 44px minmax(0, 1fr); min-height: 76px; min-width: 0; padding: 10px 13px; }
.content-analysis-choice label:has(input:checked) { background: #edf4ff; border-color: #76a8ef; }
.content-analysis-choice input[type="radio"], .content-analysis-confirm input[type="checkbox"] { accent-color: #1766df; height: 44px; margin: 0; width: 44px; }
.content-analysis-choice label span { display: grid; gap: 3px; min-width: 0; }
.content-analysis-choice label small, .content-analysis-field small, .content-analysis-file small { color: #64748b; line-height: 1.4; overflow-wrap: anywhere; }
.content-analysis-field, .content-analysis-file { display: grid; min-width: 0; }
.content-analysis-field input, .content-analysis-field select, .content-analysis-file input { background: #fff; border: 1px solid #ccd6e3; border-radius: 10px; color: #10294a; font-size: 16px; min-height: 48px; min-width: 0; padding: 10px 12px; width: 100%; }
.content-analysis-file input { padding: 6px; }
.content-analysis-file input::file-selector-button { background: #edf4ff; border: 0; border-radius: 7px; color: #175fc9; cursor: pointer; font-weight: 800; margin-right: 10px; min-height: 36px; padding: 7px 11px; }
.content-analysis-field small, .content-analysis-file small { margin-top: 6px; }
.content-analysis-source-panel { display: grid; gap: 14px; min-width: 0; }
.content-analysis-rights-lock { background: #fff5df; border: 1px solid #edcf91; border-radius: 12px; color: #664814; padding: 14px; }
.content-analysis-rights-lock p { line-height: 1.45; margin: 6px 0 0; }
.content-analysis-form-error { color: #9c2929; font-weight: 750; margin: 0; min-height: 22px; }
.content-analysis-submit { align-items: center; border-top: 1px solid #e3e9f0; display: flex; gap: 16px; justify-content: space-between; padding-top: 17px; }
.content-analysis-submit p { color: #526176; line-height: 1.4; margin: 0; max-width: 500px; }

.content-analysis-detail-head { align-items: center; display: flex; gap: 16px; justify-content: space-between; margin: 12px 0 14px; min-width: 0; }
.content-analysis-detail-head > div { min-width: 0; }
.content-analysis-detail-head h1 { margin: 4px 0; }
.content-analysis-detail-head p { color: #64748b; margin: 0; }
.content-analysis-performance-banner { background: #e9f7f1; border: 1px solid #bfe4d5; border-radius: 11px; color: #126746; font-size: 12px; font-weight: 850; margin-bottom: 16px; padding: 12px 14px; }
.content-analysis-performance-banner.unavailable { background: #fff4df; border-color: #efcf92; color: #79520b; }
.content-analysis-detail-grid { align-items: start; display: grid; gap: 18px; grid-template-columns: minmax(0, 1.45fr) minmax(280px, .72fr); min-width: 0; }
.content-analysis-detail-grid main, .content-analysis-detail-grid aside { display: grid; gap: 14px; min-width: 0; }
.content-analysis-section { min-width: 0; padding: 20px; }
.content-analysis-section h2, .content-analysis-conversion h2 { font-size: 18px; margin: 0 0 10px; }
.content-analysis-section p, .content-analysis-section li, .content-analysis-conversion p, .content-analysis-suitability p { color: #526176; line-height: 1.55; overflow-wrap: anywhere; }
.content-analysis-section ul { margin: 0; padding-left: 20px; }
.content-analysis-risk-grid { display: grid; gap: 8px; }
.content-analysis-risk-item { background: #f7f9fc; border-left: 3px solid #b8c4d3; border-radius: 9px; padding: 11px 12px; }
.content-analysis-risk-item.risk-low { border-left-color: #2d9a70; }
.content-analysis-risk-item.risk-medium { border-left-color: #d59520; }
.content-analysis-risk-item.risk-high { border-left-color: #cc4d4d; }
.content-analysis-risk-item > div { align-items: center; display: flex; gap: 8px; justify-content: space-between; }
.content-analysis-risk-item span { color: #64748b; font-size: 11px; font-weight: 800; }
.content-analysis-risk-item p { margin: 6px 0 0; }
.content-analysis-facts { background: #fff; border: 1px solid #dfe6ef; border-radius: 14px; display: grid; gap: 8px; margin: 0; padding: 14px; }
.content-analysis-facts div { background: #f6f8fb; border-radius: 9px; padding: 10px; }
.content-analysis-facts dt { color: #718096; font-size: 11px; font-weight: 750; }
.content-analysis-facts dd { font-weight: 850; margin: 3px 0 0; overflow-wrap: anywhere; }
.content-analysis-suitability { background: #edf5ff; border: 1px solid #c5daf7; border-radius: 14px; padding: 15px; }
.content-analysis-suitability.state-human_review_required { background: #fff4df; border-color: #efcf92; }
.content-analysis-suitability.state-blocked { background: #fdeaea; border-color: #efbaba; }
.content-analysis-suitability p { margin: 6px 0 0; }
.content-analysis-conversion { background: #eef5ff; border: 1px solid #bad2f6; border-radius: 14px; display: grid; gap: 11px; padding: 16px; }
.content-analysis-conversion.success { background: #e9f7f1; border-color: #bfe4d5; }
.content-analysis-conversion p { margin: 0; }
.content-analysis-confirm { align-items: center; background: #fff; border: 1px solid #dfe6ef; border-radius: 10px; cursor: pointer; display: grid; gap: 10px; grid-template-columns: 44px minmax(0, 1fr); min-height: 64px; padding: 8px 11px; }
.content-analysis-confirm span { color: #34465e; font-size: 13px; font-weight: 700; line-height: 1.4; }
.content-analysis-warning { color: #79520b !important; font-size: 12px; font-weight: 750; }
.content-analysis-view button:focus-visible, .content-analysis-view input:focus-visible, .content-analysis-view select:focus-visible, .content-analysis-view [tabindex="-1"]:focus-visible { outline: 3px solid #78a9f5; outline-offset: 3px; }

@media(max-width:1000px){
  .content-analysis-grid { grid-template-columns: minmax(0, 1fr); }
  .content-analysis-detail-grid { grid-template-columns: minmax(0, 1fr); }
}
@media(max-width:720px){
  .content-analysis-view { max-width: 100%; width: 100%; }
  .content-analysis-heading, .content-analysis-detail-head, .content-analysis-submit { align-items: stretch; display: grid; }
  .content-analysis-heading .content-analysis-primary, .content-analysis-submit .content-analysis-primary { width: 100%; }
  .content-analysis-filters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .content-analysis-filter { min-width: 0; padding: 8px; }
  .content-analysis-grid, .content-analysis-choice { grid-template-columns: minmax(0, 1fr); }
  .content-analysis-choice legend { grid-column: 1; }
  .content-analysis-form, .content-analysis-section { padding: 16px; }
  .content-analysis-card-head, .content-analysis-risk-item > div { display: grid; }
  .content-analysis-state { justify-self: start; text-align: left; }
}
@media(max-width:375px){
  .content-analysis-filters { grid-template-columns: minmax(0, 1fr); }
  .content-analysis-form { padding: 14px; }
}
@media(prefers-reduced-motion:reduce){
  .content-analysis-card { transition: none; }
}
