:root{
  /* ---------- brand color tokens: divine burgundy & champagne gold ---------- */
  --maroon:#581825;
  --maroon-deep:#420D17;
  --maroon-lift:#6E2232;
  --maroon-av:#581825;
  --ink-strong:#381219;
  --ink-gold:#380C14;
  --ink:#261417;
  --ink-soft:#564448;
  --ink-mute:#685659;
  --muted:#685659;
  --muted-2:#9E8C8E;
  --muted-3:#BDB0B2;
  --gold:#C5A059;
  --gold-soft:#DFC27D;
  --gold-line:#E8D4A2;
  --gold-line-2:#EFE0B8;
  --gold-line-3:#F3E7C6;
  --gold-line-4:#EADCB8;
  --ctl-line:#E2D5BC;
  --line:#EAE1D1;
  --line-soft:#F2EBE0;
  --line-softer:#F7F3EB;
  --line-neutral:#E4DCCF;
  --cream:#FBF8F2;
  --paper:#FFFFFF;
  --cream-lite:#FBF6EE;
  --paper-sunk:#F7F2E8;
  --gold-tint:#F5ECD7;
  --gold-tint-2:#FAF4E7;
  --amber-bg:#FDF5E2;
  --amber-ink:#8A6410;
  --green:#24743C;
  --green-live:#288444;
  --green-bg:#EAF5EE;
  --green-line:#BDE3C9;
  --green-bg-2:#F2F9F4;
  --green-line-2:#9BC9A7;
  --rose:#992222;
  --rose-bg:#FDEEEE;
  --rose-line:#F5C6C6;
  --rose-bg-2:#FDF6F6;
  --rose-bg-3:#F9E8E8;
  --neutral-bg:#F3EDE1;

  /* ---------- layout & geometry tokens ---------- */
  --r-card:20px;
  --r-ctl:12px;
  --r-pill:9999px;
  --r-sm:8px;

  /* ---------- elevation & shadow tokens ---------- */
  --shadow-card:0 2px 10px rgba(88,24,37,0.035), 0 1px 2px rgba(88,24,37,0.02);
  --shadow-lift:0 12px 28px rgba(88,24,37,0.08), 0 4px 10px rgba(88,24,37,0.03);
  --shadow-hero:0 16px 36px rgba(88,24,37,0.22);
  --shadow-drawer:0 -10px 40px rgba(38,20,23,0.18);

  /* ---------- motion physics tokens: spring cubic-bezier ---------- */
  --t-spring:200ms cubic-bezier(0.16, 1, 0.3, 1);
  --t-fast:140ms cubic-bezier(0.16, 1, 0.3, 1);
}

*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--cream);font-family:'Lato',system-ui,-apple-system,sans-serif;color:var(--ink);-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased}
button{font-family:inherit;cursor:pointer}
a{text-decoration:none;color:inherit}

/* ---------- app shell ---------- */
.app{display:flex;min-height:100%;background:var(--cream)}
.side{width:240px;flex:none;background:var(--paper);border-right:1px solid var(--line);padding:20px 0;display:flex;flex-direction:column;gap:4px;position:sticky;top:0;height:100vh;overflow-y:auto}
.logo-wrap{padding:4px 20px 16px;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:6px;border-bottom:1px solid var(--line-softer);margin-bottom:8px;outline:none}
.logo-img{max-height:44px;max-width:180px;width:auto;height:auto;object-fit:contain;display:block;filter:brightness(0) invert(10%) sepia(60%) saturate(3200%) hue-rotate(325deg) brightness(92%)}
.logo-fallback{font-family:'Cormorant Garamond',serif;font-weight:700;font-size:24px;color:var(--maroon);line-height:1}
.logo-tag{font-size:9.5px;font-weight:900;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.nav-list{display:flex;flex-direction:column;gap:4px;padding:0;margin:0}
.nav{display:flex;align-items:center;gap:14px;padding:11px 20px;margin:0 10px;border-radius:var(--r-ctl);font-size:14px;font-weight:700;color:var(--muted);position:relative;border:0;background:none;width:auto;text-align:left;transition:all var(--t-fast);cursor:pointer}
.nav:hover{color:var(--maroon);background:var(--gold-tint-2)}
.nav.on{color:var(--maroon);background:var(--gold-tint);font-weight:900}
.nav.on::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:4px;border-radius:0 4px 4px 0;background:var(--maroon)}
.nav .cnt{margin-left:auto;font-size:11px;font-weight:900;background:var(--paper);color:var(--maroon);border-radius:var(--r-pill);padding:2px 8px;border:1px solid var(--gold-line)}
.nav-logout{padding-top:10px;margin-top:6px}
.nav-logout:hover{color:var(--rose);background:var(--rose-bg)}
.sp{flex:1}
.who{margin:0 12px;padding:12px 14px;border-radius:16px;background:var(--gold-tint-2);border:1px solid var(--gold-line-4);display:flex;align-items:center;gap:12px;transition:border-color var(--t-fast)}
.who:hover{border-color:var(--gold-soft)}
.av{width:40px;height:40px;border-radius:50%;background:linear-gradient(145deg,var(--maroon-lift),var(--maroon-deep));color:var(--gold-soft);font-family:'Cormorant Garamond',serif;font-weight:700;font-size:18px;display:flex;align-items:center;justify-content:center;flex:none;box-shadow:0 2px 8px rgba(88,24,37,0.18)}
.main{flex:1;min-width:0;display:flex;flex-direction:column}
.top{display:flex;align-items:center;gap:16px;padding:16px 32px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}
.top-row-main,.top-row-sub{display:contents}
.top-title-wrap{display:flex;flex-direction:column;gap:2px;min-width:140px;order:1}
.top-title-row{display:flex;align-items:center;gap:10px}
.top-season-badge{display:none}
.top-kicker{font-size:9.5px;font-weight:900;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.top h1{margin:0;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:30px;color:var(--maroon);line-height:1.1;letter-spacing:-0.01em}
.search{display:flex;align-items:center;gap:10px;min-width:220px;padding:0 16px;height:42px;border-radius:var(--r-pill);background:var(--cream);color:var(--muted-2);font-size:13.5px;border:1px solid var(--line-soft);flex:0 1 300px;order:2;transition:all var(--t-fast)}
.search:focus-within{border-color:var(--gold);background:var(--paper);box-shadow:0 0 0 3px rgba(197,160,89,0.14)}
.search input{border:0;background:none;outline:none;font:inherit;color:var(--ink);width:100%}
.search input::placeholder{color:var(--muted-2)}
.season-pill{order:3;margin-left:auto;height:42px;border-radius:var(--r-pill);padding:0 16px;background:var(--gold-tint);border:1px solid var(--gold-line);color:var(--maroon);font-weight:900;font-size:13px;display:inline-flex;align-items:center;gap:8px;flex:none}
select.season-pill{cursor:pointer;width:auto;outline:none;-webkit-appearance:none;appearance:none;padding-right:28px;background-image:url("data:image/svg+xml,%3Csvg width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23581825' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}
.top-row-actions{order:4;display:flex;align-items:center;gap:12px;flex:none}
.top-actions{display:flex;align-items:center;gap:10px}
.rb{width:42px;height:42px;border-radius:50%;background:var(--cream);border:1px solid var(--line-soft);display:flex;align-items:center;justify-content:center;position:relative;flex:none;transition:all var(--t-fast);cursor:pointer}
.rb:hover{background:var(--gold-tint-2);border-color:var(--gold-soft)}
.rb i{position:absolute;top:10px;right:11px;width:9px;height:9px;border-radius:50%;background:var(--rose);border:2px solid var(--paper)}
.mob-nav{display:none}
.mob-backdrop{display:none}
.mob-drawer{display:none}
.pad{padding:26px 32px 56px;display:flex;flex-direction:column;gap:20px}
.row{display:grid;gap:20px}

/* ---------- cards & surfaces ---------- */
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-card);padding:22px 24px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:14px;min-width:0;transition:all var(--t-spring)}
.ch{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.ct{font-size:18px;font-weight:900;color:var(--ink-strong);letter-spacing:-0.01em}
.lnk{font-size:13px;font-weight:700;color:var(--maroon);background:none;border:0;padding:0;cursor:pointer;display:inline-flex;align-items:center;gap:4px;transition:color var(--t-fast)}
.lnk:hover{color:var(--maroon-lift);text-decoration:underline;text-underline-offset:3px}

/* ---------- kpis & heroes ---------- */
.kpi{display:flex;align-items:center;gap:16px;flex-direction:row}
.kpi>div{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.kpi .kl{line-height:1.25;display:flex;align-items:center;gap:7px}
.kpi>.kic,.card>.kic{flex:none}
.kic{width:54px;height:54px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex:none;transition:transform var(--t-spring)}
.kl{font-size:12.5px;color:var(--muted);font-weight:700}
.kv{font-size:26px;font-weight:900;color:var(--ink);line-height:1.15;font-variant-numeric:tabular-nums}
.kv small{font-size:13px;font-weight:700;color:var(--muted)}
.hero{border-radius:var(--r-card);padding:22px 24px;color:var(--cream-lite);background:linear-gradient(140deg,var(--maroon-lift),var(--maroon-deep) 75%);box-shadow:var(--shadow-hero);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden;transition:all var(--t-spring)}
.hero::after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:radial-gradient(circle,rgba(223,194,125,0.22),transparent 70%);pointer-events:none}
.hero .l{font-size:11.5px;letter-spacing:.18em;font-weight:900;color:var(--gold-soft);text-transform:uppercase}
.hero .t{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:600;line-height:1.08;letter-spacing:-0.01em}
.hero .meta b{display:block;font-size:11px;letter-spacing:.12em;color:var(--gold-soft)}
.hero .ef{color:var(--cream-lite);border-bottom-color:rgba(251,244,230,.4)}
.hero .lk{color:var(--gold-soft)}
.meta{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;position:relative;z-index:1}

/* ---------- chips & badges ---------- */
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 11px;border-radius:var(--r-pill);font-size:12px;font-weight:700;white-space:nowrap;border:1px solid transparent;transition:all var(--t-fast)}
.c-g{background:var(--green-bg);color:var(--green);border-color:var(--green-line)}
.c-a{background:var(--amber-bg);color:var(--amber-ink);border-color:var(--gold-line-2)}
.c-r{background:var(--rose-bg);color:var(--rose);border-color:var(--rose-line)}
.c-n{background:var(--paper-sunk);color:var(--ink-mute);border-color:var(--line-soft)}
.c-m{background:var(--maroon);color:#FAF4EB}
.dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex:none}

/* ---------- tables & lists ---------- */
table{width:100%;border-collapse:collapse}
th{font-size:11.5px;letter-spacing:.09em;font-weight:900;color:var(--gold);text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);text-transform:uppercase;white-space:nowrap}
td{padding:13px 10px;border-bottom:1px solid var(--line-softer);font-size:14px;vertical-align:middle}
tr:last-child td{border-bottom:0}
tbody tr{transition:background var(--t-fast)}
tbody tr:hover{background:var(--paper-sunk)}
.nm{font-weight:900;font-size:14.5px;color:var(--ink-strong)}
.sub{font-size:12px;color:var(--muted);line-height:1.4}
.bar{height:7px;border-radius:var(--r-pill);background:var(--line-soft);overflow:hidden;min-width:85px}
.bar i{display:block;height:100%;border-radius:var(--r-pill);background:linear-gradient(90deg,var(--gold),var(--maroon))}

