:root{
  --ink:#07041F;
  --navy:#0C0840;
  --panel:#0D0942;
  --field:#080530;
  --blue:#2F8CFF;
  --violet:#8A2BFF;
  --magenta:#C61BD0;
  --text:#F4F3FF;
  --muted:#B7BCF4;
  --line:rgba(170,160,255,.22);
  --ok:#7FE3B0;
  --bad:#FF9DB5;
  --brand:linear-gradient(90deg,var(--blue),var(--violet));
  --display:"Unbounded","Arial Black","Segoe UI",system-ui,sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box}
html{height:100%;font-size:90%}
body{margin:0;min-height:100%;font-family:var(--body);font-size:1.04rem;line-height:1.5;color:var(--text);
  background:var(--ink);-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.01em}
h1{font-weight:600;font-size:clamp(1.4rem,2.4vw,1.75rem);line-height:1.2}
h2{font-weight:500;font-size:1.15rem;line-height:1.3}
p{margin:0}
a{color:#9DB8FF;text-underline-offset:.2em}
a:hover{color:#fff}
[hidden]{display:none !important}
.muted{color:var(--muted)}
.icon{width:1.4rem;height:1.4rem;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none}
:focus-visible{outline:3px solid #fff;outline-offset:3px;border-radius:6px}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font:600 1rem var(--body);cursor:pointer;
  text-decoration:none;border-radius:999px;padding:.8rem 1.5rem;border:1.5px solid transparent;color:#fff;background:none;white-space:nowrap}
.btn-primary{background:var(--brand)}
.btn-primary:hover{filter:brightness(1.12);color:#fff}
.btn-ghost{border-color:rgba(255,255,255,.34);color:var(--text)}
.btn-ghost:hover{border-color:#fff}
.btn-danger{border-color:rgba(255,157,181,.6);color:var(--bad)}
.btn-danger:hover{border-color:var(--bad)}
.btn-small{padding:.55rem 1.05rem;font-size:.95rem}
.btn-block{width:100%}
.btn[disabled]{opacity:.55;cursor:default;filter:none}
.icon-btn{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:50%;border:1px solid var(--line);
  background:none;color:var(--muted);cursor:pointer;text-decoration:none}
.icon-btn:hover,.icon-btn[aria-current="page"]{color:#fff;border-color:rgba(255,255,255,.55)}

/* Forms */
.field{display:block;margin-top:1.15rem}
.field > span{display:block;font-weight:600;font-size:.97rem;margin-bottom:.4rem}
.field small{display:block;color:var(--muted);font-size:.9rem;margin-top:.35rem}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=date],input[type=month],textarea{
  width:100%;font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:.8rem;padding:.78rem .95rem}
input[type=date],input[type=month]{color-scheme:dark}
textarea{min-height:7.5rem;resize:vertical}
input:focus,textarea:focus{outline:none;border-color:#7C8CFF;box-shadow:0 0 0 3px rgba(108,91,255,.35)}
input[readonly]{color:var(--muted)}
.pw{position:relative}
.pw input{padding-right:3.2rem}
.pw button{position:absolute;right:.35rem;top:50%;transform:translateY(-50%);width:2.5rem;height:2.5rem;display:grid;place-items:center;
  border:0;background:none;color:var(--muted);cursor:pointer;border-radius:50%}
.pw button:hover{color:#fff}
.check{display:flex;gap:.7rem;align-items:flex-start;margin-top:1.3rem;font-size:.98rem}
.check input{width:1.2rem;height:1.2rem;margin-top:.2rem;accent-color:var(--violet);flex:none}
.two{display:grid;grid-template-columns:1fr 1fr;gap:0 1.1rem}
.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1.6rem}

/* Messages */
.notice{display:flex;gap:.6rem;align-items:flex-start;font-size:.98rem;border-radius:.8rem;padding:.75rem .9rem;margin-top:1.1rem;border:1px solid}
.notice .icon{width:1.25rem;height:1.25rem;margin-top:.1rem}
.notice-bad{color:var(--bad);border-color:rgba(255,157,181,.45);background:rgba(255,80,120,.08)}
.notice-ok{color:var(--ok);border-color:rgba(127,227,176,.4);background:rgba(60,200,140,.07)}

/* Account type choice */
.choice{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;margin-top:1.3rem;border:0;padding:0}
.choice legend{font-weight:600;font-size:.97rem;margin-bottom:.5rem;padding:0}
.choice label{position:relative;display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;border:1px solid var(--line);border-radius:1rem;cursor:pointer;font-weight:600}
.choice input{position:absolute;opacity:0;inset:0;cursor:pointer}
.choice label:has(input:checked){border-color:transparent;background:linear-gradient(var(--panel),var(--panel)) padding-box,var(--brand) border-box;border-width:2px;padding:calc(.9rem - 1px) calc(1rem - 1px)}
.choice label:has(input:focus-visible){outline:3px solid #fff;outline-offset:3px}
.choice .icon{color:#9DB8FF}

/* Sign-in and registration layout */
.auth{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,36rem)}
.auth-side{position:relative;overflow:hidden;padding:3rem;display:flex;flex-direction:column;justify-content:space-between;
  background:
    radial-gradient(46rem 30rem at 100% 0%,rgba(122,43,255,.6),transparent 62%),
    radial-gradient(40rem 26rem at 0% 100%,rgba(198,27,208,.38),transparent 66%),
    linear-gradient(180deg,#0B0745,var(--ink))}
.auth-side > *{position:relative}
.waves{position:absolute;inset:18% 0 auto 0;width:100%;height:60%}
.waves path{fill:none;stroke-width:.7;opacity:.55;vector-effect:non-scaling-stroke}
.brand{display:inline-flex;align-items:center;gap:.7rem;text-decoration:none}
.brand svg{width:2.9rem;height:2.05rem}
.wordmark{font-family:var(--display);font-weight:600;font-size:1.12rem;letter-spacing:.05em;
  background:var(--brand);-webkit-background-clip:text;background-clip:text;color:transparent}
.auth-pitch{max-width:26rem}
.auth-pitch h1{font-size:clamp(1.45rem,2.2vw,1.85rem)}
.auth-pitch p{color:var(--muted);margin-top:1rem}
.auth-credit{font-size:.9rem;color:var(--muted)}
.auth-main{display:flex;flex-direction:column;justify-content:center;padding:3rem clamp(1.4rem,5vw,4rem)}
.auth-main h1{font-size:1.6rem}
.auth-main .sub{color:var(--muted);margin-top:.5rem}
.auth-alt{margin-top:1.8rem;color:var(--muted)}
.auth-brand-small{display:none;margin-bottom:2rem}

/* Signed-in layout */
.topbar{display:flex;align-items:center;gap:1.5rem;padding:1rem clamp(1.2rem,4vw,2.5rem);border-bottom:1px solid var(--line);
  background:linear-gradient(90deg,#0B0745,var(--ink) 55%,#12073f)}
.topbar nav{display:flex;gap:.4rem;flex:1}
.topbar nav a{display:inline-flex;align-items:center;gap:.5rem;text-decoration:none;color:var(--muted);padding:.5rem .9rem;border-radius:999px;font-weight:500}
.topbar nav a:hover{color:#fff}
.topbar nav a[aria-current="page"]{color:#fff;background:rgba(124,140,255,.16)}
.topbar .right{display:flex;align-items:center;gap:.6rem}
.me-chip{display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--text);font-weight:600;padding:.25rem .9rem .25rem .25rem;border-radius:999px;border:1px solid var(--line)}
.me-chip:hover{border-color:rgba(255,255,255,.55);color:#fff}
.me-chip > span:not(.avatar){max-width:11rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.avatar{display:grid;place-items:center;border-radius:50%;overflow:hidden;color:#fff;flex:none;
  background:linear-gradient(135deg,var(--blue),var(--violet))}
.avatar img{width:100%;height:100%;object-fit:cover;display:block}
.avatar-s{width:2.1rem;height:2.1rem}
.avatar-s .icon{width:1.1rem;height:1.1rem}
.avatar-l{width:7rem;height:7rem}
.avatar-l .icon{width:3rem;height:3rem;stroke-width:1.4}
.avatar-m{width:4.2rem;height:4.2rem}
.avatar-m .icon{width:2rem;height:2rem}

.page{width:min(100% - 2.4rem,62rem);margin:2.5rem auto 4rem}
.page-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.8rem}
.page-head p{color:var(--muted);margin-top:.4rem}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:1.4rem;padding:1.6rem;margin-top:1.3rem}
.panel > h2 + p{color:var(--muted);margin-top:.4rem}
.panel-head{display:flex;align-items:center;gap:.7rem}
.panel-head .icon{color:#9DB8FF}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem}
.grid-2 .panel{margin-top:0}

.summary{display:flex;gap:1.2rem;align-items:center}
.summary .who{flex:1;min-width:0}
.summary .name{font-family:var(--display);font-weight:500;font-size:1.15rem;overflow-wrap:anywhere}
.summary .bio{color:var(--muted);margin-top:.5rem;white-space:pre-line;overflow-wrap:anywhere}
.type-tag{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;font-weight:600;color:#9DB8FF;
  border:1.5px solid rgba(47,140,255,.6);border-radius:999px;padding:.3rem .7rem .3rem .5rem;margin-top:.45rem}
.type-tag .icon{width:1rem;height:1rem;stroke-width:2}

.todo{list-style:none;margin:1rem 0 0;padding:0}
.todo li{display:flex;align-items:center;gap:.7rem;padding:.6rem 0;border-top:1px solid var(--line)}
.todo li:first-child{border-top:0}
.todo .mark{display:grid;place-items:center;width:1.6rem;height:1.6rem;border-radius:50%;border:1.5px solid var(--line);color:transparent;flex:none}
.todo .done .mark{border-color:transparent;background:var(--brand);color:#fff}
.todo .mark .icon{width:1rem;height:1rem;stroke-width:2.4}
.todo .done span{color:var(--muted)}
.todo a{margin-left:auto;font-size:.95rem}

.empty{display:flex;gap:1rem;align-items:flex-start;margin-top:1rem;color:var(--muted)}
.empty .icon{width:1.8rem;height:1.8rem;color:#7C8CFF}
.empty b{display:block;color:var(--text);font-weight:600}

.avatar-edit{display:flex;gap:1.5rem;align-items:center;flex-wrap:wrap}
.avatar-edit .controls{display:flex;flex-direction:column;gap:.7rem;align-items:flex-start}
.avatar-edit .row{display:flex;flex-wrap:wrap;gap:.6rem}
.counter{float:right;font-weight:400;color:var(--muted);font-size:.9rem}

table.docs{width:100%;border-collapse:collapse;margin-top:1rem;font-size:.98rem}
table.docs th{text-align:left;font-weight:600;color:var(--muted);padding:.5rem .6rem .5rem 0;border-bottom:1px solid var(--line)}
table.docs td{padding:.7rem .6rem .7rem 0;border-bottom:1px solid var(--line)}
.table-wrap{overflow-x:auto}

.foot{width:min(100% - 2.4rem,62rem);margin:0 auto;padding:1.5rem 0 2.5rem;border-top:1px solid var(--line);
  display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;justify-content:space-between;font-size:.92rem;color:var(--muted)}
.foot a{color:var(--muted)}
.foot nav{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem}

@media (max-width:56rem){
  .auth{grid-template-columns:1fr}
  .auth-side{display:none}
  .auth-brand-small{display:inline-flex}
  .auth-main{justify-content:flex-start;padding-top:2rem}
  .grid-2{grid-template-columns:1fr}
}
@media (max-width:40rem){
  .two{grid-template-columns:1fr}
  .topbar{gap:.6rem}
  .topbar .brand .wordmark{display:none}
  .topbar nav a span{display:none}
  .me-chip > span:not(.avatar){display:none}
  .me-chip{padding:.2rem}
  .summary{flex-direction:column;align-items:flex-start}
  .choice{grid-template-columns:1fr}
}

/* ---------- v2: wizard ---------- */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.auth-main-top{justify-content:flex-start;padding-top:clamp(2rem,9vh,5.5rem)}
.wizard-steps{list-style:none;display:flex;gap:.5rem;margin:0 0 .7rem;padding:0;counter-reset:w}
.wizard-steps li{counter-increment:w;flex:1;position:relative;padding-top:.75rem;font-size:.82rem;color:var(--muted);line-height:1.25}
.wizard-steps li::before{content:"";position:absolute;top:0;left:0;right:0;height:4px;border-radius:999px;background:rgba(170,160,255,.22)}
.wizard-steps li.done::before,.wizard-steps li.current::before{background:var(--brand)}
.wizard-steps li.current{color:var(--text);font-weight:600}
.wizard-steps li span::before{content:counter(w) ". "}
.wizard-count{color:var(--muted);font-size:.92rem;margin-bottom:1.6rem}
.wstep h1{font-size:1.5rem}
.wstep .sub{color:var(--muted);margin-top:.5rem}
.choice-tall{grid-template-columns:1fr;gap:.8rem;margin-top:1.5rem}
.choice-tall label{align-items:flex-start;padding:1.1rem 1.15rem;font-weight:400}
.choice-tall label:has(input:checked){padding:calc(1.1rem - 1px) calc(1.15rem - 1px)}
.choice-tall .icon{width:1.7rem;height:1.7rem;margin-top:.1rem}
.choice-tall b{display:block;font-weight:600}
.choice-tall small{display:block;color:var(--muted);font-size:.93rem;margin-top:.15rem}
.review{margin:1.3rem 0 0;border-top:1px solid var(--line)}
.review-row{display:grid;grid-template-columns:11rem 1fr auto;gap:.8rem;align-items:baseline;padding:.7rem 0;border-bottom:1px solid var(--line)}
.review dt{color:var(--muted);font-size:.95rem}
.review dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.link-btn{background:none;border:0;padding:0;font:inherit;font-size:.93rem;color:#9DB8FF;text-decoration:underline;text-underline-offset:.2em;cursor:pointer}
.link-btn:hover{color:#fff}
.small-note{font-size:.92rem;margin-top:.9rem}
.wizard-avatar{margin-top:1.4rem}
.wizard-actions{justify-content:flex-end}
.wizard-actions #wiz-back{margin-right:auto}

/* ---------- v2: dashboard ---------- */
.page-wide,.foot-wide{width:min(100% - 2.4rem,76rem)}
.summary-head{margin-bottom:1.6rem}
.summary-head h1.name{font-size:clamp(1.3rem,2.1vw,1.6rem)}
.tags{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.demo-tag{display:inline-flex;align-items:center;font-size:.86rem;font-weight:600;color:#F3B9F6;border:1.5px dashed rgba(198,27,208,.75);border-radius:999px;padding:.3rem .7rem;margin-top:.45rem}
.tag{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;font-weight:600;line-height:1;padding:.32rem .6rem .32rem .45rem;border-radius:999px;border:1.5px solid;white-space:nowrap}
.tag .icon{width:.95rem;height:.95rem;stroke-width:2}
.tag-human{color:#8EC0FF;border-color:rgba(47,140,255,.7)}
.tag-assisted{color:#C3A2FF;border-color:rgba(138,43,255,.8)}
.tag-generated{color:#F09CF5;border-color:rgba(198,27,208,.8)}

.stats{display:grid;grid-template-columns:repeat(4,1fr);background:var(--panel);border:1px solid var(--line);border-radius:1.4rem;overflow:hidden}
.stat{padding:1.15rem 1.4rem;border-left:1px solid var(--line);min-width:0}
.stat:first-child{border-left:0}
.stat-label{display:block;color:var(--muted);font-size:.9rem}
.stat-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem;font-family:var(--display);font-weight:500;font-size:1.3rem;margin-top:.35rem;font-variant-numeric:tabular-nums}
.chg{display:inline-flex;align-items:center;gap:.15rem;font-family:var(--body);font-weight:700;font-size:.9rem;font-variant-numeric:tabular-nums;white-space:nowrap}
.chg .icon{width:.95rem;height:.95rem;stroke-width:3}
.chg.up{color:var(--ok)}
.chg.down{color:var(--bad)}
.chg.flat{color:var(--muted);font-weight:500}

.chart-panel{padding-bottom:1.1rem}
.chart-top{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:space-between;align-items:center}
.seg{display:inline-flex;background:var(--field);border:1px solid var(--line);border-radius:.8rem;padding:.2rem}
.seg button{font:600 .9rem var(--body);color:var(--muted);background:none;border:0;border-radius:.6rem;padding:.42rem .85rem;cursor:pointer}
.seg button:hover{color:#fff}
.seg button[aria-pressed="true"]{color:#fff;background:rgba(124,140,255,.24)}
.chart-figure{display:flex;flex-wrap:wrap;align-items:baseline;gap:.4rem 1rem;margin-top:1.3rem}
#chart-value{font-family:var(--display);font-weight:600;font-size:clamp(1.6rem,3.2vw,2.1rem);line-height:1.1;font-variant-numeric:tabular-nums}
.chart-sub{display:inline-flex;align-items:center;gap:.5rem;color:var(--muted);font-size:.95rem}
.chart{position:relative;margin-top:1rem;touch-action:pan-y}
.chart svg{display:block;max-width:100%}
.chart .grid{stroke:rgba(170,160,255,.14);stroke-width:1}
.chart .axis{fill:var(--muted);font:500 .74rem var(--body)}
.chart .line{fill:none;stroke:url(#chartStroke);stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.chart .guide{stroke:rgba(255,255,255,.4);stroke-width:1;stroke-dasharray:3 4}
.chart .dot{fill:#fff;stroke:#7B4BFF;stroke-width:3}
.chart-tip{position:absolute;pointer-events:none;background:#17105f;border:1px solid rgba(170,160,255,.4);border-radius:.7rem;padding:.45rem .7rem;white-space:nowrap;box-shadow:0 10px 30px rgba(3,1,25,.6)}
.chart-tip b{display:block;font-variant-numeric:tabular-nums}
.chart-tip span{font-size:.84rem;color:var(--muted)}

table.data{width:100%;border-collapse:collapse;margin-top:.9rem;font-size:.98rem}
table.data th{font-weight:600;font-size:.86rem;color:var(--muted);text-align:left;padding:.55rem .9rem;border-bottom:1px solid var(--line);white-space:nowrap}
table.data td{padding:.8rem .9rem;border-bottom:1px solid var(--line);vertical-align:middle}
table.data tr:last-child td{border-bottom:0}
table.data tbody tr:hover{background:rgba(124,140,255,.07)}
table.data .num{text-align:right;font-variant-numeric:tabular-nums}
table.data .rank{color:var(--muted);width:2.5rem}
table.data .strong{font-weight:600}
.song-cell{display:flex;align-items:center;gap:.8rem;min-width:13rem}
.song-cell b{display:block;font-weight:600;margin-bottom:.3rem}
.cover{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.7rem;color:#fff;flex:none;background:linear-gradient(160deg,#2a1cc0,#7d1fd6 60%,#c61bd0)}
.cover .icon{width:1.3rem;height:1.3rem;stroke-width:2.2}
.spark polyline{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.spark .up{stroke:var(--ok)}
.spark .down{stroke:var(--bad)}
.status{display:inline-block;font-size:.84rem;font-weight:600;border-radius:999px;padding:.22rem .65rem;border:1.5px solid}
.st-paid{color:var(--ok);border-color:rgba(127,227,176,.5)}
.st-wait{color:#F0C98A;border-color:rgba(240,201,138,.5)}
.st-open{color:#9DB8FF;border-color:rgba(124,140,255,.55)}
.panel-head .push{margin-left:auto}

/* ---------- v2: help assistant ---------- */
.help-launch{position:fixed;right:1.2rem;bottom:1.2rem;z-index:40;display:inline-flex;align-items:center;gap:.5rem;font:600 1rem var(--body);color:#fff;
  background:var(--brand);border:0;border-radius:999px;padding:.75rem 1.2rem;cursor:pointer;box-shadow:0 10px 30px rgba(3,1,25,.6)}
.help-launch:hover{filter:brightness(1.12)}
.help-panel{position:fixed;right:1.2rem;bottom:5rem;z-index:41;width:min(24rem,calc(100vw - 2.4rem));height:min(34rem,calc(100vh - 7rem));
  display:flex;flex-direction:column;background:#0F0A4C;border:1px solid rgba(170,160,255,.4);border-radius:1.3rem;overflow:hidden;box-shadow:0 20px 60px rgba(3,1,25,.75)}
.help-panel header{display:flex;align-items:center;gap:.3rem;padding:.75rem .7rem .75rem 1rem;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(47,140,255,.2),rgba(138,43,255,.2))}
.help-title{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:500;font-size:.95rem;flex:1}
.help-icon{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;border:0;background:none;color:var(--muted);cursor:pointer}
.help-icon:hover{color:#fff;background:rgba(255,255,255,.08)}
.help-list{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.6rem}
.help-msg{max-width:88%;padding:.6rem .8rem;border-radius:1rem;font-size:.97rem;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere}
.help-msg.assistant{align-self:flex-start;background:rgba(124,140,255,.16);border-bottom-left-radius:.3rem}
.help-msg.user{align-self:flex-end;background:linear-gradient(90deg,#2F6FE0,#7A2BE0);border-bottom-right-radius:.3rem}
.help-msg.pending{color:var(--muted)}
.help-msg.pending::after{content:"...";display:inline-block;animation:dots 1.2s steps(4,end) infinite;width:1.2em;overflow:hidden;vertical-align:bottom}
@keyframes dots{from{width:0}to{width:1.2em}}
.help-msg.error{color:var(--bad);background:rgba(255,80,120,.1)}
.help-chips{display:flex;flex-wrap:wrap;gap:.45rem;padding:0 1rem .7rem}
.help-chips:empty{display:none}
.help-chips button{font:500 .88rem var(--body);color:#C9D4FF;background:none;border:1px solid rgba(124,140,255,.5);border-radius:999px;padding:.38rem .75rem;cursor:pointer;text-align:left}
.help-chips button:hover{color:#fff;border-color:#fff}
.help-form{display:flex;gap:.5rem;align-items:flex-end;padding:.7rem .8rem;border-top:1px solid var(--line)}
.help-form textarea{min-height:2.7rem;max-height:7rem;resize:none;padding:.6rem .8rem;border-radius:.9rem}
.help-send{display:grid;place-items:center;flex:none;width:2.7rem;height:2.7rem;border-radius:50%;border:0;color:#fff;background:var(--brand);cursor:pointer}
.help-send[disabled]{opacity:.5;cursor:default}
.help-note{font-size:.78rem;color:var(--muted);padding:0 1rem .8rem;line-height:1.35}

@media (max-width:56rem){
  .stats{grid-template-columns:1fr 1fr}
  .stat:nth-child(3){border-left:0}
  .stat:nth-child(n+3){border-top:1px solid var(--line)}
}
@media (max-width:40rem){
  .review-row{grid-template-columns:1fr auto}
  .review dt{grid-column:1 / -1}
  .wizard-steps li span{display:none}
  .help-launch span{display:none}
  .help-launch{padding:.85rem}
  .stat{padding:.95rem 1rem}
  .stat-value{font-size:1.1rem}
}
@media (prefers-reduced-motion:reduce){
  .help-msg.pending::after{animation:none;width:1.2em}
}
.panel-head{flex-wrap:wrap}
@media (max-width:40rem){ .panel-head .push{margin-left:0;width:100%} }

/* ---------- v3: fingerprint and face sign-in ---------- */
.gap{height:1.4rem}
.divider{display:flex;align-items:center;gap:.9rem;color:var(--muted);font-size:.92rem;margin:1.4rem 0 .2rem}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.grow{flex:1;min-width:0}
.passkey-offer{display:flex;align-items:center;gap:.9rem;margin-top:1.4rem;padding:.95rem 1rem;border:1px solid var(--line);border-radius:1rem}
.passkey-offer > .icon{width:1.9rem;height:1.9rem;color:#9DB8FF}
.passkey-offer b{display:block;font-weight:600}
.passkey-offer small{display:block;color:var(--muted);font-size:.92rem;margin-top:.1rem}
.devices{list-style:none;margin:1rem 0 0;padding:0}
.devices li{display:flex;align-items:center;gap:.9rem;padding:.8rem 0;border-top:1px solid var(--line)}
.devices li:last-child{border-bottom:1px solid var(--line)}
.devices .icon{width:1.7rem;height:1.7rem;color:#9DB8FF}
.devices b{display:block;font-weight:600}
.devices small{display:block;color:var(--muted);font-size:.9rem}
@media (max-width:40rem){ .passkey-offer{flex-wrap:wrap} }

/* ---------- v4: registered badge ---------- */
.seal{width:1.15rem;height:1.15rem;flex:none}
.seal-body{fill:currentColor}
.seal-tick{fill:none;stroke:#fff;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.seal-artist{color:#2F8CFF}
.seal-label{color:#C61BD0}
.badge{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;font-weight:700;border-radius:999px;padding:.28rem .75rem .28rem .4rem;margin-top:.45rem;border:1.5px solid}
.badge-artist{color:#A9CEFF;border-color:rgba(47,140,255,.75);background:rgba(47,140,255,.16)}
.badge-label{color:#F3B3F7;border-color:rgba(198,27,208,.8);background:rgba(198,27,208,.16)}
.me-chip .seal{width:1.05rem;height:1.05rem}

/* ---------- v4: master admin (desktop web app with a side panel) ---------- */
.hq{display:grid;grid-template-columns:15.5rem minmax(0,1fr);min-height:100vh}
.side{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;padding:1.4rem 1rem;border-right:1px solid var(--line);
  background:linear-gradient(180deg,#0E0950,#0A0633 55%,#12073f)}
.side .brand{padding:0 .5rem}
.side-title{color:var(--muted);font-size:.85rem;margin:.9rem .5rem 1.2rem}
.side nav{display:flex;flex-direction:column;gap:.2rem;flex:1}
.side nav a,.side-foot a,.side-foot button{display:flex;align-items:center;gap:.75rem;width:100%;font:500 1rem var(--body);color:var(--muted);
  text-decoration:none;background:none;border:0;border-radius:.8rem;padding:.65rem .75rem;cursor:pointer;text-align:left}
.side nav a:hover,.side-foot a:hover,.side-foot button:hover{color:#fff;background:rgba(124,140,255,.1)}
.side nav a[aria-current="page"]{color:#fff;font-weight:600;background:linear-gradient(90deg,rgba(47,140,255,.3),rgba(138,43,255,.3))}
.side-foot{border-top:1px solid var(--line);padding-top:.8rem;display:flex;flex-direction:column;gap:.15rem}
.side-user{padding:.3rem .75rem .6rem;font-size:.92rem;color:var(--muted);overflow-wrap:anywhere}
.side-user b{display:block;color:var(--text);font-weight:600}
.hq-main{padding:1.6rem clamp(1.2rem,2.6vw,2.4rem) 4rem;min-width:0}
.hq-head{display:flex;flex-wrap:wrap;align-items:center;gap:.9rem;margin-bottom:1.4rem;min-height:2.6rem}
.hq-head .demo-tag{margin-top:0}
.hq-head .push{margin-left:auto}
.view > .panel:first-child{margin-top:0}
.gap-top{margin-top:1.3rem}
.small{font-size:.9rem}

.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.3rem}
.kpis-5{grid-template-columns:repeat(5,1fr)}
.kpis-3{grid-template-columns:repeat(3,1fr)}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:1.2rem;padding:1.05rem 1.2rem;min-width:0;position:relative;overflow:hidden}
.kpi::before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--kpi,var(--brand))}
.kpi-label{display:block;color:var(--muted);font-size:.88rem}
.kpi-value{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;font-family:var(--display);font-weight:500;font-size:1.35rem;margin-top:.35rem;font-variant-numeric:tabular-nums}
.kpi-note{display:block;color:var(--muted);font-size:.84rem;margin-top:.3rem}

.legend{display:flex;flex-wrap:wrap;gap:.3rem 1.1rem;font-size:.9rem;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:.45rem}
.legend i{display:inline-block;width:.8rem;height:.8rem;border-radius:.25rem;flex:none}
.chart .bar{transition:opacity .12s}
.chart .series{fill:none;stroke-width:2.4;stroke-linejoin:round;stroke-linecap:round}
.chart-tip .row{display:flex;justify-content:space-between;gap:1.2rem;font-size:.9rem}
.chart-tip .row i{display:inline-block;width:.6rem;height:.6rem;border-radius:.2rem;margin-right:.4rem}
.chart-tip .date{display:block;font-size:.82rem;color:var(--muted);margin-bottom:.25rem}

.mix-bar{display:flex;height:1.1rem;border-radius:999px;overflow:hidden;gap:3px;margin:1.3rem 0 1.1rem}
.mix-bar i{display:block;height:100%;min-width:4px}
.mix-rows{list-style:none;margin:0;padding:0}
.mix-rows li{display:flex;align-items:center;gap:.8rem;padding:.6rem 0;border-top:1px solid var(--line)}
.mix-rows .count{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums}
.mix-rows .pct{width:3.6rem;text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}

.flow svg{display:block;width:100%;height:auto}
.flow .node-label{fill:var(--text);font:600 .92rem var(--body)}
.flow .node-amount{fill:var(--text);font:500 1.05rem var(--display)}
.flow .node-sub{fill:var(--muted);font:500 .84rem var(--body)}
.flow-note{margin-top:.8rem}

.toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-bottom:.4rem}
.toolbar .push{margin-left:auto}
.search{display:flex;align-items:center;gap:.5rem;background:var(--field);border:1px solid var(--line);border-radius:.8rem;padding:0 .8rem;min-width:19rem;color:var(--muted)}
.search input{border:0;background:none;padding:.6rem 0;box-shadow:none}
.search input:focus{box-shadow:none}
.search:focus-within{border-color:#7C8CFF;box-shadow:0 0 0 3px rgba(108,91,255,.35)}
table.data th button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:.25rem}
table.data th button:hover{color:#fff}
table.data th[aria-sort] button{color:#fff}
table.data th .icon{width:.85rem;height:.85rem;stroke-width:2.6}
.who-cell{display:flex;align-items:center;gap:.6rem;min-width:11rem}
.who-cell small{display:block;color:var(--muted);font-size:.85rem}
.initial{display:grid;place-items:center;width:2.1rem;height:2.1rem;border-radius:50%;font-weight:700;font-size:.9rem;color:#fff;flex:none}
.initial-artist{background:linear-gradient(135deg,#2F8CFF,#5B6BFF)}
.initial-label{background:linear-gradient(135deg,#8A2BFF,#C61BD0)}
.kind{font-size:.84rem;color:var(--muted)}
.sample-mark{font-size:.75rem;color:#F3B9F6;border:1px dashed rgba(198,27,208,.7);border-radius:999px;padding:.05rem .45rem;margin-left:.4rem;white-space:nowrap}
.pill{display:inline-block;font-size:.82rem;font-weight:600;border-radius:999px;padding:.18rem .6rem;border:1.5px solid}
.reports{list-style:none;margin:1rem 0 0;padding:0}
.reports li{display:flex;align-items:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--line)}
.reports li:last-child{border-bottom:1px solid var(--line)}
.reports .icon{width:1.6rem;height:1.6rem;color:#9DB8FF}
.reports b{display:block;font-weight:600}
.reports small{display:block;color:var(--muted);font-size:.93rem}

@media (max-width:75rem){ .kpis,.kpis-5{grid-template-columns:repeat(2,1fr)} }
@media (max-width:60rem){
  .hq{grid-template-columns:1fr}
  .side{position:static;height:auto;padding:.9rem 1rem}
  .side nav{flex-direction:row;flex-wrap:wrap}
  .side nav a{width:auto}
  .side-title{margin:.5rem .5rem .6rem}
  .side-foot{flex-direction:row;flex-wrap:wrap;margin-top:.6rem}
  .side-foot a,.side-foot button{width:auto}
  .side-user{display:none}
  .search{min-width:0;flex:1}
}

.hq table.data td{white-space:nowrap}
.hq .search{min-width:22rem}

/* ---------- v5: music upload ---------- */
.page-narrow{width:min(100% - 2.4rem,46rem)}
.page-narrow .wstep h1{font-size:1.6rem}
select{font:inherit;color:var(--text);background:var(--field);border:1px solid var(--line);border-radius:.8rem;padding:.78rem .7rem;width:100%}
select:focus{outline:none;border-color:#7C8CFF;box-shadow:0 0 0 3px rgba(108,91,255,.35)}
.st-bad{color:var(--bad);border-color:rgba(255,157,181,.55)}

.cover-edit{display:flex;gap:1.4rem;align-items:center;margin-top:1.5rem;flex-wrap:wrap}
.cover-preview{width:9rem;height:9rem;border-radius:1.1rem;display:grid;place-items:center;overflow:hidden;flex:none;color:#9DB8FF;
  background:linear-gradient(160deg,#17107a,#4a1fb0 60%,#8f1bb8);border:1px solid var(--line)}
.cover-preview img{width:100%;height:100%;object-fit:cover;display:block}
.cover-preview .icon{width:2.6rem;height:2.6rem;stroke-width:1.4}
.cover-edit .controls{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}

.tracks{list-style:none;margin:1.4rem 0 0;padding:0}
.tracks li{display:flex;align-items:center;gap:.9rem;padding:.75rem 0;border-top:1px solid var(--line)}
.tracks li:last-child{border-bottom:1px solid var(--line)}
.track-no{display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:rgba(124,140,255,.16);font-weight:600;font-variant-numeric:tabular-nums;flex:none;color:#C9D4FF}
.track-no .icon{width:1.1rem;height:1.1rem}
.tracks input{padding:.5rem .7rem}
.tracks small{display:block;color:var(--muted);font-size:.88rem;margin-top:.3rem}
.tracks b{display:block;font-weight:600}
.progress{display:block;height:.45rem;border-radius:999px;background:rgba(170,160,255,.2);overflow:hidden;margin-top:.5rem}
.progress i{display:block;height:100%;width:0;background:var(--brand);border-radius:999px;transition:width .2s}
.drop{display:flex;flex-direction:column;align-items:center;gap:.6rem;text-align:center;margin-top:1.3rem;padding:2rem 1rem;
  border:2px dashed rgba(124,140,255,.5);border-radius:1.2rem;color:var(--muted)}
.drop.over{border-color:#fff;background:rgba(124,140,255,.1)}
.drop > .icon{width:2rem;height:2rem;color:#9DB8FF}
.drop b{display:block;color:var(--text);font-weight:600}
.drop p span{font-size:.92rem}

.credits{margin-top:1.4rem}
.credit-row{display:grid;grid-template-columns:1.2fr .8fr 1.3fr 6.2rem 2.6rem;gap:.6rem;align-items:end;padding:.8rem 0;border-top:1px solid var(--line)}
.credit-row label span:first-child{display:block;font-size:.84rem;color:var(--muted);margin-bottom:.3rem}
.credit-row input,.credit-row select{padding:.6rem .7rem}
.pct-wrap{position:relative;display:block}
.pct-wrap input{padding-right:1.7rem;text-align:right;font-variant-numeric:tabular-nums}
.pct-wrap i{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);font-style:normal;color:var(--muted)}
.credit-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line)}
.credit-total{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;font-weight:600}
.credit-total .icon{width:1.2rem;height:1.2rem}
.credit-total.ok{color:var(--ok)}
.credit-total.off{color:#F0C98A}

.ai-questions{margin-top:1.3rem}
.ai-q{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem;padding:.9rem 0;border-top:1px solid var(--line)}
.ai-q b{display:block;font-weight:600}
.ai-q small{display:block;color:var(--muted);font-size:.9rem}
.ai-result{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem .8rem;margin-top:1.2rem;padding:1rem 1.1rem;border-radius:1rem;background:var(--panel);border:1px solid var(--line)}
.ai-result small{flex-basis:100%;color:var(--muted);font-size:.92rem}

.summary-card{margin-top:1.4rem;background:var(--panel);border:1px solid var(--line);border-radius:1.3rem;padding:1.3rem}
.summary-card h2{font-size:.95rem;margin:1.3rem 0 .3rem}
.summary-top{display:flex;gap:1.1rem;align-items:center}
.summary-top small{display:block;color:var(--muted);margin:.2rem 0 .5rem}
.sum-title{display:block;font-family:var(--display);font-weight:500;font-size:1.15rem}
.sum-list{margin:0;padding:0;list-style:none}
ol.sum-list{counter-reset:t}
ol.sum-list li{counter-increment:t}
ol.sum-list li::before{content:counter(t);color:var(--muted);width:1.4rem;font-variant-numeric:tabular-nums}
.sum-list li{display:flex;gap:.6rem;align-items:baseline;padding:.5rem 0;border-top:1px solid var(--line)}
.statement{margin-top:1.3rem;padding:1.1rem 1.2rem;border-left:3px solid;border-image:linear-gradient(180deg,var(--blue),var(--violet)) 1;background:rgba(124,140,255,.07)}
.statement h2{font-size:.95rem;margin-bottom:.5rem}
.statement p{color:#DADCFB}

.releases{list-style:none;margin:0;padding:0}
.releases li{display:flex;gap:1.1rem;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:1.3rem;padding:1rem 1.2rem;margin-top:1rem}
.releases b{display:block;font-family:var(--display);font-weight:500;font-size:1.05rem}
.releases small{display:block;color:var(--muted);margin-top:.2rem}
.release-cover{display:grid;place-items:center;width:4.6rem;height:4.6rem;border-radius:.9rem;overflow:hidden;flex:none;color:#fff;background:linear-gradient(160deg,#2a1cc0,#7d1fd6 60%,#c61bd0)}
.release-cover.big{width:6rem;height:6rem}
.release-cover img{width:100%;height:100%;object-fit:cover;display:block}
.release-cover .icon{width:1.8rem;height:1.8rem}
.release-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem;align-items:center}
.release-actions{display:flex;flex-direction:column;gap:.5rem}
.review-note{margin-top:.6rem;color:var(--bad);font-size:.95rem}

/* master admin: review queue */
.count-dot{display:inline-grid;place-items:center;min-width:1.4rem;height:1.4rem;padding:0 .35rem;border-radius:999px;background:var(--magenta);color:#fff;font-size:.78rem;font-weight:700;margin-left:auto}
.review-card{display:grid;grid-template-columns:8rem minmax(0,1fr);gap:1.4rem}
.review-card .release-cover{width:8rem;height:8rem;border-radius:1rem}
.review-cols{display:grid;grid-template-columns:1fr 1fr 1fr;gap:1.6rem;margin-top:1.1rem}
.review-cols h3{font-size:.86rem;color:var(--muted);font-family:var(--body);font-weight:600;margin-bottom:.4rem}
.review-cols ul{list-style:none;margin:0;padding:0;font-size:.96rem}
.review-cols li{display:flex;gap:.6rem;padding:.35rem 0;border-top:1px solid var(--line);white-space:normal}
.review-actions{display:flex;flex-wrap:wrap;gap:.7rem;align-items:flex-start;margin-top:1.2rem}
.review-actions textarea{min-height:3rem;flex:1;min-width:16rem}

@media (max-width:44rem){
  .credit-row{grid-template-columns:1fr 1fr}
  .credit-row .c-email{grid-column:1 / -1}
  .releases li{flex-wrap:wrap}
  .release-actions{flex-direction:row}
  .review-card,.review-cols{grid-template-columns:1fr}
}
@media (max-width:40rem){
  .topbar{padding-inline:.7rem;gap:.3rem}
  .topbar nav{gap:.1rem}
  .topbar nav a{padding:.5rem .5rem}
  .topbar .right{gap:.3rem}
  .topbar .icon-btn{width:2.3rem;height:2.3rem}
  .topbar .brand svg{width:2.4rem}
}

/* ---------- v6: confirmations on each upload step ---------- */
.attest{margin-top:1.6rem;padding:1rem 1.1rem;border:1px solid rgba(124,140,255,.5);border-radius:1rem;background:rgba(124,140,255,.08);color:var(--text)}
.attest:has(input:checked){border-color:rgba(127,227,176,.6);background:rgba(60,200,140,.08)}
.confirmed{list-style:none;margin:1.3rem 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:.4rem 1.2rem;font-size:.96rem}
.confirmed li{display:flex;align-items:center;gap:.5rem}
.confirmed .icon{width:1.15rem;height:1.15rem}
.confirmed .yes{color:var(--ok)}
.confirmed .no{color:#F0C98A}
@media (max-width:40rem){ .confirmed{grid-template-columns:1fr} }

/* ---------- v7: keys, payout setup, sending payouts ---------- */
.flat-tag{margin-top:0}
.send-row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-top:.4rem}
.send-row .field{margin-top:.6rem;min-width:18rem;flex:0 1 22rem}
.webhook-box{margin-top:1.3rem;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:1rem;background:var(--field)}
.webhook-box b{display:block;font-weight:600;font-size:.95rem}
.webhook-box code{display:block;margin:.4rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;color:#C9D4FF;overflow-wrap:anywhere;user-select:all}
.webhook-box small{display:block;color:var(--muted);font-size:.9rem}
#st-test-msg{font-size:.95rem}

.webhook-box small + small{margin-top:.5rem}
.webhook-box small b{display:inline;color:var(--text)}

/* ---------- v10: detection ---------- */
.rules{list-style:none;margin:.4rem 0 0;padding:0}
.rules li{display:grid;grid-template-columns:11rem 1fr auto;gap:1rem;align-items:baseline;padding:.6rem 0;border-bottom:1px solid var(--line)}
.rules li:last-child{border-bottom:0}
.rules b{font-weight:600}
.rules li > span{color:var(--muted)}
.rules .rule-n{font-variant-numeric:tabular-nums;white-space:nowrap}
.rules .rule-n.hit{color:#F0C98A;font-weight:600}
@media (max-width:46rem){ .rules li{grid-template-columns:1fr auto} .rules li > span:not(.rule-n){grid-column:1 / -1;grid-row:2} }

/* ---------- v14: the wave lines from the landing page, behind a signed-in page ---------- */
body.has-waves{background:radial-gradient(ellipse 70% 42rem at 88% -6rem,rgba(110,60,235,.42),transparent 62%),radial-gradient(ellipse 50% 30rem at 0% 12rem,rgba(47,90,255,.16),transparent 65%),var(--ink);background-attachment:fixed}
.page-waves{position:fixed;inset:4.5rem 0 auto 0;width:100%;height:min(40rem,72vh);z-index:-1;pointer-events:none}
.page-waves path{opacity:.5}
body.has-waves .panel{background:rgba(13,9,66,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
@media (max-width:40rem){ .page-waves{height:26rem} .page-waves path{opacity:.32} }

/* ---------- v15: teams and the roster ---------- */
.role-tag{font-size:.8rem;font-weight:500;color:var(--muted);border-left:1px solid var(--line);padding-left:.55rem;margin-left:.15rem;white-space:nowrap}
.scope-note{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin:1.2rem 0 0;padding:.75rem 1rem;border:1px solid rgba(124,140,255,.5);border-radius:1rem;background:rgba(124,140,255,.1)}
.scope-note a{margin-left:auto;font-weight:600}
.sub-head{font-family:var(--body);font-size:1rem;font-weight:600;margin:1.6rem 0 0}
.issued{margin-top:1.3rem;padding:1rem 1.1rem;border:1px solid rgba(127,227,176,.5);border-radius:1rem;background:rgba(60,200,140,.07)}
.issued dl{margin:.6rem 0 0;display:grid;grid-template-columns:auto 1fr;gap:.45rem 1rem;align-items:baseline}
.issued dt{color:var(--muted);font-size:.92rem}
.issued dd{margin:0;min-width:0}
.issued code,#team-body code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.95rem;color:#C9D4FF;overflow-wrap:anywhere;user-select:all}
.issued .form-actions{margin-top:.9rem;align-items:center}
.row-actions{display:flex;flex-wrap:wrap;gap:.4rem;justify-content:flex-end}
.inline-form{display:flex;flex-wrap:wrap;gap:.8rem;align-items:flex-end;margin-top:1.4rem}
.inline-form .field{flex:1 1 16rem;margin-top:0}
.block{display:block}
@media (max-width:40rem){ .role-tag{display:none} .issued dl{grid-template-columns:1fr} }

/* ---------- v16: optional ISRC on each track ---------- */
.track-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .9rem;margin-top:.35rem}
input.isrc{width:13.5rem;max-width:100%;padding:.32rem .6rem;font-size:.86rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;border-radius:.6rem}
input.isrc::placeholder{font-family:var(--body)}

/* ---------- v16: a label choosing who is paid ---------- */
.pay-mode{margin-top:1.2rem}
.label-all{margin-top:1.2rem;padding:.9rem 1.1rem;border:1px solid var(--line);border-radius:1rem;background:var(--field);font-weight:600}
.pay-mode label > span{display:block}
.pay-mode small{display:block;font-weight:400;color:var(--muted);margin-top:.25rem;line-height:1.4}

/* ---------- v17: label partners and feed deliveries ---------- */
.tag-undeclared{color:#F0C98A;border-color:rgba(240,201,138,.5)}
code.path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;color:#C9D4FF;overflow-wrap:anywhere}
.wrap{display:block;min-width:16rem;max-width:34rem;white-space:normal}
.pt-auto{align-self:end;margin-bottom:.4rem}

/* ---------- v18: sales reports ---------- */
.month-pick{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--muted)}
.month-pick input{width:auto;padding:.35rem .6rem;font-size:.9rem}

/* ---------- v21: confirm your email ---------- */
.confirm-banner{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;margin:1rem auto 0;padding:1rem 1.2rem;max-width:var(--wide,1180px);width:calc(100% - 2.4rem);box-sizing:border-box;border-radius:1rem;border:1px solid rgba(240,201,138,.55);background:rgba(240,201,138,.10)}
.confirm-banner > div{flex:1 1 22rem;display:flex;flex-direction:column;gap:.15rem}
.confirm-banner > div span{color:var(--muted);font-size:.93rem}
.confirm-banner.done{border-color:rgba(155,245,200,.6);background:rgba(155,245,200,.10)}
.confirm-form{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.confirm-form .code-input{width:8.5rem;padding:.45rem .6rem;font-size:1.15rem;letter-spacing:.25em;text-align:center;font-variant-numeric:tabular-nums}
.confirm-msg{flex-basis:100%;font-size:.9rem;color:var(--muted)}
.confirm-msg.bad{color:#FFB3C6}
.link-btn{background:none;border:0;padding:0;font:inherit;color:#BFD6FF;text-decoration:underline;cursor:pointer}

/* ---------- v23: explicit mark, app settings, featured release ---------- */
.explicit-check{display:inline-flex;align-items:center;gap:.4rem;font-size:.86rem;color:var(--muted);cursor:pointer}
.explicit-check input{width:1rem;height:1rem;accent-color:#8A2BFF}
.e-mark{display:inline-grid;place-items:center;width:1.05rem;height:1.05rem;margin-left:.35rem;border-radius:.25rem;font-size:.68rem;font-weight:800;color:#07041F;background:rgba(255,255,255,.78);vertical-align:middle}

/* ---------- v24: ads ---------- */
.ad-edit{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:2rem;align-items:start}
@media (max-width:70rem){ .ad-edit{grid-template-columns:1fr} }
.ad-preview-col{position:sticky;top:1rem}
.ad-phone{width:400px;max-width:100%;padding:18px 19px;border-radius:2rem;border:1px solid var(--line);
  background:radial-gradient(120% 80% at 10% 0%,#3A1570 0%,#150A3F 55%,#0A0628 100%)}
.ad-phone-row{margin:4px 0 14px}
.ad-phone-row:last-child{margin:16px 0 2px}
.ad-ghost{display:block;border-radius:6px;background:rgba(255,255,255,.14)}
.ad-ghost-title{width:42%;height:16px}
.ad-ghost-cards{display:flex;gap:12px;margin-top:12px}
.ad-ghost-cards span{flex:1;aspect-ratio:1;border-radius:14px;background:rgba(255,255,255,.09)}
.ad-pic-actions{justify-content:flex-start}
.adx{position:relative;display:flex;width:100%;overflow:hidden;color:#fff;border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(120deg,rgba(138,43,255,.42),rgba(198,27,208,.2) 55%,rgba(47,140,255,.22));background-size:cover;background-position:center;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;line-height:1.25;text-align:left}
.adx-jumbo{aspect-ratio:16/9;border-radius:26px;align-items:flex-end}
.adx-large{aspect-ratio:2/1;border-radius:24px;align-items:flex-end}
.adx-medium{aspect-ratio:3/1;border-radius:22px;align-items:center}
.adx-small{aspect-ratio:6/1;border-radius:18px;align-items:center}
.adx-scrim::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,4,30,.05) 30%,rgba(8,4,30,.78))}
.adx-medium.adx-scrim::before,.adx-small.adx-scrim::before{background:linear-gradient(90deg,rgba(8,4,30,.78),rgba(8,4,30,.25))}
.adx-tag{position:absolute;top:10px;right:10px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 7px;border-radius:7px;
  background:rgba(8,4,30,.62);color:rgba(255,255,255,.92);max-width:70%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adx-small .adx-tag{top:6px;right:8px;font-size:9px;padding:2px 6px}
.adx .adx-tag-in{position:static;flex:none;max-width:none}
.adx-in{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:16px}
.adx-small .adx-in{padding:0 14px;gap:10px}
.adx-medium .adx-in{padding:0 16px}
.adx-icon{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,255,255,.14);font-size:20px}
.adx-small .adx-icon{width:34px;height:34px;border-radius:10px;font-size:16px}
.adx-words{min-width:0;flex:1}
.adx-words b{display:block;font-size:17px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.adx-words span{display:block;font-size:13px;color:rgba(255,255,255,.74);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}
.adx-jumbo .adx-words b,.adx-large .adx-words b{font-size:21px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.adx-small .adx-words b{font-size:14px}
.adx-small .adx-words span{font-size:12px;margin-top:0}
.adx-go{flex:none;font-size:13px;font-weight:600;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.3);white-space:nowrap}
.adx-small .adx-go{padding:5px 10px;font-size:12px}
.adx-play{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1a0b45;padding-left:2px}
.adx-play .icon{width:22px;height:22px;stroke:none}
.adx-icon .icon{width:22px;height:22px}
.adx-small .adx-icon .icon{width:18px;height:18px}
.ad-dots{display:flex;justify-content:center;gap:6px;margin-top:9px}
.ad-dots i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.3)}
.ad-dots i:first-child{width:18px;border-radius:3px;background:#fff}
.ad-sizes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.6rem;margin-top:1.4rem}
@media (max-width:60rem){ .ad-sizes{grid-template-columns:1fr} }
.ad-size-box{max-width:362px}
.ad-size-box h3{font-family:var(--body);font-size:1rem;font-weight:600;margin:0 0 .2rem}
.ad-size-box p{color:var(--muted);font-size:.92rem;margin:0 0 .7rem}
.ad-thumb{width:5.2rem;height:2.9rem;border-radius:.5rem;object-fit:cover;display:block;border:1px solid var(--line)}
.ad-cell{display:flex;align-items:center;gap:.8rem;min-width:13rem}
.ad-opens{max-width:17rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ad-cell b{display:block}
.ad-thumb{flex:none}
.ad-thumb-none{display:grid;place-items:center;font-size:.68rem;color:var(--muted);text-align:center;line-height:1.1;background:linear-gradient(120deg,rgba(138,43,255,.35),rgba(47,140,255,.2))}
.ad-dates{margin-top:.35rem;white-space:nowrap}
#ad-table .row-actions{flex-wrap:wrap;max-width:10rem}
#ad-table .btn-small{padding:.4rem .75rem;font-size:.88rem}
#staff-note .notice{margin-bottom:1rem}

/* Editing a live release */
.back-link{margin:0 0 .6rem;font-size:.95rem}
.edit-song{padding:1.1rem 0;border-top:1px solid var(--line)}
.edit-song:first-child{border-top:0;padding-top:.4rem}
.edit-song-head{display:flex;align-items:center;gap:.9rem}
.edit-song-head .grow{flex:1;min-width:0}
.edit-song-head input[type=text]{padding:.5rem .7rem}
.edit-song h3{font-size:.95rem;margin:1rem 0 .5rem;color:var(--muted);font-weight:600}
.credit-lines{display:grid;gap:.5rem;margin-bottom:.7rem}
.credit-line{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:.5rem;align-items:center}
.credit-line input,.credit-line select{padding:.5rem .7rem;min-width:0}
.change-list{list-style:none;margin:1rem 0 0;padding:0}
.change-list li{padding:.7rem 0;border-top:1px solid var(--line)}
.change-list li:first-child{border-top:0}
.change-list small{display:block;color:var(--muted);font-size:.88rem;margin-bottom:.2rem}
.change-list span{white-space:pre-line}
@media (max-width:560px){.credit-line{grid-template-columns:1fr auto}.credit-line select{grid-column:1}}
.change-row{display:flex;gap:1rem;align-items:flex-start}
.change-row b{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}

/* Lyrics: the box under each song on the upload, edit and HQ pages */
.lyrics-box{margin-top:.8rem}
.lyrics-panel{display:grid;gap:.6rem;margin-top:.7rem;padding:.9rem;border:1px solid var(--line);border-radius:.9rem}
.lyrics-panel textarea{min-height:11rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92rem;line-height:1.5}
.lyrics-row{display:flex;flex-wrap:wrap;gap:.6rem 1rem;align-items:center}
.lyrics-row .btn{white-space:nowrap}
.lyrics-field{display:flex;align-items:center;gap:.5rem;font-size:.92rem;color:var(--muted)}
.lyrics-field input{padding:.45rem .65rem}
.lyrics-field.grow{flex:1 1 16rem}
.lyrics-field.grow input{flex:1;min-width:0}
.lyrics-field .lyrics-lang{width:4.2rem;flex:none;text-transform:lowercase}
.lyrics-sheet{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:1rem;background:rgba(7,4,31,.72)}
.lyrics-sheet .panel{width:min(46rem,100%);max-height:92vh;overflow:auto;margin:0}
.lyrics-sheet .panel-head{align-items:flex-start}
.lyrics-sheet .panel-head .grow{flex:1}
.lyrics-sheet .panel-head small{display:block;color:var(--muted);font-weight:400}
.lyrics-mark{display:inline-flex;align-items:center;gap:.3rem;color:var(--muted);font-size:.9rem}
.lyrics-mark.on{color:var(--ok)}
#so-import{margin:1rem 0 .5rem;padding:1rem;border:1px solid var(--line);border-radius:.9rem}
#so-import .change-list li{display:grid;gap:.15rem}

/* Three small number boxes side by side (the plan caps) */
.three-in{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}
