.brand{
  display:flex;
  gap:12px;
  align-items:center;
  justify-content:space-between;
  padding:11px 12px;
  border-radius:20px;
  background: linear-gradient(150deg, rgba(33,50,85,.56), rgba(20,34,62,.52));
  border:1px solid rgba(136,164,232,.3);
  box-shadow: 0 8px 18px rgba(5,10,24,.14);
}

.brand-main{
  display:flex;
  gap:12px;
  align-items:center;
  min-width:0;
}

.brand-side{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  flex:0 0 auto;
}

.logo{
  width:42px;
  height:42px;
  border-radius:50%;
  background:
    radial-gradient(circle at 30% 28%, rgba(255,255,255,.34), transparent 55%),
    linear-gradient(145deg, rgba(var(--accent-rgb),.95), rgba(var(--accent-deep-rgb),.9));
  border:1px solid rgba(var(--accent-rgb),.36);
  box-shadow:
    0 10px 22px rgba(4,10,25,.33),
    0 0 0 1px rgba(255,255,255,.06) inset;
}

.brand h1{ margin:0; font-size:14px; line-height:1.15; letter-spacing:.2px; }
.brand p{ margin:4px 0 0; font-size:12px; color:var(--muted); }
.brand-sub-link{
  margin-top:4px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  font-size:12px;
  color:var(--muted);
  text-decoration:none;
  border-bottom:1px dashed rgba(var(--accent-rgb),.28);
  line-height:1.1;
  transition: color .16s ease, border-color .16s ease;
}

.brand-sub-link::after{
  content: "\2197";
  font-size:11px;
}

.brand-sub-link:hover{
  color:#dce8ff;
  border-color: rgba(var(--accent-rgb),.7);
}

.live-toggle-dot{
  width:18px;
  height:18px;
  border-radius:999px;
  border:1px solid rgba(201,213,225,.45);
  background: rgba(148,163,184,.42);
  box-shadow:
    0 0 0 4px rgba(148,163,184,.12),
    0 6px 12px rgba(0,0,0,.28);
  cursor:pointer;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .12s ease;
  flex:0 0 auto;
}

.live-toggle-dot:hover{
  transform: translateY(-1px);
}

.live-toggle-dot.is-live{
  background: rgba(239,68,68,.92);
  border-color: rgba(248,113,113,.96);
  box-shadow:
    0 0 0 4px rgba(239,68,68,.18),
    0 0 16px rgba(239,68,68,.4);
}

.live-toggle-dot:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

.nav{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding: 0 6px;
}

.nav button{
  width:100%;
  text-align:left;
  border:1px solid rgba(166,192,245,.26);
  background: linear-gradient(155deg, rgba(255,255,255,.1), rgba(70,97,155,.09) 45%, rgba(14,24,46,.2));
  color:var(--text);
  padding:12px 13px;
  border-radius:18px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:space-between;
  box-shadow:
    0 12px 24px rgba(4,10,25,.18),
    0 0 0 1px rgba(255,255,255,.03) inset;
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  transition: transform .12s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.nav button:hover{
  transform: translateY(-1px);
  border-color: rgba(var(--accent-rgb),.62);
  background: linear-gradient(155deg, rgba(255,255,255,.14), rgba(var(--accent-rgb),.14) 45%, rgba(14,24,46,.22));
  box-shadow:
    0 10px 22px rgba(4,10,25,.18),
    0 0 0 1px rgba(255,255,255,.05) inset;
}

.nav button[aria-current="page"]{
  border-color: rgba(var(--accent-rgb),.72);
  background: linear-gradient(155deg, rgba(var(--accent-rgb),.27), rgba(var(--accent-rgb),.12) 52%, rgba(16,28,54,.2));
  box-shadow:
    0 0 0 1px rgba(var(--accent-rgb),.16) inset,
    0 10px 20px rgba(4,10,25,.14);
}

.nav-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.ico{
  width:34px;height:34px;
  border-radius:12px;
  border:1px solid rgba(var(--accent-rgb),.24);
  background: rgba(14,22,42,.72);
  display:grid;
  place-items:center;
  flex:0 0 auto;
  color:#dce8ff;
}

.nav-title{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
}

.nav-title b{
  font-size:13px;
  font-weight:650;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.nav-title span{
  font-size:12px;
  color:var(--muted);
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.badge{
  font-size:12px;
  color:var(--muted);
  border:1px solid rgba(var(--accent-rgb),.2);
  background: rgba(12,20,38,.82);
  padding:4px 8px;
  border-radius:999px;
  flex:0 0 auto;
}

.side-footer{
  margin-top:8px;
  border-top:1px solid rgba(136,164,232,.26);
  padding-top:14px;
  color:var(--muted);
  font-size:12px;
  display:flex;
  justify-content:space-between;
  gap:10px;
}

.footer-stats{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
}

.footer-stat{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 8px;
  border:1px solid rgba(var(--accent-rgb),.2);
  border-radius:999px;
  background:rgba(12,20,38,.82);
  color:var(--muted);
  line-height:1;
}

.footer-stat svg{
  width:14px;
  height:14px;
  opacity:.85;
}

.footer-stat b{
  font-size:12px;
  color:var(--text);
  font-weight:700;
}

.side-live-quick{
  margin-top:auto;
  border:1px solid rgba(136,164,232,.24);
  border-radius:12px;
  padding:5px;
  background: linear-gradient(160deg, rgba(20,33,58,.58), rgba(12,22,43,.52));
  display:flex;
  flex-direction:column;
  gap:4px;
}

.side-live-quick[hidden] + .side-footer{
  margin-top:auto;
}

.side-live-quick[hidden]{
  display:none !important;
}

.side-live-quick-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:6px;
}

.side-live-quick-title{
  font-size:9px;
  color:var(--muted);
  letter-spacing:.04em;
  text-transform:uppercase;
}

.side-live-item{
  border:1px solid rgba(136,164,232,.2);
  border-radius:9px;
  background:rgba(11,20,38,.48);
  padding:4px;
  display:grid;
  grid-template-columns: 36px minmax(0, 1fr) auto;
  align-items:center;
  gap:5px;
}

.side-live-thumb-wrap{
  width:36px;
  height:28px;
  border-radius:7px;
  border:1px solid rgba(136,164,232,.2);
  background:rgba(9,15,29,.72);
  overflow:hidden;
  display:grid;
  place-items:center;
  position:relative;
}

.side-live-thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  display:none;
}

.side-live-thumb-fallback{
  padding:0 4px;
  text-align:center;
  font-size:8px;
  color:var(--muted);
  line-height:1.2;
}

.side-live-item-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:1px;
}

.side-live-kicker{
  font-size:8px;
  color:rgba(179,196,230,.9);
  text-transform:uppercase;
  letter-spacing:.04em;
}

.side-live-label{
  font-size:10px;
  color:var(--text);
  line-height:1.15;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.side-live-skip-btn{
  justify-content:center;
  width:36px;
  height:36px;
  padding:0;
  font-size:10px;
  border-radius:7px;
  min-width:36px;
  position:relative;
  color:#f5f9ff;
  border-color: rgba(var(--accent-rgb), .44);
  background: linear-gradient(150deg, rgba(var(--accent-rgb),.24), rgba(var(--accent-deep-rgb),.2) 58%, rgba(13,22,41,.28));
}

.side-live-skip-btn svg{
  width:24px;
  height:24px;
}

.side-live-skip-icon{
  filter: drop-shadow(0 1px 2px rgba(0,0,0,.32));
}

.side-live-skip-btn[data-loading="true"]{
  color:transparent;
  pointer-events:none;
}

.side-live-skip-btn[data-loading="true"] svg{
  opacity:0;
}

.side-live-skip-btn[data-loading="true"]::after{
  content:"";
  position:absolute;
  width:14px;
  height:14px;
  border-radius:999px;
  border:2px solid rgba(243,247,255,.35);
  border-top-color:#ffffff;
  animation: toolbarBtnSpin .75s linear infinite;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:999px;
  border:1px solid rgba(var(--accent-rgb),.2);
  background: rgba(14,24,46,.76);
  color:var(--muted);
  font-size:12px;
}

.kpi-strip{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  padding:6px 2px;
}

.kpi-top{
  padding:0;
}

.kpi-pill{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid var(--line);
  background: linear-gradient(160deg, rgba(24,36,64,.44), rgba(15,25,47,.62));
}

.kpi-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background: rgba(14,22,42,.74);
  color:var(--accent);
}

.kpi-icon svg{
  width:14px;
  height:14px;
}

.kpi-label{
  font-size:12px;
  color:var(--muted);
  letter-spacing:.2px;
}

.kpi-value{
  font-size:18px;
  font-weight:700;
  color:var(--text);
}

.topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:11px 13px;
  border-radius:20px;
  border:1px solid var(--line);
  background: linear-gradient(160deg, rgba(24,36,64,.44), rgba(15,25,47,.62));
  box-shadow: 0 12px 24px rgba(4,10,25,.2);
}

.title h2{
  margin:0;
  font-size:20px;
  font-weight:700;
  letter-spacing:.2px;
}

.actions{
  display:flex;
  align-items:center;
  gap:10px;
}

.search{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 10px;
  border-radius:16px;
  border:1px solid var(--line);
  background: rgba(11,18,36,.78);
}

.search input{
  border:0;
  outline:none;
  background:transparent;
  color:var(--text);
  min-width:220px;
  font-size:13px;
}

.search:focus-within{
  border-color: rgba(var(--accent-rgb),.75);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb),.14);
}

.page p.small[style*="margin:0"] {
  display:none;
}

.btn{
  border:1px solid rgba(166,192,245,.2);
  background: linear-gradient(155deg, rgba(255,255,255,.06), rgba(70,97,155,.04) 45%, rgba(9,15,30,.16));
  color:var(--text);
  text-decoration:none;
  padding:10px 12px;
  border-radius:15px;
  cursor:pointer;
  box-shadow:
    0 10px 22px rgba(4,10,25,.16),
    0 0 0 1px rgba(255,255,255,.03) inset;
  backdrop-filter: blur(10px) saturate(140%);
  -webkit-backdrop-filter: blur(10px) saturate(140%);
  transition: transform .12s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
  font-size:13px;
  display:inline-flex;
  align-items:center;
  gap:8px;
  user-select:none;
  white-space:nowrap;
}

a.btn:visited{
  color:var(--text);
}

.btn:hover{
  transform: translateY(-1px);
  border-color: rgba(var(--accent-rgb),.48);
  background: linear-gradient(155deg, rgba(255,255,255,.09), rgba(var(--accent-rgb),.07) 45%, rgba(10,16,31,.2));
  box-shadow:
    0 12px 24px rgba(4,10,25,.22),
    0 0 0 1px rgba(255,255,255,.05) inset;
}
.btn:active{ transform: translateY(0px); }
.btn.primary{
  border-color: rgba(var(--accent-rgb),.62);
  background: linear-gradient(150deg, rgba(var(--accent-rgb),.25), rgba(var(--accent-rgb),.11) 55%, rgba(12,18,35,.12));
  box-shadow:
    0 12px 24px rgba(4,10,25,.2),
    0 0 0 1px rgba(186,210,255,.1) inset;
  color:#edf4ff;
}

.btn-hero{
  padding:10px 16px;
  border-radius:999px;
  box-shadow: 0 10px 24px rgba(var(--accent-rgb),.18);
}

.btn-hero .btn-icon{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background: var(--panel);
  color: var(--accent);
}

.btn-hero .btn-icon svg{
  width:14px;
  height:14px;
}

.btn.danger{
  border-color: rgba(251,113,133,.58);
  background: linear-gradient(150deg, rgba(251,113,133,.16), rgba(251,113,133,.07) 55%, rgba(24,12,18,.14));
}

.btn-delete-video-inline{
  width: 28px;
  height: 28px;
  padding: 0;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  justify-content: center;
}

.btn-delete-video-row{
  width: 28px;
  height: 28px;
  padding: 0;
  border-radius: 10px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  justify-content: center;
}

.btn, .nav button{
  position:relative;
  overflow:hidden;
}

.btn::before, .nav button::before{
  content:none;
}

.btn:focus-visible, .nav button:focus-visible{
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.btn.is-disabled{
  opacity: .6;
  pointer-events: none;
  transform: none;
}

.local-upload-name{
  font-size: 12px;
  color: var(--muted);
}

.card{
  background: linear-gradient(160deg, rgba(24,36,64,.44), rgba(15,25,47,.62));
  border:1px solid rgba(136,164,232,.18);
  border-radius:14px;
  padding: 14px;
  box-shadow: 0 10px 18px rgba(4,10,25,.16);
}

.card h3{ margin:0 0 12px; font-size:14px; }
.card p.small{ margin:0 0 12px; color:var(--muted); font-size:12px; }

.card-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.card-head h3{ margin:0; }

.btn.link{
  border:0;
  background: transparent;
  color: var(--accent);
  padding:0;
  font-size:12px;
  font-weight:600;
}

.btn.link:hover{
  background: transparent;
  text-decoration: underline;
}

.live-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.live-left{
  display:flex;
  align-items:center;
  gap:12px;
}

.live-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: rgba(164,174,187,.6);
  box-shadow: 0 0 0 4px rgba(164,174,187,.12);
}

.live-card.is-live .live-dot{
  background: var(--ok);
  box-shadow: 0 0 0 4px rgba(74,222,128,.18);
}

.live-copy h3{ margin:0; }

.live-status{
  margin:4px 0 0;
  font-size:12px;
  color:var(--muted);
}

.live-card.is-live .live-status{
  color: var(--ok);
}

.stat{
  padding:16px;
  border-radius:20px;
  border:1px solid var(--line);
  background: var(--panel2);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-height:86px;
}

.stat b{ font-size:18px; }
.stat span{ font-size:12px; color:var(--muted); display:block; margin-top:6px; }

.pill{
  font-size:12px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background: var(--panel);
  color:var(--muted);
}

.stat-card{
  padding:20px;
  border-radius:20px;
  border:1px solid var(--line);
  background: var(--panel2);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  min-height:110px;
  position:relative;
  overflow:hidden;
}

.stat-card::before{
  content:none;
}

.stat-card.published{
  background: var(--panel2);
}

.stat-card.draft{
  background: var(--panel2);
}

.stat-content{
  position:relative;
  z-index:1;
  flex:1;
}

.stat-value{
  font-size:32px;
  font-weight:800;
  color:var(--text);
  line-height:1;
  margin-bottom:8px;
}

.stat-label{
  font-size:13px;
  color:var(--muted);
  font-weight:500;
}

.stat-icon{
  width:56px;
  height:56px;
  border-radius:16px;
  border:1px solid var(--line);
  background: rgba(255,255,255,.04);
  display:grid;
  place-items:center;
  font-size:28px;
  flex:0 0 auto;
  position:relative;
  z-index:1;
}

.activity-feed{
  display:flex;
  flex-direction:column;
  gap:0;
}

.activity-item{
  padding:12px 0;
  border-radius:0;
  border:0;
  border-bottom:1px solid var(--line);
  background: transparent;
  display:flex;
  gap:12px;
  align-items:flex-start;
  transition: background .15s ease, border-color .15s ease;
}

