/* Keep the entire affiliation view in the same local font as Stato feed, with the weights and palette of ops.css. */
.cq-ops.cq-aff{--o-body:var(--o-font);font:500 16px/1.35 var(--o-font)}
.cq-aff .cq-an-body{gap:18px;padding:16px}
.cq-aff .cq-ops-head{padding:20px 16px 16px}
.cq-aff .cq-ops-meta{font-size:14px}
.cq-aff-controls{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px;padding:12px;border:1px solid var(--o-line);border-radius:4px;background:var(--o-bar)}
.cq-aff-filters{flex:1;display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px 20px;min-width:0}
.cq-aff-filter{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0}
.cq-aff .cq-aff-filter-label{margin:0;color:var(--o-muted);font:600 13px/1 var(--o-font);letter-spacing:.05em;text-transform:uppercase}
/* Segmented one-click filters. */
.cq-aff-seg{display:inline-flex;flex-wrap:wrap;gap:3px;padding:3px;border:1px solid var(--o-line);border-radius:7px;background:var(--o-surface)}
.cq-aff .cq-aff-seg a{padding:8px 14px;border-radius:5px;color:var(--o-text)!important;font:500 16px/1.15 var(--o-font);text-decoration:none!important;white-space:nowrap;transition:background-color .15s,color .15s}
.cq-aff .cq-aff-seg a:first-letter{text-transform:uppercase}
.cq-aff .cq-aff-seg a:hover{background:var(--o-raised);color:var(--o-paper)!important}
.cq-aff .cq-aff-seg a.is-active{background:var(--o-accent);color:var(--o-accent-ink)!important;font-weight:600}
.cq-aff .cq-aff-seg a:focus-visible{outline:2px solid var(--o-accent);outline-offset:2px}
/* Styled select. The theme styles every select in .eui-prose with a (0,6,2) selector, hence !important. */
.cq-aff-select{position:relative;display:block}
.cq-aff-select::after{content:"";position:absolute;top:50%;right:14px;width:8px;height:8px;margin-top:-6px;border:solid var(--o-accent);border-width:0 2px 2px 0;transform:rotate(45deg);pointer-events:none}
.cq-aff .cq-aff-select select{-webkit-appearance:none!important;appearance:none!important;width:100%;min-width:220px;height:42px!important;min-height:0!important;margin:0;padding:0 40px 0 14px!important;border:1px solid var(--o-line)!important;border-radius:7px!important;background:var(--o-surface)!important;color:var(--o-paper)!important;font:500 16px/1.2 var(--o-font)!important;color-scheme:dark;cursor:pointer;transition:border-color .15s}
.cq-aff .cq-aff-select select:hover{border-color:var(--o-accent)!important}
.cq-aff .cq-aff-select select:focus-visible{outline:2px solid var(--o-accent);outline-offset:2px}
.cq-aff .cq-aff-select option{background:var(--o-surface);color:var(--o-paper)}
.cq-aff .cq-an-toolbar[method=post] button{height:42px;padding:0 16px;border:1px solid var(--o-line);border-radius:7px;background:var(--o-raised);color:var(--o-paper);font:600 15px/1.2 var(--o-font);text-transform:uppercase;letter-spacing:.03em;cursor:pointer}
.cq-aff .cq-an-toolbar button:hover:not(:disabled){filter:brightness(1.08)}
.cq-aff .cq-an-meta{font:500 14px/1.35 var(--o-font)}
.cq-aff .cq-aff-sync{margin-top:-8px}
.cq-aff-section{min-width:0;display:flex;flex-direction:column;gap:10px}
.cq-aff .cq-aff-section h3{margin:0;color:var(--o-accent);font:700 20px/1.15 var(--o-font)}
.cq-aff .cq-an-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.cq-aff .cq-an-kpi{display:flex;flex-direction:column;gap:7px;padding:14px 12px;border-radius:4px}
/* The theme sets every h4 in .eui-prose to 700 with !important (KPI labels: analytics.css). */
.cq-ops.cq-aff .cq-aff-partner h4{font-weight:600!important}
.cq-aff .cq-an-kpi h4{margin:0;color:var(--o-muted);font:600 14px/1.15 var(--o-font);letter-spacing:.03em}
.cq-aff .cq-an-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 5px;min-height:34px;font:700 32px/1.05 var(--o-font);overflow-wrap:anywhere}
.cq-aff .cq-aff-currency{color:var(--o-muted);font-size:15px;font-weight:500}
.cq-aff .cq-an-kpi .cq-an-meta{margin-top:auto;font-size:14px}
.cq-aff .cq-aff-revenue{border-top:3px solid var(--o-accent);padding-top:12px;background:var(--o-raised)}
.cq-aff .cq-aff-revenue .cq-an-value{color:var(--o-accent)}
.cq-aff .cq-an-kpi.is-empty .cq-an-value{color:var(--o-muted)}
.cq-aff .cq-aff-notice{padding:10px 12px;border:1px solid var(--o-line);border-left:3px solid var(--o-accent);border-radius:3px;background:var(--o-bar);font:500 15px/1.4 var(--o-font)}
.cq-aff .cq-ops-scroll{border:1px solid var(--o-line);border-radius:4px;scrollbar-color:var(--o-line) var(--o-bar)}
.cq-aff .cq-ops-scroll:focus-visible{outline:2px solid var(--o-accent);outline-offset:2px}
.cq-aff .cq-aff-table{min-width:980px;table-layout:fixed}
.cq-aff .cq-aff-table caption{padding:10px 12px;background:var(--o-bar);color:var(--o-muted);text-align:left;font:600 14px/1.2 var(--o-font)}
.cq-aff .cq-aff-report-table caption{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
/* Table type four pixels up on the 0.7.6 colours: the figures were hard to read for their size, not their brightness (Luca 29/10). */
.cq-aff .cq-aff-table thead th{height:38px;padding:8px 10px;color:var(--o-muted);text-align:right;white-space:normal;font:600 15px/1.2 var(--o-font);text-transform:uppercase;letter-spacing:.02em}
.cq-aff .cq-aff-table thead th:first-child{width:196px;font-size:15px;text-align:left}
.cq-aff .cq-aff-table tbody tr{height:60px}
.cq-aff .cq-aff-table tbody th{padding:4px 12px;text-align:left;white-space:normal;font:600 16px/1.25 var(--o-font)}
.cq-aff .cq-aff-table td{padding:6px 10px;color:var(--o-text);text-align:right;font:500 20px/1.3 var(--o-font);white-space:nowrap}
/* The note under a figure wraps inside its column instead of running into the next one. */
.cq-aff .cq-aff-report-table td small{font-size:14px;white-space:normal}
.cq-aff .cq-aff-report-table thead th:nth-child(n+7){width:64px}
/* RS and CPA are the components of Ricavi: present, but quieter than the total. */
.cq-aff .cq-aff-report-table td.cq-aff-part{color:var(--o-muted);font-size:18px}
.cq-aff .cq-aff-report-table thead th:nth-child(3),.cq-aff .cq-aff-report-table thead th:nth-child(4){font-size:14px;opacity:.8}
.cq-aff-identity{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;max-width:100%}
.cq-aff-brand{display:flex;align-items:center;gap:7px}
/* Partner shares: name and figure on the left, where the money comes from on the right. No side band. */
.cq-aff-partners{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:2px}
.cq-aff-partner{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,250px);align-items:end;gap:14px 28px;padding:18px 20px 17px;border:1px solid var(--o-line);border-radius:6px;background:linear-gradient(165deg,var(--o-raised),var(--o-bar) 70%);box-shadow:inset 0 1px 0 rgba(207,216,225,.06)}
.cq-aff-partner-head{display:flex;flex-direction:column;gap:12px;min-width:0}
.cq-aff .cq-aff-partner h4{margin:0;color:var(--o-muted);font:600 14px/1 var(--o-font);letter-spacing:.14em;text-transform:uppercase}
.cq-aff .cq-aff-partner-value{margin:0;color:var(--o-paper);font:700 42px/.95 var(--o-font);font-variant-numeric:tabular-nums;white-space:nowrap}
.cq-aff .cq-aff-partner-value span{margin-left:1px;color:var(--o-muted);font-size:16px;font-weight:500;letter-spacing:.06em}
.cq-aff-partner-split{display:flex;flex-direction:column;gap:11px;min-width:0}
.cq-aff-partner-mix{display:flex;gap:2px;height:4px;border-radius:2px;overflow:hidden;background:var(--o-surface)}
.cq-aff-partner-mix span{flex:none;background:rgba(143,163,181,.5)}
.cq-aff-partner-mix span:first-child{background:var(--o-accent)}
.cq-aff .cq-aff-partner dl{display:grid;gap:6px;margin:0;padding:0}
.cq-aff .cq-aff-partner dl div{display:flex;align-items:center;justify-content:space-between;gap:12px}
.cq-aff .cq-aff-partner dt{display:flex;align-items:center;gap:7px;margin:0;color:var(--o-text);font:500 15px/1.2 var(--o-font)}
.cq-aff .cq-aff-partner dt::before{content:"";flex:none;width:7px;height:7px;border-radius:1px;background:rgba(143,163,181,.5)}
.cq-aff .cq-aff-partner dl div:first-child dt::before{background:var(--o-accent)}
.cq-aff .cq-aff-partner dt span{color:var(--o-muted);font-size:13px}
.cq-aff .cq-aff-partner dd{margin:0;color:var(--o-paper);font:500 16px/1.2 var(--o-font);font-variant-numeric:tabular-nums;white-space:nowrap}
.cq-aff .cq-aff-partners-note{margin-top:-10px;color:var(--o-muted);font-size:14px}
/* Money moved since this browser's last visit (affiliations.js): pop and glow up, shake and glitch down. */
.cq-aff-partner{position:relative;overflow:hidden}
.cq-aff .cq-aff-partner-value{transform-origin:left center;transition:color .6s,text-shadow .6s}
.cq-aff .cq-aff-partner.is-gain{border-color:rgba(185,242,39,.6);animation:cq-aff-pop .55s cubic-bezier(.2,1.6,.4,1),cq-aff-glow-up 2.4s ease-out}
.cq-aff .cq-aff-partner.is-gain .cq-aff-partner-value{color:var(--o-accent);text-shadow:0 0 18px rgba(185,242,39,.55)}
.cq-aff-partner.is-gain::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 30%,rgba(244,247,251,.2) 46%,rgba(185,242,39,.28) 52%,transparent 68%);transform:translateX(-100%);animation:cq-aff-shine .9s .12s ease-out forwards;pointer-events:none}
.cq-aff .cq-aff-partner.is-loss{border-color:rgba(255,118,92,.6);animation:cq-aff-shake .5s cubic-bezier(.36,.07,.19,.97),cq-aff-glow-down 2.2s ease-out}
.cq-aff .cq-aff-partner.is-loss .cq-aff-partner-value{color:var(--o-bad);animation:cq-aff-glitch .12s steps(2) 4}
.cq-aff .cq-aff-partner.is-landed .cq-aff-partner-value{animation:cq-aff-land .4s cubic-bezier(.2,1.8,.4,1)}
/* Inside the name heading: the negative margins keep the line, so nothing moves when it appears. */
.cq-aff .cq-aff-delta{display:inline-block;margin:-3px 0 -3px 12px;padding:3px 6px 2px;border-radius:2px;font:700 14px/1 var(--o-font);letter-spacing:0;text-transform:none;vertical-align:baseline;font-variant-numeric:tabular-nums;animation:cq-aff-tag .35s ease-out both}
.cq-aff-delta.is-up{background:var(--o-accent);color:var(--o-accent-ink)}
.cq-aff-delta.is-down{background:var(--o-bad);color:var(--o-bad-ink)}
.cq-aff-fx{position:fixed;inset:0;width:100vw;height:100vh;pointer-events:none;z-index:99999}
@keyframes cq-aff-pop{40%{transform:scale(1.045)}}
@keyframes cq-aff-glow-up{12%{box-shadow:0 0 0 2px rgba(185,242,39,.9),0 0 36px 6px rgba(185,242,39,.45)}100%{box-shadow:0 0 0 0 rgba(185,242,39,0)}}
@keyframes cq-aff-glow-down{12%{box-shadow:0 0 0 2px rgba(255,118,92,.9),0 0 30px 4px rgba(255,118,92,.4)}100%{box-shadow:0 0 0 0 rgba(255,118,92,0)}}
@keyframes cq-aff-shine{to{transform:translateX(100%)}}
@keyframes cq-aff-shake{10%,90%{transform:translateX(-2px)}20%,80%{transform:translateX(4px)}30%,50%,70%{transform:translateX(-7px)}40%,60%{transform:translateX(7px)}}
@keyframes cq-aff-glitch{0%{transform:translateX(2px);text-shadow:-3px 0 rgba(255,118,92,.8),3px 0 rgba(63,208,255,.6)}100%{transform:translateX(-2px);text-shadow:3px 0 rgba(255,118,92,.8),-3px 0 rgba(63,208,255,.6)}}
@keyframes cq-aff-land{0%{transform:scale(1.14)}}
@keyframes cq-aff-tag{from{opacity:0;transform:translateY(-6px)}}
/* Tiny square tag, not a pill: which operators the VPS refreshes, and whether within 12 hours. */
.cq-aff-auto{flex:none;min-width:28px;padding:2px 3px 1px;border:1px solid currentColor;border-radius:2px;font:700 10px/1 var(--o-font);letter-spacing:.06em;text-align:center;cursor:help}
.cq-aff-auto.is-fresh{color:var(--o-accent)}
.cq-aff-auto.is-stale{color:var(--o-bad)}
.cq-aff-auto.is-mac{color:var(--o-warn)}
.cq-aff-auto.is-mac.is-stale{color:var(--o-bad)}
.cq-aff .cq-aff-identity .cq-ops-logo{width:132px;height:34px;padding:5px 10px;border-radius:3px}
.cq-aff .cq-aff-identity .cq-ops-logo img{max-width:112px;max-height:24px}
/* These marks include a tall symbol above the lettering. */
.cq-aff .cq-aff-identity .cq-ops-logo img[alt="Bgame"]{max-height:34px}
.cq-aff .cq-aff-identity .cq-ops-logo img[alt="Planetwin365"]{max-height:30px}
.cq-aff .cq-aff-identity .cq-ops-logo.is-text{font-size:16px;line-height:24px}
.cq-aff .cq-aff-identity .cq-aff-scope{max-width:100%;height:14px;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:14px}
.cq-aff .cq-aff-report-table td.cq-aff-money{color:var(--o-accent);font-size:22px;font-weight:600}
.cq-aff .cq-aff-notes{color:var(--o-muted);font-size:14px}
.cq-aff small{display:block;margin-top:3px;color:var(--o-muted);font:500 13px/1.3 var(--o-font)}
.cq-aff button:disabled{opacity:.5;cursor:default}
.cq-aff-portals{border-top:1px solid var(--o-line);padding-top:14px}
.cq-aff-portals summary{cursor:pointer;color:var(--o-muted);font:600 17px/1.3 var(--o-font)}
.cq-aff-portals summary:hover,.cq-aff-portals[open] summary{color:var(--o-accent)}
.cq-aff-portals summary:focus-visible{outline:2px solid var(--o-accent);outline-offset:4px}
.cq-aff .cq-aff-portals ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;list-style:none;padding:12px 0 0}
.cq-aff-portals li{display:flex;flex-direction:column;gap:3px;margin:0;padding:10px 12px;border:1px solid var(--o-line);border-radius:3px;background:var(--o-bar)}
.cq-aff-portals a{color:var(--o-paper)!important;font:600 17px/1.2 var(--o-font);text-decoration:none}
.cq-aff-portals a:hover{text-decoration:underline}
.cq-aff-portals span{color:var(--o-muted);font:500 13px/1.3 var(--o-font)}
@media(min-width:900px){.cq-aff .cq-an-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* Below this the two cards are too narrow for a five-digit figure beside the split: the split goes under it. */
@media(max-width:1179px){.cq-aff-partner{grid-template-columns:minmax(0,1fr);gap:16px}}
@media(max-width:700px){
  .cq-aff .cq-an-body{padding:12px;gap:16px}
  /* One partner per row: name and figure on one line, the split below. */
  .cq-aff-partners{grid-template-columns:minmax(0,1fr);gap:8px}
  .cq-aff-partner{grid-template-columns:minmax(0,1fr);gap:12px;padding:14px 16px}
  .cq-aff-partner-head{flex-direction:row;align-items:baseline;justify-content:space-between;gap:12px}
  .cq-aff .cq-aff-partner-value{font-size:34px}
  /* One card per operator instead of a sideways-scrolling table. */
  .cq-aff .cq-ops-scroll{border:0}
  .cq-aff .cq-aff-table{min-width:0;table-layout:auto}
  .cq-aff .cq-aff-report-table thead{display:none}
  .cq-aff .cq-aff-report-table,.cq-aff .cq-aff-report-table tbody,.cq-aff .cq-aff-report-table th{display:block}
  .cq-aff .cq-aff-report-table tbody tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 12px;height:auto;margin-bottom:8px;padding:12px;border:1px solid var(--o-line);border-radius:4px;background:var(--o-bar)}
  .cq-aff .cq-aff-report-table tbody th{grid-column:1/-1;padding:0}
  .cq-aff .cq-aff-report-table td.cq-aff-money{grid-column:1/-1;font-size:22px}
  .cq-aff .cq-aff-report-table td{display:block;padding:0;text-align:left;white-space:normal}
  .cq-aff .cq-aff-report-table td::before{content:attr(data-label);display:block;color:var(--o-muted);font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase}
  .cq-aff-controls .cq-an-toolbar[method=post],.cq-aff-controls .cq-an-toolbar[method=post] button{width:100%}
  .cq-aff .cq-aff-sync{margin-top:-5px}
}
@media(max-width:560px){
  .cq-aff-filter,.cq-aff-seg{width:100%}
  .cq-aff .cq-aff-seg a{flex:1;text-align:center}
  .cq-aff .cq-an-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:380px){
  .cq-aff .cq-an-body{padding:10px 8px}
  .cq-aff .cq-an-kpi{padding:12px 10px}
  .cq-aff .cq-aff-revenue{padding-top:10px}
  .cq-aff .cq-an-value{font-size:28px}
}
