/* Client portal visual system. Landing, admin and financial state are unchanged. */
html{--ui-canvas:#f5f7fb;--ui-surface:#fff;--ui-soft:#f0f4f9;--ui-border:#e0e7f0;--ui-text:#182439;--ui-muted:#62728a;--ui-accent:#2454e6;--ui-tint:#edf2ff;--ui-on-accent:#fff}
html[data-theme=dark]{--ui-canvas:#080f1b;--ui-surface:#101c2e;--ui-soft:#16243a;--ui-border:#27364c;--ui-text:#eef3fb;--ui-muted:#a0aec2;--ui-accent:#52d2e7;--ui-tint:#173441;--ui-on-accent:#071c24}
body:has(.shell){background:var(--ui-canvas)}
.shell{color:var(--ui-text);--line:var(--ui-border);--muted:var(--ui-muted);--blue:var(--ui-accent);--accent:var(--ui-accent);--border:var(--ui-border)}
.shell .content{max-width:1440px;padding-top:28px}
.shell .heading{margin-bottom:20px;align-items:center}
.shell .heading h1{font-size:28px;line-height:1.2;letter-spacing:-.8px}
.shell .heading .eyebrow{display:none}
.shell .heading .sub{margin-top:8px;font-size:14px;line-height:1.5}
.shell .topbar,.shell .sidebar{background:var(--ui-surface);border-color:var(--ui-border)}
.shell .topbar{min-height:68px}
.shell :is(.panel,.stat,.tf-card,.tf-quote,.pay-composer,.pay-recent,.strategy-filters-panel,.ux-funds){background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:14px;box-shadow:none;color:var(--ui-text)}
.shell :is(.panel,.tf-card,.tf-quote){padding:22px}
.shell .panel-head{margin-bottom:18px}
.shell :is(.panel h2,.tf-card h3){font-size:18px;line-height:1.35;letter-spacing:-.3px}
.shell .banner{background:var(--ui-soft);border-color:transparent;padding:12px 16px;border-radius:10px;margin-bottom:20px;color:var(--ui-muted);font-size:12px;line-height:1.5}
.shell .btn{min-height:42px;padding:10px 16px;line-height:1.4;border-radius:10px;font-size:13px;font-weight:600;background:var(--ui-surface);border:1px solid var(--ui-border);color:var(--ui-text);box-shadow:none}
.shell .btn.primary{background:var(--ui-accent);border-color:var(--ui-accent);color:var(--ui-on-accent);box-shadow:none}
.shell .btn:disabled{opacity:.45;cursor:not-allowed}
.shell .text-btn{font-size:13px;line-height:1.4;color:var(--ui-accent)}
.shell .btn:hover:not(:disabled){filter:brightness(.97);border-color:var(--ui-accent)}
.shell .stat{padding:22px}.shell .stat.primary{background:var(--ui-surface);border-color:var(--ui-border)}
.shell .stat-value{font-size:30px;letter-spacing:-.7px;font-variant-numeric:tabular-nums}
.shell .stat.primary .stat-value{color:var(--ui-accent)}
.shell .stat-note,.shell .stat.primary .stat-note,.shell .stat.primary .stat-label{color:var(--ui-muted)}
.shell .journey-actions{padding:18px 20px}.shell .journey-actions .sub{margin-bottom:12px}
.shell .journey-action{background:var(--ui-soft);border:1px solid transparent;border-radius:10px;padding:13px}
.shell .journey-action:hover{border-color:var(--ui-accent)}
.shell .asset-account-card{border-radius:12px;box-shadow:none}
.shell .asset-account-card:not(.valt-account-card){background:var(--ui-surface);border-color:var(--ui-border)}
.shell .ux-balance-split>div{border-radius:12px;padding:16px;background:var(--ui-surface);border-color:var(--ui-border)}
.shell .ux-balance-split>div:last-child{background:var(--ui-tint);border-color:var(--ui-border)}
.shell .ux-balance-split b{font-size:20px}
/* Keep comparison content close to the filters instead of a large promotional header. */
.shell .sb-banner{padding:16px 20px;gap:16px;margin-bottom:12px;background:var(--ui-soft)}
.shell .sb-banner .eyebrow{display:none}.shell .sb-banner h2{margin:0 0 4px;font-size:16px}.shell .sb-banner p{margin:0;font-size:12px;line-height:1.5}
.shell .sb-banner .btn.primary{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border);flex-shrink:0}
.shell .sb-tabs{gap:4px;padding:4px;border-radius:12px;background:var(--ui-soft);margin:12px 0 16px;width:fit-content;max-width:100%}
.shell .sb-tabs .btn{border-color:transparent;background:transparent;color:var(--ui-muted);min-height:38px;padding:8px 14px}
.shell .sb-tabs .btn.primary{background:var(--ui-surface);color:var(--ui-text);border-color:var(--ui-border)}
.shell .market-top{margin-bottom:12px}.shell .market-capital{font-size:12px}
.shell .strategy-filters-panel{padding:18px}.shell .market-selection-layout{gap:16px;margin-bottom:16px}
.shell .ux-funds{padding:18px}.shell .ux-funds strong{font-size:25px}.shell .ux-funds p{font-size:12px;line-height:1.5;margin-bottom:0}
.shell .risk-filter-buttons button,.shell .category-filter-buttons button{min-height:36px;font-size:12px;border-radius:8px;padding:8px 10px}
.shell .compact-catalog-grid{gap:16px;grid-auto-rows:1fr}
.shell .compact-catalog-card{padding:16px;min-height:0;height:100%;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-surface);box-shadow:none}
.shell .compact-catalog-card.strategy-selected{border-color:var(--ui-accent);box-shadow:inset 0 0 0 1px var(--ui-accent);background:var(--ui-tint)}
.shell .compact-catalog-card>.eyebrow{display:none}
.shell .compact-catalog-card h2{font-size:16px;line-height:20px;min-height:40px;margin:8px 0 2px;display:flex;align-items:center}
.shell .compact-catalog-card .compact-asset{min-height:38px;margin:0 0 6px;display:flex;flex-direction:column;justify-content:center;gap:3px}
.shell .compact-catalog-card .compact-mechanic{display:none}
.shell .compact-catalog-card .capital-access{margin-top:auto;padding-top:12px;margin-bottom:10px}
.shell .demo-target-return{padding:10px 0;margin:0 0 8px;gap:4px;border-color:var(--ui-border)}
.shell .demo-target-return strong{font-size:27px}.shell .demo-target-return>span,.shell .demo-target-return>small{font-size:11px;line-height:1.4;color:var(--ui-muted)}
.shell .compact-catalog-card .catalog-actions .btn{min-height:38px;padding:8px 14px}
/* Quieter form chrome; retain full labels, warnings and touch targets. */
.shell .tf-workspace{--tf-surface:var(--ui-surface);--tf-soft:var(--ui-soft);--tf-line:var(--ui-border);--tf-muted:var(--ui-muted);--tf-ink:var(--ui-text)}
.shell .tf-card header{margin-bottom:18px;gap:12px}.shell .tf-step{width:34px;height:34px;border-radius:9px;font-size:13px;background:var(--ui-tint);color:var(--ui-accent)}
.shell .tf-field{margin-bottom:12px;gap:6px}.shell .tf-field>span{font-size:12px}
.shell .tf-choices{margin-bottom:18px;border-radius:10px}.shell .tf-choices span{font-size:12px;min-height:38px}
.shell .tf-choices input:checked+span{background:var(--ui-tint);color:var(--ui-accent);box-shadow:inset 0 0 0 1px var(--ui-accent)}
.shell .tf-quote{gap:20px;margin:16px 0}.shell .tf-quote h3{font-size:18px}
.shell .tf-quote-action .btn.primary{min-height:42px;background:var(--ui-accent);color:var(--ui-on-accent)}
.shell .tf-direction-panel{padding:18px 22px}.shell .tf-direction-panel h2{font-size:16px}
.shell .tf-direction-buttons .btn[aria-pressed=true]{background:var(--ui-tint);border-color:var(--ui-accent);color:var(--ui-accent)}
.shell .vc-panel>.panel-head{margin-bottom:20px}.shell .vc-panel .vc-layout{gap:24px}
.shell .vc-plastic{padding:22px;gap:10px;border-radius:16px;box-shadow:none;max-width:360px}
.shell .vc-controls h3{font-size:20px}.shell .vc-controls .vc-lead{margin:8px 0 18px}
.shell .vc-controls .btn.primary{width:auto;min-width:180px;justify-self:start;gap:24px}
.shell .setting{padding:16px 0}.shell .setting h3{font-size:14px}
.shell .security{background:transparent;border-color:var(--ui-border);border-radius:12px;font-size:12px}
body:has(.shell) dialog{background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:16px;box-shadow:0 20px 70px #0004}
body:has(.shell) dialog h2{font-size:21px;line-height:1.3;padding-right:26px}
@media(min-width:640px) and (max-width:1099px){.shell .compact-catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(min-width:600px){.shell .tf-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:700px) and (max-width:900px){.shell .vc-panel .vc-layout{grid-template-columns:minmax(240px,1fr) minmax(220px,1fr)}}
@media(max-width:767px){
 .shell .content{padding-top:20px}.shell .heading{align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}.shell .heading h1{font-size:25px}
 .shell :is(.panel,.tf-card,.tf-quote){padding:18px}.shell .banner{padding:10px 12px;margin-bottom:16px}
 .shell .stat{padding:16px}.shell .stat-value{font-size:26px}
 .shell .sb-banner{padding:14px 16px;flex-wrap:wrap;gap:10px}.shell .sb-tabs{width:100%}.shell .sb-tabs .btn{padding:8px;flex:1;font-size:12px}
 .shell .market-selection-layout{gap:12px}.shell .ux-funds{padding:14px 16px}.shell .ux-funds strong{font-size:23px}
 .shell .journey-actions{padding:16px}.shell .journey-action-grid{gap:8px}
 .shell .btn{min-height:44px}.shell .compact-catalog-card .catalog-actions .btn{min-height:44px}
 .shell .vc-controls .btn.primary{min-width:0}.shell .vc-plastic{width:100%;max-width:360px;margin-inline:auto}
}
@media(max-width:639px){.shell .compact-catalog-grid{grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:auto}.shell .compact-catalog-card{height:auto}.shell .compact-catalog-card .capital-access{padding-top:16px}}

.shell .account-linked{background:var(--ui-soft);color:var(--ui-muted);border:1px solid var(--ui-border);border-radius:10px}
.shell .btn.valt-topup{background:var(--ui-accent)!important;color:var(--ui-on-accent)!important;border-color:var(--ui-accent)!important}

.loan-asset-panel,.loan-asset-record{margin-bottom:20px}.loan-asset-balances{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.loan-asset-balances>div{padding:14px;border:1px solid var(--ui-border);border-radius:10px}.loan-asset-balances strong,.loan-asset-balances small{display:block;margin-top:8px}.loan-asset-balances strong{font-size:22px}.loan-asset-balances small{color:var(--ui-muted);font-size:12px}.loan-asset-record details{margin-top:18px}.loan-asset-record details>.panel{margin-top:12px}.loan-asset-record .row-actions{margin-top:18px;flex-wrap:wrap}@media(max-width:480px){.loan-asset-balances{gap:6px}.loan-asset-balances>div{padding:10px}.loan-asset-balances strong{font-size:18px}}