.activity-item:hover{
  background: transparent;
  border-color:rgba(var(--accent-rgb),.35);
}

.activity-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:var(--accent);
  margin-top:4px;
  flex:0 0 auto;
  animation: pulse 2s ease-in-out infinite;
}

.activity-content{
  flex:1;
  min-width:0;
}

.activity-title{
  font-size:13px;
  color:var(--text);
  margin-bottom:2px;
  font-weight:500;
}

.activity-time{
  font-size:10px;
  color: rgba(164,174,187,.75);
}

.quick-actions{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:10px;
}

.quick-action{
  padding:16px;
  border-radius:16px;
  border:1px solid var(--line);
  background: var(--panel2);
  cursor:pointer;
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
  text-align:center;
  color:var(--text);
  text-decoration:none;
  font-size:13px;
  font-weight:500;
}

.quick-action:hover{
  border-color:var(--accent);
  background: rgba(var(--accent-rgb),.16);
  transform: translateY(-2px);
}

.quick-action-icon{
  width:22px;
  height:22px;
  margin:0 auto 8px;
  display:grid;
  place-items:center;
  color:var(--accent);
}

.quick-action-icon svg{
  width:20px;
  height:20px;
}

/* Video styles removed - modal video display no longer exists */

.quick-add-video-section{
  display:flex;
  gap:10px;
  margin-bottom:16px;
  align-items:stretch;
  padding:12px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(var(--accent-rgb),.04);
}

.quick-add-video-section input{
  flex:1;
  padding:10px 14px;
  font-size:13px;
  border-radius:10px;
  border:1.5px solid var(--line);
  background:var(--panel2);
  color:var(--text);
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease;
}

.quick-add-video-section input:focus{
  border-color:var(--accent);
  background:var(--panel);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb),.1);
  outline:none;
}

.quick-add-video-section .btn{
  flex-shrink:0;
  white-space:nowrap;
  padding:10px 16px;
  font-size:13px;
  border-radius:10px;
  font-weight:500;
}

.field{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:12px;
}

label{ 
  font-size:12px; 
  color:var(--muted); 
  font-weight:500;
  letter-spacing:.3px;
  text-transform:uppercase;
}

input, select, textarea{
  border:1px solid var(--line);
  background: var(--panel2);
  color:var(--text);
  padding:10px 12px;
  border-radius:16px;
  outline:none;
  font-size:13px;
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease;
}

input::placeholder,
select::placeholder,
textarea::placeholder{
  color: rgba(168,179,207,.5);
}

input:focus, select:focus, textarea:focus{
  border-color:var(--accent);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb),.14);
  background: rgba(var(--accent-rgb),.04);
}

input:disabled, select:disabled, textarea:disabled{
  opacity:.6;
  cursor:not-allowed;
}

textarea{ min-height: 92px; resize: vertical; }

.field.error input,
.field.error select,
.field.error textarea{
  border-color:var(--bad);
  background: rgba(251,113,133,.05);
}

.field.error label{ color:var(--bad); }

.field.success input,
.field.success select,
.field.success textarea{
  border-color:var(--ok);
  background: rgba(74,222,128,.05);
}

.field.success label{ color:var(--ok); }

select{
  appearance:none;
  color-scheme: dark;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8b3cf' stroke-width='2'%3e%3cpath d='M6 9l6 6 6-6'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right 8px center;
  background-size: 18px;
  padding-right:32px;
}

/* Native dropdown menus often ignore panel colors; force readable contrast. */
select:not([multiple]) option{
  color:#0c152b;
  background:#eaf0ff;
}

select:not([multiple]) option:checked{
  color:#050913;
  background:#cdd9ff;
}

/* Multi-selects are rendered in-page; keep them in the dark UI style. */
select[multiple]{
  background-image:none;
  padding-right:12px;
}

select[multiple] option{
  color:var(--text);
  background:transparent;
}

select[multiple] option:checked{
  color:#f6f9ff;
  background:rgba(var(--accent-rgb),.3);
}

.segmented{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.seg-btn{
  border:1px solid var(--line);
  background: linear-gradient(150deg, rgba(255,255,255,.05), rgba(68,93,148,.04) 45%, rgba(9,15,30,.14));
  color:var(--muted);
  padding:6px 10px;
  border-radius:999px;
  cursor:pointer;
  font-size:12px;
  backdrop-filter: blur(8px) saturate(135%);
  -webkit-backdrop-filter: blur(8px) saturate(135%);
  transition: color .15s ease, border-color .15s ease, background .15s ease;
  white-space:nowrap;
}

.seg-btn:hover{ color:var(--text); border-color: rgba(var(--accent-rgb),.45); background: rgba(var(--accent-rgb),.08); }
.seg-btn.active{ color:var(--text); border-color: rgba(var(--accent-rgb),.75); background: rgba(var(--accent-rgb),.12); }

.artist-wall{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items:stretch;
  gap:12px;
}

.playlist-wall{
  display:grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items:stretch;
  gap:12px;
}

.video-wall{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  align-items:stretch;
  gap:12px;
}

.video-wall-empty{
  grid-column:1 / -1;
  color:var(--muted);
  font-size:13px;
}

.video-tile{
  border:1px solid var(--line);
  background: var(--panel2);
  border-radius:18px;
  padding:10px;
  display:grid;
  grid-template-rows:minmax(132px, 1fr) auto;
  gap:8px;
  height:var(--dashboard-card-height);
  overflow:hidden;
  cursor:pointer;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.video-tile:hover{
  transform: translateY(-2px);
  border-color: rgba(var(--accent-rgb),.35);
  box-shadow: 0 10px 20px rgba(0,0,0,.18);
}

.video-tile:focus-visible{
  outline:2px solid var(--accent);
  outline-offset:2px;
}

.video-tile-media{
  position:relative;
  min-height:132px;
  height:100%;
  border-radius:12px;
  overflow:hidden;
  background:#000;
}

.video-tile-thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.video-tile-overlay{
  position:absolute;
  inset:8px 8px auto 8px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}

.video-tile-meta{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-height:0;
}

.video-tile-artist{
  color:var(--muted);
  font-size:12px;
  line-height:1.2;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.video-tile-title{
  color:var(--text);
  font-size:14px;
  font-weight:700;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.video-tile-sub{
  display:flex;
  flex-wrap:wrap;
  gap:4px;
  color:var(--muted);
  font-size:11px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.video-tile-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:0;
}

.video-tile-tag{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(132,163,255,.34);
  border-radius:999px;
  padding:4px 8px;
  font-size:10px;
  line-height:1;
  color:#dbe7ff;
  background:rgba(17,31,59,.56);
}

.video-tile-tag-more{
  border-style:dashed;
  color:rgba(190,207,240,.92);
}

.video-tile-tag-count{
  border-color:rgba(86,200,130,.42);
  color:rgba(203,246,219,.96);
  background:rgba(21,68,45,.34);
}

.video-tile-tag-country{
  gap:6px;
}

.artist-tile{
  border:1px solid var(--line);
  background: var(--panel2);
  border-radius:18px;
  padding:12px;
  display:grid;
  grid-template-rows:auto minmax(0, 1fr) auto;
  gap:10px;
  height:var(--dashboard-card-height);
  overflow:hidden;
  transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
  content-visibility:auto;
  contain-intrinsic-size: var(--dashboard-card-height);
}

.artist-primary-actions{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

.artist-filter-btn{
  width:44px;
  height:44px;
  position:relative;
  overflow:hidden;
  border-radius:14px;
  border:1px solid rgba(var(--accent-rgb),.42);
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.2), transparent 58%),
    linear-gradient(145deg, rgba(var(--accent-rgb),.42), rgba(var(--accent-deep-rgb),.34));
  color:#f3f7ff;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:16px;
  font-weight:700;
  line-height:1;
  box-shadow:
    0 12px 24px rgba(7,14,31,.2),
    0 0 0 1px rgba(255,255,255,.05) inset;
}

.artist-filter-btn-sub{
  width:auto;
  min-width:84px;
  padding:0 14px;
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  flex:0 0 auto;
}

.artist-filter-btn-count{
  min-width:18px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(10,20,39,.38);
  color:#f4f8ff;
  font-size:11px;
  font-weight:700;
  line-height:1;
  flex:0 0 auto;
}

.artist-filter-btn:hover{
  border-color: rgba(var(--accent-rgb),.85);
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.28), transparent 58%),
    linear-gradient(145deg, rgba(var(--accent-rgb),.54), rgba(var(--accent-deep-rgb),.46));
}

.artist-filter-btn.is-active{
  border-color: rgba(var(--accent-rgb),.9);
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.3), transparent 58%),
    linear-gradient(145deg, rgba(var(--accent-rgb),.62), rgba(var(--accent-deep-rgb),.54));
  color:#ffffff;
}

.artist-filter-btn-sub.is-active{
  border-color: rgba(74,222,128,.9);
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.22), transparent 58%),
    linear-gradient(145deg, rgba(74,222,128,.34), rgba(21,128,61,.3));
  color:#f3fff7;
  box-shadow:
    0 12px 24px rgba(7,14,31,.24),
    0 0 0 1px rgba(255,255,255,.05) inset,
    0 0 0 1px rgba(74,222,128,.18);
}

.artist-filter-btn-sub.is-active .artist-filter-btn-count{
  border-color: rgba(220,252,231,.22);
  background: rgba(10,32,20,.4);
  color:#ecfdf5;
}

.artist-filter-btn[data-loading="true"]{
  opacity:.82;
  cursor:wait;
  color:transparent;
  pointer-events:none;
}

.artist-filter-btn[data-loading="true"]::after{
  content:"";
  position:absolute;
  width:16px;
  height:16px;
  border-radius:999px;
  border:2px solid rgba(243,247,255,.35);
  border-top-color:#ffffff;
  animation: toolbarBtnSpin .75s linear infinite;
}

@keyframes toolbarBtnSpin{
  to{ transform: rotate(360deg); }
}

.artist-create-btn{
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(var(--accent-rgb),.42);
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.26), transparent 58%),
    linear-gradient(145deg, rgba(var(--accent-rgb),.52), rgba(var(--accent-deep-rgb),.45));
  color: #f3f7ff;
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:22px;
  line-height:1;
  box-shadow:
    0 12px 24px rgba(7,14,31,.24),
    0 0 0 1px rgba(255,255,255,.05) inset;
  backdrop-filter: blur(10px) saturate(145%);
  -webkit-backdrop-filter: blur(10px) saturate(145%);
}

.artist-create-btn:hover{
  border-color: rgba(var(--accent-rgb),.9);
  background:
    radial-gradient(circle at 30% 25%, rgba(255,255,255,.32), transparent 58%),
    linear-gradient(145deg, rgba(var(--accent-rgb),.66), rgba(var(--accent-deep-rgb),.56));
  color:#ffffff;
}

.artist-tile:hover{
  transform: translateY(-2px);
  border-color: rgba(var(--accent-rgb),.35);
  box-shadow: 0 10px 20px rgba(0,0,0,.18);
}

.artist-tile-draft{
  border-color: rgba(132,163,255,.24);
  background:
    linear-gradient(180deg, rgba(255,255,255,.015), rgba(255,255,255,0)),
    linear-gradient(160deg, rgba(19,31,57,.68), rgba(12,21,41,.58));
}

.artist-tile-draft:hover{
  border-color: rgba(var(--accent-rgb),.42);
}

.playlist-tile{
  border:1px solid var(--line);
  background: var(--panel);
  border-radius:18px;
  padding:10px;
  display:block;
  aspect-ratio:1 / 1;
  height:auto;
  overflow:hidden;
  transition: transform .15s ease, border-color .15s ease, background .15s ease;
  cursor:pointer;
}

.playlist-cover-wrap{
  position:relative;
  width:100%;
  height:100%;
  min-height:0;
  aspect-ratio:1 / 1;
  border-radius:12px;
  overflow:hidden;
  background:#000;
}

.playlist-cover{
  width:100%;
  height:100%;
  aspect-ratio:auto;
  border-radius:12px;
  object-fit:cover;
  border:0;
  background: var(--panel2);
}

.playlist-cover-fallback{
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:24px;
}

.playlist-import-preview{
  display:flex;
  align-items:center;
  gap:12px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:10px;
  background: var(--panel2);
}

.playlist-import-cover{
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:10px;
  border:1px solid var(--line);
  background: var(--panel);
}

.playlist-import-label{
  font-size:11px;
  color:var(--muted);
  margin-bottom:2px;
}

.playlist-import-title{
  font-size:14px;
  font-weight:600;
  color:var(--text);
}

.playlist-tile:hover{
  transform: translateY(-2px);
  border-color: var(--accent);
}

.playlist-tile-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.playlist-tile-body{
  padding:0;
  min-height:56px;
}

.playlist-tile-overlay-info{
  position:absolute;
  inset:auto 0 0 0;
  padding:34px 10px 10px;
  background:linear-gradient(180deg, rgba(3,8,18,0) 0%, rgba(3,8,18,.76) 46%, rgba(3,8,18,.92) 100%);
  display:flex;
  flex-direction:column;
  gap:8px;
  pointer-events:auto;
}

.playlist-name{
  font-size:15px;
  font-weight:650;
  line-height:1.35;
  color:#f4f8ff;
  text-shadow:0 2px 10px rgba(0,0,0,.42);
  display:-webkit-box;
  overflow:hidden;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
}

.playlist-name-row{
  display:flex;
  align-items:center;
  gap:8px;
}

.playlist-live-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background: var(--ok);
  box-shadow: 0 0 0 4px rgba(74,222,128,.15);
  flex:0 0 auto;
}

.playlist-sub{
  color:var(--muted);
  font-size:12px;
  margin-top:4px;
}

.playlist-meta-tags{
  margin-top:0;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  overflow:hidden;
}

.playlist-meta-tags .tag{
  background:rgba(7,18,36,.72);
  border-color:rgba(132,163,255,.28);
}

.playlist-cover-edit-btn{
  position:absolute;
  top:10px;
  left:10px;
  z-index:4;
  width:30px;
  height:30px;
  border-radius:10px;
  border:1px solid rgba(132,163,255,.5);
  background:linear-gradient(155deg, rgba(23,42,79,.78), rgba(11,24,52,.84));
  color:#eaf2ff;
  display:grid;
  place-items:center;
  line-height:1;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(-2px) scale(.94);
  transition:opacity .16s ease, transform .16s ease, border-color .16s ease, background .16s ease;
}

.playlist-cover-edit-btn:hover{
  border-color:rgba(132,163,255,.78);
  background:linear-gradient(155deg, rgba(33,58,106,.82), rgba(15,30,63,.9));
}

.playlist-tile:hover .playlist-cover-edit-btn,
.playlist-tile:focus-within .playlist-cover-edit-btn{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0) scale(1);
}

.btn-delete-playlist-card{
  width:28px;
  height:28px;
  border-radius:10px;
  border:1px solid var(--line);
  background: linear-gradient(150deg, rgba(251,113,133,.16), rgba(251,113,133,.07) 55%, rgba(24,12,18,.13));
  color: rgba(251,113,133,.95);
  cursor:pointer;
  font-size:18px;
  line-height:1;
  display:grid;
  place-items:center;
  position:absolute;
  top:10px;
  right:10px;
  backdrop-filter: blur(8px) saturate(135%);
  -webkit-backdrop-filter: blur(8px) saturate(135%);
}

