@import "tailwindcss";

@source '../../vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php';
@source '../../storage/framework/views/*.php';
@source '../**/*.blade.php';
@source '../**/*.js';

@theme {
    --font-sans: 'Instrument Sans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji',
        'Segoe UI Symbol', 'Noto Color Emoji';
}


/* ==========================================================
   GIGAX ARENA - PREMIUM POLISH 2026
   Ajustes pedidos: topo com respiro, tipografia premium,
   coluna direita compacta, CrossFire dominante e animações vivas.
   Mantém a estrutura e não altera rotas/controllers.
   ========================================================== */
:root {
    --gx-premium-blue: #2d7dff;
    --gx-premium-blue-2: #73b8ff;
    --gx-premium-red: #ff264f;
    --gx-premium-red-2: #ff6a82;
    --gx-premium-green: #27d48f;
    --gx-premium-soft: rgba(255,255,255,.055);
}

@keyframes gxTimerPulse {
    0%,100% { transform: scale(1); text-shadow: 0 0 18px rgba(255,255,255,.08), 0 0 34px rgba(255,38,79,.10); }
    50% { transform: scale(1.018); text-shadow: 0 0 22px rgba(255,255,255,.18), 0 0 46px rgba(45,125,255,.20), 0 0 36px rgba(255,38,79,.18); }
}
@keyframes gxSoftGlow {
    0%,100% { opacity:.56; filter: blur(0); }
    50% { opacity:.95; filter: blur(.2px); }
}
@keyframes gxScanLine {
    0% { transform: translateX(-120%); opacity:0; }
    15% { opacity:.75; }
    100% { transform: translateX(220%); opacity:0; }
}
@keyframes gxHeartbeat {
    0%,100% { transform: scale(1); box-shadow: 0 0 0 0 rgba(39,212,143,.0); }
    45% { transform: scale(1.06); box-shadow: 0 0 0 8px rgba(39,212,143,.10); }
    55% { transform: scale(.98); }
}
@keyframes gxParticleFloat {
    0% { transform: translate3d(0, 0, 0); opacity:.15; }
    50% { opacity:.42; }
    100% { transform: translate3d(18px, -28px, 0); opacity:.10; }
}
@keyframes gxPlayerPop {
    0% { transform: translateY(7px) scale(.94); opacity:.58; }
    100% { transform: translateY(0) scale(1); opacity:1; }
}

body.krux-dashboard .page,
body.krux-dashboard .krux-dashboard {
    max-width: 1720px;
}

body.krux-dashboard .topbar,
.krux-topbar,
.topbar {
    gap: 22px !important;
    padding: 14px 20px !important;
    min-height: 76px;
    align-items: center !important;
    overflow: visible !important;
}

body.krux-dashboard .brand,
.brand {
    flex: 0 0 auto;
    min-width: 290px;
}

body.krux-dashboard .nav-links,
.nav-links {
    flex: 1 1 620px;
    justify-content: center;
    gap: 10px !important;
    min-width: 0;
}

body.krux-dashboard .nav-link,
.nav-link {
    min-height: 36px !important;
    padding: 0 15px !important;
    font-size: 11px !important;
    letter-spacing: .045em !important;
    font-weight: 800 !important;
    opacity: .92;
    white-space: nowrap;
}

body.krux-dashboard .nav-link.active,
.nav-link.active {
    opacity: 1;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 10px 28px rgba(255,38,79,.10);
}

body.krux-dashboard .topbar-right,
body.krux-dashboard .userbox,
.topbar-right,
.userbox {
    flex: 0 0 auto;
    gap: 14px !important;
    justify-content: flex-end;
    position: relative;
    z-index: 9999;
}

body.krux-dashboard .btn-queue-header,
.btn-queue-header,
body.krux-dashboard [data-queue-topbar],
[data-queue-topbar] {
    min-height: 48px !important;
    padding: 0 18px !important;
    border-radius: 17px !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: #fff !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    background: linear-gradient(135deg, #1286ff 0%, #4aa3ff 44%, #ff3157 100%) !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,.05), 0 16px 40px rgba(45,125,255,.24), 0 0 32px rgba(255,38,79,.22) !important;
    animation: gxSoftGlow 2.6s ease-in-out infinite;
    white-space: nowrap;
}

