/* same as I sent previously */
*{box-sizing:border-box}
:root{--bg:#0b0b0b;--bg-soft:#121212;--card:#161616;--ink:#e8e8e8;--muted:#9aa0a6;--accent:#ffd54a;--ring:#2a2a2a;--radius:18px}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.muted{color:var(--muted);}
.portal-header{position:sticky;top:0;z-index:20;background:linear-gradient(180deg,rgba(0,0,0,.85),rgba(0,0,0,.6) 40%,rgba(0,0,0,0));backdrop-filter:blur(6px);padding:16px 20px;border-bottom:1px solid var(--ring)}
.brand{display:flex;align-items:center;gap:12px}
.brand img{height:28px;opacity:.95}
.brand h1{font-size:18px;font-weight:700;margin:0}
.main{max-width:1280px;margin:20px auto 80px;padding:0 16px}
.section{margin:28px 0}
.section h2{font-size:20px;font-weight:700;letter-spacing:.2px;margin:0 0 12px 4px}
.grid{display:grid;grid-template-columns:repeat(1,minmax(0,1fr));gap:12px}
@media (min-width:700px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
.card{background:var(--card);border:1px solid var(--ring);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;min-height:100%;box-shadow:0 10px 25px rgba(0,0,0,.25)}
.thumb{position:relative;width:100%;aspect-ratio:4/5;background:#0f0f0f;overflow:hidden}
.thumb img{width:100%;height:100%;object-fit:cover}
.meta{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 0;gap:10px}
.badge{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:6px 10px;border-radius:999px;background:#0e0e0e;border:1px solid var(--ring)}
.badge .dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.badge.fb .dot{background:#1877f2}
.badge.ig .dot{background:#e1306c}
.badge.yt .dot{background:#ff0000}
.badge.tiktok .dot{background:#00f2ea}
.metrics{display:flex;gap:10px;color:var(--muted);font-size:12px}
.metrics span{display:inline-flex;gap:4px;align-items:center;border:1px solid var(--ring);padding:5px 8px;border-radius:10px}
.text{padding:10px 12px 12px;font-size:14px;color:#ddd;line-height:1.35}
.text a{color:var(--ink);text-decoration:underline dotted}
.post-analysis-badge-row{padding:8px 12px 0;display:flex}
.post-analysis-badge{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(255,213,74,.35);border-radius:999px;background:rgba(255,213,74,.12);color:#ffe589;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:5px 8px;cursor:pointer}
.post-analysis-badge:hover{background:rgba(255,213,74,.18);border-color:rgba(255,213,74,.55)}
.post-analysis-badge:before{content:"";width:7px;height:7px;border-radius:50%;background:#ffd54a}
.post-ai-actions{padding:0 12px 12px}
.ai-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.68);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:80;
}
.ai-modal-backdrop.open{
  opacity:1;
  pointer-events:auto;
}
.ai-analysis-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  z-index:90;
}
.ai-analysis-modal.open{
  opacity:1;
  pointer-events:auto;
}
.ai-analysis-modal-body{
  width:min(920px,100%);
  max-height:88vh;
  overflow:auto;
  border:1px solid var(--ring);
  border-radius:14px;
  background:#111;
  box-shadow:0 22px 60px rgba(0,0,0,.55);
  padding:18px;
  display:grid;
  gap:14px;
}
.ai-analysis-modal-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
  position:sticky;
  top:-18px;
  background:#111;
  padding:0 0 10px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.ai-analysis-modal-head h3{
  margin:0 0 4px;
  font-size:18px;
}
.ai-analysis-modal-content{
  display:grid;
  gap:12px;
}
.post-ai-summary{display:grid;gap:6px}
.post-ai-cache-note{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#0d0d0d;padding:10px;color:var(--muted);font-size:12px}
.post-ai-summary strong{font-size:14px;color:var(--accent)}
.post-ai-summary p{margin:0;color:#e5e5e5;line-height:1.4;font-size:13px}
.post-ai-section{display:grid;gap:6px;border-top:1px solid rgba(255,255,255,.08);padding-top:10px}
.post-ai-section h4{margin:0;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em}
.post-ai-section ul{margin:0;padding-left:18px;display:grid;gap:5px;color:#e5e5e5;font-size:13px;line-height:1.35}
.post-ai-replica{display:grid;gap:4px;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:9px;font-size:13px;color:#e5e5e5}
.post-ai-replica strong{color:#fff}
.post-ai-replica em{color:var(--muted);font-style:normal}
@media (max-width:760px){
  .ai-analysis-modal{align-items:flex-end;padding:8px}
  .ai-analysis-modal-body{max-height:92vh;border-radius:14px;padding:14px}
}
.placeholder{opacity:.65;filter:grayscale(30%);border-style:dashed}

/* Ads */
.main:has(.ads-page){width:min(100%,1500px);max-width:1500px}
.ads-page{width:100%;min-width:0}
.ads-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.ads-head h2{margin-bottom:4px}
.ads-controls{display:flex;gap:10px;align-items:center}
.ads-controls select{background:#111;color:#fff;border:1px solid var(--ring);border-radius:10px;padding:9px 10px}
.ads-provider-tabs{display:flex;gap:8px;flex-wrap:wrap}
.ads-reconciliation{display:grid;gap:12px}
.ads-reconciliation-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.ads-reconciliation-head h2{margin-bottom:4px}
.ads-truth-badge{white-space:nowrap}
.ads-truth-badge .dot{background:var(--accent)}
.ads-reconciliation-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ads-reconciliation-card{padding:14px;gap:8px;border-top:3px solid rgba(255,255,255,.18)}
.ads-reconciliation-card.truth{border-top-color:var(--accent)}
.ads-reconciliation-card.google{border-top-color:#40c463}
.ads-reconciliation-card.meta{border-top-color:#1877f2}
.ads-reconciliation-card .kpi-value-sm{font-variant-numeric:tabular-nums}
.ads-section-note{margin:-4px 0 12px;max-width:78ch}
.ads-real-campaigns{display:grid;gap:8px;margin-bottom:12px}
.ads-real-campaign-row{--campaign-color:rgba(255,255,255,.22);position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;min-height:64px;padding:10px 14px;border:1px solid var(--ring);border-radius:10px;background:#111;overflow:hidden}
.ads-real-campaign-row.google{--campaign-color:rgba(64,196,99,.22)}
.ads-real-campaign-row.meta{--campaign-color:rgba(24,119,242,.25)}
.ads-real-campaign-row.email{--campaign-color:rgba(255,209,26,.2)}
.ads-real-campaign-row.onsite{--campaign-color:rgba(255,122,69,.2)}
.ads-real-campaign-row>i{position:absolute;inset:0 auto 0 0;width:var(--campaign-share);background:linear-gradient(90deg,var(--campaign-color),transparent);pointer-events:none}
.ads-real-campaign-copy,.ads-real-campaign-values{position:relative;z-index:1}
.ads-real-campaign-copy{display:flex;align-items:center;gap:9px;flex-wrap:wrap;min-width:0}
.ads-real-campaign-copy strong{overflow-wrap:anywhere}
.ads-real-campaign-values{display:grid;gap:2px;text-align:right;font-variant-numeric:tabular-nums}
.ads-real-campaign-values span{color:var(--muted);font-size:11px}
.ads-touchpoint-audit{margin-top:10px}
.ads-action-audit{border:1px solid var(--ring);border-radius:12px;background:#0f0f0f;overflow:hidden}
.ads-action-audit summary{min-height:44px;display:flex;align-items:center;padding:0 14px;cursor:pointer;color:var(--muted);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.ads-action-audit[open] summary{border-bottom:1px solid var(--ring);color:#fff}
.ads-action-audit .ads-table-wrap{border:0;border-radius:0}
.ads-kpis{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.ads-kpi{padding:14px;gap:8px}
.ads-chart{min-height:260px;border:1px solid var(--ring);border-radius:12px;background:#111;padding:14px;overflow-x:auto}
.ads-chart-legend{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:10px;color:var(--muted);font-size:12px}
.ads-chart-legend span{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.ads-chart-legend i{width:10px;height:10px;border-radius:999px;display:inline-block}
.ads-chart-legend .spend{background:#ff7a45}
.ads-chart-legend .impressions{background:#ffd11a}
.ads-chart-legend .reach{background:#ffd11a}
.ads-chart-legend .clicks{background:#2dd4bf}
.ads-chart-legend .conversions{background:#40c463}
.ads-chart-legend .orders{background:#40c463}
.ads-chart-legend .revenue{background:#ffd11a}
.ads-chart-legend .purchase-legend i{width:9px;height:9px;border-radius:1px;background:var(--accent);border:1px solid #fff;transform:rotate(45deg);box-shadow:0 0 8px rgba(242,193,78,.45)}
.ads-line-chart{width:100%;min-width:620px;height:auto;aspect-ratio:3/1;display:block}
.ads-line-chart line{stroke:rgba(255,255,255,.1);stroke-width:.5}
.ads-line-chart polyline{fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.ads-line-chart circle{stroke:#111;stroke-width:.6;vector-effect:non-scaling-stroke}
.ads-line-chart .chart-day-hit{fill:transparent;pointer-events:all;cursor:crosshair}
.ads-line-chart .chart-point-dot{transition:r .1s ease,stroke-width .1s ease,filter .1s ease}
.ads-line-chart .chart-point-dot.active{r:1.05;stroke-width:1.15;filter:drop-shadow(0 0 2px rgba(255,255,255,.5))}
.ads-line-chart .purchase-day-band{fill:rgba(242,193,78,.07);stroke:none;pointer-events:none}
.ads-line-chart .purchase-day-stem{stroke:rgba(242,193,78,.72);stroke-width:.8;vector-effect:non-scaling-stroke;pointer-events:none}
.ads-line-chart .purchase-day-marker{fill:var(--accent);stroke:#fff;stroke-width:.55;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 2px rgba(242,193,78,.58));pointer-events:none}
.ads-chart-labels text{fill:var(--muted);font-size:4px;text-anchor:middle}
.chart-hover-readout{
  min-height:36px;
  margin:8px 0 6px;
  padding:7px 9px;
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  border:1px solid rgba(255,255,255,.09);
  border-radius:9px;
  background:rgba(0,0,0,.22);
  color:#fff;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}
.chart-hover-date{color:var(--accent);font-weight:800;letter-spacing:.04em;white-space:nowrap}
.chart-hover-metric{display:inline-flex;align-items:center;gap:4px;color:var(--muted);white-space:nowrap}
.chart-hover-metric i{width:6px;height:6px;border-radius:50%;background:var(--chart-color,var(--accent));box-shadow:0 0 7px color-mix(in srgb,var(--chart-color,var(--accent)) 55%,transparent)}
.chart-hover-metric b{color:#f4f6f3;font-size:12px}
.chart-hover-purchase{display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border:1px solid rgba(242,193,78,.36);border-radius:999px;background:rgba(242,193,78,.1);color:#fff;white-space:nowrap}
.chart-hover-purchase i{width:8px;height:8px;border-radius:1px;background:var(--accent);border:1px solid #fff;transform:rotate(45deg)}
.chart-hover-purchase b{font-size:12px;font-variant-numeric:tabular-nums}
.chart-hover-guide{opacity:0;stroke:rgba(242,193,78,.5);stroke-width:.65;stroke-dasharray:2 2;pointer-events:none;vector-effect:non-scaling-stroke;transition:opacity .1s ease}
.chart-hover-guide.active{opacity:1}
.chart-day-hit:focus{outline:none}
.chart-day-hit:focus-visible{outline:none}
.ads-daily-values{margin-top:10px;border-top:1px solid rgba(255,255,255,.09)}
.ads-daily-values summary{min-height:44px;display:flex;align-items:center;cursor:pointer;color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.ads-daily-values .ads-table-wrap{max-height:280px}
.ads-daily-values tr.has-purchase td{background:rgba(242,193,78,.055)}
.ads-daily-values tr.has-purchase td:first-child{box-shadow:inset 3px 0 0 var(--accent)}

.ad-creative-lab{display:grid;gap:14px;padding:18px;border:1px solid rgba(242,193,78,.18);border-radius:16px;background:linear-gradient(145deg,rgba(22,21,16,.98),rgba(10,13,13,.98));box-shadow:0 18px 45px rgba(0,0,0,.2)}
.ad-creative-lab-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.ad-creative-lab-head h2{margin:4px 0 6px;font-size:24px;letter-spacing:-.03em}
.ad-creative-lab-head p{max-width:78ch;margin:0;line-height:1.55}
.ad-creative-lab-kicker{color:var(--accent);font-size:10px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.ad-creative-safety{display:grid;gap:3px;min-width:205px;padding:10px 12px;border:1px solid rgba(64,196,99,.25);border-radius:10px;background:rgba(64,196,99,.07)}
.ad-creative-safety strong{color:#8be6a2;font-size:12px}
.ad-creative-safety span{color:var(--muted);font-size:10px}
.ad-creative-inputs{display:grid;grid-template-columns:repeat(5,minmax(110px,1fr)) auto;align-items:end;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:rgba(0,0,0,.2)}
.ad-creative-inputs label{display:grid;gap:5px;min-width:0}
.ad-creative-inputs label>span{color:#909793;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.ad-creative-inputs input{width:100%;min-height:42px;padding:9px 10px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:#0d0f0f;color:#fff;font:inherit;font-size:13px;font-variant-numeric:tabular-nums}
.ad-creative-inputs input:focus-visible{border-color:var(--accent);outline:2px solid rgba(242,193,78,.22);outline-offset:1px}
.ad-creative-inputs .btn{min-height:42px;white-space:nowrap}
.ad-creative-money-input{position:relative}
.ad-creative-money-input>span{position:absolute;left:10px;top:50%;z-index:1;color:var(--muted);font-size:12px;transform:translateY(-50%)}
.ad-creative-money-input input{padding-left:24px}
.ad-creative-input-note{margin:-7px 2px 0;color:#737a76;font-size:10px;line-height:1.5}
.ad-creative-status{min-height:42px;padding:11px 12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#101212;color:#c9cecb;font-size:12px;line-height:1.5}
.ad-creative-status[data-kind="working"]{border-color:rgba(242,193,78,.28);color:#f7df94}
.ad-creative-status[data-kind="success"]{border-color:rgba(64,196,99,.26);color:#9ce2ad}
.ad-creative-status[data-kind="error"]{border-color:rgba(255,86,86,.32);color:#ffaaaa}
.ad-creative-research:empty{display:none}
.ad-creative-research-card{display:grid;gap:12px;padding:13px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:#0e1010}
.ad-creative-research-head{display:grid;grid-template-columns:minmax(180px,.4fr) minmax(0,1fr);gap:14px;align-items:start}
.ad-creative-research-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ad-creative-research-head>div>strong{color:#fff;font-size:11px;text-transform:uppercase}
.ad-creative-research-head p{margin:0;color:#c9cecb;font-size:12px;line-height:1.5}
.ad-creative-source-type{display:inline-flex;width:max-content;padding:4px 7px;border:1px solid rgba(242,193,78,.22);border-radius:999px;background:rgba(242,193,78,.07);color:#f2d274;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.ad-creative-searches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.ad-creative-searches>div{display:grid;gap:5px;min-width:0;padding:9px;border-radius:9px;background:#141616}
.ad-creative-searches strong{overflow-wrap:anywhere;font-size:11px}
.ad-creative-searches span{color:var(--muted);font-size:10px;line-height:1.45}
.ad-creative-searches a{color:var(--accent);font-size:9px;font-weight:800;text-decoration:underline;text-underline-offset:2px}
.ad-creative-library-limit{display:flex;align-items:flex-start;gap:9px;padding:9px 10px;border-left:3px solid #ff7a45;background:rgba(255,122,69,.07);color:#c9cecb;font-size:10px;line-height:1.45}
.ad-creative-library-limit strong{flex:none;color:#ffae8b}
.ad-creative-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ad-creative-filters{display:flex;gap:8px;flex-wrap:wrap}
.ad-creative-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.ad-creative-card{position:relative;min-width:0;padding:15px;border:1px solid rgba(255,255,255,.09);border-top:3px solid rgba(255,255,255,.2);border-radius:13px;background:linear-gradient(155deg,#151818,#0d0f0f);box-shadow:0 12px 28px rgba(0,0,0,.18)}
.ad-creative-card--meta{border-top-color:#4d8eff}
.ad-creative-card--google{border-top-color:#54cc73}
.ad-creative-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.ad-creative-format{color:#808783;font-size:9px;font-weight:750;text-transform:uppercase}
.ad-creative-card h3{margin:0 0 8px;font-size:18px;letter-spacing:-.02em}
.ad-creative-card>p{margin:0 0 11px;color:#b7bdb9;font-size:12px;line-height:1.52}
.ad-creative-card .ad-creative-hook{padding:9px 10px;border-left:3px solid var(--accent);background:rgba(242,193,78,.06);color:#fff;font-weight:700}
.ad-creative-budget-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin:12px 0}
.ad-creative-budget-strip>div{display:grid;gap:2px;padding:8px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#101212}
.ad-creative-budget-strip span{color:#737a76;font-size:8px;font-weight:800;text-transform:uppercase}
.ad-creative-budget-strip strong{font-size:12px;font-variant-numeric:tabular-nums}
.ad-creative-detail{border-top:1px solid rgba(255,255,255,.07)}
.ad-creative-detail summary{min-height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;color:#adb4af;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.ad-creative-detail summary::after{content:'+';color:var(--accent);font-size:15px;font-weight:500}
.ad-creative-detail[open] summary::after{content:'−'}
.ad-creative-detail>div{padding:0 3px 12px;color:#d3d7d5;font-size:11px;line-height:1.52}
.ad-creative-detail ul,.ad-creative-risks ul{display:grid;gap:6px;margin:0;padding-left:18px}
.ad-creative-spec{display:grid;gap:7px;margin:0}
.ad-creative-spec>div{display:grid;grid-template-columns:92px minmax(0,1fr);gap:8px}
.ad-creative-spec dt{color:#747c77;font-size:9px;font-weight:800;text-transform:uppercase}
.ad-creative-spec dd{margin:0;overflow-wrap:anywhere}
.ad-creative-evidence-list{display:grid;gap:8px}
.ad-creative-evidence-list article{display:grid;gap:5px;padding:9px;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#111313}
.ad-creative-evidence-list article>div{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.ad-creative-evidence-list a{color:#fff;text-decoration:underline;text-decoration-color:rgba(242,193,78,.55);text-underline-offset:2px}
.ad-creative-evidence-list p{margin:0;color:#c7ccc9}
.ad-creative-evidence-list small{color:#7e8581;line-height:1.45}
.ad-creative-risks{display:grid;gap:7px;margin-top:10px;padding:10px;border:1px solid rgba(255,122,69,.16);border-radius:9px;background:rgba(255,122,69,.055);color:#c9cecb;font-size:10px;line-height:1.45}
.ad-creative-risks>strong{color:#ffae8b;text-transform:uppercase}
.ad-creative-card-action{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.08)}
.ad-creative-card-action .btn{min-height:42px}
.ad-creative-card-action small{color:#747b77;line-height:1.35}
.ad-creative-card-action .btn:disabled{cursor:not-allowed;opacity:.62}
.ad-creative-drafts{border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#0d0f0f;overflow:hidden}
.ad-creative-drafts>summary{min-height:46px;display:flex;align-items:center;gap:8px;padding:0 13px;cursor:pointer;color:#c8cdca;font-size:11px;font-weight:800;text-transform:uppercase}
.ad-creative-drafts>summary span{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:999px;background:rgba(242,193,78,.12);color:var(--accent);font-size:10px}
.ad-creative-draft-list{display:grid;border-top:1px solid rgba(255,255,255,.07)}
.ad-creative-draft-list>.muted{padding:13px}
.ad-creative-draft-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.06)}
.ad-creative-draft-row:last-child{border-bottom:0}
.ad-creative-draft-row>div{display:grid;gap:3px;min-width:0}
.ad-creative-draft-row>div strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}
.ad-creative-draft-row>div span,.ad-creative-draft-row time{color:#757c78;font-size:9px}
.ad-creative-local-state{padding:5px 7px;border:1px solid rgba(64,196,99,.2);border-radius:999px;color:#8be6a2;font-size:8px;font-weight:850;text-transform:uppercase}
@media(max-width:600px){
  .chart-hover-readout{gap:6px 9px;padding:8px}
  .chart-hover-date{flex-basis:100%}
}
@media(max-width:1100px){
  .ad-creative-inputs{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ad-creative-inputs .btn{width:100%}
}
@media(max-width:820px){
  .ad-creative-lab{padding:13px}
  .ad-creative-lab-head,.ad-creative-toolbar{display:grid}
  .ad-creative-safety{min-width:0}
  .ad-creative-grid{grid-template-columns:1fr}
  .ad-creative-research-head{grid-template-columns:1fr}
  .ad-creative-searches{grid-template-columns:1fr}
}
@media(max-width:560px){
  .ad-creative-inputs{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}
  .ad-creative-inputs .btn{grid-column:1/-1}
  .ad-creative-budget-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ad-creative-card-action{grid-template-columns:1fr}
  .ad-creative-card-action .btn{width:100%}
  .ad-creative-draft-row{grid-template-columns:auto minmax(0,1fr)}
  .ad-creative-draft-row .ad-creative-local-state,.ad-creative-draft-row time{grid-column:2}
  .ad-creative-library-limit{display:grid}
}
@media(min-width:761px){.ads-chart{overflow-x:hidden}.ads-line-chart{min-width:0}}
@media (prefers-reduced-motion:reduce){.ads-line-chart .chart-point-dot,.chart-hover-guide{transition:none}}
.ads-bar{height:170px;min-width:28px;display:flex;flex-direction:column;justify-content:end;gap:6px;text-align:center}
.ads-bar span{display:block;border-radius:6px 6px 0 0;background:var(--accent);min-height:4px}
.ads-bar small{font-size:10px;color:var(--muted);white-space:nowrap}
.ads-table-wrap{border:1px solid var(--ring);border-radius:12px;overflow:auto;background:#111}
.ads-table{width:100%;border-collapse:collapse;font-size:13px}
.ads-table th,.ads-table td{padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left;white-space:nowrap}
.ads-table th{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:#101010}
.ads-table th[data-ads-sort]{cursor:pointer;user-select:none;transition:color .16s ease,background .16s ease}
.ads-table th[data-ads-sort]:hover,.ads-table th[data-ads-sort]:focus-visible,.ads-table th[data-ads-sort].is-sorted{color:var(--yellow);background:#17150c;outline:none}
.ads-drill-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.ads-drill-head h2{margin-bottom:4px}
.ads-level-tabs{display:flex;gap:8px;flex-wrap:wrap}
.ads-breadcrumbs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--muted);font-size:12px}
.ads-breadcrumbs button{border:0;background:transparent;color:#fff;text-decoration:underline dotted;cursor:pointer;padding:0;font:inherit}
.ads-breadcrumbs span{color:var(--muted)}
.ads-click-row{cursor:pointer}
.ads-click-row:hover td{background:#151515}
.ads-drill-hint{display:inline-flex;margin-left:8px;color:var(--muted);font-size:11px;border:1px solid rgba(255,255,255,.12);border-radius:999px;padding:2px 7px;vertical-align:middle}
.badge.meta .dot{background:#1877f2}
.badge.google .dot{background:#40c463}
.badge.onsite .dot{background:#ff7a45}
.badge.email .dot{background:#ffd11a}
.badge.unknown .dot{background:#9ca3af}
.badge.other .dot{background:#a78bfa}
.ads-runs{display:grid;gap:8px}
.ads-run-row{display:grid;grid-template-columns:90px 100px minmax(0,1fr) 170px;gap:10px;align-items:center;border:1px solid var(--ring);border-radius:10px;background:#111;padding:10px 12px;font-size:13px}
.ads-run-row time{color:var(--muted);text-align:right}
.ads-run-error{grid-column:1 / -1;color:#ff9a9a;font-size:12px}
.ads-status.ok .dot{background:#40c463}
.ads-status.failed .dot{background:#ff2b2b}
.ads-status.running .dot{background:#ffd11a}
@media (max-width:1100px){.ads-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.ads-reconciliation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.ads-head,.ads-drill-head,.ads-reconciliation-head{flex-direction:column}.ads-kpis,.ads-reconciliation-grid{grid-template-columns:1fr}.ads-real-campaign-row{grid-template-columns:1fr;gap:7px}.ads-real-campaign-values{text-align:left}.ads-run-row{grid-template-columns:1fr}.ads-run-row time{text-align:left}.ads-truth-badge{white-space:normal}}

/* AI jobs */
.ai-jobs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:14px}
.ai-jobs-head h2{margin-bottom:4px}
.ai-jobs-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ai-jobs-controls select{background:#111;color:#fff;border:1px solid var(--ring);border-radius:10px;padding:9px 10px}
.ai-free-run-toggle{display:inline-flex;align-items:center;gap:7px;min-height:38px;padding:7px 10px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#111;color:#777f7a;font:inherit;font-size:11px;font-weight:800;cursor:pointer}
.ai-free-run-toggle i{position:relative;width:28px;height:16px;border-radius:99px;background:#282c29;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);transition:background .15s ease}
.ai-free-run-toggle i:after{content:"";position:absolute;top:3px;left:3px;width:10px;height:10px;border-radius:50%;background:#7b837e;transition:transform .15s ease,background .15s ease}
.ai-free-run-toggle strong{color:#737b76;font-size:9px;letter-spacing:.06em}
.ai-free-run-toggle.active{border-color:rgba(88,189,120,.26);background:rgba(88,189,120,.055);color:#a9d8b7}
.ai-free-run-toggle.active i{background:rgba(88,189,120,.34)}
.ai-free-run-toggle.active i:after{transform:translateX(12px);background:#71d48e;box-shadow:0 0 7px rgba(88,189,120,.5)}
.ai-free-run-toggle.active strong{color:#71d48e}
.ai-free-run-toggle:disabled{opacity:.55;cursor:wait}
.ai-jobs-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}
.ai-job-kpi{padding:14px;gap:8px}
.ai-worker-card{border:1px solid var(--ring);border-radius:12px;background:#111;padding:14px;display:grid;gap:10px}
.ai-worker-card div{display:grid;gap:4px}
.ai-worker-card span{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.ai-worker-card strong{font-size:14px}
.ai-worker-card code{display:block;white-space:normal;word-break:break-word;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:#0d0d0d;padding:9px;color:#e5e5e5}
.ai-type-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.ai-type-card{padding:14px;gap:10px}
.ai-type-card h3{margin:0;font-size:16px}
.ai-type-counts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;color:var(--muted);font-size:12px}
.ai-type-counts span{border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:8px}
.ai-type-counts strong{color:#fff;margin-left:4px}
.ai-job-detail{margin-bottom:12px}
.ai-job-list{display:grid;gap:12px}
.ai-job-card{padding:14px;gap:12px;cursor:pointer;transition:border-color .12s ease,background .12s ease}
.ai-job-card:hover,.ai-job-card.selected{border-color:rgba(255,213,74,.55);background:#191919}
.ai-job-card:focus-visible{outline:2px solid #ffd11a;outline-offset:2px}
.ai-job-detail-card{padding:14px;gap:14px}
.ai-job-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ai-job-top h3{margin:0 0 4px;font-size:16px}
.ai-job-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
.ai-status.running .dot{background:#ffd11a}
.ai-status.queued .dot{background:#7aa2ff}
.ai-status.done .dot{background:#40c463}
.ai-status.ok .dot{background:#40c463}
.ai-status.failed .dot{background:#ff2b2b}
.ai-job-progress{height:8px;background:#0d0d0d;border:1px solid rgba(255,255,255,.1);border-radius:999px;overflow:hidden}
.ai-job-progress span{display:block;height:100%;background:var(--accent);border-radius:999px}
.ai-job-facts{display:flex;gap:8px;flex-wrap:wrap}
.ai-job-facts span{border:1px solid rgba(255,255,255,.1);border-radius:999px;padding:6px 10px;color:var(--muted);font-size:12px}
.ai-job-facts strong{color:#fff}
.ai-job-card details,.ai-job-detail-card details{border-top:1px solid rgba(255,255,255,.08);padding-top:8px}
.ai-job-card summary,.ai-job-detail-card summary{cursor:pointer;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.ai-job-card pre,.ai-job-detail-card pre{white-space:pre-wrap;word-break:break-word;max-height:360px;overflow:auto;background:#0d0d0d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:10px;color:#e5e5e5;font-size:12px;line-height:1.45}
.ai-job-detail-card h4{margin:0 0 8px;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.ai-job-detail-card p{margin:0;color:#e5e5e5;line-height:1.5}
.ai-job-detail-card ul{margin:0;padding-left:20px;display:grid;gap:6px;color:#e5e5e5;line-height:1.45}
.ai-linked-run{display:grid;gap:12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#101010;padding:12px}
.ai-linked-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ai-linked-head h3{margin:0 0 4px;font-size:17px}
.ai-linked-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ai-linked-cards article{border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0d0d0d;padding:10px;display:grid;gap:5px}
.ai-linked-cards strong{font-size:14px;color:#fff}
.ai-linked-cards span{font-size:12px;color:var(--muted)}
@media (max-width:1000px){.ai-jobs-kpis,.ai-type-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .ai-jobs-head{flex-direction:column}
  .ai-jobs-controls{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .ai-jobs-controls .btn,.ai-jobs-controls select,.ai-jobs-controls .ai-free-run-toggle{width:100%;min-height:44px;justify-content:center}
  .ai-jobs-kpis,.ai-type-grid,.ai-linked-cards{grid-template-columns:1fr}.ai-job-top,.ai-linked-head{flex-direction:column}
}

/* --- KPI cards (add-on) --- */
.kpi-head{display:flex;align-items:flex-start;justify-content:space-between;padding:12px 12px 0}
.kpi-title{font-size:16px;font-weight:700;margin:0}
.kpi-hint{font-size:12px;color:var(--muted)}
.kpi-time{font-size:12px;color:var(--muted)}
.kpi-value{padding:6px 12px 4px;font-size:40px;line-height:1.1;font-weight:800;letter-spacing:-.02em}
.kpi-subtitle{padding:8px 12px 6px;font-size:12px;color:var(--muted);font-weight:600;opacity:.95}
.kpi-pair{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:2px 12px 6px}
.kpi-mini{font-size:12px;color:var(--muted)}
.kpi-value-sm{font-size:28px;font-weight:800;letter-spacing:-.02em}

/* chip row reuses your existing .badge style */
.badge .label{opacity:.9}
.badge strong{font-weight:800}


/* ===== KPI grid quick layout ===== */
.grid.grid-4{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
@media (max-width:1200px){ .grid.grid-4{ grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:900px){  .grid.grid-4{ grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width:620px){  .grid.grid-4{ grid-template-columns:1fr; } }

/* ===== KPI card cosmetics (compact, consistent with your cards) ===== */
#channel-kpis .card{ padding:14px 14px 12px; }
#channel-kpis .card.ticket-card{
  grid-column:1 / -1;
}
#channel-kpis .card.ga4-card{
  grid-column:1 / -1;
}
.kpi-head{ display:flex; justify-content:space-between; align-items:flex-start; margin-bottom:6px; }
.kpi-title{ font-size:14px; font-weight:700; letter-spacing:.2px; }
.kpi-hint,.kpi-time{ font-size:12px; opacity:.75; }
.kpi-value{ font-size:34px; line-height:1.15; font-weight:800; letter-spacing:-.02em; margin:6px 0 2px; }
.kpi-subtitle{ margin:8px 0 4px; font-size:12px; opacity:.8; font-weight:600; }
.kpi-pair{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:4px 0 2px; }
.kpi-mini{ font-size:11px; opacity:.7; }
.kpi-value-sm{ font-size:24px; font-weight:800; letter-spacing:-.02em; }

/* ===== Chips reuse your .badge style; tighten spacing ===== */
.chip-bar{ display:flex; flex-wrap:wrap; gap:8px; }
.ticket-summary-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:16px;
  margin-top:14px;
}
@media (max-width:1000px){
  .ticket-summary-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}
@media (max-width:640px){
  .ticket-summary-grid{
    grid-template-columns:1fr;
  }
}
.ticket-summary{
  border:1px solid rgba(255,255,255,.12);
  border-radius:14px;
  padding:12px 14px;
  background:rgba(255,255,255,.03);
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:160px;
}
.ticket-summary-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}
.ticket-summary-label{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.08em;
  opacity:.8;
}
.ticket-summary-value{
  font-size:30px;
  font-weight:700;
}
.ticket-type-lines{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.ticket-type-lines li{
  display:flex;
  justify-content:space-between;
  gap:8px;
  font-size:13px;
}
.ticket-type-lines li span{
  color:var(--ink);
  opacity:.85;
}
.ticket-type-lines li strong{
  font-weight:700;
}
.ticket-card .kpi-value-sm{
  font-size:28px;
}
.ticket-card .kpi-mini.muted{
  font-size:12px;
  color:var(--muted);
}
.ticket-note{
  margin-top:10px;
  font-size:12px;
  color:var(--muted);
}
.ticket-extra-chips{
  margin-top:10px;
}
.ticket-purchase-action{
  margin:8px 0 2px;
}
.ticket-purchase-action .btn{
  min-height:38px;
}
.ticket-purchase-backdrop{
  position:fixed;
  inset:0;
  z-index:1200;
  background:rgba(0,0,0,.72);
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
  backdrop-filter:blur(4px);
}
.ticket-purchase-backdrop.open{
  opacity:1;
  pointer-events:auto;
}
.ticket-purchase-modal{
  position:fixed;
  inset:0;
  z-index:1201;
  display:grid;
  place-items:center;
  padding:24px;
  pointer-events:none;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .18s ease,transform .18s ease;
}
.ticket-purchase-modal.open{
  opacity:1;
  transform:none;
  pointer-events:auto;
}
.ticket-purchase-dialog{
  width:min(980px,100%);
  max-height:min(820px,calc(100vh - 48px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  border-radius:20px;
  background:#101010;
  box-shadow:0 28px 90px rgba(0,0,0,.62);
}
.ticket-purchase-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:22px 24px 18px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.ticket-purchase-header h2{margin:3px 0 4px;font-size:24px}
.ticket-purchase-header p{margin:0;color:var(--muted);font-size:13px}
.ticket-purchase-eyebrow{color:#ffd11a;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.ticket-purchase-close{
  width:40px;
  height:40px;
  flex:0 0 40px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  background:rgba(255,255,255,.04);
  color:#fff;
  font-size:27px;
  line-height:1;
  cursor:pointer;
}
.ticket-purchase-content{padding:20px 24px;overflow:auto;min-height:240px}
.ticket-purchase-state{display:grid;place-items:center;min-height:200px;color:var(--muted)}
.ticket-purchase-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.ticket-purchase-stats>div{padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035)}
.ticket-purchase-stats span{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}
.ticket-purchase-stats strong{font-size:27px;letter-spacing:-.03em}
.ticket-purchase-tabs{display:flex;gap:6px;padding:4px;border-radius:12px;background:rgba(255,255,255,.055);width:max-content}
.ticket-purchase-tabs button{padding:9px 13px;border:0;border-radius:9px;background:transparent;color:var(--muted);font:inherit;font-weight:700;cursor:pointer}
.ticket-purchase-tabs button.active{background:#ffd11a;color:#111}
.ticket-purchase-help{margin:14px 0 10px;color:var(--muted);font-size:12px}
.ticket-purchase-table-wrap{overflow:auto;border:1px solid rgba(255,255,255,.1);border-radius:14px}
.ticket-purchase-table-wrap table{width:100%;border-collapse:collapse;min-width:690px;font-size:13px}
.ticket-purchase-table-wrap th,.ticket-purchase-table-wrap td{padding:12px 14px;text-align:left;border-bottom:1px solid rgba(255,255,255,.08);vertical-align:top}
.ticket-purchase-table-wrap th{position:sticky;top:0;background:#181818;color:var(--muted);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.ticket-purchase-table-wrap tbody tr:last-child td{border-bottom:0}
.ticket-purchase-table-wrap a{color:#fff;text-decoration-color:rgba(255,209,26,.65);text-underline-offset:3px}
.ticket-purchase-empty{text-align:center!important;color:var(--muted);padding:34px!important}
.ticket-purchase-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 24px;border-top:1px solid rgba(255,255,255,.1);background:#121212}
.ticket-purchase-footer span{font-size:12px;color:var(--muted)}
body.ticket-purchase-open{overflow:hidden}
@media(max-width:700px){
  .ticket-purchase-modal{place-items:end center;padding:0}
  .ticket-purchase-dialog{width:100%;max-height:92dvh;border-radius:20px 20px 0 0;border-bottom:0}
  .ticket-purchase-header{padding:18px 16px 14px}
  .ticket-purchase-header h2{font-size:21px}
  .ticket-purchase-content{padding:16px}
  .ticket-purchase-stats{grid-template-columns:1fr 1fr;gap:8px}
  .ticket-purchase-stats>div{padding:11px 12px}
  .ticket-purchase-stats>div:last-child{grid-column:1/-1}
  .ticket-purchase-stats strong{font-size:23px}
  .ticket-purchase-tabs{width:100%}
  .ticket-purchase-tabs button{flex:1}
  .ticket-purchase-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));align-items:stretch;flex-direction:column-reverse}
  .ticket-purchase-footer .btn{width:100%;min-height:46px}
}
.ticket-utm-subtitle{
  margin-top:12px;
  margin-bottom:6px;
  padding:0;
}
.ticket-utm-chips{
  margin-bottom:2px;
}
.badge.ticket.ticket-utm-chip{
  background:rgba(255,255,255,.04);
}
.badge.ticket.ticket-utm-chip .dot{
  background:#7c9cff;
}
.badge.ticket.ticket-utm-total .dot{
  background:#ffd54a;
}
.badge.ticket.ticket-utm-direct .dot{
  background:#777;
}
.ticket-campaign-subtitle{
  margin-top:10px;
  margin-bottom:6px;
  padding:0;
}
.ticket-campaign-chips{
  margin-bottom:2px;
}
.badge.ticket.ticket-campaign-chip{
  max-width:min(100%,320px);
  background:rgba(124,156,255,.08);
}
.badge.ticket.ticket-campaign-chip .dot{
  background:#b48cff;
}
.badge.ticket.ticket-campaign-chip .label{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.ticket-sector-subtitle{
  margin-top:10px;
  margin-bottom:6px;
  padding:0;
}
.ticket-sector-chips{
  margin-bottom:2px;
}
.ticket-sector-chip{
  background:rgba(255,255,255,.04);
}
.badge.ticket.ticket-sector-chip .dot{
  background:#9aa0a6;
}
.badge.ticket.ticket-sector-chip.sector-red .dot{
  background:#ff5a5f;
}
.badge.ticket.ticket-sector-chip.sector-grey .dot{
  background:#c2c7d0;
}
.badge.ticket.ticket-sector-chip.sector-blue .dot{
  background:#4d7bff;
}
.badge.ticket.ticket-sector-chip.sector-other .dot{
  background:#9aa0a6;
}
.ticket-progress-wrap{
  margin-top:10px;
  display:grid;
  gap:8px;
}
.ticket-progress-row{
  display:grid;
  gap:4px;
}
.ticket-progress-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.ticket-progress-label{
  font-size:12px;
  color:var(--ink);
  opacity:.9;
}
.ticket-progress-meta{
  font-size:12px;
}
.ticket-progress-track{
  height:8px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  overflow:hidden;
  position:relative;
}
.ticket-progress-track > span{
  display:block;
  height:100%;
  width:0%;
  background:linear-gradient(90deg,#ff4d4f,#2e7d32);
  position:absolute;
  top:0;
  left:0;
}
[data-ticket-progress="vip_tables"] [data-ticket-progress-fill="vip_tables_booked_manual"]{
  background:linear-gradient(90deg,#4d7bff,#1e3a8a);
}
[data-ticket-progress="vip_tables"] [data-ticket-progress-fill="vip_tables"]{
  z-index:1;
}
[data-ticket-progress="vip_tables"] [data-ticket-progress-fill="vip_tables_booked_manual"]{
  z-index:2;
}
[data-ticket-progress="cage_side"] [data-ticket-progress-fill="cage_side_booked_manual"]{
  background:linear-gradient(90deg,#4d7bff,#1e3a8a);
}
[data-ticket-progress="cage_side"] [data-ticket-progress-fill="cage_side"]{
  z-index:1;
}
[data-ticket-progress="cage_side"] [data-ticket-progress-fill="cage_side_booked_manual"]{
  z-index:2;
}
[data-ticket-progress="regular_seats"] [data-ticket-progress-fill="regular_seats_booked_manual"]{
  background:linear-gradient(90deg,#4d7bff,#1e3a8a);
}
[data-ticket-progress="regular_seats"] [data-ticket-progress-fill="regular_seats"]{
  z-index:1;
}
[data-ticket-progress="regular_seats"] [data-ticket-progress-fill="regular_seats_booked_manual"]{
  z-index:2;
}
.badge.ticket .dot{
  background:#ffd54a;
}
.badge strong{ margin-left:6px; font-weight:800; }
.badge .label{ opacity:.9; }

/* Optional: ensure platform “dots” have brand colors if not already set */
.badge.ig .dot{ background:#e1306c; }
.badge.fb .dot{ background:#1877f2; }
.badge.yt .dot{ background:#ff0033; }
.badge.tiktok .dot{ background:#00f2ea; }

/* Center the login neatly */
.login-wrap {
  min-height: calc(100vh - 160px); /* header + padding */
  display: grid;
  place-items: center;
  padding: 24px;
}
.auth.card {
  background: #121212;
  border: 1px solid #2a2a2a;
  border-radius: 12px;
  padding: 20px 22px;
  width: 100%;
  max-width: 360px;
  box-shadow: 0 6px 24px rgba(0,0,0,0.35);
}
.auth .row { display: grid; gap: 8px; margin-bottom: 14px; }
.auth input[type="password"] {
  background:#0e0e0e; border:1px solid #2b2b2b; color:#fff;
  padding:10px 12px; border-radius:8px; outline:none;
}
.auth button {
  width:100%; padding:10px 12px; border-radius:8px; border:0;
  background:#ff2b2b; color:#fff; font-weight:600; cursor:pointer;
}
.auth .err { margin-top:8px; color:#ff8c8c; font-size:0.9rem; }

/* Top navbar */
.topnav {
  display:flex; gap:10px; align-items:center;
  border-bottom:1px solid #242424; padding:12px 0; margin-bottom:14px;
}
.topnav a {
  color:#d6d6d6; text-decoration:none; padding:8px 12px; border-radius:8px;
  transition:background .15s ease, color .15s ease;
}
.topnav a:hover { background:#1b1b1b; color:#fff; }
.topnav a.active { background:#ff2b2b; color:#fff; }
.topnav a.logout { margin-left:auto; opacity:.8; }
.topnav a.logout:hover { opacity:1; }
.nav-user {
  margin-left:auto;
  color:var(--muted);
  font-size:12px;
}
.nav-user + a.logout {
  margin-left:0;
}
.mobile-bottom-nav,
.mobile-nav-backdrop,
.mobile-nav-sheet{
  display:none;
}

/* Main iframe */
.mainframe {
  background:#0a0a0a; border:1px solid #1a1a1a; border-radius:10px;
}

/* --- Buttons --- */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 10px;
  border: 1px solid #2a2a2a;
  background: #141414;
  color: #e7e7e7;
  text-decoration: none;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease, transform .02s ease;
  user-select: none;
}
.btn:hover { background: #1c1c1c; border-color: #333; color: #fff; }
.btn:active { transform: translateY(1px); }
.btn:focus-visible { outline: 2px solid #ffd11a; outline-offset: 2px; }

.btn-tab {
  background: #141414;
  border-color: #2a2a2a;
}
.btn-tab.active {
  background: #ffd11a;
  border-color: #ffd11a;
  color: #111;
}
.btn-ghost {
  background: transparent;
  border-color: #2a2a2a;
  color: #bdbdbd;
}
.btn-ghost:hover {
  background: #1a1a1a;
  color: #fff;
}

.btn-yellow {
  background: #ffd11a;   /* bright sports yellow */
  color: #111;
  border-color: #ffd11a;
}
.btn-yellow:hover {
  background: #e6c100;
  border-color: #e6c100;
  color: #111;
}
.btn-full { width: 100%; }

/* --- Top navbar as button row --- */
.topnav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  border-bottom: 1px solid #242424;
  padding: 12px 0;
  margin-bottom: 14px;
}

/* --- Smaller, centered login card --- */
.login-wrap {
  min-height: calc(100vh - 160px);
  display: grid;
  place-items: center;
  padding: 24px;
}
.auth.card {
  background: #121212;
  border: 1px solid #2a2a2a;
  border-radius: 12px;
  padding: 18px 18px;
  width: 100%;
  max-width: 320px;  /* smaller */
  box-shadow: 0 6px 24px rgba(0,0,0,0.35);
}
.auth .row { display: grid; gap: 8px; margin-bottom: 14px; }
.auth input[type="password"] {
  background:#0e0e0e; border:1px solid #2b2b2b; color:#fff;
  padding:10px 12px; border-radius:8px; outline:none;
}
.auth .err { margin-top:8px; color:#ff8c8c; font-size:0.9rem; }

.admin-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
}
.admin-section-head h2{
  margin-bottom:4px;
}
.admin-section-head p{
  margin:0;
  font-size:13px;
}
.admin-pull-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}
.admin-pull-card{
  gap:0;
  padding:0;
  min-width:0;
}
.admin-pull-card.running{
  border-color:rgba(255,209,26,.45);
}
.admin-pull-card.is-open{
  border-color:rgba(255,209,26,.3);
}
.admin-pull-toggle{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  width:100%;
  min-height:64px;
  padding:10px 12px;
  border:0;
  border-radius:inherit;
  background:transparent;
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
}
.admin-pull-toggle:hover{background:rgba(255,255,255,.035)}
.admin-pull-toggle:focus-visible{outline:2px solid #ffd54a;outline-offset:-2px}
.admin-pull-head{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.admin-pull-title,
.admin-pull-description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-pull-title{margin-bottom:3px;font-size:13px;font-weight:800}
.admin-pull-description{max-width:240px;color:var(--muted);font-size:11px;line-height:1.3}
.admin-pull-chevron{flex:0 0 auto;color:var(--muted);font-size:19px;line-height:1;transition:transform .18s ease}
.admin-pull-card.is-open .admin-pull-chevron{transform:rotate(180deg)}
.admin-pull-details{display:grid;gap:12px;padding:0 12px 12px}
.admin-pull-head h3{
  margin:0 0 4px;
  font-size:16px;
}
.admin-pull-head p{
  margin:0;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.admin-pull-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  border:1px solid rgba(255,209,26,.3);
  border-radius:12px;
  background:rgba(255,209,26,.1);
  color:#ffd54a;
  display:grid;
  place-items:center;
}
.admin-pull-icon svg{
  width:18px;
  height:18px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.admin-pull-icon strong{
  font-size:15px;
  line-height:1;
}
.admin-pull-icon--facebook{border-color:rgba(24,119,242,.4);background:rgba(24,119,242,.12);color:#6da9ff}
.admin-pull-icon--instagram{border-color:rgba(225,48,108,.4);background:rgba(225,48,108,.12);color:#ff79a7}
.admin-pull-icon--tiktok{border-color:rgba(0,242,234,.35);background:rgba(0,242,234,.1);color:#65fff8}
.admin-pull-icon--ga4{border-color:rgba(255,145,0,.4);background:rgba(255,145,0,.11);color:#ffad42}
.admin-pull-icon--meta_ads{border-color:rgba(24,119,242,.4);background:rgba(24,119,242,.12);color:#72aaff}
.admin-pull-icon--google_ads{border-color:rgba(66,133,244,.4);background:rgba(66,133,244,.11);color:#78a7ff}
.admin-pull-form{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:end;
  gap:10px;
}
.admin-pull-form label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.admin-pull-form input{
  width:100%;
  min-height:42px;
  border:1px solid #2b2b2b;
  border-radius:9px;
  background:#0e0e0e;
  color:#fff;
  padding:9px 11px;
  font:inherit;
}
.admin-pull-form .btn{
  min-height:42px;
}
.admin-pull-form .btn:disabled{
  opacity:.6;
  cursor:wait;
}
.admin-pull-form--button{
  display:block;
}
.admin-pull-form--button .btn{
  width:100%;
}
.admin-pull-status{
  min-height:20px;
  border-radius:9px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.admin-pull-status.running{
  color:#ffe58d;
}
.admin-pull-status.success{
  color:#78e49b;
}
.admin-pull-status.error{
  padding:9px 10px;
  border:1px solid rgba(255,90,90,.28);
  background:rgba(255,70,70,.08);
  color:#ffaaaa;
}
.admin-pull-result{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.admin-pull-result>div{
  min-width:0;
  padding:9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:#101010;
}
.admin-pull-result>div.wide{
  grid-column:1 / -1;
}
.admin-pull-result>div.wide dd{
  font-size:12px;
  font-weight:600;
}
.admin-pull-result dt{
  color:var(--muted);
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.admin-pull-result dd{
  margin:4px 0 0;
  overflow:hidden;
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* Compact admin pull list: keep the action, state, and last-run timestamp in one scan line. */
.admin-pull-table{
  display:grid;
  grid-template-columns:1fr;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:#101010;
}
.admin-pull-row{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) 120px 96px minmax(0,1.65fr) 88px;
  gap:12px;
  align-items:center;
  min-height:62px;
  padding:8px 11px;
  border-top:1px solid rgba(255,255,255,.08);
}
.admin-pull-row > [role="cell"]{min-width:0}
.admin-pull-row--head{grid-column:auto}
.admin-pull-row--head{
  min-height:34px;
  padding-top:7px;
  padding-bottom:7px;
  background:#0c0c0c;
  color:#737b76;
  font-size:10px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.admin-pull-source{display:flex;align-items:center;gap:10px;min-width:0}
.admin-pull-source-copy{display:grid;gap:3px;min-width:0}
.admin-pull-source-copy strong{overflow:hidden;color:#fff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.admin-pull-source-copy small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}
.admin-pull-last{color:#d4dad5;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.admin-pull-state-badge{display:inline-flex;align-items:center;justify-content:center;width:82px;min-height:25px;padding:4px 7px;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#aab2ad;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.admin-pull-state--completed{border-color:rgba(111,231,216,.24);background:rgba(111,231,216,.06);color:#6fe7d8}
.admin-pull-state--failed{border-color:rgba(255,114,114,.25);background:rgba(255,114,114,.06);color:#ff9898}
.admin-pull-state--running{border-color:rgba(255,213,74,.25);background:rgba(255,213,74,.06);color:#ffe58d}
.admin-pull-state--queued{border-color:rgba(122,162,255,.25);background:rgba(122,162,255,.06);color:#9bb8ff}
.admin-pull-state{display:grid;gap:4px;min-width:0}
.admin-pull-state .admin-pull-status{min-height:0;overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.admin-pull-inline-result{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font-size:10px;line-height:1.25}
.admin-pull-inline-result:empty::after{content:'—';color:#68716c}
.admin-pull-inline-result[hidden]{display:none}
.admin-pull-inline-result span{white-space:nowrap}
.admin-pull-inline-result b{color:#fff;font-size:11px;font-weight:800}
.admin-pull-inline-result-wide{min-width:0;overflow:hidden;text-overflow:ellipsis}
.admin-pull-action{display:block;min-width:0}
.admin-pull-action .admin-pull-form--button{display:block}
.admin-pull-action .admin-pull-form--button .btn{width:88px;min-width:88px;min-height:38px;padding:6px 10px;font-size:11px}
.admin-pull-action .admin-pull-status{min-height:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-pull-action .admin-pull-result{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
.admin-pull-card.running{border-color:transparent;border-top-color:rgba(255,209,26,.28);background:rgba(255,209,26,.025)}
@media (max-width:900px){
  .admin-pull-row{grid-template-columns:minmax(0,1.4fr) 115px 90px minmax(0,1.25fr) 88px;gap:9px;padding-left:10px;padding-right:10px}
  .admin-pull-source-copy small{display:none}
}
.token-debug-controls{
  display:grid;
  grid-template-columns:minmax(180px,.8fr) minmax(280px,1.6fr) auto;
  align-items:end;
  gap:10px;
}
.token-debug-controls label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.token-debug-controls select{
  min-height:42px;
  border:1px solid #2b2b2b;
  border-radius:9px;
  background:#0e0e0e;
  color:#fff;
  padding:9px 11px;
  font:inherit;
}
.token-debug-controls select:focus-visible{
  outline:2px solid #ffd54a;
  outline-offset:2px;
}
.token-debug-controls .btn{
  min-height:42px;
  white-space:nowrap;
}
.token-debug-help{
  max-width:760px;
  margin:12px 0 0;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}
.token-debug-status{
  min-height:20px;
  margin-top:12px;
  color:var(--muted);
  font-size:12px;
  line-height:1.4;
}
.token-debug-status.running{color:#ffe58d}
.token-debug-status.success{color:#78e49b}
.token-debug-status.error{
  padding:9px 10px;
  border:1px solid rgba(255,90,90,.28);
  border-radius:9px;
  background:rgba(255,70,70,.08);
  color:#ffaaaa;
}
.token-debug-meta{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.token-debug-meta>div{
  min-width:0;
  padding:9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:9px;
  background:#101010;
}
.token-debug-meta>div.wide{grid-column:1 / -1}
.token-debug-meta dt{
  color:var(--muted);
  font-size:10px;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.token-debug-meta dd{
  margin:4px 0 0;
  overflow-wrap:anywhere;
  color:#fff;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;
  line-height:1.45;
}
@media (max-width:620px){
  .admin-pull-grid{grid-template-columns:1fr}
  .admin-pull-row--head{display:none}
  .admin-pull-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;min-height:0;padding:12px}
  .admin-pull-source{grid-column:1 / -1}
  .admin-pull-last{grid-column:1;color:var(--muted);font-size:10px}
  .admin-pull-state{grid-column:2;grid-row:2;justify-self:end}
  .admin-pull-inline-result{grid-column:1 / -1;flex-wrap:wrap}
  .admin-pull-action{grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr)}
  .admin-pull-action .admin-pull-form--button .btn{min-width:94px}
  .admin-pull-action .admin-pull-form--button .btn{min-height:44px}
  .admin-pull-form{grid-template-columns:1fr}
  .admin-pull-form .btn{min-height:46px}
  .admin-pull-result{grid-template-columns:repeat(2,minmax(0,1fr))}
  .token-debug-controls{grid-template-columns:1fr}
  .token-debug-controls .btn{width:100%}
  .token-debug-meta{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Secure token console */
.token-console{display:grid;gap:16px;max-width:1440px}
.token-console-hero,.token-console-section-head,.token-console-provider-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.token-console-hero{padding:24px;border:1px solid rgba(255,213,74,.2);border-radius:18px;background:linear-gradient(135deg,#161616,#0e1117);box-shadow:0 18px 50px rgba(0,0,0,.2)}
.token-console h1,.token-console h2,.token-console h3{margin:0;color:#fff}
.token-console h1{font-size:clamp(28px,4vw,44px);letter-spacing:-.04em}
.token-console h2{font-size:22px;letter-spacing:-.02em}
.token-console h3{font-size:15px}
.token-console-lede{max-width:680px;margin:10px 0 0;color:#b8bdc3;line-height:1.6}
.eyebrow{margin:0 0 6px;color:#ffd54a;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.token-console-guard{display:flex;align-items:center;gap:10px;min-width:190px;padding:12px 14px;border:1px solid rgba(120,228,155,.28);border-radius:12px;background:rgba(34,130,80,.1);color:#78e49b}
.token-console-guard svg{width:25px;height:25px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.token-console-guard span{display:grid;gap:3px}.token-console-guard strong{font-size:12px}.token-console-guard small{color:#b4d8c0;font-size:11px}
.token-console-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.token-console-flow>div{display:grid;gap:3px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#101010}
.token-console-flow span{color:#ffd54a;font:700 11px ui-monospace,SFMono-Regular,Menlo,monospace}.token-console-flow strong{font-size:13px}.token-console-flow small{color:var(--muted);font-size:11px}
.token-console-status{min-height:22px;padding:0 2px;color:var(--muted);font-size:12px;line-height:1.5}.token-console-status.running{color:#ffe58d}.token-console-status.success{color:#78e49b}.token-console-status.error{padding:10px 12px;border:1px solid rgba(255,90,90,.3);border-radius:10px;background:rgba(255,70,70,.08);color:#ffaaaa}
.token-console-workbench,.token-console-provider{padding:18px;border:1px solid rgba(255,255,255,.08);border-radius:16px;background:#0d0d0d}
.token-console-section-head{align-items:end;margin-bottom:14px}.token-console-section-head>p{max-width:560px;margin:0;color:var(--muted);font-size:12px;line-height:1.5}
.token-console-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.token-console-action-card{display:grid;align-content:start;gap:12px;padding:14px;border:1px solid rgba(255,255,255,.08);border-radius:13px;background:#141414}
.token-console-card-title{display:flex;align-items:flex-start;gap:10px}.token-console-card-title p{margin:4px 0 0;color:var(--muted);font-size:11px;line-height:1.4}
.token-console-mark{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:9px;background:#222;color:#ffd54a;font:800 10px ui-monospace,SFMono-Regular,Menlo,monospace}
.token-console-action-card label,.token-console-test-controls label{display:grid;gap:6px;color:#aeb3b8;font-size:11px;font-weight:700}.token-console-action-card select,.token-console-action-card textarea,.token-console-test-controls select{width:100%;min-height:42px;border:1px solid #303030;border-radius:9px;background:#0a0a0a;color:#fff;padding:10px;font:inherit}.token-console-action-card textarea{resize:vertical;line-height:1.45}.token-console-action-card select:focus-visible,.token-console-action-card textarea:focus-visible,.token-console-test-controls select:focus-visible{outline:2px solid #ffd54a;outline-offset:2px}
.token-console-hint{margin:0;color:#8d9297;font-size:11px;line-height:1.45}
.token-console-test-workbench{background:#11151b;border-color:rgba(65,135,220,.25)}
.token-console-test-controls{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(260px,1.3fr) auto;align-items:end;gap:10px}.token-console-test-controls .btn{min-height:42px;white-space:nowrap}
.token-console-result{max-height:320px;margin:14px 0 0;padding:13px;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#08090b;color:#d7e1eb;font:12px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;overflow-wrap:anywhere}
.token-console-provider{display:grid;gap:14px}.token-console-provider-head>div:first-child{min-width:0}.token-console-provider-head>div:first-child>p:last-child{max-width:760px;margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.5}.token-console-provider-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.token-console-provider--meta{border-color:rgba(255,213,74,.2)}.token-console-provider--tiktok{border-color:rgba(255,255,255,.18)}.token-console-provider--youtube{border-color:rgba(255,70,70,.22)}.token-console-provider--ga4{border-color:rgba(80,140,255,.25)}.token-console-provider--google{border-color:rgba(120,180,255,.2)}
.token-console-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;padding:0;list-style:none;counter-reset:steps}.token-console-steps li{position:relative;min-height:46px;padding:10px 10px 10px 30px;border-radius:9px;background:#141414;color:#bfc4ca;font-size:11px;line-height:1.45;counter-increment:steps}.token-console-steps li::before{content:counter(steps);position:absolute;left:10px;top:10px;color:#ffd54a;font-weight:800}
.token-console-links{display:flex;flex-wrap:wrap;gap:12px}.token-console-links a{color:#ffe58d;font-size:11px;text-decoration:none}.token-console-links a:hover{text-decoration:underline}
.token-console-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.token-console-field{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(150px,1fr) auto;align-items:center;gap:10px;min-width:0;padding:10px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#111}.token-console-field-main{display:grid;gap:3px;min-width:0}.token-console-field-main strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.token-console-field-main code{overflow:hidden;color:#777e85;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.token-console-field-meta{display:grid;gap:3px;min-width:0}.token-console-field-meta span{color:#78e49b;font-size:10px;font-weight:800;text-transform:uppercase}.token-console-field-meta span:not(:empty){ }.token-console-field[data-token-field] .token-console-field-meta span{color:#8f969d}.token-console-field-meta small{overflow:hidden;color:#9ca2a8;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;text-overflow:ellipsis;white-space:nowrap}.token-console-field-actions{display:flex;justify-content:flex-end}.btn-small{min-height:34px;padding:7px 10px;font-size:11px}.btn:disabled{cursor:not-allowed;opacity:.5}
@media (max-width:980px){.token-console-action-grid{grid-template-columns:1fr 1fr}.token-console-action-card:first-child{grid-column:1 / -1}.token-console-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.token-console-fields{grid-template-columns:1fr}}
@media (max-width:620px){.token-console-hero,.token-console-provider-head,.token-console-section-head{display:grid}.token-console-guard{min-width:0}.token-console-flow{grid-template-columns:repeat(2,minmax(0,1fr))}.token-console-action-grid{grid-template-columns:1fr}.token-console-action-card:first-child{grid-column:auto}.token-console-test-controls{grid-template-columns:1fr}.token-console-test-controls .btn{width:100%}.token-console-steps{grid-template-columns:1fr}.token-console-provider-actions{justify-content:flex-start}.token-console-provider-actions .btn{width:100%}.token-console-field{grid-template-columns:1fr auto}.token-console-field-meta{grid-column:1}.token-console-field-actions{grid-column:2;grid-row:1 / span 2}}

.admin-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:14px;
}
.admin-user-card {
  position:relative;
  min-height:0;
  padding:0;
}
.admin-user-summary{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  min-height:76px;
  padding:12px;
}
.admin-user-summary-meta{grid-column:1;grid-row:2;display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}
.admin-user-role{color:var(--muted);font-size:11px;font-weight:700;text-transform:capitalize}
.admin-user-last-used{display:grid;gap:1px;margin-left:auto;color:var(--muted);font-size:10px;line-height:1.2;text-align:right}
.admin-user-last-used strong{color:var(--ink);font-size:11px;font-variant-numeric:tabular-nums;font-weight:700;white-space:nowrap}
.admin-user-actions{grid-column:2;grid-row:1 / span 2;display:flex;align-items:center;gap:8px}
@media (max-width:620px){.admin-user-last-used{margin-left:0;text-align:left}}
.admin-user-open{min-height:44px;padding:10px 13px}
.admin-user-delete-form{display:grid;margin:0}
.admin-user-card--collapsed .admin-user-head img{width:34px;height:34px}
.admin-user-card--collapsed .admin-user-head{min-width:0}
.admin-user-card--collapsed .admin-user-head strong,
.admin-user-card--collapsed .admin-user-head span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.admin-user-name{color:#fff;font-size:14px;line-height:1.25}
.admin-user-email{color:var(--muted);font-size:12px;line-height:1.35}
.admin-user-card--collapsed .admin-user-head > div{min-width:0}
.admin-user-modal{
  width:min(560px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  margin:auto;
  padding:0;
  border:1px solid rgba(255,213,74,.24);
  border-radius:18px;
  background:#151515;
  color:var(--ink);
  box-shadow:0 26px 80px rgba(0,0,0,.62);
}
.admin-user-modal::backdrop{background:rgba(0,0,0,.7)}
.admin-user-modal-body{display:grid;gap:18px;max-height:calc(100dvh - 32px);padding:20px;overflow:auto}
.admin-user-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.09)}
.admin-user-modal-head h3{margin:5px 0 4px;font-size:22px}
.admin-user-modal-head p{margin:0;color:var(--muted);font-size:13px;overflow-wrap:anywhere}
.admin-user-eyebrow{color:#ffd54a;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.admin-user-modal-close{min-width:44px;min-height:44px}
.admin-user-form{display:grid;gap:14px}
.admin-user-form label {
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.admin-user-delete{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid transparent;
  border-radius:10px;
  background:transparent;
  color:#8d9296;
  font:inherit;
  font-size:23px;
  line-height:1;
  cursor:pointer;
}
.admin-user-delete:hover{border-color:rgba(255,100,100,.3);background:rgba(255,70,70,.1);color:#ffaaaa}
.admin-user-delete:focus-visible{outline:2px solid #ffd54a;outline-offset:2px}
.admin-user-head {
  display:flex;
  align-items:center;
  gap:10px;
}
.admin-user-head img {
  width:40px;
  height:40px;
  border-radius:999px;
}
.admin-user-head strong,
.admin-user-head span {
  display:block;
}
.admin-user-head span {
  color:var(--muted);
  font-size:12px;
}
.admin-access-state{
  width:max-content;
  padding:5px 8px;
  border:1px solid rgba(104,226,148,.24);
  border-radius:999px;
  background:rgba(65,190,111,.08);
  color:#a8f2bf;
  font-size:11px;
  font-weight:800;
  letter-spacing:.04em;
  text-transform:uppercase;
}
.admin-access-state.pending{
  border-color:rgba(255,213,74,.28);
  background:rgba(255,213,74,.08);
  color:#ffe89b;
}
.admin-user-form select {
  width:100%;
  border:1px solid #2b2b2b;
  border-radius:8px;
  background:#0e0e0e;
  color:#fff;
  padding:10px 12px;
}
.admin-user-form fieldset {
  margin:0;
  border:1px solid #2b2b2b;
  border-radius:10px;
  padding:10px;
}
.admin-user-form legend {
  padding:0 6px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.tab-checks {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.admin-user-form .checkline {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ink);
  font-weight:600;
}
.admin-user-form input[type="checkbox"] {
  width:16px;
  height:16px;
  accent-color:#ffd11a;
}
.api-token-admin{display:grid;gap:14px}
.api-token-admin .admin-section-head{align-items:flex-start;margin-bottom:0}
.api-token-admin-create{padding:14px;border:1px solid rgba(255,213,74,.18);border-radius:12px;background:#111}
.api-token-admin-create form{display:grid;grid-template-columns:minmax(220px,1fr) auto;align-items:end;gap:10px}
.api-token-admin-create label{display:grid;gap:6px;color:var(--muted);font-size:12px;font-weight:700}
.api-token-admin-create input{width:100%;min-height:42px;border:1px solid #303030;border-radius:9px;background:#0a0a0a;color:#fff;padding:10px 11px;font:inherit}
.api-token-admin-create input:focus-visible{outline:2px solid #ffd54a;outline-offset:2px}
.api-token-admin-create .btn{min-height:42px}
.api-token-admin-help{margin:8px 0 0;color:#8d9297;font-size:11px;line-height:1.45}
.api-token-admin-status{min-height:20px;color:var(--muted);font-size:12px;line-height:1.5}
.api-token-admin-status.running{color:#ffe58d}
.api-token-admin-status.success{color:#78e49b}
.api-token-admin-status.error{padding:9px 10px;border:1px solid rgba(255,90,90,.28);border-radius:9px;background:rgba(255,70,70,.08);color:#ffaaaa}
.api-token-one-time{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,1.4fr);align-items:center;gap:14px;padding:14px;border:1px solid rgba(120,228,155,.28);border-radius:12px;background:rgba(34,130,80,.08)}
.api-token-one-time h3{margin:0;color:#fff;font-size:17px}
.api-token-one-time p:not(.eyebrow){margin:5px 0 0;color:#b4d8c0;font-size:12px;line-height:1.45}
.api-token-one-time-value{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px}
.api-token-one-time-value code{display:block;min-width:0;padding:11px 12px;border:1px solid rgba(120,228,155,.22);border-radius:9px;background:#080d0a;color:#c7f8d4;font:12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;overflow-wrap:anywhere;user-select:all}
.api-token-one-time-value .btn{min-height:42px}
.api-token-user-list{display:grid;gap:8px}
.api-token-user-row{display:grid;grid-template-columns:minmax(180px,1.5fr) minmax(150px,auto) minmax(125px,auto) auto;align-items:center;gap:12px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#111}
.api-token-user-main{display:grid;gap:4px;min-width:0}
.api-token-user-main strong{color:#fff;font-size:14px}
.api-token-user-main span{color:var(--muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.api-token-user-main code{color:#d4d9df;font:11px ui-monospace,SFMono-Regular,Menlo,monospace}
.api-token-approval{display:flex;align-items:center;gap:7px;color:#d9dedb;font-size:12px;font-weight:700;cursor:pointer;white-space:nowrap}
.api-token-approval input{position:absolute;width:1px;height:1px;opacity:0}
.api-token-checkmark{display:grid;place-items:center;width:24px;height:24px;border:1px solid #535a56;border-radius:7px;color:transparent;background:#0b0b0b;font-size:15px;font-weight:900;line-height:1}
.api-token-approval input:checked + .api-token-checkmark{border-color:#78e49b;background:rgba(65,190,111,.14);color:#78e49b}
.api-token-approval input:focus-visible + .api-token-checkmark{outline:2px solid #ffd54a;outline-offset:2px}
.api-token-approval input:disabled + .api-token-checkmark{opacity:.5}
.api-token-user-meta{display:grid;gap:2px;color:var(--muted);font-size:10px;line-height:1.25}
.api-token-user-meta strong{color:#fff;font-size:11px;font-variant-numeric:tabular-nums;white-space:nowrap}
.api-token-user-row .btn{min-height:38px;white-space:nowrap}
.api-token-empty{padding:16px;border:1px dashed rgba(255,255,255,.14);border-radius:10px;color:var(--muted);font-size:12px}
@media (max-width:820px){.api-token-user-row{grid-template-columns:minmax(0,1fr) auto}.api-token-approval{grid-column:2;grid-row:1}.api-token-user-meta{grid-column:1}.api-token-user-row .btn{grid-column:2;grid-row:2}.api-token-one-time{grid-template-columns:1fr}}
@media (max-width:620px){.api-token-admin .admin-section-head{display:grid}.api-token-admin-create form{grid-template-columns:1fr}.api-token-admin-create .btn{width:100%}.api-token-one-time-value{grid-template-columns:1fr}.api-token-one-time-value .btn{width:100%}}
.admin-log-card {
  border:1px solid var(--ring);
  border-radius:12px;
  background:var(--card);
  overflow:hidden;
}
.admin-log-table-wrap {
  overflow:auto;
  max-height:620px;
}
.admin-log-table {
  width:100%;
  border-collapse:collapse;
  font-size:13px;
}
.admin-log-table th,
.admin-log-table td {
  padding:10px 12px;
  border-bottom:1px solid rgba(255,255,255,.08);
  text-align:left;
  vertical-align:top;
  white-space:nowrap;
}
.admin-log-table th {
  position:sticky;
  top:0;
  z-index:1;
  color:var(--muted);
  background:#101010;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.admin-log-table td:nth-child(6),
.admin-log-table td:nth-child(7) {
  max-width:320px;
  overflow:hidden;
  text-overflow:ellipsis;
}
.admin-log-table td strong,
.admin-log-table td span {
  display:block;
}
.admin-log-table td span {
  color:var(--muted);
  font-size:12px;
  margin-top:2px;
}
.access-blocked-card{
  max-width:680px;
  margin:72px auto;
  padding:24px;
  display:flex;
  align-items:flex-start;
  gap:16px;
  border:1px solid rgba(255,213,74,.25);
  border-radius:16px;
  background:linear-gradient(145deg,rgba(255,213,74,.09),rgba(22,22,22,.98));
  box-shadow:0 16px 42px rgba(0,0,0,.28);
}
.access-blocked-card h1{margin:0 0 8px;font-size:22px;line-height:1.2}
.access-blocked-card p{margin:0 0 6px;color:#e2e2e2;line-height:1.5}
.access-blocked-card .muted{margin:0}
.access-blocked-mark{width:40px;height:40px;flex:0 0 40px;display:grid;place-items:center;border:1px solid rgba(255,213,74,.36);border-radius:12px;background:rgba(255,213,74,.12);color:#ffe071;font-size:21px;font-weight:900}
@media(max-width:560px){.access-blocked-card{margin:40px 0;padding:18px;gap:12px}.access-blocked-card h1{font-size:19px}}

/* --- Optional: main iframe styling --- */
.mainframe {
  background:#0a0a0a; border:1px solid #1a1a1a; border-radius:10px;
}

/* Graph cards */
.graph-card.combined{padding:16px;}
.graph-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;}
.graph-title{font-size:14px;font-weight:700;letter-spacing:.2px;}
.graph-hint{font-size:12px;color:var(--muted);}
.beta-graph-side{display:grid;gap:10px;justify-items:end}
.beta-graph-tabs{justify-content:flex-end}
.beta-line-chart{margin-top:12px}
.beta-chart-legend{justify-content:flex-end;margin-bottom:0}
.beta-chart-legend .audience{background:#ffd11a}
.beta-chart-legend .reach{background:#2dd4bf}
.beta-chart-legend .engagement{background:#40c463}
.beta-graph-hover{min-height:18px;color:#fff;font-size:12px;text-align:right}
.ads-line-chart .beta-point-dot{stroke:#111;stroke-width:.8;transition:r .06s ease,stroke-width .06s ease,filter .06s ease}
.ads-line-chart .beta-point-dot.active{r:3.2;stroke-width:1.5;filter:drop-shadow(0 0 4px rgba(255,255,255,.55))}
@media (max-width:760px){.beta-graph-side{justify-items:start}.beta-graph-tabs,.beta-chart-legend{justify-content:flex-start}}
.graph-legend{display:flex;gap:14px;font-size:12px;color:var(--muted);flex-wrap:wrap;}
.graph-legend span{display:inline-flex;align-items:center;gap:6px;}
.graph-legend span i{width:10px;height:2px;display:inline-block;border-radius:999px;}
.graph-legend span[data-line="audience"] i{background:#ffd54a;}
.graph-legend span[data-line="reach"] i{background:#5fa8ff;}
.graph-legend span[data-line="engagement"] i{background:#ff78c5;}
.graph-legend span[data-line="historic"] i{background:#5fa8ff;}
.graph-legend span[data-line="current"] i{background:#ffd54a;}
.graph-legend span[data-line="historic-trend"] i{background:#5fa8ff;}
.graph-legend span[data-line="current-trend"] i{background:repeating-linear-gradient(90deg,#ffd54a 0 4px,transparent 4px 6px);}
.graph-legend b{color:#fff;}
.ticket-compare-head-side{display:grid;justify-items:end;gap:10px;max-width:min(100%,720px);}
.ticket-prediction-kpi{
  display:grid;
  grid-template-columns:auto auto;
  align-items:end;
  gap:2px 12px;
  min-width:250px;
  padding:9px 12px;
  border:1px solid rgba(255,213,74,.26);
  border-radius:10px;
  background:rgba(255,213,74,.06);
  font-variant-numeric:tabular-nums;
}
.ticket-prediction-kpi span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;}
.ticket-prediction-kpi strong{grid-row:1 / span 2;grid-column:2;color:#ffd54a;font-size:28px;line-height:1;font-weight:850;letter-spacing:-.03em;text-align:right;}
.ticket-prediction-kpi small{grid-column:1;color:#b8bdc3;font-size:10px;line-height:1.35;}
@media (max-width:760px){
  .ticket-compare-head-side{justify-items:start;width:100%;}
  .ticket-prediction-kpi{width:100%;min-width:0;}
}
.graph-chart.multi{
  margin-top:24px;
  height:clamp(240px, 50vw, 520px);
  display:flex;
  align-items:flex-end;
}
.graph-chart.ticket-bars{
  margin-top:14px;
  height:520px;
  overflow-x:scroll;
  overflow-y:hidden;
  cursor:grab;
  scrollbar-width:thin;
  touch-action:pan-x;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
}
.graph-chart.multi svg{width:100%;height:100%;}
.graph-chart.ticket-bars svg{height:100%;display:block;}
.graph-chart.ticket-bars .grid-line{stroke:rgba(255,255,255,.1);stroke-width:.35;vector-effect:non-scaling-stroke;}
.graph-chart.ticket-bars .axis-baseline{stroke:rgba(255,255,255,.3);stroke-width:.4;vector-effect:non-scaling-stroke;}
.graph-chart.ticket-bars .ticket-axis-label{fill:#93a4c3;font-size:2.8px;font-variant-numeric:tabular-nums;}
.graph-chart.ticket-bars .ticket-axis-title{fill:#93a4c3;font-size:2.35px;font-weight:800;letter-spacing:.05em;}
.graph-chart.ticket-bars .ticket-historical-pace-line,.graph-chart.ticket-bars .ticket-current-pace-line{filter:drop-shadow(0 0 1px rgba(0,0,0,.65));}
.graph-chart.ticket-bars .ticket-chart-hit{fill:transparent;pointer-events:all;cursor:crosshair;}
.graph-chart.ticket-bars .ticket-chart-hit:focus{outline:none;fill:rgba(255,255,255,.04);stroke:rgba(255,255,255,.78);stroke-width:.55;vector-effect:non-scaling-stroke;}
.graph-chart.ticket-bars .ticket-chart-hit:focus-visible{outline:none;fill:rgba(255,213,74,.08);stroke:#ffd54a;stroke-width:.7;vector-effect:non-scaling-stroke;}
.graph-chart.ticket-bars .ticket-hover-guide{opacity:0;stroke:rgba(242,193,78,.58);stroke-width:.65;stroke-dasharray:2 2;pointer-events:none;vector-effect:non-scaling-stroke;transition:opacity .1s ease;}
.graph-chart.ticket-bars .ticket-hover-guide.active{opacity:1;}
.graph-chart.ticket-bars.is-dragging{
  cursor:grabbing;
}
.ticket-compare-toolbar{
  margin-top:10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.ticket-compare-actions{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.ticket-compare-actions .btn.is-active{
  background:#ffd11a;
  border-color:#ffd11a;
  color:#111;
}
.ticket-zoom-readout{
  font-size:12px;
  color:var(--muted);
  letter-spacing:.02em;
}
.ticket-hover-readout{
  font-size:12px;
  color:#d8d8d8;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:44%;
}
.ticket-source-tags{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:8px;
}
.validated-card{
  padding:16px;
}
.validated-card .validated-summary-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:10px;
}
.validated-card .kpi-value-sm{
  font-size:30px;
  line-height:1;
}
.validated-card .validated-summary-note{
  margin-top:6px;
  font-size:12px;
  color:var(--muted);
}
.validated-card .kpi-subtitle{
  padding:10px 0 6px;
}
.validated-card .ticket-type-lines{
  margin-top:10px;
  max-width:540px;
}
.badge.ticket-source{
  border-width:1px;
}
.badge.ticket-source.current .dot{
  background:#ffd54a;
}
.badge.ticket-source.historic .dot{
  background:#5fa8ff;
}
.badge.ticket-source.current{
  background:rgba(255,213,74,0.18);
  border-color:rgba(255,213,74,0.58);
  color:#ffe69a;
}
.badge.ticket-source.historic{
  background:rgba(95,168,255,0.16);
  border-color:rgba(95,168,255,0.58);
  color:#b7d8ff;
}
.graph-chart.polyline{stroke-linejoin:round;stroke-linecap:round;}
.graph-chart.multi polyline{stroke-width:0.2;fill:none;}
.graph-range{margin-top:4px;display:flex;justify-content:space-between;font-size:11px;color:var(--muted);}
.graph-placeholder{font-size:12px;color:var(--muted);}

/* Query */
.query-form{padding:16px;margin-bottom:16px;}
.query-form .row{display:grid;gap:8px;margin-bottom:10px;}
.query-form input[type="text"]{
  background:#0f0f0f;border:1px solid #2a2a2a;border-radius:8px;
  padding:10px 12px;color:#fff;
}
.query-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* Demographics */
.demo-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.demo-card{padding:16px;}
.demo-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;}
.demo-columns{display:grid;gap:12px;}
.demo-columns h3{margin:0 0 6px;font-size:13px;font-weight:600;color:var(--muted);}
.demo-list ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.demo-list li{display:flex;justify-content:space-between;font-size:13px;border-bottom:1px solid rgba(255,255,255,0.06);padding-bottom:4px;}
.demo-list li:last-child{border-bottom:0;padding-bottom:0;}
.demo-list strong{font-weight:700;}

/* --- Planner --- */
#planner .planner-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  flex-wrap:wrap;
  gap:12px;
}
#planner h2{margin:0;font-size:22px;}
.planner-head p{margin:4px 0 0;font-size:13px;}
.planner-guide{
  margin:14px 0;
  border:1px solid rgba(255,255,255,0.12);
  border-radius:12px;
  background:#111;
  overflow:hidden;
}
.planner-guide summary{
  padding:12px 14px;
  cursor:pointer;
  font-weight:700;
  color:#f2f2f2;
}
.planner-guide-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:0 14px 14px;
}
.planner-guide-grid div{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:10px;
  background:#0d0d0d;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.planner-guide-grid strong{
  font-size:13px;
}
.planner-guide-grid span{
  font-size:12px;
  line-height:1.45;
  color:var(--muted);
}
.planner-status{
  min-height:18px;
  margin:-4px 2px 10px;
  font-size:12px;
  color:#ffd54a;
  opacity:0;
  transition:opacity .15s ease;
}
.planner-status.visible{
  opacity:1;
}
.planner-controls{padding:18px;display:flex;flex-direction:column;gap:16px;}
.planner-mobile-filterbar,
.planner-mobile-summary,
.planner-card-toggle,
.planner-mobile-add{
  display:none;
}
.planner-filters{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:16px;
}
.filter-field label{
  display:block;
  margin-bottom:6px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
}
.filter-field input[type="text"],
.filter-field input[type="date"]{
  width:100%;
  background:#0f0f0f;
  border:1px solid #272727;
  border-radius:10px;
  padding:10px 12px;
  color:#eaeaea;
}
.filter-options{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.filter-chip{
  border:1px solid #2a2a2a;
  background:#111;
  color:#d9d9d9;
  border-radius:999px;
  padding:6px 12px;
  font-size:12px;
  cursor:pointer;
  transition:all .15s ease;
}
.filter-chip.active{
  background:#ffd11a;
  border-color:#ffd11a;
  color:#111;
}
.filter-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:12px;
}
.planner-count{
  font-size:13px;
  letter-spacing:.04em;
}
.planner-buttons{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.planner-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin:18px 0 12px;
}
.planner-tab-icon{display:none;}
.planner-tab-label-mobile{display:none;}
.planner-panels{display:flex;flex-direction:column;gap:18px;}
.planner-panel{display:none;}
.planner-panel.active{display:block;}
.planner-table-card{padding:0;}
.planner-table-wrap{overflow:auto;}
.planner-table{
  width:100%;
  border-collapse:collapse;
  min-width:800px;
}
.planner-table--editable input,
.planner-table--editable select,
.planner-table--editable textarea{
  width:100%;
  background:#0f0f0f;
  border:1px solid #2a2a2a;
  border-radius:8px;
  padding:6px 8px;
  color:#f0f0f0;
  font-size:12px;
}
.planner-table--editable textarea{
  min-height:48px;
  resize:vertical;
}
.planner-table--editable select[multiple]{
  min-height:64px;
}
.planner-table--editable tr.saving{
  opacity:.6;
}
.planner-input::placeholder{
  color:#6f6f6f;
}
.planner-table th,
.planner-table td{
  padding:12px;
  border-bottom:1px solid rgba(255,255,255,0.06);
  font-size:13px;
  vertical-align:top;
}
.planner-table th{
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:11px;
  color:var(--muted);
  position:sticky;
  top:0;
  background:var(--card);
  z-index:1;
}
.col-name .title{font-weight:600;font-size:14px;}
.col-name .sub{font-size:12px;margin-top:4px;}
.col-text,.kanban-copy{
  color:var(--muted);
  line-height:1.4;
}
.planner-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  background:#1a1a1a;
  border:1px solid #2a2a2a;
  font-size:12px;
}
.planner-chip.compact{
  padding:2px 6px;
  font-size:10px;
}
.fighters-line{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
}
.file-links{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  font-size:11px;
  margin-top:4px;
}
.file-links a{
  color:#ffd24a;
  text-decoration:none;
}
.file-links a:hover{
  text-decoration:underline;
}
.chip-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  flex-shrink:0;
}
.planner-row-card,
.kanban-card,
.calendar-event,
.calendar-mobile-event{
  position:relative;
}
.planner-creative-marker{
  position:absolute;
  top:9px;
  right:9px;
  z-index:2;
  width:9px;
  height:9px;
  border:2px solid rgba(0,0,0,.72);
  border-radius:50%;
  background:var(--creative-color,#777);
  box-shadow:0 0 0 1px rgba(255,255,255,.35);
  pointer-events:none;
}
.planner-empty{
  padding:20px;
  text-align:center;
  border:1px dashed rgba(255,255,255,0.2);
}
.kanban-board{
  display:flex;
  gap:12px;
  overflow-x:auto;
  padding-bottom:8px;
}
.kanban-column{
  min-width:260px;
  background:#131313;
  border:1px solid #242424;
  border-radius:16px;
  display:flex;
  flex-direction:column;
}
.kanban-column header{
  padding:12px 14px;
  font-weight:600;
  border-bottom:1px solid rgba(255,255,255,0.08);
}
.kanban-cards{padding:12px;display:flex;flex-direction:column;gap:12px;}
.kanban-card{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:14px;
  padding:12px;
  background:#0f0f0f;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.kanban-title{font-weight:600;font-size:14px;}
.kanban-title{padding-right:18px;}
.kanban-meta{
  display:flex;
  justify-content:space-between;
  font-size:12px;
  color:var(--muted);
}
.kanban-platforms{display:flex;flex-wrap:wrap;gap:6px;}
.kanban-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  gap:8px;
}
.calendar-card{padding:18px;}
.calendar-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:12px;
}
.calendar-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:6px;
}
.calendar-label{
  text-align:center;
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--muted);
}
.calendar-day{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:8px;
  min-height:120px;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.calendar-day.drag-over{
  border-color:rgba(255,255,255,0.45);
  background:rgba(255,255,255,0.08);
}
.calendar-day.is-today{
  background:rgba(255,255,255,0.06);
  border-color:rgba(255,255,255,0.2);
}
.calendar-day.inactive{
  opacity:.25;
}
.calendar-day .day-number{
  font-weight:600;
  font-size:14px;
}
.calendar-day .day-number[data-cal-date]{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:4px;
}
.calendar-day .day-number[data-cal-date]::after{
  content:'+';
  font-size:12px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:rgba(255,255,255,0.12);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  line-height:1;
}
.calendar-day .day-number[data-cal-date]:hover::after{
  background:rgba(255,255,255,0.3);
}
.calendar-events{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.calendar-event{
  border:1px solid rgba(255,255,255,0.1);
  border-radius:10px;
  padding:6px;
  background:#111;
  font-size:11px;
  cursor:grab;
}
.calendar-event.dragging{
  opacity:.55;
  cursor:grabbing;
}
.calendar-event-title{
  font-weight:600;
  margin-bottom:4px;
  padding-right:14px;
}
.calendar-event-meta{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.calendar-event-time{
  font-weight:600;
}
.calendar-mobile-list{
  display:none;
  flex-direction:column;
  gap:10px;
  margin-top:10px;
}
.calendar-mobile-day{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:10px;
  background:#0f0f0f;
}
.calendar-mobile-date{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  background:transparent;
  border:0;
  color:#f2f2f2;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-weight:600;
  padding:0;
  margin-bottom:8px;
}
.calendar-mobile-date-add{
  color:#ffd24a;
}
.calendar-mobile-events{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.calendar-mobile-event{
  border:1px solid rgba(255,255,255,0.1);
  background:#121212;
  border-radius:10px;
  color:#f2f2f2;
  width:100%;
  text-align:left;
  padding:8px 10px;
  display:flex;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}
.calendar-mobile-event-time{
  color:var(--muted);
  font-size:12px;
  font-weight:600;
}
.calendar-mobile-event-title{
  font-size:13px;
  font-weight:600;
  padding-right:14px;
}
.calendar-mobile-event-meta{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}
.calendar-mobile-empty{
  border:1px dashed rgba(255,255,255,0.15);
  border-radius:12px;
  color:var(--muted);
  text-align:center;
  padding:20px 14px;
  font-size:13px;
}

.posts-calendar-card{
  padding:18px;
}
.posts-calendar-toolbar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:10px;
  flex-wrap:wrap;
}
.posts-platform-filters{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.posts-platform-chip{
  border:1px solid rgba(255,255,255,0.2);
  background:#101010;
  color:#cfcfcf;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  cursor:pointer;
}
.posts-platform-chip .dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--pc-color,#777);
}
.posts-platform-chip strong{
  font-size:11px;
  color:#f2f2f2;
}
.posts-platform-chip.active{
  background:color-mix(in srgb, var(--pc-color,#999) 18%, #0d0d0d);
  border-color:var(--pc-color,#999);
  color:#fff;
}
.posts-platform-reset{
  border:1px solid rgba(255,255,255,0.2);
  background:#111;
  color:#ddd;
  border-radius:999px;
  padding:5px 10px;
  font-size:12px;
  cursor:pointer;
}
.posts-cal-day{
  min-height:150px;
}
.posts-cal-day-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.posts-day-number{
  border:0;
  background:transparent;
  color:inherit;
  font:inherit;
  padding:0;
  cursor:pointer;
}
.posts-day-ticket-total{
  display:inline-flex;
  align-items:baseline;
  gap:3px;
  padding:3px 6px;
  border:1px solid rgba(255,210,74,.28);
  border-radius:999px;
  background:rgba(255,210,74,.08);
  color:#ffe17a;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.posts-day-ticket-total strong{font-size:12px;line-height:1;}
.posts-day-ticket-total span{font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;}
.posts-day-ticket-total.is-zero{border-color:rgba(255,255,255,.1);background:rgba(255,255,255,.035);color:#a9a9a9;}
.posts-cal-events{
  gap:7px;
}
.posts-cal-event{
  border:1px solid rgba(255,255,255,0.1);
  background:#101010;
  border-radius:10px;
  color:#efefef;
  width:100%;
  padding:7px;
  display:flex;
  flex-direction:column;
  gap:5px;
  text-align:left;
  cursor:pointer;
}
.posts-cal-event-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}
.posts-cal-event-head .badge{
  padding:3px 7px;
  font-size:10px;
}
.posts-cal-event-time{
  font-size:11px;
  color:var(--muted);
}
.posts-cal-event-caption{
  font-size:11px;
  line-height:1.35;
  color:#dedede;
}
.posts-cal-event-metrics{
  font-size:10px;
  color:#a9a9a9;
}
.posts-cal-more{
  border:0;
  background:transparent;
  text-align:left;
  cursor:pointer;
  font-size:11px;
  color:var(--muted);
  padding-left:3px;
}

.posts-day-chip-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:60vh;
  overflow-y:auto;
}
.posts-day-chip{
  border:1px solid rgba(255,255,255,0.12);
  background:#0f0f0f;
  border-radius:12px;
  padding:10px;
  color:#ececec;
  width:100%;
  text-align:left;
  display:flex;
  flex-direction:column;
  gap:6px;
  cursor:pointer;
}
.posts-day-chip-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.posts-day-chip-time{
  font-size:11px;
  color:var(--muted);
}
.posts-day-chip-caption{
  font-size:12px;
  line-height:1.4;
}
.posts-day-chip-metrics{
  font-size:11px;
  color:#adadad;
}

.post-detail-modal-body{
  max-width:880px;
  max-height:88vh;
  overflow-y:auto;
}
.post-detail-card{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.post-detail-top{
  display:grid;
  grid-template-columns:minmax(180px,280px) 1fr;
  gap:12px;
}
.post-detail-image-wrap{
  border:1px solid rgba(255,255,255,0.12);
  border-radius:12px;
  overflow:hidden;
  background:#0d0d0d;
  min-height:180px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7f7f7f;
  font-size:11px;
  text-transform:uppercase;
}
.post-detail-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.post-detail-meta{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  padding:10px;
  background:#0f0f0f;
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}
.post-detail-meta-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:10px;
  font-size:12px;
}
.post-detail-meta-row > span{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.05em;
}
.post-detail-meta-row > strong{
  color:#f2f2f2;
  text-align:right;
}
.post-detail-meta-row > a{
  color:#ffd24a;
  text-decoration:none;
}
.post-detail-meta-row > a:hover{
  text-decoration:underline;
}
.post-detail-caption{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  background:#0f0f0f;
  padding:12px;
}
.post-detail-caption h4{
  margin:0 0 8px;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--muted);
}
.post-detail-caption p{
  margin:0;
  font-size:13px;
  line-height:1.5;
  white-space:normal;
  word-break:break-word;
}
.post-detail-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(120px,1fr));
  gap:8px;
}
.post-detail-stat{
  border:1px solid rgba(255,255,255,0.1);
  border-radius:10px;
  background:#101010;
  padding:10px;
  display:flex;
  flex-direction:column;
  gap:5px;
}
.post-detail-stat span{
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.post-detail-stat strong{
  font-size:16px;
}
.post-detail-raw{
  border:1px solid rgba(255,255,255,0.08);
  border-radius:12px;
  background:#0f0f0f;
  padding:8px 10px;
}
.post-detail-raw summary{
  cursor:pointer;
  font-size:12px;
  color:#c8c8c8;
}
.post-detail-raw pre{
  margin:8px 0 0;
  overflow:auto;
  max-height:220px;
  font-size:11px;
  line-height:1.4;
  color:#d8d8d8;
}

.posts-mobile-day .calendar-mobile-date{
  margin-bottom:10px;
}
.posts-mobile-day-summary{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.posts-mobile-ticket-total{
  color:#ffe17a;
  font-variant-numeric:tabular-nums;
  white-space:nowrap;
}
.posts-mobile-ticket-total.is-zero{color:#a9a9a9;}
.posts-mobile-no-posts{
  padding:3px 0 1px;
  color:#858585;
  font-size:11px;
}
.posts-mobile-events{
  gap:10px;
}
.posts-mobile-event{
  display:grid;
  grid-template-columns:68px 1fr;
  gap:10px;
  align-items:start;
}
.posts-mobile-media{
  width:68px;
  height:68px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.12);
  background:#0b0b0b;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#7a7a7a;
  font-size:10px;
  text-transform:uppercase;
}
.posts-mobile-media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.posts-mobile-body{
  display:flex;
  flex-direction:column;
  gap:5px;
  min-width:0;
}
.posts-mobile-topline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}
.posts-mobile-topline .badge{
  padding:3px 7px;
  font-size:10px;
}
.posts-mobile-metrics{
  font-size:11px;
  color:#b6b6b6;
}

@media (max-width:920px){
  .calendar-card .calendar-grid,
  .posts-calendar-card .calendar-grid{
    display:none;
  }
  .calendar-card .calendar-mobile-list,
  .posts-calendar-card .calendar-mobile-list{
    display:flex;
  }
  .calendar-card,
  .posts-calendar-card{
    padding:14px;
  }
}

@media (max-width:620px){
  .posts-calendar-toolbar{
    flex-direction:column;
    align-items:stretch;
  }
  .posts-platform-chip{
    padding:6px 11px;
  }
  .post-detail-top{
    grid-template-columns:1fr;
  }
}
.date-inputs{
  display:flex;
  align-items:center;
  gap:8px;
}
.date-inputs span{
  font-size:12px;
  color:var(--muted);
}
.btn.btn-xs{
  padding:4px 8px;
  font-size:11px;
  border-radius:6px;
}
.btn.btn-icon{
  width:32px;
  height:32px;
  padding:0;
}
.planner-modal-backdrop{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,0.65);
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:80;
}
.planner-modal-backdrop.open{
  opacity:1;
  pointer-events:auto;
}
.planner-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:20px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease;
  z-index:90;
}
.planner-modal.open{
  opacity:1;
  pointer-events:auto;
}
body.planner-modal-open{
  overflow:hidden;
}
.planner-modal-body{
  background:#111;
  border:1px solid #2a2a2a;
  border-radius:14px;
  padding:18px;
  width:100%;
  max-width:640px;
  box-shadow:0 18px 40px rgba(0,0,0,0.45);
  display:flex;
  flex-direction:column;
  gap:12px;
  max-height:calc(100vh - 40px);
  max-height:calc(100dvh - 40px);
  overflow-y:auto;
  overscroll-behavior:contain;
}
.planner-caption-modal-body{
  max-width:860px;
  max-height:90vh;
  overflow-y:auto;
}
.planner-modal-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.fighter-search{
  display:flex;
  margin-bottom:12px;
}
.fighter-search input{
  flex:1;
  border-radius:10px;
  border:1px solid rgba(255,255,255,0.15);
  background:#0f0f0f;
  padding:10px 12px;
  color:#f2f2f2;
}
.fighter-chip-list{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  max-height:240px;
  overflow-y:auto;
  margin-bottom:8px;
}
.planner-fighter-pill{
  display:inline-flex;
  align-items:center;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,0.2);
  cursor:pointer;
  user-select:none;
  font-size:13px;
  background:rgba(255,255,255,0.05);
  color:#f2f2f2;
}
.planner-fighter-pill.selected{
  background:#ffd54a;
  color:#111;
  border-color:#ffd54a;
}
.planner-fighter-pill.hidden{
  display:none;
}
.planner-fighter-pill:focus-visible{
  outline:2px solid rgba(255,213,74,0.5);
  outline-offset:2px;
}
.planner-modal-actions{
  display:flex;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:wrap;
}
.planner-form .form-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:12px;
}
.planner-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  font-size:13px;
}
.planner-form input,
.planner-form select,
.planner-form textarea{
  background:#0f0f0f;
  border:1px solid #2a2a2a;
  border-radius:8px;
  color:#f2f2f2;
  padding:8px;
  font-size:13px;
}
.planner-form select[multiple]{
  min-height:96px;
}
.planner-form textarea{
  resize:vertical;
}



.planner-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px;margin-top:6px;}
.planner-row-card{border:1px solid var(--ring);border-radius:18px;background:var(--card);overflow:hidden;display:flex;flex-direction:column;transition:border-color .15s ease,transform .15s ease;}
.planner-row-card:hover{border-color:#3a3a3a;}
.planner-row-card.uploading{opacity:.6;}
.planner-card-media{position:relative;min-height:180px;background:#0d0d0d;}
.planner-card-media img{width:100%;height:220px;object-fit:cover;display:block;}
.planner-card-placeholder{display:grid;place-items:center;height:220px;padding:20px;text-align:center;font-size:14px;color:var(--muted);background:linear-gradient(135deg,#0f0f0f,#090909);}
.planner-upload-btn{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,0.75);backdrop-filter:blur(4px);}
.planner-card-body{padding:16px;display:flex;flex-direction:column;gap:14px;}
.planner-card-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.planner-card-head>div:first-child{flex:1 1 280px;min-width:220px;}
.planner-input.planner-title{
  background:transparent;
  border:0;
  padding:0;
  font-size:18px;
  font-weight:700;
  color:var(--ink);
  width:100%;
  display:block;
  white-space:normal;
  line-height:1.3;
  overflow:hidden;
}
.planner-input.planner-title:focus-visible{outline:2px solid #ffd54a;outline-offset:2px;}
.planner-subline{font-size:12px;color:var(--muted);margin-top:4px;}
.planner-pill-row{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.planner-fighters{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
.planner-card-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;}
.planner-card-meta label{display:flex;flex-direction:column;gap:6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}
.planner-card-meta label.wide{grid-column:span 2;}
@media (max-width:640px){.planner-card-meta label.wide{grid-column:span 1;}}
.platform-toggle-wrap>span{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:6px;}
.platform-toggle-row{display:flex;flex-wrap:wrap;gap:8px;}
.platform-toggle{border:1px solid rgba(255,255,255,0.2);background:#111;color:#bbb;padding:6px 12px;border-radius:999px;font-size:12px;cursor:pointer;filter:grayscale(1);transition:background .15s,color .15s,filter .15s,border-color .15s;}
.platform-toggle.active{background:var(--platform-color,#ffd54a);border-color:var(--platform-color,#ffd54a);color:#111;filter:grayscale(0);}
.planner-card-body input,.planner-card-body select,.planner-card-body textarea{background:#0f0f0f;border:1px solid #2a2a2a;border-radius:8px;padding:8px 10px;color:#f2f2f2;font-size:13px;}
.planner-card-body textarea{resize:vertical;}
.planner-card-body input[data-date-picker],
.planner-form input[data-date-picker],
.filter-field input[data-date-picker]{
  font-family:"IBM Plex Mono","SFMono-Regular",monospace;
  font-variant-numeric:tabular-nums;
  letter-spacing:.02em;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23bbbbbb' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 10px center;
  padding-right:34px;
  cursor:pointer;
}
.planner-card-notes{display:flex;flex-direction:column;gap:10px;}
.planner-card-copy{display:flex;flex-direction:column;gap:8px;background:#0f0f0f;border:1px solid #2a2a2a;border-radius:10px;padding:10px;}
.copy-snippet{
  color:#ddd;
  font-size:13px;
  line-height:1.45;
  overflow-wrap:anywhere;
}
.planner-copy-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.planner-card-notes label{
  display:flex;
  flex-direction:column;
  gap:6px;
}
.planner-card-notes textarea{
  min-height:90px;
  background:#0f0f0f;
  border:1px solid #2a2a2a;
  border-radius:10px;
  padding:10px;
  color:#f0f0f0;
  font-size:13px;
  line-height:1.45;
}
.caption-context{
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:#0d0d0d;
  padding:10px 12px;
  display:grid;
  gap:4px;
}
.caption-field-label{
  display:block;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  margin-bottom:8px;
}
.caption-platforms{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.caption-platform-choice{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:7px 10px;
  background:#0f0f0f;
  font-size:13px;
  color:#eee;
}
.caption-platform-choice input{
  accent-color:#ffd11a;
}
.caption-results{
  display:grid;
  gap:12px;
}
.caption-result-list{
  display:grid;
  gap:10px;
}
.caption-result-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:#0d0d0d;
  padding:12px;
  display:grid;
  gap:10px;
}
.caption-result-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.caption-result-head>div{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.caption-result-card p{
  margin:0;
  line-height:1.45;
  color:#f1f1f1;
}
.caption-side-notes{
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  padding:10px 12px;
  background:#121212;
}
.caption-side-notes h4{
  margin:0 0 6px;
  font-size:13px;
}
.caption-side-notes ul,
.caption-risk{
  margin:0;
  padding-left:18px;
  color:#dcdcdc;
  font-size:13px;
  line-height:1.4;
}
.caption-risk{
  color:var(--muted);
}
.caption-thumb-section{
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  padding:12px;
  background:#101010;
  display:grid;
  gap:10px;
}
.caption-thumb-section h4{
  margin:0;
  font-size:13px;
}
.caption-thumb-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
}
.caption-thumb-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:#0b0b0b;
  padding:10px;
  display:grid;
  gap:8px;
}
.caption-thumb-head{
  display:grid;
  gap:4px;
}
.caption-thumb-head span{
  display:inline-flex;
  width:max-content;
  max-width:100%;
  border:1px solid rgba(255,209,26,.35);
  border-radius:999px;
  padding:5px 8px;
  color:#ffd11a;
  font-size:12px;
  font-weight:700;
}
.caption-thumb-card dl{
  margin:0;
  display:grid;
  gap:6px;
}
.caption-thumb-card dt{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.caption-thumb-card dd{
  margin:0;
  color:#e8e8e8;
  font-size:13px;
  line-height:1.35;
}
.planner-attachments-wrap{display:flex;flex-direction:column;gap:10px;}
.planner-attachments-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);}
.planner-attachments{display:flex;gap:8px;flex-wrap:wrap;}
.planner-attachments.empty{color:var(--muted);font-size:12px;}
.planner-attachments .attachment{position:relative;border:1px solid rgba(255,255,255,0.12);border-radius:10px;overflow:hidden;background:#0f0f0f;}
.planner-attachments .attachment-open{border:none;background:transparent;color:#f2f2f2;padding:6px 8px;font-size:12px;width:100%;display:block;text-align:left;cursor:pointer;}
.planner-attachments .attachment.is-image .attachment-open{padding:0;}
.planner-attachments .attachment-open img{width:72px;height:72px;object-fit:cover;display:block;}
.planner-attachments .attachment-open span{max-width:140px;display:inline-block;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;}
.planner-attachments .attachment.is-missing{border-color:rgba(210,105,105,.3);background:rgba(125,45,45,.1)}
.planner-attachments .attachment.is-missing .attachment-open{color:#c78989;cursor:default}
.planner-attachments .attachment-delete{position:absolute;top:4px;right:4px;border:none;background:rgba(0,0,0,0.65);color:#fff;width:20px;height:20px;border-radius:50%;font-size:12px;line-height:20px;text-align:center;cursor:pointer;}
.planner-attachments .attachment-delete:hover{background:rgba(255,80,80,0.9);}
.preview-modal-body{
  max-height:85vh;
  overflow-y:auto;
}
.planner-preview-content{display:flex;flex-direction:column;gap:12px;}
.preview-card{display:flex;flex-direction:column;gap:12px;}
.preview-thumb{width:100%;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,0.1);background:#111;min-height:140px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em;}
.preview-thumb img{width:100%;height:240px;object-fit:cover;display:block;}
.preview-meta{display:flex;flex-direction:column;gap:6px;background:#0f0f0f;border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:12px;}
.preview-line{display:flex;justify-content:space-between;gap:10px;font-size:13px;}
.preview-label{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);}
.preview-chip{border:1px solid;color:#fff;border-radius:999px;padding:2px 10px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;}
.preview-copy,.preview-notes{background:#111;border:1px solid rgba(255,255,255,0.08);border-radius:12px;padding:12px;line-height:1.4;font-size:13px;}
.preview-copy h4,.preview-notes h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);}
.kanban-thumb{margin:-6px 0 8px;border-radius:12px;overflow:hidden;border:1px solid rgba(255,255,255,0.08);}
.kanban-thumb img{width:100%;height:150px;object-fit:cover;display:block;}
.planner-loading{
  padding:30px;
  text-align:center;
  color:var(--muted);
  font-size:14px;
}
.btn.danger{
  color:#ff9a9a;
  border-color:#4a1919;
  background:#2b0f0f;
}
.btn.danger:hover{
  color:#fff;
  background:#3a1515;
  border-color:#5a1f1f;
}

.planner-mini-calendar{
  position:absolute;
  z-index:2000;
  background:#0f0f0f;
  border:1px solid rgba(255,255,255,0.08);
  border-radius:16px;
  box-shadow:0 24px 60px rgba(0,0,0,0.55);
  padding:14px;
  width:280px;
  display:none;
}
.planner-mini-calendar.open{
  display:block;
}
.pmc-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-bottom:8px;
  gap:12px;
}
.pmc-head button{
  border:0;
  background:#1a1a1a;
  color:#f2f2f2;
  width:28px;
  height:28px;
  border-radius:8px;
  cursor:pointer;
}
.pmc-label{
  flex:1;
  text-align:center;
  font-weight:600;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.pmc-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  gap:4px;
}
.pmc-grid.pmc-labels span{
  font-size:11px;
  text-transform:uppercase;
  color:#8f8f8f;
  text-align:center;
  letter-spacing:.05em;
}
.pmc-cell{
  border:0;
  padding:8px 0;
  border-radius:10px;
  background:#161616;
  color:#f0f0f0;
  font-size:13px;
  cursor:pointer;
}
.pmc-cell--muted{
  opacity:.4;
}
.pmc-cell--today{
  border:1px solid rgba(255,255,255,0.15);
}
.pmc-cell--selected{
  background:#ffd54a;
  color:#111;
  font-weight:700;
}
.pmc-time{
  margin-top:10px;
}
.pmc-time label{
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:#8f8f8f;
}
.pmc-time-inputs{
  display:flex;
  align-items:center;
  gap:6px;
}
.pmc-time-inputs input{
  width:60px;
  padding:6px;
  border-radius:8px;
  border:1px solid rgba(255,255,255,0.12);
  background:#141414;
  color:#fff;
  text-align:center;
  font-family:"IBM Plex Mono","SFMono-Regular",monospace;
}
.pmc-actions{
  margin-top:12px;
  display:flex;
  gap:8px;
  justify-content:flex-end;
}
.planner-mini-calendar:not(.show-time) [data-cal-time],
.planner-mini-calendar:not(.show-time) [data-cal-apply]{
  display:none;
}
.cron-status{
  margin-bottom:12px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  font-size:13px;
  color:var(--muted);
}
.cron-status strong{
  margin-left:6px;
  color:#fff;
  font-weight:600;
}
.metrics-countdown{
  display:grid;
  grid-template-columns:minmax(150px,1fr) auto minmax(190px,1fr);
  align-items:center;
  gap:18px;
  margin-bottom:20px;
  padding:14px 18px;
  border:1px solid rgba(255,213,74,.35);
  border-radius:14px;
  background:linear-gradient(110deg,rgba(255,213,74,.13),rgba(255,213,74,.035) 55%,rgba(255,255,255,.025));
  box-shadow:0 12px 30px rgba(0,0,0,.2);
}
.metrics-countdown-copy{
  display:grid;
  gap:2px;
}
.metrics-countdown-eyebrow{
  color:var(--accent);
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.metrics-countdown-copy strong{
  font-size:14px;
}
.metrics-countdown-timer{
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:8px;
  color:#fff;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.metrics-countdown-prefix{
  color:var(--accent);
  font-size:18px;
  font-weight:800;
}
.metrics-countdown-value{
  font-family:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
  font-size:22px;
  font-weight:750;
  letter-spacing:.02em;
}
.metrics-countdown time{
  justify-self:end;
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
}
.metrics-countdown.is-complete{
  border-color:rgba(64,196,99,.4);
  background:rgba(64,196,99,.09);
}

@media (max-width:760px){
  .metrics-countdown{
    grid-template-columns:1fr auto;
    gap:8px 12px;
    padding:12px 14px;
  }
  .metrics-countdown-timer{
    justify-content:flex-end;
  }
  .metrics-countdown-value{
    font-size:18px;
  }
  .metrics-countdown time{
    grid-column:1 / -1;
    justify-self:end;
    font-size:11px;
  }
  .portal-header{
    padding:12px;
  }
  .brand{
    align-items:center;
    flex-wrap:nowrap;
  }
  .brand h1{
    flex:1 1 auto;
    min-width:0;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:14px;
  }
  .topnav{
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-left:-12px;
    margin-right:-12px;
    padding:10px 12px 12px;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .topnav::-webkit-scrollbar{
    display:none;
  }
  .topnav a{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .topnav a.logout{
    margin-left:0;
  }
  header .topnav{
    display:none;
  }
  .mobile-bottom-nav{
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    z-index:80;
    display:flex;
    align-items:stretch;
    gap:2px;
    min-height:68px;
    padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    border-top:1px solid rgba(255,255,255,.12);
    background:rgba(12,12,12,.95);
    box-shadow:0 -12px 28px rgba(0,0,0,.42);
    backdrop-filter:blur(18px);
  }
  .mobile-bottom-link{
    appearance:none;
    flex:1 1 0;
    min-width:0;
    min-height:54px;
    padding:5px 2px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#929292;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:4px;
    font:inherit;
    font-size:10px;
    font-weight:700;
    line-height:1.1;
    text-align:center;
    cursor:pointer;
  }
  .mobile-bottom-link svg{
    width:22px;
    height:22px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-bottom-link.active{
    background:rgba(255,209,26,.13);
    color:#ffe071;
  }
  .mobile-bottom-link:focus-visible,
  .mobile-nav-more-link:focus-visible,
  .mobile-nav-logout:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:2px;
  }
  .mobile-nav-backdrop{
    position:fixed;
    inset:0;
    z-index:94;
    display:block;
    opacity:0;
    pointer-events:none;
    background:rgba(0,0,0,.68);
    transition:opacity .18s ease;
  }
  .mobile-nav-backdrop.open{
    opacity:1;
    pointer-events:auto;
  }
  .mobile-nav-sheet{
    position:fixed;
    left:8px;
    right:8px;
    bottom:8px;
    z-index:95;
    display:flex;
    flex-direction:column;
    gap:14px;
    max-height:min(78dvh,680px);
    padding:8px 14px calc(14px + env(safe-area-inset-bottom));
    border:1px solid rgba(255,255,255,.14);
    border-radius:20px;
    background:#151515;
    box-shadow:0 24px 70px rgba(0,0,0,.65);
    opacity:0;
    overflow-y:auto;
    pointer-events:none;
    transform:translateY(calc(100% + 20px));
    transition:transform .22s ease,opacity .18s ease;
  }
  .mobile-nav-sheet.open{
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
  body.mobile-nav-open{
    overflow:hidden;
  }
  .mobile-nav-sheet-handle{
    width:38px;
    height:4px;
    margin:0 auto;
    border-radius:999px;
    background:#4a4a4a;
  }
  .mobile-nav-sheet-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .mobile-nav-sheet-head>div{
    display:flex;
    flex-direction:column;
    gap:3px;
    min-width:0;
  }
  .mobile-nav-sheet-head strong{
    font-size:18px;
  }
  .mobile-nav-sheet-head span{
    color:var(--muted);
    font-size:11px;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }
  .mobile-nav-sheet-head .btn-icon{
    min-width:44px;
    min-height:44px;
    font-size:22px;
  }
  .mobile-nav-more-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }
  .mobile-nav-more-link{
    min-height:58px;
    padding:9px 10px;
    border:1px solid rgba(255,255,255,.09);
    border-radius:12px;
    background:#0f0f0f;
    color:#dedede;
    display:grid;
    grid-template-columns:30px minmax(0,1fr) 16px;
    align-items:center;
    gap:8px;
    font-size:12px;
    font-weight:700;
  }
  .mobile-nav-more-link.active{
    border-color:rgba(255,209,26,.55);
    background:rgba(255,209,26,.1);
    color:#ffe071;
  }
  .mobile-nav-more-mark{
    width:30px;
    height:30px;
    border-radius:9px;
    background:#242424;
    display:grid;
    place-items:center;
    color:#fff;
    font-size:12px;
  }
  .mobile-nav-more-link svg,
  .mobile-nav-logout svg{
    width:18px;
    height:18px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.8;
    stroke-linecap:round;
    stroke-linejoin:round;
  }
  .mobile-nav-logout{
    min-height:48px;
    padding:10px 12px;
    border:1px solid rgba(255,90,90,.24);
    border-radius:12px;
    color:#ff9a9a;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    font-size:13px;
    font-weight:700;
  }
  .main{
    margin-top:12px;
    margin-bottom:108px;
    padding:0 10px;
  }
  #planner{
    margin-top:16px;
  }
  #planner .planner-head{
    align-items:flex-start;
    gap:6px;
  }
  #planner h2{
    font-size:21px;
  }
  .planner-head p{
    font-size:12px;
  }
  .planner-updated{
    width:100%;
    font-size:11px;
  }
  .planner-guide{
    margin:10px 0;
  }
  .planner-guide summary{
    min-height:44px;
    display:flex;
    align-items:center;
    padding:10px 12px;
  }
  .planner-guide-grid{
    grid-template-columns:1fr;
    padding:0 10px 10px;
  }
  .planner-status.visible{
    position:fixed;
    left:12px;
    right:12px;
    bottom:82px;
    z-index:70;
    min-height:0;
    margin:0;
    padding:10px 12px;
    border:1px solid rgba(255,213,74,.35);
    border-radius:10px;
    background:#24200f;
    box-shadow:0 12px 30px rgba(0,0,0,.4);
    color:#ffe58d;
  }
  .planner-controls{
    padding:10px;
    gap:10px;
    border-radius:14px;
  }
  .planner-mobile-filterbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
  }
  .planner-filter-toggle{
    min-height:44px;
    padding:9px 12px;
  }
  .planner-filter-toggle::after{
    content:'⌄';
    font-size:17px;
    transition:transform .18s ease;
  }
  .planner-filter-toggle[aria-expanded="true"]::after{
    transform:rotate(180deg);
  }
  .planner-filter-badge{
    display:inline-grid;
    place-items:center;
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:var(--accent);
    color:#111;
    font-size:11px;
  }
  .planner-filter-badge[hidden]{
    display:none;
  }
  .planner-mobile-count{
    color:var(--muted);
    font-size:12px;
    white-space:nowrap;
  }
  .planner-filters{
    grid-template-columns:1fr;
    gap:10px;
  }
  .planner-controls:not(.filters-open) .planner-filters .filter-field:not(:first-child),
  .planner-controls:not(.filters-open) .filter-actions{
    display:none;
  }
  .planner-controls.filters-open .planner-filters{
    padding-top:10px;
    border-top:1px solid rgba(255,255,255,.08);
  }
  .filter-field label{
    margin-bottom:7px;
  }
  .filter-field input[type="text"],
  .filter-field input[type="date"]{
    min-height:44px;
    font-size:16px;
  }
  .filter-options{
    flex-wrap:nowrap;
    gap:7px;
    margin:0 -10px;
    padding:0 10px 4px;
    overflow-x:auto;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .filter-options::-webkit-scrollbar{
    display:none;
  }
  .filter-chip{
    flex:0 0 auto;
    min-height:40px;
    padding:8px 13px;
  }
  .date-inputs{
    align-items:stretch;
  }
  .date-inputs input{
    min-width:0;
  }
  .filter-actions,
  .planner-buttons,
  .planner-copy-actions,
  .planner-modal-actions{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  .planner-buttons .btn,
  .planner-copy-actions .btn,
  .planner-modal-actions .btn{
    width:100%;
    min-height:44px;
  }
  .planner-count{
    grid-column:1 / -1;
  }
  .filter-actions .planner-buttons{
    grid-column:1 / -1;
    display:block;
  }
  .filter-actions .planner-count{
    display:none;
  }
  .filter-actions .planner-buttons .btn{
    width:100%;
  }
  .filter-actions .planner-buttons .btn[data-action="open-add"]{
    display:none;
  }
  .planner-tabs{
    position:relative;
    left:auto;
    right:auto;
    bottom:auto;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(5,minmax(0,1fr));
    gap:4px;
    margin:12px 0;
    padding:6px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:14px;
    background:#111;
    box-shadow:none;
    backdrop-filter:none;
  }
  .planner-tabs .btn{
    width:100%;
    min-width:0;
    min-height:52px;
    flex-direction:column;
    gap:3px;
    padding:5px 2px;
    border-color:transparent;
    border-radius:10px;
    background:transparent;
    color:#aaa;
    font-size:10px;
  }
  .planner-tabs .btn-tab.active{
    background:rgba(255,209,26,.14);
    color:#ffe071;
  }
  .planner-tabs .planner-mobile-add{
    display:inline-flex;
    background:var(--accent);
    color:#111;
  }
  .planner-tab-icon{
    display:block;
    min-height:21px;
    font-size:20px;
    font-weight:700;
    line-height:21px;
  }
  .planner-tab-label-desktop{
    display:none;
  }
  .planner-tab-label-mobile{
    display:inline;
  }
  .planner-tab-date{
    font-size:12px;
    border:1px solid currentColor;
    border-radius:4px;
    padding:0 3px;
  }
  .planner-tab-live{
    color:#ff5b5b;
    font-size:15px;
  }
  .planner-card-grid{
    gap:10px;
    margin-top:0;
  }
  .planner-row-card{
    border-radius:14px;
  }
  .planner-card-head>div:first-child{
    min-width:0;
  }
  .planner-pill-row{
    justify-content:flex-start;
    width:100%;
    gap:6px;
  }
  .planner-pill-row .planner-chip{
    padding:4px 8px;
    font-size:11px;
  }
  .planner-pill-row .danger{
    display:none;
    margin-left:auto;
  }
  .planner-row-card.details-open .planner-pill-row .danger{
    display:inline-flex;
    min-height:36px;
  }
  .planner-mobile-summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
    color:var(--muted);
    font-size:12px;
  }
  .planner-mobile-date{
    white-space:nowrap;
  }
  .planner-mobile-platforms{
    display:flex;
    justify-content:flex-end;
    gap:4px;
    min-width:0;
    overflow:hidden;
  }
  .planner-mobile-platforms .planner-chip{
    flex:0 0 auto;
  }
  .planner-card-toggle{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    min-height:42px;
    padding:8px 10px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:9px;
    background:#111;
    color:#d7d7d7;
    font:inherit;
    font-size:12px;
    font-weight:700;
    cursor:pointer;
  }
  .planner-card-toggle:focus-visible{
    outline:2px solid var(--accent);
    outline-offset:2px;
  }
  .planner-card-toggle-icon{
    font-size:18px;
    transition:transform .18s ease;
  }
  .planner-row-card.details-open .planner-card-toggle-icon{
    transform:rotate(180deg);
  }
  .planner-row-card:not(.details-open) .planner-fighters,
  .planner-row-card:not(.details-open) .planner-card-meta,
  .planner-row-card:not(.details-open) .planner-card-notes,
  .planner-row-card:not(.details-open) .planner-attachments-wrap{
    display:none;
  }
  .planner-card-body{
    padding:12px;
    gap:10px;
  }
  .planner-input.planner-title{
    font-size:17px;
  }
  .planner-card-meta{
    grid-template-columns:1fr;
  }
  .platform-toggle-row{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .platform-toggle{
    min-height:44px;
  }
  .planner-card-media,
  .planner-card-placeholder,
  .planner-card-media img{
    height:116px;
    min-height:116px;
  }
  .planner-card-placeholder{
    padding:14px 88px 14px 14px;
    justify-items:start;
    text-align:left;
    font-size:12px;
  }
  .planner-upload-btn{
    left:auto;
    right:10px;
    bottom:10px;
    width:auto;
    min-height:40px;
  }
  .planner-card-body input,
  .planner-card-body select,
  .planner-card-body textarea,
  .planner-form input,
  .planner-form select,
  .planner-form textarea{
    min-height:44px;
    font-size:16px;
  }
  .planner-card-notes textarea{
    font-size:16px;
  }
  .planner-fighters .btn,
  .planner-attachments-head .btn{
    min-height:44px;
  }
  .kanban-board{
    margin:0 -10px;
    padding:0 10px 10px;
    scroll-snap-type:x proximity;
  }
  .kanban-column{
    min-width:min(84vw,320px);
    scroll-snap-align:start;
  }
  .planner-modal{
    align-items:flex-end;
    padding:calc(8px + env(safe-area-inset-top)) 8px calc(8px + env(safe-area-inset-bottom));
  }
  .planner-modal-body{
    max-height:calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    overflow-y:auto;
    scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom));
    -webkit-overflow-scrolling:touch;
    border-radius:14px;
    padding:14px;
  }
  .planner-modal-head{
    position:sticky;
    top:-14px;
    z-index:2;
    margin:-14px -14px 0;
    padding:14px;
    border-bottom:1px solid rgba(255,255,255,.08);
    background:#111;
  }
  .planner-modal-head .btn-icon{
    min-width:44px;
    min-height:44px;
    font-size:22px;
  }
  .planner-modal-actions{
    position:sticky;
    bottom:0;
    z-index:2;
    margin:0 -14px -14px;
    padding:10px 14px;
    border-top:1px solid rgba(255,255,255,.08);
    background:#111;
  }
  .calendar-header{
    position:sticky;
    top:0;
    z-index:2;
    padding:4px 0 10px;
    background:var(--card);
  }
  .calendar-header .btn{
    min-width:44px;
    min-height:44px;
    font-size:22px;
  }
  .calendar-mobile-list{
    gap:8px;
    margin-top:0;
  }
  .calendar-mobile-day{
    padding:10px;
  }
  .calendar-mobile-event{
    min-height:48px;
    padding:10px 11px;
  }
  .planner-mini-calendar{
    position:fixed;
    left:10px !important;
    right:10px;
    width:auto;
    max-width:none;
  }
}

@media (max-width:420px){
  .planner-buttons{
    grid-template-columns:1fr;
  }
  .platform-toggle-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .date-inputs{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  }
  .date-inputs span{
    align-self:center;
  }
  .posts-mobile-event{
    grid-template-columns:56px 1fr;
  }
  .posts-mobile-media{
    width:56px;
    height:56px;
  }
}

/* Match day */
#matchday .matchday-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
#matchday .matchday-head p{
  margin:0;
  font-size:13px;
}
.matchday-kicker{
  margin-bottom:4px;
  color:#ffd11a;
  font-size:11px;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
}
.matchday-event-presenter{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:54px;
  padding:8px 12px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:#111;
}
.matchday-event-presenter span{
  color:var(--muted);
  font-size:10px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.matchday-event-presenter img{
  width:auto;
  height:32px;
  max-width:130px;
  object-fit:contain;
}
.matchday-app{
  padding:16px;
}
.matchday-toolbar{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.matchday-event-wrap{
  display:flex;
  align-items:center;
  gap:8px;
  border:1px solid #2a2a2a;
  border-radius:10px;
  padding:8px 10px;
  background:#111;
}
.matchday-event-wrap span{
  font-size:12px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.04em;
}
.matchday-event-wrap select{
  border:1px solid #2a2a2a;
  border-radius:8px;
  background:#0d0d0d;
  color:#f2f2f2;
  padding:6px 8px;
  font-size:13px;
}
.matchday-event-wrap select:focus-visible{
  outline:2px solid #ffd11a;
  outline-offset:1px;
}
.matchday-search{
  flex:1 1 260px;
  background:#0f0f0f;
  border:1px solid #2a2a2a;
  color:#f0f0f0;
  border-radius:10px;
  padding:10px 12px;
  font-size:14px;
}
.matchday-search:focus-visible{
  outline:2px solid #ffd11a;
  outline-offset:1px;
}
.matchday-layout{
  margin-top:12px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
@media (max-width:1100px){
  .matchday-layout{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .matchday-layout{
    grid-template-columns:1fr;
  }
}
.matchday-panel{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:10px;
  background:#111;
}
.matchday-panel h3{
  margin:0 0 8px;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--muted);
}
.matchday-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:300px;
  overflow:auto;
  padding-right:2px;
}
.matchday-choice{
  border:1px solid #2a2a2a;
  border-radius:10px;
  padding:10px 12px;
  background:#151515;
  color:#e8e8e8;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:4px;
  transition:border-color .12s ease,background .12s ease,transform .06s ease;
}
.matchday-choice:hover{
  border-color:#404040;
  background:#1a1a1a;
}
.matchday-choice:active{
  transform:translateY(1px);
}
.matchday-choice:focus-visible{
  outline:2px solid #ffd11a;
  outline-offset:1px;
}
.matchday-choice.active{
  border-color:#ffd11a;
  background:rgba(255,209,26,.12);
  color:#fff;
}
.matchday-choice strong{
  font-size:14px;
}
.matchday-choice span{
  font-size:13px;
  color:#d4d4d4;
}
.matchday-choice small{
  font-size:11px;
  color:var(--muted);
}
.matchday-choice-sponsor{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-top:3px;
  padding-top:7px;
  border-top:1px solid rgba(255,255,255,.08);
}
.matchday-choice-sponsor em,
.matchday-feed-sponsor em{
  color:var(--muted);
  font-size:10px;
  font-style:normal;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.matchday-choice-sponsor img{
  width:auto;
  height:20px;
  max-width:84px;
  object-fit:contain;
}
.matchday-empty{
  border:1px dashed rgba(255,255,255,.18);
  border-radius:10px;
  padding:12px;
  font-size:12px;
  color:var(--muted);
}
.matchday-status{
  margin-top:12px;
  font-size:13px;
  color:#f4f4f4;
}
.matchday-copy-status{
  min-height:18px;
  margin-top:4px;
  font-size:12px;
  color:#ffd11a;
}
.matchday-indicators-card{
  margin-top:8px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  padding:12px;
  background:#101010;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.matchday-indicators-card textarea{
  width:100%;
  resize:none;
  border:1px solid #2b2b2b;
  background:#0b0b0b;
  color:#f4f4f4;
  border-radius:10px;
  padding:10px;
  font-size:14px;
  line-height:1.4;
  min-height:95px;
  font-family:inherit;
}
.matchday-feed-card{
  margin-top:8px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  padding:12px;
  background:#101010;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.matchday-feed-meta{
  font-size:12px;
  color:var(--muted);
}
.matchday-feed-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:280px;
  overflow:auto;
  padding-right:2px;
}
.matchday-feed-item{
  border:1px solid #2a2a2a;
  border-radius:10px;
  background:#0d0d0d;
  padding:8px 10px;
  display:flex;
  flex-direction:column;
  gap:4px;
}
.matchday-feed-item strong{
  font-size:13px;
}
.matchday-feed-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.matchday-feed-sponsor{
  display:flex;
  align-items:center;
  gap:7px;
}
.matchday-feed-sponsor img{
  width:auto;
  height:24px;
  max-width:92px;
  object-fit:contain;
}
.matchday-feed-item small{
  color:var(--muted);
  font-size:11px;
}
.matchday-feed-item span{
  font-size:12px;
  color:#cfcfcf;
}
.matchday-output-grid{
  margin-top:8px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
@media (max-width:1100px){
  .matchday-output-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:760px){
  .matchday-output-grid{
    grid-template-columns:1fr;
  }
}
.matchday-output-card{
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  padding:12px;
  background:#101010;
  display:flex;
  flex-direction:column;
  gap:10px;
  min-height:170px;
}
.matchday-output-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.matchday-output-head h4{
  margin:0;
  font-size:13px;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.matchday-output-card textarea{
  width:100%;
  resize:vertical;
  border:1px solid #2b2b2b;
  background:#0b0b0b;
  color:#f4f4f4;
  border-radius:10px;
  padding:10px;
  font-size:14px;
  line-height:1.4;
  white-space:pre-wrap;
  min-height:90px;
  font-family:inherit;
}
.matchday-output-card textarea:focus-visible{
  outline:2px solid #ffd11a;
  outline-offset:1px;
}
.matchday-toolbar .btn:disabled{
  opacity:.55;
  cursor:not-allowed;
}
.matchday-shortcuts{
  margin-top:10px;
  font-size:12px;
}
@media (max-width:620px){
  .matchday-event-presenter{width:100%;justify-content:space-between}
  .matchday-feed-title{align-items:flex-start;flex-direction:column}
}

/* ===== Marketing trends ===== */
.trends-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.trends-head-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.trends-head h2{
  margin-bottom:4px;
}
.trends-digest{
  margin-bottom:14px;
}
.trend-digest-card,
.trend-empty{
  border:1px solid var(--ring);
  border-radius:12px;
  background:#121212;
  padding:14px 16px;
}
.trend-digest-card p{
  margin:8px 0 0;
  line-height:1.45;
  color:#e1e1e1;
}
.trends-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
}
.sound-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.sound-card .trend-sources span + span{
  color:#d6d6d6;
}
@media (max-width:1120px){
  .trends-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:720px){
  .trends-head{flex-direction:column;}
  .trends-grid{grid-template-columns:1fr;}
  .sound-grid{grid-template-columns:1fr;}
  .trends-head-actions{justify-content:flex-start;}
}
.trend-card{
  padding:14px;
  gap:12px;
}
.trend-card-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.trend-card h3{
  margin:0;
  font-size:18px;
  line-height:1.2;
}
.trend-card p{
  margin:0;
  color:#dedede;
  line-height:1.45;
}
.trend-score{
  display:flex;
  align-items:baseline;
  gap:2px;
  color:var(--muted);
}
.trend-score strong{
  color:var(--accent);
  font-size:28px;
  line-height:1;
}
.trend-score span{
  font-size:12px;
}
.trend-meta-row,
.trend-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.trend-meta-row span{
  border:1px solid var(--ring);
  border-radius:999px;
  padding:6px 10px;
  color:var(--muted);
  font-size:12px;
}
.trend-meta-row strong{
  color:var(--ink);
}
.trend-category .dot{background:#ffd11a;}
.trend-category.social .dot{background:#e1306c;}
.trend-category.mma .dot{background:#ff2b2b;}
.trend-category.ticketing .dot{background:#40c463;}
.trend-category.creator .dot{background:#00f2ea;}
.trend-category.ads .dot{background:#4d7bff;}
.trend-category.live_event .dot{background:#ff9f1c;}
.trend-category.sponsor .dot{background:#c084fc;}
.trend-platform .dot{background:#9aa0a6;}
.trend-status.ok .dot{background:#40c463;}
.trend-status.failed .dot{background:#ff2b2b;}
.trend-status.running .dot{background:#ffd11a;}
.trend-actions{
  margin:0;
  display:grid;
  gap:8px;
}
.trend-actions div{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:8px;
}
.trend-actions dt{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:3px;
}
.trend-actions dd{
  margin:0;
  color:#e5e5e5;
  line-height:1.4;
  font-size:14px;
}
.trend-sources{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:6px;
}
.trend-sources li{
  display:grid;
  gap:2px;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:8px;
}
.trend-sources a{
  color:#fff;
  text-decoration:underline dotted;
  font-size:13px;
}
.trend-sources span{
  color:var(--muted);
  font-size:12px;
}
.trend-history{
  display:grid;
  gap:8px;
}
.format-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.format-card{
  overflow:hidden;
}
.format-preview{
  min-height:180px;
  padding:14px;
  background:
    linear-gradient(135deg, rgba(255,209,26,.18), transparent 42%),
    linear-gradient(160deg, #181818, #0d0d0d);
  border-bottom:1px solid var(--ring);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:18px;
}
.format-preview-inner{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.format-preview-title{
  max-width:520px;
  font-size:24px;
  line-height:1.15;
  font-weight:800;
  color:#fff;
}
.format-body{
  padding:14px;
  display:grid;
  gap:12px;
}
.format-body h3{
  margin:0;
  font-size:18px;
  line-height:1.2;
}
.format-links{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  font-size:13px;
}
.format-links a{
  color:#fff;
  text-decoration:underline dotted;
}
.format-links span{
  color:var(--muted);
}
.format-mini-title{
  color:var(--muted);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.06em;
  margin-bottom:6px;
}
.format-shot-list{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:5px;
  color:#e5e5e5;
  font-size:13px;
  line-height:1.35;
}
.format-prompt{
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  background:#0d0d0d;
  padding:10px;
  color:#e5e5e5;
  font-size:13px;
  line-height:1.4;
}
@media (max-width:900px){
  .format-grid{grid-template-columns:1fr;}
}
.trend-history-row{
  display:grid;
  grid-template-columns:100px 100px minmax(0,1fr) 160px;
  align-items:center;
  gap:10px;
  border:1px solid var(--ring);
  border-radius:10px;
  background:#101010;
  padding:10px 12px;
  font-size:13px;
}
.trend-history-row time{
  color:var(--muted);
  text-align:right;
}
.custom-agent-history-row{
  width:100%;
  color:var(--ink);
  font:inherit;
  text-align:left;
  cursor:pointer;
  appearance:none;
}
.custom-agent-history-row:hover,
.custom-agent-history-row.selected{
  border-color:rgba(255,213,74,.55);
  background:#191919;
}
.custom-agent-history-row:focus-visible{
  outline:2px solid #ffd11a;
  outline-offset:2px;
}
.trend-run-date{
  font-weight:700;
}
@media (max-width:760px){
  .trend-history-row{
    grid-template-columns:1fr;
    align-items:start;
  }
  .trend-history-row time{
    text-align:left;
  }
}

/* ===== AI social plan ===== */
.social-plan-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.social-plan-head h2{
  margin-bottom:4px;
}
.social-plan-controls{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.social-plan-controls input{
  background:#111;
  color:#fff;
  border:1px solid var(--ring);
  border-radius:10px;
  padding:9px 10px;
}
.social-plan-summary{
  margin-bottom:14px;
}
.social-plan-digest{
  display:grid;
  gap:12px;
}
.social-plan-digest ul{
  margin:8px 0 0;
  padding-left:20px;
  color:#e1e1e1;
  line-height:1.45;
}
.social-plan-news-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:8px;
}
.social-plan-news-card{
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:#101010;
  padding:12px;
  display:grid;
  gap:10px;
}
.social-plan-news-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.social-plan-news-top h4{
  margin:0;
  font-size:15px;
  line-height:1.25;
}
.social-plan-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.social-plan-card{
  padding:14px;
  gap:12px;
}
.social-plan-card-top{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.social-plan-card-top time,
.social-plan-card-top span{
  display:block;
}
.social-plan-card-top time{
  font-weight:700;
}
.social-plan-card-top span{
  color:var(--muted);
  font-size:12px;
}
.social-plan-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.social-plan-card h3{
  margin:0;
  font-size:18px;
  line-height:1.2;
}
.social-plan-card p{
  margin:0;
  color:#dedede;
  line-height:1.45;
}
.social-plan-secondary{
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:#101010;
  padding:10px;
  display:grid;
  gap:6px;
}
.social-plan-secondary strong{
  font-size:13px;
}
.trend-status.high .dot{background:#ff2b2b;}
.trend-status.medium .dot{background:#ffd11a;}
.trend-status.low .dot{background:#40c463;}
.trend-status.high .dot{background:#ff2b2b;}
.trend-status.medium .dot{background:#ffd11a;}
.trend-status.low .dot{background:#40c463;}
@media (max-width:900px){
  .social-plan-grid{grid-template-columns:1fr;}
  .social-plan-news-grid{grid-template-columns:1fr;}
}
@media (max-width:760px){
  .social-plan-head{flex-direction:column;}
  .social-plan-controls{justify-content:flex-start;}
}

/* ===== Daily platform advisor ===== */
.advisor-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.advisor-head h2{
  margin-bottom:4px;
}
.advisor-controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.advisor-summary{
  margin-bottom:14px;
}
.advisor-digest{
  display:grid;
  gap:12px;
}
.advisor-digest ul{
  margin:8px 0 0;
  padding-left:20px;
  color:#e1e1e1;
  line-height:1.45;
}
.advisor-focus-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.advisor-focus-grid p{
  margin:8px 0 0;
}
.advisor-sections{
  display:grid;
  gap:4px;
}
.advisor-section{
  margin-top:18px;
}
.advisor-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.advisor-card,
.advisor-experiment-card{
  padding:14px;
  gap:12px;
}
.advisor-card-top{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:flex-start;
}
.advisor-badges{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.advisor-card h3,
.advisor-experiment-card h3{
  margin:0;
  font-size:18px;
  line-height:1.2;
}
@media (max-width:900px){
  .advisor-grid,
  .advisor-focus-grid{
    grid-template-columns:1fr;
  }
}

/* ===== Custom agent ===== */
.custom-agent-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}
.custom-agent-head h2{
  margin-bottom:4px;
}
.custom-agent-controls{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.custom-agent-layout{
  display:grid;
  grid-template-columns:minmax(320px,420px) minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.custom-agent-form{
  padding:14px;
  gap:12px;
}
.custom-agent-form label{
  display:grid;
  gap:6px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.custom-agent-form input,
.custom-agent-form textarea,
.custom-agent-form select{
  width:100%;
  border:1px solid #2b2b2b;
  border-radius:8px;
  background:#0e0e0e;
  color:#fff;
  padding:10px 12px;
  font:inherit;
}
.custom-agent-form textarea{
  resize:vertical;
  line-height:1.45;
}
.custom-agent-form [data-custom-agent-prompt-count]{
  margin:-6px 0 0;
  font-size:12px;
}
.custom-agent-form [data-custom-agent-prompt-count].warn{
  color:#ff9a9a;
}
.custom-agent-form fieldset{
  margin:0;
  border:1px solid #2b2b2b;
  border-radius:10px;
  padding:10px;
}
.custom-agent-form legend{
  padding:0 6px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
.custom-agent-context-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin:0 0 8px;
}
.custom-agent-context-toolbar .btn{
  min-height:40px;
  flex:0 0 auto;
  padding:9px 12px;
  font-size:12px;
}
.custom-agent-context-toolbar .btn:disabled{
  opacity:.45;
  cursor:not-allowed;
}
.custom-agent-form .checkline{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--ink);
  font-weight:600;
  margin:7px 0;
}
.custom-agent-form .checkline input{
  width:16px;
  height:16px;
  accent-color:#ffd11a;
}
.custom-agent-output{
  padding:14px;
  gap:14px;
}
.custom-agent-output-head{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:flex-start;
}
.custom-agent-output-head h3{
  margin:0 0 4px;
  font-size:18px;
}
.custom-agent-answer{
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:#101010;
  padding:14px;
  line-height:1.45;
}
.custom-agent-rich{
  margin-top:10px;
  display:grid;
  gap:10px;
  color:#ededed;
}
.custom-agent-rich p,
.custom-agent-item p{
  margin:0;
  line-height:1.6;
}
.custom-agent-rich h4,
.custom-agent-item h4{
  margin:2px 0 0;
  font-size:15px;
  color:#fff;
}
.custom-agent-rich code,
.custom-agent-item code{
  border:1px solid rgba(255,255,255,.12);
  border-radius:5px;
  background:#070707;
  padding:1px 5px;
  font-size:.92em;
}
.custom-agent-rich-list{
  margin:0;
  padding-left:20px;
  display:grid;
  gap:6px;
}
.custom-agent-columns{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.custom-agent-section{
  min-width:0;
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:10px;
}
.custom-agent-item-list{
  display:grid;
  gap:8px;
  margin-top:8px;
}
.custom-agent-item{
  border-left:3px solid rgba(255,209,26,.65);
  background:rgba(255,255,255,.035);
  border-radius:0 8px 8px 0;
  padding:9px 11px;
  color:#e5e5e5;
  line-height:1.5;
}
.custom-agent-item .custom-agent-rich-list{
  gap:4px;
}
.custom-agent-output details{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:8px;
}
.custom-agent-output summary{
  cursor:pointer;
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.custom-agent-output pre{
  white-space:pre-wrap;
  word-break:break-word;
  max-height:340px;
  overflow:auto;
  background:#0d0d0d;
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;
  padding:10px;
  color:#e5e5e5;
  font-size:12px;
}
@media (max-width:980px){
  .custom-agent-layout,
  .custom-agent-columns{
    grid-template-columns:1fr;
  }
}
@media (max-width:760px){
  .custom-agent-head{
    flex-direction:column;
  }
  .custom-agent-controls{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
    justify-content:stretch;
  }
  .custom-agent-controls .btn{width:100%;min-height:44px}
  .custom-agent-context-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
}
@media (max-width:760px){
  .advisor-head{
    flex-direction:column;
  }
  .advisor-controls{
    justify-content:flex-start;
  }
}

/* ===== Portal header · premium control surface ===== */
.portal-header{
  position:sticky;
  top:0;
  z-index:70;
  padding:0 18px;
  border-bottom:1px solid rgba(242,193,78,.14);
  background:rgba(7,9,9,.9);
  box-shadow:0 10px 34px rgba(0,0,0,.22);
  backdrop-filter:blur(22px) saturate(125%);
}
.portal-header:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:1px;
  background:linear-gradient(90deg,transparent,rgba(242,193,78,.65) 22%,rgba(242,193,78,.08) 58%,transparent);
  pointer-events:none;
}
.portal-header-inner{
  width:min(1440px,100%);
  min-height:66px;
  margin:0 auto;
  display:grid;
  grid-template-columns:auto auto minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
}
.portal-header .brand{
  min-width:0;
  display:flex;
  align-items:center;
  gap:12px;
  color:#f5f3ed;
}
.portal-quote-link{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px 20px;
  border:1px solid rgba(242,193,78,.34);
  border-radius:12px;
  background:rgba(242,193,78,.085);
  color:#f2c14e;
  line-height:1;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.portal-quote-link:hover{border-color:rgba(242,193,78,.65);background:rgba(242,193,78,.16);color:#ffe39a}
.portal-quote-link span{display:grid;gap:3px}
.portal-quote-link small{color:#d2bd7e;font-size:9px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
.portal-quote-link strong{font-size:14px;font-weight:800;white-space:nowrap}
.portal-brand-logos{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.portal-header .portal-brand-logos img:first-child{width:auto;height:20px;opacity:.88}
.portal-header .portal-brand-logos img:last-child{width:auto;height:31px;opacity:1}
.portal-brand-logos i{width:1px;height:24px;background:rgba(255,255,255,.13)}
.portal-brand-copy{
  min-width:0;
  display:grid;
  gap:2px;
  padding-left:1px;
  line-height:1;
}
.portal-brand-copy small{
  color:#8c948f;
  font-size:8px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.portal-brand-copy strong{
  white-space:nowrap;
  font-size:13px;
  font-weight:720;
  letter-spacing:.01em;
}
.portal-header .topnav{
  min-width:0;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin:0;
  padding:0;
  border:0;
}
.portal-header .topnav > a,
.desktop-nav-more > summary{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:35px;
  padding:0 11px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#8d9691;
  font-size:11px;
  font-weight:680;
  letter-spacing:.01em;
  line-height:1;
  white-space:nowrap;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.portal-header .topnav > a:hover,
.desktop-nav-more > summary:hover{
  border-color:rgba(255,255,255,.08);
  background:rgba(255,255,255,.035);
  color:#eef0ed;
}
.portal-header .topnav > a.active,
.desktop-nav-more.active > summary,
.desktop-nav-more[open] > summary{
  border-color:rgba(242,193,78,.25);
  background:rgba(242,193,78,.075);
  color:#f2c14e;
}
.portal-header .topnav > a.active:after{
  content:"";
  position:absolute;
  right:10px;
  bottom:-16px;
  left:10px;
  height:2px;
  border-radius:2px 2px 0 0;
  background:#f2c14e;
  box-shadow:0 0 12px rgba(242,193,78,.38);
}
.desktop-nav-more,
.portal-profile{position:relative}
.desktop-nav-more > summary,
.portal-profile > summary{list-style:none}
.desktop-nav-more > summary::-webkit-details-marker,
.portal-profile > summary::-webkit-details-marker{display:none}
.desktop-nav-more > summary{gap:5px}
.desktop-nav-more > summary svg,
.portal-profile > summary svg{
  width:14px;
  height:14px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  transition:transform .15s ease;
}
.desktop-nav-more[open] > summary svg,
.portal-profile[open] > summary svg{transform:rotate(180deg)}
.desktop-nav-menu{
  position:absolute;
  top:calc(100% + 13px);
  left:50%;
  width:min(430px,calc(100vw - 32px));
  padding:12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(12,15,14,.98);
  box-shadow:0 24px 60px rgba(0,0,0,.52);
  transform:translateX(-50%);
}
.desktop-nav-menu-label{
  display:block;
  padding:2px 4px 9px;
  color:#747d78;
  font-size:8px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.desktop-nav-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:5px}
.portal-header .desktop-nav-menu-grid a{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  padding:8px;
  border:1px solid transparent;
  border-radius:9px;
  background:transparent;
  color:#c8cdca;
}
.portal-header .desktop-nav-menu-grid a:hover,
.portal-header .desktop-nav-menu-grid a.active{
  border-color:rgba(242,193,78,.17);
  background:rgba(242,193,78,.06);
  color:#f4d37b;
}
.desktop-nav-menu-grid a > span{
  flex:0 0 27px;
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.09);
  border-radius:8px;
  background:rgba(255,255,255,.025);
  color:#929b96;
  font:700 9px/1 "SFMono-Regular",Consolas,monospace;
}
.desktop-nav-menu-grid a strong{
  min-width:0;
  overflow:hidden;
  font-size:11px;
  font-weight:650;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.portal-profile > summary{
  min-width:0;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  padding:5px 7px 5px 5px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:11px;
  background:rgba(255,255,255,.025);
  color:#a5ada8;
  cursor:pointer;
  transition:.15s ease;
}
.portal-profile > summary:hover,
.portal-profile[open] > summary{
  border-color:rgba(242,193,78,.24);
  background:rgba(242,193,78,.06);
}
.portal-profile-avatar{
  width:29px;
  height:29px;
  display:grid;
  place-items:center;
  border:1px solid rgba(242,193,78,.28);
  border-radius:9px;
  background:rgba(242,193,78,.1);
  color:#f2c14e;
  font-size:10px;
  font-weight:800;
}
.portal-profile-copy{min-width:0;display:grid;gap:2px}
.portal-profile-copy strong{
  max-width:120px;
  overflow:hidden;
  color:#e4e8e5;
  font-size:10px;
  font-weight:680;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.portal-profile-copy small{
  color:#737d77;
  font-size:8px;
  font-weight:750;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.portal-profile-menu{
  position:absolute;
  top:calc(100% + 13px);
  right:0;
  width:230px;
  padding:12px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:rgba(12,15,14,.98);
  box-shadow:0 24px 60px rgba(0,0,0,.52);
}
.portal-profile-menu > span{display:block;color:#737d77;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.portal-profile-menu > strong{display:block;overflow:hidden;margin:4px 0 11px;color:#e4e8e5;font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.portal-header .portal-profile-menu a{
  display:block;
  margin-top:4px;
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:8px;
  background:rgba(255,255,255,.02);
  color:#b5bcb8;
  font-size:10px;
  font-weight:650;
}
.portal-header .portal-profile-menu a:hover{border-color:rgba(242,193,78,.2);background:rgba(242,193,78,.06);color:#f2c14e}
.portal-header .portal-profile-menu a.logout{margin-left:0;color:#d39a9a}
.portal-header summary:focus-visible,
.portal-header a:focus-visible{outline:2px solid #f2c14e;outline-offset:2px}
@media(max-width:1120px){
  .portal-header-inner{gap:13px}
  .portal-header .topnav > a,.desktop-nav-more > summary{padding-right:8px;padding-left:8px}
  .portal-brand-copy{display:none}
  .portal-quote-link{padding:10px 15px}
  .portal-profile-copy strong{max-width:90px}
}
@media(max-width:880px){
  .portal-profile-copy{display:none}
  .portal-profile > summary{grid-template-columns:auto auto}
  .portal-header-inner{gap:9px}
}
@media(max-width:760px){
  .portal-header{padding:0 12px}
  .portal-header-inner{min-height:58px;display:flex;justify-content:space-between}
  .portal-header .brand{gap:8px}
  .portal-header .portal-brand-logos img:first-child{height:17px}
  .portal-header .portal-brand-logos img:last-child{height:27px}
  .portal-brand-logos i{height:20px}
  .portal-quote-link{padding:10px 14px}
  .portal-quote-link small{font-size:8px}
  .portal-quote-link strong{font-size:12px}
  .portal-header .topnav,
  .portal-profile{display:none}
}

/* --- Planner V2 test workspace --- */
.planner-modal-eyebrow{display:none}
.planner-v2{
  --planner-gold:#f2c14e;
  --planner-gold-soft:rgba(242,193,78,.1);
  --planner-line:rgba(255,255,255,.09);
  margin-top:14px;
}
.planner-v2 .planner-head{display:none!important}
.planner-v2-hero{
  position:relative;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
  min-height:166px;
  padding:30px 32px;
  overflow:hidden;
  border:1px solid var(--planner-line);
  border-radius:22px 22px 0 0;
  background:
    radial-gradient(circle at 82% 12%,rgba(242,193,78,.15),transparent 28%),
    linear-gradient(135deg,#121513 0%,#090a09 58%,#11100c 100%);
}
.planner-v2-hero:after{
  content:"";
  position:absolute;
  right:4%;
  bottom:-75px;
  width:270px;
  height:150px;
  border:1px solid rgba(242,193,78,.12);
  border-radius:50%;
  transform:rotate(-9deg);
  box-shadow:0 0 70px rgba(242,193,78,.05);
}
.planner-v2-hero-copy,.planner-v2-hero-actions{position:relative;z-index:1}
.planner-v2-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#989f9a;
  font-size:10px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.planner-v2-kicker i{width:6px;height:6px;border-radius:50%;background:var(--planner-gold);box-shadow:0 0 14px rgba(242,193,78,.8)}
.planner-v2-hero h1{margin:10px 0 4px;color:#f2f4f2;font-size:42px;line-height:1;font-weight:720;letter-spacing:-.045em}
.planner-v2-hero p{margin:0;color:#858d88;font-size:13px}
.planner-v2-hero-actions{display:flex;align-items:center;gap:12px}
.planner-v2-shortcut{color:#727a75;font-size:10px;font-weight:650}
.planner-v2-shortcut kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;margin-right:5px;border:1px solid rgba(255,255,255,.13);border-radius:7px;background:#141715;color:#c8ceca;font:700 10px inherit}
.planner-v2-hero .btn-yellow{min-height:42px;padding:0 18px;border-color:var(--planner-gold);background:var(--planner-gold);color:#11130f;font-size:11px;font-weight:800}
.planner-v2-pulse{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border:1px solid var(--planner-line);
  border-top:0;
  border-radius:0 0 22px 22px;
  background:#0d0f0e;
}
.planner-v2-pulse button{
  position:relative;
  display:grid;
  gap:3px;
  padding:18px 20px;
  border:0;
  border-right:1px solid var(--planner-line);
  background:transparent;
  color:#e8ebe9;
  text-align:left;
  cursor:pointer;
}
.planner-v2-pulse button:last-child{border-right:0}
.planner-v2-pulse button:after{content:"";position:absolute;right:18px;bottom:0;left:18px;height:2px;background:transparent}
.planner-v2-pulse button:hover{background:rgba(255,255,255,.02)}
.planner-v2-pulse button.active{background:linear-gradient(180deg,rgba(242,193,78,.06),transparent)}
.planner-v2-pulse button.active:after{background:var(--planner-gold)}
.planner-v2-pulse small{color:#747d77;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.planner-v2-pulse strong{font-size:24px;line-height:1.1;font-weight:680;font-variant-numeric:tabular-nums}
.planner-v2-pulse button.active strong{color:var(--planner-gold)}
.planner-v2-pulse span{color:#5f6762;font-size:9px}
.planner-v2 .planner-status{margin:10px 2px 0}
.planner-v2 .planner-controls{
  position:sticky;
  top:73px;
  z-index:15;
  margin-top:18px;
  padding:12px;
  gap:12px;
  border-color:var(--planner-line);
  border-radius:16px;
  background:rgba(13,15,14,.93);
  box-shadow:0 14px 38px rgba(0,0,0,.3);
  backdrop-filter:blur(18px);
}
.planner-v2 .planner-filters{grid-template-columns:minmax(190px,1.4fr) repeat(3,minmax(155px,1fr)) minmax(235px,1.2fr);gap:10px}
.planner-v2 .filter-field{padding:0 10px;border-right:1px solid rgba(255,255,255,.07)}
.planner-v2 .filter-field:first-child{padding-left:0}
.planner-v2 .filter-field:last-child{padding-right:0;border-right:0}
.planner-v2 .filter-field label{margin-bottom:5px;color:#68706b;font-size:8px;font-weight:800;letter-spacing:.1em}
.planner-v2 .filter-field input[type="text"]{height:34px;padding:7px 10px;border-color:rgba(255,255,255,.1);border-radius:8px;background:#090b0a;font-size:11px}
.planner-v2 .filter-options{gap:5px}
.planner-v2 .filter-chip{padding:5px 8px;border-color:rgba(255,255,255,.1);background:#101311;color:#929a95;font-size:9px;font-weight:700}
.planner-v2 .filter-chip.active{border-color:rgba(242,193,78,.4);background:var(--planner-gold-soft);color:var(--planner-gold)}
.planner-v2 .filter-actions{padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.planner-v2 .planner-count{font-size:10px}
.planner-v2 .planner-buttons .btn{min-height:32px;padding:0 11px;font-size:9px;font-weight:750}
.planner-v2 .planner-tabs{justify-content:flex-start;margin:14px 0 10px;padding:4px;border:1px solid var(--planner-line);border-radius:11px;background:#0d0f0e;width:max-content}
.planner-v2 .planner-tabs .btn-tab{min-height:31px;padding:0 13px;border:0;border-radius:7px;background:transparent;color:#747c77;font-size:10px;font-weight:750}
.planner-v2 .planner-tabs .btn-tab.active{background:#1a1d1b;color:#f0f2f0;box-shadow:inset 0 0 0 1px rgba(242,193,78,.18)}
.planner-v2 .planner-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,390px),1fr));gap:12px;margin-top:0}
.planner-v2 .planner-row-card{border-color:var(--planner-line);border-radius:15px;background:#111311;box-shadow:0 12px 30px rgba(0,0,0,.2)}
.planner-v2 .planner-row-card:hover{border-color:rgba(242,193,78,.22);transform:translateY(-1px)}
.planner-v2 .planner-card-media{min-height:132px}
.planner-v2 .planner-card-media img,.planner-v2 .planner-card-placeholder{height:158px}
.planner-v2 .planner-card-placeholder{padding:28px;color:#5f6661;background:radial-gradient(circle at 50% 0,rgba(242,193,78,.06),transparent 42%),#0c0e0d;font-size:11px}
.planner-v2 .planner-upload-btn{bottom:9px;right:9px;border-color:rgba(255,255,255,.13);font-size:9px}
.planner-v2 .planner-card-body{padding:13px;gap:11px}
.planner-v2 .planner-input.planner-title{font-size:16px;font-weight:680;letter-spacing:-.015em}
.planner-v2 .planner-title-button{display:block;width:100%;padding:0;border:0;background:transparent;color:var(--ink);font:680 16px/1.3 Inter,system-ui,sans-serif;letter-spacing:-.015em;text-align:left;cursor:pointer}
.planner-v2 .planner-title-button:hover{color:var(--planner-gold)}
.planner-v2 .planner-subline{color:#6f7772;font-size:10px}
.planner-v2 .planner-pill-row{gap:5px}
.planner-v2 .planner-pill-row{display:flex;flex:0 0 auto;width:auto;align-items:center;justify-content:flex-end}
.planner-v2 .planner-pill-row .planner-chip{flex:0 0 auto;width:max-content;max-width:100%;min-height:22px;padding:3px 7px;white-space:nowrap}
.planner-v2 .planner-chip{padding:3px 7px;border-color:rgba(255,255,255,.09);background:#171a18;font-size:9px}
.planner-v2-card-actions{display:flex;flex-wrap:wrap;gap:6px;padding:9px 0;border-top:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.planner-v2-card-actions .btn{min-height:28px;padding:0 9px;font-size:9px;font-weight:750}
.planner-v2 .planner-card-toggle{display:none}
.planner-v2 .planner-card-toggle-icon{font-size:14px;transition:transform .15s ease}
.planner-v2 .planner-row-card.details-open .planner-card-toggle-icon{transform:rotate(180deg)}
.planner-v2 .planner-fighters,
.planner-v2 .planner-card-meta,
.planner-v2 .planner-card-notes,
.planner-v2 .planner-attachments-wrap{display:none!important}
.planner-v2 .planner-card-copy{padding:10px;border-color:rgba(255,255,255,.07);background:#0b0d0c}
.planner-v2 .copy-snippet{min-height:38px;color:#b9bfbb;font-size:11px;line-height:1.5}
.planner-v2 .planner-card-copy .planner-copy-actions{display:none}
.planner-v2 .planner-card-meta label,.planner-v2 .platform-toggle-wrap>span{color:#68706b;font-size:8px;font-weight:800}
.planner-v2 .planner-card-body input,.planner-v2 .planner-card-body select,.planner-v2 .planner-card-body textarea{border-color:rgba(255,255,255,.1);background:#0a0c0b;font-size:10px}
.planner-v2 .platform-toggle{padding:5px 8px;font-size:9px}

.planner-v2 .planner-modal.open{align-items:center}
.planner-v2 .planner-modal-body{border-color:rgba(255,255,255,.11);border-radius:18px;background:#101210;box-shadow:0 28px 90px rgba(0,0,0,.7)}
.planner-v2 .planner-modal-head{padding-bottom:11px;border-bottom:1px solid rgba(255,255,255,.07)}
.planner-v2 .planner-modal-head h3{margin:3px 0 0;font-size:17px;letter-spacing:-.02em}
.planner-v2 .planner-modal-eyebrow{display:block;color:#777f79;font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.planner-v2 .planner-compose-modal{width:min(1120px,calc(100vw - 32px));max-width:none;max-height:calc(100vh - 40px);max-height:calc(100dvh - 40px);padding:18px;overflow:auto}
.planner-v2 .planner-compose-modal form{display:grid;gap:0}
.planner-compose-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.8fr);gap:20px}
.planner-compose-main{display:flex;flex-direction:column;gap:14px;padding:5px 2px 4px}
.planner-compose-side{display:flex;flex-direction:column;gap:12px;padding:5px 0 5px 18px;border-left:1px solid rgba(255,255,255,.08)}
.planner-compose-section{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding-bottom:12px;border-bottom:1px solid rgba(255,255,255,.06)}
.planner-compose-section:last-child{padding-bottom:0;border-bottom:0}
.planner-compose-section-title{grid-column:1/-1;color:#6e7671;font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}
.planner-compose-section label:first-of-type:last-child{grid-column:1/-1}
.planner-field-help{color:#626b65;font-size:8px;line-height:1.4}
.planner-compose-handoff{border:1px solid rgba(242,193,78,.14);border-radius:10px;padding:10px;background:rgba(242,193,78,.025)}
.planner-compose-handoff .planner-compose-section-title{color:var(--planner-gold)}
.planner-handoff-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:30px}
.planner-handoff-check{display:inline-flex;align-items:center;gap:7px;min-height:30px;padding:4px 9px;border:1px solid rgba(242,193,78,.26);border-radius:999px;background:rgba(242,193,78,.06);color:#dfe4e0;font-size:10px;font-weight:800;cursor:pointer}
.planner-handoff-check input{width:15px;height:15px;min-height:15px;flex:0 0 auto;margin:0;padding:0;accent-color:var(--planner-gold);cursor:pointer}
.planner-handoff-check:has(input:checked){border-color:rgba(242,193,78,.72);background:rgba(242,193,78,.16);box-shadow:0 0 0 3px rgba(242,193,78,.06)}
.planner-handoff-check:focus-within,.planner-handoff-check:has(input:focus-visible){outline:2px solid rgba(242,193,78,.75);outline-offset:2px}
.planner-handoff-check{min-width:35px;justify-content:center}
.planner-handoff-task{grid-column:1/-1}
.planner-handoff-task textarea{min-height:132px;resize:vertical}
.planner-v2 .planner-form label>span:first-child{color:#858d88;font-size:9px;font-weight:750;letter-spacing:.03em}
.planner-v2 .planner-form label>span em{float:right;color:#59605c;font-size:8px;font-style:normal;font-weight:500}
.planner-v2 .planner-form input,.planner-v2 .planner-form select,.planner-v2 .planner-form textarea{border-color:rgba(255,255,255,.1);border-radius:9px;background:#090b0a;padding:10px;color:#edf0ee;font-size:11px}
.planner-v2 .planner-form .planner-handoff-check input{min-height:15px;padding:0}
.planner-v2 .planner-form .planner-handoff-task textarea{min-height:132px}
.planner-v2 .planner-compose-title input{height:46px;font-size:17px;font-weight:650;letter-spacing:-.02em}
.planner-v2 .planner-compose-copy textarea{min-height:245px;padding:14px;font-size:13px;line-height:1.6}
.planner-v2 .planner-form select[multiple]{min-height:130px;padding:5px}
.planner-v2 .planner-form select[multiple] option{margin:2px 0;padding:7px;border-radius:6px;color:#9ba29e}
.planner-v2 .planner-form select[multiple] option:checked{background:linear-gradient(var(--planner-gold-soft),var(--planner-gold-soft));color:var(--planner-gold)}
.planner-compose-platform-field{grid-column:1/-1;display:grid;gap:6px}
.planner-compose-platform-field>span,.planner-compose-fighter-field>span{color:#858d88;font-size:9px;font-weight:750;letter-spacing:.03em}
.planner-compose-platforms{display:flex;flex-wrap:wrap;gap:6px}
.planner-compose-platform{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border:1px solid rgba(255,255,255,.1);border-radius:8px;background:#0a0c0b;color:#7f8782;font-size:9px;font-weight:750;cursor:pointer}
.planner-compose-platform i{width:6px;height:6px;border-radius:50%;background:var(--choice-color,#777);opacity:.55}
.planner-compose-platform:hover{border-color:rgba(242,193,78,.2);color:#b9bfbb}
.planner-compose-platform.selected{border-color:rgba(242,193,78,.34);background:rgba(242,193,78,.08);color:var(--planner-gold)}
.planner-compose-platform.selected i{opacity:1;box-shadow:0 0 8px color-mix(in srgb,var(--choice-color) 65%,transparent)}
.planner-compose-fighter-field{display:grid;min-width:0;gap:6px}
.planner-v2 .planner-compose-fighter-field input[type="search"]{padding:8px 9px;font-size:9px}
.planner-compose-fighters{display:flex;align-content:flex-start;flex-wrap:wrap;gap:5px;max-height:150px;padding:7px;overflow:auto;border:1px solid rgba(255,255,255,.08);border-radius:8px;background:#090b0a}
.planner-compose-fighter{padding:5px 7px;border:1px solid rgba(255,255,255,.08);border-radius:999px;background:#121512;color:#7d8580;font-size:8px;font-weight:700;cursor:pointer}
.planner-compose-fighter:hover{border-color:rgba(242,193,78,.2);color:#b9bfbb}
.planner-compose-fighter.selected{border-color:rgba(242,193,78,.35);background:rgba(242,193,78,.1);color:var(--planner-gold)}
.planner-compose-choice-empty{display:block;width:100%;padding:12px;color:#626a65;font-size:8px;text-align:center}
.planner-copy-meter{display:flex;align-items:center;justify-content:space-between;color:#606762;font-size:8px;font-weight:650}
.planner-copy-meter strong{color:#9ba29e;font-variant-numeric:tabular-nums}
.planner-copy-meter button{padding:0;border:0;background:transparent;color:var(--planner-gold);font:750 9px inherit;cursor:pointer}
.planner-v2 .planner-compose-modal>.planner-modal-head{position:sticky;top:-18px;z-index:3;margin:-18px -18px 0;padding:18px;background:rgba(16,18,16,.96);backdrop-filter:blur(16px)}
.planner-v2 .planner-compose-modal .planner-modal-actions{position:sticky;bottom:-18px;z-index:3;margin:14px -18px -18px;padding:12px 18px;border-top:1px solid rgba(255,255,255,.08);background:rgba(16,18,16,.96);backdrop-filter:blur(16px)}
.planner-v2 .planner-compose-modal .planner-modal-actions .btn{min-height:36px;padding:0 14px;font-size:10px;font-weight:750}
.planner-compose-action-spacer{flex:1}
.planner-v2 .planner-compose-modal .planner-compose-delete{border-color:rgba(190,91,91,.18);color:#c78585}
.planner-v2 .planner-compose-modal .planner-compose-ai{border-color:rgba(242,193,78,.16);color:var(--planner-gold)}
.planner-v2 [data-modal="copy"] .planner-modal-body{max-width:760px}
.planner-v2 [data-copy-editor]{min-height:320px;padding:16px;border:1px solid rgba(255,255,255,.1);border-radius:11px;background:#090b0a;color:#edf0ee;font:13px/1.65 Inter,system-ui,sans-serif;resize:vertical}

@media(max-width:980px){
  .planner-v2-pulse{grid-template-columns:repeat(3,1fr)}
  .planner-v2-pulse button:nth-child(3){border-right:0}
  .planner-v2-pulse button:nth-child(n+4){border-top:1px solid var(--planner-line)}
  .planner-v2 .planner-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .planner-v2 .filter-field{padding:0;border-right:0}
  .planner-compose-grid{grid-template-columns:1fr}
  .planner-compose-side{padding:14px 0 0;border-top:1px solid rgba(255,255,255,.08);border-left:0}
}
@media(max-width:640px){
  .planner-v2{margin-top:8px}
  .planner-v2-hero{min-height:142px;padding:22px 18px;border-radius:17px 17px 0 0;align-items:flex-start}
  .planner-v2-hero h1{font-size:32px}
  .planner-v2-hero p{max-width:230px;font-size:11px;line-height:1.4}
  .planner-v2-shortcut{display:none}
  .planner-v2-hero .btn-yellow{min-height:36px;padding:0 12px;font-size:9px}
  .planner-v2-pulse{display:flex;overflow-x:auto;border-radius:0 0 17px 17px;scrollbar-width:none}
  .planner-v2-pulse::-webkit-scrollbar{display:none}
  .planner-v2-pulse button{min-width:124px;padding:14px;border-top:0!important;border-right:1px solid var(--planner-line)!important}
  .planner-v2-pulse button:last-child{border-right:0!important}
  .planner-v2-pulse strong{font-size:20px}
  .planner-v2 .planner-controls{top:64px;margin-top:12px;padding:10px}
  .planner-v2 .planner-filters{grid-template-columns:1fr}
  .planner-v2 .planner-controls:not(.filters-open) .planner-filters .filter-field:first-child{display:block}
  .planner-v2 .planner-tabs{width:100%}
  .planner-v2 .planner-tabs .btn-tab{flex:1;padding:0 8px}
  .planner-v2 .planner-card-grid{gap:10px}
  .planner-v2 .planner-card-media img,.planner-v2 .planner-card-placeholder{height:170px}
  .planner-v2-card-actions{display:grid;grid-template-columns:1fr 1fr}
  .planner-v2-card-actions .btn{width:100%}
  .planner-v2 .planner-modal.open{align-items:flex-end}
  .planner-v2 .planner-compose-modal{width:100%;max-height:calc(100vh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:14px;border-radius:16px}
  .planner-v2 .planner-compose-modal>.planner-modal-head{top:-14px;margin:-14px -14px 0;padding:14px}
  .planner-v2 .planner-compose-modal .planner-modal-actions{bottom:0;margin:12px -14px -14px;padding:10px 14px}
  .planner-compose-section{grid-template-columns:1fr}
  .planner-compose-section-title{grid-column:1}
  .planner-v2 .planner-compose-copy textarea{min-height:210px}
  .planner-v2 .planner-modal-actions .btn{width:100%}
  .planner-v2 .planner-modal-actions .planner-compose-action-spacer{display:none}
  .planner-v2 .planner-modal-actions .btn-yellow:last-child{grid-column:1/-1}
}

.planner-v2 .planner-custom-caption-toggle{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:start;
  gap:10px;
  padding:12px;
  border:1px solid rgba(242,193,78,.14);
  border-radius:10px;
  background:rgba(242,193,78,.035);
  cursor:pointer;
}
.planner-fighter-intelligence{display:grid;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:linear-gradient(135deg,#0b0e0c,#0a0c0b)}
.planner-fighter-intelligence-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.planner-fighter-intelligence-head>span{display:flex;align-items:center;gap:7px;color:#939b96;font-size:9px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.planner-fighter-intelligence-head>span i{width:6px;height:6px;border-radius:50%;background:#58bd78;box-shadow:0 0 10px rgba(88,189,120,.6)}
.planner-fighter-intelligence-head small{color:#59615c;font-size:8px;font-weight:650}
.planner-fighter-detections{display:flex;align-items:flex-start;flex-wrap:wrap;gap:7px}
.planner-fighter-detection-empty{padding:5px 0;color:#626a65;font-size:9px;line-height:1.4}
.planner-detected-fighter{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:0 13px;border:1px solid rgba(88,189,120,.3);border-radius:999px;background:rgba(88,189,120,.09);color:#b7e2c3;font-size:11px;font-weight:780}
.planner-detected-fighter i{width:7px;height:7px;border-radius:50%;background:#58bd78;box-shadow:0 0 9px rgba(88,189,120,.45)}
.planner-detected-fighter small{color:#62b97d;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.planner-detected-fighter:has(.planner-detected-fighter-remove){padding-right:6px}
.planner-detected-fighter-profile{appearance:none;border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:inherit;text-align:left;cursor:pointer}
.planner-detected-fighter-profile:hover{color:#e7f6eb;text-decoration:underline;text-underline-offset:3px}
.planner-detected-fighter-remove{display:grid;place-items:center;width:22px;height:22px;margin-left:2px;padding:0;border:1px solid rgba(88,189,120,.18);border-radius:50%;background:rgba(0,0,0,.16);color:#72ad82;font:800 14px/1 Inter,system-ui,sans-serif;cursor:pointer;transition:.15s ease}
.planner-detected-fighter-remove:hover{border-color:rgba(255,122,122,.3);background:rgba(255,122,122,.08);color:#ef9b9b}
.planner-detected-group{display:flex;flex-direction:column;gap:6px;padding:7px 8px;border:1px solid rgba(242,193,78,.25);border-radius:10px;background:rgba(242,193,78,.055)}
.planner-detected-group>span{display:flex;align-items:center;gap:6px;color:#d9bb72;font-size:9px;font-weight:750}
.planner-detected-group>span i{width:5px;height:5px;border-radius:50%;background:#f2c14e}
.planner-detected-group>span small{color:#b8923e;font-size:7px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.planner-detected-group>div{display:flex;flex-wrap:wrap;gap:5px}
.planner-detected-group button{padding:4px 7px;border:1px solid rgba(242,193,78,.16);border-radius:999px;background:#15130d;color:#9c854c;font-size:8px;font-weight:700;cursor:pointer}
.planner-detected-group button:hover,.planner-detected-group button.selected{border-color:rgba(88,189,120,.32);background:rgba(88,189,120,.08);color:#86c99a}
.planner-fighter-profiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:9px;padding-top:10px;border-top:1px solid rgba(255,255,255,.06)}
.planner-fighter-profiles[hidden]{display:none}
.planner-fighter-profile{display:grid;gap:10px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#101310}
.planner-fighter-profile.detected{border-color:rgba(88,189,120,.18);background:linear-gradient(145deg,rgba(88,189,120,.05),#101310 55%)}
.planner-fighter-profile-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.planner-fighter-profile-head>div{display:grid;gap:2px}
.planner-fighter-profile-head small{color:#5f6862;font-size:7px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}
.planner-fighter-profile.detected .planner-fighter-profile-head small{color:#5da977}
.planner-fighter-profile-head strong{color:#e1e5e2;font-size:13px;letter-spacing:-.015em}
.planner-fighter-profile-head button{padding:0;border:0;background:transparent;color:var(--planner-gold);font-size:8px;font-weight:800;cursor:pointer}
.planner-fighter-stat-grid{display:grid;grid-template-columns:repeat(4,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:8px;background:#0a0c0b}
.planner-fighter-stat-grid>div{display:grid;gap:5px;min-height:64px;padding:11px 12px;border-right:1px solid rgba(255,255,255,.06)}
.planner-fighter-stat-grid>div:last-child{border-right:0}
.planner-fighter-stat-grid small{color:#646d67;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.planner-fighter-stat-grid strong{color:#d8ddd9;font-size:17px;line-height:1;font-variant-numeric:tabular-nums}
.planner-fighter-profile-bits{display:flex;flex-wrap:wrap;gap:5px}
.planner-fighter-profile-bits span{padding:4px 6px;border:1px solid rgba(255,255,255,.07);border-radius:6px;background:#0b0d0c;color:#777f7a;font-size:8px;font-weight:650}
.planner-fighter-record-line{display:flex;gap:12px;color:#8d958f;font-size:8px;font-weight:700}
.planner-fighter-current-fight{display:grid;gap:3px;padding:10px;border:1px solid rgba(242,193,78,.12);border-radius:8px;background:rgba(242,193,78,.035)}
.planner-fighter-current-fight small{color:#9c7d35;font-size:7px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.planner-fighter-current-fight strong{color:#ddd1af;font-size:11px}
.planner-fighter-current-fight span{color:#756c56;font-size:8px;line-height:1.4}
.planner-fighter-data-source{display:flex;align-items:center;gap:6px;color:#5e7665;font-size:7px;font-weight:750;letter-spacing:.05em;text-transform:uppercase}
.planner-fighter-data-source i{width:5px;height:5px;border-radius:50%;background:#58bd78}
.planner-fighter-profile p{margin:0;color:#68706b;font-size:8px;line-height:1.5}
.planner-v2 .planner-custom-caption-toggle input{width:16px;height:16px;margin:1px 0 0;accent-color:var(--planner-gold)}
.planner-v2 .planner-custom-caption-toggle>span{display:grid;gap:3px}
.planner-v2 .planner-custom-caption-toggle strong{color:#d9ddd9;font-size:10px}
.planner-v2 .planner-custom-caption-toggle small{color:#6f7772;font-size:9px;font-weight:500;line-height:1.4}
.planner-custom-captions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.planner-custom-captions[hidden]{display:none}
.planner-custom-caption-field{padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#0c0e0d}
.planner-custom-caption-field>span{display:flex;align-items:center;justify-content:space-between}
.planner-custom-caption-field>span strong{color:#cbd0cc;font-size:10px}
.planner-custom-caption-field>span button{padding:0;border:0;background:transparent;color:var(--planner-gold);font-size:8px;font-weight:800;cursor:pointer}
.planner-v2 .planner-custom-caption-field textarea{min-height:116px;line-height:1.5}
.planner-custom-caption-field>small{color:#5f6762;font-size:8px}
.planner-custom-caption-field>small strong{color:#929a95;font-variant-numeric:tabular-nums}
.planner-custom-caption-empty{grid-column:1/-1;padding:18px;border:1px dashed rgba(255,255,255,.1);border-radius:10px;color:#68706b;font-size:10px;text-align:center}
.planner-publishing-kit{display:grid;gap:12px;padding:14px;border:1px solid rgba(242,193,78,.18);border-radius:13px;background:linear-gradient(145deg,rgba(242,193,78,.05),#0b0d0c 38%);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.planner-publishing-kit-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.planner-publishing-kit-head>div{display:grid;gap:3px}
.planner-publishing-kit-head span{color:var(--planner-gold);font-size:9px;font-weight:850;letter-spacing:.11em;text-transform:uppercase}
.planner-publishing-kit-head strong{color:#e2e6e3;font-size:13px;letter-spacing:-.01em}
.planner-publishing-kit-head small{display:flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid rgba(88,189,120,.16);border-radius:999px;background:rgba(88,189,120,.035);color:#69a979;font-size:8px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.planner-publishing-kit-head small:before{content:"";width:5px;height:5px;border-radius:50%;background:#58bd78;box-shadow:0 0 8px rgba(88,189,120,.65)}
.planner-publishing-settings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.planner-publishing-settings .wide{grid-column:1/-1}
.planner-base-url-field{display:grid;gap:6px}
.planner-base-url-field>span{color:#858d88;font-size:9px;font-weight:750;letter-spacing:.03em}
.planner-base-url-presets{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.planner-base-url-presets button{display:flex;align-items:center;gap:7px;min-width:0;min-height:31px;padding:0 9px;border:1px solid rgba(255,255,255,.08);border-radius:7px;background:#090b0a;color:#727a75;cursor:pointer;transition:.15s ease}
.planner-base-url-presets button strong{font-size:8px;font-weight:850;letter-spacing:.06em}
.planner-base-url-presets button small{overflow:hidden;font-size:8px;text-overflow:ellipsis;white-space:nowrap}
.planner-base-url-presets button:hover{border-color:rgba(242,193,78,.2);color:#aeb5b0}
.planner-base-url-presets button.active{border-color:rgba(242,193,78,.32);background:rgba(242,193,78,.075);color:var(--planner-gold);box-shadow:inset 0 0 0 1px rgba(242,193,78,.035)}
.planner-v2 .planner-publishing-settings textarea{min-height:62px;resize:vertical}
.planner-publishing-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.planner-publishing-empty{grid-column:1/-1;padding:18px;border:1px dashed rgba(242,193,78,.15);border-radius:9px;color:#777f7a;font-size:10px;line-height:1.45;text-align:center}
.planner-publishing-card{display:grid;gap:8px;padding:11px;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#090b0a}
.planner-publishing-card>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}
.planner-publishing-card>header>div{display:grid;gap:2px}
.planner-publishing-card>header small,.planner-kit-deliverable small{color:#68716b;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.planner-publishing-card>header strong{color:#e0e4e1;font-size:12px}
.planner-publishing-card>header code{padding:5px 7px;border:1px solid rgba(242,193,78,.16);border-radius:6px;background:rgba(242,193,78,.05);color:#b89b55;font:750 9px/1 "IBM Plex Mono","SFMono-Regular",monospace}
.planner-kit-identity{display:grid;grid-template-columns:.65fr 1fr 1.35fr;overflow:hidden;border:1px solid rgba(255,255,255,.06);border-radius:8px;background:#070908}
.planner-kit-identity span{display:grid;min-width:0;gap:4px;padding:8px;border-right:1px solid rgba(255,255,255,.055)}
.planner-kit-identity span:last-child{border-right:0}
.planner-kit-identity small{color:#59615c;font-size:7px;font-weight:850;letter-spacing:.07em;text-transform:uppercase}
.planner-kit-identity strong{overflow:hidden;color:#9da59f;font:700 8px/1.3 "IBM Plex Mono","SFMono-Regular",monospace;text-overflow:ellipsis;white-space:nowrap}
.planner-kit-deliverable{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px;border:1px solid rgba(255,255,255,.055);border-radius:8px;background:#0d100e}
.planner-kit-deliverable>div{display:grid;min-width:0;gap:3px}
.planner-kit-deliverable strong{overflow:hidden;color:#b3bab5;font-size:10px;font-weight:600;line-height:1.4;text-overflow:ellipsis}
.planner-kit-deliverable>span{display:flex;flex:none;gap:5px}
.planner-kit-deliverable button,.planner-kit-links button,.planner-kit-copy-all{min-height:29px;padding:0 9px;border:1px solid rgba(242,193,78,.18);border-radius:7px;background:rgba(242,193,78,.045);color:var(--planner-gold);font:780 8px/1 Inter,system-ui,sans-serif;cursor:pointer}
.planner-kit-deliverable button:hover,.planner-kit-links button:hover,.planner-kit-copy-all:hover{border-color:rgba(242,193,78,.36);background:rgba(242,193,78,.09)}
.planner-kit-links{display:grid;gap:6px;padding:2px 0}
.planner-kit-links>span{color:#68716b;font-size:8px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.planner-kit-links>div{display:flex;flex-wrap:wrap;gap:5px}
.planner-kit-copy-all{width:100%;min-height:34px;border-color:rgba(242,193,78,.28);background:rgba(242,193,78,.08);font-size:9px;text-transform:uppercase;letter-spacing:.04em}
.planner-compose-assets{display:grid;gap:9px;padding:12px;border:1px solid rgba(255,255,255,.08);border-radius:11px;background:#0b0d0c}
.planner-compose-assets[hidden]{display:none}
.planner-compose-assets-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#858d88;font-size:9px;font-weight:750}
.planner-compose-asset-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px}
.planner-compose-asset{overflow:hidden;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#111411}
.planner-compose-asset img,.planner-compose-file{width:100%;height:94px;object-fit:cover}
.planner-compose-file{display:grid;place-items:center;padding:10px;color:#808883;font-size:9px;text-align:center}
.planner-compose-asset>div:last-child{display:flex;justify-content:space-between;padding:7px}
.planner-compose-asset button{padding:0;border:0;background:transparent;color:#939b96;font-size:8px;font-weight:750;cursor:pointer}
.planner-compose-asset button.danger{color:#b97878}
.planner-compose-asset.is-missing{border-color:rgba(190,91,91,.28);background:rgba(110,42,42,.08)}
.planner-compose-asset.is-missing .planner-compose-file{color:#c88989;line-height:1.45}
.planner-compose-asset.is-missing .planner-compose-file small{display:block;max-width:100%;overflow:hidden;color:#8d7474;text-overflow:ellipsis;white-space:nowrap}
.planner-compose-asset.is-missing>div:last-child span{color:#a47777;font-size:8px;font-weight:700}
.planner-compose-assets-empty{padding:15px;color:#656d68;font-size:9px;text-align:center}
.planner-v2 .kanban-board{align-items:stretch;gap:10px;padding:2px 2px 12px}
.planner-v2 .kanban-column{min-width:285px;border-color:rgba(255,255,255,.08);border-radius:14px;background:#0f1210;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.planner-v2 .kanban-column header{position:sticky;top:0;z-index:1;padding:11px 13px;border-top:2px solid transparent;border-bottom-color:rgba(255,255,255,.07);background:#111411;color:#aab1ac;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.planner-v2 .kanban-cards{min-height:180px;padding:10px;gap:9px}
.planner-v2 .kanban-card{position:relative;padding:11px;border-color:rgba(255,255,255,.08);border-radius:11px;background:#0a0c0b;cursor:pointer;transition:opacity .15s ease,transform .15s ease,border-color .15s ease,box-shadow .15s ease}
.planner-v2 .kanban-card:hover{border-color:rgba(242,193,78,.22);transform:translateY(-1px);box-shadow:0 10px 24px rgba(0,0,0,.3)}
.planner-v2 .kanban-card:focus-visible{outline:2px solid var(--planner-gold);outline-offset:2px}
.planner-v2 .kanban-card.dragging{opacity:.35;transform:scale(.98)}
.planner-v2 .kanban-column.drag-over{border-color:rgba(242,193,78,.4);background:rgba(242,193,78,.035);transform:translateY(-2px)}
.planner-v2 .kanban-column.drag-over .kanban-cards:after{content:"Drop to update status";display:grid;place-items:center;min-height:52px;border:1px dashed rgba(242,193,78,.35);border-radius:9px;color:var(--planner-gold);font-size:9px;font-weight:750}
.planner-v2 .kanban-drag-handle{position:absolute;top:9px;right:26px;color:#555d58;font-size:13px;letter-spacing:-3px;cursor:grab}
.planner-v2 .kanban-card:active .kanban-drag-handle{cursor:grabbing}
.planner-v2 .kanban-title{padding-right:20px;color:#e0e4e1;font-size:12px}
.planner-v2 .kanban-meta,.planner-v2 .kanban-footer{font-size:9px}
.planner-v2 .kanban-copy{color:#848c87;font-size:10px;line-height:1.45}
.planner-v2 .calendar-event,.planner-v2 .calendar-mobile-event{cursor:pointer}

@media(max-width:640px){
  .planner-custom-captions{grid-template-columns:1fr}
  .planner-publishing-settings,.planner-publishing-preview{grid-template-columns:1fr}
  .planner-publishing-settings .wide{grid-column:1}
  .planner-publishing-kit-head small{display:none}
  .planner-kit-identity{grid-template-columns:1fr 1fr}.planner-kit-identity span:nth-child(2){border-right:0}.planner-kit-identity span:last-child{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.055)}
  .planner-kit-deliverable{align-items:flex-start;flex-wrap:wrap}
  .planner-kit-deliverable>span{width:100%;justify-content:flex-end}
  .planner-v2 .kanban-column{min-width:82vw}
  .planner-v2 .planner-pill-row{width:auto;justify-content:flex-start}
  .planner-fighter-profiles{grid-template-columns:1fr}
  .planner-fighter-stat-grid strong{font-size:15px}
}

/* Keep Planner navigation identical across desktop and mobile. */
.planner-tabs,
.planner-v2 .planner-tabs{
  position:relative;
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  width:100%;
  gap:4px;
  margin:12px 0;
  padding:6px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:14px;
  background:#111;
  box-shadow:none;
  backdrop-filter:none;
}
.planner-tabs .btn,
.planner-v2 .planner-tabs .btn{
  width:100%;
  min-width:0;
  min-height:52px;
  flex-direction:column;
  gap:3px;
  padding:5px 2px;
  border-color:transparent;
  border-radius:10px;
  background:transparent;
  color:#aaa;
  font-size:10px;
  font-weight:700;
}
.planner-tabs .btn-tab.active,
.planner-v2 .planner-tabs .btn-tab.active{
  border-color:transparent;
  background:rgba(242,193,78,.14);
  color:#f4ce70;
  box-shadow:none;
}
.planner-tabs .planner-mobile-add,
.planner-v2 .planner-tabs .planner-mobile-add{
  display:inline-flex;
  background:var(--planner-gold,var(--accent));
  color:#111;
}
.planner-tab-icon{
  display:block;
  min-height:21px;
  font-size:20px;
  font-weight:700;
  line-height:21px;
}
.planner-tab-label-desktop{display:none}
.planner-tab-label-mobile{display:inline}
.planner-tab-date{
  font-size:12px;
  border:1px solid currentColor;
  border-radius:4px;
  padding:0 3px;
}
.planner-tab-live{
  color:#ff6b6b;
  font-size:15px;
}

/* Unified Metrics 2.0 canvas across the portal. */
:root{
  --bg:#080a0a;
  --bg-soft:#0c0f0f;
  --card:#101313;
  --ink:#f4f6f3;
  --muted:#7f8985;
  --accent:#f2c14e;
  --ring:rgba(255,255,255,.09);
  --radius:16px;
}
html,
body{
  min-height:100%;
  background-color:var(--bg);
}
body{
  background-image:
    radial-gradient(circle at 16% -8%,rgba(242,193,78,.095),transparent 34rem),
    linear-gradient(rgba(242,193,78,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(242,193,78,.018) 1px,transparent 1px);
  background-size:auto,42px 42px,42px 42px;
  background-attachment:fixed;
  color:var(--ink);
}
.mv2:before{display:none}
.portal-header{
  border-bottom-color:rgba(255,255,255,.08);
  background:rgba(6,8,8,.78);
  box-shadow:0 10px 34px rgba(0,0,0,.2);
  backdrop-filter:blur(18px);
}
.main{
  width:min(100%,1280px);
}
.card{
  border-color:var(--ring);
  border-radius:var(--radius);
  background:linear-gradient(145deg,rgba(18,22,21,.97),rgba(11,14,14,.98));
  box-shadow:0 14px 38px rgba(0,0,0,.18);
}
.section>h2,
.section>div>h2{
  color:var(--ink);
  letter-spacing:-.01em;
}
input,
select,
textarea{
  accent-color:var(--accent);
}
@media(max-width:760px){
  body{
    background-image:
      radial-gradient(circle at 20% -4%,rgba(242,193,78,.085),transparent 25rem),
      linear-gradient(rgba(242,193,78,.015) 1px,transparent 1px),
      linear-gradient(90deg,rgba(242,193,78,.015) 1px,transparent 1px);
  }
}

/* Match Day 2.0 · mobile-first live control */
#matchday{display:grid;gap:10px}
#matchday .matchday-head{align-items:center;margin-bottom:0}
#matchday .matchday-head h2{margin:0 0 3px;font-size:clamp(24px,7vw,34px);letter-spacing:-.045em}
#matchday .matchday-head p{max-width:560px;color:#89918d}
.matchday-event-presenter{
  min-height:44px;
  padding:7px 10px;
  border-color:rgba(255,255,255,.09);
  background:rgba(12,15,15,.82);
}
.matchday-event-presenter img{height:25px;max-width:105px}
.matchday-app{padding:11px;border-color:rgba(255,255,255,.09);background:linear-gradient(145deg,rgba(16,19,19,.98),rgba(9,11,11,.99))}
.matchday-livebar{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:9px 12px;
  padding:11px;
  border:1px solid rgba(242,193,78,.18);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(242,193,78,.07),rgba(255,255,255,.012));
}
.matchday-live-bout{display:grid;grid-template-columns:auto 1fr;align-items:baseline;gap:2px 9px;min-width:0}
.matchday-live-bout>span{color:#f2c14e;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.matchday-live-bout>strong{grid-column:1/-1;font-size:clamp(16px,4.5vw,22px);line-height:1.15;letter-spacing:-.035em}
.matchday-live-bout>small{grid-column:1/-1;color:#89918d;font-size:10px}
.matchday-live-track{grid-column:1/-1;height:3px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.07)}
.matchday-live-track i{display:block;width:0;height:100%;border-radius:inherit;background:#f2c14e;box-shadow:0 0 12px rgba(242,193,78,.42);transition:width .25s ease}
.matchday-toolbar{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:9px;
  padding:9px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:12px;
  background:rgba(0,0,0,.14);
}
.matchday-search{grid-column:1/-1;min-width:0;width:100%;padding:11px 12px;border-color:rgba(255,255,255,.1);background:#0a0c0c;font-size:16px}
.matchday-event-wrap{grid-column:1/-1;justify-content:space-between;min-width:0;border-color:rgba(255,255,255,.1);background:#0a0c0c}
.matchday-event-wrap select{min-width:105px;border-color:rgba(255,255,255,.1);background:#111514}
.matchday-toolbar>.btn{min-height:40px}
.matchday-layout{grid-template-columns:minmax(0,1fr);gap:8px;margin-top:9px}
.matchday-panel{min-width:0;padding:9px;border-color:rgba(255,255,255,.085);background:rgba(8,10,10,.54)}
.matchday-panel h3{display:flex;align-items:center;gap:7px;margin:0 0 8px;color:#d7dbd8;font-size:10px;font-weight:900}
.matchday-panel h3 b{display:grid;place-items:center;width:21px;height:21px;border:1px solid rgba(242,193,78,.25);border-radius:7px;color:#f2c14e;font-size:9px}
.matchday-list{max-height:none;padding:0;scrollbar-width:none}
.matchday-list::-webkit-scrollbar{display:none}
.matchday-panel:first-child .matchday-list{flex-direction:row;overflow-x:auto;scroll-snap-type:x proximity;margin:0 -1px;padding:0 1px 3px}
.matchday-panel:first-child .matchday-choice{flex:0 0 min(78vw,310px);scroll-snap-align:start}
.matchday-panel:nth-child(2) .matchday-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.matchday-panel:nth-child(3) .matchday-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.matchday-choice{min-width:0;padding:10px;border-color:rgba(255,255,255,.09);border-radius:10px;background:#111514}
.matchday-choice.active{border-color:rgba(242,193,78,.58);background:linear-gradient(145deg,rgba(242,193,78,.12),rgba(242,193,78,.045));box-shadow:inset 0 0 0 1px rgba(242,193,78,.06)}
.matchday-choice.closed{opacity:.55;background:#0b0d0d}
.matchday-choice.closed.active{opacity:1}
.matchday-choice strong{display:flex;align-items:center;justify-content:space-between;gap:7px;font-size:13px}
.matchday-choice span{font-size:12px;line-height:1.25}
.matchday-choice-sponsor{margin-top:2px;padding-top:6px}
.matchday-choice-sponsor em,.matchday-feed-sponsor em{display:inline-flex;align-items:baseline;gap:4px}
.matchday-choice-sponsor em b,.matchday-feed-sponsor em b{color:#e5e9e6;font-size:12px;font-weight:900;letter-spacing:0;text-transform:none}
.matchday-closed-chip{padding:2px 5px;border:1px solid rgba(111,231,216,.22);border-radius:99px;color:#6fe7d8;font-size:8px;font-style:normal;letter-spacing:.06em;text-transform:uppercase}
.matchday-panel:nth-child(3) .matchday-choice{align-items:center;justify-content:center;min-height:48px;padding:8px 4px;text-align:center}
.matchday-panel:nth-child(3) .matchday-choice strong{font-size:11px;text-transform:uppercase}
.matchday-fighter-stats{
  display:grid;
  gap:8px;
  margin-top:8px;
  padding:10px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(10,13,12,.92),rgba(7,9,9,.98));
}
.matchday-fighter-stats-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.matchday-fighter-stats-head span{color:#949d97;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.matchday-fighter-stats-head small{color:#5f6862;font-size:8px;font-weight:750}
.matchday-fighter-stats-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:7px}
.matchday-fighter-profile{
  --fighter-accent:#6fe7d8;
  display:grid;
  gap:8px;
  min-width:0;
  padding:11px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--fighter-accent) 17%,rgba(255,255,255,.07));
  border-radius:11px;
  background:linear-gradient(145deg,color-mix(in srgb,var(--fighter-accent) 5%,#101312),#0d100f 58%);
}
.matchday-fighter-profile.red{--fighter-accent:#ff7b72}
.matchday-fighter-profile header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.matchday-fighter-profile header>div{display:grid;gap:2px;min-width:0}
.matchday-fighter-profile header small{color:var(--fighter-accent);font-size:7px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.matchday-fighter-profile header strong{overflow:hidden;color:#e6ebe7;font-size:14px;line-height:1.15;letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap}
.matchday-fighter-profile header span{color:#7e8781;font-size:9px}
.matchday-fighter-profile header>b{padding:4px 6px;border:1px solid color-mix(in srgb,var(--fighter-accent) 18%,transparent);border-radius:6px;color:#aeb7b1;font-size:8px;font-weight:800}
.matchday-fighter-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:hidden;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#080a09}
.matchday-fighter-stat-grid>div{display:grid;align-content:center;gap:5px;min-height:59px;padding:9px 10px;border-right:1px solid rgba(255,255,255,.06);border-bottom:1px solid rgba(255,255,255,.06)}
.matchday-fighter-stat-grid>div:nth-child(2n){border-right:0}
.matchday-fighter-stat-grid>div:nth-last-child(-n+2){border-bottom:0}
.matchday-fighter-stat-grid small{color:#626b65;font-size:7px;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.matchday-fighter-stat-grid strong{min-width:0;overflow:hidden;color:#dce2de;font-size:18px;line-height:1.05;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap}
.matchday-fighter-stat-grid>div:last-child strong{font-size:12px;line-height:1.15;white-space:normal}
.matchday-fighter-stat-grid strong i{margin-left:3px;color:#69716c;font-size:8px;font-style:normal;font-weight:800;text-transform:uppercase}
.matchday-fighter-profile-bits{display:flex;flex-wrap:wrap;gap:5px}
.matchday-fighter-profile-bits span{display:inline-flex;align-items:baseline;gap:4px;padding:4px 6px;border:1px solid rgba(255,255,255,.07);border-radius:6px;background:#0a0c0b;color:#919a94;font-size:8px;font-weight:750}
.matchday-fighter-profile-bits small{color:#59615c;font-size:6px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}
.matchday-fighter-profile p{display:grid;gap:3px;margin:0;padding-top:7px;border-top:1px solid rgba(255,255,255,.055);color:#89918c;font-size:9px;line-height:1.45}
.matchday-fighter-profile p small{color:#5d6660;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.matchday-fighter-profile footer{display:flex;align-items:center;gap:5px;color:#5f7968;font-size:7px;font-weight:800;letter-spacing:.05em;text-transform:uppercase}
.matchday-fighter-profile footer i{width:5px;height:5px;border-radius:50%;background:#58bd78;box-shadow:0 0 7px rgba(88,189,120,.4)}
.matchday-fighter-awaiting{padding:12px;border:1px dashed rgba(255,255,255,.1);border-radius:8px;color:#69716c;font-size:10px}
.matchday-bout-detail-strip{display:flex;flex-wrap:wrap;gap:5px;padding-top:1px}
.matchday-bout-detail-strip span{padding:4px 7px;border:1px solid rgba(242,193,78,.1);border-radius:6px;background:rgba(242,193,78,.025);color:#83775a;font-size:8px;font-weight:700}
.matchday-agent-strip{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
  margin-top:8px;
  padding:11px;
  border:1px solid rgba(111,231,216,.16);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(111,231,216,.06),rgba(242,193,78,.035));
}
.matchday-agent-strip[hidden],.matchday-caption-agent[hidden]{display:none}
.matchday-agent-strip>div{display:grid;gap:2px}
.matchday-agent-strip span{color:#6fe7d8;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.matchday-agent-strip strong{font-size:14px;letter-spacing:-.015em}
.matchday-agent-strip small{color:#89918d;font-size:10px}
.matchday-agent-strip .btn{width:100%;min-height:40px;border-color:rgba(111,231,216,.2);color:#b9f3eb}
.matchday-status{margin-top:9px;padding:0 2px;color:#c9cfcb;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matchday-copy-status{min-height:15px;margin-top:2px;padding:0 2px;color:#f2c14e;font-size:11px}
.matchday-action-dock{
  position:sticky;
  z-index:35;
  bottom:72px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin:6px -4px 8px;
  padding:8px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;
  background:rgba(7,9,9,.94);
  box-shadow:0 -12px 30px rgba(0,0,0,.34);
  backdrop-filter:blur(16px);
}
.matchday-action-dock .btn{min-height:42px}
.matchday-action-dock .matchday-close-bout{grid-column:1/-1;grid-row:1;font-weight:900}
.matchday-action-dock [data-action="reopen-bout"]{border-color:rgba(111,231,216,.22);color:#6fe7d8}
.matchday-caption-agent{
  margin:8px 0;
  padding:12px;
  border:1px solid rgba(111,231,216,.16);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(12,18,17,.94),rgba(8,10,10,.98));
}
.matchday-caption-agent .matchday-output-head>div:first-child{display:grid;gap:3px}
.matchday-caption-agent .matchday-output-head h4{color:#edf2ef}
.matchday-caption-agent .matchday-output-head span{color:#89918d;font-size:10px}
.matchday-caption-list{display:grid;gap:7px;margin-top:10px}
.matchday-caption-list>.matchday-agent-loading,.matchday-caption-list>.matchday-empty{grid-column:1/-1}
.matchday-agent-column{min-width:0;padding:9px;border:1px solid rgba(255,255,255,.075);border-radius:11px;background:rgba(0,0,0,.14)}
.matchday-agent-column-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:2px 2px 9px;border-bottom:1px solid rgba(255,255,255,.065)}
.matchday-agent-column-head>div{min-width:0;display:grid;gap:3px}
.matchday-agent-column-head h5{margin:0;color:#eef2ef;font-size:12px;letter-spacing:-.01em}
.matchday-agent-column-head span{color:#737d77;font-size:8px;line-height:1.3}
.matchday-agent-column-head>b{display:grid;place-items:center;flex:0 0 23px;width:23px;height:23px;border:1px solid rgba(111,231,216,.17);border-radius:7px;background:rgba(111,231,216,.05);color:#6fe7d8;font-size:9px}
.matchday-agent-column-list{display:grid;gap:7px;margin-top:8px}
.matchday-agent-caption{padding:10px;border:1px solid rgba(255,255,255,.085);border-radius:10px;background:rgba(0,0,0,.2)}
.matchday-agent-caption header{display:flex;align-items:center;justify-content:space-between;gap:8px}
.matchday-agent-caption header>span{display:inline-flex;align-items:center;gap:7px;color:#9ba39f;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.matchday-agent-caption header>span b{display:grid;place-items:center;width:20px;height:20px;border:1px solid rgba(111,231,216,.18);border-radius:6px;color:#6fe7d8;font-size:9px}
.matchday-agent-caption header>div{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.matchday-agent-caption p{margin:9px 0 0;color:#e4e9e6;font-size:13px;line-height:1.45;white-space:pre-wrap}
.matchday-agent-loading{display:flex;align-items:center;gap:9px;padding:15px;border:1px dashed rgba(111,231,216,.2);border-radius:10px;color:#aeb7b2;font-size:12px}
.matchday-agent-loading i{width:13px;height:13px;border:2px solid rgba(111,231,216,.2);border-top-color:#6fe7d8;border-radius:50%;animation:matchday-agent-spin .8s linear infinite}
@keyframes matchday-agent-spin{to{transform:rotate(360deg)}}
.matchday-indicators-card,.matchday-output-card,.matchday-feed-card{border-color:rgba(255,255,255,.085);background:rgba(10,12,12,.76)}
.matchday-indicators-card textarea,.matchday-output-card textarea{border-color:rgba(255,255,255,.09);background:#080a0a;font-size:16px}
.matchday-feed-card summary{cursor:pointer;list-style:none}
.matchday-feed-card summary::-webkit-details-marker{display:none}
.matchday-feed-card summary:after{content:"+";margin-left:auto;color:#f2c14e;font-size:18px}
.matchday-feed-card[open] summary:after{content:"−"}
.matchday-feed-card[open] .matchday-feed-list{margin-top:10px}
.matchday-output-grid{grid-template-columns:minmax(0,1fr);gap:8px}
.matchday-shortcuts{display:none}

@media(min-width:761px){
  #matchday .matchday-head h2{font-size:32px}
  .matchday-app{padding:16px}
  .matchday-livebar{grid-template-columns:auto minmax(180px,1fr) auto;padding:11px 13px}
  .matchday-live-bout{min-width:190px}
  .matchday-live-track{grid-column:auto}
  .matchday-toolbar{display:flex;flex-wrap:wrap;padding:10px}
  .matchday-search{grid-column:auto;flex:1 1 260px;width:auto;font-size:14px}
  .matchday-event-wrap{grid-column:auto}
  .matchday-layout{grid-template-columns:1.35fr 1fr .8fr;gap:9px}
  .matchday-panel:first-child .matchday-list{display:flex;flex-direction:column;max-height:390px;overflow:auto;scroll-snap-type:none}
  .matchday-panel:first-child .matchday-choice{flex:0 0 auto}
  .matchday-panel:nth-child(2) .matchday-list{display:flex;max-height:390px}
  .matchday-panel:nth-child(3) .matchday-list{display:flex;max-height:390px}
  .matchday-panel:nth-child(3) .matchday-choice{align-items:flex-start;min-height:0;padding:10px 12px;text-align:left}
  .matchday-panel:nth-child(3) .matchday-choice strong{font-size:13px;text-transform:none}
  .matchday-fighter-stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .matchday-fighter-stat-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .matchday-fighter-stat-grid>div{border-bottom:0}
  .matchday-fighter-stat-grid>div:nth-child(2n){border-right:1px solid rgba(255,255,255,.06)}
  .matchday-fighter-stat-grid>div:last-child{border-right:0}
  .matchday-agent-strip{grid-template-columns:minmax(0,1fr) auto;align-items:center;padding:12px 13px}
  .matchday-agent-strip .btn{width:auto}
  .matchday-action-dock{position:static;display:flex;justify-content:flex-end;margin:8px 0;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none}
  .matchday-action-dock .matchday-close-bout{grid-column:auto;grid-row:auto;order:3}
  .matchday-action-dock [data-action="reopen-bout"]{order:2}
  .matchday-output-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .matchday-caption-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .matchday-shortcuts{display:block}
}
.planner-fighter-inline,.planner-fighter-profile-link{appearance:none;border:0;background:none;color:inherit;font:inherit;padding:0;cursor:pointer;text-align:left}.planner-fighter-inline:hover,.planner-fighter-profile-link:hover{color:#f2c94c;text-decoration:underline;text-underline-offset:3px}.planner-fighter-profile-link{display:block;color:#f4f0e5;font-weight:850;font-size:15px;line-height:1.2;margin-top:3px}.planner-fighter-separator{color:var(--muted)}button.planner-chip{font:inherit;cursor:pointer}button.planner-chip:hover{border-color:#f2c94c;color:#f2c94c}
.matchday-fighter-open{cursor:pointer}.matchday-fighter-open:hover{color:#f2c94c;text-decoration:underline;text-underline-offset:3px}.matchday-fighter-profile-open{appearance:none;border:0;background:none;color:inherit;font:inherit;font-weight:850;padding:0;cursor:pointer;text-align:left}.matchday-fighter-profile-open:hover{color:#f2c94c}
.matchday-fighter-profile header>.matchday-fighter-identity{display:flex;align-items:center;gap:8px}.matchday-fighter-identity>div{display:grid;gap:2px;min-width:0}.matchday-fighter-photo{width:38px;height:46px;border-radius:7px;overflow:hidden;background:#17130c;flex:none}.matchday-fighter-photo img{width:100%;height:100%;object-fit:cover}
.planner-fighter-profile-head>.planner-fighter-profile-identity{display:flex;align-items:center;gap:8px}.planner-fighter-profile-identity>div{display:grid;gap:2px}.planner-fighter-profile-photo{width:38px;height:46px;border-radius:7px;overflow:hidden;background:#17130c;flex:none}.planner-fighter-profile-photo img{width:100%;height:100%;object-fit:cover}
.planner-fighter-profile-head button.planner-fighter-profile-link{color:#f4f0e5;font-size:15px;line-height:1.2}.planner-fighter-profile-head button.planner-fighter-profile-link:hover{color:#f2c94c}

/* --- Raju 20 raffle --- */
.raffle-page{min-height:100dvh;background:radial-gradient(circle at 50% 0,rgba(255,213,74,.11),transparent 38%),#080909;color:var(--ink)}
.raffle-shell{min-height:100dvh;display:grid;place-items:center;padding:32px 16px}
.raffle-card{width:min(520px,100%);padding:30px 26px 28px;border:1px solid rgba(255,213,74,.24);border-radius:24px;background:linear-gradient(155deg,rgba(27,27,25,.98),rgba(13,14,14,.98));box-shadow:0 24px 80px rgba(0,0,0,.46);text-align:center}
.raffle-logo-wrap{width:min(220px,58vw);aspect-ratio:1;margin:0 auto 12px;border-radius:22px;display:grid;place-items:center;background:#000;overflow:hidden}
.raffle-logo{width:100%;height:100%;object-fit:contain}
.raffle-eyebrow{color:#ffd54a;font-size:11px;font-weight:800;letter-spacing:.16em;text-transform:uppercase}
.raffle-card h1{max-width:440px;margin:12px auto 12px;color:#fff;font-size:clamp(24px,5vw,34px);line-height:1.15;letter-spacing:-.035em}
.raffle-lead{margin:0 auto;color:#e4e4e4;font-size:16px;line-height:1.55}
.raffle-privacy{margin:8px auto 24px;color:#a9adae;font-size:13px;line-height:1.5}
.raffle-form{display:grid;gap:14px;text-align:left}
.raffle-field{display:grid;gap:7px}
.raffle-field label{color:#f4f4f4;font-size:13px;font-weight:750}
.raffle-field label span{color:#ffd54a}
.raffle-field input{width:100%;min-height:48px;border:1px solid #3a3a38;border-radius:11px;background:#0b0c0c;color:#fff;padding:11px 13px;font:inherit;font-size:16px;outline:none}
.raffle-field input:focus{border-color:#ffd54a;box-shadow:0 0 0 3px rgba(255,213,74,.16)}
.raffle-submit{width:100%;min-height:50px;margin-top:2px;font-size:15px;font-weight:850}
.raffle-submit:disabled{opacity:.55;cursor:wait}
.raffle-status{padding:11px 12px;border-radius:10px;font-size:13px;line-height:1.4}
.raffle-status.success{border:1px solid rgba(104,226,148,.28);background:rgba(65,190,111,.1);color:#a8f2bf}
.raffle-status.notice{border:1px solid rgba(255,213,74,.25);background:rgba(255,213,74,.08);color:#ffe89b}
.raffle-status.error{border:1px solid rgba(255,104,104,.32);background:rgba(255,70,70,.09);color:#ffb1b1}
.raffle-error{color:#ffaaaa;font-size:12px}
.raffle-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.raffle-admin-summary{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;color:var(--muted);font-size:12px}
.raffle-admin-summary span{padding:8px 10px;border:1px solid rgba(255,255,255,.08);border-radius:9px;background:#101010}
.raffle-admin-summary strong{color:#fff;font-variant-numeric:tabular-nums}

.raffle-modal-backdrop{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.7);opacity:0;pointer-events:none;transition:opacity .18s ease}
.raffle-modal-backdrop.open{opacity:1;pointer-events:auto}
.raffle-modal{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:18px;opacity:0;pointer-events:none;transition:opacity .18s ease}
.raffle-modal.open{opacity:1;pointer-events:auto}
.raffle-modal-body{width:min(500px,100%);display:grid;gap:18px;padding:20px;border:1px solid rgba(255,213,74,.22);border-radius:18px;background:#151515;box-shadow:0 26px 80px rgba(0,0,0,.62)}
.raffle-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.09)}
.raffle-modal-head h3{margin:5px 0 4px;font-size:22px}
.raffle-modal-head p{margin:0;color:var(--muted);font-size:12px}
.raffle-modal-head .btn-icon{min-width:44px;min-height:44px}
.raffle-modal-content{display:grid;gap:12px}
.raffle-admin-status{min-height:22px;color:var(--muted);font-size:13px}
.raffle-winner-card{display:grid;gap:5px;padding:18px;border:1px solid rgba(255,213,74,.3);border-radius:14px;background:linear-gradient(145deg,rgba(255,213,74,.12),rgba(0,0,0,.15))}
.raffle-winner-card span{color:#ffe58c;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.raffle-winner-card strong{color:#fff;font-size:24px;line-height:1.15}
.raffle-winner-card a{color:#ffe58c;font-size:14px;overflow-wrap:anywhere}
.raffle-winner-card small{color:var(--muted);font-size:11px}
.raffle-entry-list{display:grid;gap:10px;padding:14px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:#101010}
.raffle-entry-list-head{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;font-size:14px}
.raffle-entry-list-head span{color:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}
.raffle-entry-list ol{display:grid;gap:7px;max-height:280px;margin:0;padding:0 4px 0 25px;overflow:auto}
.raffle-entry-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:7px 8px 7px 3px;border-bottom:1px solid rgba(255,255,255,.07);color:#fff}
.raffle-entry-list li:last-child{border-bottom:0}
.raffle-entry-details{display:grid;min-width:0;gap:2px}
.raffle-entry-details strong{overflow-wrap:anywhere;font-size:13px}
.raffle-entry-details a{overflow-wrap:anywhere;color:#ffe58c;font-size:12px}
.raffle-entry-winner{flex:0 0 auto;padding:4px 7px;border:1px solid rgba(255,213,74,.3);border-radius:999px;color:#ffe58c;font-size:10px;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.raffle-entry-empty{color:var(--muted);font-size:13px}
.raffle-modal-foot{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;padding-top:2px}
.raffle-modal-foot .btn{min-height:44px}
.btn-danger{border:1px solid rgba(255,100,100,.3);background:rgba(255,70,70,.08);color:#ffaaaa}
.btn-danger:hover{border-color:rgba(255,100,100,.55);background:rgba(255,70,70,.14)}
.raffle-modal-open{overflow:hidden}
@media(max-width:560px){
  .raffle-card{padding:24px 18px 22px;border-radius:20px}
  .raffle-modal-body{padding:16px}
  .raffle-modal-foot{display:grid;grid-template-columns:1fr}
  .raffle-modal-foot .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .raffle-modal,.raffle-modal-backdrop,.admin-pull-chevron{transition:none}
}

/* ===== Agents workspace · content-first marketing desk ===== */
.main:has(.agents-workspace){width:min(100%,1460px);max-width:1460px}
.agents-workspace{--agents-line:rgba(255,255,255,.09);--agents-soft:#111311;--agents-panel:#151715;min-width:0}
.agents-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin:24px 4px 14px}
.agents-hero h1{margin:3px 0 6px;color:#fff;font-size:clamp(32px,5vw,58px);line-height:.95;letter-spacing:-.055em}
.agents-hero p{max-width:680px;margin:0;color:#9da49f;font-size:14px;line-height:1.5}
.agents-kicker{display:block;color:#f2c14e;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.agents-hero-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.agents-queue-link{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:0 14px;border:1px solid var(--agents-line);border-radius:11px;background:#101110;color:#d9dedb;font-size:12px;font-weight:750}
.agents-queue-link:hover{border-color:rgba(242,193,78,.38);color:#fff}
.agents-queue-link svg,.agents-card-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.agents-tabs{position:sticky;top:70px;z-index:16;display:flex;gap:5px;max-width:100%;padding:8px;margin:0 0 18px;border:1px solid var(--agents-line);border-radius:13px;background:rgba(12,13,12,.94);backdrop-filter:blur(16px);overflow-x:auto;scrollbar-width:thin}
.agents-tabs a{flex:0 0 auto;display:flex;align-items:center;min-height:36px;padding:0 13px;border:1px solid transparent;border-radius:8px;color:#8e9691;font-size:11px;font-weight:800;letter-spacing:.025em;white-space:nowrap}
.agents-tabs a:hover{color:#fff;background:rgba(255,255,255,.045)}
.agents-tabs a.active{border-color:rgba(242,193,78,.26);background:rgba(242,193,78,.1);color:#f6d77f}
.agents-content{min-width:0}
.agents-overview{display:grid;gap:14px}
.agents-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px}
.agents-section-head>div>span{color:#7f8882;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.agents-section-head h2,.agents-section-head h3{margin:4px 0 5px;color:#f5f7f5;font-size:clamp(21px,3vw,30px);line-height:1.08;letter-spacing:-.035em}
.agents-section-head p{margin:0;color:#7f8882;font-size:12px}
.agents-section-head.compact{align-items:center;padding:0}
.agents-section-head.compact h3{font-size:19px}
.agents-state-strip{display:flex;gap:7px;max-width:100%;overflow-x:auto;padding:1px 1px 3px}
.agents-state{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;min-height:33px;padding:0 10px;border:1px solid var(--agents-line);border-radius:999px;background:#101110;color:#aeb5b0;font-size:10px;font-weight:750}
.agents-state:hover{border-color:rgba(255,255,255,.18);color:#fff}
.agents-state>i{width:7px;height:7px;border-radius:50%;background:#6f7772}
.agents-state>i.ok{background:#55c979}.agents-state>i.running{background:#f2c14e}.agents-state>i.failed{background:#e57373}
.agents-state-email{padding-left:7px;border-left:1px solid var(--agents-line);color:#78817b}.agents-state-email.failed{color:#e99898}
.agents-headline-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.agents-headline-card,.viral-hook-card{appearance:none;width:100%;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:17px;border:1px solid var(--agents-line);border-radius:15px;background:var(--agents-panel);color:#fff;font:inherit;text-align:left;cursor:pointer;box-shadow:0 14px 34px rgba(0,0,0,.16);transition:border-color .16s ease,transform .16s ease,background .16s ease}
.agents-headline-card:hover,.viral-hook-card:hover{transform:translateY(-2px);border-color:rgba(242,193,78,.3);background:#181a18}
.agents-headline-card:focus-visible,.viral-hook-card:focus-visible,.viral-history-row:focus-visible{outline:2px solid #f2c14e;outline-offset:2px}
.agents-headline-card.featured{grid-column:span 2;min-height:270px;padding:22px;background:#181a17}
.agents-card-meta,.viral-hook-card-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;color:#727b75;font-size:9px;text-transform:uppercase;letter-spacing:.08em}
.agents-card-meta b{color:#d0aa4b}.agents-card-meta time{font-variant-numeric:tabular-nums}
.agents-card-eyebrow{color:#8e9791;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.agents-headline-card>strong,.viral-hook-card>strong{max-width:26ch;color:#f5f7f5;font-size:19px;line-height:1.12;letter-spacing:-.025em}
.agents-headline-card.featured>strong{max-width:22ch;font-size:clamp(27px,3.5vw,42px);line-height:1.02}
.agents-card-summary,.viral-hook-execution{display:-webkit-box;color:#a9b0ab;font-size:12px;line-height:1.5;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.agents-card-action{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding-top:6px;color:#e2c373;font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}
.agents-loading-card,.agents-empty{grid-column:1/-1;padding:20px;border:1px dashed rgba(255,255,255,.13);border-radius:14px;background:#101110;color:#8e9691;font-size:13px;line-height:1.5}
.agents-detail-dialog{width:min(760px,calc(100vw - 28px));max-width:none;max-height:90dvh;margin:auto;padding:0;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:#111311;color:#eef1ef;box-shadow:0 36px 110px rgba(0,0,0,.72);overflow:hidden}
.agents-detail-dialog::backdrop{background:rgba(0,0,0,.76);backdrop-filter:blur(4px)}
.agents-dialog-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;max-height:90dvh}
.agents-dialog-shell>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:19px 20px 15px;border-bottom:1px solid var(--agents-line);background:#151715}
.agents-dialog-shell>header span{color:#d0aa4b;font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.agents-dialog-shell>header h2{max-width:24ch;margin:5px 0 0;font-size:clamp(22px,4vw,34px);line-height:1.05;letter-spacing:-.035em}
.agents-dialog-shell .btn-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}
.agents-dialog-body{display:grid;gap:17px;padding:20px;overflow:auto}
.agents-dialog-lede{margin:0;color:#f0f2f0;font-size:16px;line-height:1.55}
.agents-dialog-body section{display:grid;gap:6px;padding-top:14px;border-top:1px solid var(--agents-line)}
.agents-dialog-body h3{margin:0;color:#8f9892;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.agents-dialog-body p{margin:0;color:#c6ccc8;font-size:13px;line-height:1.6}
.agents-dialog-sources{display:grid;gap:8px;margin:2px 0 0;padding:0;list-style:none}
.agents-dialog-sources li{display:grid;gap:2px;padding:10px;border:1px solid var(--agents-line);border-radius:10px;background:#0d0f0d}
.agents-dialog-sources a{color:#ecd077;font-size:12px;font-weight:750;overflow-wrap:anywhere}.agents-dialog-sources span,.agents-dialog-sources small{color:#78817b;font-size:10px;line-height:1.4}
.agents-dialog-shell>footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--agents-line);background:#151715}

/* Viral Hook */
.viral-hook-page{display:grid;gap:15px}
.viral-hook-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:4px}
.viral-hook-head h2{margin:3px 0 5px;font-size:clamp(25px,4vw,38px);letter-spacing:-.045em}.viral-hook-head p{margin:0;color:#818a84;font-size:12px}
.viral-hook-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.viral-status-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:15px 16px;border:1px solid var(--agents-line);border-radius:14px;background:#121412}
.viral-status-copy{display:grid;gap:4px}.viral-status-copy>span{color:#d0aa4b;font-size:9px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.viral-status-copy>strong{font-size:14px;line-height:1.4}.viral-status-copy>small{color:#78817b;font-size:10px}
.viral-status-badges{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}.viral-status-chip{display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 9px;border:1px solid var(--agents-line);border-radius:999px;color:#a9b0ab;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.viral-status-chip i{width:7px;height:7px;border-radius:50%;background:#7c847f}.viral-status-chip.ok i,.viral-status-chip.sent i{background:#55c979}.viral-status-chip.running i,.viral-status-chip.pending i,.viral-status-chip.sending i{background:#f2c14e}.viral-status-chip.failed i{background:#e57373}
.viral-email-warning{grid-column:1/-1;display:grid;gap:2px;padding:10px 12px;border:1px solid rgba(229,115,115,.22);border-radius:10px;background:rgba(229,115,115,.07)}.viral-email-warning strong{color:#eea1a1;font-size:11px}.viral-email-warning span{color:#b98989;font-size:10px;line-height:1.45}
.viral-hook-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.viral-hook-card{min-height:265px}.viral-hook-card.priority{border-top-color:rgba(242,193,78,.46)}
.viral-hook-card-top b{color:#d0aa4b}.viral-hook-card-top .sensitivity{padding:4px 7px;border:1px solid var(--agents-line);border-radius:999px;color:#808984}.viral-hook-card-top .sensitivity.medium{color:#e2bb70;border-color:rgba(226,187,112,.2)}.viral-hook-card-top .sensitivity.do_not_use{color:#e98f8f;border-color:rgba(233,143,143,.22)}
.viral-hook-news{color:#7f8882;font-size:10px;line-height:1.4}.viral-hook-execution{-webkit-line-clamp:4}
.viral-platforms{display:flex;flex-wrap:wrap;gap:6px}.viral-platforms span{padding:5px 8px;border:1px solid var(--agents-line);border-radius:999px;color:#aeb5b0;font-size:10px}
.viral-history{display:grid;gap:9px;margin-top:12px;padding-top:17px;border-top:1px solid var(--agents-line)}
.viral-history [data-viral-history]{display:grid;gap:7px}
.viral-history-row{appearance:none;width:100%;display:grid;grid-template-columns:minmax(0,1fr) auto 130px;align-items:center;gap:12px;padding:11px 12px;border:1px solid var(--agents-line);border-radius:10px;background:#101210;color:#fff;font:inherit;text-align:left;cursor:pointer}.viral-history-row:hover{border-color:rgba(255,255,255,.17)}.viral-history-row>span:first-child{display:grid;gap:3px}.viral-history-row strong{font-size:12px}.viral-history-row small{display:-webkit-box;color:#7e8781;font-size:10px;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.viral-history-state{padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.05);color:#9ca49f;font-size:9px;text-transform:uppercase}.viral-history-state.ok{color:#76d492}.viral-history-state.failed{color:#e98f8f}.viral-history-row time{color:#727b75;font-size:10px;text-align:right}

@media(max-width:1050px){.agents-headline-grid,.viral-hook-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){
  .agents-hero,.agents-section-head,.viral-hook-head{align-items:flex-start;flex-direction:column}
  .agents-hero-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.agents-hero-actions>*{width:100%;justify-content:center}.agents-hero-actions>*:only-child{grid-column:1/-1}
  .agents-tabs{top:63px;margin-left:-5px;margin-right:-5px;border-radius:10px}
  .agents-headline-grid,.viral-hook-grid{grid-template-columns:1fr}.agents-headline-card.featured{grid-column:auto;min-height:250px}
  .agents-headline-card.featured>strong{font-size:29px}.agents-headline-card,.viral-hook-card{min-height:230px}
  .viral-hook-actions{justify-content:flex-start}.viral-status-panel{grid-template-columns:1fr}.viral-status-badges{justify-content:flex-start}
  .viral-history-row{grid-template-columns:minmax(0,1fr) auto}.viral-history-row time{grid-column:1/-1;text-align:left}
  .agents-detail-dialog{width:100%;max-height:94dvh;margin:auto 0 0;border-radius:18px 18px 0 0}.agents-dialog-shell{max-height:94dvh}.agents-dialog-shell>header,.agents-dialog-body{padding:16px}.agents-dialog-shell>footer{padding:11px 16px}
}
@media(prefers-reduced-motion:reduce){.agents-headline-card,.viral-hook-card{transition:none}.agents-headline-card:hover,.viral-hook-card:hover{transform:none}}

/* ===== Raju command shell · Planner presentation port ===== */
.raju-command-ui{
  --raju-bg:#080a0a;
  --raju-bg-deep:#050606;
  --raju-surface:#0e1110;
  --raju-surface-raised:#121614;
  --raju-surface-soft:#151a17;
  --raju-text:#f4f6f3;
  --raju-text-soft:#c5cbc6;
  --raju-muted:#8b958e;
  --raju-muted-2:#657068;
  --raju-border:rgba(255,255,255,.09);
  --raju-border-strong:rgba(255,255,255,.15);
  --raju-gold:#f2c14e;
  --raju-gold-hot:#ffd765;
  --raju-gold-ink:#1a1405;
  --raju-success:#4ee78a;
  --raju-danger:#ff6269;
  --raju-purple:#a67cff;
  --raju-cyan:#55d7df;
  --raju-sidebar-width:232px;
  --raju-topbar-height:72px;
  --raju-content-max:1520px;
  min-width:320px;
  min-height:100vh;
  overflow-x:hidden;
  color:var(--raju-text);
  background:
    radial-gradient(circle at 18% -8%,rgba(242,193,78,.11),transparent 560px),
    linear-gradient(rgba(242,193,78,.018) 1px,transparent 1px),
    linear-gradient(90deg,rgba(242,193,78,.018) 1px,transparent 1px),
    var(--raju-bg);
  background-size:auto,44px 44px,44px 44px,auto;
  background-attachment:fixed;
}
.raju-command-ui :is(button,a,input,textarea,select):focus-visible{outline:3px solid rgba(242,193,78,.42);outline-offset:2px}
.raju-command-ui :is(button,a){touch-action:manipulation}
.raju-command-ui :is(button,a[href]){cursor:pointer}
.raju-shell-sidebar{
  position:fixed;
  z-index:80;
  inset:0 auto 0 0;
  display:flex;
  width:var(--raju-sidebar-width);
  flex-direction:column;
  gap:0;
  padding:24px 16px 18px;
  border-right:1px solid var(--raju-border);
  background:rgba(7,9,8,.94);
  box-shadow:14px 0 42px rgba(0,0,0,.12);
  backdrop-filter:blur(18px) saturate(120%);
}
.raju-shell-brand{
  display:flex;
  min-height:52px;
  align-items:center;
  gap:11px;
  padding:3px 7px 20px;
  color:var(--raju-text);
}
.raju-shell-brand-logos{display:flex;align-items:center;gap:8px;flex:none}
.raju-shell-brand-logos img:first-child{width:auto;height:18px;opacity:.88}
.raju-shell-brand-logos img:last-child{width:auto;height:34px}
.raju-shell-brand-logos i{width:1px;height:24px;background:rgba(255,255,255,.14)}
.raju-shell-brand>span:last-child{display:grid;gap:1px;line-height:1}
.raju-shell-brand strong{font-size:15px;letter-spacing:.13em}
.raju-shell-brand small{color:var(--raju-muted);font-size:8px;font-weight:800;letter-spacing:.14em}
.raju-shell-nav{display:grid;gap:5px;margin-top:8px}
.raju-shell-nav-link,.raju-shell-more>summary{
  position:relative;
  display:grid;
  min-height:46px;
  grid-template-columns:23px minmax(0,1fr) auto;
  align-items:center;
  gap:11px;
  padding:0 11px;
  border:1px solid transparent;
  border-radius:11px;
  color:var(--raju-muted);
  background:transparent;
  font-size:13px;
  font-weight:700;
  text-align:left;
  transition:color 180ms ease,background 180ms ease,border-color 180ms ease;
}
.raju-shell-nav-link svg,.raju-shell-more>summary>svg:first-child{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.raju-shell-nav-link:hover,.raju-shell-more>summary:hover{border-color:rgba(255,255,255,.08);color:var(--raju-text);background:rgba(255,255,255,.035)}
.raju-shell-nav-link.is-active,.raju-shell-more.is-active>summary{border-color:rgba(242,193,78,.22);color:var(--raju-gold-hot);background:linear-gradient(90deg,rgba(242,193,78,.14),rgba(242,193,78,.035))}
.raju-shell-nav-link.is-active:before,.raju-shell-more.is-active>summary:before{position:absolute;left:-1px;width:3px;height:22px;border-radius:0 4px 4px 0;background:var(--raju-gold);content:""}
.raju-shell-more{position:relative}
.raju-shell-more>summary{list-style:none;cursor:pointer}
.raju-shell-more>summary::-webkit-details-marker{display:none}
.raju-shell-more>summary .raju-shell-chevron{width:14px;height:14px;transition:transform 160ms ease}
.raju-shell-more[open]>summary .raju-shell-chevron{transform:rotate(180deg)}
.raju-shell-more-menu{position:absolute;z-index:2;top:calc(100% + 5px);left:8px;width:calc(100% - 16px);display:grid;gap:4px;padding:8px;border:1px solid var(--raju-border-strong);border-radius:12px;background:#0d100f;box-shadow:0 20px 48px rgba(0,0,0,.5)}
.raju-shell-more-menu a{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:8px;padding:7px;border:1px solid transparent;border-radius:8px;color:var(--raju-text-soft);font-size:11px}
.raju-shell-more-menu a:hover,.raju-shell-more-menu a.is-active{border-color:rgba(242,193,78,.18);background:rgba(242,193,78,.06);color:var(--raju-gold-hot)}
.raju-shell-more-menu a>span{display:grid;width:26px;height:26px;place-items:center;border:1px solid var(--raju-border);border-radius:7px;color:var(--raju-muted);font:700 9px/1 ui-monospace,monospace}
.raju-shell-event{display:grid;gap:3px;margin-top:auto;padding:15px;border:1px solid var(--raju-border);border-radius:14px;background:radial-gradient(circle at 110% -20%,rgba(242,193,78,.22),transparent 60%),var(--raju-surface)}
.raju-shell-eyebrow{color:var(--raju-muted);font-size:9px;font-weight:850;letter-spacing:.15em}
.raju-shell-event>strong{margin-top:4px;font-size:19px;letter-spacing:-.03em}
.raju-shell-event>span:not(.raju-shell-eyebrow),.raju-shell-event>small{color:var(--raju-muted);font-size:10px}
.raju-shell-event>div{height:4px;margin:11px 0 4px;border-radius:99px;background:linear-gradient(90deg,#aa7621,var(--raju-gold-hot));opacity:.82}
.raju-shell-profile{position:relative;margin-top:10px}
.raju-shell-profile>summary{display:grid;min-height:54px;grid-template-columns:34px minmax(0,1fr) 15px;align-items:center;gap:9px;padding:7px;border:1px solid transparent;border-radius:11px;color:var(--raju-text-soft);list-style:none;cursor:pointer}
.raju-shell-profile>summary::-webkit-details-marker{display:none}
.raju-shell-profile>summary:hover,.raju-shell-profile[open]>summary{border-color:rgba(242,193,78,.2);background:rgba(242,193,78,.06)}
.raju-shell-avatar{display:grid;width:34px;height:34px;place-items:center;border:1px solid rgba(242,193,78,.32);border-radius:10px;color:var(--raju-gold);background:rgba(242,193,78,.08);font-size:12px;font-weight:850}
.raju-shell-profile>summary>span:nth-child(2){display:grid;min-width:0;gap:2px}
.raju-shell-profile strong{overflow:hidden;color:var(--raju-text);font-size:11px;text-overflow:ellipsis;white-space:nowrap}
.raju-shell-profile small{color:var(--raju-muted);font-size:8px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.raju-shell-profile>summary>svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform 160ms ease}
.raju-shell-profile[open]>summary>svg{transform:rotate(180deg)}
.raju-shell-profile-menu{position:absolute;z-index:3;right:0;bottom:calc(100% + 8px);width:220px;display:grid;gap:5px;padding:11px;border:1px solid var(--raju-border-strong);border-radius:13px;background:#0d100f;box-shadow:0 20px 48px rgba(0,0,0,.56)}
.raju-shell-profile-menu>span{color:var(--raju-muted);font-size:8px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.raju-shell-profile-menu>strong{overflow:hidden;margin-bottom:5px;color:var(--raju-text);font-size:10px;text-overflow:ellipsis;white-space:nowrap}
.raju-shell-profile-menu a{padding:8px 9px;border:1px solid var(--raju-border);border-radius:8px;color:var(--raju-text-soft);font-size:10px;font-weight:700}
.raju-shell-profile-menu a:hover{border-color:rgba(242,193,78,.25);background:rgba(242,193,78,.06);color:var(--raju-gold-hot)}
.raju-shell-profile-menu a.logout{color:#e09595}
.raju-shell-main{min-width:0;margin-left:var(--raju-sidebar-width)}
.raju-shell-topbar{position:sticky;z-index:70;top:0;display:grid;min-height:var(--raju-topbar-height);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;padding:10px clamp(20px,3vw,44px);border-bottom:1px solid var(--raju-border);background:rgba(8,10,10,.86);box-shadow:0 10px 34px rgba(0,0,0,.16);backdrop-filter:blur(20px) saturate(120%)}
.raju-shell-context{display:grid;grid-template-columns:8px auto;align-items:center;column-gap:9px;min-width:0;color:var(--raju-text);font-size:12px;font-weight:750}
.raju-shell-context small{grid-column:2;overflow:hidden;color:var(--raju-muted);font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}
.raju-shell-live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--raju-success);box-shadow:0 0 0 4px rgba(78,231,138,.09)}
.raju-shell-topbar-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px}
.raju-shell-quote{display:grid;gap:2px;padding:8px 12px;border:1px solid rgba(242,193,78,.28);border-radius:10px;background:rgba(242,193,78,.06);line-height:1}
.raju-shell-quote small{color:#d2bd7e;font-size:8px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.raju-shell-quote strong{color:var(--raju-gold);font-size:13px}
.raju-shell-create{min-height:42px;padding:0 15px;border-color:var(--raju-gold-hot);background:linear-gradient(145deg,var(--raju-gold-hot),#e4ae36);color:var(--raju-gold-ink);font-size:11px;font-weight:850;box-shadow:0 10px 28px rgba(242,193,78,.12)}
.raju-shell-create:hover{border-color:#ffe08a;background:linear-gradient(145deg,#ffe08a,var(--raju-gold));color:#0b0902}
.raju-shell-mobile-brand,.raju-shell-mobile-more{display:none}
.raju-command-ui .main{width:min(100%,var(--raju-content-max));margin:0 auto 80px;padding:30px clamp(18px,3vw,44px) 80px}
.raju-command-ui .cron-status{margin:0 0 12px;padding:8px 11px;border-color:rgba(255,255,255,.07);border-radius:10px;background:rgba(14,17,16,.56);font-size:10px}
.raju-command-ui .cron-status strong{color:var(--raju-text-soft);font-size:10px}

/* The shared Planner shell applies to Plan, Board and Live. */
.raju-command-ui .planner-v2{margin:0;--planner-gold:var(--raju-gold);--planner-gold-soft:rgba(242,193,78,.1);--planner-line:var(--raju-border)}
.raju-command-ui .planner-v2-hero{min-height:0;padding:8px 0 24px;border:0;border-radius:0;overflow:visible;background:transparent}
.raju-command-ui .planner-v2-hero:after{display:none}
.raju-command-ui .planner-v2-hero h1{margin:8px 0 5px;color:var(--raju-text);font-size:clamp(34px,4vw,48px);letter-spacing:-.055em}
.raju-command-ui .planner-v2-hero p{max-width:640px;color:var(--raju-muted);font-size:13px;line-height:1.5}
.raju-command-ui .planner-v2-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--raju-muted);font-size:9px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.raju-command-ui .planner-v2-kicker i{width:6px;height:6px;border-radius:50%;background:var(--raju-gold);box-shadow:0 0 12px rgba(242,193,78,.75)}
.raju-command-ui .planner-v2-hero-actions{gap:9px}
.raju-command-ui .planner-v2-pulse{border:1px solid var(--raju-border);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.02),rgba(255,255,255,.005))}
.raju-command-ui .planner-v2-pulse button{min-height:96px;padding:15px 18px;border-right:1px solid var(--raju-border)}
.raju-command-ui .planner-v2-pulse button:last-child{border-right:0}
.raju-command-ui .planner-v2-pulse button:after{right:18px;bottom:0;left:18px}
.raju-command-ui .planner-v2-pulse small{color:var(--raju-muted);font-size:9px}
.raju-command-ui .planner-v2-pulse strong{color:var(--raju-text);font-size:25px}
.raju-command-ui .planner-v2-pulse span{color:var(--raju-muted-2);font-size:9px}
.raju-command-ui .planner-v2 .planner-controls{top:80px;margin-top:12px;border-color:var(--raju-border);border-radius:16px;background:rgba(13,15,14,.94);box-shadow:0 14px 38px rgba(0,0,0,.3)}
.raju-command-ui .planner-v2 .filter-field{border-right-color:rgba(255,255,255,.07)}
.raju-command-ui .planner-v2 .filter-field label{color:var(--raju-muted-2)}
.raju-command-ui .planner-v2 .filter-chip{min-height:30px;border-color:rgba(255,255,255,.1);background:#101311;color:#929a95}
.raju-command-ui .planner-v2 .filter-chip.active{border-color:rgba(242,193,78,.4);background:var(--planner-gold-soft);color:var(--raju-gold)}
.raju-command-ui .planner-v2 .planner-tabs{position:relative;top:auto;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;margin:14px 0 12px;padding:6px;border-color:var(--raju-border);border-radius:15px;background:rgba(13,15,14,.92);backdrop-filter:blur(18px)}
.raju-command-ui .planner-v2 .planner-tabs .btn{min-height:48px;padding:5px 4px;border:1px solid transparent;border-radius:10px;color:var(--raju-muted);font-size:10px}
.raju-command-ui .planner-v2 .planner-tabs .btn:hover{color:var(--raju-text);background:rgba(255,255,255,.035)}
.raju-command-ui .planner-v2 .planner-tabs .btn-tab.active{border-color:rgba(242,193,78,.2);background:linear-gradient(140deg,rgba(242,193,78,.16),rgba(242,193,78,.06));color:var(--raju-gold-hot);box-shadow:none}
.raju-command-ui .planner-v2 .planner-tabs .planner-mobile-add{border-color:var(--raju-gold);background:linear-gradient(145deg,var(--raju-gold-hot),#e4ae36);color:var(--raju-gold-ink)}
.raju-command-ui .planner-v2 .planner-tab-label-desktop{display:inline}
.raju-command-ui .planner-v2 .planner-tab-label-mobile{display:none}
.raju-command-ui .planner-tab-icon{display:grid;min-height:20px;place-items:center;font-size:18px;line-height:20px}
.raju-command-ui .planner-tab-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.raju-command-ui .planner-tab-live{color:#ff6269}
.raju-command-ui .planner-v2 .planner-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.raju-command-ui .planner-v2 .planner-row-card{border-color:var(--raju-border);border-radius:14px;background:linear-gradient(155deg,rgba(18,22,20,.96),rgba(11,14,13,.98));box-shadow:0 12px 30px rgba(0,0,0,.2)}
.raju-command-ui .planner-v2 .planner-row-card:hover{border-color:rgba(242,193,78,.25);transform:translateY(-1px)}
.raju-command-ui .planner-v2 .planner-card-placeholder{background:radial-gradient(circle at 50% 0,rgba(242,193,78,.06),transparent 42%),#0c0e0d}
.raju-command-ui .planner-v2 .planner-card-copy{border-color:rgba(255,255,255,.07);background:#0b0d0c}
.raju-command-ui .planner-v2 .kanban-board{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 12px}
.raju-command-ui .planner-v2 .kanban-column{min-width:285px;border-color:rgba(255,255,255,.08);border-radius:14px;background:#0f1210}
.raju-command-ui .planner-v2 .kanban-card{border-color:rgba(255,255,255,.08);border-radius:11px;background:#0a0c0b}
.raju-command-ui .planner-v2 .kanban-card:hover{border-color:rgba(242,193,78,.22)}
.raju-command-ui .planner-v2 [data-panel="posts-calendar"] .posts-calendar-card{border-color:var(--raju-border);border-radius:18px;background:linear-gradient(150deg,rgba(18,22,20,.96),rgba(11,14,13,.98));box-shadow:0 14px 38px rgba(0,0,0,.2)}
.raju-command-ui .planner-v2 [data-panel="posts-calendar"] .posts-calendar-toolbar{align-items:center;padding:3px 0 12px;border-bottom:1px solid rgba(255,255,255,.06)}
.raju-command-ui .planner-v2 [data-panel="posts-calendar"] .posts-calendar-meta{font-size:10px}
.raju-command-ui .planner-v2 [data-panel="posts-calendar"] .posts-platform-chip{min-height:32px;border-color:rgba(255,255,255,.12);background:#101311;font-size:10px}
.raju-command-ui .planner-v2 [data-panel="posts-calendar"] .posts-platform-chip.active{background:color-mix(in srgb,var(--pc-color,#999) 18%,#0d0d0d)}

@media(max-width:1180px){
  .raju-command-ui{--raju-sidebar-width:208px}
  .raju-command-ui .planner-v2 .planner-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:980px){
  .raju-command-ui{--raju-topbar-height:66px;padding-bottom:78px}
  .raju-shell-sidebar{display:none}
  .raju-shell-main{margin-left:0}
  .raju-shell-topbar{grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:9px 18px}
  .raju-shell-mobile-brand{display:flex;align-items:center;gap:8px;color:var(--raju-text)}
  .raju-shell-mobile-brand img{width:31px;height:31px;object-fit:contain;border:1px solid rgba(242,193,78,.35);border-radius:9px;background:rgba(242,193,78,.08)}
  .raju-shell-mobile-brand strong{font-size:12px;letter-spacing:.12em}
  .raju-shell-context{justify-self:start}
  .raju-shell-context small{max-width:34vw}
  .raju-shell-quote{display:none}
  .raju-shell-mobile-more{display:grid;width:42px;height:42px;place-items:center;padding:0;border:1px solid var(--raju-border);border-radius:11px;background:rgba(255,255,255,.025);color:var(--raju-text-soft);font-size:12px;letter-spacing:2px}
  .raju-shell-create{min-height:42px}
  .raju-command-ui .main{margin-bottom:0;padding:24px 18px 42px}
  .raju-command-ui .mobile-bottom-nav{position:fixed;z-index:90;right:10px;bottom:10px;left:10px;display:flex;align-items:stretch;gap:3px;min-height:62px;padding:5px;border:1px solid var(--raju-border-strong);border-radius:16px;background:rgba(13,16,14,.95);box-shadow:0 16px 50px rgba(0,0,0,.5);backdrop-filter:blur(18px)}
  .raju-command-ui .mobile-bottom-link{display:grid;min-width:0;min-height:50px;flex:1 1 0;place-items:center;gap:2px;padding:4px;border:0;border-radius:10px;background:transparent;color:var(--raju-muted);font-size:9px;font-weight:750;line-height:1.1}
  .raju-command-ui .mobile-bottom-link svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
  .raju-command-ui .mobile-bottom-link.active,.raju-command-ui .mobile-bottom-link[aria-current="page"]{background:rgba(242,193,78,.1);color:var(--raju-gold-hot)}
  .raju-command-ui .planner-v2 .planner-controls{top:72px}
  .raju-command-ui .planner-v2 .planner-filters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .raju-command-ui .planner-v2-pulse{grid-template-columns:repeat(3,1fr)}
  .raju-command-ui .planner-v2-pulse button:nth-child(3){border-right:0}
  .raju-command-ui .planner-v2-pulse button:nth-child(n+4){border-top:1px solid var(--raju-border)}
}
@media(max-width:640px){
  .raju-command-ui .raju-shell-topbar{padding-inline:12px}
  .raju-command-ui .raju-shell-context{display:none}
  .raju-command-ui .raju-shell-topbar-actions{gap:6px}
  .raju-command-ui .raju-shell-create{width:42px;padding:0;font-size:0}
  .raju-command-ui .raju-shell-create>span:first-child{font-size:20px}
  .raju-command-ui .main{padding:18px 14px 32px}
  .raju-command-ui .planner-v2-hero{align-items:flex-start;padding:5px 0 18px}
  .raju-command-ui .planner-v2-hero h1{font-size:34px}
  .raju-command-ui .planner-v2-hero p{max-width:270px;font-size:11px}
  .raju-command-ui .planner-v2-pulse{display:flex;overflow-x:auto;border-radius:15px;scrollbar-width:none}
  .raju-command-ui .planner-v2-pulse::-webkit-scrollbar{display:none}
  .raju-command-ui .planner-v2-pulse button{min-width:132px;padding:14px;border-top:0!important;border-right:1px solid var(--raju-border)!important}
  .raju-command-ui .planner-v2-pulse button:last-child{border-right:0!important}
  .raju-command-ui .planner-v2-pulse strong{font-size:21px}
  .raju-command-ui .planner-v2 .planner-controls{top:62px;padding:10px}
  .raju-command-ui .planner-v2 .planner-filters{grid-template-columns:1fr}
  .raju-command-ui .planner-v2 .planner-tabs{grid-template-columns:repeat(5,minmax(0,1fr));padding:4px}
  .raju-command-ui .planner-v2 .planner-tabs .btn{min-height:46px;padding-inline:2px;font-size:9px}
  .raju-command-ui .planner-v2 .planner-tab-label-desktop{display:none}
  .raju-command-ui .planner-v2 .planner-tab-label-mobile{display:inline}
  .raju-command-ui .planner-v2 .planner-card-grid{grid-template-columns:1fr}
  .raju-command-ui .planner-v2 .planner-card-media img,.raju-command-ui .planner-v2 .planner-card-placeholder{height:170px}
  .raju-command-ui .planner-v2 .kanban-column{min-width:82vw}
  .raju-command-ui .planner-v2 [data-panel="posts-calendar"] .posts-calendar-toolbar{align-items:flex-start;flex-direction:column}
}
@media(prefers-reduced-motion:reduce){
  .raju-command-ui *,
  .raju-command-ui *::before,
  .raju-command-ui *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* The editor owns the mobile viewport while a modal is open. Keep the fixed
   navigation from covering its sticky save actions. */
@media(max-width:980px){
  body.planner-modal-open .mobile-bottom-nav{display:none}
}
