/* ================================================================
   LAKSEND — Premium Blockchain Wallet
   Banking-grade design · Light & Dark themes
================================================================ */
@import url('https://fonts.googleapis.com/css2?family=Clash+Display:wght@500;600;700&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=JetBrains+Mono:wght@400;500;600&display=swap');

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}

/* DARK THEME */
:root {
  --gold:#C9A84C; --gold-bright:#E8C060; --gold-dim:#8B6E28; --gold-glow:rgba(201,168,76,0.15);
  --bg-app:#0F1923; --bg-surface:#162030; --bg-card:#1A2840; --bg-card-2:#1E2E4A; --bg-input:#0F1923; --bg-hover:#243552;
  --border:rgba(255,255,255,0.08); --border-strong:rgba(255,255,255,0.14); --border-gold:rgba(201,168,76,0.28);
  --text-1:#F0F4FF; --text-2:#8FA3C0; --text-3:#4D6280;
  --success:#22C87A; --success-bg:rgba(34,200,122,0.09); --success-border:rgba(34,200,122,0.22);
  --danger:#E85555; --danger-bg:rgba(232,85,85,0.09); --danger-border:rgba(232,85,85,0.22);
  --info:#4A90D9; --info-bg:rgba(74,144,217,0.09);
  --warning:#E8A030;
  --shadow-sm:0 2px 8px rgba(0,0,0,0.30); --shadow-md:0 8px 24px rgba(0,0,0,0.40); --shadow-lg:0 20px 50px rgba(0,0,0,0.50);
  --shadow-gold:0 4px 18px rgba(201,168,76,0.22);
  --r-sm:8px; --r-md:12px; --r-lg:18px; --r-xl:24px; --r-2xl:32px; --r-full:9999px;
  --sidebar-w:260px; --topbar-h:64px; --mobile-nav-h:68px;
  --ease-out:cubic-bezier(0.16,1,0.3,1); --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
  --t-fast:0.15s ease; --t-med:0.25s cubic-bezier(0.16,1,0.3,1);
  --topbar-bg:rgba(15,25,35,0.96); --sidebar-bg:rgba(15,25,35,0.99); --nav-bg:rgba(15,25,35,0.97);
}

/* LIGHT THEME */
[data-theme="light"] {
  --bg-app:#F2F5FA; --bg-surface:#E8EEF7; --bg-card:#FFFFFF; --bg-card-2:#F7F9FC; --bg-input:#F7F9FC; --bg-hover:#EBF0F9;
  --border:rgba(0,0,0,0.08); --border-strong:rgba(0,0,0,0.13); --border-gold:rgba(160,110,20,0.28);
  --text-1:#182035; --text-2:#4A6080; --text-3:#8A9DB5;
  --gold:#A67C20; --gold-bright:#C49030; --gold-dim:#7A5A10; --gold-glow:rgba(168,123,32,0.12);
  --success:#16A862; --success-bg:rgba(22,168,98,0.08); --success-border:rgba(22,168,98,0.22);
  --danger:#C84040; --danger-bg:rgba(200,64,64,0.07); --danger-border:rgba(200,64,64,0.22);
  --info:#2E72B8; --info-bg:rgba(46,114,184,0.08);
  --warning:#C07820;
  --shadow-sm:0 2px 8px rgba(0,0,0,0.07); --shadow-md:0 8px 24px rgba(0,0,0,0.10); --shadow-lg:0 20px 50px rgba(0,0,0,0.12);
  --shadow-gold:0 4px 18px rgba(168,123,32,0.18);
  --topbar-bg:rgba(255,255,255,0.96); --sidebar-bg:rgba(255,255,255,0.99); --nav-bg:rgba(255,255,255,0.97);
}

/* BASE */
html{height:100%;overflow:hidden;}
body{font-family:'DM Sans',-apple-system,sans-serif;background:var(--bg-app);color:var(--text-1);line-height:1.6;font-size:15px;-webkit-font-smoothing:antialiased;height:100%;overflow:hidden;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:pan-y;transition:background 0.3s,color 0.3s;}
input,textarea,select,.profile-item .value,.mobile-wallet-address,#wallet-address{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default;}
#app-root{height:100%;display:flex;flex-direction:column;overflow:hidden;position:fixed;inset:0;}
button,a,[role="button"]{touch-action:manipulation;}
input,textarea,select{touch-action:pan-x;}
::-webkit-scrollbar{width:4px;height:4px;}::-webkit-scrollbar-track{background:transparent;}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:4px;}
.muted{color:var(--text-3);font-size:0.875em;}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* AUTH */
.auth-section{height:100%;display:none;flex-direction:column;background:var(--bg-app);position:relative;overflow:hidden;transition:background 0.3s;}
.auth-section::before{content:'';position:absolute;width:500px;height:500px;background:radial-gradient(circle,var(--gold-glow) 0%,transparent 70%);top:-120px;right:-120px;pointer-events:none;border-radius:50%;}
.auth-section::after{content:'';position:absolute;width:350px;height:350px;background:radial-gradient(circle,rgba(74,144,217,0.05) 0%,transparent 70%);bottom:-80px;left:-80px;pointer-events:none;border-radius:50%;}
.auth-grid-pattern{position:absolute;inset:0;background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:48px 48px;pointer-events:none;opacity:0.6;}
.auth-section.active{display:flex;}
canvas#auth-particles{position:absolute;inset:0;pointer-events:none;z-index:1;opacity:0.45;}