body.krux-dashboard .panel-title,
body.krux-dashboard .gx-team-title,
body.krux-dashboard .gx-giga-title {
    letter-spacing: -.025em;
}

body.krux-dashboard .gx-search-title,
body.krux-dashboard .gx-match-title,
body.krux-dashboard .matchmaking-title,
body.krux-dashboard h1,
body.krux-dashboard h2 {
    text-shadow: 0 12px 34px rgba(0,0,0,.28);
}

body.krux-dashboard .gx-search-subtitle,
body.krux-dashboard .gx-team-count,
body.krux-dashboard .gx-mode-queue-hint,
body.krux-dashboard .gx-giga-sub,
body.krux-dashboard .meta,
body.krux-dashboard .helper {
    opacity: .78;
    font-weight: 700 !important;
}

body.krux-dashboard .gx-search-timer,
body.krux-dashboard .queue-timer,
body.krux-dashboard .timer,
body.krux-dashboard [data-queue-timer] {
    display: inline-block;
    animation: gxTimerPulse 1.45s ease-in-out infinite;
    will-change: transform;
}

body.krux-dashboard .layout > aside:last-child,
body.krux-dashboard .right-column,
body.krux-dashboard .rightbar {
    display: grid;
    gap: 10px !important;
}

body.krux-dashboard .layout > aside:last-child .panel,
body.krux-dashboard .right-column .panel,
body.krux-dashboard .rightbar .panel {
    border-radius: 18px !important;
}

body.krux-dashboard .layout > aside:last-child .panel-header,
body.krux-dashboard .right-column .panel-header,
body.krux-dashboard .rightbar .panel-header {
    padding: 12px 14px !important;
}

body.krux-dashboard .layout > aside:last-child .panel-body,
body.krux-dashboard .right-column .panel-body,
body.krux-dashboard .rightbar .panel-body {
    padding: 12px !important;
}

body.krux-dashboard .gx-giga-card,
body.krux-dashboard .gx-giga-list {
    gap: 7px !important;
}

body.krux-dashboard .gx-giga-main {
    padding: 11px 13px !important;
    border-radius: 15px !important;
}

body.krux-dashboard .gx-giga-list div {
    padding: 8px 10px !important;
    min-height: 34px;
}

body.krux-dashboard .gx-giga-list b.ok,
body.krux-dashboard .gx-giga-list b.warn,
body.krux-dashboard .gx-giga-list b.danger,
body.krux-dashboard .gx-giga-badge {
    animation: gxHeartbeat 2.1s ease-in-out infinite;
}

body.krux-dashboard .game-card.active,
body.krux-dashboard .gx-game-card.active,
body.krux-dashboard [data-game="crossfire"].active,
body.krux-dashboard [data-game-slug="crossfire"].active,
body.krux-dashboard .game-item.active,
body.krux-dashboard .game-row.active {
    transform: translateX(3px);
    border-color: rgba(255,38,79,.55) !important;
    background: radial-gradient(circle at 12% 50%, rgba(255,38,79,.22), transparent 34%), linear-gradient(90deg, rgba(255,38,79,.17), rgba(255,255,255,.035)) !important;
    box-shadow: 0 0 0 1px rgba(255,38,79,.12), 0 18px 44px rgba(255,38,79,.16), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

body.krux-dashboard .game-card.active::after,
body.krux-dashboard .gx-game-card.active::after,
body.krux-dashboard .game-item.active::after,
body.krux-dashboard .game-row.active::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(110deg, transparent 8%, rgba(255,255,255,.12) 45%, transparent 72%);
    transform: translateX(-120%);
    animation: gxScanLine 3.8s ease-in-out infinite;
}

body.krux-dashboard .gx-match-arena,
body.krux-dashboard .matchmaking-panel,
body.krux-dashboard .gx-versus-grid,
body.krux-dashboard .hero {
    position: relative;
}

body.krux-dashboard .gx-match-arena::after,
body.krux-dashboard .matchmaking-panel::after,
body.krux-dashboard .gx-versus-grid::after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    width: 120px;
    pointer-events: none;
    background: linear-gradient(90deg, transparent, rgba(115,184,255,.08), rgba(255,38,79,.09), transparent);
    transform: translateX(-140%);
    animation: gxScanLine 5.5s linear infinite;
}

