.campaign-performance.plan-report { padding: 0; overflow: hidden; border: 1px solid #91a3c32c; border-radius: 18px; background: #111c2f; box-shadow: 0 16px 48px #02081226; }
.plan-report-cover { display: grid; grid-template-columns: minmax(0,1fr) minmax(250px,.9fr); align-items: center; gap: 26px; min-height: 190px; padding: 30px; background: linear-gradient(90deg,#101b2ce8,#101b2c55 70%), url('/static/plan-report-bg.svg?v=0.9.43') center / cover; border-bottom: 1px solid #99b0dc29; }
.plan-report-eyebrow { display: inline-flex; align-items: center; gap: 8px; font-size: 11px; color: #adbee0; letter-spacing: 1.5px; }
.plan-report-title h1 { color: #f2f5fc; font-size: clamp(24px,2.1vw,34px); line-height: 1.4; font-weight: 600; margin: 12px 0 18px; letter-spacing: .2px; overflow-wrap: anywhere; }
.plan-report-meta { display: flex; flex-wrap: wrap; gap: 10px; }
.plan-report-meta>span { display: inline-flex; align-items: center; gap: 8px; padding: 6px 10px; border-radius: 7px; border: 1px solid #a7bcdf24; background: #10203770; color: #c5d2e8; font-size: 11px; }
.plan-report-meta small { font-size: 10px; color: #849bbd; }
.plan-report-side { display: flex; flex-direction: column; align-items: flex-end; gap: 23px; }
.plan-report-side>.pill { padding: 5px 10px; background: #819dc321; border: 1px solid #91afd33d; color: #c2d7ee; }
.plan-report-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
.plan-report-actions .btn { min-height: 36px; padding: 9px 13px; font-size: 11px; border-radius: 8px; background: #1a2a427d; border: 1px solid #a0b2d334; }
.plan-report-actions [data-act="client-report"] { background: #9cc0f1; color: #102b4b; border-color: #bdd6f9; font-weight: 600; }
.plan-report-actions .danger { color: #e9b3c4; background: #5c2c436b; border-color: #ab67824a; }
.plan-report-actions .primary { background: #b6c6ed; color: #152843; }
.plan-report-data { padding: 24px 28px 17px; }
.plan-report .performance-rates { gap: 18px; margin-bottom: 20px; }
.plan-report .performance-rate { --rate-accent: #9dccfa; padding: 23px 24px 15px; border-color: #78abe348; border-radius: 13px; background: radial-gradient(ellipse at 100% 0,#31588344,transparent 75%),#15243a; gap: 12px; }
.plan-report .performance-rate.reading { --rate-accent: #c2aff2; border-color: #a28cdb45; background: radial-gradient(ellipse at 100% 0,#63529340,transparent 75%),#1e233b; }
.plan-report .performance-rate h3 { color: #b7cbea; font-size: 12px; margin: 0; }
.plan-report .performance-rate.reading h3 { color: #c4bae0; }
.plan-report .rate-value { font-size: clamp(35px,3.2vw,50px); line-height: 1.3; font-weight: 500; letter-spacing: -1.2px; margin: 12px 0 8px; }
.plan-report .performance-rate p { margin: 0; font-size: 11px; color: #b8c9df; }
.plan-report .performance-rate p span { color: #8ca2c0; }
.plan-report .rate-ring { width: 72px; height: 72px; }
.plan-report .rate-ring::before { inset: 5px; background: #16243a; }
.plan-report .performance-rate.reading .rate-ring::before { background: #20263d; }
.plan-report .rate-ring svg { width: 19px; height: 19px; }
.plan-report .performance-rate>small { padding-top: 12px; margin-top: 2px; border-color: #aec3e01c; color: #788fad; font-size: 10px; }
.plan-report .performance-counts { gap: 12px; padding: 0; margin: 0; border: 0; }
.plan-report .performance-counts>div { padding: 17px 19px; border: 1px solid #829ab029; border-radius: 10px; background: #162235; }
.plan-report .performance-counts>div:first-child { padding-left: 19px; }
.plan-report .performance-counts .plan-metric-label { display: flex; align-items: center; gap: 9px; margin-bottom: 12px; font-size: 11px; color: #9db0cb; }
.plan-metric-label i { display: inline-grid; place-items: center; padding: 5px; border-radius: 6px; background: #829fc51a; color: #a1bcde; }
.plan-report .performance-counts strong { font-size: 29px; line-height: 1.2; font-weight: 500; color: #e0e9f8; }
.plan-report .performance-counts>div:nth-child(3) strong { color: #aed3f3; }
.plan-report .performance-counts>div:nth-child(4) strong { color: #cbbcf0; }
.plan-report .performance-foot { display: flex; justify-content: space-between; margin-top: 16px; color: #788dab; font-size: 10px; }
.plan-report .performance-foot>span { display: inline-flex; align-items: center; gap: 6px; }
.plan-report .performance-foot b { font-weight: 500; color: #c7b083; }
.plan-report-dot { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #8aafd5; box-shadow: 0 0 8px #8aafd550; }
@media(max-width:1050px) {
  .plan-report-cover { padding: 24px; gap: 18px; grid-template-columns: minmax(0,1fr) minmax(220px,.8fr); }
  .plan-report-data { padding: 20px; }
  .plan-report .performance-rate { padding: 18px; }
  .plan-report .performance-counts>div { padding: 14px; }
}
@media(max-width:720px) {
  .plan-report-cover { grid-template-columns: 1fr; gap: 18px; padding: 22px; }
  .plan-report-side { align-items: flex-start; flex-direction: row; flex-wrap: wrap; gap: 12px; }
  .plan-report-actions { justify-content: flex-start; }
  .plan-report .performance-counts { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:500px) {
  .plan-report .performance-rates { grid-template-columns: 1fr; }
  .plan-report .rate-value { font-size: 40px; }
  .plan-report .performance-counts strong { font-size: 24px; }
}
.campaign-snapshots .card-head { align-items: center; }
.snapshot-count { color: #8c9eb9; font-size: 11px; font-weight: 400; margin-left: 8px; }
.snapshot-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 20px; }
.snapshot-grid-single { grid-template-columns: 1fr; }
.snapshot-card { min-width: 0; padding: 20px; border: 1px solid #859bb42e; border-top: 2px solid #88acd7; border-radius: 10px; background: #122036; }
.snapshot-card:nth-child(even) { border-top-color: #ae9bd5; background: #1a2034; }
.snapshot-card>header { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.snapshot-card h3 { margin: 0; font-size: 13px; color: #dce7f5; }
.snapshot-card>header>span { flex-shrink: 0; color: #9cacc4; font-size: 11px; }
.snapshot-contact { color: #b3c9e6; margin: 9px 0 0; font-size: 12px; overflow-wrap: anywhere; }
.snapshot-body { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.9; font-size: 13px; color: #cbd5e4; padding: 18px 0; }
.snapshot-card>footer { display: flex; flex-wrap: wrap; gap: 20px; padding-top: 13px; border-top: 1px solid #889cb424; color: #859bb8; font-size: 11px; }
.snapshot-card>footer b { color: #c3d3e9; margin-left: 4px; font-weight: 500; font-variant-numeric: tabular-nums; }
.campaign-tests { background: #111b2b; border-color: #7890ad2c; }
.campaign-tests>summary { display: flex; align-items: center; gap: 24px; padding: 15px 20px; cursor: pointer; list-style: none; }
.campaign-tests>summary::-webkit-details-marker { display: none; }
.campaign-tests-title { display: inline-flex; align-items: center; gap: 8px; color: #a6b8d0; font-size: 12px; }
.campaign-tests-title b { font-weight: 500; color: #d0def0; }
.campaign-tests-summary { display: flex; align-items: center; gap: 12px; color: #8197b3; font-size: 11px; }
.campaign-tests-expand { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; color: #93a8c4; font-size: 11px; }
.campaign-tests[open] .campaign-tests-expand svg { transform: rotate(90deg); }
.campaign-tests .table-wrap { border-top: 1px solid #7890ad2c; }
.campaign-tests th,.campaign-tests td { padding: 12px 20px; font-size: 11px; }
.campaign-tests td .table-main { font-size: 12px; }
.campaign-tests td .table-sub { margin-top: 4px; }
.campaign-tests .link { overflow-wrap: anywhere; }
.campaign-tests>summary:focus-visible { outline: 2px solid #91b8eb; outline-offset: -3px; border-radius: 10px; }
@media(max-width:850px) {
  .snapshot-grid { grid-template-columns: 1fr; }
}
@media(max-width:560px) {
  .snapshot-grid { padding: 14px; gap: 12px; }
  .snapshot-card { padding: 16px; }
  .campaign-tests>summary { flex-wrap: wrap; gap: 10px 18px; padding: 14px; }
  .campaign-tests-expand { margin-left: 0; }
}
.modal.credential-message-modal { width: min(1180px,96vw); }
.credential-message-body { padding: 0; min-height: 240px; }
.credential-dialog-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px 12px; }
.credential-dialog-heading>strong { color: #cedcf0; font-size: 14px; overflow-wrap: anywhere; }
.credential-dialog-summary { display: flex; flex-wrap: wrap; gap: 24px; color: #879dbb; font-size: 12px; padding: 0 24px 18px; }
.credential-dialog-summary b { color: #cddcf0; font-weight: 500; margin-left: 6px; }
.credential-message-body table { min-width: 850px; }
.credential-message-body td { vertical-align: middle; }
.credential-message-body th,.credential-message-body td { padding: 14px 20px; }
.credential-message-body .reading-status { min-width: 0; }
.credential-message-body .pagination { padding: 16px 24px; }
.campaign-section>.progress-card { min-height: 0; padding: 18px 22px; }
.campaign-section>.progress-card .progress-card-values { margin: 13px 0; }
.campaign-section>.progress-card .progress-card-values strong { font-size: 28px; }
