/* FP Digital Portal v11.0.5 UI upgrade layer */
:root{
  --portal-radius-lg: 24px;
  --portal-radius-md: 18px;
  --portal-card-shadow: 0 22px 70px rgba(0,0,0,.38);
}

body[data-theme="aurora"]{--bg:#031019;--panel:rgba(6,25,35,.94);--panel2:#081d29;--surface:rgba(95,255,196,.08);--hover:rgba(70,220,255,.12);--border:rgba(105,214,255,.2);--bright:rgba(108,255,206,.54);--text:#f5ffff;--muted:#96bdc9;--accent:#56d4ff;--accent2:#67ffb8;--green:#67ffb8;--yellow:#e0ff7b;--danger:#ff7192;--sidebar-bg:rgba(2,12,20,.98);--topbar-bg:rgba(3,13,20,.92);--logo-ink:#041218}
body[data-theme="carbon"]{--bg:#080c14;--panel:rgba(14,18,28,.95);--panel2:#0f1520;--surface:rgba(156,182,214,.07);--hover:rgba(89,136,255,.12);--border:rgba(133,166,224,.18);--bright:rgba(111,161,255,.46);--text:#f8fbff;--muted:#a4afc2;--accent:#5a8cff;--accent2:#a8d7ff;--green:#7fe2b8;--yellow:#ffd870;--danger:#ff708f;--sidebar-bg:rgba(8,11,18,.98);--topbar-bg:rgba(8,11,18,.93);--logo-ink:#071120}
body[data-theme="crimson"]{--bg:#12050c;--panel:rgba(28,10,21,.95);--panel2:#1b0a15;--surface:rgba(255,106,147,.08);--hover:rgba(255,124,124,.11);--border:rgba(255,111,160,.2);--bright:rgba(255,113,177,.5);--text:#fff7fb;--muted:#d3a8b9;--accent:#ff5f91;--accent2:#ff875d;--green:#74efc2;--yellow:#ffd56f;--danger:#ff7d9d;--sidebar-bg:rgba(13,4,9,.98);--topbar-bg:rgba(13,4,9,.93);--logo-ink:#25010d}
body[data-theme="aurora"] .overlay{background:radial-gradient(circle at 14% 14%,rgba(67,224,255,.2),transparent 36%),radial-gradient(circle at 84% 24%,rgba(92,255,172,.18),transparent 34%),linear-gradient(to bottom,rgba(2,12,20,.5),var(--bg) 94%)}
body[data-theme="carbon"] .overlay{background:radial-gradient(circle at 14% 14%,rgba(84,117,255,.18),transparent 36%),radial-gradient(circle at 83% 24%,rgba(195,224,255,.11),transparent 35%),linear-gradient(to bottom,rgba(6,10,16,.52),var(--bg) 94%)}
body[data-theme="crimson"] .overlay{background:radial-gradient(circle at 14% 14%,rgba(255,94,146,.16),transparent 36%),radial-gradient(circle at 83% 24%,rgba(255,139,92,.13),transparent 35%),linear-gradient(to bottom,rgba(18,5,12,.52),var(--bg) 94%)}
.preview-aurora{background:linear-gradient(145deg,#092130,#0f3740 46%,#17384d);position:relative}.preview-aurora::before{content:"";position:absolute;inset:12px;background:linear-gradient(90deg,#56d4ff,#67ffb8);border-radius:10px;opacity:.8}
.preview-carbon{background:linear-gradient(145deg,#0d121a,#1a2330 46%,#131b26);position:relative}.preview-carbon::before{content:"";position:absolute;inset:12px;background:linear-gradient(90deg,#5a8cff,#d7e9ff);border-radius:10px;opacity:.76}
.preview-crimson{background:linear-gradient(145deg,#1a0812,#300d19 46%,#251018);position:relative}.preview-crimson::before{content:"";position:absolute;inset:12px;background:linear-gradient(90deg,#ff5f91,#ff875d);border-radius:10px;opacity:.8}

/* stronger theme/highlight propagation */
.nav button.active,
.theme-choice.selected,
.btn.primary,
.voice-main-button.connected,
.voice-join.active,
.youtube-nav-v9 button.active,
.youtube-playlist-button-v9.active,
.comms-room-row.active,
.chat-tool.active,
input:focus,select:focus,textarea:focus,button:focus-visible{
  border-color: color-mix(in srgb,var(--accent) 55%, var(--accent2));
  box-shadow: 0 0 0 1px color-mix(in srgb,var(--accent) 35%,transparent), 0 0 0 5px color-mix(in srgb,var(--accent2) 10%,transparent);
}
.nav button.active,.btn.primary{
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 23%,transparent),color-mix(in srgb,var(--accent2) 20%,transparent));
}
.count,.badge,.voice-stage-counts-v104 span,.voice-card-head-v9 span,
#notifyBadge,#chatUnreadCount{
  background:linear-gradient(135deg,var(--accent),var(--accent2));
  color:var(--logo-ink,#081421);
}

/* Modernize mini bars */
.music-monitor-v10{
  right:24px;bottom:24px;width:min(620px,calc(100vw - 44px));
  border-radius:22px;border-color:color-mix(in srgb,var(--accent) 30%,var(--border));
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 97%,black 3%),color-mix(in srgb,var(--panel2) 96%,black 4%));
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.music-monitor-v10 .music-head,.music-mini-bar{backdrop-filter:blur(22px)}
.music-mini-main{min-width:0;gap:12px}
.music-mini-art{width:50px;height:50px;border-radius:14px;background-size:cover;background-position:center;box-shadow:0 10px 25px rgba(0,0,0,.3)}
.music-monitor-controls-v10{display:flex;gap:8px;align-items:center;padding-right:10px}
.music-monitor-controls-v10 button{min-width:38px;height:38px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text)}
.music-mini-volume-v10{display:flex;align-items:center;gap:8px;padding:0 10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);height:38px}
.music-mini-volume-v10 input{width:110px}

.global-call-preview-dock-v102{
  right:24px;bottom:110px;width:340px;border-radius:24px;border:1px solid color-mix(in srgb,var(--accent) 28%,var(--border));
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 97%,black 3%),color-mix(in srgb,var(--panel2) 96%,black 4%));
  box-shadow:0 28px 80px rgba(0,0,0,.45)
}
.global-call-preview-head-v102,.global-call-preview-controls-v102{padding-left:16px;padding-right:16px}
.global-call-preview-head-v102{background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 14%,transparent),color-mix(in srgb,var(--accent2) 10%,transparent))}
.global-call-preview-media-v102{min-height:170px}
.global-call-preview-controls-v102 button{border-radius:14px}