.btn-delete-playlist-card:hover{
  border-color: rgba(251,113,133,.55);
}

@media (hover:none){
  .playlist-cover-edit-btn{
    opacity:1;
    pointer-events:auto;
    transform:none;
  }
}

.artist-tile-avatar-small{
  width:44px;
  height:44px;
  min-width:44px;
  border-radius:50%;
  background: var(--panel);
  border:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--muted);
  overflow:hidden;
  flex-shrink:0;
}

.artist-tile-avatar-small img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.artist-tile-avatar-small svg{
  width:24px;
  height:24px;
  opacity:.4;
}

.artist-tile-top{
  display:flex;
  align-items:center;
  gap:12px;
}

.artist-name{
  font-weight:650;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.artist-sub{
  color:var(--muted);
  font-size:12px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.artist-tags{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  align-content:flex-start;
  overflow:auto;
  min-height:0;
}

.artist-tile-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-height:28px;
}

.artist-tile-actions .btn-add-video{
  margin-left:0;
}

.tag-draft-upload{
  border-color: rgba(var(--accent-rgb),.22);
}

.kebab{
  width:36px;height:36px;
  display:grid; place-items:center;
  border-radius:14px;
  border:1px solid var(--line);
  background: var(--panel);
  cursor:pointer;
}

.thumb{
  width:52px;height:34px;
  border-radius:10px;
  border:1px solid var(--line);
  background: var(--panel);
  display:grid;
  place-items:center;
  color: rgba(232,238,252,.85);
  font-size:12px;
}

.tag{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid var(--line);
  background: var(--panel);
  color:var(--muted);
  font-size:12px;
}

.tag-videos{
  cursor:pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.tag-videos:hover{
  background: rgba(var(--accent-rgb),.15);
  border-color:var(--accent);
  color:var(--text);
}

.tag-videos-clickable{
  cursor:pointer;
  transition: background .15s ease, border-color .15s ease, color .15s ease;
}

.tag-videos-clickable:hover{
  background: rgba(var(--accent-rgb),.15);
  border-color:var(--accent);
  color:var(--text);
}

.tag.tag-founding-order,
.artist-tags .tag.tag-founding-order{
  border-color:rgba(239,68,68,.55);
  background:linear-gradient(145deg, rgba(127,29,29,.62), rgba(69,10,10,.64));
  color:#ffe9ee;
  box-shadow:0 0 0 1px rgba(255,255,255,.05) inset;
}

.tag.tag-country{
  gap:6px;
}

.country-flag-box{
  min-width:18px;
  width:18px;
  height:18px;
  border-radius:4px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  place-items:center;
  border:1px solid rgba(136,164,232,.24);
  background:rgba(255,255,255,.08);
  font-size:13px;
  line-height:1;
  flex-shrink:0;
  font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif;
}

.country-flag-img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  border-radius:3px;
}

.dot{ width:8px; height:8px; border-radius:999px; background: rgba(168,179,207,.7); }
.dot.ok{ background: rgba(74,222,128,.9); }
.dot.warn{ background: rgba(var(--accent-deep-rgb),.95); }

.modal-backdrop{
  position:fixed;
  inset:0;
  background:
    radial-gradient(circle at 20% 15%, rgba(255,96,124,.18), transparent 45%),
    radial-gradient(circle at 85% 80%, rgba(var(--accent-deep-rgb),.2), transparent 48%),
    rgba(7,12,24,.72);
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:200;
  backdrop-filter: blur(10px);
}

.modal-backdrop.show{ display:flex; }

.artist-panel-head-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
}

/* Artist editor shown in the optional 3rd dashboard column (not as fullscreen modal overlay). */
#sidePanelHost > #artistModalBackdrop{
  position:static;
  inset:auto;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:0;
  display:none;
  align-items:stretch;
  justify-content:stretch;
  height:100%;
}

#sidePanelHost > #artistModalBackdrop.show{
  display:flex;
}

#sidePanelHost > #artistModalBackdrop > .modal{
  width:100%;
  max-height:none;
  height:100%;
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}

#sidePanelHost > #artistModalBackdrop > .modal .body{
  height:auto;
  flex:1;
  min-height:0;
  overflow:auto;
}

/* Video preview/editor shown in the optional 3rd dashboard column. */
#sidePanelHost > #modalBackdrop{
  position:static;
  inset:auto;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:0;
  display:none;
  align-items:stretch;
  justify-content:stretch;
  height:100%;
}

#sidePanelHost > #modalBackdrop.show{
  display:flex;
}

#sidePanelHost > #modalBackdrop > .modal{
  width:100%;
  max-height:none;
  height:100%;
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}

#sidePanelHost > #modalBackdrop > .modal .body{
  height:auto;
  flex:1;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  gap:12px;
}

#sidePanelHost > #modalBackdrop > .modal .modal-preview-layout{
  position:sticky;
  top:0;
  z-index:3;
  flex:0 0 auto;
  background:linear-gradient(180deg, rgba(14,24,46,.96), rgba(14,24,46,.82));
  border-bottom:1px solid rgba(132,163,255,.2);
  padding-bottom:10px;
}

#sidePanelHost > #modalBackdrop > .modal .video-panel-meta{
  margin-top:0;
  flex:0 0 auto;
}

#sidePanelHost > #modalBackdrop > .modal #videoPanelTagEditor{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  margin-top:0;
  padding-right:4px;
}

#sidePanelHost > #filtersModalBackdrop{
  position:static;
  inset:auto;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:0;
  display:none;
  align-items:stretch;
  justify-content:stretch;
  height:100%;
}

#sidePanelHost > #filtersModalBackdrop.show{
  display:flex;
}

#sidePanelHost > #filtersModalBackdrop > .modal{
  width:100%;
  max-height:none;
  height:100%;
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}

#sidePanelHost > #filtersModalBackdrop > .modal .body{
  height:auto;
  flex:1;
  min-height:0;
  overflow:auto;
}

#sidePanelHost > #playlistTracksBackdrop{
  position:static;
  inset:auto;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:0;
  display:none;
  align-items:stretch;
  justify-content:stretch;
  height:100%;
}

#sidePanelHost > #playlistTracksBackdrop.show{
  display:flex;
}

#sidePanelHost > #playlistTracksBackdrop > .modal{
  width:100%;
  max-height:none;
  height:100%;
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}

#sidePanelHost > #playlistTracksBackdrop > .modal .body{
  height:auto;
  flex:1;
  min-height:0;
  overflow:auto;
}

#sidePanelHost > #playlistModalBackdrop{
  position:static;
  inset:auto;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:0;
  display:none;
  align-items:stretch;
  justify-content:stretch;
  height:100%;
}

#sidePanelHost > #playlistModalBackdrop.show{
  display:flex;
}

#sidePanelHost > #playlistModalBackdrop > .modal{
  width:100%;
  max-height:none;
  height:100%;
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}

#sidePanelHost > #playlistModalBackdrop > .modal .body{
  height:auto;
  flex:1;
  min-height:0;
  overflow:auto;
}

#sidePanelHost > #scheduleEditorBackdrop{
  position:static;
  inset:auto;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  padding:0;
  display:none;
  align-items:stretch;
  justify-content:stretch;
  height:100%;
}

#sidePanelHost > #scheduleEditorBackdrop.show{
  display:flex;
}

#sidePanelHost > #scheduleEditorBackdrop > .modal{
  width:100%;
  max-height:none;
  height:100%;
  box-shadow: 0 16px 34px rgba(0,0,0,.28);
}

#sidePanelHost > #scheduleEditorBackdrop > .modal .body{
  height:auto;
  flex:1;
  min-height:0;
  overflow:auto;
}

.modal{
  width:min(520px, 100%);
  max-height:85vh;
  background: linear-gradient(150deg, rgba(18,28,50,.92), rgba(10,17,34,.88));
  border:1px solid var(--line);
  border-radius:20px;
  box-shadow: 0 26px 60px rgba(0,0,0,.4);
  overflow:hidden;
  display:flex;
  flex-direction:column;
}

.modal header,
.modal footer{
  padding:16px 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-bottom:1px solid var(--line);
  background: rgba(14,24,46,.84);
}

.modal footer{ border-top:1px solid var(--line); border-bottom:0; }

.modal .body{ padding:18px; height:520px; overflow-y:auto; }

.modal-preview-only .body{
  height:auto;
}

.playlist-modal .body{
  height:auto;
}

.playlist-tracks-modal{
  width:min(680px, 100%);
}

.playlist-tracks-modal .body{
  height:auto;
  max-height:min(65vh, 560px);
}

.playlist-tracks-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.playlist-track-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid var(--line);
  border-radius:12px;
  padding:10px 12px;
  background: var(--panel2);
}

.playlist-track-left{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.playlist-track-cover{
  width:44px;
  height:44px;
  border-radius:10px;
  object-fit:cover;
  border:1px solid var(--line);
  background:var(--panel);
  flex-shrink:0;
}

.playlist-track-cover-fallback{
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:18px;
}

.playlist-track-title{
  font-size:14px;
  color:var(--text);
  font-weight:600;
  line-height:1.25;
  word-break:break-word;
}

.playlist-track-sub{
  font-size:12px;
  color:var(--muted);
}

.programming-separator{
  height:1px;
  background:var(--line);
  margin:18px 0 14px;
}

.programming-section{
  display:flex;
  flex-direction:column;
  gap:12px;
}

.programming-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.programming-head h3{
  margin:0;
  font-size:14px;
}

.programming-grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:12px;
}

.programming-grid.programming-grid-single{
  grid-template-columns: 1fr;
}

.programming-card{
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--panel);
  padding:12px;
}


.programming-card h4{
  margin:0 0 10px;
  font-size:13px;
}

.programming-card select,
.programming-card input[type="time"]{
  border:1px solid var(--line);
  background:var(--panel2);
  color:var(--text);
  border-radius:10px;
  padding:8px 10px;
  font-size:12px;
}

.program-schedule-form{
  display:grid;
  grid-template-columns: 1fr 1fr 110px 110px auto;
  gap:8px;
  margin-bottom:10px;
}

.program-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  max-height:220px;
  overflow:auto;
}

.program-item{
  border:1px solid var(--line);
  background:var(--panel2);
  border-radius:10px;
  padding:8px 10px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:8px;
}

.program-queue-card{
  align-items:center;
  gap:10px;
  cursor:grab;
}

.program-queue-card.is-dragging{
  opacity:.55;
  transform:scale(.99);
}

.program-queue-card.is-drop-target{
  border-color:rgba(var(--accent-rgb),.8);
  box-shadow:0 0 0 1px rgba(var(--accent-rgb),.5) inset;
}

.program-queue-cover-wrap{
  width:56px;
  height:56px;
  border-radius:10px;
  overflow:hidden;
  position:relative;
  flex-shrink:0;
  background:var(--panel);
  border:1px solid var(--line);
}

.program-queue-cover{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.program-queue-cover-fallback{
  display:grid;
  place-items:center;
  color:var(--muted);
  font-size:18px;
}

.program-queue-eta{
  position:absolute;
  left:4px;
  bottom:4px;
  background:rgba(8,12,18,.78);
  border:1px solid rgba(255,255,255,.12);
  color:#fff;
  border-radius:8px;
  padding:1px 6px;
  font-size:10px;
  font-variant-numeric: tabular-nums;
}

.program-queue-drag{
  color:var(--muted);
  font-size:14px;
  line-height:1;
  user-select:none;
}

.program-queue-hours-wrap{
  display:flex;
  align-items:center;
  gap:4px;
  color:var(--muted);
  font-size:11px;
}

.program-queue-hours-input{
  width:62px;
  border:1px solid var(--line);
  background:var(--panel);
  color:var(--text);
  border-radius:8px;
  padding:4px 6px;
  font-size:12px;
  appearance:textfield;
  -moz-appearance:textfield;
}

.program-queue-hours-input::-webkit-outer-spin-button,
.program-queue-hours-input::-webkit-inner-spin-button{
  -webkit-appearance:none;
  margin:0;
}

.program-item-title{
  font-size:12px;
  font-weight:600;
}

.program-item-sub{
  font-size:11px;
  color:var(--muted);
  margin-top:2px;
}

.program-track-player{
  margin-top:8px;
}

.program-track-progress{
  width:100%;
  height:6px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  overflow:hidden;
}

.program-track-progress-fill{
  height:100%;
  width:0%;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(var(--accent-rgb),.95), rgba(86,200,255,.95));
  transition:width .25s linear;
}

.program-track-time{
  margin-top:6px;
  font-size:11px;
  color:var(--muted);
  font-variant-numeric: tabular-nums;
}

.schedule-page-card{
  display:flex;
  flex-direction:column;
  gap:8px;
  height:100%;
  min-height:0;
  overflow:hidden;
}

.schedule-calendar-shell{
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
  flex:1 1 auto;
  min-height:0;
  overflow:hidden;
}

.schedule-calendar-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.schedule-calendar-title-wrap h3{
  margin:0;
  font-size:18px;
}

.schedule-calendar-title-wrap .artist-sub{
  margin:5px 0 0;
}

.schedule-calendar-actions{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.schedule-range-nav{
  display:inline-flex;
  align-items:center;
  gap:6px;
}

.schedule-range-btn{
  width:38px;
  height:38px;
  padding:0;
  border-radius:12px;
  display:grid;
  place-items:center;
  border-color:rgba(132,163,255,.36);
  background:linear-gradient(155deg, rgba(21,34,62,.9), rgba(14,25,46,.86));
}

.schedule-range-btn-icon{
  display:inline-grid;
  place-items:center;
  width:16px;
  height:16px;
  font-size:15px;
  line-height:1;
  font-weight:700;
  color:#eef5ff;
}

.schedule-range-btn:hover{
  border-color:rgba(132,163,255,.62);
  background:linear-gradient(155deg, rgba(30,48,84,.9), rgba(18,32,60,.9));
}

.schedule-filter-btn{
  width:38px;
  height:38px;
  font-size:15px;
  border-radius:12px;
}

.schedule-month-field{
  margin:0;
}

.schedule-month-field input{
  border-radius:10px;
  padding:8px 10px;
  font-size:12px;
  min-width:136px;
}

.schedule-view-switch{
  display:flex;
  align-items:center;
  gap:6px;
}

.schedule-view-btn,
.schedule-editor-mode-btn{
  border-radius:10px;
  font-size:12px;
  padding:8px 11px;
}

.schedule-view-btn.is-active,
.schedule-editor-mode-btn.is-active{
  border-color:rgba(var(--accent-rgb),.74);
  background:linear-gradient(155deg, rgba(var(--accent-rgb),.28), rgba(var(--accent-rgb),.12) 58%, rgba(10,18,34,.2));
  color:#edf4ff;
}

.schedule-status-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
  padding:0 2px;
}

.schedule-status-bar .tag{
  border:0;
  background:transparent;
  padding:0;
}

.schedule-layout{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  align-items:stretch;
  flex:1 1 auto;
  min-height:0;
}