body.krux-dashboard .gx-player-slot,
body.krux-dashboard .mini-avatar,
body.krux-dashboard .player-avatar {
    animation: gxPlayerPop .55s ease both;
}

body.krux-dashboard .gx-player-slot:nth-child(2),
body.krux-dashboard .mini-avatar:nth-child(2) { animation-delay: .04s; }
body.krux-dashboard .gx-player-slot:nth-child(3),
body.krux-dashboard .mini-avatar:nth-child(3) { animation-delay: .08s; }
body.krux-dashboard .gx-player-slot:nth-child(4),
body.krux-dashboard .mini-avatar:nth-child(4) { animation-delay: .12s; }
body.krux-dashboard .gx-player-slot:nth-child(5),
body.krux-dashboard .mini-avatar:nth-child(5) { animation-delay: .16s; }

.gx-live-particles {
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    overflow: hidden;
}
.gx-live-particles i {
    position: absolute;
    width: 2px;
    height: 2px;
    border-radius: 50%;
    background: rgba(115,184,255,.72);
    box-shadow: 0 0 16px rgba(115,184,255,.45);
    animation: gxParticleFloat 6s ease-in-out infinite;
}
.gx-live-particles i:nth-child(3n) { background: rgba(255,38,79,.66); box-shadow: 0 0 16px rgba(255,38,79,.38); }
.gx-live-particles i:nth-child(4n) { background: rgba(39,212,143,.64); box-shadow: 0 0 16px rgba(39,212,143,.34); }

@media (max-width: 1380px) {
    body.krux-dashboard .topbar,
    .topbar { gap: 14px !important; }
    body.krux-dashboard .brand,
    .brand { min-width: 240px; }
    body.krux-dashboard .nav-link,
    .nav-link { padding: 0 12px !important; }
}

@media (max-width: 980px) {
    body.krux-dashboard .topbar,
    .topbar { align-items: stretch !important; }
    body.krux-dashboard .brand,
    .brand,
    body.krux-dashboard .nav-links,
    .nav-links,
    body.krux-dashboard .topbar-right,
    .topbar-right { width: 100%; flex-basis: 100%; justify-content: center; }
    body.krux-dashboard .layout { grid-template-columns: 1fr !important; }
}

body.krux-dashboard .is-clicked,
.is-clicked {
    transform: translateY(-1px) scale(.985) !important;
    filter: brightness(1.12);
}


/* ==========================================================
   GIGAX ARENA - CORREÇÕES DE ESTABILIDADE
   Mantém a estrutura: só reforça layout, z-index e build seguro.
   ========================================================== */

body.krux-dashboard .topbar,
body.krux-dashboard .krux-topbar,
body.krux-dashboard header.topbar {
    isolation: isolate;
    z-index: 10000 !important;
}

body.krux-dashboard .nav-links,
.nav-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

body.krux-dashboard .btn-queue-header,
.btn-queue-header {
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}

body.krux-dashboard .user-menu,
body.krux-dashboard .profile-menu,
body.krux-dashboard .profile-dropdown,
body.krux-dashboard .dropdown-menu,
body.krux-dashboard .user-dropdown,
body.krux-dashboard [data-profile-menu],
body.krux-dashboard [data-user-dropdown] {
    position: absolute;
    z-index: 999999 !important;
}

body.krux-dashboard .userbox,
body.krux-dashboard .topbar-right,
body.krux-dashboard .profile-wrapper,
body.krux-dashboard .user-menu-wrapper,
body.krux-dashboard [data-profile-wrapper] {
    position: relative;
    z-index: 999998 !important;
    overflow: visible !important;
}

body.krux-dashboard .panel,
body.krux-dashboard .hero,
body.krux-dashboard .layout,
body.krux-dashboard .stack {
    z-index: 1;
}

body.krux-dashboard .layout > aside:last-child .panel {
    max-height: none;
}

body.krux-dashboard .gx-live-particles + *,
body.krux-dashboard .page {
    position: relative;
    z-index: 1;
}

@media (prefers-reduced-motion: reduce) {
    body.krux-dashboard *,
    body.krux-dashboard *::before,
    body.krux-dashboard *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}


/* ==========================================================
   GIGAX ARENA - FIX FINAL CORRIGIDO
   ========================================================== */

body.krux-dashboard .topbar,
body.krux-dashboard .krux-topbar,
.topbar,
.krux-topbar {
    position: relative;
    overflow: visible !important;
    z-index: 10000 !important;
}

