/* Cliptica — Business pages (Campaigns, Campaign detail, Earnings). */

/* Totals strip */
.biz-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px;margin-bottom:28px;}
.biz-stat{display:flex;flex-direction:column;gap:8px;}
.biz-stat strong{font-size:26px;font-weight:500;color:var(--text);}
.biz-stat .eyebrow{margin:0;}
.biz-stat small{font-size:11.5px;color:var(--muted);}

/* Campaign cards */
.camp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;}
.camp-card{display:flex;flex-direction:column;gap:12px;cursor:pointer;
  transition:border-color 140ms var(--snap),transform 140ms var(--snap);}
.camp-card:hover{border-color:var(--border2);transform:translateY(-1px);}
.camp-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.camp-name{font-size:14.5px;font-weight:600;color:var(--text);letter-spacing:-.01em;}
.camp-brand{font-size:12px;color:var(--muted);margin-top:2px;}
.camp-nums{display:flex;gap:18px;}
.camp-nums div{display:flex;flex-direction:column;gap:2px;}
.camp-nums strong{font-size:16px;font-weight:500;color:var(--text);}
.camp-nums span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.camp-rate{font-size:12px;color:var(--muted);}
.camp-rate b{color:var(--text);font-weight:500;}

/* Source badges */
.src-badge{display:inline-flex;align-items:center;font-size:9.5px;font-weight:600;
  text-transform:uppercase;letter-spacing:.07em;padding:3px 8px;border-radius:6px;
  border:1px solid var(--border2);background:var(--s2);color:var(--muted);white-space:nowrap;}