.schedule-main-pane{
  min-width:0;
  min-height:0;
  display:flex;
  flex-direction:column;
  height:100%;
}

.schedule-calendar-view{
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  height:auto;
  overflow:auto;
}

.schedule-board{
  display:flex;
  flex-direction:column;
  gap:6px;
  height:100%;
  min-height:100%;
}

.schedule-board-weekdays{
  display:grid;
  grid-template-columns:repeat(7, minmax(0, 1fr));
  gap:1px;
  border:0;
  border-radius:0;
  overflow:visible;
  background:rgba(136,164,232,.28);
}

.schedule-board-weekdays span{
  text-align:center;
  font-size:11px;
  color:rgba(230,239,255,.9);
  letter-spacing:.01em;
  background:rgba(13,24,45,.92);
  padding:8px 6px;
  font-weight:600;
}

.schedule-board-grid{
  display:grid;
  gap:1px;
  border:0;
  border-radius:0;
  overflow:visible;
  background:rgba(136,164,232,.28);
}

.schedule-board-grid-3{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.schedule-board-grid-7{
  grid-template-columns:repeat(7, minmax(0, 1fr));
}

.schedule-board-day{
  border:0;
  border-radius:0;
  background:rgba(10,18,34,.76);
  min-height:128px;
  display:flex;
  flex-direction:column;
}

.schedule-board-day.is-compact{
  min-height:80px;
}

.schedule-board-day.is-outside{
  opacity:1;
  background:rgba(8,14,26,.9);
}

.schedule-board-day.is-selected{
  box-shadow:
    0 0 0 1px rgba(var(--accent-rgb),.52) inset,
    0 0 0 2px rgba(var(--accent-rgb),.2) inset;
}

.schedule-board-day.is-today{
  box-shadow:0 0 0 1px rgba(var(--accent-rgb),.72) inset;
}

.schedule-board-day.is-today .schedule-board-day-head{
  background:linear-gradient(145deg, rgba(120,26,35,.68), rgba(64,16,24,.76));
  border-bottom-color:rgba(255,148,166,.36);
}

.schedule-board-day.is-week-cell{
  background:rgba(12,20,36,.9);
}

.schedule-board-day.is-week-cell .schedule-board-day-head{
  grid-template-columns:1fr auto;
  justify-items:start;
  padding:10px 10px 9px;
}

.schedule-board-day.is-week-cell .schedule-board-day-number{
  font-size:14px;
  font-weight:700;
  color:rgba(240,246,255,.94);
}

.schedule-board-day.is-week-cell .schedule-board-day-label,
.schedule-board-day.is-week-cell .schedule-board-add{
  display:none;
}

.schedule-board-day-head{
  display:grid;
  grid-template-columns:auto 1fr auto auto;
  gap:8px;
  align-items:center;
  padding:7px 8px 6px;
  border-bottom:1px solid rgba(136,164,232,.14);
}

.schedule-board-day-number{
  border:0;
  background:transparent;
  color:#f4f8ff;
  min-width:0;
  height:auto;
  border-radius:0;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
  padding:0;
  line-height:1.1;
}

.schedule-board-day-label{
  font-size:12px;
  color:rgba(223,234,255,.82);
  text-transform:none;
  letter-spacing:.01em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-weight:600;
}

.schedule-board-add{
  border:1px solid rgba(136,164,232,.34);
  background:rgba(19,33,61,.84);
  color:rgba(225,236,255,.9);
  font-size:10px;
  cursor:pointer;
  padding:2px 7px;
  border-radius:999px;
  line-height:1.1;
}

.schedule-board-day-body{
  padding:7px;
  display:flex;
  flex-direction:column;
  gap:5px;
  min-height:0;
  overflow:visible;
}

.schedule-board-day.is-week-cell .schedule-board-day-body{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  height:100%;
  min-height:0;
  background:transparent;
}

.schedule-board-day.is-week-cell .schedule-post-card,
.schedule-board-day.is-week-cell .schedule-random-card{
  flex:var(--segment-minutes, 60) 1 0;
  height:auto;
}

.schedule-board-day.is-week-cell .schedule-post-card{
  min-height:80px;
  justify-content:flex-start;
}

.schedule-board-day.is-week-cell .schedule-random-card{
  min-height:54px;
}

.schedule-board-day-view,
.schedule-board-week-view{
  min-height:100%;
  height:100%;
  display:flex;
  flex-direction:column;
}

.schedule-board-day-view .schedule-board-grid,
.schedule-board-week-view .schedule-board-grid{
  flex:1 1 auto;
  min-height:0;
  height:100%;
  grid-template-rows:minmax(0, 1fr);
}

.schedule-board-day-view .schedule-board-day,
.schedule-board-week-view .schedule-board-day{
  min-height:0;
  height:100%;
}

.schedule-board-month-view{
  height:100%;
  min-height:0;
  gap:0;
}

.schedule-board-month-view .schedule-board-grid{
  height:100%;
  min-height:0;
  grid-template-rows:repeat(6, minmax(0, 1fr));
  border-top:0;
  border-radius:0;
}

.schedule-board-month-view .schedule-board-weekdays{
  border-radius:0;
  border-bottom:0;
}

.schedule-board-month-view .schedule-board-day{
  min-height:0;
  height:100%;
  border-radius:0;
  background:rgba(10,18,32,.9);
}

.schedule-board-month-view .schedule-board-day.is-outside{
  background:#0b1528;
}

.schedule-board-month-view .schedule-board-day-head{
  grid-template-columns:1fr auto;
  padding:6px 8px 5px;
  min-height:30px;
  border-bottom:0;
}

.schedule-board-month-view .schedule-board-day-label{
  display:none;
}

.schedule-board-month-view .schedule-board-add{
  display:none;
}

.schedule-board-add.is-hidden{
  display:none;
}

.schedule-rec-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:18px;
  min-width:18px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid rgba(255,164,176,.42);
  background:linear-gradient(145deg, rgba(239,68,68,.34), rgba(127,29,29,.48));
  color:#ffeef1;
  font-size:9px;
  font-weight:800;
  letter-spacing:.04em;
  line-height:1;
}

.schedule-rec-badge.is-hidden{
  display:none;
}

.schedule-board-month-view .schedule-board-day-number{
  justify-self:flex-start;
  font-size:12px;
  color:rgba(234,242,255,.88);
}

.schedule-board-month-view .schedule-board-day.is-outside .schedule-board-day-number{
  display:none;
}

.schedule-board-month-view .schedule-board-day.is-outside .schedule-board-day-head{
  border-bottom:0;
  min-height:0;
  padding:0;
}

.schedule-board-month-view .schedule-board-day.is-outside .schedule-board-day-body{
  padding:0;
  gap:0;
}