.auth-scroll-wrap{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;display:flex;align-items:center;justify-content:center;padding:max(32px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));position:relative;z-index:2;}

.auth-container{max-width:420px;width:100%;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);box-shadow:var(--shadow-lg);overflow:hidden;position:relative;animation:authReveal 0.5s var(--ease-spring) both;margin:auto 0;transition:background 0.3s,border-color 0.3s;}
@keyframes authReveal{from{opacity:0;transform:translateY(32px) scale(0.96);}to{opacity:1;transform:translateY(0) scale(1);}}

.auth-header{padding:34px 26px 26px;text-align:center;position:relative;background:var(--bg-card-2);border-bottom:1px solid var(--border);transition:background 0.3s;}
.auth-logo-wrap{display:inline-block;margin-bottom:14px;position:relative;}
.auth-logo-wrap::before{content:'';position:absolute;inset:-8px;background:radial-gradient(circle,var(--gold-glow) 0%,transparent 70%);border-radius:50%;animation:logoGlow 3s ease-in-out infinite alternate;}
@keyframes logoGlow{from{opacity:0.5;transform:scale(0.9);}to{opacity:1;transform:scale(1.1);}}
.auth-logo{width:68px;height:68px;object-fit:contain;position:relative;z-index:1;filter:drop-shadow(0 4px 12px var(--gold-glow));animation:logoFloat 4s ease-in-out infinite;}
@keyframes logoFloat{0%,100%{transform:translateY(0);}50%{transform:translateY(-5px);}}
.auth-header h1{font-family:'Clash Display',sans-serif;font-size:26px;font-weight:700;color:var(--text-1);letter-spacing:-0.5px;margin-bottom:8px;}
.auth-header h1 span{color:var(--gold-bright);}
.auth-tagline{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;}
.auth-tag{font-size:11px;font-weight:600;color:var(--text-3);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--r-full);padding:3px 10px;letter-spacing:0.3px;}
.auth-body{padding:22px 22px 26px;}