/* Incoming call corner card */
.incoming-call-toast-v111{
  position:fixed;top:92px;right:22px;z-index:1300;width:min(380px,calc(100vw - 32px));padding:16px;border-radius:22px;
  border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border));
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 96%,#000 4%),color-mix(in srgb,var(--panel2) 95%,#000 5%));
  box-shadow:0 22px 70px rgba(0,0,0,.48);backdrop-filter:blur(22px);animation:fpSlideInV111 .24s ease;
}
@keyframes fpSlideInV111{from{transform:translateY(-10px) scale(.98);opacity:0}to{transform:none;opacity:1}}
.incoming-call-toast-head-v111,.incoming-call-toast-body-v111,.incoming-call-toast-actions-v111{display:flex;align-items:center}
.incoming-call-toast-head-v111{justify-content:space-between;gap:10px}
.incoming-call-toast-head-v111 button{width:32px;height:32px;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text)}
.incoming-call-toast-pill-v111{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent2);font-size:.66rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.incoming-call-toast-pill-v111::before{content:"";width:8px;height:8px;border-radius:999px;background:var(--danger);box-shadow:0 0 0 8px color-mix(in srgb,var(--danger) 18%,transparent)}
.incoming-call-toast-body-v111{gap:14px;margin-top:14px}
.incoming-call-toast-avatar-v111{width:54px;height:54px;border-radius:18px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--logo-ink,#09121c);font-weight:900}
.incoming-call-toast-copy-v111 b{display:block;font-size:1rem}
.incoming-call-toast-copy-v111 small{display:block;margin-top:4px;color:var(--muted)}
.incoming-call-toast-actions-v111{gap:10px;margin-top:16px}
.incoming-call-toast-actions-v111 button{flex:1;height:46px;border-radius:14px;border:1px solid var(--border);font-weight:800}
.incoming-call-toast-actions-v111 .accept{background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--logo-ink,#081421)}
.incoming-call-toast-actions-v111 .decline{background:color-mix(in srgb,var(--danger) 12%,transparent);border-color:color-mix(in srgb,var(--danger) 32%,var(--border));color:#ffd4dd}

/* Custom confirmation card */
.fp-confirm-backdrop-v111[hidden],.fp-confirm-backdrop-v111[aria-hidden="true"]{display:none!important;pointer-events:none!important}
.fp-confirm-backdrop-v111{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;padding:24px;background:rgba(2,6,12,.55);backdrop-filter:blur(14px)}
.fp-confirm-card-v111{width:min(460px,100%);padding:24px;border-radius:24px;border:1px solid color-mix(in srgb,var(--accent) 25%,var(--border));background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 97%,#000 3%),color-mix(in srgb,var(--panel2) 96%,#000 4%));box-shadow:0 30px 80px rgba(0,0,0,.5)}
.fp-confirm-card-v111 h3{margin-top:10px;font-size:1.35rem}.fp-confirm-card-v111 p{margin-top:10px;color:var(--muted);line-height:1.6}.fp-confirm-actions-v111{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}

/* Voice page upgrade */
#view-voice .voice-discord-shell-v9{display:grid;grid-template-columns:280px minmax(0,1.7fr) 320px;gap:18px;min-height:calc(100vh - 220px)}
#view-voice .voice-channel-rail-v9,
#view-voice .voice-stage-v9,
#view-voice .voice-info-rail-v9{
  border-radius:26px;border:1px solid color-mix(in srgb,var(--accent) 18%,var(--border));
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 98%,#000 2%),color-mix(in srgb,var(--panel2) 98%,#000 2%));
  box-shadow:var(--portal-card-shadow)
}
#view-voice .voice-channel-rail-v9,#view-voice .voice-info-rail-v9{padding:16px}
#view-voice .voice-stage-v9{padding:0;overflow:hidden;display:flex;flex-direction:column}
#view-voice .voice-stage-head-v9{position:sticky;top:0;z-index:2;padding:18px 22px;background:linear-gradient(90deg,color-mix(in srgb,var(--accent) 12%,transparent),color-mix(in srgb,var(--accent2) 8%,transparent));border-bottom:1px solid var(--border)}
#view-voice .voice-participant-stage-head-v104{padding:18px 22px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--surface) 65%,transparent)}
#view-voice .voice-control-dock-v103{margin:16px 22px 0;padding:12px;border-radius:22px;border:1px solid var(--border);background:color-mix(in srgb,var(--surface) 90%,transparent);display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
#view-voice .voice-control-v9,#view-voice .voice-main-button{min-height:58px;border-radius:18px;border:1px solid var(--border);background:var(--surface)}
#view-voice .voice-participant-grid-v104{padding:18px 22px 22px}
#view-voice .voice-participant-card-v104{border-radius:22px;box-shadow:0 16px 44px rgba(0,0,0,.25)}
#view-voice .voice-room-list-v9{display:grid;gap:10px;max-height:unset}
#view-voice .voice-room-row-v9{border-radius:18px;border:1px solid transparent;padding:10px 12px}
#view-voice .voice-room-row-v9.active,#view-voice .voice-room-row-v9:hover{border-color:color-mix(in srgb,var(--accent) 30%,var(--border));background:color-mix(in srgb,var(--accent) 10%,transparent)}
#view-voice .voice-info-card-v9{border-radius:20px;border:1px solid var(--border);background:var(--surface);padding:16px}
#view-voice .voice-member-list-v9,#view-voice .voice-activity-v9{max-height:280px;overflow:auto;padding-right:4px}
#view-voice .voice-stage-counts-v104 span{padding:9px 12px;border-radius:999px;font-weight:800;background:var(--surface);color:var(--text)}

/* Music workspace uses the full page better */
#view-music .youtube-music-shell-v9{
  display:grid;grid-template-columns:280px minmax(0,1.35fr) minmax(330px,.95fr);grid-template-areas:
  "library player player"
  "library browser browser";
  gap:18px;align-items:stretch;min-height:calc(100vh - 220px)
}
#view-music .youtube-library-v9,
#view-music .youtube-browser-v9,
#view-music .youtube-player-column-v9{
  border-radius:26px;border:1px solid color-mix(in srgb,var(--accent) 20%,var(--border));
  background:linear-gradient(180deg,color-mix(in srgb,var(--panel) 98%,#000 2%),color-mix(in srgb,var(--panel2) 98%,#000 2%));
  box-shadow:var(--portal-card-shadow)
}
#view-music .youtube-library-v9{grid-area:library;padding:16px;display:flex;flex-direction:column}
#view-music .youtube-browser-v9{grid-area:browser;padding:18px;display:flex;flex-direction:column;min-height:450px}
#view-music .youtube-player-column-v9{grid-area:player;padding:18px;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
#view-music .youtube-player-shell-v9{grid-column:1;grid-row:1 / span 3;min-height:430px;border-radius:24px;overflow:hidden;background:#090d15;box-shadow:0 12px 36px rgba(0,0,0,.3)}
#view-music #youtubePlayer{width:100%;height:100%}
#view-music .music-quality-control-v103,#view-music .music-primary-controls-v111,#view-music .youtube-player-actions-v9,#view-music .youtube-queue-v9{grid-column:2;border:1px solid var(--border);border-radius:20px;background:var(--surface);padding:14px}
#view-music .music-quality-control-v103 label{display:flex;flex-direction:column;gap:8px}
#view-music .music-primary-controls-v111{display:grid;grid-template-columns:56px 56px 56px 1fr;gap:10px;align-items:center}
#view-music .music-primary-controls-v111 button{height:48px;border-radius:16px;border:1px solid var(--border);background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 12%,transparent),color-mix(in srgb,var(--accent2) 10%,transparent));color:var(--text);font-weight:900}
#view-music .music-primary-controls-v111 #musicPlayPauseV111{background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--logo-ink,#081421)}
#view-music .music-volume-v111{display:flex;align-items:center;gap:10px;min-width:0;padding-left:6px}
#view-music .music-volume-v111 span{font-size:.76rem;color:var(--muted);font-weight:700}
#view-music .music-volume-v111 input{flex:1;min-width:0}
#view-music .music-volume-v111 output{min-width:46px;text-align:right;color:var(--text);font-weight:800}
#view-music .youtube-player-actions-v9{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#view-music .youtube-player-actions-v9 button:last-child{grid-column:1 / -1}
#view-music .music-search-form.youtube-search-v9{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:12px;margin-bottom:16px}
#view-music .music-search-form.youtube-search-v9 input,
#view-music .music-search-form.youtube-search-v9 button{height:54px;border-radius:16px}
#view-music .music-search-form.youtube-search-v9 input{padding:0 18px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem}
#view-music .music-search-form.youtube-search-v9 button{border:1px solid color-mix(in srgb,var(--accent) 36%,var(--border));background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--logo-ink,#081421);font-weight:900}
#view-music .youtube-content-head-v9{display:flex;justify-content:space-between;align-items:end;gap:14px;margin-bottom:14px}
#view-music .youtube-results-v9{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;align-content:start;overflow:auto;padding-right:4px;min-height:320px}
#view-music .youtube-track-card-v9{display:flex;flex-direction:column;border-radius:22px;border:1px solid var(--border);background:var(--surface);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
#view-music .youtube-track-card-v9:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 32%,var(--border));box-shadow:0 18px 34px rgba(0,0,0,.18)}
#view-music .youtube-track-art-v9{position:relative;aspect-ratio:16 / 9;background:#0b111a}
#view-music .youtube-track-art-v9 img{width:100%;height:100%;object-fit:cover}
#view-music .youtube-track-play-v9{position:absolute;right:14px;bottom:14px;width:52px;height:52px;border-radius:18px;border:0;background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--logo-ink,#07131e);font-weight:900;box-shadow:0 12px 24px rgba(0,0,0,.28)}
#view-music .youtube-track-copy-v9{padding:14px 14px 8px}.youtube-track-copy-v9 b{display:block;line-height:1.35}.youtube-track-copy-v9 small{display:block;margin-top:6px;color:var(--muted);font-size:.8rem}
#view-music .youtube-track-actions-v9{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 14px 14px}
#view-music .youtube-track-actions-v9 button,
#view-music .youtube-player-actions-v9 button,
#view-music .youtube-new-playlist-v9,
#view-music .youtube-nav-v9 button,
#view-music .youtube-playlist-button-v9{
  border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text)
}
#view-music .youtube-track-actions-v9 button,#view-music .youtube-player-actions-v9 button{height:40px;font-size:.76rem;font-weight:800}
#view-music .youtube-nav-v9{display:grid;gap:10px;margin-top:18px}.youtube-nav-v9 button{height:44px;padding:0 14px;text-align:left;font-weight:800}
#view-music .youtube-brand-v9{padding:14px;border-radius:20px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 14%,transparent),color-mix(in srgb,var(--accent2) 10%,transparent));border:1px solid var(--border)}
#view-music .music-now-card.youtube-now-card-v9{margin-top:auto;padding:16px;border-radius:20px;border:1px solid var(--border);background:var(--surface)}
#view-music .youtube-queue-v9{display:flex;flex-direction:column;min-height:225px}
#view-music #youtubeQueueList{display:grid;gap:10px;overflow:auto;max-height:220px;padding-right:2px}
#view-music .youtube-queue-item-v9{display:grid;grid-template-columns:56px 1fr auto;gap:10px;align-items:center;padding:10px;border-radius:16px;background:color-mix(in srgb,var(--surface) 78%,transparent);border:1px solid color-mix(in srgb,var(--accent) 10%,var(--border))}
#view-music .youtube-queue-item-v9 img{width:56px;height:56px;border-radius:12px;object-fit:cover}
#view-music .youtube-empty-v9{min-height:280px;border-radius:22px;border:1px dashed var(--border);background:color-mix(in srgb,var(--surface) 72%,transparent)}

/* Better spacing on section wrappers */
.views{padding-bottom:40px}
.view{padding-bottom:24px}

@media (max-width: 1450px){
  #view-voice .voice-discord-shell-v9{grid-template-columns:250px minmax(0,1fr) 280px}
  #view-music .youtube-player-column-v9{grid-template-columns:minmax(0,1fr) 290px}
}
@media (max-width: 1220px){
  #view-voice .voice-discord-shell-v9{grid-template-columns:1fr}
  #view-voice .voice-channel-rail-v9,#view-voice .voice-info-rail-v9{order:0}
  #view-music .youtube-music-shell-v9{grid-template-columns:1fr;grid-template-areas:"player" "browser" "library"}
  #view-music .youtube-player-column-v9{grid-template-columns:1fr}
  #view-music .youtube-player-shell-v9,#view-music .music-quality-control-v103,#view-music .music-primary-controls-v111,#view-music .youtube-player-actions-v9,#view-music .youtube-queue-v9{grid-column:1}
}
@media (max-width: 820px){
  .incoming-call-toast-v111{top:84px;right:12px;left:12px;width:auto}
  .music-monitor-v10{right:12px;left:12px;bottom:12px;width:auto}
  .global-call-preview-dock-v102{right:12px;left:12px;bottom:92px;width:auto}
  #view-music .music-search-form.youtube-search-v9{grid-template-columns:1fr}
  #view-music .youtube-results-v9{grid-template-columns:1fr}
  #view-voice .voice-control-dock-v103{grid-template-columns:repeat(3,minmax(0,1fr))}
}