body.krux-dashboard .nav-links,
.nav-links {
    display: flex !important;
    align-items: center !important;
    flex-wrap: wrap !important;
}

body.krux-dashboard .nav-link,
.nav-link,
body.krux-dashboard .btn-queue-header,
.btn-queue-header {
    text-decoration: none !important;
}

body.krux-dashboard .userbox,
body.krux-dashboard .topbar-right,
body.krux-dashboard .profile-wrapper,
body.krux-dashboard .user-menu-wrapper,
.userbox,
.topbar-right,
.profile-wrapper,
.user-menu-wrapper {
    position: relative !important;
    overflow: visible !important;
    z-index: 10001 !important;
}

body.krux-dashboard .user-menu,
body.krux-dashboard .profile-menu,
body.krux-dashboard .profile-dropdown,
body.krux-dashboard .dropdown-menu,
body.krux-dashboard .user-dropdown,
.user-menu,
.profile-menu,
.profile-dropdown,
.dropdown-menu,
.user-dropdown {
    z-index: 1000000 !important;
}

body.krux-dashboard .panel,
body.krux-dashboard .hero,
body.krux-dashboard .layout,
body.krux-dashboard .stack {
    position: relative;
}


/* ==========================================================
   KRUX ARENA — PADRÃO GLOBAL DO DASHBOARD
   Aplicado a todas as views sem remover IDs, forms, routes,
   data-attributes, scripts ou controles existentes.
   ========================================================== */
