:root {
  --studio-ink: #163d38;
  --studio-muted: #738780;
  --studio-green: #137c5b;
  --studio-deep: #073e38;
  --studio-line: #e0ebe5;
  --studio-surface: #ffffff;
  --studio-soft: #f3f8f5;
  --rb-bg-dark: #eff6f2;
  --rb-panel: #ffffff;
  --rb-border: #e0ebe5;
  --rb-accent: #137c5b;
  --rb-green: #77e4a0;
  --rb-blue-active: #0b6751;
  --bs-body-color: #163d38;
  --bs-body-bg: #f3f8f5;
}

body {
  background: radial-gradient(ellipse at 10% 0%, #d0e8dc, transparent 55%), #e6efe9;
  color: var(--studio-ink);
  font-family: 'Manrope', 'Trebuchet MS', sans-serif;
  -webkit-font-smoothing: antialiased;
}

#canvas-2160p {
  background: linear-gradient(135deg, #f7fbf8, #edf5f0);
  border: 1px solid #d7e5dd;
  border-radius: 24px;
  box-shadow: 0 24px 80px #0b3c3420;
}

.rb-titlebar {
  background: linear-gradient(100deg, #063c37, #0a5146);
  border-color: #ffffff14;
  color: #f0fff7;
}
.rb-titlebar .text-light, .rb-titlebar .text-info { color: #e9fff3 !important; }
.rb-titlebar .text-secondary { color: #a0c4b7 !important; }
.rb-titlebar .badge { background: #b6edca !important; color: #083e30; }
.rb-titlebar .btn-outline-danger { color: #e3f4ea; border-color: #ffffff40; }
.rb-titlebar .btn-outline-danger:hover { background: #ffffff14; color: #fff; }

.rb-menubar {
  background: #0a453e;
  border-color: #ffffff0d;
  color: #b7d2c7;
}
.rb-menubar .text-info, .rb-menubar .text-white { color: #d6f3e4 !important; }
.rb-menubar span:hover { color: #fff; }

.rb-top-broadcast-bar { background: transparent; border-bottom: 1px solid var(--studio-line); }
.rb-clock-box, .rb-track-card {
  background: var(--studio-surface);
  border: 1px solid #ffffff;
  border-radius: 17px;
  box-shadow: 0 5px 22px #234d3b06;
}
.rb-clock-time { color: var(--studio-deep); font-family: 'Manrope', sans-serif; font-variant-numeric: tabular-nums; letter-spacing: -1px; }
.rb-clock-date { color: var(--studio-muted); }
.rb-track-prev, .rb-track-next { color: var(--studio-ink); }
.rb-track-label { color: var(--studio-muted); letter-spacing: 1px; font-size: 0.65rem; }
.rb-track-next { background: #e5f3eb; border-color: #d9ebe0; }
.rb-on-air-box {
  background: radial-gradient(ellipse at 100% 0%, #177259, transparent 70%), #073e38;
  border: 2px solid #0b5748;
  border-radius: 18px;
  box-shadow: 0 8px 24px #063c3717;
  color: #fff;
}
.rb-on-air-tag { background: #9be8b6; color: #0b4030; border-radius: 20px; padding: 3px 10px; }
.rb-wave-bar, .rb-progress-fill { background: #83e5a8; }
.rb-on-air-box .text-white, .rb-on-air-box .text-light { color: #effff6 !important; }
.rb-on-air-box .text-white-50 { color: #b0d2c2 !important; }
.rb-on-air-box .text-warning { color: #b6efce !important; }

.rb-panel {
  background: var(--studio-surface);
  border: 1px solid #e6efe9;
  border-radius: 19px;
  box-shadow: 0 6px 26px #1d483307;
  animation: studioReveal 420ms ease-out both;
}
.rb-main-workspace > :nth-child(2) { animation-delay: 70ms; }
.rb-main-workspace > :nth-child(3) .rb-panel { animation-delay: 120ms; }
.rb-panel-tabs {
  background: #ffffff;
  border-color: var(--studio-line);
  padding-top: 9px;
  padding-bottom: 7px;
}
.rb-tab { color: var(--studio-muted); border-radius: 10px; border: 1px solid transparent; }
.rb-tab.active { color: var(--studio-deep); background: #eaf5ee; border-color: transparent; }
.rb-tab:hover { background: #f1f7f3; }
.rb-panel-tabs .rounded { background: #f2f7f4 !important; border-color: var(--studio-line) !important; border-radius: 10px !important; }

#canvas-2160p .rb-panel .text-light,
#canvas-2160p .rb-panel .text-white { color: var(--studio-ink) !important; }
#canvas-2160p .rb-panel .text-secondary { color: var(--studio-muted) !important; }
#canvas-2160p .rb-panel .text-info { color: var(--studio-green) !important; }
#canvas-2160p .rb-panel .text-warning { color: #926e22 !important; }
#canvas-2160p .rb-panel .text-success { color: #15835a !important; }
#canvas-2160p .rb-panel .border-secondary { border-color: var(--studio-line) !important; }
#canvas-2160p .rb-panel .bg-dark,
#canvas-2160p .rb-panel .bg-black { background: var(--studio-soft) !important; }
#canvas-2160p .form-control, #canvas-2160p .form-select {
  background-color: #f5f9f6 !important;
  color: var(--studio-ink) !important;
  border-color: #dce9e0 !important;
  border-radius: 9px;
  box-shadow: none;
}
#canvas-2160p .form-control::placeholder { color: #859b8f; }
#canvas-2160p .form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23265749' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
#canvas-2160p .form-control:focus, #canvas-2160p .form-select:focus { border-color: #75b999 !important; box-shadow: 0 0 0 3px #16815b16; }
#canvas-2160p :focus-visible { outline: 2px solid #3b9973; outline-offset: 3px; }

.btn { border-radius: 9px; font-weight: 600; box-shadow: none !important; transition: background-color 160ms, color 160ms, border-color 160ms; }
.btn-primary, .btn-success { --bs-btn-bg: #137c5b; --bs-btn-border-color: #137c5b; --bs-btn-hover-bg: #0c6248; --bs-btn-hover-border-color: #0c6248; --bs-btn-active-bg: #094f3d; --bs-btn-active-border-color: #094f3d; }
.btn-secondary { --bs-btn-bg: #1e4d43; --bs-btn-border-color: #1e4d43; --bs-btn-hover-bg: #133d34; --bs-btn-hover-border-color: #133d34; }
.btn-danger { --bs-btn-bg: #bc534d; --bs-btn-border-color: #bc534d; --bs-btn-hover-bg: #a3413c; --bs-btn-hover-border-color: #a3413c; }
.btn-outline-info, .btn-outline-light { --bs-btn-color: #166c52; --bs-btn-border-color: #c6dfd1; --bs-btn-hover-color: #0a4434; --bs-btn-hover-bg: #e4f2e9; --bs-btn-hover-border-color: #a8cdb8; }
.btn-outline-warning { --bs-btn-color: #856322; --bs-btn-border-color: #e1d5b8; --bs-btn-hover-color: #684b15; --bs-btn-hover-bg: #faf3e4; --bs-btn-hover-border-color: #d5bd88; }
.btn-outline-secondary { --bs-btn-color: #61796d; --bs-btn-border-color: #d4e2d9; --bs-btn-hover-bg: #edf3ef; --bs-btn-hover-color: #234e3c; --bs-btn-hover-border-color: #bbcfc2; }
.btn-outline-danger { --bs-btn-color: #b85e54; --bs-btn-border-color: #ebd5d0; --bs-btn-hover-bg: #fcf0ed; --bs-btn-hover-color: #a1443b; --bs-btn-hover-border-color: #dcb4ac; }
.badge { border-radius: 7px; letter-spacing: 0.2px; }
.badge.bg-primary, .badge.bg-success { background: #deefe4 !important; color: #166344; }
.badge.bg-secondary { background: #edf2ee !important; color: #61796c; }
.badge.bg-danger { background: #f8e8e3 !important; color: #a54d40; }
.badge.bg-warning { background: #f6efd9 !important; color: #856523 !important; }
.badge.bg-purple { background: #e5f0eb !important; color: #377661 !important; }

.rb-playlist-table th { background: #f8fbf9; color: #80958b; border-color: var(--studio-line); font-weight: 700; letter-spacing: 0.5px; font-size: 0.65rem; }
.rb-playlist-table td { border-color: #eef4ef; }
.rb-playlist-table tr.queue-row { background: transparent !important; }
.rb-playlist-table tr.queue-row:nth-child(odd) { background: #fbfdfb !important; }
.rb-playlist-table tr.queue-row:hover { background: #edf7f0 !important; }
.rb-playlist-table tr.active-track { background: #0b6751 !important; color: #f3fff8 !important; }
.rb-playlist-table tr.active-track td { border-color: #0b6751; }
.rb-playlist-table tr.active-track .badge { background: #b7edca !important; color: #0c4a32; }
.rb-playlist-table tr.queue-row.dragging { background: #d8eddf !important; }
.rb-playlist-table tr.queue-row.drag-over-top { border-top-color: #24835e !important; }
.rb-playlist-table tr.queue-row.drag-over-bottom { border-bottom-color: #24835e !important; }
.rb-table-container + .border-top { background: #f5f9f6 !important; }
#nowPlayingThumb { border-color: #d5e6db !important; border-radius: 14px !important; }
.rb-btn-transport { background: #fff; border-color: #dae8df; color: #35694f; border-radius: 13px; }
.rb-btn-transport:hover { background: #e5f2e9; border-color: #a4c9b4; }
.rb-btn-transport.primary { background: #0c6750; border-color: #0c6750; color: #fff; border-radius: 16px; }
.rb-btn-mic { background: #b95c51; border-color: #b95c51; border-radius: 13px; box-shadow: none; }
.rb-btn-mic.active { background: #177651; border-color: #177651; box-shadow: none; }

.rb-cartwall-grid { background: #f8fbf9; border-color: var(--studio-line); gap: 6px; }
.rb-cart-btn {
  background: #e1efe5 !important;
  color: #235b40;
  border: 1px solid #d1e5d8 !important;
  border-radius: 12px;
  box-shadow: 0 2px 6px #183d2605;
}
.rb-cart-btn:not(:has([style*="color:#38bdf8"])) { background: #f4f8f5 !important; color: #82978b; border: 1px dashed #d7e4db !important; }
.rb-cart-btn:hover { background: #cce6d5 !important; filter: none; }
.rb-cart-btn:not(:has([style*="color:#38bdf8"])):hover { background: #eaf3ed !important; }
.rb-cart-btn [style*="color:#38bdf8"] { color: #22784f !important; }
.rb-cart-btn .badge { background: #ffffffa6 !important; color: #387451; }
.rb-cart-num { font-weight: 800; }
.rb-cart-dur { font-variant-numeric: tabular-nums; }
.rb-fader-card { background: #f7faf8; border-color: #e4ede6; border-radius: 14px; box-shadow: none; }
.rb-fader-card[style*="border-left"] { border-left-color: #89b89e !important; }
.rb-fader-card[style*="#ef4444"] { border-left-color: #d59a8a !important; }
.form-range::-webkit-slider-runnable-track { background: #dce9e0; height: 5px; }
.form-range::-webkit-slider-thumb { background: #147755; margin-top: -5.5px; box-shadow: 0 2px 5px #0b5b4325; }
.form-range::-moz-range-track { background: #dce9e0; height: 5px; }
.form-range::-moz-range-thumb { background: #147755; }
.rb-vu-track { background: #e1ece4; border-color: #d8e5dc; border-radius: 6px; }
.rb-vu-bar { background: linear-gradient(90deg, #36ac70, #8bcc85 70%, #e4b875 88%, #c9715e); }
.rb-vu-label { color: #799184; }
#systemEventLog { background: #f8fbf9 !important; color: #718879 !important; }
#systemEventLog > div { padding: 3px 4px; border-bottom: 1px solid #edf3ee; }
#ytSearchResults > .border-bottom { background: #f6faf7 !important; border-radius: 10px !important; }
.rb-statusbar { background: #edf4ef; color: #83978b; border-color: #dce8df; }
.rb-statusbar .text-light { color: #345d45 !important; }
.rb-statusbar .text-info, .rb-statusbar .text-success { color: #258059 !important; }
.rb-status-dot { background: #3ba671; box-shadow: 0 0 0 3px #3ba67114; }
.rb-status-dot.red { background: #c06658; box-shadow: none; }
* { scrollbar-width: thin; scrollbar-color: #c2d7c8 transparent; }
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-thumb { background: #c2d7c8; border-radius: 10px; }
@keyframes studioReveal { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 700px) {
  body, .viewport-scaler { height: 100dvh; }
  .viewport-scaler { display: block; overflow: auto; }
  #canvas-2160p { transform: none !important; zoom: 0.8; border-radius: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .rb-panel { animation: none; }
  .rb-wave-bar { animation: none; height: 10px; }
  *, *::before, *::after { transition: none !important; }
}

/* Dark surfaces preserve the modern layout and semantic status colors. */
:root {
  color-scheme: dark;
  --studio-ink: #e6f1eb;
  --studio-muted: #90a79a;
  --studio-green: #7cdbac;
  --studio-deep: #bcf0d6;
  --studio-line: #2b3c34;
  --studio-surface: #17251e;
  --studio-soft: #1c2d24;
  --rb-bg-dark: #101c16;
  --rb-panel: #17251e;
  --rb-border: #2b3c34;
  --rb-accent: #7cdbac;
  --bs-body-color: #e6f1eb;
  --bs-body-bg: #101c16;
}
body { background: radial-gradient(ellipse at 10% 0%, #183d2f, transparent 60%), #0b1310; }
#canvas-2160p { background: linear-gradient(135deg, #111f18, #0e1813); border-color: #2a3e32; box-shadow: 0 24px 80px #00000066; }
.rb-titlebar { background: linear-gradient(100deg, #092c24, #0e3c30); }
.rb-menubar { background: #102e25; }
.rb-clock-box, .rb-track-card { border-color: #293c31; box-shadow: 0 5px 22px #00000014; }
.rb-track-next { background: #20382b; border-color: #304f3c; }
.rb-on-air-box { border-color: #246c4f; background: radial-gradient(ellipse at 100% 0%, #205f41, transparent 70%), #103f2d; box-shadow: 0 8px 24px #00000020; }
.rb-panel { border-color: #293c31; box-shadow: 0 6px 26px #00000014; }
.rb-panel-tabs { background: #192920; }
.rb-tab.active { background: #2a4233; }
.rb-tab:hover { background: #24392d; }
.rb-panel-tabs .rounded { background: #203329 !important; border-color: #344b3d !important; }
#canvas-2160p .rb-panel .text-warning { color: #dbbe82 !important; }
#canvas-2160p .rb-panel .text-success { color: #85d5a5 !important; }
#canvas-2160p .form-control, #canvas-2160p .form-select { background-color: #14231a !important; border-color: #344c3c !important; }
#canvas-2160p .form-control::placeholder { color: #7e9b88; }
#canvas-2160p .form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b8d7c5' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
#canvas-2160p .form-control:focus, #canvas-2160p .form-select:focus { border-color: #71bb92 !important; box-shadow: 0 0 0 3px #74c9991c; }
.btn-primary, .btn-success { --bs-btn-bg: #307a53; --bs-btn-border-color: #307a53; --bs-btn-hover-bg: #3c9063; --bs-btn-hover-border-color: #3c9063; }
.btn-secondary { --bs-btn-bg: #2b4c3a; --bs-btn-border-color: #3c614b; --bs-btn-hover-bg: #365c46; --bs-btn-hover-border-color: #507d60; }
.btn-outline-info, .btn-outline-light { --bs-btn-color: #a0dcbc; --bs-btn-border-color: #3c614b; --bs-btn-hover-color: #d3f7e2; --bs-btn-hover-bg: #294735; --bs-btn-hover-border-color: #658e72; }
.btn-outline-warning { --bs-btn-color: #dec48f; --bs-btn-border-color: #645736; --bs-btn-hover-color: #f5dfa9; --bs-btn-hover-bg: #3a3422; --bs-btn-hover-border-color: #887343; }
.btn-outline-secondary { --bs-btn-color: #a3b6a8; --bs-btn-border-color: #435448; --bs-btn-hover-bg: #2b3c30; --bs-btn-hover-color: #d5e4d9; --bs-btn-hover-border-color: #5d7462; }
.btn-outline-danger { --bs-btn-color: #e3a79b; --bs-btn-border-color: #704942; --bs-btn-hover-bg: #432b26; --bs-btn-hover-color: #f3c5ba; --bs-btn-hover-border-color: #936359; }
.badge.bg-primary, .badge.bg-success { background: #2b4936 !important; color: #afe5c4; }
.badge.bg-secondary { background: #324338 !important; color: #bad0c0; }
.badge.bg-danger { background: #4b3028 !important; color: #edb5a6; }
.badge.bg-warning { background: #494026 !important; color: #e6d098 !important; }
.badge.bg-purple { background: #314939 !important; color: #b3d9bf !important; }
.rb-playlist-table th { background: #182a20; color: #9bb0a0; }
.rb-playlist-table td { border-color: #24372a; }
.rb-playlist-table tr.queue-row:nth-child(odd) { background: #1b2b21 !important; }
.rb-playlist-table tr.queue-row:hover { background: #294333 !important; }
.rb-playlist-table tr.active-track { background: #245c3c !important; }
.rb-playlist-table tr.active-track td { border-color: #34734c; }
.rb-playlist-table tr.queue-row.dragging { background: #375a42 !important; }
.rb-table-container + .border-top { background: #192c20 !important; }
#nowPlayingThumb { border-color: #42664d !important; }
.rb-btn-transport { background: #263d2d; border-color: #3a5541; color: #c0e8cc; }
.rb-btn-transport:hover { background: #36533e; border-color: #63816b; }
.rb-btn-transport.primary { background: #3a8053; border-color: #589968; }
.rb-cartwall-grid { background: #14231a; }
.rb-cart-btn { background: #2c4832 !important; color: #c0e6ca; border-color: #46634c !important; }
.rb-cart-btn:not(:has([style*="color:#38bdf8"])) { background: #1d2e22 !important; color: #8ea994; border-color: #3b5140 !important; }
.rb-cart-btn:hover { background: #3b5d43 !important; }
.rb-cart-btn:not(:has([style*="color:#38bdf8"])):hover { background: #2b4131 !important; }
.rb-cart-btn [style*="color:#38bdf8"] { color: #91daa7 !important; }
.rb-cart-btn .badge { background: #173020 !important; color: #a8dcb9; }
.rb-fader-card { background: #1d3023; border-color: #324b38; }
.rb-fader-card[style*="border-left"] { border-left-color: #70a580 !important; }
.rb-fader-card[style*="#ef4444"] { border-left-color: #b27862 !important; }
.form-range::-webkit-slider-runnable-track { background: #3b5541; }
.form-range::-moz-range-track { background: #3b5541; }
.form-range::-webkit-slider-thumb { background: #93cda3; }
.form-range::-moz-range-thumb { background: #93cda3; }
.rb-vu-track { background: #314a38; border-color: #3d5a44; }
.rb-vu-label { color: #a0b9a6; }
#systemEventLog { background: #14241a !important; color: #9bb1a0 !important; }
#systemEventLog > div { border-color: #233729; }
#ytSearchResults > .border-bottom { background: #203529 !important; }
.rb-statusbar { background: #14261a; color: #9db2a2; border-color: #304c36; }
.rb-statusbar .text-light { color: #d0e5d6 !important; }
.rb-statusbar .text-info, .rb-statusbar .text-success { color: #a0d2ad !important; }
.rb-status-dot { background: #8dcc9d; box-shadow: 0 0 0 3px #8dcc9d14; }
* { scrollbar-color: #49624f transparent; }
::-webkit-scrollbar-thumb { background: #49624f; }

/* Midnight palette with lime highlights, matching the studio reference. */
:root {
  --studio-ink: #eef1f8;
  --studio-muted: #929caf;
  --studio-green: #d2f531;
  --studio-deep: #f1f4fa;
  --studio-line: #2a3548;
  --studio-surface: #131c2d;
  --studio-soft: #1e293b;
  --rb-bg-dark: #101728;
  --rb-panel: #131c2d;
  --rb-border: #2a3548;
  --rb-accent: #d2f531;
  --bs-body-color: #eef1f8;
  --bs-body-bg: #101728;
}
body { background: radial-gradient(ellipse at 30% 0%, #202b43, transparent 65%), #0b1120; }
#canvas-2160p { background: #101728; border-color: #263146; box-shadow: 0 24px 80px #00000066, inset 0 0 20px #a5b9e808; }
.rb-titlebar { background: #0c1324; border-color: #2a3548; }
.rb-titlebar .text-info { color: #d2f531 !important; }
.rb-titlebar .text-secondary { color: #929caf !important; }
.rb-titlebar .badge { background: #d2f531 !important; color: #18200a; }
.rb-menubar { background: #101728; color: #929caf; border-color: #253045; }
.rb-menubar .text-info, .rb-menubar .text-white { color: #d3dbea !important; }
.rb-clock-box, .rb-track-card { background: #1e293b; border-color: #2a3548; }
.rb-clock-time { color: #f4f6fc; }
.rb-track-next { background: #202c40; border-color: #34415a; }
.rb-track-next .rb-track-label { color: #d2f531; }
.rb-on-air-box { background: linear-gradient(110deg, #1b273d, #25344b); border-color: #67762c; box-shadow: 0 6px 22px #00000022; }
.rb-on-air-tag { background: #d2f531 !important; color: #17200a; }
.rb-wave-bar, .rb-progress-fill { background: #d2f531; }
.rb-on-air-box .text-white-50 { color: #a4b0c8 !important; }
.rb-on-air-box .text-warning { color: #d2f531 !important; }
.rb-panel { border-color: #253047; }
.rb-panel-tabs { background: #131c2d; }
.rb-tab { position: relative; }
.rb-tab.active { background: #202b3f; color: #f4f6fc; }
.rb-tab.active::after { content: ''; position: absolute; bottom: -7px; left: 14px; right: 14px; height: 2px; background: #d2f531; border-radius: 2px; }
.rb-tab:hover { background: #1e293b; }
.rb-panel-tabs .rounded { background: #1e293b !important; border-color: #344057 !important; }
#canvas-2160p .rb-panel .text-info, #canvas-2160p .rb-panel .text-success { color: #d2f531 !important; }
#canvas-2160p .rb-panel .text-warning { color: #e1c78d !important; }
#canvas-2160p .form-control, #canvas-2160p .form-select { background-color: #1e293b !important; border-color: #35415a !important; }
#canvas-2160p .form-control::placeholder { color: #929caf; }
#canvas-2160p .form-select { --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23b8c2d6' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e"); }
#canvas-2160p .form-control:focus, #canvas-2160p .form-select:focus { border-color: #d2f531 !important; box-shadow: 0 0 0 3px #d2f53118; }
#canvas-2160p :focus-visible { outline-color: #d2f531; }
.btn-primary, .btn-success { --bs-btn-bg: #d2f531; --bs-btn-border-color: #d2f531; --bs-btn-color: #16200a; --bs-btn-hover-bg: #e1ff55; --bs-btn-hover-border-color: #e1ff55; --bs-btn-hover-color: #16200a; --bs-btn-active-bg: #bfdc29; --bs-btn-active-border-color: #bfdc29; --bs-btn-active-color: #16200a; }
.btn-secondary { --bs-btn-bg: #2c3950; --bs-btn-border-color: #3a4860; --bs-btn-hover-bg: #3a4860; --bs-btn-hover-border-color: #4f5c73; }
.btn-outline-info, .btn-outline-light { --bs-btn-color: #d0d8e9; --bs-btn-border-color: #3d4960; --bs-btn-hover-color: #fff; --bs-btn-hover-bg: #29364c; --bs-btn-hover-border-color: #63708a; }
.btn-outline-secondary { --bs-btn-color: #a7b1c6; --bs-btn-border-color: #3d4960; --bs-btn-hover-bg: #29364c; --bs-btn-hover-color: #f0f4fb; --bs-btn-hover-border-color: #56647c; }
.badge.bg-primary, .badge.bg-success { background: #d2f531 !important; color: #19200c; }
.badge.bg-secondary { background: #354156 !important; color: #c8d1e2; }
.badge.bg-purple { background: #303e55 !important; color: #cbd7ed !important; }
.rb-playlist-table th { background: #141e30; color: #b1bbcf; }
.rb-playlist-table td { border-color: #263248; }
.rb-playlist-table tr.queue-row:nth-child(odd) { background: #1e293b !important; }
.rb-playlist-table tr.queue-row:hover { background: #2b3851 !important; }
.rb-playlist-table tr.active-track { background: #263745 !important; box-shadow: inset 3px 0 #d2f531; }
.rb-playlist-table tr.active-track td { border-color: #425154; }
.rb-playlist-table tr.active-track .badge { background: #d2f531 !important; color: #172009; }
.rb-playlist-table tr.queue-row.dragging { background: #35445c !important; }
.rb-playlist-table tr.queue-row.drag-over-top { border-top-color: #d2f531 !important; }
.rb-playlist-table tr.queue-row.drag-over-bottom { border-bottom-color: #d2f531 !important; }
.rb-table-container + .border-top { background: #182235 !important; }
#nowPlayingThumb { border-color: #3d4b64 !important; }
.rb-btn-transport { background: #27344a; border-color: #3d4960; color: #e0e7f4; }
.rb-btn-transport:hover { background: #3a4962; border-color: #596780; }
.rb-btn-transport.primary { background: #d2f531; border-color: #d2f531; color: #17200a; }
.rb-cartwall-grid { background: #111b2c; }
.rb-cart-btn { background: #2c3c4e !important; color: #edf3ff; border-color: #667536 !important; }
.rb-cart-btn:not(:has([style*="color:#38bdf8"])) { background: #1d293d !important; color: #919fb7; border-color: #35415a !important; }
.rb-cart-btn:hover { background: #3b4c63 !important; }
.rb-cart-btn:not(:has([style*="color:#38bdf8"])):hover { background: #293850 !important; }
.rb-cart-btn [style*="color:#38bdf8"] { color: #d2f531 !important; }
.rb-cart-btn .badge { background: #35445e !important; color: #d2f531; }
.rb-fader-card { background: #1e293b; border-color: #34415a; }
.rb-fader-card[style*="border-left"] { border-left-color: #c2e338 !important; }
.rb-fader-card[style*="#ef4444"] { border-left-color: #bd7a7a !important; }
.form-range::-webkit-slider-runnable-track { background: #3b4961; }
.form-range::-moz-range-track { background: #3b4961; }
.form-range::-webkit-slider-thumb { background: #d2f531; }
.form-range::-moz-range-thumb { background: #d2f531; }
.rb-vu-track { background: #33415b; border-color: #41506b; }
.rb-vu-bar { background: linear-gradient(90deg, #8faf28, #d2f531 70%, #e7bc66 88%, #da746b); }
.rb-vu-label { color: #a0aec7; }
#systemEventLog { background: #111b2d !important; color: #a1aec5 !important; }
#systemEventLog > div { border-color: #253047; }
#ytSearchResults > .border-bottom { background: #1e293b !important; }
.rb-statusbar { background: #0e1728; color: #929fb7; border-color: #2c3850; }
.rb-statusbar .text-light { color: #dbe3f4 !important; }
.rb-statusbar .text-info, .rb-statusbar .text-success { color: #d2f531 !important; }
.rb-status-dot { background: #d2f531; box-shadow: 0 0 0 3px #d2f53114; }
.rb-status-dot.red { background: #dc8075; }
* { scrollbar-color: #43516a transparent; }
::-webkit-scrollbar-thumb { background: #43516a; }

.rb-main-workspace { grid-template-columns: 500px minmax(0, 1fr) 520px; }
.rb-main-workspace > * { min-width: 0; }
.rb-main-workspace > :last-child { overflow: hidden !important; }
.rb-main-workspace > :last-child > .rb-panel:first-child { flex-shrink: 0; }
.rb-main-workspace > :last-child > .rb-panel:last-child { flex: 1; min-height: 0; }
.rb-cartwall-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
  min-width: 0;
  width: 100%;
}
.rb-cart-btn {
  min-width: 0;
  height: 72px;
  min-height: 72px;
  padding: 6px 8px;
  gap: 3px;
  border-radius: 12px;
  transform: none !important;
}
.rb-cart-btn.is-loaded {
  background: linear-gradient(150deg, #29374b, #202e41) !important;
  color: #eff4ff;
  border: 1px solid #89963e !important;
  cursor: grab;
}
.rb-cart-btn.is-empty {
  background: #192438 !important;
  color: #9ba9bf;
  border: 1px dashed #35435d !important;
  cursor: pointer;
}
.rb-cart-btn.is-loaded:hover { background: #35455b !important; border-color: #d2f531 !important; }
.rb-cart-btn.is-empty:hover { background: #25334b !important; border-color: #67748d !important; }
.rb-cart-heading { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
.rb-cart-num { display: inline-flex; font-size: 0.7rem; letter-spacing: 0.5px; color: #d5deee; opacity: 1; }
.is-loaded .rb-cart-num { color: #d2f531; }
.rb-cart-title {
  font-size: 0.8rem;
  line-height: 1.4;
  font-weight: 700;
  white-space: nowrap;
  overflow-wrap: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-grow: 1;
}
.is-empty .rb-cart-title { font-weight: 500; }
.rb-cart-footer { display: flex; justify-content: space-between; align-items: center; gap: 3px; }
.rb-cart-state { font-size: 0.55rem; font-weight: 800; letter-spacing: 0.4px; color: #7888a5; }
.is-loaded .rb-cart-state { color: #d2f531; }
.rb-cart-dur { font-size: 0.65rem; color: #a6b6cf; opacity: 1; }
.rb-cart-remove {
  width: 20px;
  height: 20px;
  padding: 2px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #233047;
  border: 1px solid #46516a;
  border-radius: 6px;
  color: #c4cfdf;
  font-size: 0.65rem;
  cursor: pointer;
}
.rb-cart-remove:hover { background: #543136; border-color: #a7676c; color: #ffc1b9; }
.studio-advertising-dialog { width: min(660px, 94vw); max-height: 90vh; overflow-y: auto; }
.studio-advertising-dialog label { display: inline-flex; align-items: center; gap: 8px; margin: 0 16px 12px 0; font-size: 0.85rem; }
.studio-advertising-dialog select, .studio-advertising-dialog input { background: #243147; color: #eef1f8; border: 1px solid #45516a; border-radius: 6px; padding: 5px; }
.studio-advertising-dialog input { width: 75px; }
.studio-advertising-dialog table { width: 100%; font-size: 0.8rem; }
.studio-advertising-dialog td, .studio-advertising-dialog th { padding: 7px; border-bottom: 1px solid #2d3c54; }
.studio-advertising-dialog p { font-size: 0.75rem; line-height: 1.5; }
.studio-advertising-total { color: #d2f531 !important; margin-top: 12px; }
.studio-advertising-actions { display: flex; gap: 12px; justify-content: flex-end; }
.studio-advertising-close { background: #3a465b !important; color: #e5ebf6 !important; }
.studio-advertising-error { color: #f3a59a !important; }
#cartwallTabContainer .rb-tab { padding: 6px 8px; font-size: 0.75rem; }