.schedule-board-month-view .schedule-board-day-body{
  padding:6px 7px;
  gap:5px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.schedule-board-month-view .schedule-board-day.is-programmed{
  color:#f3f8ff;
}

.schedule-board-month-view .schedule-board-day.is-programmed .schedule-board-day-number{
  color:#ffffff;
}

.schedule-board-month-view .schedule-board-day.is-programmed.month-tone-0{ background:rgba(76, 166, 255, .28); }
.schedule-board-month-view .schedule-board-day.is-programmed.month-tone-1{ background:rgba(94, 202, 167, .28); }
.schedule-board-month-view .schedule-board-day.is-programmed.month-tone-2{ background:rgba(247, 191, 98, .3); }
.schedule-board-month-view .schedule-board-day.is-programmed.month-tone-3{ background:rgba(185, 154, 255, .3); }
.schedule-board-month-view .schedule-board-day.is-programmed.month-tone-4{ background:rgba(255, 153, 184, .28); }
.schedule-board-month-view .schedule-board-day.is-programmed.month-tone-5{ background:rgba(111, 214, 223, .28); }

.schedule-month-summary{
  width:100%;
  height:100%;
  min-height:52px;
  border:0;
  background:transparent;
  color:inherit;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  cursor:pointer;
  text-align:center;
  padding:6px;
}

.schedule-month-count-badge{
  min-width:44px;
  height:32px;
  padding:0 10px;
  border-radius:999px;
  border:1px solid rgba(235,245,255,.38);
  background:rgba(9,18,35,.32);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 16px rgba(4,10,24,.14);
}

.schedule-month-count{
  font-size:20px;
  line-height:1;
  font-weight:800;
  letter-spacing:.01em;
}

.schedule-month-label{
  font-size:10px;
  line-height:1.2;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:rgba(240,246,255,.92);
  font-weight:700;
}

.schedule-board-month-view .schedule-post-card{
  padding:5px 6px;
  border-radius:8px;
}

.schedule-board-month-view .schedule-post-time{
  font-size:9px;
}

.schedule-board-month-view .schedule-post-title{
  font-size:11px;
}

.schedule-board-month-view .schedule-post-sub{
  display:none;
}

.schedule-post-card{
  border:1px solid rgba(118,148,210,.34);
  border-radius:6px;
  background:rgba(20,33,57,.72);
  color:var(--text);
  text-align:left;
  padding:6px 26px 6px 7px;
  display:flex;
  flex-direction:column;
  gap:3px;
  cursor:pointer;
  position:relative;
}

.schedule-post-delete{
  position:absolute;
  top:5px;
  right:6px;
  width:16px;
  height:16px;
  border-radius:6px;
  display:grid;
  place-items:center;
  font-size:11px;
  line-height:1;
  color:rgba(255,233,238,.96);
  background:rgba(96,26,47,.72);
  border:1px solid rgba(255,146,173,.52);
}

.schedule-post-delete:hover{
  background:rgba(120,30,59,.82);
  border-color:rgba(255,164,188,.68);
}

.schedule-random-card{
  border:1px solid rgba(120,140,176,.32);
  border-radius:6px;
  background:rgba(95,112,142,.18);
  color:rgba(224,234,250,.92);
  text-align:left;
  padding:6px 7px;
  display:flex;
  flex-direction:column;
  gap:3px;
  justify-content:flex-start;
  cursor:pointer;
}

.schedule-random-card.is-fill{
  flex:1;
  min-height:0;
}

.schedule-random-card.show-label{
  align-items:flex-start;
}

.schedule-random-card .schedule-post-time,
.schedule-random-card .schedule-post-title,
.schedule-random-card .schedule-post-sub{
  display:none;
}

.schedule-random-card.show-label .schedule-post-time,
.schedule-random-card.show-label .schedule-post-title,
.schedule-random-card.show-label .schedule-post-sub{
  display:block;
}

.schedule-post-time{
  font-size:10px;
  color:rgba(233,240,255,.95);
  font-variant-numeric: tabular-nums;
}

.schedule-post-title{
  font-size:13px;
  font-weight:700;
  line-height:1.2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.schedule-post-sub{
  font-size:10px;
  color:rgba(231,239,255,.9);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.schedule-board-day.is-week-cell .schedule-post-title,
.schedule-board-day.is-week-cell .schedule-post-sub{
  overflow:visible;
  text-overflow:clip;
  white-space:normal;
  word-break:break-word;
}

.schedule-post-card.tone-a{ background:rgba(155,218,189,.28); border-color:rgba(136,219,175,.62); }
.schedule-post-card.tone-b{ background:rgba(255,214,165,.3); border-color:rgba(255,205,141,.64); }
.schedule-post-card.tone-c{ background:rgba(173,212,255,.3); border-color:rgba(150,205,255,.62); }
.schedule-post-card.tone-d{ background:rgba(210,193,255,.3); border-color:rgba(194,173,255,.62); }
.schedule-post-card.tone-e{ background:rgba(255,190,210,.3); border-color:rgba(255,173,198,.62); }
.schedule-post-card.tone-f{ background:rgba(177,236,241,.3); border-color:rgba(151,231,238,.62); }
.schedule-post-card.tone-global-reach{ background:rgba(255,196,92,.3); border-color:rgba(255,190,74,.7); }

.schedule-board-month-view .schedule-post-card{
  background:rgba(208,221,247,.14);
  border-color:rgba(182,205,245,.48);
}

.schedule-board-month-view .schedule-post-card.tone-a{ background:rgba(165,224,194,.24); border-color:rgba(136,219,175,.52); }
.schedule-board-month-view .schedule-post-card.tone-b{ background:rgba(255,219,172,.24); border-color:rgba(255,205,141,.54); }
.schedule-board-month-view .schedule-post-card.tone-c{ background:rgba(181,217,255,.24); border-color:rgba(150,205,255,.54); }
.schedule-board-month-view .schedule-post-card.tone-d{ background:rgba(216,200,255,.24); border-color:rgba(194,173,255,.54); }
.schedule-board-month-view .schedule-post-card.tone-e{ background:rgba(255,198,216,.24); border-color:rgba(255,173,198,.54); }
.schedule-board-month-view .schedule-post-card.tone-f{ background:rgba(184,239,244,.24); border-color:rgba(151,231,238,.54); }
.schedule-board-month-view .schedule-post-card.tone-global-reach{ background:rgba(255,206,118,.24); border-color:rgba(255,190,74,.58); }

.schedule-board-random{
  border:1px dashed rgba(129,140,161,.48);
  border-radius:8px;
  padding:8px;
  font-size:11px;
  color:rgba(203,214,232,.85);
  text-align:center;
  background:rgba(129,140,161,.12);
}

.schedule-board-more{
  border:0;
  background:transparent;
  color:var(--accent);
  font-size:10px;
  cursor:pointer;
  text-align:left;
  padding:1px 2px;
}

.schedule-template-list,
.schedule-resolved-list{
  max-height:280px;
}

.schedule-template-item{
  align-items:flex-start;
}

.schedule-template-main{
  min-width:0;
  flex:1;
}

.schedule-template-actions{
  display:flex;
  align-items:center;
  gap:6px;
  flex-shrink:0;
}

.schedule-template-btn{
  border-radius:9px;
  padding:6px 8px;
  font-size:11px;
  min-height:28px;
}

.schedule-editor-modal{
  width:min(820px, 100%);
}

.schedule-editor-mode-switch{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.schedule-editor-theme-row{
  display:flex;
  align-items:center;
  gap:8px;
}

.schedule-editor-theme-row input{
  flex:1;
  min-width:0;
}

.schedule-template-name-row{
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  gap:8px;
  align-items:center;
}

.schedule-template-browse-btn{
  width:38px;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
  border-radius:10px;
}

.schedule-template-dropdown{
  margin-top:8px;
  border:1px solid rgba(132,163,255,.3);
  border-radius:12px;
  background:rgba(10,18,34,.88);
  overflow:hidden;
  max-height:220px;
  overflow-y:auto;
}

.schedule-template-dropdown-empty{
  padding:10px 12px;
  color:var(--muted);
  font-size:12px;
}

.schedule-template-item-btn{
  width:100%;
  border:0;
  border-bottom:1px solid rgba(132,163,255,.2);
  background:rgba(10,18,34,.72);
  color:var(--text);
  text-align:left;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  gap:2px;
  cursor:pointer;
}

.schedule-template-item-btn:last-child{
  border-bottom:0;
}

.schedule-template-item-btn:hover{
  background:rgba(22,34,60,.78);
}

.schedule-template-item-name{
  font-size:13px;
  font-weight:700;
}

.schedule-template-item-sub{
  font-size:11px;
  color:var(--muted);
}

.schedule-editor-date-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:6px;
}

.schedule-editor-date-quick{
  display:flex;
  gap:6px;
  align-items:center;
}

.schedule-editor-date-btn{
  border-radius:999px;
  padding:5px 10px;
  min-height:26px;
  font-size:11px;
}

.schedule-editor-date-pretty{
  margin:7px 0 0;
}

.schedule-editor-sessions-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.schedule-editor-sessions-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.schedule-editor-sessions-empty{
  border:1px dashed rgba(118,148,210,.36);
  border-radius:12px;
  padding:12px;
  color:rgba(226,236,255,.8);
  font-size:13px;
  background:rgba(20,33,57,.42);
}

.schedule-editor-add-footer-btn{
  margin-right:auto;
}

.schedule-editor-session-row{
  --session-tone-bg:rgba(20,33,57,.72);
  --session-tone-border:rgba(118,148,210,.34);
  --session-tone-accent:rgba(118,148,210,.34);
  border:1px solid var(--session-tone-border);
  border-radius:12px;
  background:var(--session-tone-bg);
  padding:10px;
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:8px;
  align-items:start;
  box-shadow:inset 3px 0 0 var(--session-tone-accent);
  cursor:pointer;
}

.schedule-editor-session-row.tone-a{
  --session-tone-bg:rgba(155,218,189,.28);
  --session-tone-border:rgba(136,219,175,.62);
  --session-tone-accent:rgba(136,219,175,.62);
}

.schedule-editor-session-row.tone-b{
  --session-tone-bg:rgba(255,214,165,.3);
  --session-tone-border:rgba(255,205,141,.64);
  --session-tone-accent:rgba(255,205,141,.64);
}

.schedule-editor-session-row.tone-c{
  --session-tone-bg:rgba(173,212,255,.3);
  --session-tone-border:rgba(150,205,255,.62);
  --session-tone-accent:rgba(150,205,255,.62);
}

.schedule-editor-session-row.tone-d{
  --session-tone-bg:rgba(210,193,255,.3);
  --session-tone-border:rgba(194,173,255,.62);
  --session-tone-accent:rgba(194,173,255,.62);
}

.schedule-editor-session-row.tone-e{
  --session-tone-bg:rgba(255,190,210,.3);
  --session-tone-border:rgba(255,173,198,.62);
  --session-tone-accent:rgba(255,173,198,.62);
}

.schedule-editor-session-row.tone-f{
  --session-tone-bg:rgba(177,236,241,.3);
  --session-tone-border:rgba(151,231,238,.62);
  --session-tone-accent:rgba(151,231,238,.62);
}

.schedule-editor-session-row.tone-global-reach{
  --session-tone-bg:rgba(255,196,92,.3);
  --session-tone-border:rgba(255,190,74,.7);
  --session-tone-accent:rgba(255,190,74,.7);
}

.schedule-editor-session-summary{
  display:none;
  flex-direction:column;
  gap:4px;
  min-width:0;
}

.schedule-editor-session-row:not(.is-collapsed) .schedule-editor-session-summary{
  display:none;
}

.schedule-editor-session-summary-time{
  font-size:11px;
  color:rgba(222,235,255,.92);
  font-variant-numeric:tabular-nums;
}

.schedule-editor-session-summary-title{
  font-size:13px;
  font-weight:700;
  color:rgba(240,247,255,.98);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.schedule-editor-session-summary-sub{
  font-size:11px;
  color:rgba(205,221,248,.88);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.schedule-editor-session-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:8px;
}

.schedule-editor-session-grid .field{
  margin:0;
}

.schedule-editor-session-grid .schedule-editor-session-input{
  width:100%;
}

.schedule-editor-session-field-theme{
  grid-column:1 / -1;
}

.schedule-editor-session-field-playlist{
  grid-column:1 / -1;
}

.schedule-editor-session-field-artist{
  grid-column:1 / -1;
}

.schedule-editor-artist-search{
  display:flex;
  align-items:center;
  gap:8px;
}

.schedule-editor-artist-search-input{
  margin-top:8px;
}

.schedule-editor-artist-search-input[hidden]{
  display:none !important;
}

.schedule-editor-artist-search-icon-btn{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid rgba(86,132,255,.48);
  background:rgba(12,24,48,.74);
  color:rgba(224,236,255,.94);
  display:grid;
  place-items:center;
  cursor:pointer;
  font-size:14px;
  padding:0;
  line-height:1;
}

.schedule-editor-artist-search-icon-btn:hover{
  border-color:rgba(120,161,255,.72);
  background:rgba(20,38,74,.82);
}

.schedule-editor-artist-current{
  font-size:12px;
  color:rgba(216,231,255,.86);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  min-width:0;
  flex:1 1 auto;
}

.schedule-editor-artist-clear-btn{
  min-height:28px;
  border-radius:8px;
  border:1px solid rgba(120,161,255,.52);
  background:rgba(20,38,74,.82);
  color:rgba(224,236,255,.94);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  padding:0 10px;
  line-height:1.1;
  font-size:11px;
  font-weight:600;
}

.schedule-editor-artist-clear-btn:hover{
  border-color:rgba(132,163,255,.76);
  background:rgba(26,47,89,.86);
}

.schedule-editor-time-field{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:6px;
}

.schedule-editor-time-stepper{
  display:inline-flex;
  align-items:stretch;
  border:1px solid rgba(86,132,255,.72);
  border-radius:12px;
  overflow:hidden;
  background:rgba(13,28,58,.42);
  min-width:76px;
  height:36px;
}

.schedule-editor-time-field .schedule-editor-session-input[data-input-kind="time"]{
  width:100%;
  font-variant-numeric:tabular-nums;
}

.schedule-editor-time-step-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:rgba(171,198,255,.98);
  font-size:22px;
  line-height:1;
  width:38px;
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background .16s ease, color .16s ease;
}

.schedule-editor-time-step-btn + .schedule-editor-time-step-btn{
  border-left:1px solid rgba(86,132,255,.56);
}

.schedule-editor-time-step-btn:hover{
  background:rgba(86,132,255,.2);
  color:#f0f6ff;
}

.schedule-editor-time-step-btn:focus-visible{
  outline:2px solid rgba(132,163,255,.9);
  outline-offset:-2px;
}

.schedule-editor-session-grid label{
  margin-bottom:4px;
}

.schedule-editor-session-row.is-collapsed{
  align-items:center;
  padding:7px 8px;
  border-radius:8px;
  min-height:64px;
}

.schedule-editor-session-row.is-collapsed .schedule-editor-session-summary{
  display:flex;
  gap:2px;
}

.schedule-editor-session-row.is-collapsed .schedule-editor-session-grid{
  display:none !important;
}

.schedule-editor-toggle-grid{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.schedule-toggle-item{
  display:inline-flex;
  align-items:center;
  gap:7px;
  border:1px solid var(--line);
  background:var(--panel);
  padding:6px 9px;
  border-radius:999px;
  font-size:12px;
  color:var(--text);
}

.schedule-toggle-item input{
  margin:0;
}

.modal-preview-layout{
  display:flex;
  flex-direction:column;
  gap:0;
}

.modal-preview-frame{
  position:relative;
  width:100%;
  aspect-ratio: 16 / 9;
  border-radius:18px;
  overflow:hidden;
  background:#000;
  display:grid;
  place-items:center;
  margin-inline:auto;
}

.modal-preview-frame > iframe,
.modal-preview-frame > video,
.modal-preview-frame > .modal-preview-empty,
.modal-preview-frame > .modal-preview-artwork-trigger{
  grid-area:1 / 1;
}

.modal-preview-artwork-trigger{
  z-index:4;
  align-self:stretch;
  justify-self:stretch;
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  padding:10px;
  cursor:pointer;
  user-select:none;
  text-decoration:none;
  color:inherit;
  background:linear-gradient(180deg, rgba(0,0,0,0) 52%, rgba(0,0,0,.46) 100%);
}

.modal-preview-artwork-trigger span{
  border:1px solid rgba(220,234,255,.42);
  border-radius:999px;
  background:rgba(10,20,39,.8);
  color:#eef5ff;
  font-size:11px;
  line-height:1;
  padding:6px 10px;
  transition:border-color .14s ease, background .14s ease, transform .14s ease;
}

.modal-preview-artwork-trigger:hover span{
  border-color:rgba(220,234,255,.72);
  background:rgba(20,34,63,.88);
  transform:translateY(-1px);
}

.modal-preview-artwork-trigger:focus-visible{
  outline:0;
}

.modal-preview-artwork-trigger:focus-visible span{
  border-color:rgba(132,163,255,.86);
  box-shadow:0 0 0 2px rgba(86,132,255,.32);
}

.modal-preview-artwork-trigger.is-disabled{
  cursor:not-allowed;
}

.modal-preview-artwork-trigger.is-disabled span{
  opacity:.5;
}

.modal-preview-empty{
  place-items:center;
  color:var(--muted);
  font-size:13px;
  text-align:center;
  padding:10px;
}

.video-panel-meta{
  margin-top:12px;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.video-panel-meta .tag{
  background:var(--panel2);
}

.video-tag-editor-placeholder{
  margin-top:12px;
  border:1px dashed rgba(var(--accent-rgb),.42);
  border-radius:14px;
  padding:12px;
  background:rgba(var(--accent-rgb),.06);
}

.video-tag-editor-placeholder h5{
  margin:0 0 6px;
  font-size:13px;
  color:var(--text);
}

.video-tag-editor-placeholder p{
  margin:0 0 10px;
}

.confirm-modal{
  width:min(420px, 100%);
}

.confirm-modal .body{
  height:auto;
  min-height:80px;
}

.confirm-message{
  margin:0;
  color:var(--text);
  line-height:1.45;
  font-size:14px;
}

/* Artist Profile Block */
.artist-profile-block{
  display:flex;
  gap:18px;
  align-items:flex-start;
  padding-bottom:20px;
  margin-bottom:0px;
  border-bottom:none;
}

.artist-avatar{
  width:140px;
  height:140px;
  min-width:140px;
  border-radius:50%;
  background: var(--panel2);
  border:2px solid var(--line);
  display:grid;
  place-items:center;
  color:var(--muted);
  cursor:pointer;
  transition: background .15s ease, border-color .15s ease;
  overflow:hidden;
  flex-shrink:0;
  position:relative;
}

.artist-avatar:hover{
  background: rgba(var(--accent-rgb),.15);
  border-color:var(--accent);
}

.artist-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.artist-avatar svg{
  width:70px;
  height:70px;
  opacity:.5;
}

.artist-info{
  flex:1;
  display:flex;
  flex-direction:column;
  gap:14px;
  padding-top:2px;
}

.artist-info .field{
  margin:0;
}

.artist-info label{
  font-size:12px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.3px;
  color:var(--text);
  opacity:.8;
  margin-bottom:6px;
}

.modal-section{
  padding-bottom:20px;
  margin-bottom:20px;
  border-bottom:1px solid var(--line);
}

.modal-section:last-child{
  border-bottom:none;
  margin-bottom:0;
  padding-bottom:0;
}

.artist-advanced-divider{
  height:1px;
  width:100%;
  margin:14px 0 16px;
  background:linear-gradient(90deg, rgba(132,163,255,0), rgba(132,163,255,.5), rgba(132,163,255,0));
}

.artist-commission-link-field{
  margin-top:12px;
  margin-bottom:4px;
}

.artist-commission-link-field label{
  text-transform:none;
  letter-spacing:.15px;
}

.artist-commission-link-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-bottom:8px;
}

.artist-commission-link-head > label{
  margin:0;
  font-size:12px;
  font-weight:600;
  color:#d8e3f8;
}

.artist-commission-link-head > label span{
  color:#8ea2c0;
  font-weight:500;
}

.artist-commission-inline-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-width:64px;
  padding:5px 11px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.24);
  background:rgba(16,22,34,.6);
  color:#93a1b8;
  font-size:11px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.artist-commission-inline-toggle::before{
  content:"$";
  width:16px;
  height:16px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.32);
  background:rgba(17,24,39,.7);
  display:grid;
  place-items:center;
  font-size:10px;
  font-weight:800;
  color:inherit;
  line-height:1;
}

.artist-commission-inline-toggle input{
  position:absolute;
  inset:0;
  margin:0;
  opacity:0;
  cursor:pointer;
}

.artist-commission-inline-toggle:has(input:checked){
  color:#c4ebd2;
  border-color:rgba(116,174,138,.3);
  background:rgba(28,48,40,.42);
}

.artist-commission-inline-toggle:has(input:checked)::before{
  border-color:rgba(136,218,166,.48);
  background:rgba(43,83,63,.62);
  color:#dbffe7;
}

.artist-commission-inline-toggle:has(input:focus-visible){
  outline:2px solid rgba(var(--accent-rgb),.68);
  outline-offset:2px;
}

.artist-link-field{
  margin-bottom:10px;
}

.artist-link-editor{
  display:grid;
  grid-template-columns:minmax(0, 1fr);
  gap:0;
  align-items:center;
}

.artist-link-editor input{
  min-width:0;
}

.artist-link-apply-btn{
  display:none !important;
}

.artist-link-view{
  width:100%;
  border:1px solid rgba(168,181,200,.26);
  border-radius:16px;
  background:linear-gradient(155deg, rgba(31,39,57,.62), rgba(23,31,47,.64));
  color:#e8efff;
  padding:10px 12px;
  display:flex;
  align-items:center;
  gap:10px;
  cursor:pointer;
  text-align:left;
  transition:border-color .16s ease, background .16s ease, transform .16s ease;
}

.artist-link-view:hover{
  transform:translateY(-1px);
  border-color:rgba(176,193,216,.4);
  background:linear-gradient(155deg, rgba(38,48,69,.66), rgba(26,37,57,.68));
}

.artist-link-view[hidden]{
  display:none !important;
}

.artist-link-view-icon{
  width:30px;
  height:30px;
  border-radius:10px;
  border:1px solid rgba(176,193,216,.32);
  background:rgba(14,20,33,.74);
  color:#d6e3fa;
  font-size:11px;
  font-weight:800;
  display:grid;
  place-items:center;
  flex-shrink:0;
}

.artist-link-view-icon svg{
  width:17px;
  height:17px;
  display:block;
}

.artist-link-view-icon[data-platform="instagram"]{
  color:#ff5f96;
}

.artist-link-view-icon[data-platform="twitch"]{
  color:#a970ff;
}

.artist-link-view-icon[data-platform="youtube"]{
  color:#ff5353;
}

.artist-link-view-icon[data-platform="tiktok"]{
  color:#ffffff;
  border-color:rgba(170,182,204,.38);
  background:linear-gradient(145deg, rgba(18,22,33,.96), rgba(11,15,24,.96));
}

.artist-link-view-icon[data-platform="x"]{
  color:#e7efff;
}

.artist-link-view-icon[data-platform="artstation"]{
  color:#3bb4ff;
}

.artist-link-view-icon[data-platform="website"]{
  color:#9bc8ff;
}

.artist-link-view-icon[data-platform="email"]{
  color:#ffcf8d;
  border-color:rgba(255,192,120,.46);
  background:linear-gradient(145deg, rgba(56,40,18,.88), rgba(41,28,12,.9));
}

.artist-link-view-icon[data-platform="commission"]{
  color:#9ef3c2;
  border-color:rgba(112,198,143,.45);
  background:linear-gradient(145deg, rgba(20,48,38,.9), rgba(16,35,29,.92));
  box-shadow:
    inset 0 1px 0 rgba(187,255,216,.12),
    0 0 0 1px rgba(99,188,132,.24);
}

.artist-link-view-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
}

.artist-link-view-copy strong{
  font-size:12px;
  line-height:1.1;
  color:#eef4ff;
}

.artist-link-view-value{
  font-size:12px;
  color:#9fb0cb;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}

.artist-link-field.is-view .artist-link-editor{
  display:none;
}

.artist-link-field.is-view .artist-link-view{
  display:flex;
}

.artist-link-field.is-view > label{
  display:none;
}

.artist-advanced-card{
  border:0;
  border-radius:0;
  padding:0;
  background:transparent;
  box-shadow:none;
}

.artist-advanced-head{
  margin-bottom:12px;
}

.artist-advanced-head h5{
  margin:0;
  font-size:13px;
  letter-spacing:.25px;
  font-weight:700;
  color:#edf3ff;
}

.artist-advanced-head p{
  margin:4px 0 0;
  font-size:12px;
  color:var(--muted);
}

.artist-advanced-card label{
  text-transform:none;
  letter-spacing:.2px;
}

.artist-location-grid{
  margin-bottom:10px;
}

.artist-location-grid .field{
  margin-bottom:10px;
}

.artist-toggle-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.artist-toggle-pill{
  position:relative;
  display:flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(148,163,184,.2);
  border-radius:14px;
  padding:10px 12px;
  cursor:pointer;
  background:linear-gradient(155deg, rgba(18,24,38,.62), rgba(12,17,28,.64));
  transition: border-color .16s ease, background .16s ease, transform .14s ease;
}

.artist-toggle-pill:hover{
  transform:translateY(-1px);
  border-color:rgba(168,181,200,.3);
  background:linear-gradient(155deg, rgba(22,30,46,.66), rgba(14,20,33,.68));
}

.artist-toggle-pill input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
  margin:0;
}

.artist-toggle-icon{
  width:30px;
  height:30px;
  border-radius:10px;
  display:grid;
  place-items:center;
  font-size:16px;
  background:rgba(15,21,34,.7);
  border:1px solid rgba(148,163,184,.24);
  flex-shrink:0;
  transition: border-color .2s ease, background .2s ease, color .2s ease;
}

.artist-toggle-copy{
  display:flex;
  flex-direction:column;
  gap:0;
  min-width:0;
}

.artist-toggle-copy strong{
  font-size:13px;
  color:#becadc;
  line-height:1.15;
  transition: color .2s ease;
}

.artist-toggle-pill:has(input:checked){
  border-color:rgba(178,193,214,.36);
  background:linear-gradient(155deg, rgba(38,50,72,.54), rgba(24,35,52,.56));
}

.artist-toggle-pill:has(input:checked) .artist-toggle-icon{
  border-color:rgba(178,193,214,.36);
  background:rgba(56,72,102,.36);
  color:#dbe5f6;
}

.artist-toggle-pill:has(input:checked) .artist-toggle-copy strong{
  color:#dce6f6;
}

.artist-toggle-pill:has(input:focus-visible){
  outline:2px solid rgba(176,190,210,.52);
  outline-offset:2px;
}

.artist-toggle-pill-static{
  cursor:default;
  transform:none !important;
}

.artist-toggle-pill-static:hover{
  transform:none;
}

.artist-toggle-pill-static .artist-toggle-copy{
  flex:1;
}

.artist-toggle-status{
  margin-left:auto;
  border:1px solid rgba(148,163,184,.24);
  border-radius:999px;
  padding:4px 8px;
  font-size:11px;
  font-weight:700;
  line-height:1;
  color:#93a1b8;
  background:rgba(16,22,34,.6);
  transition: color .2s ease, border-color .2s ease, background .2s ease;
  white-space:nowrap;
}

.artist-toggle-pill-static.is-active{
  border-color:rgba(178,193,214,.36);
  background:linear-gradient(155deg, rgba(38,50,72,.54), rgba(24,35,52,.56));
}

.artist-toggle-pill-static.is-active .artist-toggle-icon{
  border-color:rgba(178,193,214,.36);
  background:rgba(56,72,102,.36);
  color:#dbe5f6;
}

.artist-toggle-pill-static.is-active .artist-toggle-copy strong{
  color:#dce6f6;
}

.artist-toggle-pill-static.is-active .artist-toggle-status{
  color:#ffdbe2;
  border-color:rgba(239,68,68,.4);
  background:rgba(120,22,34,.45);
}

.section-title{
  font-size:13px;
  font-weight:600;
  color:var(--text);
  margin:0 0 14px;
  text-transform:uppercase;
  letter-spacing:.5px;
  opacity:.85;
}

.section-hint{
  font-size:12px;
  color:var(--muted);
  margin:0 0 12px;
  line-height:1.4;
}

/* Modal Tabs */
.modal-tabs{
  display:flex;
  gap:0;
  border-bottom:1px solid var(--line);
  margin:-18px -18px 18px;
  padding:0;
}

.modal-tab{
  flex:1;
  padding:12px 16px;
  background:transparent;
  border:none;
  cursor:pointer;
  font-size:13px;
  font-weight:500;
  color:var(--muted);
  border-bottom:2px solid transparent;
  transition: color .15s ease, border-color .15s ease;
}

.modal-tab:hover{
  color:var(--text);
}

.modal-tab.active{
  color:var(--text);
  border-bottom-color:var(--accent);
}

/* Modal Pages */
.modal-page{
  display:none;
  overflow-y:auto;
}

.modal-page.active{
  display:block;
}

.tabs{
  display:flex;
  gap:10px;
  align-items:center;
  border-bottom:1px solid var(--line);
  padding-bottom:12px;
  margin-bottom:12px;
  overflow-x:auto;
}

.tab{
  border:none;
  background:transparent;
  color:var(--muted);
  padding:8px 12px;
  cursor:pointer;
  font-size:13px;
  border-bottom:2px solid transparent;
  transition: color .2s ease, border-color .2s ease;
  position:relative;
  white-space:nowrap;
}

.tab:hover{ 
  color:var(--text); 
  border-bottom-color:rgba(var(--accent-rgb),.35);
}

.tab[aria-selected="true"]{
  color:var(--accent);
  border-bottom-color:var(--accent);
  font-weight:600;
}

.tabs-spacer{ flex:1; }

.tab-panel{ 
  animation: fadeIn .2s ease;
}

input:disabled, select:disabled, textarea:disabled{
  opacity:.6;
  cursor:not-allowed;
}

.btn:disabled{
  opacity:.5;
  cursor:not-allowed;
  transform:none!important;
}

.toast{
  position:fixed;
  bottom:24px;
  left:24px;
  background: var(--panel);
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px 16px;
  box-shadow: 0 10px 30px rgba(0,0,0,.4);
  color:var(--text);
  font-size:15px;
  max-width:350px;
  animation: slideInUp .3s ease;
  z-index:5000;
}

.toast.success{ 
  border-color:rgba(74,222,128,.5); 
  background: var(--panel2);
  color: rgba(74,222,128,.9);
}

.toast.error{ 
  border-color:rgba(251,113,133,.5); 
  background: var(--panel2);
  color: rgba(251,113,133,.9);
}

.toast.info{
  border-color:rgba(var(--accent-rgb),.55);
  background: var(--panel2);
  color: rgba(var(--accent-rgb),.95);
}

.toast-close{
  cursor:pointer;
  opacity:.6;
  transition: opacity .2s;
  font-weight:bold;
}

.toast-close:hover{ opacity:1; }

.breadcrumb{
  display:flex;
  align-items:center;
  gap:8px;
  font-size:12px;
  color:var(--muted);
  margin-bottom:8px;
}

.breadcrumb a{
  color:var(--accent);
  text-decoration:none;
  transition: color .2s;
}

.breadcrumb a:hover{ color:var(--accent2); }

.empty-state{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:60px 20px;
  text-align:center;
  color:var(--muted);
}

.empty-state-icon{
  font-size:48px;
  margin-bottom:16px;
  opacity:.5;
}

.empty-state h4{
  margin:0 0 6px;
  color:var(--text);
  font-size:14px;
}

.empty-state p{
  margin:0 0 16px;
  font-size:12px;
  color:var(--muted);
}

table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:16px;
  border:1px solid var(--line);
  background: linear-gradient(150deg, rgba(22,34,62,.6), rgba(13,21,40,.78));
}