:root{
  --krux-bg:#020911;
  --krux-bg-2:#06111c;
  --krux-panel:#0b1927;
  --krux-panel-2:#0e2030;
  --krux-line:#20364a;
  --krux-text:#f4f8ff;
  --krux-muted:#9fb2c8;
  --krux-green:#20f278;
  --krux-green-2:#0dbb56;
  --krux-red:#df303b;
  --krux-blue:#59a8ff;
  --krux-gold:#f3bd3e;
  --krux-radius:10px;
}
html,body{min-height:100%;background:
 radial-gradient(circle at 78% 0%,rgba(15,126,80,.13),transparent 25%),
 linear-gradient(180deg,#06111b 0%,#020911 55%,#01070d 100%) !important;
 color:var(--krux-text);font-family:Inter,Segoe UI,Arial,sans-serif}
body{margin:0}
*,*:before,*:after{box-sizing:border-box}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,.btn,[role="button"]{cursor:pointer}
.krux-app{min-height:100vh;background:transparent}
.krux-main{background:transparent!important}
.krux-topbar{border-bottom:1px solid rgba(130,170,205,.10)}
.page-kicker{color:var(--krux-green)!important;font-weight:800;letter-spacing:.12em}
.krux-main h1,.krux-main h2,.krux-main h3,
.page h1,.page h2,.page h3{letter-spacing:-.02em}
.panel,.stat-card,.hero,.store-banner,.settings-card,.profile-card,
.card,.box,.content-panel,.side-panel,.metric-card,.match-card,
.table-card,.admin-card,.queue-card{
 background:linear-gradient(180deg,rgba(14,31,46,.96),rgba(7,18,29,.97))!important;
 border:1px solid var(--krux-line)!important;
 border-radius:var(--krux-radius)!important;
 box-shadow:none!important;
 color:var(--krux-text)
}
.panel-title{font-weight:800;text-transform:uppercase}
.muted,.text-muted,small{color:var(--krux-muted)}
.green,.win,.text-success{color:var(--krux-green)!important}
.loss,.text-danger{color:#ff4553!important}
.btn,button.btn,input[type=submit]{
 border:1px solid rgba(255,255,255,.08);
 border-radius:7px;
 min-height:42px;
 padding:0 18px;
 background:linear-gradient(180deg,#15b94d,#07963a);
 color:#fff;
 font-weight:800;
 transition:.18s ease
}
.btn:hover,button.btn:hover,input[type=submit]:hover{filter:brightness(1.12);transform:translateY(-1px)}
.btn.red,.btn-danger{background:linear-gradient(180deg,#d52d36,#a81720)!important}
.btn.dark,.btn-secondary{background:#121f2c!important;border-color:#2a3d50!important}
input,select,textarea{
 background:#071421!important;color:#fff!important;border:1px solid #263c50!important;
 border-radius:7px!important;padding:10px 12px!important;outline:none
}
input:focus,select:focus,textarea:focus{border-color:var(--krux-green)!important;box-shadow:0 0 0 3px rgba(32,242,120,.10)}
table{width:100%;border-collapse:collapse}
th{color:#b8cae0;text-transform:uppercase;font-size:12px;letter-spacing:.05em}
th,td{padding:13px 14px;border-bottom:1px solid rgba(145,177,204,.12)}
tr:hover td{background:rgba(32,242,120,.025)}
.tabs,.tab-list{display:flex;gap:10px;flex-wrap:wrap}
.tab,.tab-btn,[data-tab]{
 border:1px solid #263b4f;border-radius:999px;padding:10px 16px;background:#0d1928;color:#dce8f5;font-weight:800
}
.tab.active,.tab-btn.active,[data-tab].active{border-color:var(--krux-green);color:var(--krux-green);background:rgba(32,242,120,.08)}
.krux-alert{border-radius:8px;padding:12px 14px;margin:12px 0}
.krux-alert.success{border:1px solid rgba(32,242,120,.35);background:rgba(32,242,120,.08)}
.krux-alert.error{border:1px solid rgba(255,69,83,.35);background:rgba(255,69,83,.08)}
.avatar,.user-avatar,.avatar-circle{border:1px solid #2a455c;background:#102238}
.progress-line,.xpbar{background:#04101a!important;border-radius:999px;overflow:hidden}
.progress-line span,.xpbar span{background:linear-gradient(90deg,var(--krux-green-2),var(--krux-green))!important}
.pagination a,.pagination button,.page-link{
 background:#0c1927!important;color:#dce8f5!important;border:1px solid #263b4f!important;border-radius:7px!important
}
.empty-state{border:1px solid rgba(142,173,201,.14);background:rgba(255,255,255,.018);border-radius:10px;color:var(--krux-muted)}
/* páginas standalone */
body:not(.krux-dashboard):not(:has(.krux-app)) > .container,
body:not(.krux-dashboard):not(:has(.krux-app)) > main,
body:not(.krux-dashboard):not(:has(.krux-app)) > .page{
 width:min(1500px,calc(100% - 32px));margin:24px auto
}
/* Admin no mesmo idioma visual do dashboard */
body.krux-dashboard{background:
 radial-gradient(circle at 80% 0%,rgba(14,135,82,.14),transparent 24%),
 linear-gradient(180deg,#06111b,#020911 58%,#01070d)!important}
body.krux-dashboard .topbar{
 background:linear-gradient(180deg,rgba(9,24,35,.98),rgba(5,16,27,.98))!important;
 border:1px solid #20364a!important;border-radius:10px!important;box-shadow:none!important
}
body.krux-dashboard .brand-mark{background:linear-gradient(145deg,#12d95d,#0b9f46)!important;box-shadow:0 0 24px rgba(32,242,120,.18)!important}
body.krux-dashboard .brand-subtitle{color:var(--krux-green)!important}
body.krux-dashboard .nav-link.active,body.krux-dashboard .nav-link:hover{
 border-color:rgba(32,242,120,.35)!important;background:rgba(32,242,120,.08)!important;color:var(--krux-green)!important
}
body.krux-dashboard .btn-primary{background:linear-gradient(180deg,#15b94d,#07963a)!important}
body.krux-dashboard .btn-warning{background:linear-gradient(180deg,#f0bd43,#d89b24)!important;color:#10151b!important}
body.krux-dashboard .content-panel,body.krux-dashboard .side-panel,
body.krux-dashboard .metric-card,body.krux-dashboard .tab-panel,
body.krux-dashboard .match-card,body.krux-dashboard .quick-note{
 background:linear-gradient(180deg,rgba(14,31,46,.96),rgba(7,18,29,.97))!important;
 border-color:#20364a!important;border-radius:10px!important;box-shadow:none!important
}
body.krux-dashboard .metric-label{color:#a9bdd3!important}
body.krux-dashboard .status-dot{background:var(--krux-green)!important}
@media(max-width:900px){
 .grid,.dash-grid,.lobby-grid,.two-grid,.four-grid{grid-template-columns:1fr!important}
 .krux-main{min-width:0}
 table{min-width:700px}.table-scroll{overflow:auto}
}