/* TABS */
.tab-header{display:flex;margin-bottom:20px;background:var(--bg-app);border-radius:var(--r-md);padding:3px;gap:3px;border:1px solid var(--border);transition:background 0.3s;}
.tab-btn{flex:1;border:none;background:transparent;padding:9px 12px;cursor:pointer;font-size:13.5px;font-weight:600;color:var(--text-3);border-radius:calc(var(--r-md) - 3px);transition:var(--t-med);font-family:inherit;}
.tab-btn:hover{color:var(--text-1);}
.tab-btn.active{background:var(--gold);color:#fff;box-shadow:var(--shadow-gold);font-weight:700;}
.tab-content{display:none;animation:tabFade 0.2s var(--ease-out);}
.tab-content.active{display:block;}
@keyframes tabFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

/* FORMS */
.form-group{margin-bottom:15px;}
.form-group label{display:block;margin-bottom:5px;font-size:11.5px;font-weight:700;color:var(--text-3);letter-spacing:0.07em;text-transform:uppercase;}
input,select,textarea{width:100%;padding:11px 14px;border:1.5px solid var(--border-strong);border-radius:var(--r-md);font-size:14px;font-family:inherit;background:var(--bg-input);color:var(--text-1);transition:border-color 0.2s,box-shadow 0.2s,background 0.2s;-webkit-appearance:none;appearance:none;}
@media(max-width:768px){input,select,textarea{font-size:16px;}}
input::placeholder{color:var(--text-3);}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--gold);background:var(--bg-card);box-shadow:0 0 0 3px var(--gold-glow);}
input:hover:not(:focus),select:hover:not(:focus){border-color:var(--text-3);}
select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%238A9DB5' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;cursor:pointer;}
select option{background:var(--bg-card);color:var(--text-1);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

/* BUTTONS */
.primary-btn{width:100%;padding:12px 20px;background:var(--gold);color:#fff;border:none;border-radius:var(--r-md);font-size:14px;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:0.02em;box-shadow:var(--shadow-gold);transition:var(--t-med);position:relative;overflow:hidden;min-height:46px;}
.primary-btn:hover{filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 8px 22px rgba(201,168,76,0.32);}
.primary-btn:active{transform:translateY(0) scale(0.98);filter:brightness(0.96);}
.primary-btn.gold-btn{background:var(--gold);color:#fff;}
.primary-btn.navy-btn{background:var(--bg-card-2);color:var(--text-1);border:1px solid var(--border-strong);box-shadow:var(--shadow-sm);}
.primary-btn.navy-btn:hover{background:var(--bg-hover);}
.secondary-btn{padding:10px 16px;background:var(--bg-card-2);color:var(--text-2);border:1.5px solid var(--border-strong);border-radius:var(--r-md);font-size:13.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--t-med);min-height:44px;}
.secondary-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--bg-hover);}
.link-btn{background:none;border:none;cursor:pointer;color:var(--gold);font-size:13px;font-weight:600;font-family:inherit;padding:2px 4px;transition:var(--t-fast);}
.link-btn:hover{color:var(--gold-bright);}
.primary-btn.loading{pointer-events:none;opacity:0.75;}
.primary-btn.loading::after{content:'';position:absolute;left:50%;top:50%;width:18px;height:18px;margin:-9px 0 0 -9px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.7s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

/* DASHBOARD */
.dashboard-section{display:none;flex-direction:column;height:100%;overflow:hidden;}
.dashboard-section.active{display:flex;}

/* TOPBAR */
.topbar{height:calc(var(--topbar-h) + env(safe-area-inset-top,0px));background:var(--topbar-bg);border-bottom:1px solid var(--border);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:200;display:flex;align-items:flex-end;padding-left:20px;padding-right:20px;padding-bottom:0;box-shadow:var(--shadow-sm);flex-shrink:0;position:relative;transition:background 0.3s,border-color 0.3s;}
.topbar-content{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;}
.topbar-left{display:flex;align-items:center;gap:11px;}
.topbar-logo-img{width:32px;height:32px;object-fit:contain;filter:drop-shadow(0 2px 6px var(--gold-glow));animation:logoFloat 5s ease-in-out infinite;}
.topbar-brand{display:flex;flex-direction:column;gap:1px;}
.topbar-brand strong{font-family:'Clash Display',sans-serif;font-size:16px;font-weight:700;color:var(--text-1);letter-spacing:-0.3px;}
.topbar-brand strong span{color:var(--gold);}
.topbar-brand small{font-size:11px;color:var(--text-3);font-weight:500;display:flex;align-items:center;gap:5px;}
.topbar-right{display:flex;align-items:center;gap:10px;}
.topbar-balance-chip{background:var(--gold-glow);border:1px solid var(--border-gold);border-radius:var(--r-full);padding:5px 12px;font-size:12px;font-weight:700;color:var(--gold-bright);font-family:'JetBrains Mono',monospace;white-space:nowrap;}
.topbar-logout-btn{background:transparent;border:1.5px solid var(--border-strong);border-radius:var(--r-md);padding:6px 13px;color:var(--text-2);font-size:12.5px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--t-fast);}
.topbar-logout-btn:hover{border-color:var(--danger);color:var(--danger);}
.wallet-inline{display:flex;align-items:center;gap:6px;}
#wallet-address{font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--text-3);}

/* LAYOUT */
.dashboard-layout{flex:1;display:grid;grid-template-columns:var(--sidebar-w) 1fr;overflow:hidden;min-height:0;}

/* SIDEBAR */
.sidebar{background:var(--sidebar-bg);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;padding:18px 11px;gap:2px;backdrop-filter:blur(16px);transition:background 0.3s;}
.sidebar-section-label{font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3);padding:10px 12px 5px;}
.sidebar-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-md);cursor:pointer;color:var(--text-2);font-size:13.5px;font-weight:500;font-family:inherit;border:none;background:transparent;text-align:left;transition:var(--t-med);width:100%;position:relative;}
.sidebar-item:hover{color:var(--text-1);background:var(--bg-hover);}
.sidebar-item.active{color:var(--gold);background:var(--gold-glow);font-weight:600;border:1px solid var(--border-gold);}
.sidebar-item.active::before{content:'';position:absolute;left:0;top:20%;bottom:20%;width:3px;background:var(--gold);border-radius:0 3px 3px 0;}
.sidebar-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-sm);background:var(--bg-hover);flex-shrink:0;transition:var(--t-fast);}
.sidebar-item.active .sidebar-icon{background:var(--gold-glow);}
.sidebar-icon svg{width:16px;height:16px;stroke:currentColor;}
.sidebar-divider{height:1px;background:var(--border);margin:8px 12px;}
.sidebar-wallet-card{margin:0 4px 12px;padding:15px;background:var(--bg-card-2);border:1px solid var(--border);border-radius:var(--r-lg);position:relative;overflow:hidden;transition:background 0.3s;}
.sidebar-wallet-card::before{content:'';position:absolute;top:-15px;right:-15px;width:70px;height:70px;background:radial-gradient(circle,var(--gold-glow),transparent 70%);border-radius:50%;}
.sidebar-wallet-label{font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px;}
.sidebar-wallet-address{font-family:'JetBrains Mono',monospace;font-size:9.5px;color:var(--text-2);word-break:break-all;line-height:1.6;}
.sidebar-wallet-balance{margin-top:10px;font-family:'Clash Display',sans-serif;font-size:21px;font-weight:700;color:var(--gold);}
.sidebar-wallet-balance span{font-size:11px;font-weight:500;color:var(--text-3);font-family:'DM Sans',sans-serif;}