/* ---------- buttons & controls ---------- */
.btn{min-height:42px;padding:0 16px;border-radius:var(--r-ctl);border:1px solid var(--ctl-line);background:#fff;color:var(--ink);font-weight:700;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:all var(--t-spring)}
.btn:hover{border-color:var(--gold);background:var(--gold-tint-2)}
.btn:active{transform:translateY(1px)}
.btn.pri{background:var(--maroon);border-color:var(--maroon-deep);color:#FAF4EB;box-shadow:0 4px 14px rgba(88,24,37,0.2)}
.btn.pri:hover{background:var(--maroon-lift);border-color:var(--maroon-lift);color:#fff;box-shadow:0 6px 18px rgba(88,24,37,0.26);transform:translateY(-1px)}
.btn.gold{background:var(--gold-soft);border-color:var(--gold-soft);color:var(--ink-gold);font-weight:900}
.btn.gold:hover{background:var(--gold);border-color:var(--gold);color:#fff}
.btn.dan{background:#fff;border-color:var(--rose-line);color:var(--rose)}
.btn.dan:hover{background:var(--rose-bg);border-color:var(--rose)}
.btn.ghost{background:transparent;border-color:transparent;color:var(--maroon)}
.btn.ghost:hover{background:rgba(88,24,37,0.06)}
.btn.sm{min-height:32px;padding:0 11px;font-size:12px;border-radius:8px;gap:5px}
.btn.on{border-color:var(--gold);background:var(--gold-tint);color:var(--maroon)}
.btn[disabled]{opacity:.45;pointer-events:none;cursor:not-allowed}
.ib{width:42px;height:42px;border-radius:var(--r-ctl);border:1px solid var(--ctl-line);background:#fff;display:inline-flex;align-items:center;justify-content:center;padding:0;flex:none;transition:all var(--t-spring)}
.ib:hover{border-color:var(--gold);background:var(--gold-tint-2)}
.ib:active{transform:translateY(1px)}
.ib.pri{background:var(--maroon);border-color:var(--maroon-deep);color:#FAF4EB}
.ib.pri:hover{background:var(--maroon-lift)}

/* ---------- tabs & selectors ---------- */
.tabs{display:flex;gap:4px;padding:4px;border-radius:14px;background:var(--paper-sunk);align-self:flex-start;flex-wrap:wrap;border:1px solid var(--line-soft)}
.tabs button{padding:8px 15px;border-radius:10px;font-size:13px;font-weight:700;color:var(--muted);border:0;background:none;display:inline-flex;align-items:center;gap:6px;transition:all var(--t-fast)}
.tabs button:hover{color:var(--maroon)}
.tabs button.on{background:#fff;color:var(--maroon);box-shadow:0 2px 8px rgba(88,24,37,0.08);font-weight:900}
.sel{height:42px;border-radius:var(--r-ctl);border:1px solid var(--line);background:#fff;padding:0 14px;display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--ink-soft);white-space:nowrap;transition:all var(--t-fast)}
.sel:hover{border-color:var(--gold-soft)}
.sel:focus-within{border-color:var(--gold);box-shadow:0 0 0 3px rgba(197,160,89,0.16)}
select.sel,input.sel,textarea.sel{font-family:inherit;width:100%;outline:none}
textarea.sel{height:auto;min-height:88px;padding:12px 14px;line-height:1.5;resize:vertical}
.tl{display:flex;flex-direction:column;gap:14px}
.tli{display:flex;gap:12px;align-items:flex-start;font-size:13.5px}
.tli .d{width:28px;height:28px;border-radius:50%;background:var(--gold-tint);display:flex;align-items:center;justify-content:center;flex:none}
.ban{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:var(--gold-tint-2);border:1px solid var(--gold-line-3);font-size:13px;color:var(--maroon);font-weight:700}

/* ---------- inline editing (preserved exact behavior) ---------- */
.ef{border-bottom:1.5px dashed var(--gold-line);cursor:text;display:inline-block;min-width:26px;padding:1px 3px;border-radius:4px;transition:background var(--t-fast)}
.ef:hover{background:var(--gold-tint-2)}
.ef.ph{color:var(--muted-3);font-weight:400}
.ef input,.ef select,.ef textarea{font:inherit;color:inherit;border:1.5px solid var(--gold);border-radius:8px;padding:4px 7px;background:#fff;outline:none;min-width:90px;max-width:100%;box-shadow:0 2px 8px rgba(197,160,89,0.18)}
.ro{border-bottom:0;cursor:default}
.ro:hover{background:none}
.grid2{display:grid;grid-template-columns:auto 1fr;gap:12px 18px;font-size:14px;align-items:center}
.fg{display:flex;flex-direction:column;gap:6px;min-width:0}

/* ---------- modals & dialogs ---------- */
.modal{position:fixed;inset:0;background:rgba(38,20,23,0.58);display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:28px 16px;z-index:50;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:dpFadeIn 150ms ease-out;box-sizing:border-box}
.modal>.card{max-width:860px;width:100%;animation:dpModalIn 180ms cubic-bezier(0.16, 1, 0.3, 1);box-sizing:border-box}
.wa-modal-box{background:var(--paper-sunk);border:1px solid var(--gold-line);border-radius:14px;padding:14px;font-family:inherit;font-size:13.5px;line-height:1.6;white-space:pre-wrap;word-break:break-word;color:var(--ink);user-select:all;margin:12px 0;max-height:220px;overflow-y:auto;box-sizing:border-box}
.rem-show-item{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line-soft);background:var(--paper);transition:all var(--t-fast);cursor:pointer;margin-bottom:8px;box-sizing:border-box;min-width:0}
.rem-show-item:hover{background:var(--gold-tint-2);border-color:var(--gold-line-4)}
.rem-show-item.on{background:var(--gold-tint);border-color:var(--gold)}
.rem-show-item input[type="checkbox"]{width:18px;height:18px;accent-color:var(--maroon);cursor:pointer;flex:none}
@media (max-width: 768px) {
  .modal{padding:14px 10px}
  .modal>.card{padding:16px 14px;border-radius:16px}
}
@keyframes dpFadeIn{from{opacity:0}to{opacity:1}}
@keyframes dpModalIn{from{opacity:0;transform:scale(0.97) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}
.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--ink);color:#FAF4EB;padding:12px 22px;border-radius:var(--r-pill);font-weight:700;font-size:13.5px;z-index:60;box-shadow:0 12px 32px rgba(38,20,23,0.32);display:flex;align-items:center;gap:8px;animation:dpToastIn 200ms cubic-bezier(0.16, 1, 0.3, 1)}
.toast.bad{background:var(--rose)}
@keyframes dpToastIn{from{opacity:0;transform:translate(-50%,10px)}to{opacity:1;transform:translate(-50%,0)}}
.err{color:var(--rose);min-height:22px;font-weight:700;font-size:13px}
.dz{display:flex;align-items:center;gap:14px;padding:16px;border-radius:18px;border:2px dashed var(--gold-line);background:var(--paper-sunk);transition:all var(--t-fast)}
.dz.ok{border-color:var(--green-line-2);background:var(--green-bg-2)}
.lk{background:none;border:0;padding:0;font:inherit;color:var(--maroon);text-decoration:underline;text-decoration-color:var(--gold-line);text-underline-offset:3px;cursor:pointer;transition:text-decoration-color var(--t-fast)}
.lk:hover{text-decoration-color:var(--maroon)}
.mono{font-variant-numeric:tabular-nums}
.hideSm{display:initial}

/* ---------- Liquid Silk Hover interaction ---------- */
.card.act, .kpi.act, .silk-card, .hero {
  position: relative;
  overflow: hidden;
  transition: transform var(--t-spring), box-shadow var(--t-spring), border-color var(--t-fast);
}
.card.act, .kpi.act, .silk-card {
  cursor: pointer;
}
.card.act::after, .kpi.act::after, .silk-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  border-radius: inherit;
  transition: opacity 220ms ease;
  background: radial-gradient(320px circle at var(--mx, 50%) var(--my, 50%), rgba(228, 185, 110, 0.16), transparent 70%);
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  border-radius: inherit;
  transition: opacity 220ms ease;
  background: radial-gradient(360px circle at var(--mx, 50%) var(--my, 50%), rgba(228, 185, 110, 0.18), transparent 70%);
  z-index: 0;
}
.card.act:hover, .kpi.act:hover, .silk-card:hover {
  border-color: var(--gold-soft);
  box-shadow: var(--shadow-lift);
  transform: translateY(-2px);
}
.hero:hover::before {
  opacity: 1;
}
.card.act:hover::after, .kpi.act:hover::after, .silk-card:hover::after {
  opacity: 1;
}
.card.act:active, .kpi.act:active, .silk-card:active {
  transform: translateY(0);
}

/* ---------- focus accessibility ---------- */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,
textarea:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--gold);outline-offset:2px;box-shadow:0 0 0 4px rgba(197,160,89,0.18);border-radius:var(--r-sm)}
.card.act:focus-visible{outline-offset:-2px}

/* ---------- animation & entrance ---------- */
.pad{animation:dpIn 160ms cubic-bezier(0.16, 1, 0.3, 1)}
@keyframes dpIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:32px 18px;text-align:center;color:var(--muted)}
.empty b{font-size:15px;color:var(--ink-strong)}
.skel{background:linear-gradient(90deg,var(--line-soft),var(--cream-lite),var(--line-soft));background-size:200% 100%;animation:dpSk 1.1s linear infinite;border-radius:var(--r-sm);height:14px}
@keyframes dpSk{from{background-position:200% 0}to{background-position:-200% 0}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .card.act:hover{transform:none}
  .card.act::after{display:none}
  .btn:active,.ib:active{transform:none}
}

.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* ---------- dashboard components ---------- */
.dash-next-hero{border-radius:var(--r-card);padding:24px 28px;background:linear-gradient(140deg,var(--maroon-lift),var(--maroon-deep) 78%);color:var(--cream-lite);box-shadow:var(--shadow-hero);display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}
.dash-next-hero::after{content:"";position:absolute;right:-60px;top:-60px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(223,194,125,0.2),transparent 70%);pointer-events:none}
.dash-hero-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
.dash-hero-kicker{font-size:11px;letter-spacing:.16em;font-weight:900;color:var(--gold-soft);text-transform:uppercase;display:flex;align-items:center;gap:6px}
.dash-hero-body{display:flex;flex-direction:column;gap:8px;position:relative;z-index:1}
.dash-hero-title{font-family:'Cormorant Garamond',serif;font-size:32px;font-weight:600;color:#fff;line-height:1.15;letter-spacing:-0.01em}
.dash-hero-meta{display:flex;align-items:center;gap:12px;font-size:14px;color:rgba(251,246,238,0.85);flex-wrap:wrap}
.dash-hero-lineup{margin-top:4px;padding:10px 14px;background:rgba(42,13,23,0.45);border-radius:12px;border:1px solid rgba(223,194,125,0.22)}
.dash-hero-acts{display:flex;align-items:center;gap:10px;flex-wrap:wrap;position:relative;z-index:1;border-top:1px solid rgba(223,194,125,0.2);padding-top:14px}

.dash-profit{border-radius:var(--r-card);padding:22px 26px;background:linear-gradient(140deg,var(--maroon-lift),var(--maroon-deep) 78%);color:var(--cream-lite);box-shadow:var(--shadow-hero);display:flex;flex-direction:column;gap:12px;position:relative;overflow:hidden;transition:transform var(--t-spring),box-shadow var(--t-spring)}
.dash-profit:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(56,12,20,0.28)}
.dash-profit::after{content:"";position:absolute;right:-50px;top:-50px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(223,194,125,0.22),transparent 70%);pointer-events:none}
.dash-profit-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:relative;z-index:1}
.dash-profit-lbl{font-size:11px;letter-spacing:.16em;font-weight:900;color:var(--gold-soft);text-transform:uppercase;display:flex;align-items:center;gap:6px}
.dash-profit-tabs{display:flex;gap:3px;padding:3px;background:rgba(42,13,23,0.45);border-radius:var(--r-pill);border:1px solid rgba(223,194,125,0.2)}
.dash-profit-tabs button{padding:4px 12px;border-radius:var(--r-pill);font-size:11.5px;font-weight:700;color:rgba(251,246,238,0.75);background:none;border:0;cursor:pointer;transition:all var(--t-fast)}
.dash-profit-tabs button:hover{color:#fff}
.dash-profit-tabs button.on{background:var(--gold-soft);color:var(--ink-gold);font-weight:900}
.dash-profit-val{font-family:'Cormorant Garamond',serif;font-size:38px;font-weight:600;line-height:1.05;letter-spacing:-0.01em;color:#fff;display:flex;align-items:baseline;gap:10px;position:relative;z-index:1}
.dash-profit-sub{font-size:13px;color:rgba(251,246,238,0.85);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;position:relative;z-index:1;border-top:1px solid rgba(223,194,125,0.2);padding-top:10px}

/* next show card */
.dash-next-card{display:flex;flex-direction:column;gap:12px;padding:22px 24px}
.dash-next-tag{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.dash-next-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:var(--maroon);line-height:1.15;letter-spacing:-0.01em}
.dash-next-meta{display:flex;align-items:center;gap:16px;font-size:13.5px;color:var(--muted);flex-wrap:wrap}
.dash-next-foot{display:flex;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}

/* schedule items */
.sched-list{display:flex;flex-direction:column;gap:8px}
.sched-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;background:var(--paper-sunk);border:1px solid var(--line-soft);text-align:left;cursor:pointer;transition:all var(--t-fast);color:inherit;width:100%}
.sched-item:hover{border-color:var(--gold-soft);background:var(--gold-tint-2);transform:translateY(-1px)}
.sched-date-box{width:48px;padding:6px 4px;border-radius:10px;background:var(--gold-tint);border:1px solid var(--gold-line);color:var(--maroon);display:flex;flex-direction:column;align-items:center;justify-content:center;flex:none;line-height:1.1}
.sched-date-box .sdb-d{font-size:16px;font-weight:900;font-variant-numeric:tabular-nums}
.sched-date-box .sdb-m{font-size:9.5px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}

/* 2x2 performance grid */
.perf-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.perf-item{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border-radius:14px;background:var(--paper-sunk);border:1px solid var(--line-soft)}
.perf-item .kl{font-size:11.5px;color:var(--muted);font-weight:700}
.perf-item .kv{font-size:21px;font-weight:900;color:var(--ink);line-height:1.15}

/* booking status progress bar */
.bk-stat-bar{height:8px;border-radius:var(--r-pill);background:var(--gold-tint);border:1px solid var(--gold-line);overflow:hidden;display:flex}
.bk-stat-fill{background:linear-gradient(90deg,var(--maroon),var(--maroon-lift));height:100%;border-radius:var(--r-pill);transition:width 300ms ease}

/* ---------- calendar component ---------- */
.cal{gap:10px}
.cw{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-size:11px;font-weight:900;letter-spacing:.08em;color:var(--muted-2);text-align:center;text-transform:uppercase}
.cg{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.cd{min-height:44px;border:1px solid transparent;background:none;border-radius:var(--r-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 0;font:inherit;font-size:13px;font-weight:700;color:var(--ink-soft);transition:all var(--t-fast)}
.cd.out{visibility:hidden}
.cd[disabled]{color:var(--muted-3);cursor:default}
.cd.has{color:var(--ink);background:var(--paper-sunk);border-color:var(--line-soft);cursor:pointer}
.cd.has:hover{border-color:var(--gold-soft);background:var(--gold-tint-2)}
.cd.td{box-shadow:inset 0 0 0 2px var(--gold-soft)}
.cd.on{background:var(--maroon);border-color:var(--maroon-deep);color:#FAF4EB}
.cd.on .sub{color:#FAF4EB}
.cd em{display:flex;gap:3px;align-items:center;height:6px}
.cd em i,.lgd{width:6px;height:6px;border-radius:50%;display:inline-block}
.lgd{margin-right:3px;vertical-align:middle}
.ok{background:var(--green-live)} .nd{background:var(--gold)} .rh{background:var(--maroon)}
.cd.on em i{background:var(--gold-soft)}
.cd em b{font-size:9px;font-weight:900;color:var(--muted)}
.cd.on em b{color:var(--gold-soft)}
.cp{display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--line-soft);padding-top:10px}

/* ---------- business snapshot & metrics ---------- */
.snap{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sn{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border-radius:16px;border:1px solid var(--line-soft);background:var(--paper-sunk);min-width:0;position:relative;transition:all var(--t-fast)}
.sn.act{cursor:pointer}
.sn.act:hover{border-color:var(--gold-soft);background:var(--gold-tint-2)}
.snv{font-size:21px;font-weight:900;color:var(--ink);line-height:1.15;font-variant-numeric:tabular-nums}
.bsz{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px}
tr.over>td{background:var(--rose-bg-2)}
tr.over>td:first-child{box-shadow:inset 3px 0 0 var(--rose-line)}
.ch>div{flex-wrap:wrap}

/* ---------- shows directory & cards ---------- */
.show-kpis{margin-bottom:4px}
.show-ctrl-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:4px}
.show-filter-tabs{display:flex;gap:6px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding:2px}
.show-view-toggle{display:flex;gap:3px;padding:3px;background:var(--paper-sunk);border-radius:var(--r-pill);border:1px solid var(--line-soft)}
.show-cards-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}

.show-card{padding:20px 22px;display:flex;flex-direction:column;gap:12px;position:relative;border-radius:var(--r-card)}
.show-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.show-card-title{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:600;color:var(--maroon);line-height:1.15;letter-spacing:-0.01em}
.show-card-sub{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);margin-top:2px}
.show-card-bar-wrap{display:flex;flex-direction:column;gap:4px}
.show-card-chips{display:flex;flex-wrap:wrap;gap:6px}
.show-card-fin{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px 12px;border-radius:12px;background:var(--paper-sunk);border:1px solid var(--line-soft)}
.show-card-fin .kl{font-size:10px;font-weight:900;letter-spacing:.08em;color:var(--muted-2);text-transform:uppercase}
.show-card-fin .kv{font-size:15px;font-weight:900;color:var(--ink-strong);font-variant-numeric:tabular-nums;line-height:1.15}
.show-card-foot{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:2px}

/* ---------- show detail components ---------- */
.show-hero-wrap{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:stretch}
.show-hero{border-radius:var(--r-card);padding:24px 26px;color:var(--cream-lite);background:linear-gradient(140deg,var(--maroon-lift),var(--maroon-deep) 78%);box-shadow:var(--shadow-hero);display:flex;flex-direction:column;gap:14px;position:relative;overflow:hidden}
.show-hero::after{content:"";position:absolute;right:-50px;top:-50px;width:220px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(223,194,125,0.22),transparent 70%);pointer-events:none}
.show-hero-kicker{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-soft);position:relative;z-index:1}
.show-hero-title{font-family:'Cormorant Garamond',serif;font-size:36px;font-weight:600;line-height:1.1;letter-spacing:-0.01em;color:#fff;position:relative;z-index:1}
.show-hero-title .ef{color:#fff;border-bottom:1px dashed rgba(223,194,125,0.5)}
.show-hero-loc{display:flex;align-items:center;gap:8px;font-size:14px;color:rgba(251,246,238,0.85);position:relative;z-index:1;flex-wrap:wrap}
.show-hero .lk, .show-hero-city-link{color:var(--gold-soft)!important;text-decoration:underline;text-underline-offset:3px;font-weight:700}
.show-hero .lk:hover, .show-hero-city-link:hover{color:#fff!important}
.show-hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding-top:14px;border-top:1px solid rgba(223,194,125,0.25);position:relative;z-index:1}
.show-hero-stat .kl{font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)}
.show-hero-stat .kv{font-size:22px;font-weight:900;color:#fff;line-height:1.15;font-variant-numeric:tabular-nums}

.show-sub-tabs{display:flex;gap:4px;padding:4px;background:var(--paper-sunk);border-radius:var(--r-pill);border:1px solid var(--line-soft);align-self:flex-start}
.show-sub-tabs button{padding:6px 16px;border-radius:var(--r-pill);font-size:13px;font-weight:700;color:var(--muted);background:none;border:0;cursor:pointer;transition:all var(--t-fast);display:flex;align-items:center;gap:6px}
.show-sub-tabs button:hover{color:var(--ink-strong)}
.show-sub-tabs button.on{background:var(--maroon);color:#FAF4EB;box-shadow:0 2px 8px rgba(92,18,32,0.18)}

.show-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 20px}
.show-info-item{display:flex;flex-direction:column;gap:3px}
.show-info-lbl{font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2)}
.show-info-val{font-size:14.5px;color:var(--ink-strong);font-weight:700}
.show-info-val .ef{border-bottom:1px dashed var(--gold-line-3);color:var(--ink-strong);transition:border-color var(--t-fast)}
.show-info-val .ef:hover{border-bottom-color:var(--gold)}

/* mobile representations */
.mob-show-item{display:flex;flex-direction:column;gap:10px;padding:14px;border-radius:14px;background:var(--paper-sunk);border:1px solid var(--line-soft)}
.mob-show-item-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.mob-show-item-body{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mob-lineup-list, .mob-exp-list{display:none}
.show-more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}

/* ---------- bookings module ---------- */
.bk-tabs{display:flex;gap:4px;padding:3px;background:var(--paper-sunk);border-radius:var(--r-pill);border:1px solid var(--line-soft)}
.bk-tabs button{padding:4px 12px;border-radius:var(--r-pill);font-size:12px;font-weight:700;color:var(--muted);background:none;border:0;cursor:pointer;transition:all var(--t-fast)}
.bk-tabs button.on{background:var(--maroon);color:#FAF4EB;box-shadow:0 2px 6px rgba(92,18,32,0.18)}

.mob-bk-wrap{display:none}
.mob-bk-dates{display:flex;flex-direction:column;gap:8px}
.mob-bk-track{display:flex;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:10px;padding:4px 2px 10px;scroll-snap-type:x mandatory}
.mob-bk-date-card{flex:0 0 160px;padding:12px 14px;border-radius:16px;background:var(--paper);border:1.5px solid var(--line-soft);cursor:pointer;display:flex;flex-direction:column;gap:3px;transition:all var(--t-fast);text-align:left;scroll-snap-align:start;position:relative}
.mob-bk-date-card.on{border-color:var(--gold);background:var(--gold-tint-2);box-shadow:0 4px 14px rgba(88,24,37,0.08)}
.mob-bk-date-head{font-weight:900;font-size:13.5px;color:var(--maroon)}
.mob-bk-date-sub{font-size:12px;color:var(--ink-strong);font-weight:600}
.mob-bk-date-foot{font-size:11px;font-weight:800;color:var(--muted-2);margin-top:2px}

.mob-bk-hero{border-radius:var(--r-card);padding:18px 20px;background:linear-gradient(140deg,var(--maroon-lift),var(--maroon-deep) 78%);color:#fff;display:flex;flex-direction:column;gap:10px;box-shadow:var(--shadow-hero);position:relative;overflow:hidden}
.mob-bk-hero-kicker{display:flex;align-items:center;justify-content:space-between;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-soft)}
.mob-bk-hero-title{font-family:'Cormorant Garamond',serif;font-size:26px;font-weight:600;color:#fff;line-height:1.2}

.mob-role-item{padding:14px 16px;border-bottom:1px solid var(--line-soft);display:flex;flex-direction:column;gap:8px}
.mob-role-item:last-child{border-bottom:none}
.mob-role-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mob-role-player-card{padding:12px 14px;border-radius:14px;background:var(--paper-sunk);border:1px solid var(--line-soft);display:flex;flex-direction:column;gap:8px;margin-top:4px}

/* ---------- bookings Workbench ---------- */
.bk{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start}
.bq{display:flex;flex-direction:column;gap:8px;position:sticky;top:18px;max-height:calc(100vh - 40px);overflow-y:auto;padding-right:4px}
.bp{min-width:0;display:flex;flex-direction:column;gap:22px}
.qh{font-family:'Lato',sans-serif;font-size:10.5px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--muted-2);padding:10px 2px 2px}
.qi{display:flex;flex-direction:column;gap:5px;align-items:stretch;text-align:left;width:100%;padding:12px 14px;border-radius:16px;border:1px solid var(--line-soft);background:var(--paper);cursor:pointer;transition:all var(--t-fast)}
.qi:hover{border-color:var(--gold-soft);background:var(--gold-tint-2);transform:translateY(-1px)}
.qi.on{border-color:var(--gold);background:var(--gold-tint-2);box-shadow:0 6px 16px rgba(88,24,37,0.08)}
.qi .bar{height:5px}

tr.pp>td{padding:0 0 14px!important;background:transparent}
.ppx{background:var(--paper-sunk);border:1px solid var(--line-soft);border-radius:16px;padding:14px;display:flex;flex-direction:column;gap:10px}
.pf{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 16px;border-radius:18px;background:var(--gold-tint-2);border:1px solid var(--line-soft)}
.pf .kl{margin:0}

/* ---------- responsibilities & readiness ---------- */
.rsp{display:flex;flex-direction:column;gap:6px}
.ri{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 12px;border-radius:14px;border:1px solid var(--line-soft);background:var(--paper);cursor:pointer;transition:all var(--t-fast)}
.ri:hover{border-color:var(--gold-soft);background:var(--paper-sunk)}
.ri.hot{border-color:var(--rose-line);background:var(--rose-bg-2)}
.ri .d{width:30px;height:30px;border-radius:10px;background:var(--cream);display:flex;align-items:center;justify-content:center;flex:none}
.ri.hot .d{background:var(--rose-bg-3)}
.ri>span{flex:1;min-width:0}
.ri b{font-size:13.5px}
.rdy{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.rr{display:flex;align-items:flex-start;gap:9px}
.rr .d{flex:none;margin-top:1px}
.rr b{font-size:13px}

/* ---------- payment breakdown list ---------- */
.pyl{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.pyr{display:flex;align-items:center;gap:8px;width:100%}
.pyr>span:first-child{flex:1;min-width:0}
.pyr .mono{white-space:nowrap}

/* ---------- payments module redesign ---------- */
.pay-header-bar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:2px}
.pay-kpis{display:grid;gap:16px;margin-bottom:4px}
.pay-kpis.cols-3{grid-template-columns:repeat(3,1fr)}
.pay-kpis.cols-4{grid-template-columns:repeat(4,1fr)}
.pay-grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:4px}
.pay-filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.mob-artist-pay-card, .mob-pay-card, .mob-tx-card{display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--paper);border:1px solid var(--line-soft);border-radius:16px;box-shadow:var(--shadow-card);transition:all var(--t-fast)}
.mob-artist-pay-card:hover, .mob-pay-card:hover, .mob-tx-card:hover{border-color:var(--gold-soft)}
.mob-pay-head, .mob-tx-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mob-pay-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;background:var(--paper-sunk);padding:10px 12px;border-radius:12px;border:1px solid var(--line-soft)}
.mob-pay-stat{display:flex;flex-direction:column;gap:2px}
.mob-pay-stat .kl{font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:0.04em;font-weight:700}
.mob-pay-stat .kv{font-size:13.5px;font-weight:800;font-family:'JetBrains Mono',monospace;color:var(--ink-strong)}
.mob-pay-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--ink-sub);border-top:1px solid var(--line-soft);padding-top:8px}
.mob-artist-pay-list, .mob-pay-list, .mob-tx-list{display:none}

