/* Wallet home: mobile new_theme_home_view.dart on the shared design foundation
   (lumo-design.css). Sizes are mobile's design pixels, 1:1 on Telegram's
   360-430px phones; fixed bars sit inside Telegram's content safe area. */
.portfolio-dashboard{padding-bottom:calc(104px + var(--tg-content-bottom,0px))}
.portfolio-home{padding:0 var(--lumo-gutter) 24px;font-family:var(--lumo-font);color:var(--lumo-text)}
/* Header: 41px photo with the online dot, greeting 10px, name 16/600; 32px round tools, 10px apart. */
.portfolio-header{display:flex;align-items:center;gap:10px;padding-top:24px}
.portfolio-profile{display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;min-height:0}
.portfolio-avatar{position:relative;display:grid;place-items:center;width:41px;height:41px;flex:0 0 41px;border-radius:50%;background:linear-gradient(135deg,#8b5cf6,#b794d9)}
.portfolio-avatar>img{width:100%;height:100%;border-radius:50%;object-fit:cover}
.portfolio-avatar>img[src="theme/logo_mark.svg"]{width:26px;height:26px;object-fit:contain;filter:brightness(0) invert(1)}
.portfolio-online{position:absolute;right:-1px;top:-1px;width:7px;height:7px;border-radius:50%;background:var(--lumo-online);border:1px solid var(--lumo-card)}
.portfolio-profile>span:last-child{min-width:0}
.portfolio-profile small{display:block;font:400 10px/1.2 var(--lumo-font);color:var(--lumo-text-2);margin-bottom:4px}
.portfolio-profile strong{display:block;font:600 16px/1.2 var(--lumo-font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.portfolio-header-tools{display:flex;align-items:center;gap:10px;flex:0 0 auto}
.portfolio-header-tools .icon{width:18px;height:18px;stroke:var(--lumo-primary);fill:none}
/* The briefcase SVG is a 72px frame with its own shadow; mobile clips it to the 32px circle, nudged up (Alignment(0,-0.15)). */
#portfolioBusiness{position:relative;overflow:hidden}
#portfolioBusiness>.portfolio-briefcase{position:absolute;left:-20px;top:-17px;width:72px;height:72px;max-width:none}
/* Balance: caption 12 + eye 16 (gap 9), total 52/600 with 30px purple symbol and cents. */
.portfolio-summary{text-align:center;padding-top:28px}
.portfolio-balance-caption{display:flex;align-items:center;justify-content:center;gap:9px;font:400 12px/1.2 var(--lumo-font);color:var(--lumo-text)}
.portfolio-eye{display:grid;place-items:center;width:16px;height:16px;min-height:0;padding:0;border:0;background:transparent;cursor:pointer}
.portfolio-eye>img{width:16px;height:16px}
html[data-lumo-theme=dark] .portfolio-eye>img{filter:invert(1)}
.portfolio-total{display:flex;align-items:flex-end;justify-content:center;min-height:61px;margin-top:10px;font-family:var(--lumo-font);font-weight:600;line-height:1.175;white-space:nowrap}
.portfolio-total-major{font-size:52px;color:var(--lumo-text);letter-spacing:-.5px}
.portfolio-total-minor{font-size:30px;color:var(--lumo-primary);padding-bottom:4px}
.portfolio-total-minor:first-child{margin-right:2px}
.lumo-spinner{display:block;width:28px;height:28px;margin:10px auto;border-radius:50%;border:2px solid #8b5cf633;border-top-color:var(--lumo-primary);animation:lumo-spin .8s linear infinite}
@keyframes lumo-spin{to{transform:rotate(360deg)}}
.portfolio-change{margin:10px 0 0;min-height:17px;font:400 14px/1.2 var(--lumo-font);color:var(--lumo-text)}
.portfolio-change-today-up{color:var(--lumo-green)}.portfolio-change-today-down{color:var(--lumo-red)}
.portfolio-status{margin:6px 8px 0;font:400 11px/1.4 var(--lumo-font);color:var(--lumo-text-2)}
.portfolio-status:empty{display:none}
/* Quick actions: 46px below the balance. */
.portfolio-actions{margin-top:46px}

.portfolio-explore{display:flex;align-items:center;gap:14px;width:100%;margin-top:16px;padding:12px 16px 12px 12px;border:0;border-radius:20px;background:var(--lumo-card);box-shadow:var(--lumo-shadow-soft);color:var(--lumo-text);text-align:left;font-family:var(--lumo-font);cursor:pointer;min-height:0}
.portfolio-explore>img:first-child{width:30px;height:30px;padding:9px;border-radius:14px;background:#8b5cf61f;box-sizing:content-box}
.portfolio-explore>span{flex:1;min-width:0}
.portfolio-explore strong{display:block;font:400 16px/1.25 var(--lumo-font)}
.portfolio-explore small{display:block;margin-top:4px;font:400 13px/1.3 var(--lumo-font);color:var(--lumo-text-2)}
.portfolio-explore>img:last-child{width:16px;height:16px}
/* My Assets: 30px below, 14/600 title, round search and filter, See All. */
.portfolio-assets{margin-top:30px}
.portfolio-assets-heading{display:flex;align-items:center;gap:10px;margin-bottom:20px}
.portfolio-assets-heading h2{flex:1}
.portfolio-search{position:relative;display:block;margin:-8px 0 16px}
.portfolio-search[hidden]{display:none}
.portfolio-search>img{position:absolute;left:12px;top:50%;width:18px;height:18px;transform:translateY(-50%)}
.portfolio-search>input{padding-left:38px}
.portfolio-rows{display:flex;flex-direction:column;gap:10px}
/* _AssetCard: the .lumo-tile card (padding 10, radius 10, soft shadow). */
.portfolio-asset{display:flex;align-items:center;gap:10px;width:100%;padding:10px;border:0;border-radius:var(--lumo-r-card);background:var(--lumo-card);box-shadow:var(--lumo-shadow-soft);color:var(--lumo-text);text-align:left;font-family:var(--lumo-font);cursor:pointer;min-height:0}
.portfolio-asset-title{display:flex;align-items:center;gap:4px;min-width:0}
.portfolio-star{display:inline-flex;color:var(--lumo-primary);flex:0 0 15px}
.portfolio-star>svg{width:15px;height:15px}
.portfolio-change-up{color:var(--lumo-blue)}.portfolio-change-down{color:var(--lumo-red)}.portfolio-change-flat{color:var(--lumo-text-2)}
.portfolio-asset .lumo-tile-end .lumo-tile-title{font-size:16px}
.portfolio-asset .lumo-tile-end{max-width:44%}
.portfolio-asset .lumo-tile-end>span{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.lumo-coin>.coin{display:grid;place-items:center;overflow:hidden;background:transparent;box-shadow:none;padding:0}
.lumo-coin>.asset-monogram{background:var(--lumo-nested);color:var(--lumo-text-2);font:600 12px var(--lumo-font)}
.lumo-coin .network-art{width:44px;height:44px;object-fit:contain}
.portfolio-empty{padding:40px 0;text-align:center;font:400 14px/1.4 var(--lumo-font);color:var(--lumo-text-2)}
#portfolioSheet .portfolio-currency{flex:0 0 auto;font:600 13px/1.3 var(--lumo-font);color:var(--lumo-primary)}
#portfolioSheet .portfolio-send-note{font-size:12px}
#portfolioSheet .lumo-sheet-row .lumo-button{flex:1;height:40px;min-height:40px;font-size:14px}
#portfolioSheet .lumo-sheet-row .lumo-button .icon{width:16px;height:16px;fill:none;stroke:currentColor}
#portfolioSheet .portfolio-breakdown{margin:6px var(--lumo-gutter) 0}
#portfolioSheet .portfolio-breakdown[hidden]{display:none}
#portfolioSheet .lumo-icon-button>svg{width:18px;height:18px;color:var(--lumo-text)}
.portfolio-dock.lumo-dock{z-index:30}
.portfolio-home :is(button,input,select,summary):focus-visible,.lumo-dock button:focus-visible,.lumo-sheet :is(button,select,input,summary):focus-visible{outline:2px solid var(--lumo-primary);outline-offset:2px}
@media(max-width:350px){.portfolio-home{padding-left:14px;padding-right:14px}.portfolio-header-tools{gap:6px}.portfolio-total-major{font-size:44px}}
@media(min-width:700px){body:has(.portfolio-home){width:calc(100% - 48px);max-width:1040px}.portfolio-home{padding:12px 30px 30px}.portfolio-layout{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(330px,1.35fr);gap:38px;align-items:start}.portfolio-summary{position:sticky;top:24px}.portfolio-assets{margin-top:28px}}
@media(prefers-reduced-motion:reduce){.lumo-spinner{animation-duration:2.4s}}

.section:has(>.pagehead+.profile-menu)>.pagehead h2{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* Backup reminder (mobile BackupReminderCard). */
.portfolio-backup-reminder{margin-top:14px;text-align:left}
.portfolio-backup-reminder[hidden]{display:none}
.backup-reminder{display:flex;align-items:flex-start;gap:10px;padding:13px 12px 10px;border:1px solid #e9dbff;border-radius:15px;background:#fff;box-shadow:0 4px 20px #6a41fb0d;color:var(--text)}
.backup-reminder-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:11px;background:#f0e7ff;color:var(--purple);font-size:23px}
.backup-reminder-copy{flex:1;min-width:0}
.backup-reminder-copy strong{font-size:13px;font-weight:600}
.backup-reminder-copy p{margin:4px 0 2px;color:var(--muted);font-size:11px;line-height:1.45}
.backup-reminder-copy .text-action{font-size:11px;padding:3px 0}
.backup-reminder-dismiss{flex:0 0 28px;width:28px;height:28px;background:transparent;color:var(--muted);font-size:20px;line-height:1}
html[data-lumo-theme="dark"] .backup-reminder{background:#17151c;border-color:#483252;color:#f7f5fa}
html[data-lumo-theme="dark"] .backup-reminder-icon{background:#281c3b}
/* Portfolio breakdown (in the asset settings sheet). */
.portfolio-breakdown{padding:14px;border:1px solid var(--lumo-chip-border);border-radius:14px;background:var(--lumo-card);text-align:left}.portfolio-breakdown-head,.portfolio-breakdown-line,.portfolio-breakdown-total{display:flex;align-items:center;justify-content:space-between;gap:10px}.portfolio-breakdown-head strong{font-size:13px}.portfolio-breakdown-head span,.portfolio-breakdown-note{font-size:10px;color:var(--muted)}.portfolio-breakdown-note{line-height:1.5;margin:7px 0 12px}.portfolio-breakdown-row+.portfolio-breakdown-row{margin-top:10px}.portfolio-breakdown-line strong{font-size:10px;min-width:0;overflow-wrap:anywhere}.portfolio-breakdown-line span{font-size:10px;white-space:nowrap;color:var(--muted)}.portfolio-breakdown-track{height:5px;margin-top:5px;border-radius:99px;background:#eee9f6;overflow:hidden}.portfolio-breakdown-track span{display:block;height:100%;border-radius:inherit;background:var(--purple)}.portfolio-breakdown-total{margin-top:12px;padding-top:10px;border-top:1px solid var(--line);font-size:11px}.portfolio-breakdown-empty{font-size:11px;color:var(--muted);margin:0}html[data-lumo-theme="dark"] .portfolio-breakdown{background:#17151c;color:#f7f5fa;border-color:#292630}html[data-lumo-theme="dark"] .portfolio-breakdown-track{background:#322c3b}
/* Pulse suggestions (mobile PulseNudgeCarousel): one card at a time. */
.pulse-nudges{margin-top:14px;text-align:left}.pulse-nudge-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;scrollbar-width:none}.pulse-nudge-track::-webkit-scrollbar{display:none}.pulse-nudge{flex:0 0 100%;scroll-snap-align:start;display:flex;align-items:flex-start;gap:12px;padding:12px 10px 12px 14px;border:1px solid #8b5cf640;border-radius:14px;background:#fff;box-sizing:border-box;min-width:0}.pulse-nudge-mark{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:10px;background:#8b5cf61f;color:var(--purple);font-size:18px}.pulse-nudge-copy{flex:1;min-width:0}.pulse-nudge-copy strong{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pulse-nudge-copy p{margin:3px 0 0;font-size:12px;line-height:1.45;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pulse-nudge-copy .text-action{margin-top:8px;padding:0;font-size:12.5px;font-weight:600;color:var(--purple);background:none}.pulse-nudge-close{flex:0 0 30px;height:30px;border-radius:50%;background:none;color:var(--muted);font-size:18px}.pulse-nudge-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}.pulse-nudge-dots span{width:7px;height:7px;border-radius:4px;background:#68656f59;transition:width .22s ease-out}.pulse-nudge-dots span.active{width:22px;background:#17151c}
html[data-lumo-theme="dark"] .pulse-nudge{background:#17151c;border-color:#8b5cf640;color:#f7f5fa}html[data-lumo-theme="dark"] .pulse-nudge-dots span.active{background:#f7f5fa}
/* asset_picker_sheet.dart: the Send / Receive asset step (88% sheet, centred
   18/600 title, rounded search field, 20px cards 12px apart, empty wallet). */
#assetPicker .lumo-sheet{height:min(88dvh,720px);display:flex;flex-direction:column}
.asset-picker-title{position:relative;justify-content:center;padding-top:14px;padding-bottom:14px;font:600 18px/1.3 var(--lumo-font);color:var(--lumo-text-2)}
.asset-picker-title>button{position:absolute;right:var(--lumo-gutter);top:50%;transform:translateY(-50%)}
.portfolio-search.asset-picker-search{margin:0 var(--lumo-gutter) 14px}
.asset-picker-rows{flex:1;display:flex;flex-direction:column;gap:12px;padding:0 var(--lumo-gutter) 24px;overflow:auto}
.asset-picker-row{flex:0 0 auto;padding:14px 16px;border-radius:20px;cursor:pointer;min-height:0;font-family:var(--lumo-font)}
.asset-picker-row .lumo-tile-end{max-width:50%}
.asset-picker-row:focus-visible{outline:2px solid var(--lumo-primary);outline-offset:2px}
.asset-picker-empty{margin:auto;padding:24px 40px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.asset-picker-empty-icon{display:grid;place-items:center;width:64px;height:64px;margin-bottom:8px;border-radius:50%;background:#8b5cf61a}
.asset-picker-empty-icon>img{width:30px;height:30px}
.asset-picker-empty strong{font:600 16px/1.3 var(--lumo-font);color:var(--lumo-text)}
.asset-picker-empty p{margin:0;font:400 13px/1.4 var(--lumo-font);color:var(--lumo-text-2)}