/* CONTENT */
.content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:22px 22px;background:var(--bg-app);transition:background 0.3s;}
.page-content{display:none;animation:pageFadeIn 0.3s var(--ease-out);}
.page-content.active{display:block;}
@keyframes pageFadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}
.page-header{margin-bottom:18px;}
.page-header h2{font-family:'Clash Display',sans-serif;font-size:23px;font-weight:700;color:var(--text-1);letter-spacing:-0.4px;margin-bottom:2px;}
.page-header p{color:var(--text-3);font-size:13px;}

/* CARDS */
.page-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:19px 19px;margin-bottom:14px;transition:background 0.3s,border-color 0.3s;}
.page-card:hover{border-color:var(--border-strong);}
.page-card h2{font-family:'Clash Display',sans-serif;font-size:14px;font-weight:600;color:var(--text-1);margin-bottom:14px;letter-spacing:-0.2px;display:flex;align-items:center;gap:8px;}
.page-card h2::before{content:'';display:inline-block;width:3px;height:14px;background:var(--gold);border-radius:2px;flex-shrink:0;}

/* BALANCE HERO */
.balance-hero{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);padding:24px 24px 20px;margin-bottom:14px;position:relative;overflow:hidden;animation:heroEntrance 0.5s var(--ease-spring) both 0.04s;transition:background 0.3s;}
@keyframes heroEntrance{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.balance-hero::before{content:'';position:absolute;top:0;right:0;width:240px;height:180px;background:radial-gradient(ellipse at top right,var(--gold-glow) 0%,transparent 65%);pointer-events:none;}
.balance-hero-label{font-size:10.5px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3);margin-bottom:7px;display:flex;align-items:center;gap:8px;}
.balance-hero-amount{font-family:'Clash Display',sans-serif;font-size:38px;font-weight:700;color:var(--text-1);letter-spacing:-1.5px;line-height:1;margin-bottom:4px;position:relative;z-index:1;}
.balance-hero-amount .currency{font-size:15px;font-weight:600;color:var(--gold);margin-left:5px;vertical-align:super;}
.balance-hero-sub{font-size:13px;color:var(--text-3);margin-bottom:20px;position:relative;z-index:1;}
.balance-hero-sub strong{color:var(--text-1);font-weight:600;}
.balance-hero-actions{display:flex;gap:9px;position:relative;z-index:1;flex-wrap:wrap;}
.hero-action-btn{display:flex;align-items:center;gap:7px;padding:9px 16px;border-radius:var(--r-full);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:var(--t-med);border:none;white-space:nowrap;min-height:40px;}
.hero-action-btn.send{background:var(--gold);color:#fff;box-shadow:var(--shadow-gold);}
.hero-action-btn.send:hover{filter:brightness(1.08);transform:translateY(-1px);}
.hero-action-btn.receive{background:var(--bg-card-2);color:var(--text-1);border:1.5px solid var(--border-strong);}
.hero-action-btn.receive:hover{border-color:var(--gold);color:var(--gold);}
.hero-action-btn.convert{background:var(--info-bg);color:var(--info);border:1.5px solid rgba(74,144,217,0.22);}
.hero-action-btn.convert:hover{background:rgba(74,144,217,0.15);}
.hero-action-btn:active{transform:scale(0.96);}

/* STATS */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-bottom:14px;}
.stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-lg);padding:15px 13px;position:relative;overflow:hidden;transition:var(--t-med);animation:statEntrance 0.4s var(--ease-out) both;}
.stat-card:nth-child(1){animation-delay:0.04s;} .stat-card:nth-child(2){animation-delay:0.08s;} .stat-card:nth-child(3){animation-delay:0.12s;} .stat-card:nth-child(4){animation-delay:0.16s;}
@keyframes statEntrance{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--card-accent,var(--gold));opacity:0.7;}
.stat-card:hover{border-color:var(--border-strong);transform:translateY(-2px);box-shadow:var(--shadow-md);}
.stat-icon{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;margin-bottom:9px;font-size:14px;background:var(--bg-hover);}
.stat-label{font-size:10px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-3);margin-bottom:3px;}
.stat-value{font-family:'Clash Display',sans-serif;font-size:19px;font-weight:700;color:var(--text-1);letter-spacing:-0.3px;line-height:1.2;}
.stat-value.gold{color:var(--gold);} .stat-value.success{color:var(--success);} .stat-value.danger{color:var(--danger);} .stat-value.info{color:var(--info);}

/* PAGE GRID */
.page-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;}

