:root{--pf-ink:#171427;--pf-muted:#746d87;--pf-line:#e5dff0;--pf-violet:#6544e8;--pf-panel:#faf9ff;--pf-green:#1e9a68;--pf-red:#b14a60;--pf-ui:var(--lc-font-ui);--pf-mono:var(--lc-font-mono)}
*{box-sizing:border-box}
body{margin:0;background:#fcfbff;color:var(--pf-ink);font:500 14px/1.55 var(--pf-ui)}
button,input{font:inherit}
.portfolio-page{width:min(1180px,calc(100% - 48px));margin:0 auto;padding:76px 0 90px}
.portfolio-hero{max-width:760px;padding:12px 0 46px}
.portfolio-kicker{margin:0;color:#7358bc;font:500 10px/1.2 var(--pf-mono);letter-spacing:1.1px}
.portfolio-hero h1{margin:14px 0 18px;font:600 clamp(44px,6vw,72px)/.96 var(--pf-ui);letter-spacing:-.07em}
.portfolio-hero h1 em{color:var(--pf-violet);font-style:normal}
.portfolio-hero>p:last-child{max-width:680px;margin:0;color:var(--pf-muted);font-size:15px;line-height:1.65}
.portfolio-app{min-height:260px}
.portfolio-loading{display:grid;min-height:260px;place-items:center;margin:0;color:var(--pf-muted)}
.portfolio-login{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,430px);gap:28px;padding:30px;border:1px solid var(--pf-line);border-radius:18px;background:radial-gradient(circle at 90% 0,#eee7ff 0,transparent 40%),#fff;box-shadow:0 18px 42px rgba(41,28,86,.05)}
.portfolio-login-copy{align-self:center}
.portfolio-login-copy small,.portfolio-section-label{color:#8168c5;font:500 10px/1.2 var(--pf-mono);letter-spacing:.09em}
.portfolio-login-copy h2{margin:10px 0 12px;font:600 28px/1.08 var(--pf-ui);letter-spacing:-.045em}
.portfolio-login-copy p{max-width:520px;margin:0;color:var(--pf-muted);line-height:1.65}
.portfolio-login-form{display:grid;gap:11px;align-content:center;padding:20px;border:1px solid var(--pf-line);border-radius:14px;background:#fff}
.portfolio-login-form label,.portfolio-field label{color:#655f75;font-size:11px}
.portfolio-login-form input,.portfolio-field input{width:100%;height:46px;border:1px solid #dcd4ec;border-radius:10px;background:#fff;color:var(--pf-ink);padding:0 13px;outline:0}
.portfolio-login-form input:focus,.portfolio-field input:focus{border-color:#9a81f1;box-shadow:0 0 0 3px #eee9ff}
.portfolio-primary,.portfolio-secondary,.portfolio-danger{min-height:43px;border-radius:10px;padding:10px 15px;cursor:pointer}
.portfolio-primary{border:1px solid var(--pf-violet);background:var(--pf-violet);color:#fff}
.portfolio-secondary{border:1px solid #d8cdf7;background:#fff;color:#5d3bd2}
.portfolio-danger{border:1px solid #efd2d9;background:#fff8f9;color:var(--pf-red)}
button:disabled{opacity:.55;cursor:wait}
.portfolio-message{min-height:18px;margin:0;color:var(--pf-red);font-size:11px}
.portfolio-shell{display:grid;gap:18px}
.portfolio-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.portfolio-toolbar h2{margin:0;font:600 26px/1.1 var(--pf-ui);letter-spacing:-.045em}
.portfolio-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.portfolio-metric{padding:17px;border:1px solid var(--pf-line);border-radius:12px;background:#fff}
.portfolio-metric small{display:block;color:#837b95;font:500 9px/1.3 var(--pf-mono);letter-spacing:.07em;text-transform:uppercase}
.portfolio-metric strong{display:block;margin-top:8px;font:500 24px/1.05 var(--pf-ui);letter-spacing:-.045em}
.portfolio-add{padding:20px;border:1px solid var(--pf-line);border-radius:14px;background:var(--pf-panel)}
.portfolio-add h3{margin:8px 0 16px;font:600 18px/1.2 var(--pf-ui);letter-spacing:-.03em}
.portfolio-form-grid{display:grid;grid-template-columns:minmax(220px,1.4fr) minmax(150px,.7fr) minmax(150px,.7fr) auto;gap:10px;align-items:end}
.portfolio-field{position:relative;display:grid;gap:6px}
.portfolio-search-results{position:absolute;z-index:12;top:72px;right:0;left:0;display:none;max-height:320px;overflow:auto;padding:6px;border:1px solid #ddd5f3;border-radius:13px;background:#fff;box-shadow:0 18px 38px rgba(63,45,116,.12)}
.portfolio-search-results.open{display:block}
.portfolio-search-item{display:flex;width:100%;min-height:52px;align-items:center;gap:11px;border:0;border-radius:8px;background:transparent;padding:8px 10px;color:var(--pf-ink);text-align:left;cursor:pointer}
.portfolio-search-item:hover,.portfolio-search-item:focus-visible{background:#f7f4ff;outline:0}
.portfolio-search-avatar{position:relative;display:grid;width:30px;height:30px;flex:0 0 30px;place-items:center;overflow:hidden;border-radius:50%;background:#f1edfa;color:#7759d8}
.portfolio-search-avatar i{font:600 11px var(--pf-ui);font-style:normal}
.portfolio-search-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#f3f0fb}
.portfolio-search-copy{display:flex;min-width:0;flex:1;flex-direction:column}
.portfolio-search-copy b{overflow:hidden;color:var(--pf-ink);font:600 12px/1.3 var(--pf-ui);text-overflow:ellipsis;white-space:nowrap}
.portfolio-search-copy small{margin-top:3px;color:var(--pf-muted);font:500 10px/1.2 var(--pf-mono)}
.portfolio-search-item em{margin-left:auto;color:var(--pf-muted);font:500 10px/1 var(--pf-mono);font-style:normal}
.portfolio-search-empty{padding:15px;color:var(--pf-muted);font-size:12px;text-align:center}
.portfolio-positions{display:grid;gap:9px}
.portfolio-position{display:grid;grid-template-columns:minmax(145px,1.05fr) minmax(100px,.62fr) minmax(105px,.66fr) minmax(175px,.92fr) minmax(105px,.66fr) minmax(110px,.72fr) minmax(125px,.78fr) minmax(145px,.82fr);gap:12px;align-items:center;padding:16px;border:1px solid var(--pf-line);border-radius:13px;background:#fff}
.portfolio-asset{display:flex;align-items:center;gap:11px}
.portfolio-asset img,.portfolio-asset-placeholder{width:34px;height:34px;border-radius:50%;background:#f0ecf8}
.portfolio-asset b,.portfolio-value b{display:block;font-weight:600}
.portfolio-asset span,.portfolio-value span{display:block;margin-top:3px;color:var(--pf-muted);font-size:10px}
.portfolio-value span{font-family:var(--pf-mono)}
.portfolio-apy b{color:var(--pf-violet)}
.portfolio-modeled-price{display:grid;gap:3px;min-width:0}
.portfolio-modeled-price>span{color:var(--pf-muted);font:500 10px/1.2 var(--pf-mono)}
.portfolio-modeled-price>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}
.portfolio-modeled-price input{width:100%;min-width:0;height:38px;border:1px solid #dcd4ec;border-radius:9px;background:#fbfaff;color:var(--pf-ink);padding:0 9px;font:600 12px var(--pf-ui);outline:0}
.portfolio-modeled-price input:focus{border-color:#8262e9;box-shadow:0 0 0 3px #eee9ff}
.portfolio-modeled-price button{min-height:38px;border:1px solid #d6cdf0;border-radius:9px;background:#fff;color:#5d3bd1;padding:0 8px;font:600 9px/1 var(--pf-ui);cursor:pointer}
.portfolio-modeled-price button:hover{background:#f4f0ff}
.portfolio-empty{padding:35px;border:1px dashed #d8cfee;border-radius:14px;background:#fff;text-align:center}
.portfolio-empty b{display:block;font-size:15px}
.portfolio-empty p{margin:7px 0 0;color:var(--pf-muted)}
.portfolio-disclaimer{max-width:820px;margin:20px 0 0;color:#8b8499;font-size:11px;line-height:1.6}
@media(max-width:900px){.portfolio-login{grid-template-columns:1fr}
.portfolio-summary{grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-form-grid{grid-template-columns:1fr 1fr}
.portfolio-field:first-child{grid-column:1/-1}
.portfolio-position{grid-template-columns:1fr 1fr 1fr}
.portfolio-position>.portfolio-asset{grid-column:1/-1}
.portfolio-position>.portfolio-danger{justify-self:end}
}
@media(max-width:620px){.portfolio-page{width:min(100% - 32px,1180px);padding:48px 0 65px}
.portfolio-hero{padding-bottom:32px}
.portfolio-hero h1{font-size:44px}
.portfolio-login{padding:18px}
.portfolio-toolbar{align-items:flex-start}
.portfolio-summary{grid-template-columns:1fr 1fr}
.portfolio-form-grid{grid-template-columns:1fr}
.portfolio-field:first-child{grid-column:auto}
.portfolio-position{grid-template-columns:1fr 1fr}
.portfolio-position>.portfolio-asset{grid-column:1/-1}
.portfolio-position>.portfolio-danger{grid-column:1/-1;justify-self:stretch}
.portfolio-metric strong{font-size:20px}
}
.portfolio-create-callout{margin-top:24px;padding-top:20px;border-top:1px solid var(--pf-line)}
.portfolio-create-callout h3{margin:0 0 5px;font:600 17px/1.2 var(--pf-ui)}
.portfolio-create-callout p{margin:0 0 13px;font-size:12px}
.portfolio-code-card{display:grid;max-width:760px;margin:0 auto;gap:16px;padding:30px;border:1px solid var(--pf-line);border-radius:18px;background:radial-gradient(circle at 100% 0,#eee7ff 0,transparent 42%),#fff;box-shadow:0 18px 42px rgba(41,28,86,.06)}
.portfolio-code-card h2{margin:0;font:600 28px/1.1 var(--pf-ui);letter-spacing:-.045em}
.portfolio-warning{padding:16px;border:1px solid #eacb87;border-radius:12px;background:#fffaf0;color:#704f11;line-height:1.65}
.portfolio-code{display:flex;align-items:center;gap:10px;padding:12px;border:1px solid var(--pf-line);border-radius:12px;background:var(--pf-panel)}
.portfolio-code code{flex:1;overflow-wrap:anywhere;color:#5532ce;font:500 15px/1.5 var(--pf-mono);letter-spacing:.04em}
.portfolio-saved-check{display:flex;align-items:flex-start;gap:9px;color:var(--pf-ink);cursor:pointer}
.portfolio-saved-check input{margin-top:4px;accent-color:var(--pf-violet)}
.portfolio-code-card>.portfolio-primary{justify-self:start}
@media(max-width:620px){.portfolio-code-card{padding:20px}
.portfolio-code{align-items:stretch;flex-direction:column}
.portfolio-code-card>.portfolio-primary{width:100%}
}
.portfolio-summary-compact{grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-row-actions{display:grid;gap:7px;min-width:150px}
.portfolio-strategy{min-height:39px;border:1px solid #7654e6;border-radius:9px;background:#6846df;color:#fff;padding:8px 11px;font:600 10px/1.25 var(--pf-ui);cursor:pointer}
.portfolio-strategy:hover{background:#5937ce}
.portfolio-row-actions .portfolio-danger{min-height:34px;padding:7px 10px;font-size:10px}
.portfolio-totals{display:grid;grid-template-columns:minmax(260px,1fr) repeat(2,minmax(170px,.55fr));gap:12px;align-items:stretch;margin-top:8px;padding:22px;border:1px solid #d9cff5;border-radius:16px;background:radial-gradient(circle at 88% 0,#eae2ff 0,transparent 43%),#fff;box-shadow:0 14px 34px rgba(56,37,112,.06)}
.portfolio-totals h3{margin:8px 0 5px;font:600 22px/1.15 var(--pf-ui);letter-spacing:-.04em}
.portfolio-totals>div>span{color:var(--pf-muted);font:500 10px var(--pf-mono)}
.portfolio-totals article{display:flex;flex-direction:column;justify-content:center;padding:16px;border:1px solid var(--pf-line);border-radius:12px;background:#fff}
.portfolio-totals article small{color:var(--pf-muted);font:500 9px/1.3 var(--pf-mono);letter-spacing:.06em;text-transform:uppercase}
.portfolio-totals article strong{margin-top:8px;color:var(--pf-violet);font:600 27px/1 var(--pf-ui);letter-spacing:-.045em}
.portfolio-totals>p{grid-column:1/-1;margin:2px 0 0;color:var(--pf-muted);font-size:11px;line-height:1.55}
.portfolio-totals-modeled{border-color:#cbded8;background:radial-gradient(circle at 88% 0,#e0f4ed 0,transparent 43%),#fff}
.portfolio-totals-modeled .portfolio-section-label,.portfolio-totals-modeled article strong{color:#178161}
.strategy-modal{width:min(900px,calc(100% - 32px));max-height:min(760px,calc(100vh - 40px));overflow:hidden;border:1px solid var(--pf-line);border-radius:18px;background:#fcfbff;color:var(--pf-ink);padding:0;box-shadow:0 28px 80px rgba(28,18,62,.25)}
.strategy-modal::backdrop{background:rgba(24,18,42,.38);backdrop-filter:blur(4px)}
.strategy-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:24px 26px 18px;border-bottom:1px solid var(--pf-line);background:#fff}
.strategy-modal-head h2{margin:8px 0 0;font:600 27px/1.1 var(--pf-ui);letter-spacing:-.045em}
.strategy-modal-head .portfolio-section-label span{color:var(--pf-ink)}
.strategy-close{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border:1px solid var(--pf-line);border-radius:10px;background:#fff;color:var(--pf-muted);font:400 25px/1 var(--pf-ui);cursor:pointer}
.strategy-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 26px;border-bottom:1px solid var(--pf-line);background:#faf8ff}
.strategy-filters label{display:grid;gap:6px;color:var(--pf-muted);font-size:10px}
.strategy-filters select{width:100%;height:42px;appearance:none;border:1px solid #dcd4ec;border-radius:9px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%236544e8' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 13px center;color:var(--pf-ink);padding:0 36px 0 12px;font:500 11px var(--pf-ui);outline:0}
.strategy-filters select:focus{border-color:#967bea;box-shadow:0 0 0 3px #eee9ff}
.strategy-list{display:grid;gap:9px;max-height:500px;overflow:auto;padding:16px 26px 26px}
.strategy-option{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.58fr) 105px 105px;gap:16px;align-items:center;padding:16px;border:1px solid var(--pf-line);border-radius:12px;background:#fff}
.strategy-option.selected{border-color:#aa96ed;background:#f8f5ff}
.strategy-source{display:inline-flex;margin-bottom:6px;padding:3px 6px;border-radius:6px;background:#f0ebff;color:#6948d9;font:500 8px var(--pf-mono);letter-spacing:.05em;text-transform:uppercase}
.strategy-option-main h3{margin:0;font:600 15px/1.25 var(--pf-ui)}
.strategy-option-main p{margin:3px 0 0;color:var(--pf-muted);font-size:11px}
.strategy-option-main small{display:block;margin-top:7px;color:#8a8298;font:500 9px/1.45 var(--pf-mono)}
.strategy-option-yield{display:grid;justify-items:start;gap:7px}
.strategy-option-yield strong{color:var(--pf-violet);font:600 23px/1 var(--pf-ui);letter-spacing:-.04em}
.strategy-option-links{display:grid;gap:7px}
.strategy-reference-link{display:flex;min-height:34px;align-items:center;justify-content:space-between;gap:10px;border:1px solid #d9d0ed;border-radius:9px;background:#fff;color:#5b3bc9;padding:7px 10px;font:600 9px/1.25 var(--pf-ui);text-decoration:none}
.strategy-reference-link:hover{border-color:#967bea;background:#f7f4ff}
.strategy-reference-link.official{border-color:#7251df;background:#6846df;color:#fff}
.strategy-reference-link.official:hover{background:#5937ce}
.strategy-reference-link.disabled{border-style:dashed;background:#faf9fc;color:#9a94a4;cursor:not-allowed}
.strategy-reference-link span{flex:0 0 auto;font-size:11px}
.strategy-risk{display:inline-flex;padding:4px 7px;border-radius:8px;background:#f2eff7;color:#756d83;font:500 8px var(--pf-mono)}
.strategy-risk.risk-low{background:#eaf8f1;color:#187a52}.strategy-risk.risk-medium{background:#fff5df;color:#94671b}.strategy-risk.risk-high{background:#fff0f2;color:#a44458}
.strategy-empty{padding:44px 20px;border:1px dashed #d8cfee;border-radius:12px;color:var(--pf-muted);text-align:center}
@media(max-width:900px){.portfolio-totals{grid-template-columns:1fr 1fr}.portfolio-totals>div{grid-column:1/-1}.strategy-option{grid-template-columns:minmax(0,1fr) 110px}.strategy-option-main{grid-column:1}.strategy-option-yield{grid-column:2;grid-row:1}.strategy-option-links{grid-column:1}.strategy-option>button{grid-column:2}.portfolio-row-actions{min-width:0}}
@media(max-width:620px){.portfolio-summary-compact,.portfolio-totals{grid-template-columns:1fr}.portfolio-totals>div{grid-column:auto}.portfolio-totals>p{grid-column:auto}.strategy-modal{max-height:calc(100vh - 20px)}.strategy-modal-head{padding:20px}.strategy-filters{grid-template-columns:1fr;padding:14px 20px}.strategy-list{padding:14px 20px 20px}.strategy-option{grid-template-columns:1fr}.strategy-option-yield{grid-template-columns:auto auto;align-items:center;justify-content:start}.strategy-option>button{grid-column:auto}.portfolio-row-actions{grid-column:1/-1;grid-template-columns:1fr auto}}
.strategy-modal-complete{width:min(1080px,calc(100% - 32px))}
.strategy-modal-complete[open]{display:grid;height:min(760px,calc(100vh - 40px));grid-template-rows:auto auto auto auto minmax(0,1fr)}
.strategy-type-tabs{display:flex;gap:7px;overflow-x:auto;padding:14px 26px 0;background:#faf8ff;scrollbar-width:thin}
.strategy-type-tabs button{display:inline-flex;min-height:36px;flex:0 0 auto;align-items:center;gap:7px;border:1px solid #ded6ed;border-radius:9px;background:#fff;color:#655e72;padding:7px 10px;font:600 10px var(--pf-ui);cursor:pointer}
.strategy-type-tabs button span{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:7px;background:#f1edf8;color:#7b6e91;font:500 8px var(--pf-mono)}
.strategy-type-tabs button.active{border-color:#876aeb;background:#6b49df;color:#fff}.strategy-type-tabs button.active span{background:rgba(255,255,255,.18);color:#fff}
.strategy-filters-complete{grid-template-columns:repeat(5,minmax(0,1fr));padding-top:13px}
.strategy-filters-complete .strategy-search-field{grid-column:span 2}
.strategy-filters input{width:100%;height:42px;border:1px solid #dcd4ec;border-radius:9px;background:#fff;color:var(--pf-ink);padding:0 12px;font:500 11px var(--pf-ui);outline:0}
.strategy-filters input:focus{border-color:#967bea;box-shadow:0 0 0 3px #eee9ff}
.strategy-results-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 26px;border-bottom:1px solid var(--pf-line);background:#fff}
.strategy-results-bar span{color:var(--pf-muted);font:500 9px var(--pf-mono);text-transform:uppercase}
.strategy-results-bar button{border:0;background:transparent;color:#6846df;padding:5px;font:600 10px var(--pf-ui);cursor:pointer}
.strategy-modal-complete .strategy-list{min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.strategy-group{display:grid;gap:9px}
.strategy-group+ .strategy-group{margin-top:13px;padding-top:16px;border-top:1px solid var(--pf-line)}
.strategy-group>header{display:flex;align-items:center;justify-content:space-between;padding:0 2px}
.strategy-group>header h3{margin:0;color:#4f475d;font:600 12px var(--pf-ui)}
.strategy-group>header span{display:grid;min-width:23px;height:22px;place-items:center;border-radius:7px;background:#f0ebff;color:#6948d9;font:500 9px var(--pf-mono)}
@media(max-width:900px){.strategy-filters-complete{grid-template-columns:repeat(3,minmax(0,1fr))}.strategy-filters-complete .strategy-search-field{grid-column:span 2}}
@media(max-width:620px){.strategy-modal-complete[open]{display:block;height:calc(100vh - 20px);overflow-y:auto}.strategy-type-tabs{padding:12px 20px 0}.strategy-filters-complete{grid-template-columns:1fr}.strategy-filters-complete .strategy-search-field{grid-column:auto}.strategy-results-bar{padding:10px 20px}.strategy-modal-complete .strategy-list{max-height:none;overflow:visible}.strategy-option-main,.strategy-option-yield,.strategy-option-links,.strategy-option>button{grid-column:auto;grid-row:auto}}
@media(max-height:560px){.strategy-modal-complete[open]{display:block;overflow-y:auto}.strategy-modal-complete .strategy-list{max-height:none;overflow:visible}}
.portfolio-form-actions{display:grid;gap:7px;align-self:end}
.portfolio-form-actions .portfolio-primary,.portfolio-form-actions .portfolio-secondary{min-width:150px}
.portfolio-add.editing{border-color:#9b82ed;background:linear-gradient(120deg,#faf8ff,#f2edff);box-shadow:0 0 0 3px rgba(119,83,231,.08)}
.portfolio-add.editing #portfolioAssetSearch{background:#f2eef9;color:#70687d;cursor:not-allowed}
.portfolio-edit{min-height:34px;border:1px solid #d9d0ed;border-radius:9px;background:#fff;color:#5f5670;padding:7px 10px;font:600 10px/1.25 var(--pf-ui);cursor:pointer}
.portfolio-edit:hover{border-color:#9f8add;background:#f8f5ff;color:#5c3bc9}
@media(max-width:620px){.portfolio-form-actions{grid-template-columns:1fr 1fr}.portfolio-form-actions .portfolio-primary,.portfolio-form-actions .portfolio-secondary{min-width:0}.portfolio-row-actions{grid-template-columns:1fr 1fr}.portfolio-row-actions .portfolio-danger{grid-column:1/-1}}
