/* Portfolio (dist/portfolio.js): the sidebar card (both chains) and its dialog (asset list + Withdraw). The dialog's head,
   body, foot, inputs and buttons are the .sw-* / .zw-* rules of dist/sol.css and dist/wallet.css. Zyper tokens only. */
.pf-card{flex:0 1 auto;min-height:0;overflow:auto;margin:auto 0 0;padding:10px 9px;border:1px solid var(--z-border);border-radius:8px;background:var(--z-surface2);display:flex;flex-direction:column;gap:7px;min-width:0;font-size:.647059rem;color:rgb(var(--z-textDim))}
.pf-head{display:flex;align-items:center;gap:4px}.pf-eyebrow{font-size:.529412rem;letter-spacing:.18em;text-transform:uppercase;color:rgb(var(--z-muted))}
.pf-head .tip{margin-left:0}
.pf-icon{margin-left:auto;width:1.35rem;height:1.35rem;padding:0;font-size:.705882rem;line-height:1;background:transparent;box-shadow:none;border-color:var(--z-ghost-border);color:var(--z-ghost-text)}
.pf-total{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;padding:0;border:0;background:transparent;box-shadow:none;text-align:left;color:inherit;font:inherit;cursor:pointer}
.pf-total:hover .pf-sum{color:rgb(var(--z-accent))}
.pf-sum{font-size:1rem;font-weight:600;letter-spacing:-.02em;color:rgb(var(--z-text))}
.pf-change{font-size:.588235rem;white-space:nowrap}.pf-change.pos,.pf-lp-pnl.pos{color:rgb(var(--z-success))}.pf-change.neg,.pf-lp-pnl.neg{color:rgb(var(--z-danger))}.pf-change.flat{color:rgb(var(--z-muted))}
.pf-mini{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}
.pf-mini li{display:flex;align-items:center;gap:6px;min-width:0}.pf-sym{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(var(--z-text))}.pf-val{margin-left:auto;font-variant-numeric:tabular-nums}
.pf-more,.pf-muted{color:rgb(var(--z-muted))}.pf-bad{color:rgb(var(--z-danger))}
.pf-glyph{display:inline-grid;place-items:center;width:16px;height:16px;flex:0 0 16px;border-radius:50%;font-size:.47rem;font-weight:600;color:rgb(var(--z-bg));background:rgb(var(--z-accent)/.85)}
.pf-glyph[data-h="1"]{background:rgb(var(--z-success)/.85)}.pf-glyph[data-h="2"]{background:rgb(var(--z-warn)/.85)}.pf-glyph[data-h="3"]{background:rgb(var(--z-textDim)/.85)}.pf-glyph[data-h="4"]{background:rgb(167 139 250/.85)}.pf-glyph[data-h="5"]{background:rgb(var(--z-danger)/.75)}
.pf-lp{display:flex;align-items:center;gap:6px;padding-top:6px;border-top:1px solid var(--z-border)}.pf-lp b{margin-left:auto;font-weight:500;color:rgb(var(--z-text))}.pf-lp-pnl{font-size:.588235rem}
.pf-open{width:100%;padding:6px 8px;font-size:.647059rem}
.pf-compact{display:none}
@media(max-width:1150px){.pf-card{padding:9px 7px}}
/* Icon rail: the card becomes one button that opens the dialog. Phones (<= 550px) keep only the tab bar. */
@media(max-width:850px){.pf-card{display:none}.pf-compact{display:grid;place-items:center;width:100%;margin:12px 0;padding:9px 0;background:transparent;box-shadow:none;border:1px solid var(--z-border);border-radius:8px;color:rgb(var(--z-textDim))}.pf-compact-glyph{font-size:1rem;font-weight:600}}
/* Dialog */
#pf-dialog{position:fixed;inset:72px auto auto 200px;margin:0;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 92px);padding:0;border:1px solid var(--z-borderHi);border-radius:10px;background:rgb(var(--z-surface));color:rgb(var(--z-text));box-shadow:var(--z-panel-shadow),0 24px 48px -20px rgb(0 0 0/.85);overflow:hidden;font-family:inherit;font-variant-numeric:tabular-nums}
#pf-dialog[open]{display:flex;flex-direction:column}#pf-dialog::backdrop{background:rgb(var(--z-bg)/.45)}
#pf-dialog .sw-head h2{display:flex;align-items:center;gap:8px;margin:0;font-size:.882353rem;font-weight:500}
#pf-dialog .pf-body{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.pf-field{display:flex;flex-direction:column;gap:4px;margin:0}.pf-label{font-size:.529412rem;letter-spacing:.14em;text-transform:uppercase;color:rgb(var(--z-muted))}
.pf-select{appearance:auto}
.pf-wnote a{color:rgb(var(--z-accent));text-decoration:none}.pf-inline{margin-left:6px;padding:3px 8px;font-size:.588235rem}
.pf-warn{margin:0;color:rgb(var(--z-warn));font-size:.647059rem;line-height:1.5}
.pf-toggle{align-self:flex-start}
.pf-add summary{font-size:.647059rem;color:rgb(var(--z-textDim));cursor:pointer}.pf-addform{flex-direction:row;flex-wrap:wrap;margin-top:6px}.pf-addform .sw-input{flex:1 1 14rem}.pf-addform .sw-note{flex-basis:100%}
.pf-meta{font-size:.588235rem;color:rgb(var(--z-muted))}
/* Withdraw */
.pf-wd-head{display:flex;align-items:center;gap:8px}.pf-wd-head b{font-size:.882353rem;font-weight:600}.pf-wd-head .pf-muted{margin-left:auto}
.pf-amount{display:flex;gap:6px}.pf-amount .sw-input{flex:1}.pf-max{padding:6px 10px;font-size:.647059rem}.pf-usdhint{min-height:1em;font-size:.588235rem}
.pf-review{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid rgb(var(--z-warn)/.35);border-radius:8px;background:rgb(var(--z-warn)/.04)}
.pf-review-title{margin:0 0 2px}
.pf-rv{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:8px;align-items:baseline;font-size:.705882rem}.pf-rv>span:last-child{overflow-wrap:anywhere}
.pf-strong{font-weight:600;color:rgb(var(--z-text))}.pf-addr{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.647059rem;color:rgb(var(--z-text))}
.pf-actions>.zw-button{flex:1}
.pf-confirm{border-color:rgb(var(--z-accent)/.5);color:rgb(var(--z-accent))}.pf-confirm:hover{border-color:rgb(var(--z-accent));color:rgb(var(--z-text))}
.pf-progress{color:rgb(var(--z-accent))}
.pf-done,.pf-pending{display:flex;flex-direction:column;gap:4px;padding:12px;border-radius:8px;border:1px solid rgb(var(--z-success)/.4);background:rgb(var(--z-success)/.05)}.pf-pending{border-color:rgb(var(--z-warn)/.4);background:rgb(var(--z-warn)/.05)}
.pf-done a,.pf-pending a{color:rgb(var(--z-accent));text-decoration:none;font-size:.705882rem}
@media(min-width:1550px){#pf-dialog{left:218px}}
@media(max-width:1150px){#pf-dialog{left:176px}}
@media(max-width:850px){#pf-dialog{inset:64px 12px auto 76px;width:auto}}
@media(max-width:550px){#pf-dialog{inset:auto 0 0 0;width:100%;max-height:85dvh;border-radius:12px 12px 0 0}}
/* The chain pill in the sidebar repeats the header chain switch: hidden; the Portfolio card sits flush at the bottom. */
aside .network-card{display:none}aside .sidebar-bottom{margin-top:0}aside .sidebar-bottom:not(:has(> :not([hidden]):not(.network-card))){display:none}
/* Card rows are buttons: a token row swaps it in the Terminal, the LP line opens Positions. */
.pf-mini-row,.pf-more-btn,button.pf-lp{width:100%;margin:0;border:0;border-radius:5px;background:transparent;box-shadow:none;font:inherit;color:inherit;text-align:left;cursor:pointer}
.pf-mini-row{display:flex;align-items:center;gap:6px;min-width:0;padding:2px 3px;margin:0 -3px;width:calc(100% + 6px)}
.pf-mini-row:hover:not(:disabled),.pf-mini-row:focus-visible{background:var(--z-surface3)}.pf-mini-row:hover .pf-sym{color:rgb(var(--z-accent))}
.pf-more-btn{padding:0;color:rgb(var(--z-muted))}.pf-more-btn:hover{color:rgb(var(--z-accent))}
button.pf-lp{padding:6px 0 0;border-radius:0;border-top:1px solid var(--z-border)}button.pf-lp:hover>span:first-child{color:rgb(var(--z-accent))}
/* Portfolio page (#portfolio-view) */
#portfolio-view{display:flex;flex-direction:column;gap:12px;min-width:0;font-variant-numeric:tabular-nums}
#portfolio-view[hidden]{display:none}
.pfp-top{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:end;gap:12px 28px;padding:14px 16px;background:var(--z-panel-bg);border:1px solid var(--z-panel-border);box-shadow:var(--z-panel-shadow);border-radius:12px}
.pfp-sum,.pfp-change{display:flex;flex-direction:column;gap:3px;min-width:0}
.pfp-big{font-size:1.647059rem;font-weight:600;letter-spacing:-.03em;line-height:1.1;color:rgb(var(--z-text))}
.pfp-change .pf-change{font-size:.823529rem}
.pfp-scope{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 14px;min-width:0}.pfp-scope .pf-field{min-width:0;flex:0 1 22rem}.pfp-scope .pf-select{width:100%;min-width:0}
.pfp-check{display:inline-flex;align-items:center;gap:6px;font-size:.647059rem;color:rgb(var(--z-textDim));cursor:pointer;padding-bottom:7px}.pfp-check input{margin:0;accent-color:rgb(var(--z-accent))}
.pfp-tools{display:flex;align-items:center;gap:8px;align-self:start}
#portfolio-view .pf-icon{margin:0}
#portfolio-view>.sw-note,#portfolio-view>.zw-inline-error{margin:0 2px}
.pfp-lp{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;width:100%;margin:0;padding:10px 16px;border:1px solid var(--z-panel-border);border-radius:10px;background:var(--z-panel-bg);box-shadow:none;font:inherit;font-size:.705882rem;color:rgb(var(--z-textDim));text-align:left;cursor:pointer}
.pfp-lp b{font-weight:600;color:rgb(var(--z-text))}.pfp-lp .pf-change{font-size:.705882rem}.pfp-go{margin-left:auto;color:rgb(var(--z-accent))}.pfp-lp:hover{border-color:var(--z-borderHi)}
.pfp-list{display:flex;flex-direction:column;background:var(--z-panel-bg);border:1px solid var(--z-panel-border);box-shadow:var(--z-panel-shadow);border-radius:12px;overflow:hidden}
.pfp-row{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr) minmax(0,1.1fr) 11.5rem;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--z-border);font-size:.764706rem}
.pfp-row:last-child{border-bottom:0}
.pfp-hdr{padding-top:9px;padding-bottom:9px;font-size:.558824rem;letter-spacing:.12em;text-transform:uppercase;color:rgb(var(--z-muted))}
.pfp-hdr>span:not(.pfp-asset){text-align:right}.pfp-hdr>span.pfp-value{color:inherit;font-weight:inherit}
.pfp-item{cursor:pointer}.pfp-item:hover{background:var(--z-surface2)}.pfp-item:hover .pfp-id b{color:rgb(var(--z-accent))}
.pfp-asset{display:flex;align-items:center;gap:10px;min-width:0}.pfp-asset .pf-glyph{font-size:.647059rem}
.pfp-id{display:flex;flex-direction:column;gap:1px;min-width:0}.pfp-id b{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:rgb(var(--z-text))}
.pfp-id small{font-size:.588235rem;color:rgb(var(--z-muted));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pfp-id .copy-chip{font-size:.529412rem}
.pf-num{text-align:right;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pfp-value{color:rgb(var(--z-text));font-weight:500}.pfp-price,.pfp-bal{color:rgb(var(--z-textDim))}.pfp-row .pf-change{font-size:.705882rem}
.pfp-acts{display:flex;justify-content:flex-end;gap:6px}
.pfp-acts .zw-button{padding:5px 12px;font-size:.647059rem}
.pfp-swap{background:rgb(var(--z-accent));border-color:rgb(var(--z-accent));color:rgb(var(--z-bg));font-weight:600;box-shadow:none}.pfp-swap:hover:not(:disabled){background:rgb(var(--z-accent)/.85);color:rgb(var(--z-bg))}
.pfp-swap:disabled{opacity:.6}
.pfp-empty{margin:0;padding:26px 16px;text-align:center}
.pfp-foot{display:flex;flex-direction:column;gap:10px;padding:0 2px}
@media(max-width:1150px){.pfp-top{grid-template-columns:auto auto minmax(0,1fr)}.pfp-tools{grid-column:3;grid-row:1;justify-self:end}.pfp-scope{grid-column:1/-1}.pfp-row{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1fr) auto}.pfp-price{display:none}}
/* Phones: asset on the left, value + 24 h in the middle, actions on the right; no balance / price columns (the
   balance is the row's tooltip and the Swap tab's "Bal"). */
@media(max-width:550px){
 .pfp-top{grid-template-columns:minmax(0,1fr) auto;padding:12px;gap:10px 14px}.pfp-change{grid-column:1;grid-row:2}.pfp-tools{grid-column:2;grid-row:1}.pfp-scope{grid-column:1/-1}.pfp-scope .pf-field{flex-basis:100%}
 .pfp-big{font-size:1.411765rem}
 .pfp-lp{padding:9px 12px}
 .pfp-row{grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"asset value acts" "asset chg acts";gap:2px 10px;padding:9px 12px}
 .pfp-hdr{display:none}
 .pfp-asset{grid-area:asset}.pfp-value{grid-area:value}.pfp-row .pfp-chg{grid-area:chg;font-size:.588235rem}.pfp-acts{grid-area:acts}
 .pfp-bal,.pfp-price{display:none}
 .pfp-acts{flex-direction:column;gap:4px}.pfp-acts .zw-button{padding:5px 10px}
}
/* Phone bottom bar with seven destinations (the local app with every feature: Copy Trading and Tracker shown):
   smaller labels so each fits its ~53 px column at 375 px. */
@media(max-width:550px){
 body[data-features~="copy"][data-features~="tracker"] .workspace-nav button{padding-left:1px;padding-right:1px}
 body[data-features~="copy"][data-features~="tracker"] .workspace-nav button span{font-size:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
}
.pfp-item{cursor:pointer}.pfp-busy{opacity:.6;pointer-events:none}
.pfp-chain{display:flex;flex-direction:column;gap:10px;margin-top:8px}