/* PORTFOLIO */
#portfolio-balances,#fx-balances{display:flex;flex-direction:column;gap:9px;}
.portfolio-item{display:flex;align-items:center;gap:11px;padding:11px 13px;background:var(--bg-card-2);border:1px solid var(--border);border-radius:var(--r-md);transition:var(--t-med);animation:itemSlide 0.3s var(--ease-out) both;}
.portfolio-item:hover{border-color:var(--border-strong);background:var(--bg-hover);}
@keyframes itemSlide{from{opacity:0;transform:translateX(-5px);}to{opacity:1;transform:translateX(0);}}
.portfolio-flag{width:38px;height:38px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;background:var(--gold-glow);border:1px solid var(--border-gold);flex-shrink:0;}
.currency-badge{font-family:'JetBrains Mono',monospace;font-size:11px;font-weight:700;color:var(--gold);}
.portfolio-info{flex:1;min-width:0;}
.portfolio-currency{font-size:13px;font-weight:700;color:var(--text-1);}
.portfolio-name{font-size:11.5px;color:var(--text-3);}
.portfolio-amount{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:600;color:var(--gold);}

/* TRANSACTIONS */
.tx-item{display:flex;align-items:center;gap:11px;padding:12px 13px;background:var(--bg-card-2);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:8px;cursor:pointer;transition:var(--t-med);animation:itemSlide 0.3s var(--ease-out) both;}
.tx-item:hover{border-color:var(--border-strong);background:var(--bg-hover);}
.tx-icon{width:36px;height:36px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:15px;}
.tx-icon.sent{background:var(--danger-bg);border:1px solid var(--danger-border);}
.tx-icon.received{background:var(--success-bg);border:1px solid var(--success-border);}
.tx-icon.neutral{background:var(--bg-hover);border:1px solid var(--border);}
.tx-info{flex:1;min-width:0;}
.tx-title{font-size:13px;font-weight:600;color:var(--text-1);margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tx-subtitle{font-size:11.5px;color:var(--text-3);}
.tx-amount{font-family:'JetBrains Mono',monospace;font-size:13px;font-weight:700;text-align:right;}
.tx-amount.sent{color:var(--danger);} .tx-amount.received{color:var(--success);} .tx-amount.neutral{color:var(--text-2);}
.tx-time{font-size:10.5px;color:var(--text-3);text-align:right;margin-top:2px;}
.slip-btn{background:var(--bg-hover);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:4px 9px;font-size:11px;font-weight:600;color:var(--text-2);cursor:pointer;flex-shrink:0;transition:var(--t-fast);font-family:inherit;}
.slip-btn:hover{border-color:var(--gold);color:var(--gold);}

/* RECEIVER INFO */
.receiver-info{display:none;align-items:center;gap:11px;border-radius:var(--r-md);padding:11px 13px;margin-bottom:14px;animation:tabFade 0.2s var(--ease-out);transition:background 0.2s,border-color 0.2s;}
.receiver-info.found{background:var(--success-bg);border:1px solid var(--success-border);display:flex;}
.receiver-info.error{background:var(--danger-bg);border:1px solid var(--danger-border);display:flex;}
.receiver-info.loading{background:var(--bg-hover);border:1px solid var(--border-strong);display:flex;}
.receiver-avatar{width:34px;height:34px;border-radius:50%;background:var(--success);color:#fff;font-size:14px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.receiver-details{flex:1;min-width:0;}
.receiver-name{font-size:13.5px;font-weight:700;color:var(--text-1);}
.receiver-username{font-size:12px;color:var(--text-3);}
.receiver-check{font-size:17px;color:var(--success);flex-shrink:0;font-weight:700;}
.receiver-not-found{font-size:13px;font-weight:600;color:var(--danger);}
.receiver-loading{font-size:13px;color:var(--text-2);}

/* PROFILE */
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.profile-item{display:flex;flex-direction:column;gap:3px;padding:12px 13px;background:var(--bg-card-2);border:1px solid var(--border);border-radius:var(--r-md);transition:background 0.3s;}
.profile-item .label{font-size:10px;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-3);}
.profile-item .value{font-size:13px;font-weight:600;color:var(--text-1);word-break:break-all;}
.mobile-wallet-card{display:none;}
.mobile-wallet-row{display:flex;align-items:center;gap:9px;flex-wrap:wrap;}
.mobile-wallet-address{font-family:'JetBrains Mono',monospace;font-size:11px;color:var(--text-2);flex:1;min-width:0;word-break:break-all;line-height:1.6;}
.copy-wallet-btn{display:inline-flex;align-items:center;gap:5px;flex-shrink:0;padding:7px 12px;background:var(--gold-glow);color:var(--gold);border:1px solid var(--border-gold);border-radius:var(--r-sm);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;transition:var(--t-fast);min-height:36px;}
.copy-wallet-btn:hover{background:rgba(201,168,76,0.22);}
.copy-wallet-btn:active{transform:scale(0.95);}
.mobile-logout-wrap{display:none;padding-bottom:8px;}
.mobile-logout-btn{width:100%;color:var(--danger)!important;border-color:var(--danger-border)!important;}
.mobile-logout-btn:hover{background:var(--danger-bg)!important;border-color:var(--danger)!important;}

/* SETTINGS */
.settings-list{display:flex;flex-direction:column;gap:2px;}
.settings-item{display:flex;align-items:center;justify-content:space-between;padding:13px 15px;border-radius:var(--r-md);background:var(--bg-card-2);border:1px solid var(--border);gap:12px;transition:background 0.3s;}
.settings-item-left{display:flex;align-items:center;gap:11px;}
.settings-icon{width:34px;height:34px;border-radius:var(--r-sm);background:var(--bg-hover);display:flex;align-items:center;justify-content:center;color:var(--gold);flex-shrink:0;}
.settings-label{font-size:13.5px;font-weight:600;color:var(--text-1);}
.settings-sub{font-size:12px;color:var(--text-3);margin-top:1px;}
.theme-toggle{width:48px;height:27px;border-radius:var(--r-full);background:var(--border-strong);border:none;cursor:pointer;position:relative;transition:background 0.3s;flex-shrink:0;}
.theme-toggle.active{background:var(--gold);}
.theme-toggle-knob{position:absolute;top:3px;left:3px;width:21px;height:21px;border-radius:50%;background:#fff;transition:transform 0.3s var(--ease-spring);box-shadow:0 1px 4px rgba(0,0,0,0.25);display:block;}
.theme-toggle.active .theme-toggle-knob{transform:translateX(21px);}

/* TRANSFER */
.transfer-confirmation{background:var(--gold-glow);border:1px solid var(--border-gold);border-radius:var(--r-lg);padding:17px;margin-top:14px;animation:confirmReveal 0.3s var(--ease-spring);}
@keyframes confirmReveal{from{opacity:0;transform:scale(0.97) translateY(5px);}to{opacity:1;transform:scale(1) translateY(0);}}
.transfer-confirmation h3{font-family:'Clash Display',sans-serif;font-size:15px;font-weight:700;color:var(--text-1);margin-bottom:7px;}
.transfer-confirmation p{color:var(--text-2);font-size:13.5px;}
.favorites-list{display:grid;grid-template-columns:1fr 1fr;gap:9px;}
.fav-item{background:var(--bg-card-2);border:1px solid var(--border);border-radius:var(--r-md);padding:11px;cursor:pointer;transition:var(--t-med);}
.fav-item:hover{border-color:var(--gold);background:var(--gold-glow);}
.fav-name{font-size:13px;font-weight:700;color:var(--text-1);}
.fav-address{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-3);}

/* CONVERT */
.convert-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:11px;align-items:end;margin-bottom:14px;}
.convert-arrow{display:flex;align-items:center;justify-content:center;padding-bottom:8px;font-size:18px;color:var(--gold);}
#convert-result{background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--r-md);padding:12px 15px;color:var(--success);font-size:13.5px;font-weight:600;animation:tabFade 0.3s var(--ease-out);}

