:root{--color-primary: #B22963;--color-primary-hover: #861E4A;--color-primary-soft: #FBE9F0;--color-wine: #54132F;--color-secondary: #7C3AED;--color-secondary-vibrant: #7C3AED;--color-secondary-soft: #F1E9FE;--color-accent: #C9A86A;--color-accent-light: #DCC190;--color-accent-soft: #F8F1E3;--gradient-brand: linear-gradient(135deg, var(--color-primary) 0%, var(--color-secondary) 100%);--glow-magenta: radial-gradient(circle at 88% -15%, rgba(178, 41, 99, .28), transparent 55%);--color-success: #168A55;--color-success-soft: #E4F5EC;--color-danger: #B3261E;--color-danger-soft: #FAE8E7;--color-warning: #D48A13;--color-warning-soft: #FCF0DC;--color-info: #2C4A85;--color-info-soft: #E8EDF7;--color-sidebar: #15131A;--color-sidebar-elevated: #211C29;--color-sidebar-text: #F5F1EE;--color-sidebar-text-muted: #9C96A6;--color-sidebar-border: #2E2836;--color-background: #F7F7FA;--color-surface: #FFFFFF;--color-surface-hover: #FAFAFC;--color-border: #E7E3EA;--color-border-strong: #D8D2DC;--color-text: #211D25;--color-text-muted: #716A78;--radius-sm: 10px;--radius-md: 14px;--radius-lg: 16px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(20, 16, 28, .06);--shadow-md: 0 6px 18px rgba(20, 16, 28, .08);--shadow-lg: 0 16px 36px rgba(20, 16, 28, .14);--shadow-glow: 0 8px 22px rgba(178, 41, 99, .2);--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--container-max: 1240px;--sidebar-width: 268px;--bottom-nav-height: 64px;--transition-fast: .15s ease;--transition-base: .2s ease;color-scheme:light}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html,body,#root{height:100%;max-width:100%;overflow-x:hidden}body{margin:0;font-family:var(--font-sans);background:var(--color-background);color:var(--color-text);-webkit-font-smoothing:antialiased;overflow-x:hidden}h1,h2,h3,h4,p{margin:0}button{font-family:inherit}a{color:inherit}img,svg{display:block;max-width:100%}h1{font-size:1.65rem;font-weight:800;letter-spacing:-.015em}h2{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}h3{font-size:1.05rem;font-weight:700;letter-spacing:-.005em}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:4px}.mutedText{color:var(--color-text-muted);font-size:.88rem}.stack{display:grid;gap:var(--space-md);min-width:0}.stack>*,.cardGrid>*{min-width:0}h1,h2,h3,p,span{overflow-wrap:break-word}.hidden{display:none!important}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.pageContainer{max-width:var(--container-max);margin:0 auto;width:100%}.hubShell{display:flex;min-height:100vh}.hubSidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--glow-magenta),var(--color-sidebar);color:var(--color-sidebar-text);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;padding:var(--space-lg) var(--space-md);border-right:1px solid var(--color-sidebar-border)}.hubBrand{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-xs) var(--space-sm) var(--space-lg);position:relative}.hubBrandMark{width:42px;height:46px;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(178,41,99,.4))}.hubBrandText h2{color:#fff;font-size:1.25rem;margin:0;letter-spacing:-.01em}.hubBrandText small{color:var(--color-accent-light);font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;font-weight:600}.hubUserCard{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-sidebar-elevated);border:1px solid var(--color-sidebar-border);border-radius:var(--radius-md);padding:.6rem var(--space-sm);margin-bottom:var(--space-md)}.hubUserCard .userInfo{min-width:0}.hubUserCard .userName{color:#fff;font-weight:600;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hubUserCard .userBalance{color:var(--color-accent);font-size:.76rem;font-weight:700;font-variant-numeric:tabular-nums}.hubNav{display:flex;flex-direction:column;gap:var(--space-2xs);flex:1;overflow-y:auto}.hubNavLink{display:flex;align-items:center;gap:var(--space-sm);padding:.65rem var(--space-sm);border-radius:var(--radius-sm);color:var(--color-sidebar-text-muted);text-decoration:none;font-size:.92rem;font-weight:600;border:none;background:transparent;cursor:pointer;width:100%;text-align:left;transition:background var(--transition-fast),color var(--transition-fast);position:relative}.hubNavLink svg{width:19px;height:19px;flex-shrink:0}.hubNavLink:hover{background:#ffffff0d;color:#fff}.hubNavLink.active{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-glow);border-left:3px solid var(--color-secondary-vibrant);padding-left:calc(var(--space-sm) - 3px)}.hubNavBadge{margin-left:auto;background:var(--color-primary);color:#fff;font-size:.7rem;font-weight:800;border-radius:var(--radius-pill);min-width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center;padding:0 5px}.hubNavLink.active .hubNavBadge{background:#ffffff47}.hubLogout{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid var(--color-sidebar-border)}.hubContent{flex:1;min-width:0;padding:var(--space-xl) var(--space-xl) calc(var(--space-2xl) + var(--bottom-nav-height))}.hubTopbar{display:none;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--color-sidebar);border-bottom:1px solid var(--color-sidebar-border);color:#fff;position:sticky;top:0;z-index:30}.hubTopbar .hubBrandMark{width:26px;height:28px}.hubTopbarActions{display:flex;align-items:center;gap:var(--space-xs)}.iconButton{background:var(--color-sidebar-elevated);border:1px solid var(--color-sidebar-border);color:#fff;width:42px;height:42px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;position:relative;transition:background var(--transition-fast)}.iconButton:hover{background:#2c2434}.iconButton .hubNavBadge{position:absolute;top:-4px;right:-4px;margin:0}.hubBottomNav{display:none;position:fixed;bottom:0;left:0;right:0;height:var(--bottom-nav-height);background:var(--color-sidebar);border-top:1px solid var(--color-sidebar-border);z-index:30;padding-bottom:env(safe-area-inset-bottom,0)}.hubBottomNavInner{display:flex;height:100%}.hubBottomNavLink{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--color-sidebar-text-muted);text-decoration:none;font-size:.66rem;font-weight:600;border:none;background:transparent}.hubBottomNavLink svg{width:21px;height:21px}.hubBottomNavLink.active{color:var(--color-primary)}.drawerOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0e8c;z-index:40;animation:fadeIn var(--transition-base)}.hubDrawer{position:fixed;top:0;right:0;bottom:0;width:min(320px,84vw);background:var(--glow-magenta),var(--color-sidebar);border-left:1px solid var(--color-sidebar-border);color:var(--color-sidebar-text);z-index:50;padding:var(--space-lg) var(--space-md);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--transition-base)}.hubDrawer.open{transform:translate(0)}.hubDrawerHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-md)}.hubDrawerHeader span{font-weight:700;color:#fff}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:.88rem;font-weight:600;padding:.55rem 1rem;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast),border-color var(--transition-fast);min-height:40px}.btn:hover{background:var(--color-surface-hover);border-color:var(--color-text-muted)}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn svg{width:16px;height:16px}.btn.primary{background:var(--gradient-brand);border-color:transparent;color:#fff;box-shadow:var(--shadow-sm)}.btn.primary:hover{box-shadow:var(--shadow-glow);transform:translateY(-1px)}.btn.primary:active{transform:scale(.98) translateY(0)}.btn.ghost{background:transparent;border-color:transparent}.btn.ghost:hover{background:var(--color-surface-hover)}.btn.danger{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn.danger:hover{background:#921c16}.btn.sm{min-height:32px;padding:.35rem .7rem;font-size:.8rem}.btn.block{width:100%}.hubNavLink.logoutBtn{color:var(--color-danger)}.hubNavLink.logoutBtn:hover{background:#dc262624;color:#fca5a5}.fieldGroup{display:grid;gap:.35rem}.fieldGroup label{font-size:.85rem;font-weight:700;color:var(--color-text)}.fieldGroup .fieldHint{font-size:.78rem;color:var(--color-text-muted)}.fieldGroup .fieldError{font-size:.78rem;color:var(--color-danger);font-weight:600}.input,.select{width:100%;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:.6rem .75rem;font-size:.92rem;background:var(--color-surface);color:var(--color-text);transition:border-color var(--transition-fast),box-shadow var(--transition-fast);min-height:42px}.input:focus,.select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft);outline:none}.input:disabled{background:var(--color-background);color:var(--color-text-muted)}.input.hasError{border-color:var(--color-danger)}.passwordField{position:relative}.passwordField .input{padding-right:2.6rem}.passwordToggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:var(--color-text-muted);padding:.3rem;display:flex;border-radius:var(--radius-sm)}.passwordToggle:hover{color:var(--color-text);background:var(--color-background)}.passwordStrength{display:flex;gap:4px;margin-top:.25rem}.passwordStrength span{height:4px;flex:1;border-radius:2px;background:var(--color-border);transition:background var(--transition-base)}.passwordStrength.weak span:nth-child(1){background:var(--color-danger)}.passwordStrength.fair span:nth-child(1),.passwordStrength.fair span:nth-child(2){background:var(--color-warning)}.passwordStrength.good span:nth-child(1),.passwordStrength.good span:nth-child(2),.passwordStrength.good span:nth-child(3){background:var(--color-success)}.passwordStrength.strong span{background:var(--color-success)}.searchInput{position:relative}.searchInput svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--color-text-muted);width:17px;height:17px;pointer-events:none}.searchInput .input{padding-left:2.4rem}.badge{display:inline-flex;align-items:center;gap:.3rem;padding:.22rem .62rem;border-radius:var(--radius-pill);font-size:.74rem;font-weight:700;border:1px solid transparent;white-space:nowrap}.badge svg{width:13px;height:13px}.badge.success{background:var(--color-success-soft);color:#0f6a38;border-color:#bfe0cb}.badge.warning{background:var(--color-warning-soft);color:#8a5c0a;border-color:#efd7a0}.badge.danger{background:var(--color-danger-soft);color:#93211b;border-color:#efc5c1}.badge.info{background:var(--color-info-soft);color:#29498a;border-color:#c7d2e8}.badge.accent{background:var(--color-accent-soft);color:#6b5220;border-color:var(--color-accent-light)}.badge.neutral,.badge.muted{background:#f1ede9;color:#574f5a;border-color:#ded5cd}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.cardGrid{display:grid;gap:var(--space-md)}.cardGrid.cols-2{grid-template-columns:repeat(2,1fr)}.cardGrid.cols-3{grid-template-columns:repeat(3,1fr)}.cardGrid.cols-4{grid-template-columns:repeat(4,1fr)}.pageHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-lg)}.pageHeader h1{margin-bottom:.25rem}.pageHeaderMeta{display:flex;align-items:center;gap:var(--space-sm);flex-wrap:wrap}.avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--gradient-brand);color:#fff;font-weight:800;flex-shrink:0;letter-spacing:-.02em;box-shadow:0 0 0 2px #ffffff80,var(--shadow-sm)}.avatar.sm{width:32px;height:32px;font-size:.75rem}.avatar.md{width:42px;height:42px;font-size:.95rem}.avatar.lg{width:64px;height:64px;font-size:1.4rem;box-shadow:0 0 0 3px #ffffff24,var(--shadow-glow)}.greetingHero{display:flex;align-items:center;gap:var(--space-md);background:var(--glow-magenta),linear-gradient(120deg,#1b1720,#241522 55%,#1c1428);color:#fff;border-radius:var(--radius-lg);padding:var(--space-xl) var(--space-lg);position:relative;overflow:hidden;border:1px solid var(--color-sidebar-border)}.greetingHero .heroWatermark{position:absolute;right:-6%;top:50%;transform:translateY(-50%);width:190px;height:210px;opacity:.07;z-index:0;pointer-events:none}.greetingHero h1{color:#fff}.greetingHero p{color:var(--color-sidebar-text-muted);margin-top:.2rem}.greetingHero .avatar.lg{position:relative;z-index:1;flex-shrink:0}.greetingHero>div{min-width:0;position:relative;z-index:1}.summaryCard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:.35rem;box-shadow:var(--shadow-sm);transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast);position:relative;overflow:hidden}.summaryCard:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--card-accent, var(--color-primary))}.summaryCard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.summaryCard .summaryIcon{width:42px;height:42px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;margin-bottom:.2rem}.summaryCard .summaryIcon svg{width:22px;height:22px}.summaryCard.tone-primary{--card-accent: var(--color-primary)}.summaryCard.tone-primary .summaryIcon{background:var(--color-primary-soft);color:var(--color-primary)}.summaryCard.tone-secondary{--card-accent: var(--color-secondary)}.summaryCard.tone-secondary .summaryIcon{background:var(--color-secondary-soft);color:var(--color-secondary)}.summaryCard.tone-accent{--card-accent: var(--color-accent)}.summaryCard.tone-accent .summaryIcon{background:var(--color-accent-soft);color:var(--color-accent)}.summaryCard.tone-success{--card-accent: var(--color-success)}.summaryCard.tone-success .summaryIcon{background:var(--color-success-soft);color:var(--color-success)}.summaryCard .summaryLabel{font-size:.76rem;color:var(--color-text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.summaryCard .summaryValue{font-size:1.55rem;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--color-text)}.summaryCard .summaryFooter{font-size:.78rem;color:var(--color-text-muted);margin-top:.15rem}.summaryCard .summaryLink{font-size:.8rem;font-weight:700;color:var(--color-primary);text-decoration:none;margin-top:auto;padding-top:.4rem}.progressBar{height:8px;border-radius:var(--radius-pill);background:var(--color-border);overflow:hidden}.progressBar .progressBarFill{height:100%;border-radius:var(--radius-pill);background:var(--color-primary);transition:width var(--transition-base)}.progressBar.full .progressBarFill{background:var(--color-danger)}.tournamentCard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.tournamentCard:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.tournamentCardBanner{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-md);color:#fff;background:linear-gradient(120deg,var(--color-primary) 0%,var(--color-wine) 100%)}.tournamentCardBanner .gameTag{font-weight:700;font-size:.88rem;letter-spacing:.01em}.tournamentCardBanner .gameIconChip{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#ffffff29}.tournamentCardBanner .gameIconChip svg{width:15px;height:15px}.tournamentCardBody{padding:var(--space-md) var(--space-lg) var(--space-lg);display:flex;flex-direction:column;gap:.6rem;flex:1}.tournamentCardTitle{font-size:1.05rem;font-weight:700;line-height:1.25}.tournamentCardMeta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.83rem;color:var(--color-text-muted)}.tournamentCardMeta .metaItem{display:flex;align-items:center;gap:.3rem}.tournamentCardMeta svg{width:15px;height:15px}.tournamentCardFooter{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);margin-top:auto;padding-top:.4rem}.tournamentCardPrice{font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums}.tournamentCardBadges{display:flex;gap:.35rem;flex-wrap:wrap}.tournamentCardSlots{display:flex;flex-direction:column;gap:.3rem}.tournamentCardSlots .slotsLabel{display:flex;justify-content:space-between;font-size:.78rem;color:var(--color-text-muted)}.registrationCard{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md) var(--space-lg);display:flex;flex-direction:column;gap:.6rem;box-shadow:var(--shadow-sm)}.registrationCard.featured{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);background:linear-gradient(90deg,var(--color-primary-soft) 0%,var(--color-surface) 22%);box-shadow:var(--shadow-md);padding:var(--space-lg)}.registrationHeader{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-sm)}.registrationHeader>div:first-child{min-width:0}.registrationMeta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;font-size:.86rem}.registrationMeta .metaItem{display:flex;align-items:center;gap:.35rem}.registrationMeta svg{width:15px;height:15px}.registrationFooter{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;margin-top:.2rem}.countdownChip{display:inline-flex;align-items:center;gap:.3rem;background:var(--color-primary-soft);border:1px solid var(--color-primary);padding:.25rem .65rem;border-radius:var(--radius-pill);font-size:.78rem;font-weight:700;color:var(--color-primary)}.tabBar{display:flex;gap:.3rem;border-bottom:1px solid var(--color-border);margin-bottom:var(--space-md);overflow-x:auto}.tabBarBtn{background:none;border:none;padding:.6rem .9rem;font-size:.88rem;font-weight:700;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap;transition:color var(--transition-fast),border-color var(--transition-fast)}.tabBarBtn:hover{color:var(--color-text)}.tabBarBtn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.filterBar{display:flex;gap:var(--space-sm);flex-wrap:wrap;align-items:center;margin-bottom:var(--space-md)}.filterChip{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:var(--radius-pill);padding:.4rem .85rem;font-size:.82rem;font-weight:600;cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filterChip:hover{border-color:var(--color-primary)}.filterChip.active{background:var(--gradient-brand);border-color:transparent;color:#fff;box-shadow:var(--shadow-sm)}.filterChipScroll{display:flex;gap:.5rem;overflow-x:auto;padding-bottom:2px;flex:1}.walletHero{background:var(--color-surface);border:1px solid var(--color-border);border-top:3px solid var(--color-accent);color:var(--color-text);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.walletHero .walletLabel{color:var(--color-accent);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:.4rem}.walletHero .walletValue{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;margin-top:.35rem;font-variant-numeric:tabular-nums;color:var(--color-text)}.walletHero .walletHint{color:var(--color-text-muted);font-size:.85rem;margin-top:.6rem;max-width:52ch}.walletTxTable{width:100%;border-collapse:collapse}.walletTxTable th{text-align:left;font-size:.76rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:.5rem .75rem;border-bottom:1px solid var(--color-border)}.walletTxTable td{padding:.7rem .75rem;border-bottom:1px solid var(--color-border);font-size:.9rem}.walletTxTable tr:last-child td{border-bottom:none}.walletTxAmount.credit{color:var(--color-success);font-weight:700}.walletTxAmount.debit{color:var(--color-danger);font-weight:700}.walletTxCard{display:flex;justify-content:space-between;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md)}.walletTxCard .txInfo{min-width:0}.walletTxCard .txReason{font-weight:600;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.walletTxCard .txDate{font-size:.78rem;color:var(--color-text-muted)}.notificationGroupLabel{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin:var(--space-md) 0 var(--space-sm)}.notificationGroupLabel:first-child{margin-top:0}.notificationItem{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid transparent;border-radius:var(--radius-md);transition:background var(--transition-fast)}.notificationItem.unread{border-left-color:var(--color-primary);background:var(--color-primary-soft);box-shadow:var(--shadow-sm)}.notificationItem .notifIcon{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--color-background);color:var(--color-text-muted)}.notificationItem.unread .notifIcon{background:var(--gradient-brand);color:#fff}.notificationItem .notifIcon svg{width:17px;height:17px}.notificationItem .notifBody{flex:1;min-width:0}.notificationItem .notifTop{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.notificationItem .notifTitle{font-weight:700;font-size:.92rem}.notificationItem .notifTime{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}.notificationItem .notifMessage{font-size:.86rem;color:var(--color-text-muted);margin-top:.15rem}.notificationItem .notifActions{margin-top:.4rem}.emptyState{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-2xl) var(--space-md);color:var(--color-text-muted);gap:.5rem}.emptyState svg{width:40px;height:40px;color:var(--color-border-strong);margin-bottom:.25rem}.emptyState strong{color:var(--color-text);font-size:.98rem}.errorState{display:flex;align-items:center;gap:var(--space-sm);background:var(--color-danger-soft);color:#8f231d;border:1px solid #EFC5C1;border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:.88rem;font-weight:600}.errorState svg{width:18px;height:18px;flex-shrink:0}.skeleton{position:relative;overflow:hidden;background:var(--color-border);border-radius:var(--radius-md)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);animation:shimmer 1.4s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skeletonCard{height:160px;border-radius:var(--radius-lg)}.skeletonLine{height:12px;margin-bottom:8px}.toastViewport{position:fixed;bottom:calc(var(--space-md) + var(--bottom-nav-height));right:var(--space-md);display:flex;flex-direction:column;gap:.5rem;z-index:80;max-width:min(360px,calc(100vw - 2rem))}.toastCard{background:var(--color-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-text);border-radius:var(--radius-md);padding:.7rem .9rem;box-shadow:var(--shadow-lg);font-size:.86rem;font-weight:600;animation:toastIn var(--transition-base)}.toastCard.success{border-left-color:var(--color-success)}.toastCard.error{border-left-color:var(--color-danger)}.toastCard.info{border-left-color:var(--color-info)}@keyframes toastIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.confirmOverlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0e8c;display:flex;align-items:center;justify-content:center;z-index:90;padding:var(--space-md)}.confirmCard{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-lg);max-width:420px;width:100%;box-shadow:var(--shadow-lg);animation:toastIn var(--transition-base)}.confirmCard h3{margin-bottom:.4rem}.confirmCard .actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:var(--space-lg)}.dashboardEmpty{padding:var(--space-lg);text-align:center;color:var(--color-text-muted)}.dashboardEmpty.error{color:var(--color-danger)}.loginShell{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--glow-magenta),var(--color-sidebar);padding:var(--space-md)}.loginCard{background:var(--color-surface);border-radius:var(--radius-lg);padding:var(--space-2xl) var(--space-xl);max-width:400px;width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--color-border);display:grid;gap:var(--space-md);text-align:center;position:relative}.loginCard:before{content:"";position:absolute;top:0;left:12%;right:12%;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent),transparent)}.loginCard .loginMark{width:48px;height:52px;margin:0 auto var(--space-xs);filter:drop-shadow(0 4px 10px rgba(200,30,92,.35))}.loginCard h1{font-size:1.6rem}.showOnMobile{display:none}@media (max-width: 1024px){.cardGrid.cols-4,.cardGrid.cols-3{grid-template-columns:repeat(2,1fr)}}@media (max-width: 900px){.hubShell{flex-direction:column}.hubSidebar{display:none}.hubTopbar{display:flex;width:100%;min-width:0}.hubBottomNav{display:block}.hubContent{padding:var(--space-md) var(--space-md) calc(var(--space-xl) + var(--bottom-nav-height))}.toastViewport{left:var(--space-md);right:var(--space-md);max-width:none}.btn.sm{min-height:38px}.filterChip{min-height:36px}.tabBarBtn{min-height:40px}}@media (max-width: 640px){.cardGrid.cols-2,.cardGrid.cols-3,.cardGrid.cols-4{grid-template-columns:1fr}.pageHeader,.pageHeaderMeta{flex-direction:column;align-items:stretch}.pageHeaderMeta>*{width:100%}h1{font-size:1.35rem}.hideOnMobile{display:none}.showOnMobile{display:grid}.greetingHero,.walletHero,.loginCard,.registrationCard.featured{padding:var(--space-lg) var(--space-md)}.greetingHero{flex-wrap:wrap}.greetingHero .avatar.lg{width:56px;height:56px;font-size:1.2rem}.walletHero .walletValue{font-size:1.9rem}.registrationCard.featured .registrationFooter{flex-direction:column;align-items:stretch}.registrationCard.featured .registrationFooter .btn{width:100%}}@media (max-width: 380px){.hubBrandText h2{font-size:1rem}.greetingHero h1{font-size:1.2rem}.summaryCard .summaryValue{font-size:1.3rem}}
