@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;600;700&family=Rajdhani:wght@500;600;700&display=swap');

:root {
  --bg: #080b12;
  --surface: #101622;
  --surface-2: #171f2e;
  --surface-3: #202b3d;
  --border: rgba(148, 163, 184, .18);
  --text: #f8fafc;
  --muted: #aab6c7;
  --primary: #7c5cff;
  --primary-2: #4f8cff;
  --success: #35d399;
  --warning: #f5b942;
  --danger: #ff5f6d;
  --shadow: 0 18px 45px rgba(0, 0, 0, .28);
}

html { color-scheme: dark; }
body {
  min-height: 100vh;
  background:
    radial-gradient(circle at 90% 0, rgba(79, 140, 255, .12), transparent 34rem),
    radial-gradient(circle at 10% 20%, rgba(124, 92, 255, .10), transparent 30rem),
    var(--bg) !important;
  color: var(--text) !important;
  font-family: Inter, Roboto, system-ui, -apple-system, "Segoe UI", sans-serif !important;
  line-height: 1.55;
}

a { color: #9ebcff; }
a:hover { color: #c5d5ff; text-decoration: none; }
.text-dark { color: var(--text) !important; }
.text-muted, small, .help-block { color: var(--muted) !important; }
hr { border-color: var(--border); }

.sidebar,
.sidebar-dark,
.sidebar-white,
.sidebar-lighten {
  background: rgba(13, 18, 29, .97) !important;
  border-right: 1px solid var(--border);
  box-shadow: 14px 0 40px rgba(0, 0, 0, .22);
  backdrop-filter: blur(16px);
}
.sidebar-menu { background: transparent !important; }
.sidebar .logo img { border: 3px solid rgba(124, 92, 255, .35); box-shadow: var(--shadow); }
.sidebar .cp .nome, .sidebar .cp .usuario, .sidebar .cp .loja { color: var(--text) !important; }
.list-title { color: #718096 !important; letter-spacing: .12em; font-size: .72rem !important; }
.sidebar .list-link,
.sidebar-dark .list-link,
.sidebar-white .list-link,
.sidebar-lighten .list-link {
  color: #c6d0df !important;
  border-radius: 10px;
  margin: 3px 10px;
  transition: background .18s ease, color .18s ease, transform .18s ease;
}
.sidebar .list-link:hover,
.sidebar .link-current {
  color: #fff !important;
  background: linear-gradient(100deg, rgba(124, 92, 255, .24), rgba(79, 140, 255, .12)) !important;
  transform: translateX(2px);
}
.sidebar .link-current { box-shadow: inset 3px 0 var(--primary); }
.list-hidden { background: rgba(0, 0, 0, .14) !important; }

.content { min-width: 0; padding: 24px !important; }
.container-fluid.adm { padding-top: 22px; }
.menu-abrir { color: var(--text) !important; background: var(--surface-2); padding: 10px 12px; border-radius: 10px; }

.content-box,
.card,
.modal-content,
.dropdown-menu,
.perfectworld,
.jumbotron,
.list-group-item {
  background: linear-gradient(145deg, rgba(23, 31, 46, .98), rgba(15, 21, 33, .98)) !important;
  color: var(--text) !important;
  border: 1px solid var(--border) !important;
  border-radius: 15px !important;
  box-shadow: var(--shadow);
}
.content-box { padding: clamp(16px, 2vw, 28px) !important; }
.content-box h1, .card-title, .modal-title, h1, h2, h3, h4, h5, h6 { color: var(--text) !important; }
.perfectworld { width: min(100%, 520px) !important; margin: clamp(30px, 8vh, 100px) auto !important; padding: clamp(24px, 5vw, 48px) !important; }

.admin-dashboard { display: block; width: 100%; margin-top: 22px; }
.admin-dashboard .container-fluid { padding: 0; }
.admin-dashboard .card-box {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 14px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.admin-dashboard .card-box-footer { color: #fff !important; }
.admin-dashboard .list-group { margin-top: 4px; }
.admin-dashboard #chart_area { width: 100%; height: 520px; padding: 0; margin: 0; }

.form-control,
.custom-select,
select,
textarea,
input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="search"] {
  background: #0b101a !important;
  color: var(--text) !important;
  border: 1px solid #2b374a !important;
  border-radius: 10px !important;
}
.form-control::placeholder, input::placeholder, textarea::placeholder { color: #758197 !important; opacity: 1; }
.form-control:focus, select:focus, textarea:focus, input:focus {
  border-color: var(--primary-2) !important;
  box-shadow: 0 0 0 3px rgba(79, 140, 255, .17) !important;
  outline: 0;
}
label, .border-lable-flt label { color: #d7deea !important; }
.border-lable-flt label,
.border-lable-flt > span {
  background-color: #0b101a !important;
}

.btn, .button, .button2, .mini-btn {
  border-radius: 10px !important;
  font-weight: 600;
  letter-spacing: .01em;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.btn:hover, .button:hover, .button2:hover, .mini-btn:hover { transform: translateY(-1px); filter: brightness(1.08); }
.gam1ng, .btn-primary, .button {
  color: #fff !important;
  border: 0 !important;
  background: linear-gradient(120deg, var(--primary), var(--primary-2)) !important;
  box-shadow: 0 8px 24px rgba(79, 92, 255, .24);
}
.btn-dark { background: #202a3a !important; border-color: #354258 !important; }
.btn-success { background: #188b67 !important; border-color: #22a77e !important; }
.btn-danger { background: #b63f4d !important; border-color: #d65362 !important; }

.table-responsive { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: 12px; }
.table, table { color: #dce4ef !important; background: transparent !important; }
.table thead th, table thead th { color: #f8fafc !important; background: #182131 !important; border-color: var(--border) !important; white-space: nowrap; }
.table td, .table th, table td, table th { border-color: var(--border) !important; vertical-align: middle; }
.table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,.025) !important; }
.table-hover tbody tr:hover { color: #fff !important; background: rgba(124,92,255,.09) !important; }
.page-link { color: #cbd8ff; background: var(--surface-2); border-color: var(--border); }
.page-item.active .page-link { background: var(--primary); border-color: var(--primary); }

.alert { color: #fff !important; border: 1px solid transparent !important; border-radius: 11px; }
.alert-info, .alert-primary { background: rgba(45, 118, 210, .25) !important; border-color: rgba(80, 154, 255, .35) !important; }
.alert-success { background: rgba(24, 139, 103, .25) !important; border-color: rgba(53, 211, 153, .35) !important; }
.alert-warning { background: rgba(166, 108, 19, .28) !important; border-color: rgba(245, 185, 66, .38) !important; }
.alert-danger { background: rgba(182, 63, 77, .28) !important; border-color: rgba(255, 95, 109, .38) !important; }
.badge { padding: .38em .62em; border-radius: 7px; }

.nav-tabs { border-color: var(--border); }
.nav-tabs .nav-link { color: var(--muted); border-radius: 9px 9px 0 0; }
.nav-tabs .nav-link.active { color: #fff; background: var(--surface-2); border-color: var(--border); }
.dd-select, .dd-options, .dd-option { background: #0b101a !important; border-color: var(--border) !important; color: var(--text) !important; }
.dd-selected-text, .dd-option-text, .dd-desc { color: var(--text) !important; }
.swal2-popup { background: var(--surface-2) !important; color: var(--text) !important; }
.swal2-title, .swal2-html-container { color: var(--text) !important; }

footer { color: var(--muted) !important; border-top: 1px solid var(--border); }

@media (max-width: 767.98px) {
  .content { padding: 14px !important; width: 100%; }
  .container-fluid.adm { padding: 14px 0 0; }
  .sidebar { position: fixed !important; z-index: 1050; height: 100vh; }
  .content > .btn.float-right { float: none !important; display: inline-flex; min-width: 0 !important; width: auto; margin: 0 0 12px 8px !important; }
  .content-box { padding: 15px !important; }
  .row > [class*="col-"] { margin-bottom: 12px; }
  .btn { white-space: normal; }
  .modal-dialog { margin: 10px; }
  h1 { font-size: 1.55rem !important; }
  h2 { font-size: 1.3rem !important; }
  .admin-dashboard #chart_area { height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Navy, gold and cyan visual system used by both player and administrator areas. */
:root {
  --bg: #050b13;
  --surface: #0b1521;
  --surface-2: #0f1d2b;
  --surface-3: #15293b;
  --border: rgba(192, 151, 63, .26);
  --text: #eef6f8;
  --muted: #91a7b5;
  --primary: #c49a49;
  --primary-2: #e2c06e;
  --cyan: #23d3da;
}

body {
  background:
    radial-gradient(circle at 92% 0, rgba(24, 193, 202, .12), transparent 34rem),
    radial-gradient(circle at 8% 12%, rgba(196, 154, 73, .10), transparent 28rem),
    var(--bg) !important;
}

.sidebar .logo img {
  border: 2px solid rgba(196, 154, 73, .65);
  box-shadow: 0 0 0 5px rgba(35, 211, 218, .06), var(--shadow);
}
.list-title { color: #c49a49 !important; letter-spacing: .14em; font-size: .68rem !important; font-weight: 700; }
.sidebar .list-link, .sidebar-dark .list-link, .sidebar-white .list-link, .sidebar-lighten .list-link {
  color: #c6d7dd !important; border-radius: 6px;
}
.sidebar .list-link:hover, .sidebar .link-current {
  background: linear-gradient(100deg, rgba(196, 154, 73, .18), rgba(35, 211, 218, .10)) !important;
}
.sidebar .link-current { box-shadow: inset 3px 0 var(--primary), 0 0 18px rgba(196,154,73,.08); }

.content-box, .card, .modal-content, .dropdown-menu, .perfectworld, .jumbotron, .list-group-item {
  background: linear-gradient(145deg, rgba(15, 30, 43, .98), rgba(8, 18, 29, .98)) !important;
  border-color: var(--border) !important;
  border-radius: 8px !important;
}
.admin-dashboard .card-box { border-color: rgba(196,154,73,.32); border-radius: 8px; }
.form-control, .custom-select, select, textarea, input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="search"] {
  background: #07111b !important; border-color: #2b4552 !important; border-radius: 6px !important;
}
.form-control:focus, select:focus, textarea:focus, input:focus {
  border-color: var(--cyan) !important; box-shadow: 0 0 0 3px rgba(35, 211, 218, .13) !important;
}
.btn, .button, .button2, .mini-btn { border-radius: 5px !important; }
.gam1ng, .btn-primary, .button {
  background: linear-gradient(120deg, #ad7b2c, var(--primary-2)) !important;
  box-shadow: 0 8px 24px rgba(196, 154, 73, .18);
}
.btn-dark { background: #132534 !important; border-color: #315060 !important; }
.table thead th, table thead th {
  color: #e5c675 !important; background: #102535 !important; border-color: var(--border) !important;
  text-transform: uppercase; font-size: .73rem; letter-spacing: .06em;
}
.table-hover tbody tr:hover { background: rgba(35,211,218,.07) !important; }
.page-item.active .page-link { background: #b98936; border-color: #dcb85c; }

.banner { border-bottom: 1px solid rgba(196,154,73,.55); }
.navbar.profile-stats { background: #0b1521 !important; border-bottom: 1px solid var(--border); color: var(--text) !important; }
.navbar.profile-stats .titulo { color: #e5c675 !important; }
.navbar.profile-stats .button2 { color: #c7d7df !important; border-color: #315060 !important; background: transparent !important; }
.navbar.profile-stats .button2:hover { background: #132534 !important; }

.card-box.bg-blue { background: linear-gradient(135deg, #0e5267, #0b283a) !important; }
.card-box.bg-green { background: linear-gradient(135deg, #1c705c, #103d37) !important; }
.card-box.bg-orange { background: linear-gradient(135deg, #9a6a1c, #573a16) !important; }
.card-box.bg-red { background: linear-gradient(135deg, #853b48, #481f2c) !important; }
.card-box .card-box-footer { background: rgba(0,0,0,.18); }

.dataTables_wrapper .dataTables_filter input, .dataTables_wrapper .dataTables_length select {
  background: #07111b !important; color: var(--text) !important; border: 1px solid #2b4552 !important; border-radius: 5px;
}
.dataTables_wrapper .dataTables_paginate .paginate_button { color: #c6d7dd !important; border-color: var(--border) !important; }
.dataTables_wrapper .dataTables_paginate .paginate_button.current, .dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  color: #07111b !important; border-color: #dcb85c !important; background: #dcb85c !important;
}

@media (max-width: 767.98px) {
  .sidebar .logo img { max-width: 92px; max-height: 92px; }
  .list-title { letter-spacing: .1em; }
}

/* Immersive PW skin: composition based on the approved Omega reference. */
:root {
  --fw-bg-deep: #060a12;
  --fw-bg-panel: rgba(7, 14, 26, .94);
  --fw-gold: #d4af37;
  --fw-gold-light: #e5d0a6;
  --fw-cyan: #00d4ff;
  --fw-text: #eef2f8;
  --fw-dim: #8b9cb8;
  --fw-border: rgba(212, 175, 55, .46);
}
body { font-family: 'Rajdhani', 'Segoe UI', sans-serif !important; background: #060a12 !important; }
h1, h2, h3, h4, h5, h6, .fonte { font-family: 'Cinzel', Georgia, serif !important; letter-spacing: .035em; }
body:has(.sidebar)::before {
  content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none;
  background: linear-gradient(rgba(3,8,15,.88), rgba(3,8,15,.93)), url('../img/banner.jpg') center / cover fixed;
  opacity: .5;
}
.sidebar, .sidebar-dark, .sidebar-white, .sidebar-lighten {
  background: linear-gradient(180deg, rgba(7,12,22,.99), rgba(3,7,13,.99)) !important;
  border-right-color: var(--fw-border); box-shadow: 4px 0 40px rgba(0,0,0,.65), inset -1px 0 rgba(212,175,55,.1);
}
.sidebar-menu { padding-top: .35rem; }
.sidebar .cp { margin: .7rem; padding: 1rem .7rem; border: 1px solid var(--fw-border); background: linear-gradient(165deg, rgba(16,22,38,.97), rgba(6,10,18,.99)); }
.cp .nome { font-family: 'Cinzel', Georgia, serif; color: var(--fw-gold-light) !important; font-size: 1rem; text-transform: uppercase; }
.cp .usuario { color: var(--fw-dim) !important; }
.sidebar .list-link, .sidebar-dark .list-link, .sidebar-white .list-link, .sidebar-lighten .list-link {
  font-family: 'Rajdhani', sans-serif; text-transform: uppercase; letter-spacing: .075em; font-size: .83rem; font-weight: 700; padding: .62rem .7rem;
}
.sidebar .list-link:hover, .sidebar .link-current { color: var(--fw-cyan) !important; background: linear-gradient(90deg, rgba(0,212,255,.16), rgba(0,212,255,.03)) !important; border: 1px solid rgba(0,212,255,.35); transform: none; }
.sidebar .link-current { box-shadow: inset 3px 0 var(--fw-cyan), 0 0 18px rgba(0,212,255,.09); }
.sidebar .list-link .fa, .sidebar .list-link .ma { color: #d9e1ec !important; }
.list-title { color: var(--fw-gold-light) !important; border-bottom: 1px solid rgba(212,175,55,.18); padding: .55rem .7rem; margin: .7rem 0 .25rem !important; }
.content { padding: 1.25rem 1.4rem !important; }
.content::before { content: ''; display: block; height: 66px; margin: 0 0 1rem; border: 1px solid var(--fw-border); background: linear-gradient(90deg, rgba(4,9,17,.96), rgba(13,29,43,.82), rgba(4,9,17,.96)); box-shadow: inset 0 1px rgba(212,175,55,.13); }
.content-box, .card, .modal-content, .dropdown-menu, .perfectworld, .jumbotron, .list-group-item {
  background: linear-gradient(160deg, rgba(14,20,36,.94), rgba(6,10,20,.97)) !important; border: 1px solid var(--fw-border) !important; border-radius: 3px !important; box-shadow: inset 0 1px rgba(212,175,55,.12), 0 8px 32px rgba(0,0,0,.55) !important;
}
.content-box h1, .content-box h2, .content-box h3, .content-box h4 { color: var(--fw-gold-light) !important; }
.admin-dashboard .card-box { border-color: var(--fw-border); border-radius: 2px; background: linear-gradient(160deg, rgba(14,20,36,.94), rgba(6,10,20,.97)) !important; }
.card-box.bg-blue, .card-box.bg-green, .card-box.bg-orange, .card-box.bg-red { background: linear-gradient(160deg, rgba(14,20,36,.96), rgba(6,10,20,.98)) !important; }
.card-box { min-height: 145px; border: 1px solid var(--fw-border) !important; box-shadow: inset 0 1px rgba(212,175,55,.12), 0 8px 24px rgba(0,0,0,.35); }
.card-box .inner small { color: var(--fw-gold-light) !important; font-family: 'Rajdhani', sans-serif; font-weight: 700; letter-spacing: .1em; }
.card-box .inner h3 { font-family: 'Rajdhani', sans-serif !important; color: var(--fw-text) !important; }
.card-box .icon { color: var(--fw-cyan) !important; opacity: .42; }
.card-box .card-box-footer { color: var(--fw-cyan) !important; background: rgba(0,0,0,.2); text-align: left; padding-left: .9rem; }
.table thead th, table thead th { background: rgba(201,162,39,.18) !important; color: var(--fw-gold-light) !important; }
.table td, .table th, table td, table th { border-color: rgba(212,175,55,.14) !important; }
.btn, .button, .button2, .mini-btn { font-family: 'Rajdhani', sans-serif !important; text-transform: uppercase; letter-spacing: .08em; border-radius: 3px !important; }
.gam1ng, .btn-primary, .button { color: #1a1200 !important; background: linear-gradient(180deg, var(--fw-gold-light), var(--fw-gold)) !important; border: 1px solid var(--fw-gold-light) !important; }
.btn-dark { color: var(--fw-text) !important; background: rgba(0,212,255,.08) !important; border-color: rgba(0,212,255,.45) !important; }

/* Login / registration composition. It uses only panel-owned assets and preserves the original form behavior. */
body:not(:has(.sidebar)) { background: #050912 !important; }
body:not(:has(.sidebar)) .banner, body:not(:has(.sidebar)) .navbar.profile-stats { display: none !important; }
body:not(:has(.sidebar))::before { content: ''; position: fixed; inset: 0; z-index: -1; background-image: linear-gradient(90deg, rgba(3,8,15,.38), rgba(3,8,15,.7)), url('../img/banner.jpg'); background-position: center; background-repeat: no-repeat; background-size: cover; }
.pwe-login-layout { min-height: 100vh; max-width: 1080px !important; display: grid; grid-template-columns: minmax(280px, 1fr) minmax(330px, 430px); gap: 3.5rem; align-items: center; padding: 3rem 1.25rem !important; }
.pwe-login-hero { color: var(--fw-text); padding: 1rem 1.5rem; text-shadow: 0 2px 12px rgba(0,0,0,.75); }
.pwe-login-logo { display: block; width: min(260px, 80%); max-height: 115px; object-fit: contain; object-position: center; margin: 0 auto .5rem; filter: drop-shadow(0 4px 14px rgba(0,212,255,.2)); }
.pwe-login-kicker { margin: 0 0 .45rem; color: var(--fw-gold-light); font: 700 .78rem 'Cinzel', Georgia, serif; letter-spacing: .2em; }
.pwe-login-hero h2 { margin: 0 0 1rem; color: var(--fw-gold-light) !important; font-size: clamp(2rem, 4vw, 3.25rem); line-height: 1.12; text-transform: uppercase; }
.pwe-login-copy { max-width: 395px; color: #d4e0e7 !important; font-size: 1.05rem; font-weight: 600; }
.pwe-login-runes { display: flex; gap: .7rem; margin-top: 1.4rem; }
.pwe-login-runes i { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid rgba(0,212,255,.52); border-radius: 50%; color: var(--fw-cyan); background: rgba(4,10,20,.65); box-shadow: 0 0 12px rgba(0,212,255,.18); }
body:not(:has(.sidebar)) .perfectworld { width: 100% !important; min-height: 0; margin: 0 !important; padding: 2rem 1.7rem !important; border-color: rgba(212,175,55,.65) !important; }
body:not(:has(.sidebar)) .perfectworld::before { content: '◆'; display: block; text-align: center; color: var(--fw-gold); font-size: .7rem; margin: -2.5rem 0 1.1rem; text-shadow: 0 0 12px rgba(212,175,55,.8); }
body:not(:has(.sidebar)) .perfectworld h1 { margin: 0; color: var(--fw-gold-light) !important; font-size: 1.55rem; text-transform: uppercase; }
body:not(:has(.sidebar)) .perfectworld .links_ { text-align: center; color: var(--fw-dim) !important; }
body:not(:has(.sidebar)) .perfectworld .form-group { margin-bottom: 1rem; }
body:not(:has(.sidebar)) .perfectworld .form-control { background: rgba(2,8,15,.9) !important; border: 1px solid rgba(212,175,55,.4) !important; color: var(--fw-text) !important; border-radius: 2px !important; padding: .85rem 1rem !important; height: auto; }
body:not(:has(.sidebar)) .perfectworld .form-control:focus { border-color: var(--fw-cyan) !important; box-shadow: 0 0 0 3px rgba(0,212,255,.12) !important; }
body:not(:has(.sidebar)) .perfectworld .border-lable-flt label { background: #09111d !important; color: var(--fw-gold-light) !important; font-family: 'Rajdhani', sans-serif; letter-spacing: .09em; text-transform: uppercase; font-size: .72rem; }
body:not(:has(.sidebar)) .perfectworld .btn { padding: .78rem !important; }

/* Keep the secondary authentication screens centered and visually connected to sign in. */
body:has(.pwe-auth-layout) { min-height: 100vh; display: flex; flex-direction: column; }
.pwe-auth-layout { width: 100%; flex: 1 0 auto; display: flex; align-items: center; justify-content: center; padding: 2.5rem 1rem !important; }
body:not(:has(.sidebar)) .pwe-auth-card { width: min(100%, 680px) !important; margin: 0 !important; }
.pwe-auth-brand { display: block; width: min(230px, 72%); margin: 0 auto 1.15rem; }
.pwe-auth-brand img { display: block; width: 100%; max-height: 95px; object-fit: contain; filter: drop-shadow(0 5px 15px rgba(0,0,0,.72)); }
body:has(.pwe-auth-layout) > footer { flex: 0 0 auto; margin: 0 !important; padding: 1.35rem 1rem 1.6rem; border-top: 1px solid rgba(212,175,55,.2); background: rgba(3,8,15,.72); }
body:has(.pwe-auth-layout) > footer .panel-copyright { margin-top: 0; }
@media (max-width: 767.98px) { .pwe-login-layout { display: block; padding: 1.5rem 1rem !important; } .pwe-login-hero { text-align: center; padding: 1rem 0 2rem; } .pwe-login-logo { margin-left: auto; margin-right: auto; object-position: center; } .pwe-login-copy { margin-left: auto; margin-right: auto; } .pwe-login-runes { justify-content: center; } .content::before { height: 46px; } }

/* Compact accordion navigation for the administrator panel. */
.admin-shell .sidebar .list-item { margin-top: 1px; margin-bottom: 1px !important; line-height: 1.6rem; }
.admin-shell .sidebar .list-title { margin: .55rem 0 .22rem !important; padding: .46rem .7rem; }
.admin-shell .sidebar .list-link { padding-top: .42rem; padding-bottom: .42rem; margin-bottom: 1px; }
.admin-shell .sidebar .menu-section-trigger { cursor: pointer; position: relative; user-select: none; transition: color .2s, border-color .2s, background .2s; }
.admin-shell .sidebar .menu-section-trigger::after { content: '\f107'; position: absolute; right: .75rem; top: 50%; transform: translateY(-50%); font-family: FontAwesome; color: var(--fw-dim); transition: transform .2s ease, color .2s ease; }
.admin-shell .sidebar .menu-section-trigger:hover, .admin-shell .sidebar .menu-section-trigger.menu-section-open { color: var(--fw-cyan) !important; background: rgba(0,212,255,.06); border-bottom-color: rgba(0,212,255,.34); }
.admin-shell .sidebar .menu-section-trigger.menu-section-open::after { transform: translateY(-50%) rotate(180deg); color: var(--fw-cyan); }
.admin-shell .sidebar .menu-section-items { margin: 0 0 .25rem !important; padding: .22rem 0 .28rem .45rem !important; border-left: 1px solid rgba(212,175,55,.25); }
.admin-shell .sidebar .menu-section-items .list-link { padding-left: .7rem; }

/* Player navigation uses the same compact vertical rhythm without changing its existing cascading groups. */
body:not(.admin-shell) .sidebar .list-item { margin-top: 2px; margin-bottom: 2px !important; line-height: 1.6rem; }
body:not(.admin-shell) .sidebar .list-title { margin: .62rem 0 .24rem !important; padding: .46rem .7rem; }
body:not(.admin-shell) .sidebar .list-link { padding-top: .44rem; padding-bottom: .44rem; margin-bottom: 1px; }
body:not(.admin-shell) .sidebar .list-hidden { margin-top: .22rem; margin-bottom: .28rem; padding-top: .18rem; padding-bottom: .18rem; }

/* Persistent, low-profile credits for login and both panel areas. */
.panel-credits { display: flex; flex-wrap: wrap; justify-content: center; gap: .25rem .85rem; margin: .55rem auto 0; color: var(--fw-dim); font: 600 .72rem 'Rajdhani', sans-serif; letter-spacing: .045em; text-align: center; }
.panel-credits span + span::before { content: '•'; color: var(--fw-gold); margin-right: .85rem; }
.panel-credits a { color: var(--fw-cyan) !important; text-decoration: none; }
.panel-credits a:hover { color: var(--fw-gold-light) !important; text-decoration: underline; }
.panel-credits--login { margin-top: 1.1rem; padding-top: .85rem; border-top: 1px solid rgba(212,175,55,.2); }
footer .panel-credits { padding-bottom: .45rem; }
.panel-copyright { margin: 1.1rem 0 .7rem; color: #aebdd0 !important; }
footer .social { display: flex; justify-content: center; flex-wrap: wrap; gap: .65rem; margin-top: .35rem; }
footer .social a { width: 36px; height: 36px; display: inline-grid; place-items: center; border: 1px solid rgba(0,212,255,.55); border-radius: 50%; background: rgba(0,212,255,.09); box-shadow: 0 0 14px rgba(0,212,255,.12); transition: background .2s, border-color .2s, box-shadow .2s, transform .2s; }
footer .social a:hover { background: rgba(0,212,255,.2); border-color: var(--fw-gold-light); box-shadow: 0 0 18px rgba(0,212,255,.28); transform: translateY(-2px); }
footer .social a img { width: 18px !important; height: 18px; margin: 0 !important; filter: brightness(0) saturate(100%) invert(73%) sepia(92%) saturate(1933%) hue-rotate(144deg) brightness(103%) contrast(104%); opacity: 1; }
.admin-shell .sidebar { display: flex; flex-direction: column; }
.admin-shell .sidebar-menu { flex: 1 0 auto; }
.panel-admin-footer { width: 17rem; margin: auto 0 0; padding: .8rem .65rem 1rem; border: 0; border-top: 1px solid rgba(212,175,55,.22); background: rgba(5,10,18,.72); }
.panel-admin-footer .panel-credits { flex-direction: column; gap: .18rem; margin: 0; }
.panel-admin-footer .panel-credits span + span::before { content: none; }
@media (max-width: 767.98px) { .panel-credits { font-size: .67rem; gap: .15rem .45rem; } .panel-credits span + span::before { margin-right: .45rem; } .panel-admin-footer { margin-top: auto; } }