/* QR */
.qr-tab-card{padding-bottom:0!important;margin-bottom:0!important;border-bottom-left-radius:0!important;border-bottom-right-radius:0!important;}
.transfer-method-tabs{display:flex;border-bottom:1px solid var(--border);margin:-19px -19px 0;padding:0 8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
.transfer-method-tabs::-webkit-scrollbar{display:none;}
.transfer-tab-btn{flex-shrink:0;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-1px;padding:12px 15px;font-size:13px;font-weight:600;color:var(--text-3);cursor:pointer;transition:var(--t-fast);white-space:nowrap;font-family:inherit;}
.transfer-tab-btn:hover:not(.active){color:var(--text-1);}
.transfer-tab-btn.active{color:var(--gold);border-bottom-color:var(--gold);}
.transfer-tab-content{display:none;} .transfer-tab-content.active{display:block;}
.qr-scan-area{position:relative;width:100%;max-width:280px;aspect-ratio:1/1;margin:0 auto;border-radius:var(--r-lg);overflow:hidden;background:var(--bg-app);display:flex;align-items:center;justify-content:center;border:1px solid var(--border-gold);}
.qr-video{width:100%;height:100%;object-fit:cover;display:none;}
.qr-scan-overlay{position:absolute;inset:0;pointer-events:none;z-index:2;}
.qr-scan-corner{position:absolute;width:20px;height:20px;border-color:var(--gold);border-style:solid;}
.qr-scan-corner.tl{top:13px;left:13px;border-width:2px 0 0 2px;border-radius:3px 0 0 0;}
.qr-scan-corner.tr{top:13px;right:13px;border-width:2px 2px 0 0;border-radius:0 3px 0 0;}
.qr-scan-corner.bl{bottom:13px;left:13px;border-width:0 0 2px 2px;border-radius:0 0 0 3px;}
.qr-scan-corner.br{bottom:13px;right:13px;border-width:0 2px 2px 0;border-radius:0 0 3px 0;}
@keyframes qr-scan-sweep{0%{top:13px;opacity:0;}5%{opacity:1;}95%{opacity:1;}100%{top:calc(100% - 13px);opacity:0;}}
.qr-scan-line{position:absolute;left:13px;right:13px;height:2px;background:linear-gradient(90deg,transparent,var(--gold),transparent);animation:qr-scan-sweep 2.5s ease-in-out infinite;box-shadow:0 0 8px var(--gold-glow);}
.qr-cam-placeholder{display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-3);font-size:12px;}
.qr-divider{text-align:center;color:var(--text-3);font-size:12px;margin:12px 0 9px;}
.qr-upload-label{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:11px;border:1.5px dashed var(--border-strong);border-radius:var(--r-md);color:var(--text-2);font-size:13px;font-weight:600;cursor:pointer;transition:var(--t-fast);}
.qr-upload-label:hover{border-color:var(--gold);color:var(--gold);}
.qr-scan-result{margin-top:11px;padding:10px 13px;background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--r-md);font-size:13px;font-weight:600;color:var(--success);}
.qr-pay-summary{background:var(--bg-card-2);border-radius:var(--r-md);overflow:hidden;border:1px solid var(--border);}
.qr-pay-row{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;border-bottom:1px solid var(--border);font-size:13px;gap:11px;}
.qr-pay-row:last-child{border-bottom:none;}
.qr-pay-row>span{color:var(--text-3);font-weight:600;flex-shrink:0;}
.qr-pay-row>strong{color:var(--text-1);font-weight:700;text-align:right;}
.qr-pay-row>code{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--text-2);word-break:break-all;text-align:right;}
.my-qr-wrapper{display:flex;justify-content:center;margin-bottom:11px;}
.my-qr-container{display:inline-block;padding:14px;background:#fff;border-radius:var(--r-lg);box-shadow:var(--shadow-md);border:2px solid var(--gold);line-height:0;}
.my-qr-container img,.my-qr-container canvas{border-radius:4px;display:block;}
.my-qr-address{margin-top:8px;font-family:'JetBrains Mono',monospace;font-size:10.5px;color:var(--text-3);word-break:break-all;text-align:center;}

/* MOBILE NAV */
.mobile-nav{display:none;background:var(--nav-bg);border-top:1px solid var(--border);box-shadow:0 -4px 16px rgba(0,0,0,0.12);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);z-index:300;padding-bottom:env(safe-area-inset-bottom,0px);flex-shrink:0;transition:background 0.3s;}
.mobile-nav-inner{display:flex;justify-content:space-around;align-items:center;height:var(--mobile-nav-h);width:100%;}
.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:5px 0 3px;background:transparent;border:none;cursor:pointer;color:var(--text-3);font-size:9.5px;font-weight:700;font-family:inherit;transition:var(--t-med);letter-spacing:0.04em;text-transform:uppercase;min-width:44px;min-height:48px;flex-shrink:0;flex-grow:1;position:relative;}
.nav-svg{width:21px;height:21px;flex-shrink:0;stroke:currentColor;transition:var(--t-med);display:block;}
.nav-icon-wrap{display:flex;align-items:center;justify-content:center;width:42px;height:29px;border-radius:var(--r-md);transition:var(--t-med);flex-shrink:0;}
.nav-item span{line-height:1;transition:var(--t-med);white-space:nowrap;}
.nav-item.active{color:var(--gold);}
.nav-item.active .nav-icon-wrap{background:var(--gold-glow);}
.nav-item.active .nav-svg{stroke:var(--gold);}
.nav-item.active::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:22px;height:2px;background:var(--gold);border-radius:0 0 2px 2px;}
.nav-item:hover:not(.active){color:var(--text-2);}
.nav-item:active .nav-icon-wrap{transform:scale(0.88);}