.src-badge.is-whop{color:#e8b84d;border-color:rgba(232,184,77,.26);background:rgba(232,184,77,.06);}
.src-badge.is-contentrewards{color:#7aa7ff;border-color:rgba(122,167,255,.26);background:rgba(122,167,255,.07);}
.src-badge.is-direct{color:#3dd68c;border-color:rgba(61,214,140,.26);background:rgba(61,214,140,.07);}
.src-badge.is-own{color:var(--muted);}

/* Budget progress */
.camp-progress{display:flex;flex-direction:column;gap:5px;}
.camp-progress .row{display:flex;justify-content:space-between;font-size:10.5px;color:var(--muted);}
.camp-progress .progress-fill{background:linear-gradient(90deg,var(--accent-deep),var(--accent));}

/* Detail page */
.camp-brief{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;}
.camp-brief div{display:flex;flex-direction:column;gap:3px;}
.camp-brief span{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}
.camp-brief strong{font-size:13.5px;font-weight:500;color:var(--text);word-break:break-word;}
.camp-actions{display:flex;gap:8px;flex-wrap:wrap;}
.camp-req{font-size:12.5px;color:var(--muted);line-height:1.55;white-space:pre-wrap;}
.camp-srcs{display:flex;flex-direction:column;gap:4px;font-size:12px;}
.camp-srcs a{color:var(--accent-soft,#FF7A4D);text-decoration:none;word-break:break-all;}
.camp-srcs a:hover{text-decoration:underline;}

/* Inline-editable views cell */
.views-input{width:88px;background:var(--s2);border:1px solid var(--border);border-radius:6px;
  padding:5px 8px;color:var(--text);font:inherit;font-size:12.5px;text-align:right;outline:none;}
.views-input:focus{border-color:var(--accent);}

/* ── SVG charts (UI.stackedBars — see js/ui/chart.js) ────────────────────── */
.earn-months{min-height:150px;}
.chx{position:relative;}
.chx svg{display:block;width:100%;overflow:visible;}
.chx-grid line{stroke:var(--border);stroke-dasharray:2 5;}
.chx-grid line.base{stroke:var(--border2);stroke-dasharray:none;}
.chx-tick{fill:var(--muted);font-size:9.5px;font-family:var(--font);opacity:.85;}
.chx-xlab{fill:var(--muted);font-size:10.5px;font-family:var(--font);}
.chx-val{fill:var(--text);font-size:10.5px;font-weight:600;font-family:var(--font);
  font-variant-numeric:tabular-nums;opacity:0;transition:opacity 320ms var(--snap) 340ms;}
.chx.chx-in .chx-val{opacity:1;}
/* Series colors — used as SVG fill AND legend/tooltip swatch background. */
.chx-s-paid{fill:var(--accent);background:var(--accent);}
.chx-s-approved{fill:var(--accent);background:var(--accent);opacity:.42;}
.chx-s-pending{fill:var(--muted);background:var(--muted);opacity:.28;}
/* Column hover: band lights up, bar brightens, everything stays clickable. */
.chx-col{outline:none;cursor:default;}
.chx-band{fill:var(--muted);opacity:0;transition:opacity 140ms var(--snap);}
.chx-col.hov .chx-band,.chx-col:focus-visible .chx-band{opacity:.09;}
.chx-col.hov .chx-seg{filter:brightness(1.12);}
/* Tooltip */
.chx-tip{position:absolute;z-index:40;pointer-events:none;min-width:158px;
  background:var(--s3);border:1px solid var(--border2);border-radius:10px;padding:10px 12px;
  box-shadow:0 12px 34px rgba(0,0,0,.35);opacity:0;transform:translateY(4px);
  transition:opacity 130ms var(--snap),transform 130ms var(--snap);}
[data-theme="light"] .chx-tip{background:var(--s1);box-shadow:0 12px 34px rgba(24,24,27,.18);}
.chx-tip.on{opacity:1;transform:none;}
.chx-tip .t{font-size:10.5px;font-weight:600;color:var(--muted);margin-bottom:7px;
  text-transform:uppercase;letter-spacing:.05em;}
.chx-tip .r{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text);padding:2.5px 0;}
.chx-tip .r i{width:8px;height:8px;border-radius:2.5px;flex-shrink:0;}
.chx-tip .r b{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;padding-left:16px;}
.chx-tip .r.tot{border-top:1px solid var(--border);margin-top:6px;padding-top:7px;}
/* Legend keys double as series toggles. */
.chx-legend{display:flex;gap:8px;flex-wrap:wrap;padding:14px 2px 0;}
.chx-key{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:500;
  color:var(--muted);background:none;border:1px solid var(--border);border-radius:99px;
  padding:5px 12px;cursor:pointer;font-family:inherit;
  transition:border-color 130ms,color 130ms,opacity 130ms;}
.chx-key:hover{border-color:var(--border2);color:var(--text);}
.chx-key i{width:9px;height:9px;border-radius:3px;flex-shrink:0;}
.chx-key[aria-pressed="false"]{opacity:.4;}
.chx-key[aria-pressed="false"] i{background:var(--muted);opacity:.4;}

/* Status chips reuse .stat-pill; extra tones */
.stat-pill.is-paid{color:#3dd68c;border-color:rgba(61,214,140,.26);background:rgba(61,214,140,.07);}
.stat-pill.is-pending{color:#e8b84d;border-color:rgba(232,184,77,.26);background:rgba(232,184,77,.06);}
.stat-pill.is-approved{color:#7aa7ff;border-color:rgba(122,167,255,.26);background:rgba(122,167,255,.07);}

/* Modal form (New campaign / Add post / Log earning) */
.biz-form{display:flex;flex-direction:column;gap:12px;}
.biz-form .frow{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.biz-form label{display:flex;flex-direction:column;gap:5px;font-size:11.5px;color:var(--muted);}
.biz-form input,.biz-form select,.biz-form textarea{background:var(--s2);
  border:1px solid var(--border);border-radius:8px;padding:9px 11px;color:var(--text);
  font:inherit;font-size:13px;outline:none;width:100%;box-sizing:border-box;}
.biz-form input:focus,.biz-form select:focus,.biz-form textarea:focus{border-color:var(--accent);}
.biz-form textarea{resize:vertical;min-height:60px;}

/* Empty / db-required states */
.biz-empty{text-align:center;padding:56px 20px;color:var(--muted);font-size:13px;}
.biz-empty h3{color:var(--text);font-size:15px;margin:0 0 6px;}

/* Campaign banner on /new */
.camp-banner{display:flex;align-items:center;gap:10px;padding:12px 16px;margin-bottom:18px;
  border:1px solid rgba(232,73,15,.3);background:rgba(232,73,15,.07);border-radius:10px;
  font-size:13px;color:var(--text);}
.camp-banner b{color:var(--accent-soft,#FF7A4D);}

@media (max-width:640px){
  .biz-form .frow{grid-template-columns:1fr;}
  .earn-months{overflow-x:auto;}
}

/* ── Accounts hub (data-dense dashboard) ─────────────────────────────────── */
.acct-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;}
.acct-card{display:flex;flex-direction:column;gap:12px;position:relative;
  transition:border-color 160ms var(--snap),transform 160ms var(--snap);}
.acct-card:hover{border-color:var(--border2);transform:translateY(-1px);}
.acct-top{display:flex;align-items:center;gap:11px;}
.acct-avatar{width:38px;height:38px;border-radius:9px;flex-shrink:0;display:flex;
  align-items:center;justify-content:center;background:var(--s2);border:1px solid var(--border2);
  font-weight:600;font-size:15px;color:var(--text);text-transform:uppercase;}
.acct-id{min-width:0;flex:1;}
.acct-handle{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis;}
.acct-plat{font-size:10.5px;color:var(--muted);text-transform:capitalize;}
.acct-menu{background:none;border:1px solid var(--border);color:var(--muted);width:26px;height:26px;
  border-radius:6px;cursor:pointer;font-size:13px;flex-shrink:0;line-height:1;}
.acct-menu:hover{color:var(--text);border-color:var(--border2);}

/* KPI row — tabular figures for alignment */
.acct-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;
  border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:11px 0;}
.acct-kpis div{display:flex;flex-direction:column;gap:2px;}
.acct-kpis strong{font-size:15px;font-weight:600;color:var(--text);
  font-variant-numeric:tabular-nums;}
.acct-kpis span{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;}

/* Cadence health = bullet/target pattern (value + label, never colour alone) */
.cadence{display:flex;flex-direction:column;gap:6px;}
.cadence-row{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.cadence-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;}
.cadence-label .dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0;}
.cadence-sub{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;}
.cadence-bar{height:6px;border-radius:3px;background:var(--s2);overflow:hidden;position:relative;}
.cadence-bar .fill{height:100%;border-radius:3px;transition:width 460ms var(--snap);}
.cadence-on_track{color:#3dd68c;}
.cadence-on_track .fill{background:linear-gradient(90deg,#1f9c63,#3dd68c);}
.cadence-behind{color:#e8b84d;}
.cadence-behind .fill{background:linear-gradient(90deg,#bd8f2c,#e8b84d);}
.cadence-idle{color:#f2555a;}
.cadence-idle .fill{background:linear-gradient(90deg,#c23c40,#f2555a);}
.cadence-none{color:var(--muted);}  .cadence-none .fill{background:var(--border2);}

.acct-connected{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:#3dd68c;
  border:1px solid rgba(61,214,140,.26);background:rgba(61,214,140,.07);border-radius:6px;
  padding:2px 7px;align-self:flex-start;}

/* ── Content calendar ────────────────────────────────────────────────────── */
.cal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;}
.cal-nav{display:flex;align-items:center;gap:8px;}
.cal-month{font-size:15px;font-weight:600;color:var(--text);min-width:150px;text-align:center;
  font-variant-numeric:tabular-nums;}
.cal-arrow{background:var(--s2);border:1px solid var(--border);color:var(--text);width:32px;height:32px;
  border-radius:8px;cursor:pointer;font-size:14px;line-height:1;transition:border-color 140ms;}
.cal-arrow:hover{border-color:var(--accent);}

.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;}
.cal-dow{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);text-align:center;padding:2px 0 6px;}
.cal-cell{aspect-ratio:1/1;border:1px solid var(--border);border-radius:8px;padding:7px 8px;
  display:flex;flex-direction:column;gap:4px;position:relative;min-height:56px;
  transition:border-color 140ms var(--snap),transform 140ms var(--snap),
    box-shadow 140ms var(--snap);cursor:default;
  animation:calIn 260ms var(--snap) both;}
@keyframes calIn{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.cal-cell.has-activity{cursor:pointer;}
.cal-cell.has-activity:hover{border-color:var(--accent);transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(232,73,15,.16);}
.cal-cell.blank{border-color:transparent;background:none;animation:none;}
.cal-cell.today{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);}
.cal-daynum{font-size:11px;color:var(--muted);font-variant-numeric:tabular-nums;}
.cal-cell.today .cal-daynum{color:var(--accent);font-weight:600;}
/* Orange intensity heat — count label present too, so it's not colour-only */
.cal-heat{position:absolute;inset:0;border-radius:7px;pointer-events:none;opacity:0;
  background:linear-gradient(180deg,var(--accent) 0%,var(--accent-deep) 130%);}
.cal-count{margin-top:auto;display:flex;align-items:center;gap:5px;position:relative;z-index:1;}
.cal-count strong{font-size:15px;font-weight:600;color:var(--text);
  font-variant-numeric:tabular-nums;line-height:1;}
.cal-count .u{font-size:9.5px;color:var(--muted);}
.cal-sched-dot{width:6px;height:6px;border-radius:50%;background:#7aa7ff;position:relative;z-index:1;
  box-shadow:0 0 0 2px var(--s1);}
.cal-legend{display:flex;align-items:center;gap:16px;margin-top:16px;font-size:11px;color:var(--muted);
  flex-wrap:wrap;}
.cal-scale{display:flex;align-items:center;gap:5px;}
.cal-scale i{width:16px;height:12px;border-radius:3px;border:1px solid var(--border);}
.cal-legend .sched-key i{width:8px;height:8px;border-radius:50%;background:#7aa7ff;border:none;}

@media (max-width:640px){
  .cal-cell{min-height:44px;padding:5px;}
  .cal-daynum{font-size:10px;}
  .acct-grid{grid-template-columns:1fr;}
}

/* ── AI Coach ────────────────────────────────────────────────────────────── */
.coach-hero{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;
  flex-wrap:wrap;margin-bottom:20px;}
.coach-hero-text{flex:1;min-width:240px;}
.coach-headline{font-size:19px;font-weight:600;letter-spacing:-.015em;line-height:1.35;
  color:var(--text);margin:0;}
.coach-meta{font-size:11.5px;color:var(--muted);margin-top:8px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.coach-src{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:600;
  text-transform:uppercase;letter-spacing:.05em;padding:2px 8px;border-radius:6px;
  border:1px solid var(--border2);background:var(--s2);color:var(--muted);}
.coach-gen{display:flex;flex-direction:column;align-items:flex-end;gap:6px;}

.coach-cols{display:grid;grid-template-columns:1.35fr 1fr;gap:18px;align-items:start;}
@media (max-width:820px){.coach-cols{grid-template-columns:1fr;}}

.coach-block h3{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;
  color:var(--muted);margin:0 0 12px;}
.coach-insight{padding:14px 0;border-top:1px solid var(--border);}
.coach-insight:first-of-type{border-top:none;padding-top:0;}
.coach-insight .t{font-size:14px;font-weight:600;color:var(--text);display:flex;gap:8px;align-items:baseline;}
.coach-insight .t::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);
  flex-shrink:0;transform:translateY(-1px);}
.coach-insight .d{font-size:12.5px;color:var(--muted);line-height:1.6;margin-top:5px;padding-left:14px;}

.coach-rec{display:flex;gap:10px;padding:11px 0;border-top:1px solid var(--border);}
.coach-rec:first-of-type{border-top:none;padding-top:0;}
.coach-rec svg{width:16px;height:16px;color:var(--accent);flex-shrink:0;margin-top:2px;}
.coach-rec .a{font-size:13px;font-weight:600;color:var(--text);}
.coach-rec .w{font-size:12px;color:var(--muted);line-height:1.55;margin-top:3px;}

.coach-actions{display:flex;flex-direction:column;gap:9px;}
.coach-action{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:12px 14px;border:1px solid var(--border);border-radius:9px;background:var(--s1);
  font-size:13px;font-weight:500;color:var(--text);cursor:pointer;text-decoration:none;
  transition:border-color 140ms var(--snap),transform 140ms var(--snap);}
.coach-action:hover{border-color:var(--accent);transform:translateY(-1px);}
.coach-action svg{width:15px;height:15px;color:var(--accent);flex-shrink:0;}

.coach-history .table td{font-size:12.5px;}
.coach-empty{text-align:center;padding:50px 20px;}
.coach-empty svg{width:40px;height:40px;color:var(--border2);margin-bottom:14px;}
.coach-empty h3{font-size:16px;color:var(--text);margin:0 0 6px;}
.coach-empty p{font-size:13px;color:var(--muted);max-width:420px;margin:0 auto 18px;line-height:1.6;}

/* ── Auto-Pilot ──────────────────────────────────────────────────────────── */
.ap-lead{font-size:12.5px;color:var(--muted);line-height:1.6;max-width:640px;margin:-4px 0 4px;}
.ap-gate{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:10px;
  border:1px solid rgba(232,184,77,.3);background:rgba(232,184,77,.07);font-size:13px;
  color:var(--text);margin-bottom:20px;}
.ap-gate b{color:var(--yellow);}

.wl-list{display:flex;flex-direction:column;gap:10px;}
.wl-item{display:flex;align-items:center;gap:14px;padding:13px 15px;}
.wl-main{flex:1;min-width:0;}
.wl-label{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis;}
.wl-src{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px;}
.wl-src a{color:var(--accent2);text-decoration:none;}
.wl-camp{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:3px;}
.wl-toggles{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.wl-flag{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted);}
.wl-x{background:none;border:1px solid var(--border);color:var(--muted);width:26px;height:26px;
  border-radius:6px;cursor:pointer;font-size:12px;flex-shrink:0;}
.wl-x:hover{color:var(--danger);border-color:var(--border2);}

/* Queue */
.queue-item{display:flex;align-items:center;gap:14px;padding:13px 15px;}
.queue-thumb{width:44px;height:44px;border-radius:8px;background:var(--s2);border:1px solid var(--border2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--muted);}
.queue-thumb svg{width:20px;height:20px;}
.queue-main{flex:1;min-width:0;}
.queue-title{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.queue-sub{font-size:11.5px;color:var(--muted);margin-top:2px;}
.queue-acts{display:flex;gap:8px;flex-shrink:0;}

/* run status pills reuse .stat-pill tones */
.stat-pill.is-detected{color:#7aa7ff;border-color:rgba(122,167,255,.26);background:rgba(122,167,255,.07);}
.stat-pill.is-generating{color:var(--yellow);border-color:rgba(232,184,77,.26);background:rgba(232,184,77,.06);}
.stat-pill.is-ready{color:#3dd68c;border-color:rgba(61,214,140,.26);background:rgba(61,214,140,.07);}
.stat-pill.is-approved{color:#3dd68c;border-color:rgba(61,214,140,.26);background:rgba(61,214,140,.07);}
.stat-pill.is-rejected,.stat-pill.is-failed{color:var(--muted);}
