.attribution-fields{border:1px solid var(--line);border-radius:9px;background:#f8f9f6;padding:0 14px}
.attribution-fields summary{cursor:pointer;padding:13px 0;font-size:.78rem;font-weight:800;color:var(--ink)}
.attribution-fields>p{margin:0 0 14px;color:var(--muted);font-size:.73rem;line-height:1.5}
.attribution-fields .form-grid{padding-bottom:15px}
.source-chip{display:inline-flex;align-items:center;gap:5px;margin-top:5px;padding:4px 7px;border-radius:999px;background:#ecefe9;color:#53605a;font-size:.62rem;font-weight:800}
.source-chip.meta{background:#e7edf8;color:#31558d}
.acquisition-report{margin-bottom:22px}
.acquisition-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.acquisition-head h2{font:400 1.8rem Georgia;margin:4px 0}
.acquisition-head p{color:var(--muted);margin:0;max-width:680px;font-size:.82rem;line-height:1.5}
.acquisition-metrics{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:15px}
.acquisition-metric{border:1px solid var(--line);background:#fff;border-radius:10px;padding:15px}
.acquisition-metric small{display:block;color:var(--muted);font-size:.69rem}
.acquisition-metric b{display:block;font:400 1.75rem Georgia;margin-top:7px}
.acquisition-metric span{font-size:.67rem;color:var(--green)}
.acquisition-grid{display:grid;grid-template-columns:1.65fr .75fr;gap:14px}
.acquisition-panel{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px;min-width:0}
.acquisition-panel h3{font:400 1.2rem Georgia;margin:0 0 4px}
.acquisition-panel>p{color:var(--muted);font-size:.72rem;margin:0 0 13px}
.acquisition-table{width:100%;border-collapse:collapse;min-width:650px}
.acquisition-table th,.acquisition-table td{padding:10px 9px;text-align:left;border-top:1px solid #edf0eb;font-size:.72rem}
.acquisition-table th{border-top:0;color:var(--muted);font-size:.62rem;letter-spacing:.06em}
.acquisition-table td b{display:block}
.acquisition-table td small{display:block;color:var(--muted);margin-top:3px}
.channel-row{display:grid;grid-template-columns:1fr auto;gap:4px;padding:11px 0;border-bottom:1px solid #edf0eb}
.channel-row:last-child{border:0}
.channel-row b{font-size:.82rem}.channel-row span{font-size:.72rem;color:var(--muted)}
.channel-row strong{grid-row:1/3;grid-column:2;align-self:center;font:400 1.35rem Georgia}
.attribution-note{margin-top:14px;padding:12px 14px;border-left:3px solid var(--accent);background:#faf6ef;color:#5d625e;font-size:.72rem;line-height:1.5}
.detail-attribution{margin-top:20px;padding:14px;border:1px solid #3d4c46;border-radius:9px;display:flex;flex-direction:column;gap:5px}
.detail-attribution>b{font-size:.83rem;color:#fff}.detail-attribution small,.detail-attribution em{font-size:.67rem;color:#aebbb5;font-style:normal}
.detail-attribution a{color:#d9bc92;font-size:.68rem;font-weight:700;margin-top:3px}
@media(max-width:1050px){.acquisition-metrics{grid-template-columns:repeat(3,1fr)}.acquisition-grid{grid-template-columns:1fr}}
@media(max-width:760px){.acquisition-head{display:block}.acquisition-metrics{grid-template-columns:1fr 1fr}.acquisition-metric{padding:12px}.acquisition-panel{padding:14px}.attribution-fields .form-grid{grid-template-columns:1fr}}


.ads-period-switch{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px;padding:5px;background:#f2f4f1;border-radius:10px;width:max-content;max-width:100%}
.ads-period-switch button{border:0;background:transparent;color:var(--muted);border-radius:7px;padding:9px 15px;font-size:.72rem;font-weight:800;cursor:pointer}
.ads-period-switch button.active{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(23,32,29,.08)}
.ads-toolbar .button{align-self:end;min-height:39px}
.ads-clickable-row{cursor:pointer;transition:background .16s ease,transform .16s ease}
.ads-clickable-row:hover,.ads-clickable-row:focus{background:#f7f9f6;outline:0}
.ads-clickable-row:focus{box-shadow:inset 3px 0 0 var(--accent)}
.ads-detail-shell{padding:24px;min-width:min(820px,86vw)}
.ads-detail-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border-bottom:1px solid var(--line);padding-bottom:16px}
.ads-detail-head h2{margin:5px 0;font:400 1.7rem Georgia;color:var(--ink)}
.ads-detail-head p{margin:0;color:var(--muted);font-size:.78rem}
.ads-detail-tags{display:flex;flex-wrap:wrap;gap:7px;margin:14px 0}
.ads-detail-tags span{padding:6px 9px;border-radius:999px;background:#eef1ed;color:#53605a;font-size:.65rem;font-weight:800}
.ads-detail-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:14px 0 20px}
.ads-detail-metrics article{border:1px solid var(--line);border-radius:9px;padding:12px;background:#fff}
.ads-detail-metrics small{display:block;color:var(--muted);font-size:.63rem;margin-bottom:6px}
.ads-detail-metrics b{font-size:1rem;color:var(--ink)}
.ads-detail-section{border:1px solid var(--line);border-radius:10px;padding:16px;background:#fafbf9}
.ads-customer-list{display:grid;gap:7px;margin-top:12px}
.ads-customer-list button{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;border:1px solid var(--line);border-radius:8px;background:#fff;padding:11px 12px;text-align:left;cursor:pointer}
.ads-customer-list button:hover{border-color:var(--accent)}
.ads-customer-list span b,.ads-customer-list span small{display:block}.ads-customer-list span small{color:var(--muted);margin-top:3px;font-size:.66rem}
.ads-customer-list strong{font-size:.68rem;color:var(--green);white-space:nowrap}
.ads-detail-note{margin:14px 0 0;color:var(--muted);font-size:.68rem;line-height:1.5}
@media(max-width:760px){.ads-period-switch{width:100%}.ads-period-switch button{flex:1;padding:8px}.ads-detail-shell{padding:16px;min-width:0}.ads-detail-metrics{grid-template-columns:1fr 1fr}.ads-customer-list button{align-items:flex-start;flex-direction:column}}

.ads-accounts-section {
  margin: 0 0 22px;
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #fff;
  box-shadow: var(--shadow);
}

.ads-accounts-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 17px;
}

.ads-accounts-head h2 {
  margin: 3px 0;
  color: var(--ink);
  font-size: 1rem;
}

.ads-accounts-head p,
.ads-accounts-head > span {
  color: var(--muted);
  font-size: .65rem;
}

.ads-accounts-head > span {
  padding: 6px 9px;
  border-radius: 5px;
  background: #f3f5f8;
  font-weight: 700;
}

.ads-account-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.ads-account-card {
  min-width: 0;
  padding: 17px;
  border: 1px solid #e5e9f0;
  border-top: 3px solid #0866ff;
  border-radius: 8px;
  background: #fff;
}

.ads-account-card.error { border-top-color: #e25555; }

.ads-account-title {
  display: flex;
  align-items: center;
  gap: 10px;
}

.ads-account-icon {
  display: grid;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  place-items: center;
  border-radius: 50%;
  background: #eaf1ff;
  color: #0866ff;
  font-size: .75rem;
  font-weight: 800;
}

.ads-account-title > div { min-width: 0; }
.ads-account-title small { display: block; color: #91a1b6; font-size: .5rem; font-weight: 800; letter-spacing: .05em; }
.ads-account-title h3 { margin: 2px 0 0; overflow: hidden; color: var(--ink); font-size: .75rem; text-overflow: ellipsis; white-space: nowrap; }
.ads-account-title > b { margin-left: auto; padding: 4px 6px; border-radius: 4px; background: #e1fbed; color: #138849; font-size: .48rem; }
.ads-account-card.error .ads-account-title > b { background: #fde9e9; color: #c23c3c; }

.ads-account-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-top: 14px;
}

.ads-account-metrics > div {
  min-width: 0;
  padding: 10px;
  border-radius: 6px;
  background: #f8f9fb;
}

.ads-account-metrics small,
.ads-account-metrics strong { display: block; }
.ads-account-metrics small { color: #7587a7; font-size: .53rem; }
.ads-account-metrics strong { margin-top: 2px; overflow: hidden; color: var(--ink); font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
.ads-account-error { margin-top: 14px; padding: 13px; border-radius: 6px; background: #fff6f6; color: #a64242; font-size: .61rem; }
.ads-account-empty { grid-column: 1 / -1; padding: 24px; border: 1px dashed #dfe4ec; border-radius: 7px; text-align: center; }
.ads-account-empty b,.ads-account-empty span { display: block; }
.ads-account-empty b { color: var(--ink); }
.ads-account-empty span { margin-top: 4px; color: var(--muted); font-size: .62rem; }

@media (max-width: 1100px) {
  .ads-account-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .ads-accounts-section { padding: 16px; }
  .ads-accounts-head { flex-direction: column; }
  .ads-account-grid { grid-template-columns: 1fr; }
}