/* NOTIFICATIONS */
.notification-container{position:fixed;top:14px;right:14px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:330px;pointer-events:none;}
.notification{background:var(--bg-card);border:1px solid var(--border-strong);border-radius:var(--r-lg);padding:12px 15px;box-shadow:var(--shadow-lg);display:flex;align-items:flex-start;gap:10px;pointer-events:all;animation:notifSlide 0.35s var(--ease-spring);position:relative;overflow:hidden;transition:background 0.3s;}
.notification::before{content:'';position:absolute;top:0;left:0;width:3px;height:100%;}
.notification.success::before{background:var(--success);}
.notification.error::before{background:var(--danger);}
.notification.info::before{background:var(--info);}
.notification.warning::before{background:var(--warning);}
.notification.success{border-color:var(--success-border);}
.notification.error{border-color:var(--danger-border);}
.notification.info{border-color:rgba(74,144,217,0.28);}
@keyframes notifSlide{from{opacity:0;transform:translateX(22px) scale(0.96);}to{opacity:1;transform:translateX(0) scale(1);}}
.notification-icon{font-size:17px;flex-shrink:0;}
.notification-content{flex:1;min-width:0;}
.notification-title{font-size:13px;font-weight:700;color:var(--text-1);margin-bottom:2px;}
.notification-message{font-size:12px;color:var(--text-2);line-height:1.4;}
.notification-close{background:none;border:none;cursor:pointer;color:var(--text-3);font-size:15px;flex-shrink:0;padding:0;line-height:1;font-family:inherit;}
.notification-close:hover{color:var(--text-1);}

