/* RC5.2 — typography, dialog redesign, mobile polish */
:root{
  --pp-font-main:"Vazirmatn","Shabnam","Sahel","Samim",Tahoma,system-ui,sans-serif;
  --pp-font-head:"Vazirmatn","Shabnam",Tahoma,system-ui,sans-serif;
  --pp-dialog-shadow:0 24px 80px rgba(15,23,42,.20),0 8px 24px rgba(30,64,175,.10);
  --pp-dialog-br:24px;
}
html,body,
button,input,select,textarea,
.btn,.field,.sub,.pill,.dlg,.dlg *,.box,.box *,.kpi,.kpi *,
.mm-report,.mm-report *,
.ix-dlg,.ix-dlg *,.ix2,.ix2 *,
.side,.work,.topbar,.status,.mnav,
.rep,.rep *,.login,.login *{
  font-family:var(--pp-font-main)!important;
}
html{font-feature-settings:"ss01" 1,"calt" 1; text-rendering:optimizeLegibility; -webkit-text-size-adjust:100%;}
body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:0}
:is(h1,h2,h3,h4,h5,h6,.ph h1,.box-h h2,.dlg-h h2,.login h1,.login h2,.ix2-hero h3,.mm-head h1){font-family:var(--pp-font-head)!important;font-weight:800;}
.num,.mono,[dir=ltr]{font-variant-numeric:tabular-nums;}

/* more consistent line-height */
.box,.ins,.dlg,.ix2-panel,.ix2-tip,.mm-panel,.mm-kpi,.mm-report th,.mm-report td,.ix2-row,.ix2-note,.ix2-stat,.btn,.field{line-height:1.75}
.mm-report th,.mm-report td,.ix2-rl b,.ix2-rl small,.ix2-v,.ix2-stat b,.ix2-stat li{letter-spacing:0}

/* dialog redesign */
html body #layer .dlg{
  border-radius:var(--pp-dialog-br)!important;
  border:1px solid rgba(226,232,240,.95)!important;
  box-shadow:var(--pp-dialog-shadow)!important;
  background:linear-gradient(180deg,rgba(255,255,255,.99),rgba(247,250,255,.98))!important;
  overflow:hidden;
}
html body #layer .dlg>.dlg-h,
html body #layer .dlg .dlg-h{
  background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 52%,#eefdf8 100%)!important;
  border-bottom:1px solid rgba(219,229,241,.95)!important;
  padding:14px 18px!important;
  min-height:62px;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
}
html body #layer .dlg .dlg-h h2{font-size:18px!important;color:#163254!important;margin:0}
html body #layer .dlg .dlg-h .btn.ghost,
html body #layer .dlg [data-close].btn.ghost{
  border-radius:14px!important;
  min-width:40px;min-height:40px;
  background:rgba(255,255,255,.88)!important;
  border:1px solid rgba(203,213,225,.95)!important;
  box-shadow:0 4px 12px rgba(15,23,42,.06)!important;
}
html body #layer .dlg .dlg-b,
html body #layer .dlg .dlg-c,
html body #layer .dlg .dlg-body,
html body #layer .dlg .dlg-main{background:transparent}
html body #layer .dlg .dlg-f{
  background:linear-gradient(180deg,rgba(252,253,255,.95),rgba(244,248,253,.96))!important;
  border-top:1px solid rgba(219,229,241,.95)!important;
}