thead th{
  text-align:left;
  font-size:12px;
  color:var(--muted);
  font-weight:600;
  letter-spacing:.3px;
  text-transform:uppercase;
  padding:12px 12px;
  background: rgba(10,18,36,.9);
  border-bottom:1px solid var(--line);
}

tbody td{
  padding:12px 12px;
  border-bottom:1px solid var(--line);
  font-size:13px;
}

tbody tr:last-child td{ border-bottom:0; }

table tbody tr{
  transition: background .15s ease;
}

table tbody tr.video-row{
  cursor:pointer;
}

table tbody tr:hover td{
  background: rgba(var(--accent-rgb),.12);
}

.form-group{ 
  display:flex; 
  flex-direction:column; 
  gap:8px;
  margin-bottom:14px;
}

label{
  font-size:12px;
  color:var(--muted);
  font-weight:500;
  letter-spacing:.3px;
}

input, select, textarea{
  transition: border-color .15s ease, background .15s ease, box-shadow .15s ease, color .15s ease;
  border-color:var(--line);
}

input:focus, select:focus, textarea:focus{
  border-color:var(--accent);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb),.14);
}

@keyframes pulse{
  0%, 100%{ opacity:1; }
  50%{ opacity:.5; }
}

@keyframes fadeIn{
  from{ opacity:0; transform: translateY(4px); }
  to{ opacity:1; transform: translateY(0); }
}

@keyframes slideInUp{
  from{ transform: translateY(20px); opacity:0; }
  to{ transform: translateY(0); opacity:1; }
}

/* Button to add video */
.btn-add-video{
  width:28px;
  height:28px;
  margin-left:auto;
  padding:0;
  border-radius:8px;
  background: linear-gradient(150deg, rgba(var(--accent-rgb),.15), rgba(var(--accent-rgb),.06) 55%, rgba(11,16,32,.13));
  border:1px solid rgba(var(--accent-rgb),.3);
  color:var(--accent);
  font-size:16px;
  font-weight:500;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter: blur(8px) saturate(135%);
  -webkit-backdrop-filter: blur(8px) saturate(135%);
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.btn-add-video:hover{
  background: rgba(var(--accent-rgb),.2);
  border-color:rgba(var(--accent-rgb),.4);
  transform: scale(1.05);
}

.btn-add-local-video{
  width:28px;
  height:28px;
  padding:0;
  border-radius:8px;
  background: linear-gradient(150deg, rgba(74,222,128,.13), rgba(74,222,128,.06) 55%, rgba(9,22,17,.13));
  border:1px solid rgba(74,222,128,.35);
  color: rgba(74,222,128,.95);
  font-size:14px;
  font-weight:700;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter: blur(8px) saturate(135%);
  -webkit-backdrop-filter: blur(8px) saturate(135%);
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.btn-add-local-video:hover{
  background: rgba(74,222,128,.2);
  border-color: rgba(74,222,128,.5);
  transform: scale(1.05);
}

.btn-delete-artist-card{
  width:28px;
  height:28px;
  padding:0;
  border-radius:8px;
  background: linear-gradient(150deg, rgba(251,113,133,.16), rgba(251,113,133,.07) 55%, rgba(24,12,18,.13));
  border:1px solid rgba(251,113,133,.35);
  color: rgba(251,113,133,.95);
  font-size:18px;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  backdrop-filter: blur(8px) saturate(135%);
  -webkit-backdrop-filter: blur(8px) saturate(135%);
  transition: background .15s ease, border-color .15s ease, transform .15s ease;
}

.btn-delete-artist-card:hover{
  background: rgba(251,113,133,.2);
  border-color: rgba(251,113,133,.5);
  transform: scale(1.05);
}

/* Quick Video Modal */
.quick-video-modal{
  width:min(420px, 100%);
  max-height:300px;
  animation: modalSlideIn .25s ease-out;
}

@keyframes modalSlideIn{
  from{
    opacity:0;
    transform: scale(.95) translateY(-10px);
  }
  to{
    opacity:1;
    transform: scale(1) translateY(0);
  }
}

.quick-video-modal header{
  background: linear-gradient(135deg, rgba(var(--accent-rgb),.08) 0%, rgba(var(--accent-rgb),.04) 100%);
  border-bottom:1px solid rgba(var(--accent-rgb),.15);
}

.quick-video-header{
  display:flex;
  align-items:center;
  gap:12px;
}

.quick-video-icon{
  width:36px;
  height:36px;
  border-radius:10px;
  background: rgba(var(--accent-rgb),.15);
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--accent);
  flex-shrink:0;
}

.quick-video-header h4{
  margin:0;
  font-size:15px;
  font-weight:600;
  color:var(--text);
}

.quick-video-modal .body{
  padding:20px;
  height:auto;
}

.quick-video-modal .field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.quick-video-modal .field label{
  font-size:12px;
  color:var(--muted);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.3px;
}

.quick-video-modal .field input{
  padding:10px 12px;
  font-size:13px;
  border-radius:10px;
  border:1.5px solid var(--line);
  background:var(--panel2);
  color:var(--text);
}

.quick-video-modal .field input:focus{
  border-color:var(--accent);
  background:var(--panel);
  box-shadow: 0 0 0 3px rgba(var(--accent-rgb),.1);
  outline:none;
}

.quick-video-modal footer{
  gap:8px;
  padding:16px 20px;
  background:transparent;
  border-top:none;
}

.quick-video-modal .btn{
  font-size:13px;
  padding:9px 16px;
  border-radius:10px;
}

.quick-video-modal .btn:first-child{
  background:transparent;
  border:1px solid var(--line);
  color:var(--text);
}

.quick-video-modal .btn:first-child:hover{
  background:rgba(255,255,255,.02);
  border-color:rgba(255,255,255,.08);
}

.quick-video-modal .btn.primary{
  box-shadow: 0 4px 12px rgba(var(--accent-rgb),.25);
}

/* Video URL input disabled style for auto-filled title */
#artistVideoTitle:disabled {
  cursor: not-allowed;
  opacity: 0.7;
}

/* Stylize scrollbar - thin and discreet */
#artistVideosList {
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

#artistVideosList::-webkit-scrollbar {
  width: 6px;
}

#artistVideosList::-webkit-scrollbar-track {
  background: transparent;
}

#artistVideosList::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 3px;
  transition: background 0.15s ease;
}

#artistVideosList::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.4);
}



