/* UNISON Product System: one light, tactile visual language for Django and React surfaces. */
@import url('/static/css/page-my-music.css?v=20260901-glass-contract-2');
:root {
  color-scheme: light;
  --u-bg:#f3f4ef; --u-surface:rgba(255,255,252,.84); --u-solid:#fffefa;
  --u-soft:#f5f7f2; --u-ink:#1f2b27; --u-text:#42504a; --u-muted:#78837b;
  --u-line:rgba(73,125,164,.16); --u-sage:#5aa7ff; --u-sage-deep:#2f76c4;
  --u-mint:#78f0d7; --u-mint-soft:#e1faf4; --u-success:#238b70;
  --u-warning:#b57b28; --u-danger:#ba5360; --u-radius:22px;
  --u-shadow:0 16px 34px rgba(47,61,53,.09),inset 0 1px 0 rgba(255,255,255,.88);
  --accent-1:var(--u-sage); --accent-2:var(--u-mint); --accent-3:var(--u-mint); --accent-4:#d9e9f5;
  --accent:var(--u-sage); --accent-600:var(--u-sage-deep); --accent-50:var(--u-mint-soft); --accent-100:#d9f5ef;
  --text:var(--u-ink); --muted:var(--u-muted); --cabinet-card-radius:var(--u-radius);
  --cabinet-card-border:var(--u-line); --cabinet-card-shadow:var(--u-shadow); --cabinet-card-gap:18px;
}
html,body { background:var(--u-bg)!important; color:var(--u-ink); }
body { font-family:Manrope,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; letter-spacing:-.01em; }
/* Artist workspace keeps the signature live blue/mint spectrum on every route. */
body.app-role-artist { --accent-1:#5aa7ff; --accent-2:#78f0d7; --accent-3:#78f0d7; --accent-4:#d9e9f5; --accent:#5aa7ff; --accent-600:#2f76c4; --accent-50:#eaf8ff; --accent-100:#d9f5ef; --site-bg-solid:#edf8ff; --site-bg-top:#f8fcff; --site-bg-mid:#e9f7ff; --site-bg-bottom:#e3f0ff; --site-bg-glow-a:rgba(90,167,255,.43); --site-bg-glow-b:rgba(120,240,215,.34); --site-bg-glow-c:rgba(120,240,215,.22); }
.top-header { top:14px; }.nav-ribbon { top:88px; }.page-content { padding-top:150px; }
.top-header .bg-white,.nav-ribbon .bg-white,.glass-surface,.public-header .glass-surface,.section-card,.dash-glass,.rm-panel,.rm-card,.auth-card,.public-card,.table-card,.ops-table,.notice,.report-card,.payout-card,.market-card,.settings-card,.service-card,.rights-card,.finance-card,.ticket-card { border:1px solid var(--u-line)!important; background:linear-gradient(145deg,rgba(255,255,252,.9),rgba(247,249,243,.72))!important; box-shadow:var(--u-shadow)!important; backdrop-filter:blur(18px) saturate(120%); -webkit-backdrop-filter:blur(18px) saturate(120%); }
.top-header .bg-white { border-radius:24px; }.nav-ribbon .bg-white { border-radius:0 0 18px 18px; }
.brand-badge { border-radius:14px; background:linear-gradient(145deg,#eef4ec,#dbe9dd)!important; box-shadow:none; }
.primary-nav { gap:4px; padding:7px 9px; }.primary-nav-lens { display:none!important; }
.primary-nav-link { border-radius:12px!important; color:var(--u-text)!important; font-size:12px; font-weight:800; }.primary-nav-link.is-active,.primary-nav-link:hover { color:var(--u-sage-deep)!important; background:var(--u-mint-soft)!important; }
h1,h2,h3,h4,h5,h6,.rm-title,.rm-section-title { color:var(--u-ink)!important; letter-spacing:-.045em; }h1,.rm-title { font-weight:850; }
.text-slate-900,.text-slate-950,.text-slate-800 { color:var(--u-ink)!important; }.text-slate-700,.text-slate-600 { color:var(--u-text)!important; }.text-slate-500,.text-slate-400,.rm-muted,.rm-subtitle { color:var(--u-muted)!important; }
.rm-eyebrow,.label-custom { color:var(--u-sage-deep)!important; font-size:10px!important; font-weight:900!important; letter-spacing:.13em!important; }.rm-metric-value,.text-3xl,.text-4xl { font-variant-numeric:tabular-nums; }
button,input,select,textarea { font-family:inherit; }input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea { min-height:44px; border:1px solid var(--u-line)!important; border-radius:13px!important; background:rgba(255,255,252,.88)!important; color:var(--u-ink)!important; }input::placeholder,textarea::placeholder { color:#9aa39d!important; }input:focus,select:focus,textarea:focus { border-color:rgba(73,104,88,.62)!important; box-shadow:0 0 0 4px rgba(127,157,136,.15)!important; outline:none; }
button,.rm-button,.music-create-release,.droplet-cta,.balance-action,.catalog-release__actions>a { border-radius:13px!important; font-weight:850!important; transition:transform .18s cubic-bezier(.22,1,.36,1),box-shadow .18s ease,background .18s ease; }button:hover:not(:disabled),.rm-button:hover,.music-create-release:hover { transform:translateY(-1px); }button:disabled,[aria-disabled=true] { cursor:not-allowed; opacity:.48; box-shadow:none!important; }
.rm-button,.music-create-release,.bg-emerald-500,.bg-green-500,.bg-slate-900 { background:linear-gradient(135deg,#5aa7ff,#78f0d7)!important; color:#fff!important; box-shadow:0 8px 17px rgba(90,167,255,.24)!important; }.text-emerald-600,.text-green-600 { color:var(--u-success)!important; }.text-rose-600,.text-red-600 { color:var(--u-danger)!important; }.text-amber-600,.text-amber-700 { color:var(--u-warning)!important; }
.section-card,.rm-panel,.rm-card,.report-card,.payout-card,.market-card,.settings-card,.service-card,.rights-card,.finance-card,.ticket-card { border-radius:var(--u-radius)!important; }.rm-card { padding:18px!important; min-height:auto!important; }.rm-card:hover,.section-card:hover,a.market-card:hover,a.rm-card:hover { border-color:rgba(73,104,88,.28)!important; box-shadow:0 18px 34px rgba(47,61,53,.11)!important; }
/* No dark cards: dashboard heroes and money widgets use the same light surface. */
body.app-role-artist .artist-overview .rm-page-header,body.app-role-artist .artist-home-money,body.app-role-artist .artist-home-money .rm-card,body.app-role-artist .rm-panel,body.app-role-artist .rm-card { background:linear-gradient(145deg,rgba(255,255,253,.94),rgba(240,249,245,.82))!important; color:var(--u-ink)!important; }
body.app-role-artist .artist-overview .rm-page-header .rm-title,body.app-role-artist .artist-overview .rm-page-header .rm-subtitle,body.app-role-artist .artist-home-money .artist-home-head h2,body.app-role-artist .artist-home-money .artist-home-head p,body.app-role-artist .artist-home-money small,body.app-role-artist .artist-home-money strong { color:var(--u-ink)!important; }
body.app-role-artist .artist-overview .rm-page-header .rm-button { background:linear-gradient(135deg,#5aa7ff,#78f0d7)!important; color:#fff!important; }
/* Artist surfaces keep the original UNISON blue/turquoise signature, never sage. */
body.app-role-artist .rm-button,
body.app-role-artist .music-create-release,
body.app-role-artist .balance-action,
body.app-role-artist .catalog-release__actions>a { background:linear-gradient(135deg,#5aa7ff,#78f0d7)!important; box-shadow:0 8px 17px rgba(90,167,255,.24)!important; }
body.app-role-artist .rm-eyebrow,
body.app-role-artist .label-custom,
body.app-role-artist .primary-nav-link.is-active,
body.app-role-artist .primary-nav-link:hover { color:#167f99!important; }
body.app-role-artist .primary-nav-link.is-active,
body.app-role-artist .primary-nav-link:hover,
body.app-role-artist .mobile-dock>a.is-active,
body.app-role-artist .mobile-dock>button.is-active { background:#e3f8f5!important; }
body.app-role-artist .rm-panel,
body.app-role-artist .rm-card,
body.app-role-artist .section-card { border-color:rgba(67,147,176,.16)!important; background:linear-gradient(145deg,rgba(255,255,255,.93),rgba(232,248,249,.78))!important; }
/* Artist and label cabinets use the original UNISON live canvas palette.
   These colours deliberately match the brand tokens used by the public app. */
html:has(body.app-role-artist),
html:has(body.app-role-label),
html:has(body.app-role-label_admin),
html:has(body.app-role-label_manager),
body.app-role-artist,
body.app-role-label,
body.app-role-label_admin,
body.app-role-label_manager { background:transparent!important; }
body.app-role-artist,
body.app-role-label,
body.app-role-label_admin,
body.app-role-label_manager { isolation:isolate; }
body.app-role-artist .ambient-bg,
body.app-role-label .ambient-bg,
body.app-role-label_admin .ambient-bg,
body.app-role-label_manager .ambient-bg {
  z-index:-1;
  overflow:hidden;
  background:
    radial-gradient(42rem 28rem at 8% 12%,rgba(90,167,255,.34),transparent 72%),
    radial-gradient(36rem 24rem at 92% 18%,rgba(120,240,215,.32),transparent 74%),
    radial-gradient(44rem 30rem at 30% 100%,rgba(120,240,215,.20),transparent 78%),
    linear-gradient(180deg,#fbfbfc 0%,#f4f4f6 45%,#eeeeef 100%)!important;
  background-size:118% 118%,115% 115%,120% 120%,100% 100%;
  animation:unison-brand-ambient 18s ease-in-out infinite alternate;
}
body.app-role-artist .ambient-bg::before,
body.app-role-artist .ambient-bg::after,
body.app-role-label .ambient-bg::before,
body.app-role-label .ambient-bg::after,
body.app-role-label_admin .ambient-bg::before,
body.app-role-label_admin .ambient-bg::after,
body.app-role-label_manager .ambient-bg::before,
body.app-role-label_manager .ambient-bg::after {
  display:block!important;
  content:""!important;
  width:115vw;
  height:34vh;
  left:-12vw;
  border-radius:999px;
  filter:blur(52px);
  background:linear-gradient(90deg,rgba(90,167,255,.56),rgba(120,240,215,.48),rgba(217,233,245,.42),rgba(120,240,215,.34))!important;
  animation:unison-brand-wave 14s ease-in-out infinite alternate;
}
body.app-role-artist .ambient-bg::before,
body.app-role-label .ambient-bg::before,
body.app-role-label_admin .ambient-bg::before,
body.app-role-label_manager .ambient-bg::before { top:17vh; opacity:.34!important; }
body.app-role-artist .ambient-bg::after,
body.app-role-label .ambient-bg::after,
body.app-role-label_admin .ambient-bg::after,
body.app-role-label_manager .ambient-bg::after { top:59vh; opacity:.26!important; animation-delay:-6s; }
@keyframes unison-brand-ambient { from { background-position:0% 0%,100% 0%,0% 100%,0 0; } to { background-position:12% 8%,86% 12%,14% 88%,0 0; } }
@keyframes unison-brand-wave { from { transform:translate3d(-5%,-2%,0) rotate(-7deg); } to { transform:translate3d(7%,4%,0) rotate(8deg); } }
.rm-badge,.status-chip,.catalog-release__status,.inline-flex.rounded-full { border:1px solid rgba(73,104,88,.12); box-shadow:none; }.bg-emerald-100 { background:#e2f1e6!important; }.bg-amber-100 { background:#f8eddb!important; }.bg-rose-100,.bg-red-100 { background:#fae7e8!important; }.bg-slate-100,.bg-slate-50 { background:#f1f3ed!important; }
.rm-list-row,td,th { border-color:var(--u-line)!important; }.rm-list-row strong,.catalog-release__identity strong { color:var(--u-ink)!important; }th { color:var(--u-muted)!important; font-size:10px!important; letter-spacing:.08em!important; text-transform:uppercase; }tbody tr { transition:background .16s ease; }tbody tr:hover { background:rgba(228,240,230,.44)!important; }.rm-state { border:1px dashed rgba(73,104,88,.24)!important; border-radius:18px!important; background:#f5f8f2!important; color:var(--u-text)!important; }
[role=dialog],.modal-content,.modal-box,.fixed .section-card { border:1px solid var(--u-line)!important; background:var(--u-solid)!important; box-shadow:0 24px 60px rgba(31,43,39,.2)!important; }.public-footer { border:1px solid var(--u-line)!important; border-radius:22px; background:var(--u-surface)!important; box-shadow:0 4px 14px rgba(47,61,53,.055); }
@media(max-width:1023px){.top-header{top:8px}.nav-ribbon{display:none}.page-content{padding-top:82px}.top-header .bg-white{min-height:58px;border-radius:20px}.rm-page,.music-catalog-page,.release-detail-page{padding-left:16px!important;padding-right:16px!important}}
@media(max-width:767px){:root{--cabinet-card-gap:12px;--cabinet-card-radius:18px}body{font-size:15px}.top-header .app-shell{padding:0 12px}.top-header .bg-white{padding:8px 11px!important}.top-header .brand-badge{width:38px;height:38px}.rm-card,.rm-panel,.section-card{border-radius:18px!important}.rm-card{padding:15px!important}.rm-grid,.rm-grid--2,.rm-grid--3,.rm-grid--4{gap:12px!important}.mobile-dock{border:1px solid rgba(255,255,255,.78)!important;background:rgba(255,255,252,.8)!important;box-shadow:0 12px 28px rgba(47,61,53,.16)!important;backdrop-filter:blur(18px)}.mobile-dock>a.is-active,.mobile-dock>button.is-active{background:var(--u-mint-soft)!important;color:var(--u-sage-deep)!important}.catalog-section,.catalog-controls,.music-header{border-color:var(--u-line)!important;box-shadow:0 4px 14px rgba(47,61,53,.055)!important}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:1ms!important}}

/* Mandatory surface contract: every content block is an individual light
   glass module; page shells stay transparent so the live background remains
   visible between modules. */
:where(.glass-surface,.section-card,.dash-glass,.rm-page-header,.rm-panel,.rm-card,
  .auth-card,.public-card,.table-card,.ops-table,.notice,.report-card,.payout-card,
  .market-card,.settings-card,.service-card,.rights-card,.finance-card,.ticket-card,
  .glass-card-surface,.app-shell-soft,.app-shell-strong) {
  border: 1px solid rgba(255,255,255,.78) !important;
  background: linear-gradient(145deg, rgba(255,255,255,.88), rgba(239,249,252,.72)) !important;
  box-shadow: 0 16px 34px rgba(35,94,125,.12) !important;
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
}
:where(.music-catalog-page,.site-shell-bg > .app-shell,.release-detail-page) {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