/* insights dialog polish */
.ix-dlg.ix2{width:min(980px,calc(100% - 20px))!important;max-height:calc(100vh - 22px)!important;border-radius:28px!important}
.ix2 .ix-body{padding:16px 18px 14px!important;background:linear-gradient(180deg,#f8fbff 0%,#f6f8fc 65%,#f8fbff 100%)!important}
.ix2-hero{padding:20px 22px!important;border-radius:22px!important;box-shadow:0 16px 40px -24px rgba(37,99,235,.56)!important}
.ix2-panel,.ix2-card,.ix2-kpi,.ix2-stat{border-radius:18px!important;box-shadow:0 10px 26px -24px rgba(15,23,42,.32)}
.ix2-tip{border-radius:14px!important}
.ix2-card>header{padding:12px 15px!important}
.ix2-row{grid-template-columns:10px minmax(0,1fr) auto;gap:12px;padding:10px 15px!important}
.ix2-v{max-width:min(42vw,280px);font-weight:800}
.ix2-foot{padding:10px 16px 12px!important}
.ix2-foot .ix-send{gap:10px!important}
.ix2-foot .ix-send .btn{border-radius:14px!important;min-height:40px;font-weight:700}

/* monthly report font/layout fixes */
.mm-report{font-size:14px}
.mm-head h1{line-height:1.65}
.mm-kpi,.mm-panel{border-radius:16px!important;box-shadow:0 8px 22px -24px rgba(15,23,42,.35)}
.mm-report table{table-layout:auto}
.mm-report th,.mm-report td{font-size:.84rem!important;line-height:1.95!important;vertical-align:middle}
.mm-report .num{white-space:nowrap}
.mm-actions .btn,.mm-filters select{border-radius:12px!important}

/* change login portrait pose/crop without replacing data */
.login-artist-portrait img{
  object-fit:cover!important;
  object-position:50% 18%!important;
  transform:scale(1.06) translateY(2px)!important;
  border-radius:24px!important;
  box-shadow:0 14px 34px rgba(14,31,64,.20)!important;
}
.av-photo img,.dz-photo img{object-position:50% 20%!important;transform:scale(1.05)!important}

/* performance-friendly mobile fallbacks */
html.mobile-lite .dlg,
html.mobile-lite .box,
html.mobile-lite .kpi,
html.mobile-lite .ix2-panel,
html.mobile-lite .ix2-card,
html.mobile-lite .ix2-kpi,
html.mobile-lite .mm-panel,
html.mobile-lite .mm-kpi,
html.mobile-lite .login-card,
html.mobile-lite .login-artist-panel,
html.mobile-lite .topbar,
html.mobile-lite .side{
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  box-shadow:0 8px 18px rgba(15,23,42,.08)!important;
}

/* music toggle */
.pp-audio-toggle{
  position:fixed;left:14px;bottom:calc(78px + env(safe-area-inset-bottom,0px));z-index:60;
  display:inline-flex;align-items:center;gap:8px;padding:10px 12px;border-radius:999px;
  border:1px solid rgba(203,213,225,.95);background:rgba(255,255,255,.92);color:#17365d;
  box-shadow:0 10px 30px rgba(15,23,42,.12);font-size:12px;font-weight:800;backdrop-filter:blur(10px)
}
.pp-audio-toggle i{font-style:normal;font-size:15px;line-height:1}
.pp-audio-toggle[data-state="off"] .on{display:none}
.pp-audio-toggle[data-state="on"] .off{display:none}

@media (max-width:760px){
  html body #layer .dlg{border-radius:22px!important}
  html body #layer .dlg .dlg-h{padding:12px 14px!important;min-height:56px}
  .ix-dlg.ix2{width:calc(100% - 10px)!important;max-height:calc(100vh - 8px)!important;border-radius:22px!important}
  .ix2 .ix-body{padding:12px 12px 10px!important}
  .ix2-hero{padding:16px 16px!important;border-radius:18px!important}
  .ix2-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}
  .ix2-kpi{padding:10px 11px!important}
  .ix2-kpi b{font-size:16px!important}
  .ix2-groups{grid-template-columns:1fr!important}
  .ix2-row{grid-template-columns:10px minmax(0,1fr)!important}
  .ix2-row .ix2-v{grid-column:2/3;justify-self:start;max-width:100%;margin-top:3px}
  .ix2-stats{grid-template-columns:1fr!important}
  .ix2-foot .ix-send{flex-wrap:wrap!important;overflow:visible!important}
  .ix2-foot .ix-send .btn{flex:1 1 calc(50% - 8px);white-space:normal;min-width:0}
  .mm-kpis{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .mm-report th,.mm-report td{font-size:.8rem!important;padding:8px 7px!important}
  .pp-audio-toggle{left:10px;bottom:calc(72px + env(safe-area-inset-bottom,0px));padding:9px 11px;font-size:11px}
}
@media (max-width:430px){
  .mm-kpis{grid-template-columns:1fr 1fr!important}
  .ix2-foot .ix-send .btn{flex:1 1 100%}
  .login-artist-portrait img{width:82px!important;border-radius:18px!important;transform:scale(1.03)!important}
}

/* RC5.3 — precise analytics footer typography and a completely new image-free login */
:root{
  --pp-login-bg:#0b1830;
  --pp-login-card:#ffffff;
  --pp-login-accent:#13a6a0;
  --pp-login-blue:#4774d5;
}

/* Analytics modal: enforce Persian font in every footer descendant and prevent broken labels */
html body #layer .dlg.ix-dlg.ix2 .ix2-foot,
html body #layer .dlg.ix-dlg.ix2 .ix2-foot *{
  font-family:"Vazirmatn","Shabnam","Sahel",Tahoma,Arial,sans-serif!important;
  font-feature-settings:"ss01" 1,"calt" 1;
  letter-spacing:0!important;
  word-spacing:normal!important;
  text-transform:none!important;
}
html body #layer .dlg.ix-dlg.ix2 .ix2-foot{
  direction:rtl!important;text-align:right!important;
  display:block!important;box-sizing:border-box!important;
  padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px))!important;
  min-width:0!important;overflow:visible!important;
}
html body #layer .dlg.ix-dlg.ix2 .ix2-foot .ix-send{
  direction:rtl!important;display:flex!important;align-items:center!important;
  justify-content:flex-start!important;flex-wrap:wrap!important;
  gap:8px!important;min-width:0!important;width:100%!important;
}
html body #layer .dlg.ix-dlg.ix2 .ix2-foot .ix-send>span{
  display:block!important;flex:0 0 auto!important;white-space:nowrap!important;
  color:#53657c!important;font-size:12px!important;font-weight:800!important;
  line-height:1.8!important;margin-inline-end:3px!important;
}
html body #layer .dlg.ix-dlg.ix2 .ix2-foot .ix-send>.btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  flex:0 1 auto!important;min-width:0!important;max-width:100%!important;
  min-height:40px!important;height:auto!important;padding:8px 12px!important;
  border-radius:12px!important;white-space:normal!important;overflow-wrap:anywhere!important;
  word-break:normal!important;text-align:center!important;line-height:1.65!important;
  font-size:12px!important;font-weight:800!important;letter-spacing:0!important;
}
html body #layer .dlg.ix-dlg.ix2 .ix2-foot .ix-send>.btn.pri{color:#fff!important}