/* Dashboard performance tuning: reduce expensive blur/filter and continuous repaint effects. */
.nav button,
.btn,
.seg-btn,
.artist-create-btn,
.btn-delete-playlist-card,
.btn-add-video,
.btn-add-local-video,
.btn-delete-artist-card,
.artist-advanced-card {
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.activity-dot{
  animation: none;
}

/* Dashboard refinements: sticky toolbars, adaptive grids, type hierarchy, unified scrollbars, loading skeletons. */
.page > .card > .row:first-child{
  position:sticky;
  top:0;
  z-index:24;
  padding:6px 0 10px;
  margin:-4px 0 8px;
  border-bottom:1px solid rgba(136,164,232,.2);
  background: linear-gradient(180deg, rgba(16,25,45,.96), rgba(16,25,45,.78) 72%, rgba(16,25,45,.35));
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}

.artist-wall{
  grid-template-columns: repeat(auto-fill, minmax(var(--artist-grid-min), 232px));
  justify-content: start;
}

.app.panel-open #page-artistes .artist-wall,
.app.panel-open #page-catalogue .video-wall,
.app.panel-open #page-musique .playlist-wall{
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
}

.video-wall{
  grid-template-columns: repeat(auto-fill, minmax(var(--video-grid-min), 1fr));
}

.playlist-wall{
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items:start;
  align-content:start;
}

/* Unified dashboards: artist, catalog and playlist use a 5-column desktop layout. */
#page-artistes .artist-wall,
#page-catalogue .video-wall,
#page-musique .playlist-wall{
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.artist-name{
  font-size:14px;
  font-weight:700;
  line-height:1.25;
}

.artist-sub{
  font-size:11px;
  opacity:.9;
}

.artist-tags .tag{
  font-size:11px;
  padding:5px 8px;
}

.video-tile-artist{
  font-size:10px;
  font-weight:700;
  letter-spacing:.07em;
  text-transform:uppercase;
  color:rgba(182,199,231,.92);
}

.video-tile-title{
  font-size:15px;
  font-weight:760;
  line-height:1.18;
  white-space:normal;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  text-overflow:ellipsis;
}

.video-tile-sub{
  font-size:10px;
  line-height:1.2;
  color:rgba(169,188,223,.88);
}

.playlist-name{
  font-size:14px;
  font-weight:720;
  line-height:1.2;
}

.playlist-meta-tags .tag{
  font-size:11px;
  padding:5px 8px;
}

.content,
.side-panel,
.modal .body,
.program-list,
.playlist-tracks-list,
#artistVideosList,
.artist-tags{
  scrollbar-width: thin;
  scrollbar-color: rgba(132,163,255,.4) transparent;
}

.content::-webkit-scrollbar,
.side-panel::-webkit-scrollbar,
.modal .body::-webkit-scrollbar,
.program-list::-webkit-scrollbar,
.playlist-tracks-list::-webkit-scrollbar,
#artistVideosList::-webkit-scrollbar,
.artist-tags::-webkit-scrollbar{
  width:6px;
  height:6px;
}

.content::-webkit-scrollbar-track,
.side-panel::-webkit-scrollbar-track,
.modal .body::-webkit-scrollbar-track,
.program-list::-webkit-scrollbar-track,
.playlist-tracks-list::-webkit-scrollbar-track,
#artistVideosList::-webkit-scrollbar-track,
.artist-tags::-webkit-scrollbar-track{
  background:transparent;
}

.content::-webkit-scrollbar-thumb,
.side-panel::-webkit-scrollbar-thumb,
.modal .body::-webkit-scrollbar-thumb,
.program-list::-webkit-scrollbar-thumb,
.playlist-tracks-list::-webkit-scrollbar-thumb,
#artistVideosList::-webkit-scrollbar-thumb,
.artist-tags::-webkit-scrollbar-thumb{
  border-radius:999px;
  border:1px solid rgba(132,163,255,.22);
  background:rgba(132,163,255,.36);
}

.content::-webkit-scrollbar-thumb:hover,
.side-panel::-webkit-scrollbar-thumb:hover,
.modal .body::-webkit-scrollbar-thumb:hover,
.program-list::-webkit-scrollbar-thumb:hover,
.playlist-tracks-list::-webkit-scrollbar-thumb:hover,
#artistVideosList::-webkit-scrollbar-thumb:hover,
.artist-tags::-webkit-scrollbar-thumb:hover{
  background:rgba(132,163,255,.5);
}

@keyframes skeletonShimmer{
  0%{ transform: translateX(-120%); }
  100%{ transform: translateX(120%); }
}

.skeleton-card{
  position:relative;
  overflow:hidden;
  pointer-events:none;
}

.skeleton-card::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(100deg, transparent 20%, rgba(255,255,255,.12) 48%, transparent 76%);
  animation:skeletonShimmer 1.25s linear infinite;
}

.skeleton-media{
  border-radius:12px;
  border:1px solid rgba(136,164,232,.18);
  background: linear-gradient(160deg, rgba(34,48,78,.62), rgba(20,30,53,.54));
}

.skeleton-line{
  height:10px;
  border-radius:999px;
  background: rgba(136,164,232,.3);
}

.skeleton-line-kicker{ width:34%; height:8px; }
.skeleton-line-title{ width:76%; height:12px; margin-top:8px; }
.skeleton-line-sub{ width:58%; height:9px; margin-top:8px; }

.skeleton-pill{
  display:inline-flex;
  width:64px;
  height:20px;
  border-radius:999px;
  border:1px solid rgba(136,164,232,.18);
  background: rgba(136,164,232,.24);
}

/* Flattened dashboard surfaces: reduce box-in-box effect. */
.page{
  min-height:0;
  height:100%;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.page[hidden]{
  display:none !important;
}

.page > .card{
  background: transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:6px 0 0;
  flex:1 1 auto;
  min-height:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}

.page > .card > .row:first-child{
  margin:0 0 10px;
  padding:4px 2px 10px;
  border-bottom:1px solid rgba(136,164,232,.2);
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}

.artist-wall,
.video-wall,
.playlist-wall{
  gap:10px;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-right:2px;
  align-content:start;
}

#page-tags > .card{
  overflow:hidden;
}

#tagsReferenceWall{
  display:flex;
  flex-direction:column;
  gap:12px;
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding-right:4px;
}

.artist-tile,
.video-tile,
.playlist-tile{
  border-radius:14px;
  border:1px solid rgba(136,164,232,.16);
  background: linear-gradient(160deg, rgba(18,30,55,.5), rgba(12,22,44,.46));
  box-shadow:none;
}

.artist-tile:hover,
.video-tile:hover,
.playlist-tile:hover{
  transform: translateY(-1px);
  border-color: rgba(132,163,255,.36);
  box-shadow: 0 6px 14px rgba(4,10,25,.16);
}

.artist-tags .tag,
.playlist-meta-tags .tag,
.video-panel-meta .tag{
  background: rgba(11,20,38,.56);
  border-color: rgba(136,164,232,.2);
}

.artist-primary-actions{
  gap:6px;
}

/* Harmonized card palette across dashboard sections. */
.artist-tile,
.video-tile,
.playlist-tile,
.programming-card,
.program-item,
.playlist-track-item{
  border-color: var(--surface-border);
  background: var(--surface-card);
}

.artist-tile:hover,
.video-tile:hover,
.playlist-tile:hover{
  border-color: rgba(132,163,255,.38);
  background: var(--surface-card-hover);
}

.program-item:hover,
.playlist-track-item:hover{
  border-color: rgba(132,163,255,.3);
  background: var(--surface-card-hover);
}

/* Global dashboard harmonization pass (all sections). */
.app{
  background:
    linear-gradient(140deg, rgba(17,30,56,.38), rgba(12,22,44,.28) 48%, rgba(10,19,38,.34));
}

.page-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:12px;
  padding:0 2px;
  min-height:56px;
}

.page-toolbar .search{
  margin-left:auto;
  min-width:0;
  width:min(320px, 100%);
  max-width:100%;
}

.page-toolbar .search input{
  min-width:0;
  width:100%;
}

.toolbar-left{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  min-width:0;
  min-height:44px;
}

.toolbar-actions{
  display:flex;
  gap:6px;
  align-items:center;
  flex:0 0 auto;
  flex-wrap:nowrap;
}

.toolbar-actions-dual{
  min-width:0;
}

.playlist-toolbar-actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.section-gap{
  height:12px;
}

.section-gap-sm{
  height:8px;
}

.brand,
.nav button{
  box-shadow:none;
}

.brand{
  border-color: var(--surface-border);
  background: linear-gradient(160deg, rgba(24,37,66,.58), rgba(15,26,48,.52));
}

.nav button{
  border-color: rgba(136,164,232,.26);
  background: linear-gradient(160deg, rgba(24,37,66,.5), rgba(14,25,47,.46));
}

.nav button:hover{
  background: linear-gradient(160deg, rgba(28,43,75,.58), rgba(16,28,52,.52));
}

.nav button[aria-current="page"]{
  background: linear-gradient(160deg, rgba(var(--accent-rgb),.26), rgba(20,33,60,.56));
}

.page-toolbar .search,
.badge,
.footer-stat,
.tag,
.kebab{
  border-color: rgba(136,164,232,.24);
  background: rgba(14,24,45,.56);
}

.programming-card{
  box-shadow:none;
}

#sidePanelHost > #artistModalBackdrop > .modal,
#sidePanelHost > #modalBackdrop > .modal,
#sidePanelHost > #filtersModalBackdrop > .modal,
#sidePanelHost > #playlistModalBackdrop > .modal,
#sidePanelHost > #playlistTracksBackdrop > .modal,
#sidePanelHost > #scheduleEditorBackdrop > .modal{
  border-color: var(--surface-border);
  background: linear-gradient(160deg, rgba(18,31,57,.8), rgba(12,22,42,.76));
  margin-top:-4px;
}

.modal header,
.modal footer{
  background: rgba(14,24,46,.66);
}

/* Align side-panel header separator with the main toolbar separator. */
#sidePanelHost .modal > header{
  min-height:79px;
  padding:12px 18px;
}

#sidePanelHost .modal > header h4{
  margin:0;
}

/* Uniform card sizing across dashboard sections (playlist height as baseline). */
.artist-tile,
.video-tile,
.playlist-tile,
.programming-card{
  height: var(--dashboard-card-height);
}

.playlist-wall .playlist-tile{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  align-self:start;
}

.playlist-wall .playlist-cover-wrap{
  height:auto;
}

.programming-card{
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow:hidden;
}

.programming-card > .row:first-child,
.programming-card > .artist-sub{
  flex:0 0 auto;
}

.programming-card .program-list{
  flex:1 1 auto;
  min-height:0;
  max-height:none;
}

/* Schedule layout requires flexible card heights (not dashboard fixed-height cards). */
.schedule-page-card .programming-card{
  height:auto;
  min-height:0;
}

.schedule-page-card .program-list{
  max-height:260px;
}

/* Delete actions: unified style + reveal on hover/focus to reduce visual noise. */
.artist-tile{
  position:relative;
}

.artist-tile .btn-delete-artist-card{
  position:absolute;
  top:10px;
  right:10px;
  z-index:4;
}

.artist-tile .btn-delete-submission-card{
  position:absolute;
  top:10px;
  right:10px;
  z-index:4;
}

:where(.btn-delete-video-row, .btn-delete-video-inline, .btn-delete-artist-card, .btn-delete-submission-card, .btn-delete-playlist-card, .btn-delete-queue-inline){
  width:30px;
  height:30px;
  padding:0;
  border-radius:10px;
  border:1px solid rgba(251,113,133,.45);
  background: linear-gradient(150deg, rgba(251,113,133,.2), rgba(251,113,133,.1) 58%, rgba(22,10,15,.2));
  color:rgba(255,228,236,.96);
  font-size:17px;
  font-weight:700;
  line-height:1;
  display:grid;
  place-items:center;
  cursor:pointer;
  box-shadow: 0 8px 16px rgba(8,10,24,.24);
  transition: opacity .16s ease, transform .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease;
}

:where(.btn-delete-video-row, .btn-delete-video-inline, .btn-delete-artist-card, .btn-delete-submission-card, .btn-delete-playlist-card, .btn-delete-queue-inline):hover{
  border-color:rgba(251,113,133,.8);
  background: linear-gradient(150deg, rgba(251,113,133,.32), rgba(251,113,133,.2) 58%, rgba(30,12,20,.22));
  box-shadow: 0 10px 20px rgba(8,10,24,.28);
}

:where(.btn-delete-video-row, .btn-delete-video-inline, .btn-delete-artist-card, .btn-delete-submission-card, .btn-delete-playlist-card, .btn-delete-queue-inline):focus-visible{
  outline:2px solid rgba(251,113,133,.85);
  outline-offset:2px;
}

.video-tile .btn-delete-video-row,
.playlist-tile .btn-delete-playlist-card,
.artist-tile .btn-delete-artist-card,
.artist-tile .btn-delete-submission-card,
.artist-video-inline-row .btn-delete-video-inline,
.program-queue-card .btn-delete-queue-inline{
  opacity:0;
  pointer-events:none;
  transform: translateY(-2px) scale(.92);
}

.video-tile:hover .btn-delete-video-row,
.video-tile:focus-within .btn-delete-video-row,
.playlist-tile:hover .btn-delete-playlist-card,
.playlist-tile:focus-within .btn-delete-playlist-card,
.artist-tile:hover .btn-delete-artist-card,
.artist-tile:focus-within .btn-delete-artist-card,
.artist-tile:hover .btn-delete-submission-card,
.artist-tile:focus-within .btn-delete-submission-card,
.artist-video-inline-row:hover .btn-delete-video-inline,
.artist-video-inline-row:focus-within .btn-delete-video-inline,
.program-queue-card:hover .btn-delete-queue-inline,
.program-queue-card:focus-within .btn-delete-queue-inline{
  opacity:1;
  pointer-events:auto;
  transform: translateY(0) scale(1);
}

:where(.btn-delete-video-row, .btn-delete-video-inline, .btn-delete-artist-card, .btn-delete-submission-card, .btn-delete-playlist-card, .btn-delete-queue-inline):focus-visible{
  opacity:1;
  pointer-events:auto;
  transform: translateY(0) scale(1);
}

:where(.btn-delete-video-row, .btn-delete-video-inline, .btn-delete-artist-card, .btn-delete-playlist-card, .btn-delete-queue-inline)[data-loading="true"]{
  opacity:1;
  pointer-events:none;
}

@media (hover:none){
  .video-tile .btn-delete-video-row,
  .playlist-tile .btn-delete-playlist-card,
  .artist-tile .btn-delete-artist-card,
  .artist-tile .btn-delete-submission-card,
  .artist-video-inline-row .btn-delete-video-inline,
  .program-queue-card .btn-delete-queue-inline{
    opacity:1;
    pointer-events:auto;
    transform:none;
  }
}

.artist-video-inline-row{
  position:relative;
  display:flex;
  flex-direction:column;
  gap:10px;
  background:linear-gradient(160deg, rgba(18,30,56,.6), rgba(12,22,42,.52));
  border:1px solid rgba(132,163,255,.24);
  border-radius:12px;
  padding:10px;
}