/* ---------- compare module redesign ---------- */
.cmp-head-card{padding:18px 22px;display:flex;flex-direction:column;gap:14px}
.cmp-ctrl-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.cmp-grid-top{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;align-items:stretch}
.cmp-chart-card{display:flex;flex-direction:column;gap:12px;padding:18px 22px}
.cmp-chart-legend{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cmp-chart-legend .chip{font-size:11.5px;font-weight:700}
.cmp-insights-list{display:flex;flex-direction:column;gap:10px;margin-bottom:8px}
.cmp-insight-item{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;line-height:1.45;color:var(--ink)}
.cmp-insight-item .d{width:22px;height:22px;border-radius:6px;background:var(--gold-tint-2);display:flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.mob-cmp-card{display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--paper);border:1px solid var(--line-soft);border-radius:16px;box-shadow:var(--shadow-card)}
.mob-cmp-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.mob-cmp-head b{font-size:14px;color:var(--maroon);font-weight:800}
.mob-cmp-body{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:var(--paper-sunk);padding:10px 12px;border-radius:12px;border:1px solid var(--line-soft)}
.mob-cmp-val{display:flex;flex-direction:column;gap:2px}
.mob-cmp-val .sub{font-size:10.5px;color:var(--muted-2);text-transform:uppercase;letter-spacing:0.03em;font-weight:700}
.mob-cmp-val .kv{font-family:'JetBrains Mono',monospace;font-size:13.5px;font-weight:800;color:var(--ink-strong)}
.mob-cmp-diff{display:flex;align-items:center;justify-content:space-between;font-size:12px;border-top:1px solid var(--line-soft);padding-top:8px;color:var(--ink-sub)}
.mob-cmp-tabs, .mob-cmp-list{display:none}

/* ---------- artists module ---------- */
.art-cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-bottom:6px}
.art-cat-card{padding:14px 12px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;border-radius:18px;border:1.5px solid var(--line-soft);background:var(--paper);cursor:pointer;transition:all var(--t-fast);position:relative}
.art-cat-card:hover{border-color:var(--gold-soft);background:var(--gold-tint-2);transform:translateY(-2px);box-shadow:var(--shadow-card)}
.art-cat-card.on{border-color:var(--gold);background:var(--gold-tint-2);box-shadow:0 6px 18px rgba(88,24,37,0.08)}
.art-cat-card.on .kic{background:var(--gold-tint);color:var(--maroon)}
.art-cat-card .kic{width:44px;height:44px;border-radius:12px;background:var(--paper-sunk);display:flex;align-items:center;justify-content:center;transition:background var(--t-fast)}
.art-cat-card b{font-size:13.5px;color:var(--ink-strong);font-weight:700;line-height:1.2}
.art-cat-card .sub{font-size:11.5px;color:var(--muted-2)}

