.wallet-page { min-height: 100vh; background-color: #2E2C2F; } .wallet-header { display: flex; align-items: center; justify-content: space-between; padding: 16px 32px; border-bottom: 1px solid rgba(186, 205, 176, 0.1); } .wallet-header-left { display: flex; align-items: center; gap: 20px; } .wallet-home-link { font-size: 0.85rem; color: rgba(186, 205, 176, 0.6); text-decoration: none; transition: color 0.2s; } .wallet-home-link:hover { color: #BACDB0; } .wallet-title { font-size: 1.2rem; font-weight: 700; color: #BACDB0; margin: 0; } .wallet-header-right { display: flex; align-items: center; gap: 16px; } .wallet-username { font-size: 0.9rem; color: rgba(255, 255, 255, 0.6); } .btn-wallet-logout { padding: 8px 16px; background: transparent; color: rgba(186, 205, 176, 0.7); border: 1px solid rgba(186, 205, 176, 0.25); border-radius: 6px; font-size: 0.8rem; cursor: pointer; transition: background 0.2s; } .btn-wallet-logout:hover { background: rgba(186, 205, 176, 0.08); } .wallet-tabs { display: flex; gap: 4px; padding: 16px 32px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.06); } .wallet-tab { padding: 10px 24px; background: transparent; color: rgba(255, 255, 255, 0.45); border: none; border-bottom: 2px solid transparent; font-size: 0.9rem; font-weight: 500; cursor: pointer; transition: color 0.2s, border-color 0.2s; margin-bottom: -1px; } .wallet-tab:hover { color: rgba(255, 255, 255, 0.75); } .wallet-tab.active { color: #BACDB0; border-bottom-color: #BACDB0; } .wallet-main { max-width: 900px; margin: 0 auto; padding: 32px 24px 80px; } /* === Tab content shared styles === */ .wallet-card { background: rgba(255, 255, 255, 0.03); border: 1px solid rgba(186, 205, 176, 0.12); border-radius: 8px; padding: 24px; margin-bottom: 20px; } .wallet-card-title { font-size: 0.75rem; text-transform: uppercase; color: rgba(255, 255, 255, 0.4); letter-spacing: 0.08em; margin: 0 0 12px; } .wallet-balance { font-size: 2rem; font-weight: 700; color: #BACDB0; margin: 0; } .wallet-mono { font-family: monospace; font-size: 0.85rem; color: rgba(255, 255, 255, 0.7); word-break: break-all; } .wallet-label { font-size: 0.8rem; color: rgba(255, 255, 255, 0.4); margin-bottom: 4px; } .wallet-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; } .btn-copy { padding: 4px 12px; background: transparent; color: rgba(186, 205, 176, 0.6); border: 1px solid rgba(186, 205, 176, 0.2); border-radius: 4px; font-size: 0.75rem; cursor: pointer; transition: background 0.2s; white-space: nowrap; } .btn-copy:hover { background: rgba(186, 205, 176, 0.08); } .btn-primary { padding: 8px 20px; background: #BACDB0; color: #2E2C2F; border: none; border-radius: 6px; font-size: 0.85rem; font-weight: 600; cursor: pointer; transition: opacity 0.2s; } .btn-primary:hover { opacity: 0.9; } .btn-primary:disabled { opacity: 0.4; cursor: not-allowed; } .btn-danger-outline { padding: 8px 20px; background: transparent; color: #e57373; border: 1px solid rgba(229, 115, 115, 0.4); border-radius: 6px; font-size: 0.85rem; font-weight: 500; cursor: pointer; transition: background 0.2s; } .btn-danger-outline:hover { background: rgba(229, 115, 115, 0.08); } .wallet-input { padding: 8px 12px; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(186, 205, 176, 0.2); border-radius: 6px; color: #fff; font-size: 0.85rem; outline: none; transition: border-color 0.2s; } .wallet-input:focus { border-color: rgba(186, 205, 176, 0.5); } .wallet-input::placeholder { color: rgba(255, 255, 255, 0.25); } .wallet-spinner { display: flex; align-items: center; justify-content: center; padding: 60px 0; color: rgba(255, 255, 255, 0.4); font-size: 0.9rem; } .wallet-empty { text-align: center; padding: 40px 0; color: rgba(255, 255, 255, 0.3); font-size: 0.9rem; } .wallet-error-text { color: #e57373; font-size: 0.85rem; margin-top: 8px; } .wallet-warning { color: #ffb74d; font-size: 0.8rem; margin-top: 8px; } .wallet-tag { display: inline-block; padding: 2px 8px; border-radius: 4px; font-size: 0.75rem; font-weight: 500; } .wallet-tag-ok { background: rgba(186, 205, 176, 0.15); color: #BACDB0; } .wallet-tag-no { background: rgba(255, 255, 255, 0.06); color: rgba(255, 255, 255, 0.4); } .wallet-tag-listed { background: rgba(78, 168, 222, 0.15); color: #4ea8de; } /* Asset list */ .asset-item { border: 1px solid rgba(186, 205, 176, 0.1); border-radius: 8px; margin-bottom: 8px; overflow: hidden; } .asset-header { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; cursor: pointer; transition: background 0.2s; } .asset-header:hover { background: rgba(255, 255, 255, 0.02); } .asset-detail { padding: 0 16px 16px; border-top: 1px solid rgba(255, 255, 255, 0.04); } .asset-props { display: grid; grid-template-columns: auto 1fr; gap: 6px 16px; font-size: 0.85rem; margin: 12px 0; } .asset-prop-key { color: rgba(255, 255, 255, 0.4); } .asset-prop-val { color: rgba(255, 255, 255, 0.8); } /* Inventory slots */ .inv-slot { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border: 1px solid rgba(186, 205, 176, 0.1); border-radius: 8px; margin-bottom: 8px; } .inv-slot-empty { border-style: dashed; color: rgba(255, 255, 255, 0.25); } /* Market listings */ .market-item { display: flex; align-items: center; justify-content: space-between; padding: 14px 16px; border: 1px solid rgba(186, 205, 176, 0.1); border-radius: 8px; margin-bottom: 8px; } .market-price { font-weight: 600; color: #BACDB0; } .market-seller { font-family: monospace; font-size: 0.8rem; color: rgba(255, 255, 255, 0.4); } .market-filter { display: flex; gap: 8px; margin-bottom: 20px; } .market-filter-btn { padding: 6px 16px; background: transparent; color: rgba(255, 255, 255, 0.5); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 6px; font-size: 0.8rem; cursor: pointer; transition: all 0.2s; } .market-filter-btn.active { color: #BACDB0; border-color: rgba(186, 205, 176, 0.4); background: rgba(186, 205, 176, 0.08); } /* Wallet summary card (HomePage) */ .wallet-summary { background: rgba(186, 205, 176, 0.06); border: 1px solid rgba(186, 205, 176, 0.15); border-radius: 10px; padding: 20px 24px; margin-bottom: 32px; cursor: pointer; transition: border-color 0.2s, background 0.2s; } .wallet-summary:hover { border-color: rgba(186, 205, 176, 0.3); background: rgba(186, 205, 176, 0.09); } .wallet-summary-title { font-size: 0.75rem; text-transform: uppercase; color: rgba(255, 255, 255, 0.4); letter-spacing: 0.08em; margin: 0 0 12px; } .wallet-summary-balance { font-size: 1.8rem; font-weight: 700; color: #BACDB0; margin: 0; } .wallet-summary-stats { display: flex; gap: 24px; margin-top: 12px; } .wallet-summary-stat { font-size: 0.85rem; color: rgba(255, 255, 255, 0.5); } .wallet-summary-stat strong { color: rgba(255, 255, 255, 0.8); } .wallet-logo { height: 32px; width: auto; } .wallet-tabs-divider { width: 100%; max-width: 300px; height: 16px; background: url('/images/divider.webp') center/contain no-repeat; margin: 0 auto; } /* Mobile responsive */ @media (max-width: 768px) { .wallet-header { flex-direction: column; gap: 12px; padding: 12px 16px; } .wallet-header-left { width: 100%; justify-content: center; } .wallet-header-right { width: 100%; justify-content: center; } .wallet-tabs { padding: 12px 16px 0; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; } .wallet-tabs::-webkit-scrollbar { display: none; } .wallet-tab { white-space: nowrap; flex-shrink: 0; min-height: 44px; } .wallet-main { padding: 20px 12px 60px; } .wallet-row { flex-direction: column; align-items: stretch; } .wallet-summary-stats { flex-direction: column; gap: 8px; } .market-item { flex-direction: column; align-items: stretch; gap: 8px; } }