/* MISC */
.pulse-dot{position:relative;display:inline-block;width:7px;height:7px;background:var(--success);border-radius:50%;}
.pulse-dot::after{content:'';position:absolute;inset:-2px;background:var(--success);border-radius:50%;animation:pulseRing 2s ease-out infinite;}
@keyframes pulseRing{0%{transform:scale(1);opacity:0.6;}100%{transform:scale(2.2);opacity:0;}}
.chain-badge{display:inline-flex;align-items:center;gap:5px;background:var(--success-bg);border:1px solid var(--success-border);border-radius:var(--r-full);padding:3px 9px;font-size:10px;font-weight:700;color:var(--success);letter-spacing:0.04em;}

/* SLIP MODAL */
.slip-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9000;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeOverlay 0.2s ease;}
@keyframes fadeOverlay{from{opacity:0;}to{opacity:1;}}
.slip-modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--r-xl);max-width:460px;width:100%;box-shadow:var(--shadow-lg);overflow:hidden;animation:slipSlideIn 0.35s var(--ease-spring);transition:background 0.3s;}
@keyframes slipSlideIn{from{opacity:0;transform:scale(0.92) translateY(18px);}to{opacity:1;transform:scale(1) translateY(0);}}
.slip-modal-header{background:var(--bg-card-2);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);transition:background 0.3s;}
.slip-modal-title{display:flex;align-items:center;gap:10px;}
.slip-logo{width:28px;height:28px;object-fit:contain;filter:drop-shadow(0 2px 6px var(--gold-glow));}
.slip-modal-header h3{font-family:'Clash Display',sans-serif;font-size:15px;font-weight:700;color:var(--text-1);}
.slip-close-btn{background:var(--bg-hover);border:1px solid var(--border-strong);border-radius:50%;width:30px;height:30px;cursor:pointer;color:var(--text-2);display:flex;align-items:center;justify-content:center;transition:var(--t-fast);flex-shrink:0;}
.slip-close-btn:hover{color:var(--text-1);background:var(--border-strong);}
.slip-modal-body{padding:20px 22px;}
.slip-actions{display:flex;gap:10px;padding:0 22px 20px;}

button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px;}

/* RESPONSIVE */
@media(max-width:1024px){.dashboard-layout{grid-template-columns:1fr;}.sidebar{display:none;}.mobile-nav{display:flex;flex-direction:column;}.content{padding:16px 14px;}.stats-row{grid-template-columns:1fr 1fr;}.topbar{padding-left:15px;padding-right:15px;}}
@media(max-width:768px){:root{--topbar-h:54px;--mobile-nav-h:63px;}.page-grid{grid-template-columns:1fr;}.convert-grid{grid-template-columns:1fr;}.convert-arrow{display:none;}.favorites-list{grid-template-columns:1fr;}.wallet-inline{display:none;}.mobile-wallet-card{display:block;}.mobile-logout-wrap{display:block;}.topbar-logout-btn{display:none;}.balance-hero-amount{font-size:33px;}.stats-row{gap:9px;}}
@media(max-width:480px){:root{--topbar-h:50px;--mobile-nav-h:59px;}body{font-size:14px;}.auth-scroll-wrap{align-items:flex-start;padding:max(18px,env(safe-area-inset-top)) 13px max(14px,env(safe-area-inset-bottom));}.auth-container{max-width:100%;margin:0;border-radius:var(--r-xl);animation:authSlideUp 0.4s var(--ease-spring) both;}@keyframes authSlideUp{from{opacity:0;transform:translateY(36px);}to{opacity:1;transform:translateY(0);}}.auth-header{padding:26px 18px 20px;}.auth-logo{width:60px;height:60px;}.auth-body{padding:18px 15px 22px;}.content{padding:12px 11px;}.page-card{padding:14px 13px;}.page-card h2{font-size:13.5px;margin-bottom:11px;}.stats-row{grid-template-columns:1fr 1fr;gap:8px;}.profile-grid{grid-template-columns:1fr;}.form-row{grid-template-columns:1fr;}.topbar{padding-left:12px;padding-right:12px;}.topbar-logo-img{width:27px;height:27px;}.notification-container{left:10px;right:10px;max-width:none;}.slip-modal{border-radius:var(--r-xl) var(--r-xl) 0 0;max-height:90dvh;overflow-y:auto;}.slip-modal-overlay{align-items:flex-end;padding:0;}.slip-modal-body{padding:16px 18px;}.slip-actions{padding:0 18px 18px;flex-direction:column;}.page-header h2{font-size:19px;}.balance-hero{padding:18px 16px 16px;}.balance-hero-amount{font-size:29px;}.hero-action-btn{font-size:12px;padding:8px 13px;}.stat-card{padding:12px 11px;}.stat-value{font-size:16px;}.nav-item{min-height:46px;gap:2px;}.nav-item span{font-size:9px;}.nav-svg{width:19px;height:19px;}.nav-icon-wrap{width:36px;height:27px;}.transfer-tab-btn{padding:10px 12px;font-size:12px;}.qr-scan-area{max-width:100%;}}
@media(max-width:375px){:root{--mobile-nav-h:55px;}.nav-item span{font-size:8.5px;}.nav-svg{width:18px;height:18px;}}