.artist-video-inline-top{
  display:grid;
  grid-template-columns:120px minmax(0, 1fr);
  gap:12px;
  align-items:start;
}

.artist-video-inline-thumb-wrap{
  position:relative;
  width:120px;
  height:68px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid rgba(132,163,255,.2);
  background:#000;
  cursor:pointer;
  transition:border-color .14s ease, box-shadow .14s ease, transform .14s ease;
}

.artist-video-inline-thumb-wrap:hover{
  border-color:rgba(132,163,255,.46);
  box-shadow:0 8px 20px rgba(12,22,44,.35);
  transform:translateY(-1px);
}

.artist-video-inline-thumb-wrap:focus-visible{
  outline:0;
  border-color:rgba(132,163,255,.72);
  box-shadow:0 0 0 2px rgba(86,132,255,.28);
}

.artist-video-inline-thumb{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.artist-video-inline-thumb-badge{
  position:absolute;
  right:6px;
  bottom:6px;
  padding:2px 7px;
  border-radius:999px;
  border:1px solid rgba(220,234,255,.42);
  background:rgba(10,20,39,.78);
  color:#eef5ff;
  font-size:10px;
  line-height:1;
  letter-spacing:.04em;
  text-transform:uppercase;
  pointer-events:none;
}

.artist-video-inline-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}

.artist-video-inline-title-block{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.artist-video-inline-title{
  margin:0;
  font-size:14px;
  line-height:1.35;
  color:#eef5ff;
  font-weight:600;
  word-break:break-word;
}

.artist-video-inline-input{
  min-height:36px;
}

.artist-video-inline-status{
  min-height:14px;
  font-size:11px;
  color:var(--muted);
}

.artist-video-inline-original-row{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.artist-video-inline-original-row .artist-video-inline-input{
  flex:1;
  min-width:220px;
}

.artist-video-inline-location-row{
  display:flex;
  gap:8px;
  align-items:center;
}

.artist-video-inline-location-row .artist-video-inline-input{
  width:100%;
}

.artist-video-inline-tags-stack,
.video-panel-tag-editor-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  border:1px solid rgba(132,163,255,.24);
  border-radius:12px;
  background:rgba(10,20,39,.52);
  overflow:hidden;
}

.artist-video-inline-footer{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  flex-wrap:wrap;
}

.artist-video-inline-row .btn-delete-video-inline{
  position:absolute;
  top:10px;
  right:10px;
  z-index:4;
}

.artist-video-inline-date{
  margin:0;
  font-size:11px;
  color:var(--muted);
  min-width:0;
}

.video-tag-picker{
  border:1px solid rgba(132,163,255,.28);
  border-radius:12px;
  background:rgba(10,20,39,.58);
  padding:10px;
  overflow:hidden;
}

.artist-video-inline-tags-stack .video-tag-picker,
.video-panel-tag-editor-grid .video-tag-picker{
  border:0;
  border-radius:0;
  background:transparent;
  padding:10px;
  overflow:visible;
}

.artist-video-inline-tags-stack .video-tag-picker + .video-tag-picker,
.video-panel-tag-editor-grid .video-tag-picker + .video-tag-picker{
  border-top:1px solid rgba(132,163,255,.2);
}

.video-tag-picker--contentTags{
  border-color: rgba(86,132,255,.38);
}

.video-tag-picker--editorialTags{
  border-color: rgba(251,146,60,.36);
}

.video-tag-picker--themeTags{
  border-color: rgba(52,211,153,.36);
}

.video-tag-picker-selected{
  margin:0 0 8px;
}

.video-tag-selected-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  max-height:84px;
  overflow:auto;
  padding-right:2px;
}

.video-tag-selected-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  border:1px solid rgba(132,163,255,.48);
  border-radius:999px;
  padding:4px 8px;
  background:rgba(28,47,85,.62);
  color:#eff5ff;
  font-size:11px;
  line-height:1;
  cursor:pointer;
  transition: border-color .14s ease, background .14s ease, color .14s ease;
}

.video-tag-selected-pill:hover{
  border-color:rgba(160,190,255,.72);
  background:rgba(40,62,106,.72);
}

.video-tag-selected-remove{
  display:inline-grid;
  place-items:center;
  width:14px;
  height:14px;
  border-radius:999px;
  border:1px solid rgba(220,234,255,.45);
  font-size:10px;
  line-height:1;
}

.video-tag-group-list{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-bottom:0;
}

.video-tag-toggle-all-row{
  margin:0 0 8px;
}

.video-tag-toggle-all-btn{
  border:1px solid rgba(132,163,255,.32);
  border-radius:999px;
  padding:6px 12px;
  background:rgba(14,27,52,.56);
  color:#d7e6ff;
  font-size:11px;
  font-weight:600;
  line-height:1;
  cursor:pointer;
  transition:border-color .14s ease, background .14s ease, color .14s ease;
}

.video-tag-toggle-all-btn:hover{
  border-color:rgba(160,190,255,.48);
  background:rgba(22,38,68,.66);
  color:#f4f8ff;
}

.video-tag-group-block{
  border:1px solid rgba(var(--group-color-rgb,132,163,255),.28);
  border-radius:10px;
  background:rgba(8,16,32,.54);
  overflow:hidden;
}

.video-tag-group-btn{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:0;
  border-radius:0;
  padding:8px 10px;
  background:rgba(var(--group-color-rgb,132,163,255),.14);
  color:#eef5ff;
  font-size:12px;
  font-weight:600;
  line-height:1.1;
  cursor:pointer;
  transition: background .14s ease, color .14s ease;
}

.video-tag-group-btn:hover{
  background:rgba(var(--group-color-rgb,132,163,255),.2);
  color:#f7fbff;
}

.video-tag-group-btn.is-active{
  background:rgba(var(--group-color-rgb,132,163,255),.26);
  color:#f6faff;
}

.video-tag-group-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.video-tag-group-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}

.video-tag-group-count{
  min-width:22px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid rgba(var(--group-color-rgb,132,163,255),.55);
  background:rgba(var(--group-color-rgb,132,163,255),.14);
  color:#f3f8ff;
  font-size:11px;
  line-height:16px;
  text-align:center;
}

.video-tag-group-caret{
  width:8px;
  height:8px;
  border-right:1.5px solid rgba(220,234,255,.8);
  border-bottom:1.5px solid rgba(220,234,255,.8);
  transform:rotate(45deg) translateY(-1px);
  transition:transform .14s ease;
}

.video-tag-group-btn.is-active .video-tag-group-caret{
  transform:rotate(-135deg) translateY(-1px);
}

.video-tag-option-list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  max-height:160px;
  overflow:auto;
  padding-right:2px;
}

.video-tag-group-block .video-tag-option-list{
  padding:8px 10px 10px;
  border-top:1px solid rgba(var(--group-color-rgb,132,163,255),.22);
}

.video-tag-option-list.is-collapsed{
  display:none;
}

.video-tag-option-btn{
  border:1px solid rgba(132,163,255,.26);
  border-radius:999px;
  padding:5px 8px;
  background:rgba(11,23,45,.6);
  color:#bcd0f6;
  font-size:11px;
  line-height:1.1;
  cursor:pointer;
  transition: border-color .14s ease, background .14s ease, color .14s ease;
}

.video-tag-option-btn:hover{
  border-color:rgba(132,163,255,.46);
  color:#eef5ff;
}

.video-tag-option-btn.is-active{
  border-color:rgba(74,222,128,.7);
  background:rgba(74,222,128,.22);
  color:#e9ffef;
}

.video-tag-hidden-input{
  display:none;
}

.video-panel-tag-editor{
  margin-top:10px;
  border-top:1px solid rgba(132,163,255,.2);
  padding-top:10px;
}

.tags-ref-section{
  padding:12px;
}

.tags-ref-section-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
}

.tags-ref-section-copy{
  min-width:0;
}

.tags-ref-section-copy h3{
  margin:0 0 4px;
  font-size:15px;
  line-height:1.2;
}

.tags-ref-section-copy .artist-sub{
  margin:0;
}

.tags-ref-toggle-all-btn{
  flex-shrink:0;
  min-height:32px;
}

.tags-ref-group-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.tags-ref-group-block{
  border:1px solid rgba(var(--group-color-rgb,132,163,255),.28);
  border-radius:10px;
  background:rgba(8,16,32,.54);
  overflow:hidden;
}

.tags-ref-group-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:0;
  border-radius:0;
  padding:8px 10px;
  background:rgba(var(--group-color-rgb,132,163,255),.14);
  color:#eef5ff;
  font-size:12px;
  font-weight:600;
  line-height:1.1;
  cursor:pointer;
  transition:background .14s ease, color .14s ease;
}

.tags-ref-group-toggle:hover{
  background:rgba(var(--group-color-rgb,132,163,255),.2);
  color:#f7fbff;
}

.tags-ref-group-toggle.is-active{
  background:rgba(var(--group-color-rgb,132,163,255),.26);
  color:#f6faff;
}

.tags-ref-group-title{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.tags-ref-group-meta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
}

.tags-ref-group-count{
  min-width:22px;
  height:18px;
  padding:0 6px;
  border-radius:999px;
  border:1px solid rgba(var(--group-color-rgb,132,163,255),.55);
  background:rgba(var(--group-color-rgb,132,163,255),.14);
  color:#f3f8ff;
  font-size:11px;
  line-height:16px;
  text-align:center;
}

.tags-ref-group-caret{
  width:8px;
  height:8px;
  border-right:1.5px solid rgba(220,234,255,.8);
  border-bottom:1.5px solid rgba(220,234,255,.8);
  transform:rotate(45deg) translateY(-1px);
  transition:transform .14s ease;
}

.tags-ref-group-toggle.is-active .tags-ref-group-caret{
  transform:rotate(-135deg) translateY(-1px);
}

.tags-ref-group-body{
  padding:8px 10px 10px;
  border-top:1px solid rgba(var(--group-color-rgb,132,163,255),.22);
}

.tags-ref-group-body.is-collapsed{
  display:none;
}

.tags-ref-group-tags{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:8px;
}

.tags-ref-group-tags .video-tag-option-btn.is-static{
  cursor:default;
}

.tags-ref-group-add{
  display:flex;
  gap:8px;
  align-items:center;
}

.tags-ref-add-input{
  flex:1;
  min-width:0;
  min-height:34px;
}

@media (max-width: 1260px){
  #page-artistes .artist-wall,
  #page-catalogue .video-wall,
  #page-musique .playlist-wall{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 980px){
  #page-artistes .artist-wall,
  #page-catalogue .video-wall,
  #page-musique .playlist-wall{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }

  .schedule-editor-session-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px){
  .schedule-editor-session-row{
    grid-template-columns:1fr;
  }

  .schedule-editor-session-grid{
    grid-template-columns:1fr;
  }

  #page-artistes .artist-wall,
  #page-catalogue .video-wall,
  #page-musique .playlist-wall{
    grid-template-columns:repeat(1, minmax(0, 1fr));
  }

  .tags-ref-group-add{
    flex-direction:column;
    align-items:stretch;
  }

  .artist-video-inline-top{
    grid-template-columns:1fr;
  }

  .artist-video-inline-thumb-wrap{
    width:100%;
    height:auto;
    aspect-ratio:16 / 9;
  }

  .artist-video-inline-location-row{
    display:block;
  }
}

.submissions-page-card{
  display:flex;
  flex-direction:column;
  min-height:0;
}

.submissions-toolbar{
  align-items:flex-end;
}

.submissions-toolbar .toolbar-left{
  flex:1 1 320px;
}

.submissions-search{
  min-width:min(360px, 100%);
}

.submissions-status-field,
.submissions-token-field{
  margin-bottom:0;
}

.submissions-status-field select,
.submissions-token-field input{
  min-height:42px;
}

.submissions-auth-row{
  justify-content:flex-end;
}

.submissions-layout{
  display:grid;
  grid-template-columns:minmax(320px, 420px) minmax(0, 1fr);
  gap:14px;
  min-height:0;
  flex:1 1 auto;
}

.submission-list,
.submission-detail{
  min-height:0;
  overflow:auto;
  padding-right:4px;
}

.submission-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.submission-list-card,
.submission-detail-card{
  width:100%;
  border:1px solid rgba(136,164,232,.18);
  border-radius:14px;
  background:linear-gradient(160deg, rgba(18,30,55,.5), rgba(12,22,44,.46));
  color:var(--text);
}

.submission-list-card{
  padding:14px;
  text-align:left;
  cursor:pointer;
  transition:border-color .16s ease, background .16s ease, transform .16s ease, box-shadow .16s ease;
}

.submission-list-card:hover,
.submission-list-card.is-active{
  border-color:rgba(var(--accent-rgb),.42);
  background:linear-gradient(160deg, rgba(27,42,74,.62), rgba(16,28,52,.58));
  box-shadow:0 8px 18px rgba(4,10,25,.16);
  transform:translateY(-1px);
}

.submission-list-card-top,
.submission-list-meta,
.submission-list-flags,
.submission-detail-head,
.submission-detail-actions,
.submission-detail-links{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.submission-list-card-top{
  margin-bottom:6px;
}

.submission-list-card-top strong{
  font-size:14px;
  line-height:1.25;
}

.submission-list-meta{
  margin-top:8px;
  color:var(--muted);
  font-size:12px;
}

.submission-list-flags{
  margin-top:10px;
}

.submission-status-tag{
  text-transform:capitalize;
}

.submission-status-tag-pending{
  border-color:rgba(245,158,11,.42);
  color:#f7d589;
}

.submission-status-tag-approved{
  border-color:rgba(74,222,128,.42);
  color:#9ee7b3;
}

.submission-status-tag-rejected{
  border-color:rgba(251,113,133,.42);
  color:#f8a9ba;
}

.submission-detail-card{
  padding:18px;
  min-height:100%;
}

.submission-detail-kicker{
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:4px;
}

.submission-detail-card h3{
  margin:0;
  font-size:24px;
  line-height:1.1;
}

.submission-detail-block + .submission-detail-block{
  margin-top:14px;
}

.submission-detail-block h4{
  margin:0 0 8px;
  font-size:12px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}

.submission-detail-block p{
  margin:0;
  color:var(--text);
  white-space:pre-wrap;
}

.submission-detail-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:10px;
  margin:16px 0;
}

.submission-detail-item{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:12px;
  border:1px solid rgba(136,164,232,.16);
  border-radius:12px;
  background:rgba(10,19,37,.48);
}

.submission-detail-item span{
  font-size:11px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.06em;
}

.submission-detail-item strong{
  font-size:13px;
  line-height:1.35;
  word-break:break-word;
}

.submission-detail-actions{
  margin-top:14px;
}

.submission-detail-empty{
  min-height:240px;
  display:grid;
  place-items:center;
  border:1px dashed rgba(136,164,232,.2);
  border-radius:14px;
  color:var(--muted);
  padding:18px;
  text-align:center;
}

@media (max-width: 1180px){
  .submissions-layout{
    grid-template-columns:1fr;
  }
}

@media (max-width: 760px){
  .submission-detail-grid{
    grid-template-columns:1fr;
  }

  .submissions-toolbar{
    align-items:stretch;
  }

  .submissions-auth-row{
    justify-content:stretch;
  }
}
