:root{--iz-primary:#6d5dfc;--iz-secondary:#11c5c6;--iz-bg:#090e1a;--iz-panel:#121a2b;--iz-border:rgba(255,255,255,.09)}*{box-sizing:border-box}body{min-height:var(--iznel-viewport-height,100dvh);background:radial-gradient(circle at 10% 0,rgba(109,93,252,.17),transparent 34%),radial-gradient(circle at 90% 20%,rgba(17,197,198,.10),transparent 28%),var(--iz-bg);color:#f6f7fb}.fw-black{font-weight:900;letter-spacing:-.04em}.glass-nav{background:rgba(9,14,26,.82);backdrop-filter:blur(14px);border-bottom:1px solid var(--iz-border)}.brand-mark{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:11px;background:linear-gradient(135deg,var(--iz-primary),var(--iz-secondary));box-shadow:0 8px 24px rgba(109,93,252,.35)}.hero-section{min-height:65vh;display:flex;align-items:center}.hero-board{aspect-ratio:1;border:1px solid var(--iz-border);border-radius:36px;background:linear-gradient(145deg,#1b2841,#0e1525);box-shadow:0 40px 90px rgba(0,0,0,.45);padding:12%;display:grid;grid-template-columns:1fr 1fr;gap:12px;transform:perspective(900px) rotateY(-8deg) rotateX(5deg)}.game-chip{display:grid;place-items:center;border-radius:20px;background:linear-gradient(145deg,#fff,#c8cfdd);color:#141827;font-size:clamp(1rem,4vw,2.2rem);font-weight:900;box-shadow:inset 0 -8px 15px rgba(0,0,0,.14)}.mini-game-card,.panel-card,.auth-card,.stat-card{background:rgba(18,26,43,.92);border:1px solid var(--iz-border);border-radius:20px}.mini-game-card{padding:18px;display:flex;flex-direction:column;gap:5px}.mini-game-card small{color:#8994a8}.auth-shell{min-height:calc(100vh - 130px);display:flex;align-items:center;padding:40px 0}.auth-card{box-shadow:0 35px 80px rgba(0,0,0,.35)}.form-control,.form-select{border-color:var(--iz-border);background:#0c1322}.form-control:focus,.form-select:focus{border-color:var(--iz-primary);box-shadow:0 0 0 .25rem rgba(109,93,252,.2)}.game-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.game-card{min-height:135px;padding:18px;border-radius:20px;border:1px solid var(--iz-border);background:linear-gradient(145deg,#16223a,#101725);color:#fff;text-align:left;display:flex;flex-direction:column;gap:7px;transition:.2s}.game-card:hover,.game-card:focus{transform:translateY(-3px);border-color:rgba(109,93,252,.7);box-shadow:0 18px 30px rgba(0,0,0,.25)}.game-card .game-icon{font-size:1.8rem}.game-card small{color:#9da9bd}.panel-card{padding:18px}.wallet-pill{padding:10px 18px;border-radius:999px;background:#1a2234;border:1px solid var(--iz-border)}.chat-messages{height:360px;overflow:auto;border-radius:14px;background:#0b111d;padding:12px}.chat-message{padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05)}.chat-message strong{color:#7fe4e4}.connection-status{font-size:.85rem;color:#9da9bd}.dot{width:9px;height:9px;border-radius:50%;background:#f59e0b;display:inline-block;margin-right:7px}.dot.online{background:#22c55e;box-shadow:0 0 10px #22c55e}.admin-sidebar{position:fixed;top:57px;bottom:0;left:0;background:#0b111d;border-right:1px solid var(--iz-border)}.admin-sidebar .nav-link{border-radius:10px;color:#aab4c6}.admin-sidebar .active{background:#1c2740;color:#fff}.stat-card{padding:20px;display:flex;flex-direction:column}.stat-card>span{font-size:1.5rem}.stat-card strong{font-size:2rem}.stat-card small{color:#929db0}.module-ok{padding:12px;border-radius:12px;background:#0e1728;color:#bfe9da}.table{--bs-table-bg:transparent;--bs-table-color:#eef1f7;--bs-table-border-color:rgba(255,255,255,.07)}@media(min-width:768px){.game-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1200px){.game-grid{grid-template-columns:repeat(9,minmax(0,1fr))}.game-card{min-height:160px}}@media(max-width:575.98px){.hero-section{min-height:auto}.display-3{font-size:2.45rem}.game-card{min-height:120px;padding:14px}.panel-card{padding:14px}.chat-messages{height:280px}.table th:nth-child(3),.table td:nth-child(3),.table th:nth-child(5),.table td:nth-child(5){display:none}}

/* V2 Okey oyun masası */
.okey-page{min-height:calc(100vh - 58px);background:radial-gradient(circle at 50% 20%,#173d35 0,#071a18 55%,#050b12 100%)}
.game-topbar{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 16px}
.turn-timer{min-width:66px;text-align:center;padding:8px 12px;border-radius:12px;background:#111827;border:1px solid var(--iz-border);font-weight:800;font-variant-numeric:tabular-nums}
.okey-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:10px}
.okey-main{min-width:0}.okey-side{padding:14px;max-height:calc(100vh - 112px);overflow:auto}
.waiting-panel{padding:22px;min-height:360px}.waiting-players{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.waiting-player{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid var(--iz-border);border-radius:16px;background:#0d1725}.waiting-player.ready{border-color:#22c55e;background:rgba(34,197,94,.08)}.waiting-player>span{margin-left:auto;font-size:1.4rem}.waiting-player small{display:block;color:#8f9bad}
.player-avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#6d5dfc,#16b7b4);font-weight:900;color:#fff;flex:0 0 auto}
.okey-board{position:relative;min-height:600px;border-radius:28px;border:8px solid #4c2d17;background:radial-gradient(ellipse at center,#1e735e,#105040 65%,#0a372e);box-shadow:inset 0 0 70px rgba(0,0,0,.35),0 20px 60px rgba(0,0,0,.35);overflow:hidden}
.opponent-zone{position:absolute;z-index:4}.opponent-zone.top{top:14px;left:50%;transform:translateX(-50%)}.opponent-zone.bottom{bottom:14px;left:50%;transform:translateX(-50%)}.opponent-zone.left{left:12px;top:50%;transform:translateY(-50%)}.opponent-zone.right{right:12px;top:50%;transform:translateY(-50%)}
.player-seat{min-width:155px;display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:16px;background:rgba(4,15,20,.82);border:1px solid rgba(255,255,255,.13);backdrop-filter:blur(8px)}.player-seat.active-turn{border-color:#facc15;box-shadow:0 0 22px rgba(250,204,21,.32)}.player-seat .player-avatar{width:34px;height:34px}.player-seat-info{display:flex;flex-direction:column;min-width:0}.player-seat-info strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.player-seat-info small{color:#9fb4b2}.turn-badge{margin-left:auto;padding:3px 7px;border-radius:8px;background:#facc15;color:#111827;font-size:.7rem;font-weight:900}
.board-center{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);display:flex;align-items:center;gap:24px;z-index:3}.indicator-box{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px;border-radius:16px;background:rgba(3,16,19,.72)}
.stock-stack,.discard-slot{border:0;color:#fff;background:transparent;display:flex;flex-direction:column;align-items:center;gap:6px}.stock-stack>span{width:64px;height:86px;border-radius:10px;display:grid;place-items:center;background:repeating-linear-gradient(45deg,#253d77,#253d77 7px,#1a2b54 7px,#1a2b54 14px);border:3px solid #d8b66b;box-shadow:7px 7px 0 #16234a,12px 12px 0 #101a36;font-size:1.3rem;font-weight:900}.stock-stack:disabled,.discard-slot:disabled{opacity:.45}
.table-meld-area{position:absolute;left:20%;right:20%;top:23%;bottom:23%;display:flex;align-items:center;justify-content:center;z-index:2;pointer-events:none}.meld-board{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-height:100%;overflow:auto}.table-meld{padding:6px;border-radius:10px;background:rgba(2,13,15,.7)}.table-meld>div{display:flex}.table-meld small{display:block;color:#b8cbc7;margin-bottom:3px}
.rack-panel{margin-top:8px;padding:10px;border-radius:20px;background:linear-gradient(#4f2f1d,#2c180f);border:3px solid #795238;box-shadow:0 16px 30px rgba(0,0,0,.35)}.rack-toolbar{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:8px}.okey-rack{display:flex;align-items:flex-end;gap:3px;min-height:104px;padding:10px;overflow-x:auto;touch-action:pan-x;background:linear-gradient(#6e4329,#422516);border-radius:12px;scrollbar-width:thin}
.okey-tile{position:relative;width:46px;height:68px;flex:0 0 46px;border:0;border-radius:8px;background:linear-gradient(145deg,#fffdf1,#ddd8c8);box-shadow:0 3px 5px rgba(0,0,0,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;font-weight:900;transition:transform .12s,box-shadow .12s}.okey-tile>span{font-size:1.65rem;line-height:1}.okey-tile>small{font-size:.58rem;opacity:.65}.okey-tile.compact{width:36px;height:53px;flex-basis:36px}.okey-tile.compact>span{font-size:1.2rem}.okey-tile.selected{transform:translateY(-16px);box-shadow:0 9px 0 #facc15,0 15px 18px rgba(0,0,0,.4)}.okey-tile.empty{display:grid;place-items:center;color:#64748b;border:2px dashed rgba(255,255,255,.3);background:rgba(0,0,0,.18);box-shadow:none}.tile-red{color:#dc2626}.tile-yellow{color:#ca8a04}.tile-blue{color:#2563eb}.tile-black{color:#111827}.tile-fake{color:#7c3aed;background:linear-gradient(145deg,#fff7d6,#d8c98d)}
.opening-groups{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0;padding:8px;border-radius:12px;background:rgba(0,0,0,.25)}.opening-group{display:flex;align-items:center;gap:7px;padding:6px;border-radius:10px;background:#111827}.opening-group>div{display:flex}
.game-chat{height:330px}.game-info{display:grid;gap:6px}.game-info>div{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06)}.game-info dt{color:#8995a8;font-weight:500}.game-info dd{margin:0;font-weight:700;text-align:right}
@media(max-width:991.98px){.okey-layout{grid-template-columns:1fr}.okey-side{max-height:none}.okey-board{min-height:520px}.game-chat{height:220px}}
@media(max-width:575.98px){.game-topbar{align-items:flex-start}.okey-board{min-height:430px;border-width:5px;border-radius:20px}.player-seat{min-width:110px;padding:5px}.player-seat .player-avatar{width:28px;height:28px}.player-seat-info strong{font-size:.75rem}.player-seat-info small{font-size:.65rem}.turn-badge{display:none}.opponent-zone.top{top:6px}.opponent-zone.bottom{bottom:6px}.opponent-zone.left{left:4px}.opponent-zone.right{right:4px}.board-center{gap:8px}.stock-stack>span{width:45px;height:62px;box-shadow:4px 4px 0 #16234a,7px 7px 0 #101a36}.indicator-box{padding:5px}.okey-tile{width:39px;height:59px;flex-basis:39px}.okey-tile>span{font-size:1.35rem}.okey-tile.compact{width:30px;height:45px;flex-basis:30px}.table-meld-area{left:16%;right:16%;top:24%;bottom:24%}.rack-toolbar .btn{font-size:.72rem;padding:.35rem .5rem}.okey-rack{min-height:90px;padding:7px}.waiting-players{grid-template-columns:1fr}}
.table-meld{border:1px solid rgba(255,255,255,.12);background:rgba(7,20,35,.62);color:inherit;border-radius:.8rem;padding:.45rem;text-align:left;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.table-meld:hover{transform:translateY(-1px);border-color:rgba(72,202,228,.65)}
.table-meld.selected-meld{border-color:#48cae4;box-shadow:0 0 0 .18rem rgba(72,202,228,.2)}
.table-meld>span{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.25rem}
/* V3 board games */
.board-shell{min-height:72vh}.generic-board{min-height:420px;border-radius:1.25rem;padding:1rem;background:radial-gradient(circle at center,#1f5b43,#0b2e25 70%);overflow:auto}.players-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:.5rem}.player-chip{padding:.65rem;border:1px solid rgba(255,255,255,.12);border-radius:.8rem;background:rgba(0,0,0,.25);display:flex;flex-direction:column}.player-chip.active{border-color:#38bdf8;box-shadow:0 0 0 2px rgba(56,189,248,.18)}.card-table{display:flex;min-height:390px;flex-direction:column;justify-content:space-between;gap:1.5rem}.trick-area,.pile-stack,.hand-area{display:flex;justify-content:center;align-items:center;gap:.45rem;flex-wrap:wrap}.playing-card{width:58px;height:86px;border-radius:.65rem;border:2px solid #e5e7eb;background:#fff;color:#111827;display:flex;flex-direction:column;justify-content:space-between;padding:.35rem;font-size:1.05rem;box-shadow:0 5px 14px rgba(0,0,0,.25)}.playing-card.red{color:#dc2626}.playing-card.selected{transform:translateY(-10px);outline:3px solid #38bdf8}.backgammon-board{display:grid;grid-template-columns:repeat(12,minmax(42px,1fr));gap:.35rem;background:#7c4a25;padding:1rem;border:8px solid #4a2c16;border-radius:1rem}.backgammon-point{min-height:120px;border:0;border-radius:.5rem;background:rgba(255,255,255,.16);color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:.35rem}.backgammon-point:nth-child(odd){background:rgba(10,10,10,.3)}.backgammon-point.owner-1 span{color:#93c5fd}.backgammon-point.owner-2 span{color:#fecaca}.checkers-board,.chess-board{display:grid;grid-template-columns:repeat(8,minmax(38px,70px));justify-content:center;max-width:600px;margin:auto;border:7px solid #342218}.board-square{aspect-ratio:1/1;border:0;background:#ead4aa;color:#111827;font-size:clamp(1.35rem,5vw,3rem);display:grid;place-items:center}.board-square.dark{background:#805c3b}.board-square.selected{outline:4px solid #38bdf8;outline-offset:-4px}.game-controls{display:flex;flex-wrap:wrap;gap:.5rem}.player-seat{height:100%;padding:.8rem;border:1px solid rgba(255,255,255,.12);border-radius:.75rem;display:flex;flex-direction:column}.player-seat.ready{border-color:#22c55e}@media(max-width:767px){.generic-board{min-height:360px;padding:.5rem}.playing-card{width:45px;height:70px;font-size:.86rem}.backgammon-board{grid-template-columns:repeat(6,minmax(38px,1fr));padding:.5rem}.backgammon-point{min-height:80px}.board-shell{min-height:auto}}
.shop-card{border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:1rem;background:rgba(255,255,255,.035)}.shop-preview{display:grid;place-items:center;min-height:86px;font-size:2.6rem;border-radius:.8rem;background:radial-gradient(circle at top,#23304a,#0b1020);margin-bottom:1rem}.locale-switch .btn{min-width:40px}.health-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}
/* V4.2 presence ve yeniden bağlantı */
.presence-dot{display:inline-block;width:.55rem;height:.55rem;border-radius:50%;background:#22c55e;box-shadow:0 0 .65rem rgba(34,197,94,.75);margin-right:.35rem}
.reconnect-banner{position:sticky;top:56px;z-index:1025;background:linear-gradient(90deg,#7c2d12,#92400e);border-bottom:1px solid rgba(255,255,255,.18);padding:.55rem 0;color:#fff;box-shadow:0 .4rem 1rem rgba(0,0,0,.22)}
.reconnect-banner .btn{white-space:nowrap}
@media(max-width:575.98px){.reconnect-banner{top:55px;font-size:.875rem}.reconnect-banner .container-xl{align-items:stretch!important}.reconnect-banner .btn{width:100%}}
.waiting-player.offline,.player-seat.offline{opacity:.58;filter:saturate(.45)}
.waiting-player.offline .player-avatar{box-shadow:0 0 0 2px rgba(239,68,68,.45)}

/* V4.4 mobile game usability */
.dot.offline{background:#ef4444;box-shadow:0 0 0 3px rgba(239,68,68,.16)}
.okey-rack.two-rows{display:grid;grid-template-rows:repeat(2,auto);grid-auto-flow:column;grid-auto-columns:46px;align-content:center;justify-content:start;overflow-x:auto;overflow-y:hidden}
.okey-rack .okey-tile{touch-action:none;user-select:none;-webkit-user-select:none}
.okey-rack .okey-tile.dragging{opacity:.72;transform:translateY(-12px) scale(1.04);z-index:5;outline:3px solid #38bdf8}
.backgammon-point.selected{outline:4px solid #38bdf8;outline-offset:-4px}
.player-chip.offline{opacity:.6;border-style:dashed}
#okeyApp:fullscreen,#genericGame:fullscreen{overflow:auto;background:#071119;padding:.5rem}
#okeyApp:fullscreen .okey-side,#genericGame:fullscreen .chat-panel{max-height:none}
@media(max-width:575.98px){
  .okey-rack.two-rows{grid-auto-columns:39px;min-height:140px}
  .game-topbar .connection-status{width:100%;order:5}
  #wakeLockButton,#fullscreenButton{font-size:.7rem;padding:.32rem .5rem}
  .chess-board,.checkers-board{width:min(96vw,520px)}
  .board-square{font-size:clamp(1.25rem,8vw,2.5rem)}
  .card-table{min-height:310px}.hand-area{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;padding:.8rem 0}
}
@media(orientation:landscape) and (max-height:600px){
  .okey-page{min-height:100vh}.okey-board{min-height:330px}.okey-side{max-height:calc(100vh - 80px)}
  .rack-panel{position:sticky;bottom:0;z-index:20}.okey-rack{min-height:76px}.okey-tile{width:36px;height:54px;flex-basis:36px}.okey-tile>span{font-size:1.2rem}
  .board-shell{min-height:auto}.generic-board{min-height:270px}.chat-panel{max-height:65vh;overflow:auto}
}
.acceptance-check{display:flex;gap:.65rem;align-items:flex-start;padding:.65rem;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;background:rgba(255,255,255,.025)}.acceptance-check>span{width:1.5rem;height:1.5rem;border-radius:50%;display:grid;place-items:center;font-weight:800}.acceptance-check strong,.acceptance-check small{display:block}.acceptance-check small{color:#94a3b8}.acceptance-check.status-pass>span{background:#166534;color:#dcfce7}.acceptance-check.status-warn>span{background:#854d0e;color:#fef3c7}.acceptance-check.status-fail>span{background:#991b1b;color:#fee2e2}


/* V4.4 accessibility and multi-device control */
.game-high-contrast .panel-card,.game-high-contrast .okey-board,.game-high-contrast .generic-board{border:2px solid #fff!important;box-shadow:0 0 0 2px #000!important}
.game-high-contrast .okey-tile,.game-high-contrast .playing-card,.game-high-contrast .board-square{filter:contrast(1.35) saturate(1.2);outline:1px solid currentColor}
.game-reduced-motion *,@media (prefers-reduced-motion:reduce){.okey-tile,.playing-card,.board-square,.player-seat,.game-card{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
.okey-tile:focus-visible,.playing-card:focus-visible,.board-square:focus-visible{outline:3px solid #38bdf8!important;outline-offset:2px;z-index:3}
.control-device-notice{position:fixed;inset:auto 1rem 1rem;z-index:1080;max-width:520px;margin:auto}

/* V5.2 mobil viewport ve safe-area uyumluluğu */
body{padding-left:env(safe-area-inset-left,0);padding-right:env(safe-area-inset-right,0)}
.okey-page,.board-shell{min-height:var(--iznel-viewport-height,100dvh)}
.game-topbar{padding-top:max(12px,env(safe-area-inset-top,0));padding-left:max(16px,env(safe-area-inset-left,0));padding-right:max(16px,env(safe-area-inset-right,0))}
.rack-panel{padding-bottom:max(10px,env(safe-area-inset-bottom,0))}
@supports not (height:100dvh){body,.okey-page,.board-shell{min-height:var(--iznel-viewport-height,100vh)}}

/* V5.6 botlar ve birleşik mouse/dokunmatik sürükleme */
.bot-badge{display:inline-flex;align-items:center;gap:.15rem;margin-inline-start:.25rem;padding:.08rem .35rem;border-radius:999px;background:rgba(56,189,248,.2);border:1px solid rgba(56,189,248,.55);color:#bae6fd;font-size:.62rem;font-weight:800;vertical-align:middle}
.draggable-piece,.hand-card,.okey-rack .okey-tile{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}
.draggable-piece:active,.hand-card:active,.okey-rack .okey-tile:active{cursor:grabbing}
.drag-source{opacity:.42!important;outline:3px solid #38bdf8!important;outline-offset:2px;transform:scale(.97)}
.drag-ghost{position:fixed!important;left:0!important;top:0!important;z-index:99999!important;pointer-events:none!important;margin:0!important;opacity:.9!important;transform-origin:top left;box-shadow:0 18px 38px rgba(0,0,0,.55)!important}
.drop-target-active{outline:4px solid #22c55e!important;outline-offset:-4px;box-shadow:0 0 0 5px rgba(34,197,94,.22)!important}
.game-drop-zone{min-height:96px;border:2px dashed rgba(255,255,255,.2);border-radius:1rem;padding:.65rem;transition:outline-color .12s,background-color .12s}
.backgammon-off{margin-top:.75rem;min-height:54px;display:grid;place-items:center;border:2px dashed rgba(255,255,255,.28);border-radius:.75rem;color:#cbd5e1;background:rgba(0,0,0,.16)}
.table-meld{touch-action:none}
@media (pointer:coarse){.playing-card,.okey-tile,.board-square,.backgammon-point{min-touch-target-size:44px}.game-drop-zone{min-height:110px}}

/* V5.6 draw source gestures */
.draggable-draw-source{touch-action:none;user-select:none;-webkit-user-select:none}
.okey-rack[data-tile-drop="rack"]{transition:outline-color .15s ease,box-shadow .15s ease}
.okey-rack[data-tile-drop="rack"].drop-target-active{outline:3px solid currentColor;outline-offset:3px;box-shadow:0 0 0 .25rem rgba(255,255,255,.12)}
.draw-source-ghost{opacity:.82;pointer-events:none;z-index:9999}

.bot-activity{min-height:1.4rem}.training-badge{background:#5b21b6;color:#fff}.drop-target-active:focus-visible,.draggable-piece:focus-visible,[data-tile-id]:focus-visible{outline:3px solid currentColor;outline-offset:3px}

/* V6.5 R4 profesyonel yönetim merkezi */
.admin-body{--admin-sidebar:282px;background:radial-gradient(circle at 82% 0,rgba(51,65,170,.18),transparent 34%),#070b14;color:#eef2ff;min-height:100vh}
.admin-topbar{position:fixed;inset:0 0 auto 0;z-index:1040;height:72px;display:flex;align-items:center;gap:16px;padding:0 22px;background:rgba(7,11,20,.92);border-bottom:1px solid rgba(148,163,184,.14);backdrop-filter:blur(18px)}
.admin-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}.admin-brand>span{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(135deg,#7c3aed,#2563eb);font-size:1.35rem;font-weight:900;box-shadow:0 10px 30px rgba(79,70,229,.35)}.admin-brand div{display:flex;flex-direction:column;line-height:1.15}.admin-brand small{color:#8e9bb1;font-size:.72rem;margin-top:4px}.admin-top-actions{margin-left:auto;display:flex;align-items:center;gap:8px}.admin-top-actions form{margin:0}.admin-menu-button{font-size:1.35rem;color:#fff;border:1px solid rgba(255,255,255,.15)}
.admin-shell{min-height:100vh;padding-top:72px}.admin-sidebar{position:fixed!important;top:72px;bottom:0;left:0;width:var(--admin-sidebar)!important;background:#090f1c;border-right:1px solid rgba(148,163,184,.14);z-index:1035;overflow:hidden}.admin-sidebar .offcanvas-body{display:flex;flex-direction:column;padding:20px 16px;overflow-y:auto}.admin-profile{display:flex;align-items:center;gap:12px;padding:13px;border:1px solid rgba(148,163,184,.12);border-radius:16px;background:rgba(30,41,59,.55);margin-bottom:18px}.admin-avatar{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,#0ea5e9,#6d28d9);font-weight:900}.admin-profile>div:last-child{min-width:0;display:flex;flex-direction:column}.admin-profile strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-profile small{color:#94a3b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:.72rem}
.admin-nav{display:flex;flex-direction:column;gap:5px}.admin-nav>a{display:flex;align-items:center;gap:11px;padding:10px 12px;border:1px solid transparent;border-radius:13px;color:#aeb9ca;text-decoration:none;transition:.16s}.admin-nav>a>span{width:28px;text-align:center;font-size:1.1rem}.admin-nav>a>div{display:flex;flex-direction:column;min-width:0}.admin-nav>a strong{font-size:.88rem;color:inherit}.admin-nav>a small{font-size:.68rem;color:#65738a}.admin-nav>a:hover{background:rgba(51,65,85,.42);color:#fff}.admin-nav>a.active{background:linear-gradient(100deg,rgba(99,102,241,.25),rgba(14,165,233,.12));border-color:rgba(99,102,241,.38);color:#fff}.admin-nav>a.active small{color:#a5b4fc}.admin-sidebar-foot{margin-top:auto;padding:18px 12px 4px;color:#7f8ca3;font-size:.75rem}.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 10px #22c55e;margin-right:7px}
.admin-main{margin-left:var(--admin-sidebar);min-height:calc(100vh - 72px)}.admin-content{width:min(1560px,100%);margin:auto;padding:28px}.admin-alert{border-radius:14px}.admin-page-head{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px}.admin-page-head h1{font-size:clamp(1.55rem,2.4vw,2.25rem);margin:.18rem 0 .35rem}.admin-page-head p{margin:0;color:#8f9bb0}.admin-eyebrow{font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;color:#7dd3fc;font-weight:800}.admin-body .panel-card{background:linear-gradient(145deg,rgba(17,25,42,.96),rgba(10,16,29,.96));border-color:rgba(148,163,184,.13);border-radius:18px;box-shadow:0 15px 38px rgba(0,0,0,.15)}
.admin-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.admin-stat-grid .stat-card{position:relative;min-width:0;border-radius:18px;background:linear-gradient(145deg,#121b2d,#0c1321);border:1px solid rgba(148,163,184,.13);overflow:hidden}.admin-stat-grid .stat-card:after{content:"";position:absolute;width:90px;height:90px;right:-42px;top:-42px;border-radius:50%;background:rgba(99,102,241,.13)}.admin-stat-grid .stat-card>span{font-size:1.25rem}.admin-stat-grid .stat-card strong{font-size:1.65rem;margin-top:8px}.admin-stat-grid .stat-card small{font-weight:700;color:#c6d0df}.admin-stat-grid .stat-card em{font-style:normal;font-size:.7rem;color:#68778e;margin-top:3px}.admin-license-pill{display:flex;align-items:center;gap:9px;padding:9px 14px;border-radius:14px;background:#0e1728;border:1px solid rgba(148,163,184,.14)}.admin-license-pill>span{width:9px;height:9px;border-radius:50%}.admin-license-pill.ok>span{background:#22c55e;box-shadow:0 0 10px #22c55e}.admin-license-pill.warn>span{background:#f59e0b}.admin-license-pill div{display:flex;flex-direction:column;line-height:1.1}.admin-license-pill small{color:#7f8ba0;font-size:.65rem}.admin-license-pill strong{text-transform:uppercase;font-size:.75rem;margin-top:3px}
.admin-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.admin-quick-grid>a{display:flex;align-items:center;gap:12px;padding:14px;border:1px solid rgba(148,163,184,.12);border-radius:15px;background:rgba(15,23,42,.62);color:#e9eef8;text-decoration:none;transition:.17s}.admin-quick-grid>a:hover{transform:translateY(-2px);border-color:rgba(96,165,250,.45);background:rgba(30,41,59,.75)}.admin-quick-grid>a>span{font-size:1.35rem}.admin-quick-grid>a>div{display:flex;flex-direction:column;min-width:0}.admin-quick-grid small{color:#7e8ba0;font-size:.72rem}.admin-quick-grid b{margin-left:auto;color:#60a5fa}.admin-timeline>div{position:relative;padding:0 0 17px 22px;border-left:1px solid rgba(148,163,184,.18);display:flex;flex-direction:column}.admin-timeline>div>span{position:absolute;left:-5px;top:3px;width:9px;height:9px;border-radius:50%;background:#6366f1}.admin-timeline strong{font-size:.84rem}.admin-timeline small{color:#6f7d92;font-size:.7rem;margin-top:2px}
.admin-game-icon{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:linear-gradient(135deg,rgba(14,165,233,.25),rgba(124,58,237,.25));font-size:1.5rem}.admin-inline-form{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(4,minmax(70px,.55fr)) minmax(95px,.8fr) auto;gap:7px;align-items:center;min-width:760px}.admin-sticky-card{position:sticky;top:92px}.admin-table{font-size:.85rem}.admin-table td,.admin-table th{padding:.8rem .65rem}.admin-wallet-form{min-width:180px}.admin-scroll-list{max-height:540px;overflow:auto;padding-right:3px}.admin-list-item{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid rgba(148,163,184,.11)}.admin-list-item form{min-width:185px}.admin-setting-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px;border:1px solid rgba(148,163,184,.12);border-radius:14px;background:rgba(15,23,42,.55)}.admin-setting-row>div:first-child{display:flex;flex-direction:column}.admin-setting-row small{color:#7c899e;font-size:.72rem}.admin-setting-row .form-check-input{width:2.75em;height:1.4em}.admin-payload{max-width:420px;word-break:break-word}
@media(max-width:1199.98px){.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-inline-form{grid-template-columns:repeat(3,minmax(120px,1fr))}.admin-inline-form button{width:max-content}}
@media(max-width:991.98px){.admin-topbar{height:64px;padding:0 12px}.admin-shell{padding-top:64px}.admin-sidebar{top:0;bottom:0;width:min(320px,88vw)!important}.admin-main{margin-left:0}.admin-content{padding:20px 14px}.admin-brand small{display:none}.admin-profile{margin-top:8px}.admin-sticky-card{position:static}.admin-page-head{align-items:flex-start}.admin-top-actions .btn-outline-light{display:none}}
@media(max-width:767.98px){.admin-page-head{flex-direction:column}.admin-page-head form{width:100%}.admin-page-head form .form-control{min-width:0}.admin-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-quick-grid{grid-template-columns:1fr}.admin-inline-form{grid-template-columns:repeat(2,minmax(120px,1fr))}.admin-list-item{align-items:flex-start;flex-direction:column}.admin-list-item form{width:100%}.admin-table th:nth-child(n),.admin-table td:nth-child(n){display:table-cell!important}.admin-table{min-width:760px}.admin-brand strong{font-size:.88rem}}
@media(max-width:420px){.admin-stat-grid{grid-template-columns:1fr 1fr}.admin-stat-grid .stat-card{padding:15px}.admin-top-actions .btn-danger{padding:.25rem .5rem}.admin-brand>span{width:36px;height:36px}.admin-content{padding:16px 10px}}

/* V6 training coach */
.training-coach{border-left:4px solid var(--bs-info);background:rgba(13,202,240,.12)}
.training-coach .progress{height:.45rem;background:rgba(255,255,255,.12)}
.training-coach .coach-steps{display:flex;flex-wrap:wrap;gap:.35rem}
.training-coach .badge{white-space:normal;text-align:left}
