:root{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#e8edf6;background:#090d14;--panel:#101722;--panel2:#151e2b;--muted:#8491a6;--line:#222d3c;--accent:#70e1b2;--danger:#ff7b86}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 75% -10%,#15362d 0,transparent 30%),#090d14;color:#e8edf6}button,input,select{font:inherit}.shell{display:grid;grid-template-columns:230px 1fr;min-height:100vh}.sidebar{padding:26px 18px;border-right:1px solid var(--line);position:sticky;top:0;height:100vh;background:#0b1018}.brand{font-size:18px;font-weight:800;letter-spacing:-.4px;margin:0 10px 32px}.brand b{color:var(--accent)}.nav{display:grid;gap:5px}.nav button{border:0;background:transparent;color:var(--muted);text-align:left;padding:11px 12px;border-radius:10px;cursor:pointer}.nav button.active,.nav button:hover{background:var(--panel2);color:white}.main{padding:32px;max-width:1500px;width:100%;margin:auto}.top{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:28px}.title h1{font-size:26px;margin:0 0 5px}.muted{color:var(--muted)}.btn{border:1px solid var(--line);background:var(--panel2);color:#fff;padding:10px 14px;border-radius:10px;cursor:pointer}.btn.primary{background:var(--accent);color:#07130e;border-color:transparent;font-weight:700}.btn.danger{color:var(--danger)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card,.panel{background:linear-gradient(180deg,#111925,#0e151f);border:1px solid var(--line);border-radius:16px}.card{padding:20px}.kicker{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.08em}.value{font-size:26px;font-weight:750;margin-top:8px;letter-spacing:-.5px}.grid2{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.panel{padding:20px}.panel h3{margin:0 0 18px;font-size:15px}.bar{height:10px;background:#1b2533;border-radius:999px;overflow:hidden;margin:10px 0 20px}.bar i{height:100%;display:block;background:var(--accent)}table{width:100%;border-collapse:collapse}th,td{padding:12px 8px;border-bottom:1px solid var(--line);text-align:left;font-size:14px}th{color:var(--muted);font-size:11px;text-transform:uppercase}td.num,th.num{text-align:right}.empty{padding:36px;text-align:center;color:var(--muted)}.row{display:flex;gap:10px;align-items:center}.between{justify-content:space-between}.settings{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form{display:grid;gap:10px}.form input,.form select{width:100%;background:#0b111a;border:1px solid var(--line);color:#fff;padding:11px 12px;border-radius:10px}.item{padding:14px 0;border-bottom:1px solid var(--line)}.item:last-child{border:0}.badge{padding:4px 8px;border-radius:999px;background:#182333;color:var(--muted);font-size:11px}.badge.ok{color:var(--accent)}.login{min-height:100vh;display:grid;place-items:center;padding:20px}.loginbox{width:min(440px,100%);padding:34px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.loginbox h1{font-size:28px;margin:0 0 10px}.loginbox p{color:var(--muted);line-height:1.55}.loginbox .btn{width:100%;margin-top:15px}.notice{margin-top:14px;color:var(--muted);font-size:12px;line-height:1.5}.error{color:var(--danger);white-space:pre-wrap}.mobilebar{display:none}.assetdot{width:28px;height:28px;border-radius:50%;background:#1b2b35;display:inline-grid;place-items:center;font-size:10px;font-weight:800;margin-right:8px}@media(max-width:900px){.shell{display:block}.sidebar{display:none}.main{padding:18px 14px 82px}.mobilebar{display:flex;position:fixed;bottom:0;left:0;right:0;background:#0c121b;border-top:1px solid var(--line);z-index:10;overflow:auto}.mobilebar button{min-width:90px;flex:1;border:0;background:transparent;color:var(--muted);padding:14px 8px}.mobilebar button.active{color:var(--accent)}.cards{grid-template-columns:1fr 1fr}.grid2,.settings{grid-template-columns:1fr}.top{align-items:flex-start}.value{font-size:22px}}@media(max-width:520px){.cards{grid-template-columns:1fr}.top{flex-direction:column}.top .row{width:100%}.top .btn{flex:1}th.hide-sm,td.hide-sm{display:none}}
.logomark{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),#5ba8ff);color:#07130e;font-size:12px;font-weight:900;letter-spacing:-1px}.brand{display:flex;align-items:center;gap:10px;line-height:1.05}.brand b{font-weight:800}.domain{position:absolute;bottom:24px;left:28px;color:var(--muted);font-size:11px}.sidebar{position:sticky}.tokenIcon{width:28px;height:28px;border-radius:50%;display:inline-grid;place-items:center;vertical-align:middle;margin-right:9px;background:#1b2533;overflow:hidden}.tokenIcon img{width:100%;height:100%;object-fit:cover}.tokenIcon.fallback{font-size:8px;font-weight:800;color:#dce6f4}.sortable{cursor:pointer;user-select:none}.sortable:hover{color:#fff}.clickrow{cursor:pointer}.clickrow:hover{background:#131d29}.detailrow td{padding:0 8px 14px}.detail{background:#0a111a;border:1px solid var(--line);border-radius:12px;padding:10px 14px}.detail>div{display:flex;justify-content:space-between;gap:20px;padding:9px 0;border-bottom:1px solid var(--line)}.detail>div:last-child{border:0}.sourceToggle{width:100%;display:flex;justify-content:space-between;padding:13px;background:#0b111a;border:1px solid var(--line);color:#fff;border-radius:10px;cursor:pointer}.sectionTitle{margin-top:28px!important}.mini{margin-bottom:14px}.toolbar{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.btn.selected{border-color:var(--accent);color:var(--accent)}.tree>details{border-bottom:1px solid var(--line)}.tree details:last-child{border:0}.tree summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 6px;cursor:pointer}.tree details details{margin-left:24px;border-top:1px solid #192433}.treeRow{display:grid;grid-template-columns:1fr minmax(100px,auto) minmax(120px,auto);gap:20px;padding:10px 12px 10px 34px;color:var(--muted)}.treeRow b,.treeRow>span:nth-child(2){text-align:right;color:#e8edf6}.group{margin-bottom:14px}.risk{background:rgba(255,123,134,.07)}.security{display:flex;gap:16px;align-items:flex-start;padding:16px 18px;border:1px solid #33513f;background:#0e1b16;border-radius:14px;margin-bottom:14px}.security b{color:var(--accent)}.security span{color:#b8c6bd;line-height:1.5}.fieldLabel{font-size:12px;color:var(--muted)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;background:#0b111a;border:1px solid var(--line);border-radius:10px}.checks label{font-size:13px}.checks input{width:auto}.steps{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;font-size:11px;color:var(--muted)}.steps>*{padding:6px 8px;background:#0b111a;border-radius:7px}.warning{padding:11px;border-radius:9px;background:#2a2012;color:#ffc875;font-size:12px}.tablewrap{overflow-x:auto}.settings{align-items:start}@media(max-width:900px){.domain{display:none}.tablewrap table{min-width:700px}.treeRow{grid-template-columns:1fr auto}.treeRow b{grid-column:2}.security{flex-direction:column}.checks{grid-template-columns:1fr}}
.chartPanel{margin-top:14px}.chart{height:210px}.chartHead,.chartFoot{display:flex;justify-content:space-between;gap:12px}.chartHead{font-size:13px;color:var(--muted)}.chartHead b{color:#fff}.chart svg{width:100%;height:150px;margin-top:10px}.chart polyline{stroke:var(--accent);stroke-width:2}.chartFoot{font-size:10px;color:var(--muted)}.chartEmpty{height:150px;display:grid;place-items:center;color:var(--muted)}
.entityTitle{display:flex;align-items:center;gap:10px}.entityTitle span{display:flex;flex-direction:column}.entityTitle small{display:block;color:var(--muted);font-weight:400;margin-top:3px}.cexIcon,.walletIcon,.chainIcon{width:32px;height:32px;display:inline-grid;place-items:center;border-radius:50%;background:#202b3a;font-weight:900;flex:0 0 auto}.cexIcon.binance{background:#f3ba2f;color:#111}.cexIcon.okx{background:#fff;color:#111}.cexIcon.bybit{background:#f7a600;color:#111}.cexIcon.gate{background:#2cc6a0;color:#08120f}.cexIcon.hyperliquid{background:#8ff0cf;color:#07130e}.sourceLine{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.sourceLine:last-child{border:0}
.chainGrid{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:12px;margin:14px 0}.chainCard{border:1px solid var(--line);background:linear-gradient(180deg,#111925,#0e151f);color:#fff;border-radius:14px;padding:16px;display:flex;align-items:center;gap:12px;text-align:left;cursor:pointer}.chainCard:hover{border-color:#3a4a60}.chainIcon{width:42px;height:42px;background:#151e2b;overflow:hidden}.chainIcon img{width:100%;height:100%;object-fit:cover}.chainCard span:last-child{min-width:0;display:grid;grid-template-columns:1fr auto;gap:3px 8px;width:100%}.chainCard b{grid-column:1/-1;color:#aebbd0;font-weight:500}.chainCard strong{font-size:18px}.chainCard small{color:var(--muted);align-self:end}
.riskCard{border-color:#623840}.riskBadge{display:inline-block;padding:5px 8px;border-radius:999px;font-size:11px;white-space:nowrap}.riskBadge.warn{background:rgba(255,123,134,.14);color:#ff9aa3}.riskBadge.ok{background:rgba(112,225,178,.1);color:var(--accent)}.inlineEdit{display:grid;gap:10px;margin-top:14px;padding:14px;background:#0a111a;border:1px solid #344357;border-radius:12px}.inlineEdit input,.inlineEdit select{width:100%;background:#0b111a;border:1px solid var(--line);color:#fff;padding:11px 12px;border-radius:10px}
@media(max-width:1200px){.chainGrid{grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.chainGrid{grid-template-columns:1fr 1fr}.chart{height:180px}.chart svg{height:120px}}@media(max-width:430px){.chainGrid{grid-template-columns:1fr}}
/* V0.5 portfolio allocation language */
.netHero{position:relative;height:220px;border:1px solid var(--line);border-radius:18px;overflow:hidden;margin-bottom:14px;background:linear-gradient(180deg,#111925,#0e151f)}.netHero svg{position:absolute;inset:0;width:100%;height:100%;opacity:.45}.netHero polyline{stroke:var(--accent);stroke-width:1.5}.netHero.down polyline{stroke:#ff737d}.netHeroContent{position:absolute;left:28px;top:50%;transform:translateY(-50%)}.netHeroLabel{font-size:12px;color:var(--muted);letter-spacing:.1em}.netHeroLine{display:flex;align-items:baseline;gap:16px}.netHeroValue{font-size:46px;font-weight:800;letter-spacing:-1.8px}.netHeroChange{font-size:21px;color:var(--accent)}.netHero.down .netHeroChange{color:#ff737d}.netHeroChange.neutral{font-size:12px;color:var(--muted);margin-top:8px}.allocationPanel{margin-bottom:14px}.sectionHead{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.sectionHead h3{margin:0 0 4px}.allocationTotal{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;border:1px solid #344357;border-radius:12px;font-size:15px}.allocationBranches{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.allocationBranch{background:#0a111a;border:1px solid var(--line);border-radius:14px;padding:14px}.branchHead,.allocRow{display:grid;grid-template-columns:32px 1fr minmax(120px,auto) 62px;gap:10px;align-items:center}.branchHead{grid-template-columns:1fr minmax(120px,auto) 62px;padding:3px 4px 12px;border-bottom:1px solid var(--line)}.branchHead span{font-weight:700}.branchHead b,.branchHead em,.allocRow b,.allocRow em{text-align:right}.branchHead em,.allocRow em{font-style:normal;color:var(--muted);font-size:12px}.allocRow{padding:12px 4px;border-bottom:1px solid #182230}.allocRow:last-child{border-bottom:0}.allocNote{padding:10px 4px 4px}.empty.compact{padding:18px}.exchangeHero{display:grid;grid-template-columns:280px 1fr;gap:18px;align-items:start;padding:22px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#111925,#0e151f)}.exchangeAccounts{display:grid;gap:0}.exchangeSummary{display:grid;grid-template-columns:38px 1fr minmax(140px,auto) 60px;align-items:center;gap:10px;min-height:62px;padding:8px 10px;border-bottom:1px solid var(--line)}.exchangeSummary:last-child{border-bottom:0}.exchangeSummary span{display:flex;flex-direction:column}.exchangeSummary small{color:var(--muted);margin-top:3px}.exchangeSummary strong,.exchangeSummary em{text-align:right}.exchangeSummary em{font-style:normal;color:var(--muted);font-size:12px}.locationLine{display:grid;grid-template-columns:1fr minmax(140px,auto) 60px;gap:14px;padding:12px 18px 12px 52px;align-items:center}.locationLine b,.locationLine em{text-align:right}.locationLine em{font-style:normal;color:var(--muted);font-size:12px}.editTitle{padding:10px 12px;background:#111b28;border-radius:9px;color:#c7d3e5}.inlineEdit .fieldLabel{display:grid;gap:6px}.inlineEdit .fieldLabel input,.inlineEdit .fieldLabel select{margin-top:0}
@media(max-width:900px){.allocationBranches{grid-template-columns:1fr}.exchangeHero{grid-template-columns:1fr}.netHeroValue{font-size:36px}.netHero{height:190px}.exchangeSummary{grid-template-columns:34px 1fr auto}.exchangeSummary em{display:none}}
@media(max-width:520px){.netHeroContent{left:18px}.netHeroValue{font-size:29px}.netHeroChange{font-size:16px}.allocRow{grid-template-columns:30px 1fr auto}.allocRow em{display:none}.branchHead{grid-template-columns:1fr auto}.branchHead em{display:none}}
/* V0.6: flat summary-first hierarchy */
.metricHero{min-height:150px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#111925,#0d141e);padding:28px;margin-bottom:14px;display:flex;align-items:center}.metricLine{display:flex;align-items:baseline;gap:18px;margin-top:8px}.metricValue{font-size:44px;font-weight:850;letter-spacing:-1.6px}.metricSub{margin-top:10px}.delta{font-size:20px;font-weight:750}.delta.up{color:#70e1b2}.delta.down{color:#ff737d}.delta small{font-size:11px;font-weight:600;color:inherit;opacity:.8}.allocationRoot>.allocationTotal{display:none}.cexIcon{overflow:hidden;background:#fff}.cexIcon img{width:100%;height:100%;object-fit:contain}.cexIcon.fallback{background:#202b3a;color:#fff;font-size:10px}.exchangeList{display:grid;gap:10px}.exchangeAccount{border:1px solid var(--line);border-radius:12px;background:#0a111a;overflow:hidden}.exchangeAccount summary{display:grid;grid-template-columns:38px 1fr minmax(140px,auto) 62px;gap:12px;align-items:center;padding:14px 16px;cursor:pointer}.exchangeAccount summary span{display:flex;flex-direction:column}.exchangeAccount summary small{color:var(--muted);margin-top:3px}.exchangeAccount summary strong,.exchangeAccount summary em{text-align:right}.exchangeAccount summary em{font-style:normal;color:var(--muted);font-size:12px}.push{margin-left:auto}.modalback{position:fixed;inset:0;background:rgba(2,6,12,.72);backdrop-filter:blur(5px);z-index:100;display:grid;place-items:center;padding:18px}.walletModal{width:min(480px,100%);background:#101823;border:1px solid #344357;border-radius:18px;padding:22px;box-shadow:0 24px 70px rgba(0,0,0,.5)}.walletModal h2{margin:0 0 4px}.iconBtn{border:0;background:#1a2431;color:#fff;width:34px;height:34px;border-radius:9px;font-size:22px;cursor:pointer}.walletChoices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.walletChoices button{background:#0b111a;border:1px solid var(--line);color:#fff;border-radius:12px;padding:16px;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:5px}.walletChoices button:hover{border-color:#52647c}.walletChoices span{color:var(--muted);font-size:12px}
@media(max-width:700px){.metricHero{min-height:125px;padding:20px}.metricValue{font-size:32px}.delta{font-size:16px}.exchangeAccount summary{grid-template-columns:34px 1fr auto}.exchangeAccount summary em{display:none}.walletChoices{grid-template-columns:1fr}}
/* V0.8 UX corrections */
.main{margin:0 auto;align-self:start;padding-top:32px}.chainPicker{position:relative}.chainPickerBtn{width:100%;display:flex;justify-content:space-between;align-items:center;background:#0b111a;border:1px solid var(--line);color:#fff;padding:12px 14px;border-radius:10px;cursor:pointer}.chainDrop{margin-top:8px;border:1px solid #344357;background:#0b111a;border-radius:12px;padding:10px}.chainSearch{width:100%;background:#101925!important;border:1px solid var(--line)!important;color:#fff;padding:10px 12px!important;border-radius:9px}.chainOptions{display:grid;grid-template-columns:1fr 1fr;gap:4px;max-height:300px;overflow:auto;margin-top:8px;padding:4px}.chainOptions label{display:flex;align-items:center;gap:8px;padding:8px;border-radius:7px;font-size:13px}.chainOptions label:hover{background:#151e2b}.chainOptions input{width:auto!important}.chainOptions small{color:var(--muted);margin-left:auto}.assetBreakdown{background:#0a111a;border:1px solid #344357;border-radius:12px;padding:12px 14px}.breakHead{display:flex;justify-content:space-between;align-items:center;padding:4px 0 12px;border-bottom:1px solid var(--line)}.breakHead>b{display:flex;align-items:center}.breakRow{display:grid;grid-template-columns:minmax(230px,1fr) 120px 110px 130px;gap:14px;align-items:center;padding:11px 4px;border-bottom:1px solid #182230}.breakRow:last-child{border:0}.breakRow>span:first-child{display:flex;align-items:center;gap:9px}.breakRow>span:first-child>span:last-child{display:flex;flex-direction:column}.breakRow small{color:var(--muted);margin-top:2px}.breakRow>span:not(:first-child),.breakRow>b{text-align:right}.miniIcon{width:28px;height:28px}.priceRules{margin-top:12px}
@media(max-width:700px){.chainOptions{grid-template-columns:1fr}.breakRow{grid-template-columns:1fr auto}.breakRow>span:nth-child(3){display:none}.breakRow>b{grid-column:2}.main{padding-top:18px}}
/* V0.9 allocation alignment + account UX */
.breakHead{display:grid;grid-template-columns:minmax(230px,1fr) 120px 110px 130px;gap:14px;padding:6px 4px 10px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.05em}.breakHead span:not(:first-child){text-align:right}.breakRow{grid-template-columns:minmax(230px,1fr) 120px 110px 130px}.breakRow .chainIcon{width:28px;height:28px}.loginAccount{display:flex;flex-direction:column;align-items:flex-end;padding:0 4px}.loginAccount b{font-size:11px;color:var(--accent)}.loginAccount span{font-size:12px;color:var(--muted)}.walletChoices button{display:flex;flex-direction:row;align-items:center;gap:12px}.walletChoices button>span{display:flex;flex-direction:column;gap:3px}.walletChoices small{color:var(--muted)}.walletChoiceLogo{width:38px;height:38px;border-radius:10px}.main{padding-top:18px}.top{margin-top:0}
@media(max-width:700px){.breakHead{grid-template-columns:1fr auto}.breakHead span:nth-child(3),.breakHead span:nth-child(4){display:none}.breakRow{grid-template-columns:1fr auto}.loginAccount{display:none}}
/* V0.10 precise table alignment + settings hierarchy */
.assetTable{table-layout:fixed}.assetTable col.assetCol{width:45%}.assetTable col.amountCol{width:20%}.assetTable col.priceCol{width:15%}.assetTable col.valueCol{width:20%}
.assetBreakdown{padding:12px 8px}.breakHead,.breakRow{grid-template-columns:45% 20% 15% 20%;gap:0;padding-left:0;padding-right:0}.breakHead>span,.breakRow>span,.breakRow>b{padding:0 8px;box-sizing:border-box}.breakHead span:not(:first-child),.breakRow>span:not(:first-child),.breakRow>b{text-align:right}
.settingsCategory{grid-column:1/-1;display:flex;flex-direction:column;gap:4px;padding:18px 2px 4px;border-bottom:1px solid var(--line)}.settingsCategory b{font-size:17px}.settingsCategory span{color:var(--muted);font-size:12px}.logoutIcon{font-size:18px;line-height:1}.loginAccount{margin-right:0}
@media(max-width:700px){.assetTable col.assetCol{width:42%}.assetTable col.amountCol{width:23%}.assetTable col.priceCol{width:0}.assetTable col.valueCol{width:35%}.breakHead,.breakRow{grid-template-columns:42% 23% 35%}.breakHead span:nth-child(3),.breakRow>span:nth-child(3){display:none}.breakRow>b{grid-column:auto}}
/* V0.16 */
.allocDetails{border-top:1px solid var(--line)}.allocDetails summary{cursor:pointer;padding:12px 4px;font-weight:700;display:flex;justify-content:space-between}.allocDetails summary span{color:var(--muted);font-weight:500}.walletIcon{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#172231}.chainDrop{position:relative;z-index:5}
/* V0.18 small-value filters, wallet badges, light/dark */
.viewControls{display:flex;justify-content:flex-end;gap:8px;margin:-8px 0 14px}.walletTypeBadge{width:36px;height:28px;border-radius:8px;display:inline-grid;place-items:center;background:var(--panel2);border:1px solid var(--line);font-size:9px;font-weight:900;color:var(--accent)}
:root[data-theme="light"]{color:#172033;background:#f5f7fa;--panel:#fff;--panel2:#eef2f7;--muted:#657287;--line:#d9e0e9;--accent:#178b68;--danger:#d74755}
:root[data-theme="light"] body{background:radial-gradient(circle at 75% -10%,#dff5ec 0,transparent 30%),#f5f7fa;color:#172033}
:root[data-theme="light"] .sidebar{background:#fff}:root[data-theme="light"] .nav button.active,:root[data-theme="light"] .nav button:hover{color:#111827}:root[data-theme="light"] .btn,:root[data-theme="light"] .iconBtn,:root[data-theme="light"] .chainCard,:root[data-theme="light"] .chainPickerBtn,:root[data-theme="light"] .walletChoices button{color:#172033;background:#eef2f7}:root[data-theme="light"] .card,:root[data-theme="light"] .panel,:root[data-theme="light"] .metricHero,:root[data-theme="light"] .chainCard{background:linear-gradient(180deg,#fff,#f8fafc)}:root[data-theme="light"] .allocationBranch,:root[data-theme="light"] .exchangeAccount,:root[data-theme="light"] .assetBreakdown,:root[data-theme="light"] .inlineEdit,:root[data-theme="light"] .chainDrop{background:#f8fafc}:root[data-theme="light"] .form input,:root[data-theme="light"] .form select,:root[data-theme="light"] .inlineEdit input,:root[data-theme="light"] .inlineEdit select,:root[data-theme="light"] .chainSearch{background:#fff!important;color:#172033}:root[data-theme="light"] .chartHead b{color:#172033}:root[data-theme="light"] .treeRow b,:root[data-theme="light"] .treeRow>span:nth-child(2){color:#172033}:root[data-theme="light"] .mobilebar{background:#fff}
/* V0.19 simplified settings */
.settingsSimple{display:grid;grid-template-columns:1fr;gap:14px;max-width:980px}.compactSecurity{max-width:980px}.settingsBlock{padding:0;overflow:visible}.settingsBlockHead{display:flex;justify-content:space-between;align-items:center;padding:18px 20px 12px}.settingsBlockHead h3,.settingsBlockHead h4{margin:0 0 3px}.simpleList{border-top:1px solid var(--line)}.simpleItem{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-bottom:1px solid var(--line)}.simpleItem>div:first-child:not(.entityTitle){display:flex;flex-direction:column;gap:4px}.simpleItem small,.entityTitle small{display:block;color:var(--muted);margin-top:4px}.itemActions{display:flex;gap:6px}.actionIcon{width:34px;height:34px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:inherit;cursor:pointer;font-size:17px;display:grid;place-items:center}.actionIcon:hover{border-color:var(--accent);color:var(--accent)}.dangerIcon:hover{border-color:var(--danger);color:var(--danger)}.addNewBtn{width:calc(100% - 40px);margin:14px 20px 18px;padding:11px 14px;border:1px dashed var(--line);border-radius:10px;background:transparent;color:var(--accent);font-weight:750;cursor:pointer;text-align:left}.addNewBtn:hover{background:var(--panel2)}.addNewBtn.subtle{margin-left:0;margin-right:0;width:100%}.revealForm{border-top:1px solid var(--line);padding:18px 20px;background:rgba(127,127,127,.035)}.formActions{display:flex;justify-content:flex-end;gap:8px}.settingsSectionToggle{width:100%;border:0;background:transparent;color:inherit;padding:19px 20px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;text-align:left}.settingsSectionToggle span{display:flex;flex-direction:column;gap:4px}.settingsSectionToggle small{color:var(--muted);font-weight:400}.metadataBody{border-top:1px solid var(--line);padding:4px 20px 20px}.metadataSub{padding-top:10px}.metadataSub+.metadataSub{border-top:1px solid var(--line);margin-top:18px}.metadataSub .settingsBlockHead{padding-left:0;padding-right:0}.metadataSub .simpleList{border:1px solid var(--line);border-radius:10px;overflow:hidden}.metadataSub .simpleItem{padding:12px 14px}.unifiedChainDrop{max-height:430px;overflow:auto}.networkGroup{margin-top:10px}.networkGroupTitle{display:flex;justify-content:space-between;padding:7px 5px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.05em}.networkGroupTitle small{font-weight:400;letter-spacing:0}.nonEvmOptions{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px}.nonEvmOptions label{display:flex;align-items:center;gap:8px;padding:9px;border-radius:7px}.nonEvmOptions label:hover{background:var(--panel2)}.nonEvmOptions input{width:auto!important}.compactForm{grid-template-columns:1fr 1fr 1fr auto;align-items:end;padding:0 20px 20px}.inlineEdit{margin:0 20px 14px}.simpleItem+.inlineEdit{margin-top:12px}
@media(max-width:700px){.simpleItem{padding:12px 14px}.addNewBtn{width:calc(100% - 28px);margin-left:14px;margin-right:14px}.revealForm{padding:14px}.compactForm{grid-template-columns:1fr;padding:0 14px 14px}.nonEvmOptions{grid-template-columns:1fr}.metadataBody{padding-left:14px;padding-right:14px}}

/* V0.20 Binance-inspired dashboard refinement */
.metricHero{min-height:190px;display:flex;align-items:center;position:relative;overflow:hidden}
.metricHero:not(:has(.heroSpark)):after{content:"";position:absolute;right:3%;bottom:18%;width:32%;height:70%;opacity:.16;background:linear-gradient(180deg,transparent,var(--accent));clip-path:polygon(0 72%,12% 66%,23% 70%,34% 52%,45% 58%,57% 34%,68% 40%,79% 24%,90% 31%,100% 18%,100% 100%,0 100%)}.heroSpark{position:absolute;right:3%;bottom:10%;width:34%;height:75%;pointer-events:none}.heroSpark .heroSparkFill{fill:var(--accent);opacity:.14}.heroSpark .heroSparkLine{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round;stroke-linecap:round}.heroSpark.down .heroSparkFill{fill:#ff737d}.heroSpark.down .heroSparkLine{stroke:#ff737d}.portfolioCheckList{display:flex;flex-direction:column;gap:6px;margin-top:6px;max-height:220px;overflow:auto;padding:4px 2px}
.metricHero>div{position:relative;z-index:1}
.metricValue{font-size:clamp(34px,4vw,54px);letter-spacing:-1.5px}
[data-theme="light"] body,body.light{background:#fff;color:#171717}
[data-theme="light"] .sidebar,[data-theme="light"] .panel,[data-theme="light"] .metricHero,[data-theme="light"] .chainCard,[data-theme="light"] .allocationBranch,[data-theme="light"] .exchangeAccount{background:#fff;border-color:#e8e8e8}
[data-theme="light"] .sidebar{border-right:1px solid #eee}
[data-theme="light"] .nav button.active{background:#f5f5f5;color:#171717}
[data-theme="light"] .btn,[data-theme="light"] .iconBtn{background:#fafafa;border-color:#e5e5e5;color:#181818}
[data-theme="light"] .btn.primary{background:#f0b90b;border-color:#f0b90b;color:#111}
[data-theme="light"] .muted,[data-theme="light"] small{color:#707070}
[data-theme="light"] table th{color:#777}
[data-theme="light"] table td,[data-theme="light"] table th,[data-theme="light"] .breakRow,[data-theme="light"] .breakHead{border-color:#eee}

/* V0.21 exchange-dashboard polish */
.heroKicker{display:flex;align-items:center;gap:8px}.eyeBtn{border:0;background:transparent;color:var(--muted);padding:2px 4px;cursor:pointer;font-size:17px;line-height:1}.eyeBtn:hover{color:var(--text)}
.top{border-bottom:1px solid var(--line);padding-bottom:18px}.panel,.metricHero{border-radius:12px}.sidebar{border-right:1px solid var(--line)}.nav button{border-radius:8px}.nav button.active{font-weight:600}
.tablewrap table{font-size:14px}.assetTable tbody tr:hover{background:color-mix(in srgb,var(--panel) 85%,var(--text) 4%)}.sectionHead h3,.group>h3{font-size:16px}
[data-theme="light"] .metricHero,[data-theme="light"] .panel{box-shadow:none}[data-theme="light"] .assetTable tbody tr:hover{background:#fafafa}

/* V0.22 */
.eyeBtn{width:22px;height:22px;display:inline-grid;place-items:center;border:0;background:transparent;padding:0;cursor:pointer;color:var(--muted)}
.eyeBtn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.eyeBtn:hover{color:var(--text)}
.heroKicker{display:flex;align-items:center;gap:7px}.metricHero{border-radius:10px}.panel{border-radius:10px}.btn{border-radius:6px}.chainCard{border-radius:8px}

/* V0.25 visual consistency */
.brand{margin:0 8px 30px;display:block}.brandLogo{display:block;width:178px;height:auto;max-width:100%}
.domain{display:flex;flex-direction:column;gap:5px;line-height:1.35}.domain a{color:var(--muted);text-decoration:none}.domain a:hover{color:var(--accent)}
.overviewSubSummary{font-weight:500!important}.overviewSubSummary span{font-weight:400!important}
.evmLogo{width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;flex:0 0 32px;background:linear-gradient(145deg,#1f6fff,#44a2ff);color:#fff;border:1px solid rgba(255,255,255,.18);font-size:8px;font-weight:900;letter-spacing:.25px;box-shadow:inset 0 0 0 2px rgba(255,255,255,.08)}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#07130e;box-shadow:none}
.loginbox .btn.primary{background:var(--accent);border-color:var(--accent);color:#07130e}
[data-theme="light"] .btn.primary,[data-theme="light"] .loginbox .btn.primary{background:#18a57a;border-color:#18a57a;color:#fff}
[data-theme="light"] .security{background:#f2faf7;border-color:#cfe8de;color:#233b33}
[data-theme="light"] .security b{color:#118462}[data-theme="light"] .security span{color:#526a61}
[data-theme="light"] .domain a:hover{color:#118462}

.bootLoading{min-height:100vh;display:grid;place-items:center;color:var(--muted);font-size:14px;background:var(--bg)}

/* V0.27 brand */
.brand{margin:0 8px 30px;display:flex;align-items:center;gap:10px}
.brandIconWrap{width:38px;height:38px;display:grid;place-items:center;overflow:hidden;flex:0 0 38px}
.brandIcon{width:38px;height:38px;object-fit:contain;filter:hue-rotate(92deg) saturate(.82) brightness(.88)}
.brandProject{font-size:14px;line-height:1.08;font-weight:600;white-space:nowrap}.brandProject b{display:block;color:var(--accent);font-weight:750}

/* V0.28 supporter / donation */
.supportProjectBtn{margin-top:auto;margin-bottom:16px;width:100%;border:1px solid var(--border);background:transparent;color:var(--text);border-radius:10px;padding:10px 12px;text-align:left;cursor:pointer}
.supportProjectBtn:hover{border-color:var(--accent);color:var(--accent)}
.supportHint{margin-top:10px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;color:var(--muted);font-size:12px;line-height:1.5;background:var(--panel2)}
.supportHint button{border:0;background:none;color:var(--accent);cursor:pointer;padding:0;font:inherit}
.addNewBtn:disabled{opacity:.45;cursor:not-allowed}
.donateModal{max-width:540px}.wideBtn{width:100%;margin-top:14px}
.donationAddress{margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--panel2);display:grid;gap:8px}
.donationAddress b{font-size:12px;word-break:break-all}.claimBox{margin-top:14px;padding:14px;border:1px solid var(--border);border-radius:12px}
.countdown{font-size:28px;font-weight:700;letter-spacing:.5px;color:var(--accent);margin-bottom:4px}
.thanksBox{margin-top:14px;padding:14px;border:1px solid color-mix(in srgb,var(--accent) 35%,var(--border));border-radius:12px;background:color-mix(in srgb,var(--accent) 8%,var(--panel));display:grid;gap:10px}
.thanksBox span{color:var(--muted);font-size:13px;line-height:1.5}
/* V0.30 admin supporter management */
.adminStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}.adminStats .panel{padding:16px;display:grid;gap:5px}.adminStats small{color:var(--muted)}.adminStats b{font-size:24px}.adminGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}.adminUsers .settingsBlockHead{gap:16px}.adminUsers .settingsBlockHead input{max-width:300px}.adminTableWrap{overflow:auto}.adminTable td small{display:block;color:var(--muted);margin-top:3px}.smallBtn{padding:6px 9px;font-size:12px}.form textarea{width:100%;box-sizing:border-box;background:var(--panel2);color:var(--text);border:1px solid var(--border);border-radius:9px;padding:10px;font:inherit;resize:vertical}@media(max-width:850px){.adminStats{grid-template-columns:1fr 1fr}.adminGrid{grid-template-columns:1fr}.adminUsers .settingsBlockHead{align-items:stretch;flex-direction:column}.adminUsers .settingsBlockHead input{max-width:none}}

/* V0.31 requested refinements */
.brandIconWrap{background:transparent!important}
.brandIcon{filter:none!important}
.domain{gap:7px}
.domain .supportProjectBtn{margin:3px 0 0;padding:0;border:0;border-radius:0;background:transparent;width:auto;color:var(--text);font-size:12px}
.domain .supportProjectBtn:hover{color:var(--accent);border:0}
.evmLogo{background:transparent!important;color:var(--accent)!important;border:2px solid var(--accent)!important;box-shadow:none!important;font-size:8px!important;font-weight:900!important}
.allocationBranch .allocRow{border-bottom:0!important}
.overviewSubSummary .overviewCount{font-size:12px!important;color:var(--muted);font-weight:400!important}
.adminGrantPanel{max-width:760px;margin-bottom:16px;padding:20px!important}
.adminGrantForm{padding:4px 2px 2px;gap:13px!important}
.adminGrantForm .btn.primary{margin-top:3px}
.exchangePicker{display:grid;gap:7px;margin-top:6px}
.exchangePicker #exchangeSearch{margin:0}
.exchangePicker select{min-height:150px}
[data-theme="light"] .domain .supportProjectBtn{color:#172033}
[data-theme="light"] .domain .supportProjectBtn:hover{color:#118462}

/* V0.32 typography / role / sync / control alignment */
:root{--ui-font-size:14px}
body,button,input,select,textarea{font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{font-size:var(--ui-font-size)}
h1{font-size:24px} h2{font-size:20px} h3,.settingsBlockHead h3{font-size:14px}
.muted,.fieldLabel,.settingsBlockHead span,.domain,.chainCard small{font-size:12px}
.controlH{height:40px!important;min-height:40px!important;box-sizing:border-box;display:inline-flex!important;align-items:center!important;justify-content:center!important}
.viewControls{align-items:center}
.topActions{align-items:center}
.evmLogo{width:34px!important;height:34px!important;min-width:34px!important;border-radius:50%!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;line-height:1!important;padding:0!important;text-align:center!important;box-sizing:border-box!important;font-size:8px!important}
.roleAdmin{font-size:11px;font-weight:500;color:var(--muted);text-transform:lowercase;margin-left:3px}
.roleSupporter{font-size:14px;color:var(--accent);margin-left:4px;cursor:help}
.syncStatus{height:26px;padding:0 9px;border:1px solid var(--border);border-radius:7px;display:inline-flex;align-items:center;gap:6px;font-size:11px;white-space:nowrap}
.syncStatus i{width:7px;height:7px;border-radius:50%;background:var(--accent);display:block}
.syncStatus.ok{border-color:color-mix(in srgb,var(--accent) 75%,var(--border));color:var(--accent)}
.syncStatus.working{color:var(--text)}
.syncStatus.working i{animation:syncPulse 1s infinite alternate}
@keyframes syncPulse{from{opacity:.3}to{opacity:1}}
/* V0.33 login, theme and settings refinements */
.brandIcon{filter:none!important}.evmLogo img{width:100%;height:100%;display:block}.themeBare{width:40px;border:0;background:transparent!important;color:var(--text);font-size:20px;cursor:pointer;padding:0}.themeBare:hover{opacity:.72}.walletChoiceMark{width:40px;height:40px;flex:0 0 40px;display:grid!important;place-items:center!important}.walletChoiceMark img{width:36px;height:36px;object-fit:contain;display:block}.walletChoiceArrow{margin-left:auto!important;font-size:22px!important}.portfolioLoading{min-height:280px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.portfolioLoading span{color:var(--muted);font-size:12px}.loadingSpinner{width:30px;height:30px;border:3px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.exchangePicker select{width:100%;min-height:42px}.security,.warning{background:#2a2012!important;border-color:#5b4724!important;color:#ffd88a!important}.security b{color:#ffd05f!important}.security span{color:#ead6a8!important}
[data-theme="light"] .security,[data-theme="light"] .warning{background:#fff7d6!important;border-color:#ead68c!important;color:#66531d!important}[data-theme="light"] .security b{color:#8a6b00!important}[data-theme="light"] .security span{color:#66531d!important}
/* V0.34 interaction refinements */
.brandIconWrap,.brandIcon{background:transparent!important}
.syncStatus{border:0!important;background:transparent!important;cursor:pointer;padding:0 4px!important;font-family:inherit}
.syncStatus .syncForce{display:none}.syncStatus.ok:hover .syncNormal{display:none}.syncStatus.ok:hover .syncForce{display:inline}.syncStatus:disabled{cursor:default;opacity:1}
.walletChoiceMark{width:44px!important;height:44px!important;flex-basis:44px!important}.walletChoiceMark img{width:38px!important;height:38px!important;object-fit:contain!important}
.phantomNetworkChoice{display:grid;gap:8px;margin-top:10px}.phantomNetworkChoice .walletChoice{padding-left:16px}
.catalogSummary{cursor:pointer;list-style:none}.catalogSummary::-webkit-details-marker{display:none}.catalogBody{padding:8px 16px 16px;display:grid;gap:8px}.catalogChain{border:1px solid var(--line);border-radius:10px;overflow:hidden}.catalogChain>summary{cursor:pointer;padding:12px 14px;display:flex;justify-content:space-between;align-items:center}.catalogChain>summary span{color:var(--muted);font-size:12px}.catalogChain .simpleList{border-top:1px solid var(--line)}.adminAddToken{border-top:1px solid var(--line);padding:18px}.adminAddToken h3{margin:0 0 10px}

/* V0.35 layout refinements */
.topActions{display:flex!important;flex-wrap:nowrap;align-items:center;column-gap:8px;gap:8px;min-width:0;justify-content:flex-end}
.syncStatus{width:108px!important;min-width:108px!important;justify-content:flex-start!important;padding:0 9px!important}
.syncStatus .syncNormal,.syncStatus .syncForce{display:inline-block;width:74px;text-align:left}
.syncStatus.ok:hover .syncNormal{display:none}
.syncStatus.ok:hover .syncForce{display:inline-block}
.themeBare,.logoutIcon.themeBare{background:transparent!important;border:0!important;box-shadow:none!important;width:40px!important;min-width:40px!important;padding:0!important}
.themeBare:hover,.logoutIcon.themeBare:hover{background:transparent!important;color:var(--accent)!important}
.walletModal{background:var(--panel)!important;border:1px solid var(--border)!important;border-radius:28px!important;box-shadow:none!important;padding:32px!important;max-width:660px!important}
.walletModal .row.between{padding-bottom:18px;border-bottom:1px solid var(--border)}
.walletChoices{margin-top:20px;gap:10px}
.walletChoice{background:transparent!important;border:1px solid var(--border)!important;border-radius:14px!important}
.walletChoice:hover{border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 5%,transparent)!important}
.walletModal #closeWallet{background:transparent!important;border:0!important}
[data-theme="light"] .walletModal{background:#fff!important}
@media(max-width:760px){.topActions{min-width:0}.syncStatus{width:104px!important;min-width:104px!important}}

/* V0.36 modal comfort + sync hover */
.modalback{background:rgba(10,18,26,.18)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
[data-theme="light"] .modalback{background:rgba(235,241,246,.38)!important}
.syncStatus{grid-template-columns:7px 78px!important;display:grid!important;align-items:center!important;column-gap:6px!important}
.syncStatus i{display:block!important;visibility:visible!important;opacity:1!important}
.syncStatus .syncText{display:block;width:78px}
.syncStatus .syncForce{display:none}
.syncStatus.ok:hover .syncNormal{display:none}
.syncStatus.ok:hover .syncForce{display:inline}
.syncStatus.working:hover .syncNormal{display:inline}
.syncStatus.working:hover .syncForce{display:none}
/* V0.37 hedge/settings refinements */
.syncStatus .syncText{position:relative;width:78px;text-align:left}.syncStatus .syncNormal,.syncStatus .syncForce{position:absolute;left:0;top:50%;transform:translateY(-50%);width:78px;text-align:left}
.hedgeIntro{display:flex;gap:12px;align-items:flex-start;margin-bottom:14px}.hedgeIntro span{color:var(--muted)}.hedgeForm{grid-template-columns:140px 180px 1fr auto;align-items:end;margin-top:18px}.hedgeImbalance{color:#f59e0b}.lockedFeature{max-width:680px}.saveStateBtn:disabled{cursor:wait;opacity:.8}
@media(max-width:850px){.hedgeForm{grid-template-columns:1fr}}

/* V0.38 sidebar groups / metadata / hedge */
.nav{display:flex!important;flex-direction:column!important;height:100%}
.navMain{display:grid;gap:4px}
.navGroup{border-top:1px solid var(--border);padding-top:10px;margin-top:10px;display:grid}
.navSettings{margin-top:auto}
.metadataEditor{padding:12px 0;display:grid;gap:14px}
.adminChainMetaForm,.adminInlineTokenForm{padding:12px;border:1px solid var(--border);border-radius:12px}
.adminInlineTokenForm{grid-template-columns:1fr 2fr 120px 1fr auto;align-items:end}
.hedgeBalanced{color:var(--accent)}
@media(max-width:900px){.adminInlineTokenForm{grid-template-columns:1fr}}

/* V0.39 navigation, on-chain sorting and Hedge Monitor */
.navAdminSettings{display:grid!important;gap:4px!important;margin-top:22px!important;padding-top:12px!important;border-top:1px solid var(--border)!important}
.navSettings{margin-top:0!important}
.onchainToolbar{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%}
.toolbarViews,.toolbarSort{display:flex;gap:8px;align-items:center}
.hedgeHead{align-items:flex-end!important}
.hedgeTools{display:flex;gap:8px;align-items:center;margin-left:auto}
.hedgeAddBtn{background:transparent!important;border-color:var(--border)!important;color:var(--accent)!important;font-weight:600}
.hedgeAddBtn:hover{border-color:var(--accent)!important}
.hedgeEditForm{margin-top:16px;padding:16px;border:1px solid var(--border);border-radius:12px;grid-template-columns:1fr 1fr 1fr 1fr 1.5fr auto;align-items:end}
.hedgeActions{justify-content:flex-end;gap:6px}
.syncStatus{width:132px!important;min-width:132px!important;grid-template-columns:7px 96px!important}
.syncStatus .syncText{width:96px!important}
.syncStatus .syncNormal,.syncStatus .syncForce{width:96px!important}
@media(max-width:900px){
 .onchainToolbar{align-items:stretch!important;gap:8px;flex-wrap:wrap}
 .toolbarSort{margin-left:auto}
 .hedgeTools{width:100%;margin-left:0;justify-content:flex-end;flex-wrap:wrap}
 .hedgeEditForm{grid-template-columns:1fr}
}
/* V0.40 admin metadata editor */
.adminTokenCatalog{margin-bottom:18px!important}
.adminUsers{margin-top:18px!important}
.catalogBody{padding:14px 16px 18px!important;gap:12px!important}
.catalogSearch{position:sticky;top:0;z-index:2;background:var(--panel);padding:2px 0 10px}
.catalogSearch input{width:100%;height:42px}
.catalogChain{margin-bottom:8px}
.metadataEditor{padding:16px!important;gap:16px!important}
.adminChainMetaForm{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;padding:14px!important}
.adminChainFields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}
.rpcField{display:block;clear:both;width:100%;margin-top:2px}
.rpcField textarea{display:block;width:100%;min-height:92px;margin-top:6px;resize:vertical}
.adminTokenList{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.adminTokenRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}
.adminTokenRow:last-child{border-bottom:0}.adminTokenRow small{display:block;color:var(--muted);margin-top:4px}
.adminTokenEditForm{display:grid;grid-template-columns:140px minmax(260px,2fr) 100px 160px auto auto;gap:8px;align-items:center;width:100%}
.adminInlineTokenForm{margin-top:0!important;border:1px dashed var(--line)!important;background:transparent!important}
.adminInlineTokenForm:focus-within{border-color:var(--accent)!important}
@media(max-width:900px){.adminChainFields,.adminTokenEditForm{grid-template-columns:1fr}.catalogSearch{position:static}}
/* V0.41 admin metadata, confirmations, exchange locations */
.adminTokenCatalog{margin-bottom:24px!important}
.catalogSearch.adminSearchLike{display:flex;justify-content:flex-end;padding:14px 16px 10px}
.catalogSearch.adminSearchLike input{width:260px;max-width:100%;height:38px;background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:0 12px;font:inherit}
.catalogChain{overflow:visible!important}.catalogChain[open]{padding-bottom:4px}.metadataEditor{position:relative}
.confirmBack{background:rgba(10,18,26,.20)!important;backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important}
.confirmModal{width:min(440px,calc(100vw - 36px))!important;padding:26px!important;border-radius:22px!important}
.confirmModal h2{font-size:20px;margin:0 0 8px}.confirmModal p{color:var(--muted);line-height:1.55;margin:0}
.confirmActions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}.confirmActions .btn{min-width:92px}
.confirmDanger{background:#b94646!important;border-color:#b94646!important;color:#fff!important}
[data-theme="light"] .confirmBack{background:rgba(235,241,246,.45)!important}
.locationLine{display:grid!important;grid-template-columns:38px 1fr minmax(140px,auto) 62px!important;gap:12px!important;align-items:center!important}
.locationLine .locationName{grid-column:2}.locationLine b{grid-column:3;text-align:right}.locationLine em{grid-column:4;text-align:right}
@media(max-width:700px){.locationLine{grid-template-columns:28px 1fr auto!important}.locationLine em{display:none}.locationLine b{grid-column:3}.catalogSearch.adminSearchLike input{width:100%}}

/* V0.42 consistent searchable pickers + persistent wallet form */
.pickerSearch{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:10px;background:var(--input,#0b131d);padding:0 11px;height:42px}
.pickerSearch span{color:var(--muted);font-size:16px}
.pickerSearch input{border:0!important;background:transparent!important;outline:0!important;width:100%;height:38px;padding:0!important}
.adminPickerSearch{width:min(420px,100%)}
.catalogBody>.adminPickerSearch{margin:12px 0 14px}
.adminUsers .settingsBlockHead{align-items:center}
.adminUsers .userSearch{margin-left:auto}
.unifiedChainDrop{margin-top:8px}
.unifiedChainDrop>.pickerSearch{margin:10px}
.chainOptions label,.nonEvmOptions label{cursor:pointer}
/* V0.43 consistent admin/settings form controls */
.pickerSearch input{color:#e8edf6!important;caret-color:var(--accent)!important;font-size:13px!important}
.pickerSearch input::placeholder{color:var(--muted)!important;opacity:1}
:root[data-theme="light"] .pickerSearch input{color:#172033!important}
.adminChainMetaForm .fieldLabel,.adminInlineTokenForm .fieldLabel,.adminTokenEditForm .fieldLabel,
.revealForm .fieldLabel,.inlineEdit .fieldLabel{font-size:12px!important;color:var(--muted)!important}
.adminChainMetaForm input,.adminChainMetaForm textarea,.adminInlineTokenForm input,.adminTokenEditForm input,
.revealForm input,.revealForm select,.revealForm textarea,.inlineEdit input,.inlineEdit select,.inlineEdit textarea{
 background:#0b111a!important;border:1px solid var(--line)!important;color:#e8edf6!important;border-radius:10px!important;
 padding:11px 12px!important;font-size:13px!important;line-height:1.35!important;min-height:42px!important;outline:none!important
}
.adminChainMetaForm input:focus,.adminChainMetaForm textarea:focus,.adminInlineTokenForm input:focus,.adminTokenEditForm input:focus,
.revealForm input:focus,.revealForm select:focus,.inlineEdit input:focus,.inlineEdit select:focus{border-color:var(--accent)!important}
:root[data-theme="light"] .adminChainMetaForm input,:root[data-theme="light"] .adminChainMetaForm textarea,
:root[data-theme="light"] .adminInlineTokenForm input,:root[data-theme="light"] .adminTokenEditForm input,
:root[data-theme="light"] .revealForm input,:root[data-theme="light"] .revealForm select,
:root[data-theme="light"] .inlineEdit input,:root[data-theme="light"] .inlineEdit select{background:#fff!important;color:#172033!important}
.adminTokenEditForm{grid-template-columns:140px minmax(300px,2fr) 110px 170px auto!important;align-items:end!important;padding:4px 0!important}
.adminInlineTokenForm{grid-template-columns:140px minmax(300px,2fr) 110px 170px auto!important;align-items:end!important;padding:14px!important;background:rgba(127,127,127,.025)!important;border-style:solid!important}
.tokenFormActions{align-self:end;white-space:nowrap}
@media(max-width:900px){.adminTokenEditForm,.adminInlineTokenForm{grid-template-columns:1fr!important}}
/* V0.44 */
.locationBullet{grid-column:1;color:var(--muted);font-size:15px;text-align:center;line-height:1}
.adminAddTokenBar{display:flex;justify-content:flex-end;padding:14px 0 2px}
.adminAddTokenBar .btn{color:var(--accent);background:transparent}
.editChainPicker .chainDrop{position:relative!important;display:block!important;max-height:360px;overflow:auto}
.editChainPicker .chainPickerBtn{cursor:default}
/* V0.45 state-safe forms and validation feedback */
.formError{grid-column:1/-1;padding:10px 12px;border:1px solid color-mix(in srgb,#ff6b6b 45%,var(--border));border-radius:9px;background:color-mix(in srgb,#ff6b6b 8%,transparent);color:#ff8a8a;font-size:13px;line-height:1.35}
.accountLocationRow .locationName::before{content:'•';display:inline-block;margin-right:9px;color:var(--muted)}
/* V0.46 settings/admin consistency and light-mode fixes */
:root{--input-bg:#0b111a;--input-text:#e8edf6;--edit-bg:#0a111a;--edit-title-bg:#111b28;--edit-title-text:#c7d3e5}
:root[data-theme="light"]{--input-bg:#fff;--input-text:#172033;--edit-bg:#f8fafc;--edit-title-bg:#eef2f7;--edit-title-text:#172033}
.inlineEdit,.revealForm,.metadataEditor,.adminAddChainForm{color:inherit}
.editTitle{background:var(--edit-title-bg)!important;color:var(--edit-title-text)!important;border:1px solid var(--line)}
.inlineEdit{background:var(--edit-bg)!important}
.revealForm{background:color-mix(in srgb,var(--panel) 96%,var(--muted) 4%)!important}
.form input,.form select,.form textarea,.inlineEdit input,.inlineEdit select,.inlineEdit textarea,
.adminChainMetaForm input,.adminChainMetaForm textarea,.adminInlineTokenForm input,.adminTokenEditForm input,
.adminAddChainForm input,.adminAddChainForm textarea{background:var(--input-bg)!important;color:var(--input-text)!important;border-color:var(--line)!important}
.form input::placeholder,.form textarea::placeholder,.inlineEdit input::placeholder,.adminAddChainForm input::placeholder,.adminAddChainForm textarea::placeholder{color:var(--muted)!important;opacity:.9}
:root[data-theme="light"] .chainPickerBtn,:root[data-theme="light"] .chainDrop,:root[data-theme="light"] .pickerSearch,
:root[data-theme="light"] .inlineEdit,:root[data-theme="light"] .revealForm,:root[data-theme="light"] .adminInlineTokenForm,
:root[data-theme="light"] .adminTokenEditForm,:root[data-theme="light"] .adminAddChainForm{background:#fff!important;color:#172033!important}
:root[data-theme="light"] .chainOptions label:hover,:root[data-theme="light"] .nonEvmOptions label:hover{background:#eef2f7!important}
:root[data-theme="light"] .networkGroupTitle,:root[data-theme="light"] .fieldLabel{color:#657287!important}
:root[data-theme="light"] select option{background:#fff;color:#172033}
.adminCatalogTools{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:12px 0 14px}
.adminCatalogTools .adminPickerSearch{margin:0!important;flex:1;max-width:420px}
.adminAddChainBtn{white-space:nowrap}
.adminAddChainForm{margin:12px 0 16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:rgba(127,127,127,.025)}
.adminAddChainForm .formActions{margin-top:2px}
.alertModal .confirmActions{justify-content:flex-end}
.alertModal .btn.primary{min-width:92px}
@media(max-width:700px){.adminCatalogTools{align-items:stretch;flex-direction:column}.adminCatalogTools .adminPickerSearch{max-width:none;width:100%}.adminAddChainBtn{width:100%}}
/* V0.47 searchable custom-token chain picker */
.searchSelect{display:grid;gap:8px;width:100%}
.customTokenChainField{grid-column:1/-1}
.customTokenChainSelect{width:100%;min-height:116px;border:1px solid var(--border);border-radius:10px;background:var(--input,#0b131d);color:var(--text);padding:6px 8px;font:inherit}
.customTokenChainSelect option{padding:7px 9px;border-radius:6px}
[data-theme="light"] .customTokenChainSelect{background:#fff;color:#172033}
.customTokenForm{align-items:end}
.customTokenChainSelect:focus{outline:1px solid var(--accent);border-color:var(--accent)}
/* V0.48 global metadata uses the same stable form/list pattern as Settings custom metadata */
.adminGlobalMetadata{display:grid;gap:18px;margin-top:14px}
.adminGlobalMetadata .metadataSub{padding-top:0}
.adminGlobalChainPicker{max-width:720px}
#adminGlobalChainSelect{width:100%;min-height:150px;border:1px solid var(--border);border-radius:10px;background:var(--input-bg);color:var(--input-text);padding:6px 8px;font:inherit}
#adminGlobalChainSelect option{padding:8px 10px;border-radius:6px}
#adminGlobalChainSelect:focus{outline:1px solid var(--accent);border-color:var(--accent)}
.adminSelectedChain{margin-top:12px}
.adminGlobalEdit,.adminGlobalTokenForm{margin-top:10px!important;padding:14px!important;border:1px solid var(--line)!important;border-radius:12px!important;background:var(--edit-bg)!important;display:grid!important;gap:12px!important}
.adminGlobalEdit .editTitle,.adminGlobalTokenForm .editTitle{grid-column:1/-1}
.adminGlobalTokenList .simpleItem{align-items:center}
.adminGlobalTokenList .inlineEdit{margin:0 0 10px 0!important}
.adminGlobalTokenList .entityTitle{min-width:0}
.adminGlobalTokenList .entityTitle small{overflow-wrap:anywhere}
.adminGlobalMetadata .addNewBtn{white-space:nowrap}
.adminTokenCatalog>.settingsBlockHead{align-items:center}
[data-theme="light"] #adminGlobalChainSelect{background:#fff;color:#172033}
@media(max-width:760px){.adminTokenCatalog>.settingsBlockHead{align-items:stretch;gap:10px;flex-direction:column}.adminTokenCatalog>.settingsBlockHead .addNewBtn{width:100%}.adminGlobalChainPicker{max-width:none}}
.adminGlobalToolbar{display:flex;justify-content:flex-end;align-items:center}
.adminGlobalToolbar .addNewBtn{margin:0}
#adminGlobalDetails>.catalogSummary{cursor:pointer}
#adminGlobalDetails[open]>.catalogSummary{border-bottom:1px solid var(--border);padding-bottom:14px;margin-bottom:2px}
/* V0.49 global built-in metadata editor */
.adminGlobalToolbar{gap:10px;justify-content:flex-start;flex-wrap:wrap}
.adminGlobalToolbar .addNewBtn{width:auto;min-width:190px;padding:10px 14px}
.adminEditChooser{max-width:760px}
.adminEditChooser .formActions{margin-top:12px}
.adminEditSession{display:grid;gap:16px;border:1px solid var(--line);border-radius:12px;padding:16px;background:var(--edit-bg)}
.adminEditSession>.editTitle{margin:0}
.adminEditSession .adminGlobalEdit{margin:0!important;padding:0!important;border:0!important;background:transparent!important}
.adminChainFields{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(130px,.55fr) minmax(150px,.65fr);gap:12px}
.adminDraftTokens{border-top:1px solid var(--line);padding-top:4px}
.adminDraftTokens>.settingsBlockHead{padding:12px 0}
.adminDraftTokens>.settingsBlockHead .addNewBtn{width:auto;margin:0;padding:9px 12px}
.adminTokenDraftBox{border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px;background:var(--panel2)}
.adminTokenDraftGrid{display:grid;grid-template-columns:minmax(130px,.6fr) minmax(260px,2fr) minmax(100px,.45fr) minmax(160px,.8fr);gap:10px}
.adminEditFooter{display:flex;justify-content:flex-end;gap:8px;border-top:1px solid var(--line);padding-top:14px}
[data-theme="light"] .adminEditSession,[data-theme="light"] .adminTokenDraftBox{background:#fff}
@media(max-width:900px){.adminChainFields,.adminTokenDraftGrid{grid-template-columns:1fr}.adminGlobalToolbar .addNewBtn{width:100%}}

/* V0.50 — built-in token editor sizing */
.adminTokenDraftGrid{
  display:grid!important;
  grid-template-columns:minmax(120px,.65fr) minmax(320px,2.25fr) minmax(90px,.45fr) minmax(160px,.8fr)!important;
  gap:12px!important;
  align-items:end!important;
}
.adminTokenDraftGrid .fieldLabel{min-width:0;font-size:12px!important;color:var(--muted)!important}
.adminTokenDraftGrid input{
  display:block!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;
  min-height:42px!important;padding:10px 12px!important;border:1px solid var(--line)!important;
  border-radius:10px!important;background:var(--input-bg)!important;color:var(--input-text)!important;
  font:inherit!important;font-size:13px!important;line-height:1.35!important;outline:none!important;
}
.adminTokenDraftGrid input:focus{border-color:var(--accent)!important}
.adminTokenDraftGrid input::placeholder{color:var(--muted)!important;opacity:.9}
.adminTokenDraftBox>.formActions{margin-top:12px;justify-content:flex-end}
[data-theme="light"] .adminTokenDraftGrid input{background:#fff!important;color:#172033!important}
@media(max-width:980px){.adminTokenDraftGrid{grid-template-columns:1fr 2fr 110px 1fr!important}}
@media(max-width:720px){.adminTokenDraftGrid{grid-template-columns:1fr!important}}

/* V0.51 Hedge Monitor: inline first-row editor */
.hedgeFormRow>td{padding:10px 12px!important;background:color-mix(in srgb,var(--panel) 92%,var(--accent) 8%)}
.hedgeInlineForm{display:grid;grid-template-columns:minmax(110px,.75fr) minmax(130px,.9fr) minmax(170px,1.1fr) minmax(180px,1.5fr) auto;gap:10px;align-items:end;width:100%}
.hedgeInlineForm .fieldLabel{margin:0;min-width:0}
.hedgeInlineForm input{width:100%;min-width:0}
.hedgeInlineForm small{display:block;color:var(--muted);font-size:11px;line-height:1.25;margin-top:4px}
.hedgeInlineActions{align-items:center;justify-content:flex-end;white-space:nowrap;padding-bottom:1px}
.hedgeFooter{display:flex;align-items:center;gap:12px;justify-content:flex-end;margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}
.hedgeFooter .muted{font-size:12px}
@media(max-width:1100px){.hedgeInlineForm{grid-template-columns:1fr 1fr}.hedgeInlineActions{justify-content:flex-start}.hedgeFooter{align-items:flex-start;flex-direction:column}}


/* V0.52 Hedge Monitor editor: compact, aligned, and positioned at the edited asset */
.hedgeFormRow>td{
  padding:12px 14px!important;
  background:color-mix(in srgb,var(--panel) 95%,var(--accent) 5%)!important;
}
.hedgeInlineForm{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:10px!important;
  width:100%!important;
  margin:0!important;
}
.hedgeEditorTitle{
  display:flex;
  align-items:baseline;
  gap:12px;
  min-width:0;
  font-weight:700;
  color:var(--text);
}
.hedgeEditorTitle small{
  color:var(--muted)!important;
  font-size:11px!important;
  font-weight:400!important;
  line-height:1.3!important;
  margin:0!important;
}
.hedgeInlineFields{
  display:grid;
  grid-template-columns:minmax(110px,.7fr) minmax(130px,.8fr) minmax(150px,.9fr) minmax(220px,1.7fr) auto;
  gap:10px;
  align-items:end;
  width:100%;
}
.hedgeInlineFields .fieldLabel{margin:0!important;min-width:0;font-size:12px}
.hedgeInlineFields input{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  box-sizing:border-box!important;
  min-height:42px!important;
  padding:10px 12px!important;
  border-radius:10px!important;
  font:inherit!important;
  font-size:13px!important;
}
.hedgeInlineActions{display:flex;align-items:center!important;justify-content:flex-end!important;gap:8px;white-space:nowrap;padding:0!important}
.hedgeInlineActions .btn{min-height:42px}
.hedgeEditRow{scroll-margin-top:110px}
.othersInlineFields{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;align-items:end;width:100%}
.othersInlineFields .fieldLabel{margin:0!important;min-width:0;font-size:12px;display:grid;gap:6px;color:var(--muted)}
.othersInlineFields input,.othersInlineFields select{display:block!important;width:100%!important;min-width:0!important;box-sizing:border-box!important;min-height:42px!important;padding:10px 12px!important;border-radius:10px!important;font:inherit!important;font-size:13px!important;background:var(--input-bg)!important;color:var(--input-text)!important;border:1px solid var(--line)!important}
.othersInlineFields .checkboxField{display:flex!important;flex-direction:row;align-items:center!important;gap:10px;grid-column:1/-1;margin-top:2px;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:13px;cursor:pointer;transition:background .15s}
.othersInlineFields .checkboxField:hover{background:color-mix(in srgb,var(--accent) 7%,var(--panel2))}
.othersInlineFields .checkboxField input{width:16px!important;height:16px!important;min-height:auto!important;flex:none;accent-color:var(--accent);cursor:pointer}
.othersNoteField{grid-column:1/-1}
.othersInlineFields .hedgeInlineActions{grid-column:1/-1;justify-content:flex-end!important}
@media(max-width:720px){.othersInlineFields{grid-template-columns:1fr}}
.portfolioSelectBox{text-align:left}.portfolioSelectHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.portfolioSelectHead .brand{margin:0}
.portfolioSelectList{display:grid;gap:10px;margin-top:18px}
.portfolioSelectBtn{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:4px;text-align:left;margin-top:0!important}
.portfolioSelectBtn b{font-size:15px}
.portfolioSwitch{position:relative}.portfolioSwitchTrigger{font-size:18px}.portfolioSwitchMenu{display:none;position:absolute;z-index:30;top:46px;right:0;min-width:190px;padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 42px rgba(0,0,0,.28);max-height:280px;overflow:auto}.portfolioSwitchMenu.open{display:grid;gap:2px}.portfolioSwitchMenu button{display:flex;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer;font-size:13px}.portfolioSwitchMenu button:hover,.portfolioSwitchMenu button.selected{background:color-mix(in srgb,var(--accent) 9%,var(--panel2))}.portfolioSwitchMenu button strong{color:var(--accent)}.portfolioSwitchMenu button small{color:var(--muted);font-size:11px}:root[data-theme="light"] .portfolioSwitchMenu{background:#fff;box-shadow:0 18px 42px rgba(31,41,55,.14)}
.portfolioRow{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.portfolioRow.activePortfolioRow{border-left:2px solid var(--accent);padding-left:10px}
.portfolioRenameForm{width:100%}
.portfolioResourceManage{margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
.portfolioResourceManage>b{display:block;margin-bottom:4px}
.portfolioResourceRow{display:flex;justify-content:space-between;align-items:center;gap:12px}
.inlineCheckbox{display:flex!important;flex-direction:row;align-items:center;gap:6px;font-size:12px;color:var(--muted);margin:0!important}
.inlineCheckbox input{width:auto!important}
@media(max-width:1180px){
  .hedgeInlineFields{grid-template-columns:1fr 1fr}
  .hedgeNoteField{grid-column:1/-1}
  .hedgeInlineActions{justify-content:flex-start!important}
}
@media(max-width:720px){
  .hedgeInlineFields{grid-template-columns:1fr}
  .hedgeNoteField{grid-column:auto}
  .hedgeEditorTitle{align-items:flex-start;flex-direction:column;gap:3px}
}

/* Admin save feedback stays in the active edit session */
#saveAdminBuiltinEdit.savedState,
#saveAdminBuiltinEdit:disabled.savedState{
  opacity:.48!important;
  cursor:default!important;
  filter:saturate(.65);
}

/* V0.53 donation modal polish */
.donateModal{max-width:720px!important;padding:28px!important}
.donationHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}
.donationHeader h2{margin:0 0 6px;font-size:24px;letter-spacing:-.35px}
.donationHeader .muted{max-width:560px;line-height:1.55;font-size:13px}
.donationNetworkField{position:relative;display:grid;gap:7px;margin-bottom:14px}
.donationNetworkTrigger{display:grid;grid-template-columns:34px 1fr auto;gap:11px;align-items:center;width:100%;min-height:54px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--input-bg);color:var(--input-text);text-align:left;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}
.donationNetworkTrigger:hover,.donationNetworkTrigger.open{border-color:color-mix(in srgb,var(--accent) 65%,var(--line));box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 9%,transparent)}
.donationNetworkTrigger:disabled{cursor:default;opacity:.78}
.donationNetworkTrigger>span:nth-child(2){display:grid;gap:2px}.donationNetworkTrigger small{color:var(--muted);font-size:11px;font-weight:400}.donationNetworkTrigger>strong{color:var(--muted);font-size:13px}
.donationNetIcon{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--panel2);overflow:hidden;font-size:9px;font-weight:800;color:var(--muted)}
.donationNetIcon img{width:100%;height:100%;object-fit:cover}
.donationNetworkMenu{display:none;position:absolute;z-index:30;top:78px;left:0;right:0;padding:7px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 42px rgba(0,0,0,.28);max-height:290px;overflow:auto}
.donationNetworkMenu.open{display:grid;gap:3px}
.donationNetworkMenu button{display:grid;grid-template-columns:32px 1fr auto;gap:10px;align-items:center;width:100%;padding:9px;border:0;border-radius:9px;background:transparent;color:var(--text);text-align:left;cursor:pointer}
.donationNetworkMenu button:hover,.donationNetworkMenu button.selected{background:color-mix(in srgb,var(--accent) 9%,var(--panel2))}
.donationNetworkMenu button>span:nth-child(2){display:grid;gap:2px}.donationNetworkMenu small{font-size:11px;color:var(--muted)}.donationNetworkMenu strong{color:var(--accent)}
.donationAddressCard{display:grid;grid-template-columns:minmax(0,1fr) 172px;gap:16px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--panel2);align-items:stretch}
.donationAddressInfo{display:flex;flex-direction:column;min-width:0}.donationEyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:9px}.donationAddressInfo>b{font-size:13px;line-height:1.55;word-break:break-all;color:var(--text)}
.donationAddressActions{margin-top:auto;padding-top:16px}.donationAddressActions .btn{min-width:128px}.donationAddressActions .btn.copied{border-color:var(--accent);color:var(--accent)}
.donationQr{display:grid;place-items:center;align-content:center;gap:7px}.donationQrFrame{width:150px;height:150px;padding:8px;background:#fff;border-radius:12px;display:grid;place-items:center;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}.donationQrFrame img{width:100%;height:100%;display:block}.donationQrFrame span{color:#5d6470;font-size:11px}.donationQr small{color:var(--muted);font-size:10px}
.donationSentBtn{min-height:50px;margin-top:16px!important}
.donationClaim{margin-top:16px!important;padding:16px!important;border-radius:14px!important;background:color-mix(in srgb,var(--panel2) 94%,var(--accent) 6%)}
.donationClaimHead{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.donationClaimHead .countdown{margin:0 0 3px;font-variant-numeric:tabular-nums}.donationStep{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:5px 8px;white-space:nowrap}
.donationVerifyChoice{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.donationChoice{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--line);border-radius:11px;background:var(--input-bg);cursor:pointer;transition:border-color .18s ease,background-color .18s ease}.donationChoice.selected{border-color:color-mix(in srgb,var(--accent) 70%,var(--line));background:color-mix(in srgb,var(--accent) 7%,var(--input-bg))}.donationChoice input{margin-top:3px;accent-color:var(--accent)}.donationChoice span{display:grid;gap:3px}.donationChoice b{font-size:12px}.donationChoice small{font-size:11px;line-height:1.35;color:var(--muted)}
.donationVerifyForm{margin-top:10px}.donationVerifyForm .wideBtn{margin-top:2px!important;min-height:48px}
.donationSuccess{grid-template-columns:38px 1fr auto!important;align-items:center!important}.donationSuccessMark{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent);font-size:18px;font-weight:800}.donationSuccess>div:nth-child(2){display:grid;gap:4px}.donationSuccess .btn{min-width:84px}
:root[data-theme="light"] .donationNetworkMenu{background:#fff;box-shadow:0 18px 42px rgba(31,41,55,.14)}
:root[data-theme="light"] .donationAddressCard,:root[data-theme="light"] .donationClaim{background:#f8fafc}
@media(max-width:680px){.donateModal{padding:20px!important}.donationAddressCard{grid-template-columns:1fr}.donationQr{order:-1}.donationVerifyChoice{grid-template-columns:1fr}.donationSuccess{grid-template-columns:38px 1fr!important}.donationSuccess .btn{grid-column:1/-1;width:100%}}

/* V0.53 smooth Admin save/cancel feedback */
.adminEditSession{transition:background-color .18s ease,border-color .18s ease,opacity .18s ease}
#saveAdminBuiltinEdit{min-width:116px;transition:opacity .2s ease,background-color .2s ease,border-color .2s ease,color .2s ease,filter .2s ease}
#saveAdminBuiltinEdit.savedState,#saveAdminBuiltinEdit:disabled.savedState{opacity:.55!important;filter:saturate(.6);cursor:default!important}

/* V0.53 Hedge editor aligned with Settings/Admin form language */
.hedgeInlineForm{background:transparent!important;color:inherit!important}
.hedgeInlineFields .fieldLabel{display:grid!important;gap:6px!important;color:var(--muted)!important;font-size:12px!important}
.hedgeInlineFields input{background:var(--input-bg)!important;color:var(--input-text)!important;border:1px solid var(--line)!important;border-radius:10px!important;min-height:42px!important;padding:10px 12px!important;font-size:13px!important;line-height:1.35!important;outline:none!important;transition:border-color .16s ease,box-shadow .16s ease}
.hedgeInlineFields input:focus{border-color:var(--accent)!important;box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 9%,transparent)}
.hedgeInlineFields input::placeholder{color:var(--muted)!important;opacity:.9}
.hedgeEditorTitle{padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--edit-title-bg);color:var(--edit-title-text)}
:root[data-theme="light"] .hedgeFormRow>td{background:#f8fafc!important}


/* V0.54 — Admin alignment, persistent copy feedback and balance notifications */
.adminGrantPanel{max-width:none!important}
.adminGrantForm{
  display:grid!important;
  grid-template-columns:minmax(260px,2fr) minmax(145px,.75fr) minmax(165px,.85fr) minmax(220px,1.35fr) minmax(150px,.7fr)!important;
  gap:12px!important;
  align-items:end!important;
}
.adminGrantForm .btn.primary{height:42px;margin:0!important;align-self:end}
.adminGlobalMetadata{display:grid;gap:14px}
.adminGlobalToolbar{display:flex;align-items:center;gap:10px;min-height:42px}
.adminEditChooser{
  max-width:none!important;
  display:grid!important;
  grid-template-columns:minmax(220px,.7fr) minmax(420px,2fr)!important;
  gap:14px 22px!important;
  align-items:start!important;
  border-top:1px solid var(--line);
  padding-top:16px!important;
}
.adminEditChooser>.settingsBlockHead{grid-column:1;padding:4px 0!important;align-items:flex-start!important}
.adminEditChooser>.adminGlobalChainPicker{grid-column:2;max-width:none!important;width:100%}
.adminEditChooser>.formActions{grid-column:2;margin-top:0!important;justify-content:flex-end}
#adminGlobalChainSelect{min-height:220px}
#adminAddBuiltinChainForm{
  display:grid!important;
  grid-template-columns:minmax(240px,1.5fr) minmax(130px,.55fr) minmax(150px,.65fr) minmax(320px,1.8fr)!important;
  align-items:end!important;
  gap:12px!important;
}
#adminAddBuiltinChainForm>.editTitle,
#adminAddBuiltinChainForm>.formActions,
#adminAddBuiltinChainForm>.formError{grid-column:1/-1}
#adminAddBuiltinChainForm textarea{min-height:42px;max-height:100px}
.adminUsers .settingsBlockHead{display:grid!important;grid-template-columns:minmax(220px,1fr) minmax(320px,.8fr);align-items:center!important}
.adminUsers .adminPickerSearch{width:100%!important;max-width:none!important;justify-self:end}
.donationAddressActions #copyDonation.copied,
.donationAddressActions #copyDonation.copied:disabled{opacity:1!important;color:var(--accent)!important;border-color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 8%,transparent)!important}

.notificationStack{
  position:fixed;right:22px;bottom:22px;z-index:90;width:min(370px,calc(100vw - 28px));
  display:grid;gap:10px;pointer-events:none
}
.balanceNotice{
  position:relative;pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:13px;padding:14px 42px 13px 15px;box-shadow:0 18px 44px rgba(0,0,0,.24);
  animation:balanceNoticeIn .22s ease-out;display:grid;gap:7px
}
.balanceNotice .noticeTitle{font-weight:800;font-size:13px}
.balanceNotice .noticeChanges{display:flex;flex-wrap:wrap;gap:6px 12px;font-variant-numeric:tabular-nums}
.balanceNotice .noticeChanges span{font-size:13px;font-weight:750}
.balanceNotice .noticeChanges .up{color:var(--accent)}
.balanceNotice .noticeChanges .down{color:var(--danger)}
.balanceNotice small{color:var(--muted);font-size:11px}
.noticeClose{position:absolute;right:9px;top:9px;width:26px;height:26px;border:0;border-radius:7px;background:transparent;color:var(--muted);font-size:18px;cursor:pointer}
.noticeClose:hover{background:var(--panel2);color:var(--text)}
@keyframes balanceNoticeIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
[data-theme="light"] .balanceNotice{background:#fff;box-shadow:0 16px 38px rgba(20,35,50,.14)}

@media(max-width:1100px){
  .adminGrantForm{grid-template-columns:1fr 1fr!important}
  .adminGrantForm .btn.primary{grid-column:1/-1}
  #adminAddBuiltinChainForm{grid-template-columns:1fr 1fr!important}
}
@media(max-width:760px){
  .adminGrantForm,#adminAddBuiltinChainForm,.adminEditChooser{grid-template-columns:1fr!important}
  .adminEditChooser>.settingsBlockHead,.adminEditChooser>.adminGlobalChainPicker,.adminEditChooser>.formActions{grid-column:1}
  .adminUsers .settingsBlockHead{display:flex!important;flex-direction:column;align-items:stretch!important}
  .notificationStack{right:14px;bottom:74px;width:calc(100vw - 28px)}
}


/* V0.55 — Admin hierarchy/alignment + notification history */
.adminGrantPanel{padding:0!important}
.adminGrantPanel>.settingsBlockHead,
.adminTokenCatalog>details>.catalogSummary,
.adminUsers>.settingsBlockHead{
  padding:18px 20px 12px!important;
  min-height:68px;
  box-sizing:border-box;
}
.adminGrantPanel>.settingsBlockHead h3,
.adminTokenCatalog .catalogSummary h3,
.adminUsers>.settingsBlockHead h3{
  margin:0 0 4px!important;
  line-height:1.25;
}
.adminGrantForm{
  padding:0 20px 20px!important;
  margin:0!important;
  grid-template-columns:minmax(300px,1.65fr) minmax(160px,.62fr) minmax(175px,.7fr) minmax(240px,1.15fr) minmax(165px,.62fr)!important;
}
.adminTokenCatalog .metadataBody{padding:4px 20px 20px!important}
.adminGlobalToolbar{padding:0!important;margin:0!important}
.adminUsers>.settingsBlockHead{
  grid-template-columns:minmax(260px,1fr) minmax(360px,.82fr)!important;
  gap:20px!important;
}
.adminUsers .adminTable th:first-child,
.adminUsers .adminTable td:first-child{padding-left:20px!important}
.adminUsers .adminTable th:last-child,
.adminUsers .adminTable td:last-child{padding-right:20px!important}
.adminUsers .adminTable th,
.adminUsers .adminTable td{vertical-align:middle}
.adminStats{align-items:stretch}
.adminStats .panel{padding:16px 18px!important}
.adminStats .panel small{margin:0}
.adminStats .panel b{line-height:1.15}
#adminGlobalDetails>.catalogSummary{margin:0!important}
#adminGlobalDetails[open]>.catalogSummary{padding-bottom:12px!important}
.adminEditChooser{padding-top:16px!important}
.adminEditChooser>.settingsBlockHead{min-height:auto!important;padding:0!important}
.adminEditChooser>.formActions{align-self:end}
.adminEditSession{margin-top:0}
@media(max-width:1100px){
  .adminGrantForm{grid-template-columns:1fr 1fr!important}
  .adminGrantForm .btn.primary{grid-column:1/-1}
}
@media(max-width:760px){
  .adminGrantPanel>.settingsBlockHead,.adminTokenCatalog>details>.catalogSummary,.adminUsers>.settingsBlockHead{padding-left:14px!important;padding-right:14px!important}
  .adminGrantForm{padding:0 14px 14px!important}
  .adminTokenCatalog .metadataBody{padding-left:14px!important;padding-right:14px!important}
}

/* Notification center */
.notificationArea{
  position:fixed;right:22px;bottom:22px;z-index:90;width:min(390px,calc(100vw - 28px));
  display:grid;gap:10px;justify-items:stretch;pointer-events:none
}
.notificationStack{
  position:static!important;right:auto!important;bottom:auto!important;width:100%!important;
  display:grid;gap:10px;pointer-events:none
}
.balanceNotice{
  cursor:pointer;
  transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
.balanceNotice:hover{
  border-color:color-mix(in srgb,var(--accent) 55%,var(--line));
  box-shadow:0 20px 48px rgba(0,0,0,.28);
}
.notificationHistoryToggle{
  pointer-events:auto;justify-self:end;position:relative;width:44px;height:44px;border-radius:50%;
  border:1px solid var(--line);background:var(--panel);color:var(--text);font-size:17px;cursor:pointer;
  box-shadow:0 12px 32px rgba(0,0,0,.22);display:grid;place-items:center
}
.notificationHistoryToggle:hover,.notificationHistoryToggle.active{border-color:var(--accent);color:var(--accent)}
.notificationHistoryToggle span{
  position:absolute;right:-3px;top:-4px;min-width:18px;height:18px;padding:0 4px;border-radius:9px;
  background:var(--accent);color:#07130e;font-size:10px;font-weight:900;display:grid;place-items:center;
  box-sizing:border-box
}
.notificationHistoryPanel{
  pointer-events:auto;background:var(--panel);border:1px solid var(--line);border-radius:14px;
  box-shadow:0 22px 56px rgba(0,0,0,.30);overflow:hidden;animation:balanceNoticeIn .18s ease-out
}
.notificationHistoryHead{
  display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;
  border-bottom:1px solid var(--line)
}
.notificationHistoryHead>div:first-child{display:grid;gap:2px}
.notificationHistoryHead small{color:var(--muted);font-size:11px}
.notificationHistoryHead .row{gap:5px}
.notificationHistoryHead .historyClose{position:static}
.notificationTextBtn{
  border:0;background:transparent;color:var(--muted);padding:6px 7px;border-radius:7px;cursor:pointer;font:inherit;font-size:11px
}
.notificationTextBtn:hover{background:var(--panel2);color:var(--text)}
.notificationTextBtn:disabled{opacity:.45;cursor:default}
.notificationHistoryList{max-height:min(430px,55vh);overflow:auto}
.notificationHistoryItem{padding:12px 14px;border-bottom:1px solid var(--line);display:grid;gap:6px}
.notificationHistoryItem:last-child{border-bottom:0}
.notificationHistoryItem .noticeTitle{font-size:12px;font-weight:800}
.notificationHistoryItem .noticeChanges{display:flex;flex-wrap:wrap;gap:5px 11px;font-variant-numeric:tabular-nums}
.notificationHistoryItem .noticeChanges span{font-size:12px;font-weight:750}
.notificationHistoryItem .noticeChanges .up{color:var(--accent)}
.notificationHistoryItem .noticeChanges .down{color:var(--danger)}
.notificationHistoryItem>small{color:var(--muted);font-size:10px}
[data-theme="light"] .notificationHistoryPanel,
[data-theme="light"] .notificationHistoryToggle{background:#fff;box-shadow:0 16px 38px rgba(20,35,50,.14)}
@media(max-width:760px){
  .notificationArea{right:14px;bottom:74px;width:calc(100vw - 28px)}
}

/* V0.56 — translucent notification center + final Admin alignment */
.adminGrantBtn{
  width:100%!important;margin:0!important;min-width:165px!important;height:42px!important;
  padding:10px 14px!important;align-self:end!important;text-align:center!important;
}
.adminGrantForm .adminGrantBtn{grid-column:auto}
.adminGrantPanel>.settingsBlockHead,
.adminTokenCatalog>details>.catalogSummary,
.adminUsers>.settingsBlockHead{padding-left:20px!important;padding-right:20px!important}
.adminGrantForm,.adminTokenCatalog .metadataBody{padding-left:20px!important;padding-right:20px!important}
.adminUsers .adminTable th:first-child,.adminUsers .adminTable td:first-child{padding-left:20px!important}
.adminUsers .adminTable th:last-child,.adminUsers .adminTable td:last-child{padding-right:20px!important}

.notificationArea{width:min(410px,calc(100vw - 28px))}
.balanceNotice,
.notificationHistoryPanel,
.notificationHistoryToggle{
  border:0!important;
  background:rgba(13,20,30,.78)!important;
  -webkit-backdrop-filter:blur(18px) saturate(130%);
  backdrop-filter:blur(18px) saturate(130%);
  box-shadow:0 18px 44px rgba(0,0,0,.20)!important;
}
.balanceNotice{border-left:0!important;padding:13px 42px 13px 13px!important}
.balanceNotice:hover{box-shadow:0 20px 48px rgba(0,0,0,.26)!important;background:rgba(18,27,39,.86)!important}
.notificationEntity{display:grid;grid-template-columns:34px minmax(0,1fr);gap:10px;align-items:start}
.noticeLogo{
  width:30px;height:30px;border-radius:50%;overflow:hidden;display:grid;place-items:center;
  background:rgba(255,255,255,.06);font-size:8px;font-weight:900;color:var(--muted)
}
.noticeLogo img{width:100%;height:100%;object-fit:cover}
.noticeTitle{font-weight:800;line-height:1.25}
.noticeChanges{margin-top:5px}
.notificationHistoryPanel{overflow:hidden}
.notificationHistoryHead{border-bottom:0!important;padding:14px 15px 10px!important;background:rgba(255,255,255,.015)}
.notificationHistoryList{
  max-height:min(520px,64vh);overflow-y:auto;overflow-x:hidden;
  scrollbar-width:none;-ms-overflow-style:none;padding:3px 0 8px
}
.notificationHistoryList::-webkit-scrollbar{width:0!important;height:0!important;display:none!important}
.notificationHistoryItem{border:0!important;padding:11px 15px!important}
.notificationHistoryItem:hover{background:rgba(255,255,255,.035)}
.notificationHistoryItem .notificationEntity{grid-template-columns:32px minmax(0,1fr)}
.notificationHistoryToggle{box-shadow:0 12px 30px rgba(0,0,0,.18)!important}
.notificationHistoryToggle:hover,.notificationHistoryToggle.active{background:rgba(24,35,48,.88)!important}
.notificationHistoryToggle span{box-shadow:0 0 0 2px rgba(9,15,22,.75)}
[data-theme="light"] .balanceNotice,
[data-theme="light"] .notificationHistoryPanel,
[data-theme="light"] .notificationHistoryToggle{
  background:rgba(245,248,250,.82)!important;
  box-shadow:0 16px 38px rgba(20,35,50,.12)!important;
}
[data-theme="light"] .balanceNotice:hover{background:rgba(250,252,253,.92)!important}
[data-theme="light"] .notificationHistoryHead{background:rgba(0,0,0,.015)}
[data-theme="light"] .notificationHistoryItem:hover{background:rgba(0,0,0,.025)}
@media(max-width:1100px){.adminGrantForm .adminGrantBtn{grid-column:1/-1!important}}
@media(max-width:760px){
  .adminGrantPanel>.settingsBlockHead,.adminTokenCatalog>details>.catalogSummary,.adminUsers>.settingsBlockHead{padding-left:14px!important;padding-right:14px!important}
  .adminGrantForm,.adminTokenCatalog .metadataBody{padding-left:14px!important;padding-right:14px!important}
}

/* V0.57 — feedback, footer icons, donation copy/logo polish */
.domain .footerLine{display:flex!important;align-items:center;gap:7px;min-height:18px}
.domain .footerLine i{width:14px;min-width:14px;text-align:center;font-style:normal;color:var(--muted)}
.domain .footerLine span{display:inline-block}
.domain a.footerLine{color:var(--muted)}
.domain .supportProjectBtn.footerLine{justify-content:flex-start!important;color:var(--muted)!important;font-size:12px!important}
.domain .supportProjectBtn.footerLine:hover,.domain a.footerLine:hover{color:var(--accent)!important}
.domain .supportProjectBtn.footerLine:hover i,.domain a.footerLine:hover i{color:var(--accent)!important}
.feedbackModal{width:min(620px,calc(100vw - 28px))!important}
.feedbackForm textarea{width:100%;box-sizing:border-box;min-height:160px;background:var(--input-bg);color:var(--input-text);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;resize:vertical;outline:none}
.feedbackForm textarea:focus{border-color:var(--accent)}
.feedbackHint{display:flex;gap:8px;align-items:flex-start;color:var(--muted);padding:2px 1px 4px}
.feedbackHint small{line-height:1.45}
.feedbackSuccess{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:center;padding:18px;border-radius:14px;background:var(--panel2)}
.feedbackSuccess .btn{grid-column:1/-1}
.adminFeedbackPanel>.settingsBlockHead,.adminClaimsPanel>.settingsBlockHead{padding:18px 20px 12px!important}
.adminFeedbackBtn{width:auto!important;min-width:150px!important;margin:0!important;text-align:center!important}
.adminFeedbackBody{padding:0 20px 18px}
.feedbackAdminList{display:grid;border-top:1px solid var(--line)}
.feedbackAdminItem{padding:14px 0;border-bottom:1px solid var(--line)}
.feedbackAdminItem:last-child{border-bottom:0}
.feedbackAdminMeta{display:flex;align-items:center;gap:9px}
.feedbackAdminIcon{width:30px;height:30px;border-radius:9px;background:var(--panel2);display:grid;place-items:center;color:var(--accent)}
.feedbackAdminMeta>div{display:grid;gap:2px}
.feedbackAdminMeta small{color:var(--muted);font-size:11px}
.feedbackAdminItem p{margin:9px 0 0 39px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5;color:var(--text)}
.donationAddressActions #copyDonation.copied{transition:opacity .15s ease,background .15s ease,border-color .15s ease}
.donationClaimItem .feedbackAdminMeta{position:relative}
.claimStatus{margin-left:auto;font-size:11px;font-weight:600;padding:3px 9px;border-radius:999px;white-space:nowrap}
.claimStatus.claimOk{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}
.claimStatus.claimWarn{background:color-mix(in srgb,#f5a623 18%,transparent);color:#f5a623}
.donationClaimItem p a{color:var(--accent);text-decoration:none}
.donationClaimItem p a:hover{text-decoration:underline}
.donationClaimItem .row{margin:9px 0 0 39px}
@media(max-width:760px){.adminFeedbackBody{padding-left:14px;padding-right:14px}.feedbackAdminItem p{margin-left:0}.adminFeedbackPanel>.settingsBlockHead,.adminClaimsPanel>.settingsBlockHead{padding-left:14px!important;padding-right:14px!important}.donationClaimItem .row{margin-left:0}}

/* V0.58 — Admin feedback spacing, hedge source picker, gentle notification fading */
.adminFeedbackPanel,.adminClaimsPanel{margin-bottom:16px!important}
.adminFeedbackBtn,.adminGrantBtn{width:200px!important;min-width:200px!important;max-width:200px!important;justify-self:end!important;text-align:center!important}
.adminFeedbackPanel>.settingsBlockHead,.adminClaimsPanel>.settingsBlockHead{gap:18px}

.hedgeLocationPicker{grid-column:1/-2;position:relative;display:grid;gap:6px;min-width:0}
.hedgeLocationPicker>.fieldLabel{font-size:12px;color:var(--muted)}
.hedgeLocationTrigger{width:100%;min-height:42px;background:var(--input-bg)!important;color:var(--input-text)!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:9px 12px!important}
.hedgeLocationDrop{position:relative!important;inset:auto!important;width:100%!important;box-sizing:border-box;margin-top:2px!important;max-height:320px;overflow:auto;z-index:3;background:var(--panel2)!important;border:1px solid var(--line)!important;border-radius:10px!important;padding:8px!important}
.hedgeLocationDrop .pickerSearch{margin:0 0 7px!important}
.hedgeLocationActions{display:flex;justify-content:flex-end;gap:5px;padding:0 2px 6px}
.hedgeLocationOptions{display:grid;gap:3px}
.hedgeLocationOptions label{display:flex;align-items:center;gap:9px;padding:8px 9px;border-radius:8px;cursor:pointer;color:var(--text)}
.hedgeLocationOptions label:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.hedgeLocationOptions input{width:auto!important;min-height:auto!important;margin:0!important;accent-color:var(--accent)}
.hedgeLocationOptions label>span:last-child{display:grid;gap:2px;min-width:0}
.hedgeLocationOptions label b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hedgeLocationOptions label small{font-size:10px!important;margin:0!important;color:var(--muted)!important}
.hedgeLocationIcon{width:26px;height:26px;display:grid;place-items:center;flex:0 0 26px}
.hedgeLocationIcon .cexIcon,.hedgeLocationIcon .evmLogo,.hedgeLocationIcon .chainIcon{width:26px!important;height:26px!important;margin:0!important}
.hedgeLocationHelp{font-size:10px!important;line-height:1.35!important;margin:0!important}
.hedgeInlineFields>.hedgeInlineActions{grid-column:-2/-1}
@media(max-width:1180px){.hedgeLocationPicker,.hedgeInlineFields>.hedgeInlineActions{grid-column:1/-1}.hedgeInlineActions{justify-content:flex-start!important}}

.balanceNotice{transition:opacity 2s ease,transform 2s ease,background .15s ease,box-shadow .15s ease!important}
.balanceNotice.isFading{opacity:0!important;transform:translateY(8px) scale(.985);pointer-events:none}
.notificationHistoryPanel{transition:opacity 2s ease,transform 2s ease!important}
.notificationHistoryPanel.isFading{opacity:0!important;transform:translateY(8px) scale(.99);pointer-events:none}


/* V0.59 — Hedge location picker polish + light notification badge */
.hedgeLocationActionRow{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  align-items:start;
}
.hedgeLocationActionRow .hedgeLocationPicker{
  grid-column:auto!important;
  min-width:0;
}
.hedgeLocationActionRow>.hedgeInlineActions{
  grid-column:auto!important;
  padding-top:21px!important;
  align-self:start!important;
}
.hedgeLocationActionRow>.hedgeInlineActions .btn{
  height:42px!important;
  min-height:42px!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.hedgeLocationOptions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  column-gap:8px!important;
  row-gap:4px!important;
}
.hedgeLocationOptions label{
  min-width:0;
}
.hedgeLocationIcon{
  width:28px!important;
  height:28px!important;
  flex:0 0 28px!important;
}
.hedgeLocationIcon .cexIcon,
.hedgeLocationIcon .evmLogo,
.hedgeLocationIcon .chainIcon{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  box-sizing:border-box!important;
  margin:0!important;
  padding:0!important;
  display:grid!important;
  place-items:center!important;
  border-radius:50%!important;
  overflow:hidden!important;
}
.hedgeLocationIcon .evmLogo img,
.hedgeLocationIcon .chainIcon img,
.hedgeLocationIcon .cexIcon img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  display:block!important;
}
.hedgeLocationDrop{
  scrollbar-width:thin;
  scrollbar-color:rgba(130,142,158,.72) transparent;
}
.hedgeLocationDrop::-webkit-scrollbar{width:8px;height:8px}
.hedgeLocationDrop::-webkit-scrollbar-track{background:transparent!important}
.hedgeLocationDrop::-webkit-scrollbar-thumb{
  background:rgba(130,142,158,.72)!important;
  border-radius:999px;
  border:2px solid transparent;
  background-clip:padding-box!important;
}
.hedgeLocationDrop::-webkit-scrollbar-thumb:hover{background:rgba(155,166,180,.9)!important;background-clip:padding-box!important}
#loadFuturesHedges.hedgeAddBtn{
  min-height:42px!important;
  padding:9px 16px!important;
  background:transparent!important;
  border-color:var(--accent)!important;
  color:var(--accent)!important;
  font-weight:600!important;
}
#loadFuturesHedges.hedgeAddBtn:hover{
  background:color-mix(in srgb,var(--accent) 7%,transparent)!important;
}
[data-theme="light"] .notificationHistoryToggle span{
  background:#18a57a!important;
  color:#fff!important;
  box-shadow:none!important;
  border:2px solid rgba(255,255,255,.96)!important;
  font-weight:800!important;
}
@media(max-width:900px){
  .hedgeLocationActionRow{grid-template-columns:1fr}
  .hedgeLocationActionRow>.hedgeInlineActions{
    padding-top:0!important;
    justify-content:flex-start!important;
  }
}
@media(max-width:720px){
  .hedgeLocationOptions{grid-template-columns:1fr!important}
}

/* Sync pill health states. A sync that failed, or that came back with notices (e.g. a chain whose
   RPC is down and is now showing its last known balance), must not look identical to a clean one —
   otherwise stale numbers read as live. Colour only; layout is untouched. */
.syncStatus.warn .syncNormal{color:#f5a623}
.syncStatus.bad .syncNormal{color:var(--danger)}
.syncStatus.warn:hover .syncNormal,.syncStatus.bad:hover .syncNormal{display:inline-block}
.syncStatus.warn:hover .syncForce,.syncStatus.bad:hover .syncForce{display:none}

/* Panel "Dữ liệu & tài khoản" trong Settings: tải dữ liệu về, đăng xuất thiết bị khác, xoá
   tài khoản. Nút xoá dùng màu cảnh báo vì thao tác đó là vĩnh viễn. */
.accountDataPanel{margin-bottom:16px}
.accountDataActions{display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 4px}
.accountDataNote{padding:8px 20px 18px;font-size:12px;line-height:1.5}
.dangerBtn{border-color:color-mix(in srgb,var(--danger) 45%,var(--line));color:var(--danger)}
.dangerBtn:hover{background:color-mix(in srgb,var(--danger) 10%,transparent);border-color:var(--danger)}
.promptInput{width:100%;box-sizing:border-box;margin-top:12px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:var(--text);font:inherit}
.promptInput:focus{outline:none;border-color:var(--accent)}
@media(max-width:760px){.accountDataActions,.accountDataNote{padding-left:14px;padding-right:14px}.accountDataActions .btn{width:100%}}

/* Terms of Use + Privacy Policy. Ba bề mặt dùng chung một bộ style: dòng chấp thuận ở màn hình
   đăng nhập, modal trong app, và hai trang riêng /terms.html + /privacy.html. Trang riêng cố ý
   mượn đúng ngôn ngữ thị giác của app — brand, panel, kicker, màu accent.

   MÀU: mọi màu ở đây đi qua token, và token được định nghĩa lại cho theme sáng ngay bên dưới.
   Trước đây khối này hardcode màu tối (#fff, #c7d3e5, #0a111a…) nên ở theme sáng thì chữ hover
   trắng trên nền trắng — mất hẳn. Thêm màu mới thì thêm token, đừng viết thẳng mã màu. */
:root{
 --legal-ink:#c7d3e5;          /* chữ thân bài */
 --legal-ink-strong:#dbe4f2;   /* chữ mở đầu, gạch đầu dòng */
 --legal-head:#fff;            /* tiêu đề mục */
 --legal-link:var(--accent);   /* chữ link Terms/Privacy */
 --legal-hover:#fff;           /* chữ khi rê chuột */
 --legal-surface:#0a111a;      /* nền khối "At a glance" */
 --legal-key-bg:#0e1b16;       /* nền mục quan trọng */
 --legal-key-line:#33513f;
 --legal-key-ink:#c4d6ca;
 --legal-topbar:rgba(11,16,24,.86);
}
:root[data-theme="light"]{
 --legal-ink:#3f4b5c;
 --legal-ink-strong:#222d3d;
 --legal-head:#111827;
 --legal-link:#12805f;         /* đậm hơn --accent: accent chỉ đạt 3.97:1, chưa đủ cho chữ 12px */
 --legal-hover:#0b5740;        /* KHÔNG để #fff: nền sáng thì chữ hover sẽ biến mất */
 --legal-surface:#f6f9fc;
 --legal-key-bg:#f2faf7;       /* cùng tông với banner .security ở theme sáng */
 --legal-key-line:#cfe8de;
 --legal-key-ink:#3a5a4f;
 --legal-topbar:rgba(255,255,255,.9);
}
.legalConsent{margin:16px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
.legalLink{border:0;background:none;padding:0;font:inherit;color:var(--legal-link);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.legalLink:hover{color:var(--legal-hover)}

/* --- nội dung văn bản, dùng chung modal + trang riêng --- */
.legalDoc{font-size:13.5px;line-height:1.7;color:var(--legal-ink)}
.legalIntro{margin:0 0 18px;color:var(--legal-ink-strong);font-size:14.5px;line-height:1.65}
.legalSummary{border:1px solid var(--line);background:var(--legal-surface);border-radius:14px;padding:16px 18px;margin:0 0 26px}
.legalSummary>b{display:block;font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin-bottom:10px}
.legalSummary ul{margin:0;padding:0;list-style:none;display:grid;gap:9px}
.legalSummary li{position:relative;padding-left:20px;color:var(--legal-ink-strong)}
.legalSummary li:before{content:"";position:absolute;left:4px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--accent)}
.legalSection{margin-bottom:26px;scroll-margin-top:96px}
.legalSection:last-child{margin-bottom:0}
.legalSection h3{margin:0 0 10px;font-size:15px;color:var(--legal-head);letter-spacing:-.2px}
.legalSection p{margin:0 0 10px}
.legalSection p:last-child{margin-bottom:0}
.legalSection.legalKey{border:1px solid var(--legal-key-line);background:var(--legal-key-bg);border-radius:14px;padding:18px 18px 16px}
.legalSection.legalKey h3{color:var(--accent)}
.legalSection.legalKey p{color:var(--legal-key-ink)}

/* --- modal trong app --- */
.legalModal{width:min(780px,100%);display:flex;flex-direction:column;max-height:min(86vh,920px)}
.legalModalHead{align-items:center;gap:12px}
.legalModalHead h2{margin:0}
.legalScroll{overflow:auto;margin:16px -6px 0;padding:0 6px;flex:1;min-height:0}
.legalModalFoot{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;margin-top:16px;border-top:1px solid var(--line);flex-wrap:wrap}
.legalModalFoot a{color:var(--muted);font-size:12px}
.legalModalFoot a:hover{color:var(--legal-hover)}
.legalLinksRow{padding-top:0}

/* Ô cam kết read-only ở form thêm tài khoản sàn.
   `.form input` đặt padding 11px/12px + viền + nền cho MỌI input, kể cả checkbox — trình duyệt
   áp padding đó lên ô tick, làm ô phình ra và đẩy chữ ra xa, nhìn như bị lệch. Nên phải reset
   hẳn về một ô 16px vuông. Đặt ở .inlineCheckbox để mọi ô tick trong form đều thẳng hàng. */
.inlineCheckbox input[type="checkbox"],.readOnlyAck input[type="checkbox"]{
 -webkit-appearance:checkbox;appearance:checkbox;
 width:16px!important;height:16px!important;min-height:0!important;
 padding:0!important;border:0!important;background:none!important;border-radius:0!important;
 flex:0 0 auto;accent-color:var(--accent);cursor:pointer}
.readOnlyAck{font-size:12px;line-height:1.55;color:var(--muted);display:flex;gap:9px;align-items:flex-start;margin:0!important}
/* Nhãn nhiều dòng: canh ô tick theo DÒNG ĐẦU, không phải theo giữa cả khối. 16px ô tick so với
   line-box ~18.6px (12px × 1.55) nên lệch 1px là vừa. */
.readOnlyAck input[type="checkbox"]{margin:1px 0 0!important}
.readOnlyAck b{color:var(--accent)}

/* --- trang riêng /terms.html + /privacy.html --- */
.legalPage{padding:0}
.legalTopbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 28px;border-bottom:1px solid var(--line);background:var(--legal-topbar);backdrop-filter:blur(10px)}
.legalBrand{text-decoration:none;color:inherit}
.legalBackBtn{text-decoration:none;font-size:13px;padding:8px 14px;white-space:nowrap}
.legalShell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;max-width:1120px;margin:0 auto;padding:30px 28px 90px;align-items:start}
.legalTocInner{position:sticky;top:96px;display:grid;gap:10px}
.legalTocInner .kicker{padding-left:12px}
.legalToc nav{display:grid;gap:2px;max-height:calc(100vh - 230px);overflow:auto}
.legalToc nav a{color:var(--muted);text-decoration:none;font-size:12.5px;line-height:1.35;padding:8px 12px;border-radius:9px;border-left:2px solid transparent}
.legalToc nav a:hover{background:var(--panel2);color:var(--legal-head)}
.legalToc nav a.on{color:var(--accent);border-left-color:var(--accent);background:var(--panel2)}
.legalTocSwitch{display:grid;gap:2px;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.legalTocSwitch a{color:var(--muted);text-decoration:none;font-size:12.5px;padding:8px 12px;border-radius:9px}
.legalTocSwitch a:hover{background:var(--panel2);color:var(--legal-head)}
.legalMain{display:grid;gap:14px;min-width:0}
.legalHero{padding:26px 28px}
.legalHero h1{font-size:30px;margin:8px 0 10px;letter-spacing:-.6px;color:var(--legal-head)}
.legalHeroNote{margin:0;color:var(--muted);font-size:13px;line-height:1.6}
.legalHeroNote span{display:block;margin-top:4px;font-size:12px}
.legalBody{padding:28px}
.legalPageFoot{color:var(--muted);font-size:12px;padding:4px 4px 0}
.legalPageFoot a{color:var(--muted);text-decoration:none}
.legalPageFoot a:hover{color:var(--legal-hover)}
@media(max-width:900px){
 .legalShell{grid-template-columns:1fr;gap:16px;padding:20px 16px 60px}
 .legalToc{order:2}
 .legalTocInner{position:static}
 .legalToc nav{max-height:none;grid-template-columns:1fr 1fr}
 .legalTopbar{padding:14px 16px}
 .legalHero{padding:22px 18px}
 .legalHero h1{font-size:24px}
 .legalBody{padding:20px 18px}
 .legalModal{max-height:92vh}
}
@media(max-width:560px){.legalToc nav{grid-template-columns:1fr}.brandProject{font-size:14px}}

/* ── Sửa lỗi hiển thị trên điện thoại (đo bằng Chromium ở 375/390/412px) ────────────────
   Địa chỉ ví là một chuỗi liền không có khoảng trắng (0x… 40 ký tự, hoặc base58 của Solana).
   .simpleItem là flex, mà flex item mặc định min-width:auto — nghĩa là nó KHÔNG co nhỏ hơn nội
   dung. Chuỗi địa chỉ vì thế đẩy cả dòng rộng ra ~472px, vượt màn hình, và hai nút sửa/xoá bị
   đẩy hẳn ra ngoài mép phải: trên điện thoại không bấm được nữa. Đây là lỗi chức năng, không
   chỉ là xấu. min-width:0 cho phép co lại, overflow-wrap:anywhere cho phép ngắt giữa chuỗi. */
.simpleItem>.entityTitle{min-width:0;flex:1 1 auto}
.entityTitle>span{min-width:0}
.entityTitle small{overflow-wrap:anywhere}
.itemActions{flex:0 0 auto}

@media(max-width:700px){
 /* Vùng chạm tối thiểu: ngón tay cần ~40px, không phải 22px như con trỏ chuột. */
 .eyeBtn{width:36px;height:36px}
 .syncStatus{height:36px!important}
 .actionIcon{width:38px;height:38px}
 /* Địa chỉ dài: xuống dòng thay vì đẩy ngang. */
 .entityTitle small{word-break:break-all;line-height:1.45}
 /* Hai link Terms/Privacy ở cuối Settings đứng riêng một dòng, không nằm trong câu, nên
    chúng cần vùng chạm chứ không phải kích thước của link trong đoạn văn. */
 .legalLinksRow{display:flex;gap:4px;align-items:center;padding-bottom:6px}
 .legalLinksRow .legalLink{min-height:36px;display:inline-flex;align-items:center;padding:0 6px}
}
.walletHint{margin-top:16px;padding:12px 14px;border:1px solid var(--legal-key-line);background:var(--legal-key-bg);border-radius:12px;font-size:12px;line-height:1.55;color:var(--legal-key-ink)}
.walletHint b{color:var(--accent)}

/* ── Điều hướng trên điện thoại: nút menu + ngăn kéo ────────────────────────────────────
   Trước đây thanh dưới cùng là dải 9 tab cuộn ngang: nhìn không biết có bao nhiêu mục, phải
   vuốt mới thấy hết, và "Others Fund" bị xuống hai dòng. Giờ một nút duy nhất hiện đúng trang
   đang mở, bấm vào mới sổ danh sách đầy đủ. */
.mobilebar{padding:8px 14px calc(8px + env(safe-area-inset-bottom))}
.mobileMenuBtn{flex:1;display:flex;align-items:center;gap:12px;min-height:48px;padding:0 16px;
 border:1px solid var(--line);border-radius:12px;background:var(--panel2);color:var(--text,#fff);
 font:inherit;font-size:15px;font-weight:600;cursor:pointer;text-align:left}
.mobileMenuBtn .menuIcon{font-size:18px;line-height:1;color:var(--accent);width:20px;text-align:center}
.mobileMenuBtn .menuLabel{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
:root[data-theme="light"] .mobileMenuBtn{color:#172033}

.navDrawerBack{position:fixed;inset:0;z-index:20;background:rgba(2,6,12,.6);backdrop-filter:blur(4px);
 display:flex;align-items:flex-end}
:root[data-theme="light"] .navDrawerBack{background:rgba(235,241,246,.55)}
.navDrawer{width:100%;background:var(--panel);border-top:1px solid var(--line);
 border-radius:18px 18px 0 0;padding:10px 12px calc(76px + env(safe-area-inset-bottom));
 display:grid;gap:2px;max-height:72vh;overflow:auto}
.navDrawer button{display:block;width:100%;text-align:left;border:0;background:transparent;
 color:var(--muted);font:inherit;font-size:16px;padding:14px 16px;border-radius:11px;cursor:pointer}
.navDrawer button.active{background:var(--panel2);color:var(--accent);font-weight:600}
/* Nút menu phải nổi TRÊN lớp phủ của ngăn kéo, để bấm ✕ đóng lại được — ngăn kéo đã chừa
   sẵn khoảng trống ở đáy cho nó. Và ẩn chuông đi khi ngăn kéo mở, tránh đè lên mục cuối. */
.mobilebar{z-index:30}
.navDrawerBack~.notificationArea{display:none}