/* Completely new login: no portrait panel, no old two-column layout */
html body #layer.is-login-layer>.login.login-pro{
  display:grid!important;grid-template-columns:minmax(0,480px)!important;
  grid-template-rows:auto!important;place-content:center!important;justify-items:center!important;
  align-content:center!important;gap:0!important;
  padding:clamp(18px,4vw,42px)!important;
  overflow-y:auto!important;overscroll-behavior:contain!important;
  background:
    radial-gradient(ellipse at 16% 18%,rgba(19,166,160,.22),transparent 34%),
    radial-gradient(ellipse at 88% 82%,rgba(71,116,213,.20),transparent 36%),
    linear-gradient(145deg,#09152a 0%,#122744 52%,#102f3b 100%)!important;
}
html body #layer.is-login-layer>.login.login-pro>.login-artist-panel{display:none!important}
html body #layer.is-login-layer>.login.login-pro>.login-card-pro{
  grid-column:1!important;grid-row:1!important;align-self:center!important;justify-self:center!important;
  width:min(480px,calc(100vw - 28px))!important;max-width:480px!important;
  margin:0!important;padding:clamp(24px,4vw,38px)!important;box-sizing:border-box!important;
  border:1px solid rgba(255,255,255,.76)!important;border-radius:30px!important;
  background:linear-gradient(160deg,#fff 0%,#fbfdff 58%,#edf7f7 100%)!important;
  box-shadow:0 34px 100px rgba(0,0,0,.34),0 8px 26px rgba(3,18,39,.16),inset 0 1px #fff!important;
  color:#152b48!important;position:relative!important;overflow:hidden!important;
}
html body #layer.is-login-layer>.login.login-pro>.login-card-pro:before{
  content:"";display:block;position:absolute;inset:0 0 auto 0;height:6px;
  background:linear-gradient(90deg,#13a6a0 0%,#4774d5 52%,#7b61d1 100%);
}
html body #layer.is-login-layer .login-brand-pro{
  padding:5px 0 20px!important;border-bottom:1px solid #e7edf4!important;gap:13px!important;
}
html body #layer.is-login-layer .login-brand-mark{
  width:52px!important;height:52px!important;flex:0 0 52px!important;border-radius:17px!important;
  background:linear-gradient(145deg,#132b4b,#0d9b9b)!important;
  box-shadow:0 10px 22px rgba(13,119,139,.22)!important;font-size:25px!important;
}
html body #layer.is-login-layer .login-brand-pro>div b{
  font-family:"Vazirmatn","Shabnam",Tahoma,sans-serif!important;
  font-size:20px!important;font-weight:900!important;letter-spacing:0!important;color:#173453!important;
}
html body #layer.is-login-layer .login-brand-pro>div small{font-size:11px!important;color:#77869a!important;line-height:1.8!important}
html body #layer.is-login-layer .login-live{margin-inline-start:auto!important}
html body #layer.is-login-layer .login-intro{padding:23px 0 15px!important}
html body #layer.is-login-layer .login-intro h2{
  font-family:"Vazirmatn","Shabnam",Tahoma,sans-serif!important;
  font-size:clamp(23px,3vw,28px)!important;font-weight:900!important;
  line-height:1.65!important;letter-spacing:0!important;color:#142d4b!important;
}
html body #layer.is-login-layer .login-intro p{font-size:12px!important;line-height:2!important;color:#718198!important}
html body #layer.is-login-layer .login-user-label,
html body #layer.is-login-layer .login-pin-label{font-size:12px!important;font-weight:800!important;color:#405873!important}
html body #layer.is-login-layer .uopt-pro{
  border-radius:15px!important;padding:13px 14px!important;background:#f8fafc!important;
  border:1px solid #e3eaf2!important;box-shadow:none!important;
}
html body #layer.is-login-layer .uopt-pro[aria-pressed=true]{
  border-color:#80c9c6!important;background:linear-gradient(110deg,#edfafa,#f3f6ff)!important;
  box-shadow:0 0 0 2px rgba(19,166,160,.09)!important;
}
html body #layer.is-login-layer .login-pin{
  min-height:52px!important;height:52px!important;border-radius:15px!important;
  border:1px solid #d8e2ed!important;background:#f9fbfd!important;font-size:20px!important;
}
html body #layer.is-login-layer .login-submit{
  min-height:52px!important;margin-top:17px!important;border-radius:15px!important;
  background:linear-gradient(110deg,#1765a5 0%,#0b9694 100%)!important;
  box-shadow:0 12px 25px rgba(13,119,139,.20)!important;font-size:14px!important;
}
html body #layer.is-login-layer .login-foot{margin-top:20px!important;padding-top:14px!important;color:#8795a7!important}
html body #layer.is-login-layer .login-card-pro *{font-family:"Vazirmatn","Shabnam","Sahel",Tahoma,Arial,sans-serif!important;letter-spacing:0!important}
@media(max-width:560px){
  html body #layer.is-login-layer>.login.login-pro{padding:max(16px,env(safe-area-inset-top,0px)) 12px max(18px,env(safe-area-inset-bottom,0px))!important}
  html body #layer.is-login-layer>.login.login-pro>.login-card-pro{
    width:100%!important;max-width:460px!important;padding:23px 19px!important;border-radius:23px!important;
  }
  html body #layer.is-login-layer .login-live{display:none!important}
  html body #layer.is-login-layer .login-intro{padding:18px 0 12px!important}
  html body #layer.is-login-layer .login-intro h2{font-size:22px!important}
}
@media(prefers-reduced-motion:reduce){html body #layer.is-login-layer>.login.login-pro>.login-card-pro{animation:none!important}}


/* RC5.4: conspicuous palette propagation across the application */
html:root[data-accent]{
  --pp-accent:var(--acc,#0f7f8a);
  --pp-accent-soft:color-mix(in srgb,var(--pp-accent) 12%,white);
  --pp-accent-mid:color-mix(in srgb,var(--pp-accent) 24%,white);
  --pp-accent-strong:color-mix(in srgb,var(--pp-accent) 82%,#10233e);
}
html:root[data-accent] :is(.btn.pri,.btn.primary,.btn-main,.primary-btn,.fab,.nav-item.active,.tab.active,[aria-selected="true"].tab,.segc button[aria-pressed="true"],.palc[aria-pressed="true"]){
  background:var(--pp-accent)!important;
  border-color:var(--pp-accent)!important;
  color:#fff!important;
}
html:root[data-accent] :is(.box-h,.ph,.page-head,.topbar,.dlg-h,.section-head,.card-head){
  border-color:color-mix(in srgb,var(--pp-accent) 22%,#dbe4ef)!important;
}
html:root[data-accent] :is(.box,.card,.kpi,.panel,.dlg,.ins,.stat-card,.report-card,.settings-card){
  --local-accent:var(--pp-accent);
  border-color:color-mix(in srgb,var(--pp-accent) 18%,#dce5ef);
}
html:root[data-accent] :is(.box-h h2,.ph h1,.ph h2,.section-title,.page-title,.dlg-h h2){
  color:var(--pp-accent-strong);
}
html:root[data-accent] :is(a:not(.btn),.link,.text-link,.subnav a.active){
  color:var(--pp-accent-strong);
}
html:root[data-accent] :is(input:focus,select:focus,textarea:focus,.field:focus,.field:focus-within){
  border-color:var(--pp-accent)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--pp-accent) 18%,transparent)!important;
  outline:none;
}
html:root[data-accent] :is(.pill,.badge,.tag,.chip){
  border-color:color-mix(in srgb,var(--pp-accent) 25%,#dbe4ef);
}
html:root[data-accent] :is(.pill.active,.badge.active,.tag.active,.chip.active){
  background:var(--pp-accent-soft)!important;color:var(--pp-accent-strong)!important;
}
html:root[data-accent] :is(.progress>i,.progress-bar,.bar-fill,.meter>i,.pos-pr>i){
  background:linear-gradient(90deg,var(--w1,var(--pp-accent)),var(--w2,var(--pp-accent)))!important;
}
html:root[data-accent] :is(.side .nav-item.active,.mnav .active,.tabs .active){
  box-shadow:inset 3px 0 0 var(--pp-accent);
}
html:root[data-accent] .pp-audio-toggle{
  border-color:color-mix(in srgb,var(--pp-accent) 35%,white);
  background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--pp-accent) 7%,white));
  color:var(--pp-accent-strong);
}
html:root[data-accent] .pp-audio-toggle[data-state="on"]{
  background:var(--pp-accent)!important;color:#fff!important;
}
.pp-audio-toggle{
  position:fixed!important;left:14px!important;right:auto!important;
  bottom:calc(154px + env(safe-area-inset-bottom,0px))!important;
  top:auto!important;z-index:48!important;
  min-height:42px;max-width:150px;
  padding:9px 12px!important;
  border-radius:14px!important;
  box-shadow:0 8px 24px rgba(15,23,42,.16)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
.pp-audio-toggle i{font-size:18px}
.pp-audio-notice{
  position:fixed;left:14px;bottom:calc(205px + env(safe-area-inset-bottom,0px));
  z-index:49;max-width:min(300px,calc(100vw - 28px));
  padding:10px 13px;border-radius:12px;background:#172b46;color:#fff;
  font:600 12px/1.8 Tahoma,sans-serif;box-shadow:0 8px 24px rgba(15,23,42,.18)
}
@media(max-width:760px){
  .pp-audio-toggle{left:10px!important;bottom:calc(142px + env(safe-area-inset-bottom,0px))!important;max-width:132px}
}

/* RC5.5 final font fix for Insights > Monthly Report */
.ix-dlg.ix2 .ix2-hero,
.ix-dlg.ix2 .ix2-hero *,
.ix-dlg.ix2 .ix2-badges span,
.ix-dlg.ix2 .ix2-foot,
.ix-dlg.ix2 .ix2-foot *,
.ix-dlg.ix2 .mm-report,
.ix-dlg.ix2 .mm-report *,
.ix-dlg.ix2 .mm-head,
.ix-dlg.ix2 .mm-head *,
.ix-dlg.ix2 .mm-panel,
.ix-dlg.ix2 .mm-panel *,
.ix-dlg.ix2 .mm-kpi,
.ix-dlg.ix2 .mm-kpi *,
.ix-dlg.ix2 .mm-note,
.ix-dlg.ix2 .mm-foot,
.ix-dlg.ix2 .mm-actions .btn,
.ix-dlg.ix2 .mm-filters,
.ix-dlg.ix2 .mm-filters *,
.ix-dlg.ix2 table,
.ix-dlg.ix2 th,
.ix-dlg.ix2 td{
  font-family: var(--pp-font-main) !important;
  letter-spacing: 0 !important;
  word-spacing: 0 !important;
  text-transform: none !important;
}
.ix-dlg.ix2 .ix2-hero small{font-size:.80rem!important;font-weight:800!important;line-height:1.8!important}
.ix-dlg.ix2 .ix2-hero h3{font-size:clamp(1.28rem,2vw,2rem)!important;font-weight:900!important;line-height:1.9!important}
.ix-dlg.ix2 .ix2-hero span{display:block;font-size:.92rem!important;font-weight:700!important;line-height:1.9!important;opacity:.96}
.ix-dlg.ix2 .ix2-badges span{font-size:.84rem!important;font-weight:800!important;line-height:1.5!important;padding:.45rem .85rem!important}
.ix-dlg.ix2 .mm-head p,
.ix-dlg.ix2 .mm-note,
.ix-dlg.ix2 .mm-meta,
.ix-dlg.ix2 .mm-foot,
.ix-dlg.ix2 .ix2-foot .btn{font-size:.9rem!important;line-height:1.95!important;font-weight:700!important}
.ix-dlg.ix2 .mm-eyebrow{font-size:.84rem!important;font-weight:900!important}
.ix-dlg.ix2 .mm-head h1{font-size:clamp(1.15rem,1.9vw,1.6rem)!important;font-weight:900!important;line-height:1.9!important}
.ix-dlg.ix2 .mm-actions .btn,
.ix-dlg.ix2 .ix2-foot .btn{
  min-height:42px!important;
  font-size:.88rem!important;
  white-space:normal!important;
}
.ix-dlg.ix2 .mm-report th,
.ix-dlg.ix2 .mm-report td{font-size:.86rem!important;line-height:2!important}
@media (max-width:760px){
  .ix-dlg.ix2 .ix2-hero h3{font-size:1.2rem!important;line-height:1.95!important}
  .ix-dlg.ix2 .ix2-hero span,
  .ix-dlg.ix2 .mm-head p,
  .ix-dlg.ix2 .mm-meta,
  .ix-dlg.ix2 .mm-note,
  .ix-dlg.ix2 .mm-foot,
  .ix-dlg.ix2 .ix2-foot .btn{font-size:.84rem!important;line-height:2!important}
  .ix-dlg.ix2 .mm-head h1{font-size:1.05rem!important}
  .ix-dlg.ix2 .mm-report th,
  .ix-dlg.ix2 .mm-report td{font-size:.8rem!important;line-height:2!important}
}