.art-ctrl-bar{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:6px}
.art-profile-grid{display:grid;grid-template-columns:1fr 1.35fr;gap:20px;align-items:start}
.art-hero-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:26px 20px;border-radius:var(--r-card);background:var(--paper);border:1px solid var(--line-soft)}
.art-hero-av{width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,var(--maroon-lift),var(--maroon-deep));color:var(--cream-lite);font-family:'Cormorant Garamond',serif;font-size:40px;font-weight:600;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(88,24,37,0.22);border:2px solid var(--gold-line)}
.art-hero-name{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:var(--maroon);line-height:1.15;letter-spacing:-0.01em}
.art-hero-acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin-top:4px}
.art-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}

.mob-artist-list{display:none}
.mob-artist-card{display:flex;flex-direction:column;gap:10px;padding:16px;border-radius:16px;background:var(--paper);border:1px solid var(--line-soft);box-shadow:var(--shadow-card)}
.mob-artist-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mob-artist-body{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 12px;border-radius:12px;background:var(--paper-sunk);border:1px solid var(--line-soft)}
.mob-artist-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-top:4px}

/* ---------- login card ---------- */
#login{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px 16px;background:linear-gradient(165deg,var(--cream),var(--gold-tint) 120%)}
.lcard{width:100%;max-width:400px;background:var(--paper);border:1px solid var(--line);border-radius:28px;padding:38px 34px 30px;text-align:center;box-shadow:0 20px 50px rgba(88,24,37,0.1);display:flex;flex-direction:column;align-items:center;gap:0}
.llogo{max-height:64px;max-width:240px;width:auto;height:auto;object-fit:contain;display:block;filter:brightness(0) invert(10%) sepia(60%) saturate(3200%) hue-rotate(325deg) brightness(92%)}
.lrule{width:50px;height:2px;border-radius:2px;background:var(--gold-soft);margin:16px 0 14px}
.lh{margin:0;font-family:'Cormorant Garamond',serif;font-weight:600;font-size:31px;color:var(--maroon);line-height:1.1}
.lsub{margin-top:7px;font-size:11px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
.lp{margin-top:14px;font-size:13.5px;color:var(--muted)}
.lfield{position:relative;width:100%;margin-top:18px}
.lfield input{width:100%;height:56px;border-radius:16px;border:1.5px solid var(--line);background:var(--cream-lite);font:inherit;font-size:22px;letter-spacing:8px;text-align:center;color:var(--ink);padding:0 46px 0 20px;outline:none;transition:all var(--t-fast)}
.lfield input:focus{border-color:var(--gold);box-shadow:0 0 0 4px rgba(197,160,89,0.16)}
.lfield input::placeholder{letter-spacing:4px;color:var(--muted-3)}
.leye{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;background:none;border-radius:10px;display:flex;align-items:center;justify-content:center}
.leye:hover{background:var(--gold-tint-2)}
.lbtn{width:100%;height:50px;font-size:15px;margin-top:6px}
.lfoot{margin-top:18px;font-size:12px;color:var(--muted-2)}
#login .err{min-height:20px;margin-top:10px;font-size:13px}

/* ---------- responsive breakpoints ---------- */
@media(max-width:1250px){
  .row{grid-template-columns:repeat(auto-fit,minmax(238px,1fr))!important}
  .snap{grid-template-columns:repeat(2,1fr)}
  .kic{width:48px;height:48px}
  .kv{font-size:23px}
}
@media(max-width:1100px){
  .bk{grid-template-columns:1fr}
  .bq{position:static;max-height:none;flex-direction:row;overflow-x:auto;gap:10px}
  .bq .qi{min-width:210px}
  .qh{display:none}
}
@media(max-width:1023px){
  .app{flex-direction:column}
  .side{display:none!important}
  .main{width:100%;min-width:0}
  .top{display:flex;flex-direction:column;padding:12px 16px;gap:10px;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;width:100%;box-sizing:border-box}
  .top-row-main{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;min-width:0;order:1}
  .top-title-wrap{flex:1 1 auto;min-width:0;order:unset;display:flex;flex-direction:column;gap:1px}
  .top-kicker{font-size:9.5px;font-weight:900;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
  .top h1{font-size:24px;font-family:'Cormorant Garamond',serif;font-weight:600;color:var(--maroon);line-height:1.15;letter-spacing:-0.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
  .top-row-actions{display:flex;align-items:center;gap:8px;flex:none;order:unset}
  .rb{width:38px;height:38px;border-radius:50%}
  .rb i{top:8px;right:9px;width:8px;height:8px}
  .top-actions{display:flex;align-items:center;gap:6px}
  .top-actions .btn{height:38px;min-height:38px;padding:0 12px;font-size:12.5px;font-weight:800;border-radius:var(--r-pill);display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
  .top-actions .btn svg{width:14px;height:14px;flex:none}
  .top-row-sub{display:flex;align-items:center;gap:8px;width:100%;min-width:0;order:2}
  .season-pill{order:unset;margin-left:0;height:38px;min-height:38px;padding:0 10px;font-size:12px;font-weight:800;border-radius:var(--r-pill);gap:5px;flex:0 0 auto;max-width:145px;white-space:nowrap}
  select.season-pill{padding-right:24px}
  .search{order:unset;flex:1 1 auto;min-width:0;height:38px;min-height:38px;padding:0 12px;font-size:13px;border-radius:var(--r-pill);margin:0;gap:8px}
  .search input{font-size:13px}
  .pad{padding:16px 14px calc(76px + env(safe-area-inset-bottom, 0px));gap:16px}
  .row{grid-template-columns:1fr!important}
  .dash-kpis{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .dash-kpis .kpi{padding:14px 16px!important}
  .dash-kpis .kv{font-size:22px!important}
  .dash-next-hero{padding:18px 18px;gap:12px}
  .dash-hero-title{font-size:24px}
  .dash-hero-acts{gap:8px}
  .dash-profit{padding:18px 20px}
  .dash-profit-val{font-size:28px}
  .card{padding:18px 16px;border-radius:18px}
  .hideSm{display:none}
  table{min-width:560px}
  .cd{min-height:40px}
  .show-cards-grid{grid-template-columns:1fr!important}
  .show-hero-wrap{grid-template-columns:1fr!important}
  .show-info-grid{grid-template-columns:1fr!important}
  .show-hero-title{font-size:28px}
  .show-hero-stats{grid-template-columns:repeat(3,1fr)}
  .show-hero-stat .kv{font-size:18px}
  .show-sub-tabs{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mob-lineup-list, .mob-exp-list{display:flex!important;flex-direction:column;gap:10px}
  .show-more-grid{grid-template-columns:1fr!important}
  .art-cat-grid{display:flex!important;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:8px;padding-bottom:6px;scroll-snap-type:x mandatory}
  .art-cat-card{flex:0 0 110px!important;padding:12px 10px;scroll-snap-align:start}
  .art-cat-card .kic{width:38px;height:38px}
  .art-cat-card b{font-size:12.5px}
  .art-profile-grid{grid-template-columns:minmax(0,1fr)!important}
  .art-profile-grid > div{min-width:0}
  .art-form-grid{grid-template-columns:1fr!important}
  .mob-artist-list{display:flex!important;flex-direction:column;gap:12px}
  .bk{display:none!important}
  .mob-bk-wrap{display:flex!important;flex-direction:column;gap:16px}
  .pay-kpis.cols-3, .pay-kpis.cols-4{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .pay-grid2{grid-template-columns:1fr!important}
  .mob-artist-pay-list, .mob-pay-list, .mob-tx-list{display:flex!important;flex-direction:column;gap:12px}
  .cmp-grid-top{grid-template-columns:1fr!important}
  .mob-cmp-tabs{display:flex!important;gap:6px;margin-bottom:12px;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .mob-cmp-list{display:flex!important;flex-direction:column;gap:10px}
  .cmp-view-overview .cmp-sec-expenses, .cmp-view-overview .cmp-sec-artists{display:none!important}
  .cmp-view-expenses .cmp-sec-overview, .cmp-view-expenses .cmp-sec-artists{display:none!important}
  .cmp-view-artists .cmp-sec-overview, .cmp-view-artists .cmp-sec-expenses{display:none!important}

  /* mobile bottom bar */
  .mob-nav{
    display:flex;
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    height:calc(58px + env(safe-area-inset-bottom, 0px));
    padding-bottom:env(safe-area-inset-bottom, 0px);
    background:var(--paper);
    border-top:1px solid var(--line);
    box-shadow:0 -4px 16px rgba(56, 12, 20, 0.05);
    z-index:40;
    align-items:stretch;
    justify-content:space-around;
  }
  .mob-tab{
    flex:1;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;
    padding:6px 2px;
    background:none;
    border:0;
    color:var(--muted);
    font-size:11px;
    font-weight:700;
    position:relative;
    text-decoration:none;
    min-height:48px;
    cursor:pointer;
    transition:color var(--t-fast);
    -webkit-tap-highlight-color:transparent;
  }
  .mob-tab:hover{color:var(--maroon)}
  .mob-tab.on{color:var(--maroon);font-weight:900}
  .mob-tab.on svg{stroke:var(--maroon)}
  .mob-tab .mob-badge{
    position:absolute;
    top:5px;
    right:calc(50% - 16px);
    min-width:16px;
    height:16px;
    padding:0 4px;
    border-radius:var(--r-pill);
    background:var(--maroon);
    color:#FAF4EB;
    font-size:10px;
    font-weight:900;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
    border:1.5px solid var(--paper);
  }

  /* mobile drawer backdrop */
  .mob-backdrop{
    display:block;
    position:fixed;
    inset:0;
    background:rgba(38,20,23,0.55);
    backdrop-filter:blur(4px);
    -webkit-backdrop-filter:blur(4px);
    z-index:60;
    opacity:0;
    pointer-events:none;
    transition:opacity 220ms ease;
  }
  .mob-backdrop.open{opacity:1;pointer-events:auto}

  /* mobile drawer sheet */
  .mob-drawer{
    display:flex;
    flex-direction:column;
    position:fixed;
    left:0;
    right:0;
    bottom:0;
    max-height:85vh;
    background:var(--paper);
    border-radius:24px 24px 0 0;
    box-shadow:var(--shadow-drawer);
    z-index:65;
    padding:16px 20px calc(24px + env(safe-area-inset-bottom, 0px));
    transform:translateY(100%);
    visibility:hidden;
    pointer-events:none;
    transition:transform 260ms cubic-bezier(0.16, 1, 0.3, 1),visibility 260ms;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .mob-drawer.open{transform:translateY(0);visibility:visible;pointer-events:auto}
  .mob-drawer-handle{width:36px;height:4px;border-radius:2px;background:var(--gold-line);margin:0 auto 14px;flex:none}
  .mob-drawer-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:14px;border-bottom:1px solid var(--line-soft);margin-bottom:14px}
  .mob-drawer-title{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:600;color:var(--maroon);letter-spacing:-0.01em}
  .mob-drawer-user{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;background:var(--gold-tint-2);border:1px solid var(--gold-line-4);margin-bottom:14px}
  .mob-drawer-list{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
  .mob-drawer-item{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:14px;border:1px solid transparent;background:var(--paper-sunk);color:var(--ink);font-size:14px;font-weight:700;text-align:left;cursor:pointer;transition:all var(--t-fast)}
  .mob-drawer-item:hover,.mob-drawer-item:active{background:var(--gold-tint-2);border-color:var(--gold-soft)}
  .mob-drawer-item.on{background:var(--gold-tint);border-color:var(--gold);color:var(--maroon)}
  .mob-drawer-item .cnt{margin-left:auto;font-size:11px;font-weight:900;background:var(--paper);color:var(--maroon);border-radius:var(--r-pill);padding:2px 8px;border:1px solid var(--gold-line)}
  .mob-drawer-item .desc{font-size:12px;color:var(--muted);font-weight:400;margin-top:1px}
}
@media(max-width:560px){
  .snap{grid-template-columns:1fr}
  .pay-kpis.cols-3, .pay-kpis.cols-4{grid-template-columns:1fr!important}
}
@media(max-width:420px){
  .lcard{padding:30px 22px 24px;border-radius:24px}.lh{font-size:27px}
}
@media(max-width:340px){
  .top-row-sub{flex-wrap:wrap;gap:8px}
  .top-row-sub .season-pill{flex:0 0 auto;max-width:100%}
  .top-row-sub .search{flex:1 1 100%;width:100%}
  .top h1{font-size:21px}
}

/* ==========================================================================
   DOCUMENTS MODULE MODERNIZATION (STEP 2.8)
   ========================================================================== */
.doc-kpis{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:14px;
  margin-bottom:20px;
}
@media(max-width:1024px){
  .doc-kpis{grid-template-columns:repeat(2, 1fr)}
}
@media(max-width:560px){
  .doc-kpis{grid-template-columns:1fr!important}
}

.doc-kpi-card{
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  padding:18px 20px;
  position:relative;
  box-shadow:var(--shadow-sm);
  transition:all var(--t-fast);
  display:flex;
  flex-direction:column;
  gap:4px;
}
.doc-kpi-card:hover{
  border-color:var(--gold-soft);
  box-shadow:var(--shadow-md);
  transform:translateY(-1px);
}
.doc-kpi-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin-bottom:4px;
}
.doc-kpi-label{
  font-size:12px;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:0.04em;
}
.doc-kpi-icon{
  width:32px;
  height:32px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--gold-tint-2);
  border:1px solid var(--gold-line-4);
}
.doc-kpi-val{
  font-family:'Cormorant Garamond',serif;
  font-size:28px;
  font-weight:700;
  color:var(--maroon);
  line-height:1.1;
}
.doc-kpi-sub{
  font-size:12px;
  color:var(--muted);
  margin-top:2px;
  display:flex;
  align-items:center;
  gap:6px;
}

.doc-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:20px;
  flex-wrap:wrap;
}
.doc-tabs-wrap{
  display:flex;
  align-items:center;
  gap:6px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:4px;
  scrollbar-width:none;
}
.doc-tabs-wrap::-webkit-scrollbar{display:none}

.doc-actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 1 auto;
}
.doc-search{
  position:relative;
  min-width:240px;
}
.doc-search input{
  width:100%;
  padding:9px 12px 9px 34px;
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:var(--r-pill);
  font-size:13px;
  color:var(--ink);
  outline:none;
  transition:all var(--t-fast);
}
.doc-search input:focus{
  border-color:var(--gold);
  box-shadow:0 0 0 3px var(--gold-line-4);
}
.doc-search .doc-search-icon{
  position:absolute;
  left:11px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
  display:flex;
  align-items:center;
}

.doc-alert-card{
  background:linear-gradient(180deg, #FDF8EE 0%, #FAF3E5 100%);
  border:1px solid #E5D5BA;
  border-radius:var(--r-card);
  padding:16px 20px;
  margin-bottom:20px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.doc-alert-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.doc-alert-title{
  font-size:15px;
  font-weight:700;
  color:var(--maroon);
  display:flex;
  align-items:center;
  gap:8px;
}
.doc-alert-desc{
  font-size:13px;
  color:var(--ink-soft);
  line-height:1.45;
}
.doc-chips-grid{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:2px;
}

.doc-rider-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:20px;
}
@media(max-width:860px){
  .doc-rider-grid{grid-template-columns:1fr}
}

.doc-rider-card{
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  padding:22px;
  box-shadow:var(--shadow-sm);
  display:flex;
  flex-direction:column;
  gap:16px;
  transition:all var(--t-fast);
}
.doc-rider-card:hover{
  border-color:var(--gold-soft);
  box-shadow:var(--shadow-md);
}
.doc-rider-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.doc-rider-title{
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  font-weight:700;
  color:var(--maroon);
  line-height:1.2;
}
.doc-rider-sub{
  font-size:13px;
  color:var(--muted);
  margin-top:2px;
}
.doc-rider-body{
  background:var(--paper-sunk);
  border:1px solid var(--line-soft);
  border-radius:14px;
  padding:14px 16px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.doc-rider-file-info{
  display:flex;
  align-items:center;
  gap:12px;
}
.doc-rider-meta{
  min-width:0;
  flex:1;
}
.doc-rider-meta b{
  display:block;
  font-size:14px;
  color:var(--ink);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.doc-rider-meta .sub{
  font-size:12px;
  color:var(--muted);
  margin-top:2px;
}
.doc-rider-acts{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  margin-top:6px;
}

.doc-desktop-table{display:block}
.doc-mobile-list{display:none}

@media(max-width:768px){
  .doc-desktop-table{display:none}
  .doc-mobile-list{display:flex;flex-direction:column;gap:10px}
}

.doc-file-card{
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:16px;
  padding:14px 16px;
  box-shadow:var(--shadow-sm);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.doc-file-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.doc-file-title{
  font-size:14px;
  font-weight:700;
  color:var(--maroon);
  line-height:1.3;
  word-break:break-word;
}
.doc-file-entity{
  font-size:12px;
  font-weight:600;
  color:var(--ink-soft);
  margin-top:2px;
}
.doc-file-meta{
  font-size:11px;
  color:var(--muted);
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}
.doc-file-acts{
  display:flex;
  align-items:center;
  gap:8px;
  border-top:1px solid var(--line-soft);
  padding-top:10px;
  margin-top:2px;
}

/* ==========================================================================
   TEAM LINKS & PORTALS MODERNIZATION (STEP 2.9)
   ========================================================================== */
.links-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:24px;
}
@media(max-width:860px){
  .links-grid{grid-template-columns:1fr}
}

.links-portal-card{
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  padding:22px;
  box-shadow:var(--shadow-sm);
  display:flex;
  flex-direction:column;
  gap:16px;
  transition:all var(--t-fast);
}
.links-portal-card:hover{
  border-color:var(--gold-soft);
  box-shadow:var(--shadow-md);
}

.links-portal-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.links-portal-title{
  font-family:'Cormorant Garamond',serif;
  font-size:22px;
  font-weight:700;
  color:var(--maroon);
  line-height:1.2;
}
.links-portal-sub{
  font-size:13px;
  color:var(--muted);
  margin-top:2px;
}

.links-url-box{
  background:var(--paper-sunk);
  border:1px solid var(--line-soft);
  border-radius:14px;
  padding:12px 14px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.links-url-code{
  font-family:'JetBrains Mono',ui-monospace,monospace;
  font-size:13px;
  color:var(--ink);
  background:var(--gold-tint-2);
  border:1px solid var(--gold-line-4);
  padding:8px 12px;
  border-radius:10px;
  word-break:break-all;
  display:block;
}
.links-url-acts{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.links-perms-wrap{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.links-perms-title{
  font-size:11px;
  font-weight:700;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:0.04em;
}
.links-perms-grid{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.links-perm-pill{
  font-size:11.5px;
  padding:3px 9px;
  border-radius:var(--r-pill);
  display:inline-flex;
  align-items:center;
  gap:5px;
  line-height:1.4;
}
.links-perm-pill.yes{
  background:#EAF6EC;
  color:#1B662F;
  border:1px solid #C4E6CB;
}
.links-perm-pill.no{
  background:var(--paper-sunk);
  color:var(--muted);
  border:1px solid var(--line-soft);
}

.links-pin-sec{
  border-top:1px solid var(--line-soft);
  padding-top:14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}
.links-pin-info b{
  font-size:14px;
  color:var(--ink);
  display:block;
}
.links-pin-info .sub{
  font-size:12px;
  color:var(--muted);
}

/* ==========================================================================
   SETTINGS & MASTER DATA ACCORDION (STEP 2.10)
   ========================================================================== */
.set-master-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  align-items:start;
  gap:16px;
  margin-top:16px;
}
@media(max-width:860px){
  .set-master-grid{grid-template-columns:1fr}
}

.set-col{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.set-accordion-card{
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  box-shadow:var(--shadow-sm);
  transition:border-color var(--t-fast), box-shadow var(--t-fast);
  overflow:hidden;
}
.set-accordion-card:hover{
  border-color:var(--gold-soft);
}
.set-accordion-card.open{
  border-color:var(--gold);
  box-shadow:var(--shadow-md);
}

.set-accordion-head{
  padding:16px 20px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  cursor:pointer;
  min-height:54px;
  user-select:none;
  background:var(--paper);
  transition:background var(--t-fast);
}
.set-accordion-head:hover{
  background:var(--gold-tint-2);
}
.set-accordion-head:focus-visible{
  outline:2px solid var(--maroon);
  outline-offset:-2px;
}

.set-accordion-title-wrap{
  min-width:0;
  flex:1;
}
.set-accordion-title{
  font-family:'Cormorant Garamond',serif;
  font-size:19px;
  font-weight:700;
  color:var(--maroon);
  line-height:1.2;
  display:flex;
  align-items:center;
  gap:8px;
}
.set-accordion-sub{
  font-size:12px;
  color:var(--muted);
  margin-top:2px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.set-accordion-meta{
  display:flex;
  align-items:center;
  gap:8px;
  flex:none;
}
.set-accordion-chevron{
  width:28px;
  height:28px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:var(--paper-sunk);
  color:var(--maroon);
  transition:transform 220ms cubic-bezier(0.16, 1, 0.3, 1), background var(--t-fast);
}
.set-accordion-card.open .set-accordion-chevron{
  transform:rotate(180deg);
  background:var(--gold-tint);
}

.set-accordion-body{
  border-top:1px solid var(--line-soft);
  background:var(--paper);
  padding:0 18px 18px;
  animation:setExpand 220ms cubic-bezier(0.16, 1, 0.3, 1);
}
@keyframes setExpand{
  from{opacity:0;transform:translateY(-4px)}
  to{opacity:1;transform:translateY(0)}
}
@media(prefers-reduced-motion: reduce){
  .set-accordion-chevron{transition:none}
  .set-accordion-body{animation:none}
}

.set-accordion-toolbar{
  padding:14px 0 10px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  border-bottom:1px solid var(--line-soft);
  margin-bottom:6px;
}
.set-accordion-toolbar .hint{
  font-size:12.5px;
  color:var(--ink-soft);
}

/* ---------- 404 page not found ---------- */
.nf-wrap{
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px 16px;
  background:radial-gradient(ellipse at 50% 25%, #4B0D1C 0%, #300711 65%, #1C0309 100%);
  box-sizing:border-box;
}
.nf-wrap-inner{
  min-height:calc(100vh - 120px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 16px;
  background:transparent;
  box-sizing:border-box;
}
.nf-card{
  width:100%;
  max-width:480px;
  background:#FAF5EC;
  border:1.5px solid #DFC27D;
  border-radius:28px;
  padding:42px 36px 36px;
  text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,0.35);
  display:flex;
  flex-direction:column;
  align-items:center;
  box-sizing:border-box;
  animation:nfCardAppear 380ms cubic-bezier(0.16, 1, 0.3, 1);
}
.nf-logo{
  height:56px;
  width:auto;
  display:block;
  filter:brightness(0) invert(10%) sepia(60%) saturate(3200%) hue-rotate(325deg) brightness(92%);
  margin-bottom:8px;
}
.nf-num{
  font-family:'Cormorant Garamond',serif;
  font-weight:700;
  font-size:76px;
  line-height:0.95;
  color:#581825;
  letter-spacing:3px;
  margin:10px 0 6px;
  text-shadow:0 2px 12px rgba(88,24,37,0.12);
  animation:nfFloat 4s ease-in-out infinite;
}
.nf-rule{
  width:54px;
  height:2px;
  border-radius:2px;
  background:linear-gradient(90deg, transparent, #DFC27D, transparent);
  margin:14px 0 16px;
}
.nf-title{
  margin:0;
  font-family:'Cormorant Garamond',serif;
  font-weight:600;
  font-size:30px;
  color:#381219;
  line-height:1.2;
}
.nf-sub{
  margin:12px 0 28px;
  font-size:14px;
  line-height:1.55;
  color:#685659;
  max-width:380px;
}
.nf-actions{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:100%;
  flex-wrap:wrap;
}
.nf-actions .btn{
  min-height:44px;
  padding:0 22px;
  font-size:13.5px;
  font-weight:700;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
  cursor:pointer;
  transition:all 180ms ease;
}
.nf-btn-pri{
  background:#581825;
  color:#FBF4E6 !important;
  border:1px solid #420D17;
  box-shadow:0 4px 14px rgba(88,24,37,0.25);
}
.nf-btn-pri:hover{
  background:#6E2232;
  transform:translateY(-1px);
}
.nf-btn-sec{
  background:#FFFFFF;
  color:#581825;
  border:1.5px solid #DFC27D;
}
.nf-btn-sec:hover{
  background:#F5ECD7;
}
@keyframes nfCardAppear{
  from{opacity:0;transform:translateY(12px) scale(0.98)}
  to{opacity:1;transform:translateY(0) scale(1)}
}
@keyframes nfFloat{
  0%, 100%{transform:translateY(0)}
  50%{transform:translateY(-3px)}
}
@media(prefers-reduced-motion: reduce){
  .nf-card{animation:none !important}
  .nf-num{animation:none !important}
  .nf-actions .btn{transition:none !important}
}
@media(max-width:480px){
  .nf-card{padding:32px 20px 28px;border-radius:22px}
  .nf-num{font-size:64px}
  .nf-title{font-size:25px}
  .nf-sub{font-size:13.5px;margin:10px 0 22px}
  .nf-actions{flex-direction:column;width:100%}
  .nf-actions .btn{width:100%}
}

/* ---------- expected pehchan fees strip (payments) ---------- */
/* ---------- compact luxury pehchan commission card (payments) ---------- */
.peh-strip-card{
  display:flex;
  flex-direction:column;
  padding:20px 24px;
  background:var(--paper);
  border:1px solid var(--line-soft);
  border-radius:var(--r-card);
  margin-bottom:20px;
  box-shadow:var(--shadow-card);
  gap:0;
}
.peh-strip-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.peh-strip-eyebrow{
  font-size:11px;
  font-weight:800;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--gold);
}
.peh-strip-val{
  font-size:32px;
  font-weight:900;
  color:var(--ink-strong);
  line-height:1.15;
  margin:4px 0 3px;
  letter-spacing:-0.01em;
}
.peh-strip-sub{
  font-size:13px;
  color:var(--muted);
}
.peh-strip-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:10px;
  background:rgba(223,194,125,0.18);
  border:1px solid var(--gold-line);
  color:var(--maroon);
}
.peh-strip-sep{
  width:100%;
  height:1px;
  background:var(--line-soft);
  margin:16px 0 14px;
}
.peh-strip-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:16px;
}
.peh-stat-item{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.peh-stat-item .peh-stat-label{
  font-size:12px;
  font-weight:600;
  color:var(--muted);
}
.peh-stat-num{
  font-size:19px;
  font-weight:800;
  color:var(--ink-strong);
}
.peh-strip-footnote{
  font-size:11.5px;
  color:var(--muted);
  opacity:0.85;
  margin-top:14px;
  padding-top:10px;
  border-top:1px dashed var(--line-soft);
}

@media(max-width:640px){
  .peh-strip-card{
    padding:16px 18px;
    margin-bottom:16px;
  }
  .peh-strip-val{
    font-size:28px;
  }
  .peh-strip-grid{
    grid-template-columns:1fr 1fr;
    gap:14px 12px;
  }
  .peh-stat-num{
    font-size:17px;
  }
}

/* Rebuilt Show Details Money Section */
.show-money-kpis {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
}
.show-lower-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-items: stretch;
}
.mob-pay-list {
  display: none;
}
@media (max-width: 900px) {
  .show-money-kpis {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .show-lower-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }
}
@media (max-width: 768px) {
  .mob-pay-list {
    display: flex;
    flex-direction: column;
    gap: 10px;
  }
}
@media (max-width: 520px) {
  .show-money-kpis {
    grid-template-columns: 1fr;
    gap: 10px;
  }
}

/* ---------- simplified new show experience ---------- */
.newshow-container {
  max-width: 900px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-bottom: 30px;
}
.newshow-card {
  background: var(--paper);
  border: 1px solid var(--line-soft);
  border-radius: var(--r-card);
  box-shadow: var(--shadow-card);
  overflow: hidden;
  transition: border-color .15s ease;
}
.newshow-sec-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 24px;
  gap: 16px;
  cursor: pointer;
  user-select: none;
}
.newshow-sec-head:hover {
  background: rgba(223, 194, 125, 0.05);
}
.newshow-sec-head.no-collapse {
  cursor: default;
  border-bottom: 1px solid var(--line-soft);
}
.newshow-sec-head.no-collapse:hover {
  background: transparent;
}
.newshow-sec-left {
  display: flex;
  align-items: center;
  gap: 14px;
  flex: 1;
  min-width: 0;
}
.newshow-sec-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(223, 194, 125, 0.16);
  border: 1px solid var(--gold-line);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--maroon);
  flex-shrink: 0;
}
.newshow-sec-title-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.newshow-sec-title {
  font-family: 'Cinzel', serif;
  font-size: 16.5px;
  font-weight: 700;
  color: var(--ink-strong);
  letter-spacing: .01em;
}
.newshow-sec-sub {
  font-size: 12.5px;
  color: var(--muted);
  white-space: nowrap;
  overflow: hidden;
  max-width: 100%;
  -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
  mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%);
}
.newshow-sec-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.newshow-badge {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .02em;
  background: var(--paper-sunk);
  border: 1px solid var(--line-soft);
  color: var(--ink);
}
.newshow-badge.gold {
  background: rgba(223, 194, 125, 0.22);
  border-color: var(--gold-line);
  color: var(--maroon);
}
.newshow-badge.opt {
  background: #f4ede2;
  color: var(--muted);
  font-weight: 600;
}
.newshow-sec-body {
  padding: 20px 24px;
  border-top: 1px solid var(--line-soft);
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.newshow-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.newshow-grid-2 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}
.newshow-container .fg {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.newshow-container .sel,
.newshow-container input.sel,
.newshow-container select.sel,
.newshow-container textarea.sel {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.newshow-container input[type="date"],
.newshow-container input[type="date"].sel {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding: 0 12px;
}
.newshow-container input[type="date"]::-webkit-date-and-time-value {
  text-align: left;
  min-height: 1.5em;
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
.newshow-container input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  padding: 4px;
  margin-right: -4px;
  flex-shrink: 0;
}
.newshow-summary-box {
  padding: 14px 18px;
  background: var(--paper-sunk);
  border-radius: 12px;
  border: 1px solid var(--line-soft);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}
.newshow-summary-text {
  font-size: 13px;
  color: var(--ink-strong);
  line-height: 1.45;
}
.newshow-summary-sub {
  font-size: 12px;
  color: var(--muted);
  margin-top: 3px;
}
.newshow-actions-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  padding: 10px 0 20px;
}
@media (max-width: 640px) {
  /* Prevent horizontal overflow across the entire shell on mobile */
  html, body {
    overflow-x: hidden;
    max-width: 100vw;
  }
  .app, .main {
    overflow-x: hidden;
    max-width: 100%;
    min-width: 0;
  }
  .pad {
    max-width: 100% !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
  }
  .crumb-bar {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* --- 1. Dedicated New Show Mobile Header (320px–430px) --- */
  .top.view-newshow {
    padding: 12px max(14px, env(safe-area-inset-right)) 12px max(14px, env(safe-area-inset-left)) !important;
    width: 100% !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    background: var(--paper) !important;
    border-bottom: 1px solid var(--line) !important;
    position: sticky !important;
    top: 0 !important;
    z-index: 20 !important;
  }
  .top.view-newshow .top-row-main {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .top.view-newshow .top-title-wrap {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .top.view-newshow .top-kicker {
    font-size: 9.5px !important;
    font-weight: 900 !important;
    letter-spacing: .18em !important;
    color: var(--gold) !important;
    text-transform: uppercase !important;
  }
  .top.view-newshow .top-title-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .top.view-newshow .top-title-row h1 {
    font-family: 'Cormorant Garamond', serif !important;
    font-size: 23px !important;
    font-weight: 700 !important;
    color: var(--maroon) !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    margin: 0 !important;
  }
  .top.view-newshow .top-season-badge {
    display: inline-flex !important;
    align-items: center !important;
    padding: 3px 9px !important;
    border-radius: var(--r-pill) !important;
    font-size: 11.5px !important;
    font-weight: 800 !important;
    background: var(--gold-tint) !important;
    border: 1px solid var(--gold-line) !important;
    color: var(--maroon) !important;
    white-space: nowrap !important;
    flex: none !important;
  }
  .top.view-newshow .top-row-actions {
    display: flex !important;
    align-items: center !important;
    width: 100% !important;
    gap: 8px !important;
  }
  /* Relocate / hide notification bell on mobile New Show to give full accessible width to actions */
  .top.view-newshow .top-row-actions .rb {
    display: none !important;
  }
  .top.view-newshow .top-actions {
    display: flex !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
  }
  .top.view-newshow .top-actions .btn {
    flex: 1 !important;
    height: 42px !important;
    min-height: 42px !important;
    border-radius: var(--r-ctl) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 14px !important;
    white-space: nowrap !important;
    box-sizing: border-box !important;
  }
  .top.view-newshow .top-actions .btn.pri {
    flex: 1.5 !important;
  }
  /* Hide search and bulky season dropdown specifically on mobile New Show */
  .top.view-newshow .top-row-sub,
  .top.view-newshow .search {
    display: none !important;
  }

  /* --- 2. Mobile Container & Typography Scale --- */
  .newshow-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    padding-bottom: 24px !important;
  }
  .newshow-card {
    border-radius: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
  .newshow-sec-head {
    padding: 14px 16px !important;
    gap: 10px !important;
    box-sizing: border-box !important;
    align-items: center !important;
  }
  .newshow-sec-left {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    gap: 12px !important;
  }
  .newshow-sec-title-wrap {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    overflow: hidden !important;
    gap: 2px !important;
  }
  .newshow-sec-body {
    padding: 16px !important;
    gap: 16px !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .newshow-grid-3,
  .newshow-grid-2 {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }
  .newshow-container .fg {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 6px !important;
  }
  .newshow-sec-title {
    font-size: 16px !important;
    font-weight: 700 !important;
    color: var(--maroon) !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
  }
  .newshow-sec-sub {
    font-size: 13px !important;
    color: var(--muted) !important;
    line-height: 1.35 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    max-width: 100% !important;
    -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%) !important;
    mask-image: linear-gradient(to right, #000 calc(100% - 28px), transparent 100%) !important;
  }
  .newshow-sec-right {
    flex: 0 0 auto !important;
    flex-shrink: 0 !important;
    gap: 8px !important;
    align-items: center !important;
  }
  .newshow-sec-right .newshow-badge {
    padding: 3px 8px !important;
    font-size: 11px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }
  .newshow-sec-right .btn {
    height: 32px !important;
    min-height: 32px !important;
    padding: 0 10px !important;
    font-size: 12.5px !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
  }
  .newshow-container .kl {
    font-size: 14.5px !important;
    font-weight: 800 !important;
    color: var(--ink-strong) !important;
    letter-spacing: .01em !important;
  }
  .newshow-container .sel,
  .newshow-container input.sel,
  .newshow-container select.sel,
  .newshow-container textarea.sel {
    font-size: 16px !important; /* Minimum 16px prevents iOS Safari auto-zoom */
    height: 44px !important;
    min-height: 44px !important;
    border-radius: var(--r-ctl) !important;
    padding: 0 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    font-family: inherit !important;
    color: var(--ink) !important;
  }
  .newshow-container textarea.sel {
    height: auto !important;
    min-height: 92px !important;
    padding: 12px 14px !important;
    line-height: 1.5 !important;
  }
  .newshow-summary-text {
    font-size: 14.5px !important;
    line-height: 1.45 !important;
  }
  .newshow-summary-sub {
    font-size: 13px !important;
    color: var(--muted) !important;
  }
  .newshow-summary-box {
    padding: 14px 16px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 12px !important;
  }
  .newshow-summary-box .btn {
    width: 100% !important;
    height: 40px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    justify-content: center !important;
  }

  /* --- 3. Date Input Overflow & Native WebKit Formatting --- */
  .newshow-container input[type="date"],
  input[type="date"].sel {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    background-color: #ffffff !important;
    border: 1px solid var(--line) !important;
    border-radius: var(--r-ctl) !important;
    padding: 0 14px !important;
    height: 44px !important;
    line-height: 44px !important;
    font-size: 16px !important;
  }
  .newshow-container input[type="date"]::-webkit-date-and-time-value {
    text-align: left !important;
    min-height: 1.5em !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .newshow-container input[type="date"]::-webkit-calendar-picker-indicator {
    cursor: pointer !important;
    padding: 4px !important;
    margin-right: -4px !important;
    filter: invert(15%) sepia(50%) saturate(2000%) hue-rotate(320deg) brightness(80%) !important;
  }

  /* --- 4. Overflow Checks for Expanded Sections & Actions --- */
  .newshow-container .scroll {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
  .newshow-container .pyr {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
  }
  .newshow-container .pyr > .fg:first-child {
    flex: 1 1 140px !important;
    min-width: 0 !important;
  }
  .newshow-container .pyr > .fg:nth-child(2) {
    flex: 1 1 80px !important;
    min-width: 0 !important;
  }
  .newshow-container .pyr > .ib {
    flex: none !important;
    align-self: center !important;
  }
  .newshow-actions-bar {
    width: 100% !important;
    box-sizing: border-box !important;
    gap: 10px !important;
  }
  .newshow-actions-bar .btn {
    flex: 1 !important;
    height: 44px !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    justify-content: center !important;
  }
  .newshow-actions-bar .btn.pri {
    flex: 1.5 !important;
  }
}

@media (max-width: 360px) {
  .newshow-sec-head {
    padding: 12px 14px !important;
  }
  .newshow-sec-right {
    flex-direction: column !important;
    align-items: flex-end !important;
    gap: 4px !important;
  }
  .newshow-sec-right .newshow-badge {
    font-size: 10px !important;
    padding: 2px 6px !important;
  }
  .newshow-sec-right .btn {
    height: 28px !important;
    min-height: 28px !important;
    font-size: 11.5px !important;
    padding: 0 8px !important;
  }
}

/* --- Spreadsheet Speed & Save Status Indicator --- */
.save-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  margin-left: 14px;
  vertical-align: middle;
  transition: opacity .25s ease, transform .25s ease;
  user-select: none;
}
.save-status.idle {
  opacity: 0;
  pointer-events: none;
}
.save-status.saving {
  color: var(--muted);
  opacity: 1;
}
.save-status.saved {
  color: #1e7e34;
  opacity: 1;
}
.save-status.error {
  color: #c92a2a;
  opacity: 1;
}
.save-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--gold, #dfc27d);
  display: inline-block;
  animation: dpPulse 1.2s infinite ease-in-out;
}
@keyframes dpPulse {
  0% { transform: scale(0.8); opacity: 0.5; }
  50% { transform: scale(1.2); opacity: 1; }
  100% { transform: scale(0.8); opacity: 0.5; }
}
.save-check {
  font-weight: 800;
  font-size: 13px;
  color: #2b8a3e;
}
.save-warn {
  font-weight: 800;
  font-size: 13px;
  color: #c92a2a;
}
.save-retry-btn {
  background: transparent;
  border: 1px solid #c92a2a;
  color: #c92a2a;
  padding: 1px 8px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  cursor: pointer;
  margin-left: 4px;
}
.save-retry-btn:hover {
  background: rgba(201, 42, 42, 0.1);
}

@media (max-width: 600px) {
  .save-status {
    font-size: 11.5px;
    margin-left: 8px;
    gap: 4px;
  }
}







