/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-300:oklch(80.8% .114 19.571);--color-emerald-400:oklch(76.5% .177 163.223);--color-violet-300:oklch(81.1% .111 293.571);--color-violet-400:oklch(70.2% .183 293.541);--color-white:#fff;--spacing:.25rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height: 1.5 ;--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height: 1.2 ;--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-relaxed:1.625;--radius-xl:.75rem;--radius-2xl:1rem;--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.z-10{z-index:10}.z-40{z-index:40}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-1\.5{height:calc(var(--spacing) * 1.5)}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.max-w-7xl{max-width:var(--container-7xl)}.min-w-0{min-width:calc(var(--spacing) * 0)}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.self-start{align-self:flex-start}.overflow-visible{overflow:visible}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-white\/5{border-color:#ffffff0d}@supports (color:color-mix(in lab,red,red)){.border-white\/5{border-color:color-mix(in oklab,var(--color-white) 5%,transparent)}}.bg-emerald-400{background-color:var(--color-emerald-400)}.bg-violet-400{background-color:var(--color-violet-400)}.bg-white\/\[0\.03\]{background-color:#ffffff08}@supports (color:color-mix(in lab,red,red)){.bg-white\/\[0\.03\]{background-color:color-mix(in oklab,var(--color-white) 3%,transparent)}}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[10px\]{font-size:10px}.text-\[11px\]{font-size:11px}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.text-\[var\(--color-text-faint\)\]{color:var(--color-text-faint)}.text-red-300{color:var(--color-red-300)}.text-violet-300{color:var(--color-violet-300)}.text-white\/30{color:#ffffff4d}@supports (color:color-mix(in lab,red,red)){.text-white\/30{color:color-mix(in oklab,var(--color-white) 30%,transparent)}}.text-white\/40{color:#fff6}@supports (color:color-mix(in lab,red,red)){.text-white\/40{color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.text-white\/50{color:#ffffff80}@supports (color:color-mix(in lab,red,red)){.text-white\/50{color:color-mix(in oklab,var(--color-white) 50%,transparent)}}.text-white\/60{color:#fff9}@supports (color:color-mix(in lab,red,red)){.text-white\/60{color:color-mix(in oklab,var(--color-white) 60%,transparent)}}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab,red,red)){.text-white\/70{color:color-mix(in oklab,var(--color-white) 70%,transparent)}}.uppercase{text-transform:uppercase}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media(min-width:40rem){.sm\:mt-16{margin-top:calc(var(--spacing) * 16)}.sm\:mb-2{margin-bottom:calc(var(--spacing) * 2)}.sm\:mb-4{margin-bottom:calc(var(--spacing) * 4)}.sm\:mb-5{margin-bottom:calc(var(--spacing) * 5)}.sm\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:justify-between{justify-content:space-between}.sm\:gap-3{gap:calc(var(--spacing) * 3)}.sm\:gap-4{gap:calc(var(--spacing) * 4)}.sm\:self-auto{align-self:auto}.sm\:p-5{padding:calc(var(--spacing) * 5)}.sm\:p-6{padding:calc(var(--spacing) * 6)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:py-10{padding-block:calc(var(--spacing) * 10)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.sm\:text-\[11px\]{font-size:11px}}@media(min-width:48rem){.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:64rem){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}}:root{color-scheme:dark;--color-bg:#07070d;--color-text:#e7e7ee;--color-text-soft:#c4c4d4;--color-text-muted:#8a8aa0;--color-text-faint:#6c6c80;--color-panel:#ffffff0a;--color-panel-strong:#ffffff0f;--color-panel-border:#ffffff14;--color-stripe:#ffffff04;--color-divider:#ffffff0d;--color-divider-strong:#ffffff14;--color-up:#34d399;--color-down:#f87171;--color-warn:#fbbf24;--color-neutral:#a3a3b2;--color-accent:#6366f1;--blob-1:#6366f12e;--blob-2:#ec489924;--blob-3:#10b9811f}[data-theme=light]{color-scheme:light;--color-bg:#dde1ea;--color-text:#1f2030;--color-text-soft:#3a3a48;--color-text-muted:#5c5c70;--color-text-faint:#8e8ea0;--color-panel:#ffffffbf;--color-panel-strong:#fffffff2;--color-panel-border:#0000001a;--color-stripe:#00000006;--color-divider:#0000000f;--color-divider-strong:#0000001a;--color-up:#059669;--color-down:#dc2626;--color-warn:#d97706;--color-neutral:#6b7280;--color-accent:#4f46e5;--blob-1:#6366f11a;--blob-2:#ec489914;--blob-3:#10b98114}html,body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-feature-settings:"tnum" 1,"cv11" 1;-webkit-font-smoothing:antialiased;max-width:100%;overflow-x:hidden}.kpi-cards>*{min-width:0}.kpi-cards .tabnum{text-overflow:ellipsis;overflow:hidden}@media(max-width:400px){.kpi-cards .text-xl{font-size:1.05rem}}.portfolio-name-text{overflow-wrap:anywhere;word-break:break-word;min-width:0}.arb-kpi-card{cursor:pointer;border:1px solid #0000;transition:border-color .14s,transform .14s,box-shadow .14s}.arb-kpi-card:hover{border-color:var(--color-accent);transform:translateY(-1px);box-shadow:0 10px 26px -12px #6366f180}.arb-kpi-counts{align-items:baseline;gap:.6rem;display:flex}.arb-kpi-buy,.arb-kpi-sell{font-variant-numeric:tabular-nums;font-size:clamp(1.2rem,3vw,1.6rem);font-weight:700;line-height:1}.arb-kpi-buy{color:var(--color-up)}.arb-kpi-sell{color:var(--color-down)}.perf-card{padding:1.1rem 1.25rem .6rem;position:relative;overflow:hidden}.perf-card:before{content:"";pointer-events:none;background:radial-gradient(closest-side,#6366f11a,#0000 70%);width:60%;height:160%;position:absolute;top:-40%;right:-10%}.perf-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex;position:relative}.perf-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-faint);font-size:.66rem;font-weight:600}.perf-headline{flex-wrap:wrap;align-items:baseline;gap:.7rem;margin-top:.25rem;display:flex}.perf-value{letter-spacing:-.01em;font-variant-numeric:tabular-nums;color:var(--color-text);font-size:clamp(1.5rem,4vw,2.1rem);font-weight:700;line-height:1}.perf-delta{font-variant-numeric:tabular-nums;border-radius:999px;align-items:baseline;gap:.5rem;padding:.15rem .55rem;font-size:.95rem;font-weight:700;display:inline-flex}.perf-delta.up{color:var(--color-up);background:#34d3991f}.perf-delta.down{color:var(--color-down);background:#f871711f}.perf-delta-abs{opacity:.85;font-size:.78rem;font-weight:600}.perf-sub{color:var(--color-text-muted);margin-top:.3rem;font-size:.72rem}.perf-periods{background:var(--color-stripe);border:1px solid var(--color-divider);border-radius:999px;flex-shrink:0;gap:.2rem;padding:.22rem;display:inline-flex}.perf-period{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:999px;padding:.3rem .7rem;font-size:.76rem;font-weight:600;transition:color .14s,background .14s,box-shadow .14s}.perf-period:hover{color:var(--color-text)}.perf-period.active{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 14px -4px #6366f199}.perf-chart-wrap{touch-action:pan-y;width:100%;height:280px;margin-top:.4rem;position:relative}@media(max-width:640px){.perf-chart-wrap{height:210px}}.perf-svg{width:100%;height:100%;display:block}.perf-grid{stroke:var(--color-divider);stroke-width:1px;stroke-dasharray:3 5;vector-effect:non-scaling-stroke;opacity:.7}.perf-line{filter:drop-shadow(0 6px 14px #6366f12e)}.perf-axis-y{pointer-events:none;position:absolute;inset:0}.perf-ytick{text-align:right;font-variant-numeric:tabular-nums;width:5.5%;color:var(--color-text-faint);letter-spacing:.01em;white-space:nowrap;text-shadow:0 1px 2px var(--color-bg),0 0 3px var(--color-bg);padding-right:6px;font-size:.62rem;font-weight:600;position:absolute;left:0;transform:translateY(-50%)}.perf-events{pointer-events:none;z-index:3;position:absolute;inset:0}.perf-event{width:0;position:absolute;top:4%;bottom:9%}.perf-event-line{background:repeating-linear-gradient(var(--ev,var(--color-warn)) 0 3px,transparent 3px 7px);opacity:.55;width:1.5px;position:absolute;top:0;bottom:0;left:0}.perf-event-lbl{color:var(--color-text-soft);white-space:nowrap;text-align:left;background:var(--color-bg);border:1px solid var(--color-divider);border-left:2px solid var(--ev,var(--color-warn));appearance:none;pointer-events:auto;cursor:pointer;border-radius:4px;align-items:center;gap:.22rem;padding:.1rem .34rem;font-family:inherit;font-size:.56rem;font-weight:600;line-height:1.1;transition:color .12s,border-color .12s,box-shadow .12s,transform .12s;display:inline-flex;position:absolute;top:0;left:4px}.perf-event-dot{background:var(--ev,var(--color-warn));border-radius:50%;flex:none;width:.34rem;height:.34rem}.perf-event-name{text-overflow:ellipsis;white-space:nowrap;max-width:7rem;overflow:hidden}.perf-event-flip .perf-event-lbl{border-left:1px solid var(--color-divider);border-right:2px solid var(--ev,var(--color-warn));left:auto;right:4px}.perf-event-lbl:hover{color:var(--color-text);border-color:var(--ev,var(--color-warn));z-index:9;transform:translateY(-1px);box-shadow:0 2px 10px #00000047}.perf-event-lbl:focus-visible{outline:2px solid var(--ev,var(--color-accent));outline-offset:1px}.perf-event-desc{z-index:12;white-space:normal;width:14rem;max-width:14rem;color:var(--color-text-soft);border:1px solid var(--ev,var(--color-divider));background:#14141d;border-radius:9px;padding:.5rem .6rem;font-size:.62rem;font-weight:500;line-height:1.4;display:none;position:absolute;top:135%;left:-2px;box-shadow:0 14px 34px #00000080}.perf-event-desc strong{color:var(--color-text);font-weight:700}.perf-event-cta{color:var(--ev,var(--color-accent));margin-top:.35rem;font-size:.58rem;font-weight:700;display:block}.perf-event-flip .perf-event-desc{left:auto;right:-2px}.perf-event-lbl:hover .perf-event-desc{display:block}[data-theme=light] .perf-event-desc{color:#3a3a48;background:#fff}.perf-period-mkt i{opacity:.85;margin-right:.1rem;font-size:.72em}.trader-swal-event .ev-modal{text-align:left}.ev-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.7rem;display:flex}.ev-cat{text-transform:uppercase;letter-spacing:.04em;color:var(--ev,var(--color-accent));background:var(--ev,var(--color-accent));font-size:.68rem;font-weight:700}@supports (color:color-mix(in lab,red,red)){.ev-cat{background:color-mix(in srgb,var(--ev,var(--color-accent)) 16%,transparent)}}.ev-cat{border:1px solid var(--ev,var(--color-accent))}@supports (color:color-mix(in lab,red,red)){.ev-cat{border:1px solid color-mix(in srgb,var(--ev,var(--color-accent)) 40%,transparent)}}.ev-cat{border-radius:999px;padding:.18rem .5rem}.ev-date{color:var(--color-text-muted);white-space:nowrap;font-size:.78rem;font-weight:600}.ev-chips{flex-wrap:wrap;gap:.4rem;margin-bottom:.8rem;display:flex}.ev-chip{border-radius:8px;align-items:center;gap:.3rem;padding:.22rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.ev-chip i{font-size:.85em}.ev-chip-drop{color:var(--color-down);background:#f8717121;border:1px solid #f871714d}.ev-chip-rec{color:var(--color-up);background:#34d39921;border:1px solid #34d3994d}.ev-section{margin-bottom:.75rem}.ev-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin:0 0 .2rem;font-size:.7rem}.ev-section p{color:var(--color-text-soft);margin:0;font-size:.86rem;line-height:1.5}.ev-note{border-radius:9px;align-items:flex-start;gap:.45rem;padding:.55rem .7rem;font-size:.76rem;line-height:1.45;display:flex}.ev-note i{margin-top:.12rem}.ev-note-in{color:var(--color-up);background:#34d3991a;border:1px solid #34d39940}.ev-note-out{color:var(--color-text-muted);background:var(--color-stripe);border:1px solid var(--color-divider)}.ev-note-out strong{color:var(--color-text-soft)}.obj-guide{text-align:left;background:var(--color-accent);border-radius:12px;margin-bottom:1.1rem;padding:.85rem 1rem}@supports (color:color-mix(in lab,red,red)){.obj-guide{background:color-mix(in srgb,var(--color-accent) 8%,transparent)}}.obj-guide{border:1px solid var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.obj-guide{border:1px solid color-mix(in srgb,var(--color-accent) 26%,transparent)}}.obj-guide>h3{color:var(--color-text);align-items:center;gap:.45rem;margin:0 0 .6rem;font-size:.92rem;font-weight:700;display:flex}.obj-guide>h3 i{color:var(--color-accent)}.obj-guide-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.obj-guide-item{align-items:flex-start;gap:.55rem;font-size:.82rem;line-height:1.4;display:flex}.obj-guide-item>i{flex:none;margin-top:.18rem;font-size:.82rem}.obj-guide-item.obj-action>i{color:var(--color-warn)}.obj-guide-item.obj-aligned>i{color:var(--color-up)}.obj-guide-label{color:var(--color-text);text-transform:uppercase;letter-spacing:.03em;margin-right:.4rem;font-size:.66rem;font-weight:700;display:inline-block}.obj-guide-text{color:var(--color-text-soft)}.perf-axis-x{pointer-events:none;height:1rem;position:absolute;bottom:.15rem;left:0;right:0}.perf-xtick{font-variant-numeric:tabular-nums;color:var(--color-text-faint);white-space:nowrap;letter-spacing:.01em;font-size:.62rem;font-weight:600;position:absolute;bottom:0}.perf-cursor{pointer-events:none;width:0;position:absolute;top:0;bottom:0}.perf-cursor-line{background:linear-gradient(var(--color-text-faint),transparent);opacity:.5;width:1px;position:absolute;top:4%;bottom:8%;left:0}.perf-cursor-dot{border:2.5px solid var(--color-bg);border-radius:50%;width:12px;height:12px;position:absolute;left:0;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #0000001a,0 0 12px 2px}.perf-tip{pointer-events:none;z-index:3;background:var(--color-panel-strong);border:1px solid var(--color-panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:.6rem;min-width:110px;padding:.4rem .65rem;transition:left 60ms linear;position:absolute;top:.2rem;box-shadow:0 10px 30px -10px #0006}.perf-tip-date{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.64rem}.perf-tip-val{color:var(--color-text);font-variant-numeric:tabular-nums;margin:.05rem 0;font-size:.95rem;font-weight:700}.perf-tip-pct{font-variant-numeric:tabular-nums;font-size:.76rem;font-weight:700}.perf-tip-pct.up{color:var(--color-up)}.perf-tip-pct.down{color:var(--color-down)}.perf-empty{text-align:center;height:100%;color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:.6rem;padding:1rem;font-size:.85rem;line-height:1.5;display:flex}.perf-empty i{color:var(--color-text-faint);font-size:1.6rem}.triptych{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:1rem;display:grid}@media(max-width:1023px){.triptych{grid-template-columns:1fr}}.tych-card{min-width:0;display:flex}.tych-card>*{width:100%}.tych-card .perf-card,.tych-card .donut-card{position:relative}.tych-expand{border:1px solid var(--color-panel-border);background:var(--color-panel);color:var(--color-text-muted);cursor:pointer;border-radius:.5rem;flex-shrink:0;align-items:center;gap:.4rem;padding:.32rem .5rem;font-size:.74rem;font-weight:600;transition:color .12s,border-color .12s,background .12s;display:inline-flex}.tych-expand:hover{color:var(--color-accent);border-color:var(--color-accent)}.tych-expand i{font-size:.78rem}.triptych.has-expanded{grid-template-columns:1fr}.triptych.has-expanded .tych-card:not(.expanded){display:none}.tych-card.expanded{animation:.28s cubic-bezier(.33,.9,.4,1) tychIn}@keyframes tychIn{0%{opacity:.4;transform:scale(.995)}to{opacity:1;transform:none}}.triptych:not(.has-expanded) .perf-chart-wrap{height:158px}.triptych:not(.has-expanded) .perf-value{font-size:clamp(1.2rem,3vw,1.5rem)}.triptych:not(.has-expanded) .perf-periods{padding:.16rem}.triptych:not(.has-expanded) .perf-period{padding:.22rem .5rem;font-size:.7rem}.triptych:not(.has-expanded) .perf-sub,.tych-card[data-tych=perf]:not(.expanded) .perf-events,.tych-card[data-tych=perf]:not(.expanded) .perf-period-mkt,.triptych:not(.has-expanded) .alloc-actions{display:none}.triptych:not(.has-expanded) .donut-body{flex-wrap:nowrap;justify-content:center;align-items:center;gap:.55rem}.triptych:not(.has-expanded) .donut-svg{width:168px!important;height:168px!important}.triptych:not(.has-expanded) .donut-center-pct{font-size:1.1rem}.triptych:not(.has-expanded) .donut-center-lbl{max-width:4.5rem;font-size:.55rem}.triptych:not(.has-expanded) .donut-legend{flex-direction:column;flex:1;gap:.02rem;min-width:0;display:flex}.triptych:not(.has-expanded) .donut-legend-row{gap:.25rem;padding:0;font-size:.52rem}.triptych:not(.has-expanded) .donut-legend-row .flag-img,.triptych:not(.has-expanded) .donut-legend-row .donut-flag-euro,.triptych:not(.has-expanded) .donut-legend-row .flag-globe{display:none}.triptych:not(.has-expanded) .donut-legend-row .donut-dot{flex:0 0 6px;width:6px;height:6px}.triptych:not(.has-expanded) .donut-pct{font-size:.52rem}.triptych:not(.has-expanded) .leaflet-inline{height:248px!important}.triptych:not(.has-expanded) .world-card .map-card-body{margin-top:.25rem}.triptych:not(.has-expanded) .world-card{padding:.7rem .7rem .55rem}.tych-side{min-width:0;display:none}.tych-card.expanded .tych-side{display:block}.tych-seg{background:var(--color-stripe);border:1px solid var(--color-divider);border-radius:999px;gap:.15rem;margin:-.5rem 0 .7rem;padding:.18rem;display:inline-flex}.tych-seg-btn{cursor:pointer;color:var(--color-text-muted);background:0 0;border:none;border-radius:999px;align-items:center;gap:.3rem;padding:.28rem .6rem;font-size:.72rem;font-weight:600;transition:color .13s,background .13s,box-shadow .13s;display:inline-flex}.tych-seg-btn i{font-size:.7rem}.tych-seg-btn:hover{color:var(--color-text)}.tych-seg-btn.active{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 4px 12px -4px #6366f199}.tych-seg-btn.active i{color:#fff}.tych-side-title{color:var(--color-text);align-items:center;gap:.4rem;margin-bottom:.15rem;font-size:.78rem;font-weight:700;display:flex}.tych-side-title i{color:var(--color-accent);font-size:.8rem}.tych-side-hint{color:var(--color-text-muted);margin-bottom:.6rem;font-size:.68rem}.tych-side-empty{color:var(--color-text-faint);padding:.6rem 0;font-size:.78rem;font-style:italic}.tych-side-list{flex-direction:column;gap:.05rem;display:flex}.tych-side-row{border-bottom:1px solid var(--color-divider);align-items:center;gap:.5rem;padding:.26rem .1rem;display:flex}.tych-side-row:last-child{border-bottom:none}.tych-side-rank{color:var(--color-text-faint);font-variant-numeric:tabular-nums;flex:0 0 1.1rem;font-size:.64rem;font-weight:700}.tych-side-name{min-width:0;color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:.76rem;overflow:hidden}.tych-flag{object-fit:cover;border-radius:50%;flex:0 0 16px;width:16px;height:16px;box-shadow:0 1px 2px #00000040}.tych-flag-globe{text-align:center;flex:0 0 16px;width:16px;font-size:13px;line-height:1}.tych-side-chg{font-variant-numeric:tabular-nums;flex:none;font-size:.66rem;font-weight:600}.tych-side-chg.up{color:var(--color-up)}.tych-side-chg.down{color:var(--color-down)}.tych-side-chg.flat{color:var(--color-text-faint)}.tych-side-bar{background:#6366f11f;border-radius:3px;flex:0 0 70px;height:5px;overflow:hidden}.tych-side-bar>span{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:3px;height:100%;display:block}.tych-side-pct{text-align:right;color:var(--color-text);font-variant-numeric:tabular-nums;flex:0 0 3rem;font-size:.75rem;font-weight:700}.tych-card[data-tych=alloc].expanded .donut-card{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:start;gap:1.5rem;display:grid}.tych-card[data-tych=alloc].expanded .donut-header,.tych-card[data-tych=alloc].expanded .alloc-actions{grid-column:1/-1}.tych-card[data-tych=alloc].expanded .alloc-views{grid-column:1;min-width:0}.tych-card[data-tych=alloc].expanded .tych-side{grid-column:2;min-width:0}.tych-card[data-tych=geo].expanded .donut-card{grid-template-columns:minmax(0,1fr) minmax(0,.92fr);align-items:stretch;gap:1.3rem;display:grid}.tych-card[data-tych=geo].expanded .donut-header{grid-column:1/-1}.tych-card[data-tych=geo].expanded .map-card-body{grid-column:1;min-width:0}.tych-card[data-tych=geo].expanded .tych-side{grid-column:2;align-self:start;min-width:0}.tych-card[data-tych=geo].expanded .leaflet-inline{height:420px!important}@media(max-width:720px){.tych-card[data-tych=alloc].expanded .donut-card,.tych-card[data-tych=geo].expanded .donut-card{display:block}.tych-card[data-tych=geo].expanded .leaflet-inline{height:260px!important}}body:before{content:"";pointer-events:none;background:radial-gradient(ellipse 60% 50% at 15% 10%,var(--blob-1),transparent 60%),radial-gradient(ellipse 50% 50% at 90% 20%,var(--blob-2),transparent 60%),radial-gradient(ellipse 60% 50% at 50% 100%,var(--blob-3),transparent 60%);z-index:0;animation:30s ease-in-out infinite alternate drift;position:fixed;inset:0}@keyframes drift{0%{transform:translate(0)scale(1)}50%{transform:translate(-2%,1%)scale(1.05)}to{transform:translate(2%,-1%)scale(1)}}.glass{background:var(--color-panel);border:1px solid var(--color-panel-border);-webkit-backdrop-filter:blur(12px)saturate(120%)}.tabnum{font-variant-numeric:tabular-nums}.fade-in{animation:.4s both fadeIn}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.pulse-dot{animation:2.5s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:1px solid #ffffff1a;border-radius:.7rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:500;transition:transform .12s,box-shadow .12s,filter .12s;box-shadow:0 8px 24px -8px #6366f180}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.badge{letter-spacing:.01em;border:1px solid #0000;border-radius:999px;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.72rem;font-weight:600;display:inline-flex}.badge-positive{color:var(--color-up);background:#34d3991f;border-color:#34d3994d}.badge-warning{color:var(--color-warn);background:#fbbf241f;border-color:#fbbf244d}.badge-negative{color:var(--color-down);background:#f871711f;border-color:#f871714d}.badge-neutral{color:var(--color-text-soft);background:#a3a3b21a;border-color:#a3a3b240}.prose-trader{color:var(--color-text-soft);line-height:1.6}.prose-trader h3{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);border-bottom:1px solid var(--color-divider);margin:1.25rem 0 .5rem;padding-bottom:.35rem;font-size:.78rem}.prose-trader h3:first-child{margin-top:0}.prose-trader h4{color:var(--color-text);margin:.75rem 0 .25rem;font-size:.85rem;font-weight:600}.prose-trader p{margin:.4rem 0}.prose-trader ul{margin:.4rem 0;padding-left:1.35rem;list-style:outside}.prose-trader li{margin:.3rem 0;padding-left:.25rem}.prose-trader li::marker{color:var(--color-accent);font-size:1.1em}.prose-trader strong{color:var(--color-text);font-weight:600}.prose-trader code{color:#c7d2fe;background:#6366f12e;border-radius:5px;padding:1px 6px;font-size:.85em}@media(max-width:640px){body:before{background:radial-gradient(ellipse 80% 40% at 20% 0%,var(--blob-1),transparent 60%),radial-gradient(ellipse 70% 40% at 80% 100%,var(--blob-2),transparent 60%)}.btn-primary{padding:.55rem .95rem;font-size:.85rem}.badge{padding:.22rem .5rem;font-size:.66rem}}@supports (padding:max(0px)){body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}button{touch-action:manipulation;min-height:44px}.trader-table-wrap{background:var(--color-panel);border:1px solid var(--color-panel-border);-webkit-backdrop-filter:blur(12px)saturate(120%);border-radius:1rem;max-width:100%;overflow:hidden visible}.trader-table{border-collapse:collapse;table-layout:auto;width:100%;color:var(--color-text-soft);font-size:.85rem}.trader-table thead th{background:var(--color-stripe);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-divider-strong);white-space:nowrap;z-index:1;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:.65rem .75rem;font-size:.7rem;font-weight:600;position:sticky;top:0}.trader-table tbody td{border-bottom:1px solid var(--color-divider);vertical-align:middle;white-space:nowrap;padding:.75rem}.trader-table tbody td.t-left:first-child,.trader-table tbody td:last-child{white-space:normal;min-width:9rem}.trader-table tbody tr:nth-child(odd){background:var(--color-stripe)}.trader-table tbody tr:hover{background:#6366f10f}.trader-table tbody tr.fund-row{cursor:pointer}.pos-card.fund-row{cursor:pointer;transition:transform .12s,box-shadow .12s}.pos-card.fund-row:hover{transform:translateY(-1px);box-shadow:0 8px 24px -10px #6366f14d}.trader-table tbody tr:last-child td{border-bottom:none}.trader-table tbody tr.euros-row{border-top:1px solid var(--color-divider-strong);background:linear-gradient(#94a3b80a,#94a3b814)}.trader-table tbody tr.euros-row:hover{background:linear-gradient(#94a3b814,#94a3b81f)}.trader-table tbody tr.euros-row td.text-faint,.trader-table tbody tr.euros-row .text-faint{color:var(--color-text-faint)}.trader-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .12s}.trader-table th.sortable:hover{color:#c7d2fe;background:#6366f10f}.trader-table th .sort-arrow{color:var(--color-accent);min-width:.6em;margin-left:.25rem;font-size:.62rem;display:inline-block}.trader-table th[data-dir]{color:#c7d2fe}.t-left{text-align:left}.t-right{text-align:right}.t-center{text-align:center}.row-name{color:var(--color-text);align-items:center;gap:.5rem;font-size:.9rem;font-weight:600;display:flex}.row-name>span:first-child{flex:1;min-width:0}.flag-img{vertical-align:middle;border-radius:50%;flex-shrink:0;display:inline-block;box-shadow:0 1px 2px #0003}.flag-globe{flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.row-flag-euro,.donut-flag-euro{color:#fff;background:linear-gradient(135deg,#94a3b8,#64748b);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:18px;height:18px;font-size:11px;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #0003}.donut-flag-euro{width:14px;height:14px;font-size:9px}.pos-card-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pos-card-title>span:first-child{flex:1;min-width:0}.row-sub{color:var(--color-text-faint);align-items:center;gap:.4rem;margin-top:.15rem;font-size:.68rem;display:flex}.row-nav{font-size:.92rem;font-weight:600}.row-day{margin-top:.1rem;font-size:.72rem}.row-weight{color:var(--color-text-muted);margin-top:.1rem;font-size:.68rem}.t-left .row-sub{justify-content:flex-start}.t-right .row-sub,.t-right .row-nav{justify-content:flex-end}.cat-tag{text-transform:uppercase;letter-spacing:.04em;border-radius:4px;padding:.05rem .4rem;font-size:.62rem;font-weight:500;display:inline-block}.cat-tech{color:#6366f1;background:#6366f12e}.cat-health{color:#db2777;background:#ec48992e}.cat-emerging{color:#d97706;background:#f59e0b2e}.cat-us{color:#2563eb;background:#3b82f62e}.cat-europe{color:#059669;background:#10b9812e}.cat-world{color:#9333ea;background:#a855f72e}.cat-small-cap{color:#0d9488;background:#14b8a62e}.cat-esg{color:#16a34a;background:#22c55e2e}.cat-euros{color:#64748b;background:#94a3b833;font-weight:600}.sent-dot{font-size:1.05rem;line-height:1}.sent-positive{color:var(--color-up)}.sent-neutral{color:var(--color-neutral)}.sent-negative{color:var(--color-down)}.conseil-pill{letter-spacing:.01em;white-space:nowrap;border:1px solid #0000;border-radius:8px;flex-shrink:0;align-items:center;gap:.4rem;padding:.35rem .65rem;font-size:.74rem;font-weight:600;display:inline-flex}.conseil-icon{font-size:.9rem;line-height:1}.conseil-positive{color:var(--color-up);background:linear-gradient(135deg,#34d39940,#34d39914);border-color:#34d39973}.conseil-warning{color:var(--color-warn);background:linear-gradient(135deg,#fbbf2440,#fbbf2414);border-color:#fbbf2473}.conseil-negative{color:var(--color-down);background:linear-gradient(135deg,#f8717140,#f8717114);border-color:#f8717173}.conseil-neutral{color:var(--color-text-soft);background:linear-gradient(135deg,#a3a3b22e,#a3a3b20d);border-color:#a3a3b24d}.conseil-reason{color:var(--color-text-muted);white-space:normal;word-wrap:break-word;overflow-wrap:anywhere;max-width:18rem;margin-top:.3rem;font-size:.7rem;line-height:1.35;display:block;overflow:visible}.trader-table tbody td:last-child{white-space:normal;min-width:12rem;max-width:18rem;padding-right:1rem}.trader-table{min-width:0}.rsi-pill{letter-spacing:.01em;cursor:help;white-space:nowrap;border:1px solid #0000;border-radius:999px;align-items:center;gap:.3rem;padding:.05rem .45rem;font-size:.66rem;font-weight:600;display:inline-flex}.rsi-dot{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;box-shadow:0 0 4px}.rsi-hot{color:var(--color-down);background:#f871711f;border-color:#f8717159}.rsi-cold{color:var(--color-up);background:#34d3991f;border-color:#34d39959}.rsi-neutral{color:var(--color-text-soft);background:#94a3b81f;border-color:#94a3b84d}.rsi-na{color:var(--color-text-faint);border-color:var(--color-divider);cursor:default;background:0 0}.rsi-na .rsi-dot{display:none}.ms-stars{letter-spacing:.04em;color:#f59e0b;cursor:help;align-items:center;font-size:.78rem;line-height:1;display:inline-flex}.ms-stars-off{color:var(--color-divider-strong);opacity:.6}.period-changes{border-top:1px solid var(--color-divider);flex-direction:column;gap:.18rem;margin-top:.6rem;padding-top:.5rem;display:flex}.period-row{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.period-lbl{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.66rem;font-weight:600}.period-val{font-size:.78rem;font-weight:500}.analyse-cell{flex-direction:column;align-items:center;gap:.3rem;display:flex}.analyse-sent{color:var(--color-text-soft);align-items:center;gap:.3rem;font-size:.7rem;display:inline-flex}.analyse-sent .sent-dot{font-size:.85rem;line-height:1}.positions-desktop{display:block}.positions-mobile{display:none}@media(max-width:1023px){.positions-desktop{display:none}.positions-mobile{display:block}}@media(max-width:1280px){.hide-lg{display:none}}.pos-card{background:var(--color-panel);border:1px solid var(--color-panel-border);-webkit-backdrop-filter:blur(12px)saturate(120%);border-radius:1rem;padding:.9rem 1rem;overflow:hidden}.pos-card-head{justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.7rem;display:flex}.pos-card-title{color:var(--color-text);font-size:.95rem;font-weight:600;line-height:1.25}.pos-card-main{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:flex-end;gap:.75rem;margin-bottom:.7rem;padding-bottom:.7rem;display:flex}.pos-card-nav{color:var(--color-text);font-size:1.35rem;font-weight:600;line-height:1.1}.pos-card-grid{grid-template-columns:1fr 1fr;gap:.7rem .9rem;margin-bottom:.85rem;display:grid}.pos-card-lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-faint);margin-bottom:.15rem;font-size:.62rem}.pos-card-sub{color:var(--color-text-faint);margin-top:.1rem;font-size:.66rem}.pos-card-conseil{border-top:1px solid var(--color-divider-strong);margin:0 -1rem -.9rem;padding:.75rem 1rem}.conseil-positive-bg{background:linear-gradient(#34d39912,#34d39905)}.conseil-warning-bg{background:linear-gradient(#fbbf2412,#fbbf2405)}.conseil-negative-bg{background:linear-gradient(#f8717112,#f8717105)}.conseil-neutral-bg{background:linear-gradient(#a3a3b20d,#a3a3b203)}.pos-card-reason{color:var(--color-text-muted);margin-top:.45rem;font-size:.78rem;line-height:1.4}.donut-card{border-radius:1rem;padding:1.25rem 1.25rem 1rem}.donut-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;display:flex}.donut-header-text{flex:1;min-width:0}.donut-header-actions{flex-shrink:0;gap:.4rem;display:flex}.donut-icon-btn{background:var(--color-panel);border:1px solid var(--color-panel-border);color:var(--color-text-soft);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;min-height:44px;padding:0;font-size:1.35rem;line-height:1;transition:background-color .12s,color .12s,transform 80ms,box-shadow .12s;display:inline-flex}.donut-icon-btn:hover{background:var(--color-panel-strong);color:var(--color-text);transform:translateY(-1px);box-shadow:0 4px 12px -4px #00000040}.donut-icon-btn:active{transform:translateY(0)}.donut-title{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);font-size:.78rem;font-weight:600}.donut-subtitle{color:var(--color-text-faint);margin-top:.15rem;font-size:.72rem}.donut-body{align-items:center;gap:1rem;display:flex}.donut-chart{flex-shrink:0;padding:10px;position:relative}.donut-svg{display:block;overflow:visible}.donut-slice{cursor:pointer;transition:opacity .15s,stroke-width .15s,filter .15s}.donut-svg:hover .donut-slice:not(:hover):not(.selected){opacity:.35}.donut-slice:hover{filter:brightness(1.15)}.donut-slice.selected{stroke:var(--color-bg);stroke-width:1.5px;filter:brightness(1.25)drop-shadow(0 6px 14px)}[data-theme=light] .donut-slice.selected{filter:brightness(1.08)drop-shadow(0 4px 12px #0000002e)}.donut-center{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:10px}.donut-center-pct{color:var(--color-text);font-variant-numeric:tabular-nums;font-size:1.55rem;font-weight:700;line-height:1;transition:color .12s}.donut-center-lbl{color:var(--color-text-muted);max-width:6.5rem;margin-top:.25rem;font-size:.7rem;font-weight:500;line-height:1.2}.donut-legend-row{cursor:pointer;border-radius:6px;padding:.2rem .35rem;transition:background-color .12s}.donut-legend-row:hover{background:var(--color-stripe)}.donut-legend-row.selected{background:var(--color-panel-strong)}.donut-legend-row.selected .donut-lbl,.donut-legend-row.selected .donut-pct{color:var(--color-text);font-weight:700}.donut-flag{flex-shrink:0;font-size:.95em;line-height:1}.donut-legend-row{color:var(--color-text-soft);align-items:center;gap:.45rem;font-size:.72rem;display:flex}.donut-legend-row .donut-lbl{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.donut-legend-row .flag-img{width:14px!important;height:14px!important}.view-toggle{background:var(--color-stripe);border:1px solid var(--color-panel-border);border-radius:8px;gap:2px;padding:2px;display:inline-flex}.view-toggle button{color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;min-height:32px;padding:.35rem .75rem;font-family:inherit;font-size:.78rem;font-weight:600;transition:background-color .12s,color .12s}.view-toggle button:hover{color:var(--color-text)}.view-toggle button.active{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 2px 8px -2px #6366f180}.alloc-views .alloc-view{padding:.25rem 0}.alloc-views .donut-chart{padding:10px}.alloc-actions{border-top:1px solid var(--color-divider);grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.4rem;margin-top:.85rem;padding-top:.85rem;display:grid}[data-mode=recommended] .alloc-actions{display:none}.world-card .alloc-actions{margin-top:.6rem;padding-top:.6rem}.map-header-btn{border-radius:8px!important;width:36px!important;height:36px!important;min-height:36px!important}.map-header-btn i.fa-solid{font-size:.95rem!important}[data-mode=recommended] .map-header-btn{display:inline-flex}.alloc-actions button{background:var(--color-panel);border:1px solid var(--color-panel-border);color:var(--color-text-soft);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;border-radius:8px;min-height:36px;padding:.45rem .55rem;font-family:inherit;font-size:.74rem;font-weight:600;transition:background-color .12s,color .12s,transform 80ms;overflow:hidden}.alloc-actions button:hover{background:var(--color-panel-strong);color:var(--color-text);transform:translateY(-1px)}@media(max-width:480px){.alloc-actions{grid-template-columns:repeat(2,1fr)}.alloc-actions button{font-size:.7rem}}.top-line-row{border-bottom:1px solid var(--color-divider);align-items:center;gap:.7rem;padding:.32rem .4rem;display:flex}.top-line-row:last-child{border-bottom:none}.top-line-info{flex:1;min-width:0}.top-line-name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:.85rem;font-weight:600;line-height:1.2;overflow:hidden}.top-line-meta{color:var(--color-text-muted);margin-top:.05rem;font-family:ui-monospace,monospace;font-size:.66rem;line-height:1.2}.top-line-bar{background:#6366f126;border-radius:2px;height:3px;margin-top:.25rem;overflow:hidden}.top-line-bar-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:2px;min-width:4px;height:100%}[data-theme=light] .top-line-bar{background:#6366f138}.top-line-funds{flex-wrap:wrap;align-items:center;gap:.25rem;margin-top:.3rem;display:flex}.top-line-funds-badge{background:var(--color-warn);color:#fff;letter-spacing:.02em;cursor:help;border-radius:999px;justify-content:center;align-items:center;min-width:1.3rem;height:1.1rem;padding:0 .3rem;font-size:.62rem;font-weight:700;display:inline-flex}.top-line-fund-chip{background:var(--color-stripe);border:1px solid var(--color-divider);color:var(--color-text-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:.25rem;padding:.08rem .45rem;font-size:.66rem;display:inline-flex}.top-line-funds-dup .top-line-fund-chip{background:#fbbf2414;border-color:#fbbf2466}.top-line-fund-w{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-weight:600}.top-line-pct{font-variant-numeric:tabular-nums;color:var(--color-text);text-align:right;min-width:3.3rem;font-size:.85rem;font-weight:700}.top-line-change{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:center;border-radius:5px;min-width:3.8rem;padding:.13rem .38rem;font-size:.7rem;font-weight:600}.top-line-change.up{color:var(--color-up);background:#34d39926}.top-line-change.down{color:var(--color-down);background:#f8717126}.top-line-change.flat{background:var(--color-stripe);color:var(--color-text-muted)}.world-card .map-card-body{margin-top:.4rem;padding:0}.world-card{padding:.75rem .75rem .6rem!important}.leaflet-inline{border:1px solid var(--color-panel-border);border-radius:10px;width:100%;height:380px;overflow:hidden}.leaflet-inline,.leaflet-inline.leaflet-container{border-radius:10px;background:#14141d!important}[data-theme=light] .leaflet-inline,[data-theme=light] .leaflet-inline.leaflet-container{background:#e9edf3!important}@media(max-width:640px){.leaflet-inline{height:280px}}.donut-legend{flex-direction:column;flex:1;gap:.3rem;min-width:0;margin:0;padding:0;font-size:.72rem;list-style:none;display:flex}.donut-legend li{color:var(--color-text-soft);align-items:center;gap:.5rem;display:flex}.donut-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.donut-lbl{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.donut-pct{color:var(--color-text-muted)}@media(max-width:640px){.donut-body{flex-direction:column;align-items:stretch;gap:.75rem}.donut-chart{align-self:center}}.donut-actions{gap:.5rem;margin-top:1rem;display:flex}.donut-action{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:1px solid #ffffff1a;border-radius:.7rem;flex:1;padding:.55rem .7rem;font-size:.82rem;font-weight:600;transition:transform .12s,filter .12s;box-shadow:0 8px 24px -8px #6366f180}.donut-action:hover{filter:brightness(1.1);transform:translateY(-1px)}.donut-action:active{transform:translateY(0)}.world-swal{max-width:95vw}.leaflet-region-marker{background:0 0!important;border:none!important}.leaflet-marker-flag{background-position:50%;background-size:cover;border:2px solid #fff;border-radius:50%;box-shadow:0 4px 12px -2px #00000073,0 0 0 3px #6366f180}.leaflet-marker-emoji{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:flex;box-shadow:0 4px 12px -2px #00000073,0 0 0 3px #6366f166}.leaflet-marker-label{color:#1f2030;white-space:nowrap;font-variant-numeric:tabular-nums;background:#fff;border-radius:8px;margin-top:4px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 2px 6px #0000004d}[data-theme=light] .leaflet-marker-label{color:#fff;background:#1f2030}.world-map,.map-scale{display:none}.world-map{background:var(--color-panel);border:1px solid var(--color-panel-border);border-radius:12px;width:100%;height:auto}.map-scale{color:var(--color-text-muted);justify-content:center;align-items:center;gap:.5rem;margin:.75rem 0 .5rem;font-size:.7rem;display:flex}.map-scale-grad{border:1px solid var(--color-panel-border);background:linear-gradient(90deg,#94a3b833,#fde04773 20%,#fb923cb3,#ef4444bf 80%,#dc2626d9);border-radius:5px;width:220px;height:10px;display:inline-block}.map-scale-lbl{font-variant-numeric:tabular-nums}.map-legend-dot{border-radius:4px;flex-shrink:0;width:14px;height:14px;display:inline-block}.map-legend-dot-ghost{background:repeating-linear-gradient(45deg,#94a3b833,#94a3b833 3px,#0000 3px 6px);border:1px dashed #94a3b866}.map-legend li{align-items:flex-start;gap:.5rem;display:flex}.map-legend li>div{flex:1;min-width:0}.world-map .map-marker .map-halo{fill:#6366f12e;stroke:var(--color-accent);stroke-width:2px;filter:drop-shadow(0 0 8px #6366f166);animation:2.5s ease-in-out infinite pulseHalo}.world-map .map-marker .map-label{fill:var(--color-text);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}@keyframes pulseHalo{0%,to{stroke-opacity:.6}50%{stroke-opacity:1}}.map-legend{grid-template-columns:repeat(2,1fr);gap:.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.map-legend li{background:var(--color-panel);border:1px solid var(--color-panel-border);border-radius:8px;padding:.45rem .65rem;font-size:.78rem}.map-legend strong{color:var(--color-text);margin-right:.4rem}.map-legend small{color:var(--color-text-muted);font-size:.7rem}@media(max-width:640px){.map-legend{grid-template-columns:1fr}}.arb-summary{grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:.85rem;display:grid}.arb-summary-cell{background:var(--color-panel);border:1px solid var(--color-panel-border);text-align:left;border-radius:10px;padding:.5rem .75rem}.arb-summary-cell .lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.62rem}.arb-summary-cell .val{font-variant-numeric:tabular-nums;margin-top:.1rem;font-size:1.05rem;font-weight:700}.arb-table{border-collapse:collapse;width:100%;font-size:.8rem}.arb-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-divider-strong);padding:.5rem;font-size:.65rem;font-weight:600}.arb-table th.t-num{text-align:right}.arb-table td{border-bottom:1px solid var(--color-divider);vertical-align:middle;padding:.55rem .5rem}.arb-table td.t-num{text-align:right;font-variant-numeric:tabular-nums}.arb-table tr:last-child td{border-bottom:none}.arb-fund{color:var(--color-text);font-weight:600}.arb-fund small{color:var(--color-text-faint);margin-top:.1rem;font-family:ui-monospace,monospace;font-size:.65rem;font-weight:400;display:block}.arb-current,.arb-target{color:var(--color-text-soft)}.arb-pill{white-space:nowrap;border-radius:8px;align-items:center;gap:.35rem;padding:.3rem .55rem;font-size:.72rem;font-weight:600;display:inline-flex}.arb-buy{color:var(--color-up);background:#34d3992e;border:1px solid #34d39959}.arb-sell{color:var(--color-down);background:#f871712e;border:1px solid #f8717159}.arb-hold{color:var(--color-text-soft);background:#a3a3b21f;border:1px solid #a3a3b240}.arb-details{color:var(--color-text-faint);font-variant-numeric:tabular-nums;margin-top:.2rem;font-size:.7rem}.arb-table tr.arb-new-opp{cursor:pointer}.arb-table tr.arb-new-opp td{background:#6366f112;border-top:1px solid #6366f140;border-bottom:1px solid #6366f140}.arb-table tr.arb-new-opp:hover td{background:#6366f11f}.arb-newtag{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);background:#6366f126;border-radius:999px;align-items:center;gap:.3rem;padding:.08rem .45rem;font-size:.6rem;font-weight:700;display:inline-flex}.arb-newtag i{font-size:.6rem}.arb-newname{color:var(--color-text);margin-top:.2rem;font-weight:600}.arb-why{color:var(--color-accent);cursor:pointer;background:0 0;border:1px solid #6366f166;border-radius:6px;margin-top:.3rem;padding:.15rem .5rem;font-size:.66rem;font-weight:600;display:inline-block}.arb-why:hover{background:#6366f11a}.login-shell{z-index:1;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex;position:relative}.login-card{color:#0a0a0f;background:#fafafa;border-radius:20px;width:100%;max-width:380px;padding:2.25rem 2.25rem 2rem;box-shadow:0 30px 80px -20px #000000d9,0 0 0 1px #ffffff0a}.kraken-mark{flex-direction:column;align-items:center;margin-bottom:1.75rem;display:flex}.login-logo{justify-content:center;margin-top:-.5rem;margin-bottom:1rem;display:flex}.login-logo img{object-fit:contain;mix-blend-mode:multiply;width:180px;height:180px}.header-logo{object-fit:contain;filter:drop-shadow(0 4px 12px #00000059);border-radius:12px;flex-shrink:0;width:72px!important;height:72px!important}@media(max-width:640px){.header-logo{width:56px!important;height:56px!important}}.kraken-svg{width:var(--kraken-size,140px);color:#0a0a0f;height:auto}.kraken-text{letter-spacing:.12em;color:#0a0a0f;text-align:center;margin-top:.5rem;font-size:1.65rem;font-weight:900}.login-form label{margin-bottom:.9rem;display:block}.login-form label span{text-transform:uppercase;letter-spacing:.08em;color:#6c6c80;margin-bottom:.3rem;font-size:.68rem;font-weight:600;display:block}.login-form input{color:#0a0a0f;background:#fff;border:1.5px solid #d4d4d8;border-radius:9px;width:100%;padding:.7rem .9rem;font-family:inherit;font-size:.95rem;transition:border-color .12s,box-shadow .12s}.login-form input:focus{border-color:#0a0a0f;outline:none;box-shadow:0 0 0 3px #00000014}.login-form input::placeholder{color:#b4b4be}.login-submit{color:#fff;cursor:pointer;background:#0a0a0f;border:none;border-radius:9px;width:100%;min-height:48px;margin-top:.4rem;padding:.85rem 1rem;font-family:inherit;font-size:.95rem;font-weight:600}.login-submit:hover{background:#1a1a23}.login-submit:active{transform:translateY(1px)}.login-err{color:#c01515;background:#fee;border:1px solid #fcc;border-radius:8px;margin:0 0 .75rem;padding:.55rem .75rem;font-size:.82rem}.login-bootstrap h2{text-transform:uppercase;letter-spacing:.08em;color:#6c6c80;margin-bottom:.5rem;font-size:.85rem}.login-bootstrap p{color:#3a3a48;margin:.5rem 0;font-size:.85rem}.login-bootstrap pre{color:#c7d2fe;white-space:nowrap;background:#0a0a0f;border-radius:8px;margin:.6rem 0;padding:.7rem .85rem;font-size:.74rem;overflow-x:auto}.login-bootstrap .hint{color:#6c6c80;font-size:.78rem}.btn-ghost{background:var(--color-panel);border:1px solid var(--color-panel-border);color:var(--color-text-soft);cursor:pointer;border-radius:.7rem;min-width:44px;min-height:44px;padding:.55rem .85rem;font-size:.82rem;font-weight:500;transition:background-color .12s,color .12s}.btn-ghost:hover{background:var(--color-panel-strong);color:var(--color-text)}.btn-ghost i.fa-solid{margin-right:.05em;font-size:.9em}.btn-load-history{color:var(--color-warn,#d97706);background:#d977060f;border-color:#d9770666}.btn-load-history:hover{border-color:var(--color-warn,#d97706);color:var(--color-warn,#d97706);background:#d9770626}.btn-load-history:disabled{opacity:.65;cursor:progress}.btn-badge{background:var(--color-warn,#d97706);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:.25rem;padding:0 .4rem;font-size:.65rem;font-weight:700;display:inline-flex}.edit-name-btn{color:var(--color-text-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.5rem;justify-content:center;align-items:center;width:28px;height:28px;font-size:.7rem;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.edit-name-btn:hover{background:var(--color-panel);border-color:var(--color-panel-border);color:var(--color-accent)}.header-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-self:flex-start;align-items:center;gap:.4rem;display:flex}@media(min-width:640px){.header-actions{align-self:center}}.btn-portfolio-menu{background:var(--color-panel);border:1px solid var(--color-panel-border);color:var(--color-text-soft);cursor:pointer;border-radius:.6rem;align-items:center;gap:.45rem;padding:.35rem .7rem;font-size:.78rem;font-weight:500;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.btn-portfolio-menu:hover{background:var(--color-panel-strong);border-color:var(--color-accent);color:var(--color-text)}.btn-portfolio-menu i.fa-solid{color:var(--color-accent);font-size:.85rem}.btn-portfolio-menu-lbl{font-weight:600}.btn-portfolio-count{background:var(--color-accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 .35rem;font-size:.65rem;font-weight:700;display:inline-flex}.pm-toolbar{justify-content:flex-end;padding:0 .5rem .7rem;display:flex}.pm-add{background:var(--color-accent);color:#fff;border-color:var(--color-accent);align-items:center;gap:.4rem;padding:.45rem .9rem;font-weight:600;display:inline-flex}.pm-add:hover{background:var(--color-accent-strong,#4f46e5);border-color:var(--color-accent-strong,#4f46e5)}.pm-rename-btn{color:var(--color-text-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:.4rem;justify-content:center;align-items:center;width:24px;height:24px;padding:0;font-size:.65rem;display:inline-flex}.pm-rename-btn:hover{background:var(--color-panel-strong);color:var(--color-accent)}.pm-name{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.pm-list{flex-direction:column;gap:.5rem;max-height:50vh;padding:.25rem .5rem;display:flex;overflow-y:auto}.pm-row{background:var(--color-panel);border:1px solid var(--color-panel-border);text-align:left;border-radius:.7rem;align-items:center;gap:.75rem;padding:.7rem .9rem;display:flex}.pm-row-main{flex:1;min-width:0}.pm-name{color:var(--color-text);align-items:center;gap:.4rem;font-size:.95rem;font-weight:600;display:flex}.pm-active-dot{background:var(--color-up);border-radius:50%;flex:0 0 8px;width:8px;height:8px;box-shadow:0 0 6px #10b98199}.pm-tag-active{color:var(--color-up);letter-spacing:.5px;text-transform:uppercase;background:#10b9811f;border-radius:999px;padding:.1rem .45rem;font-size:.65rem;font-weight:700}.pm-tag-default{color:var(--color-text-muted);background:var(--color-panel-strong);letter-spacing:.5px;text-transform:uppercase;border-radius:999px;padding:.1rem .45rem;font-size:.65rem;font-weight:700}.pm-bank{cursor:pointer;color:var(--color-text-soft);background:var(--bk,var(--color-accent));align-items:center;gap:.32rem;font-size:.68rem;font-weight:700;display:inline-flex}@supports (color:color-mix(in lab,red,red)){.pm-bank{background:color-mix(in srgb,var(--bk,var(--color-accent)) 12%,transparent)}}.pm-bank{border:1px solid var(--bk,var(--color-accent))}@supports (color:color-mix(in lab,red,red)){.pm-bank{border:1px solid color-mix(in srgb,var(--bk,var(--color-accent)) 38%,transparent)}}.pm-bank{border-radius:999px;padding:.12rem .5rem .12rem .3rem;line-height:1;transition:background .12s,border-color .12s,transform .12s}.pm-bank img{border-radius:4px;flex:none;width:.95rem;height:.95rem}.pm-bank:hover{background:var(--bk,var(--color-accent));transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.pm-bank:hover{background:color-mix(in srgb,var(--bk,var(--color-accent)) 20%,transparent)}}.pm-bank:hover{border-color:var(--bk,var(--color-accent))}.pm-tag-owner{color:var(--color-accent);background:#6366f11f;border-radius:999px;align-items:center;gap:.25rem;padding:.1rem .5rem;font-size:.65rem;font-weight:600;display:inline-flex}.pm-tag-owner i.fa-solid{font-size:.6rem}.pm-meta{color:var(--color-text-muted);margin-top:.2rem;font-size:.72rem}.pm-actions{flex-shrink:0;gap:.4rem;display:flex}.pm-btn{cursor:pointer;border:1px solid var(--color-panel-border);border-radius:.5rem;padding:.35rem .75rem;font-size:.75rem;font-weight:500;transition:background-color .12s,color .12s,border-color .12s}.pm-activate{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.pm-activate:hover{background:var(--color-accent-strong,#4f46e5)}.pm-delete{color:var(--color-down);background:0 0;border-color:#dc262666}.pm-delete:hover{border-color:var(--color-down);background:#dc26261a}.pm-protected{color:var(--color-text-muted);padding:.35rem .75rem;font-size:.7rem;font-style:italic}.pm-hint{color:var(--color-text-muted);text-align:left;margin:.75rem .5rem 0;font-size:.72rem}.pm-edit{color:var(--color-accent);background:0 0;border-color:#6366f166}.pm-edit:hover{border-color:var(--color-accent);background:#6366f11a}.pm-objectives{color:var(--color-text-soft);border-color:var(--color-panel-border);background:0 0;align-items:center;gap:.3rem;display:inline-flex}.pm-objectives i{color:var(--color-accent);font-size:.72rem}.pm-objectives:hover{background:var(--color-panel-strong);border-color:var(--color-accent);color:var(--color-text)}.dropdown{display:inline-block;position:relative}.dropdown-caret{opacity:.7;margin-left:.1rem;font-size:.6rem;transition:transform .15s}.dropdown.open .dropdown-caret{transform:rotate(180deg)}.dropdown-menu{z-index:1000;border:1px solid var(--color-panel-border);background:#14141d;border-radius:.7rem;flex-direction:column;gap:.1rem;min-width:13rem;padding:.35rem;display:none;position:absolute;top:calc(100% + .4rem);left:0;box-shadow:0 18px 40px -12px #0000008c}[data-theme=light] .dropdown-menu{background:#fff}.dropdown-menu-right{left:auto;right:0}.dropdown.open .dropdown-menu{animation:.14s ddIn;display:flex}@keyframes ddIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.dropdown-item{width:100%;color:var(--color-text-soft);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:.5rem;align-items:center;gap:.6rem;padding:.5rem .65rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:background .12s,color .12s;display:flex}.dropdown-item i{text-align:center;width:1rem;color:var(--color-text-muted)}.dropdown-item:hover{background:var(--color-panel);color:var(--color-text)}.dropdown-item:hover i{color:var(--color-accent)}.dropdown-item-danger,.dropdown-item-danger i{color:var(--color-down)}.dropdown-item-danger:hover{color:var(--color-down);background:#dc26261a}.dropdown-menu form{margin:0}.dropdown-menu form button{width:100%}.ec-modal{text-align:left}.ec-table{border-collapse:collapse;width:100%;margin-bottom:1.25rem;font-size:.85rem}.ec-table thead th{text-align:left;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);border-bottom:1px solid var(--color-divider-strong);-webkit-user-select:none;user-select:none;padding:.45rem .6rem;font-size:.7rem}.ec-table thead th.ec-sortable{cursor:pointer;transition:color .12s}.ec-table thead th.ec-sortable:hover{color:var(--color-text)}.ec-sort-arrow{color:var(--color-accent);margin-left:.3rem;font-size:.65rem;display:inline-block}.ec-sort-arrow.ec-sort-off{color:var(--color-text-faint);opacity:.5}.ec-table tbody td{border-bottom:1px solid var(--color-divider);vertical-align:middle;padding:.28rem .6rem}.ec-name{color:var(--color-text);font-weight:500;line-height:1.2}.ec-isin{color:var(--color-text-faint);margin-top:.05rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.7rem;line-height:1.15}.ec-input{border:1px solid var(--color-panel-border);background:var(--color-panel);width:110px;color:var(--color-text);border-radius:.45rem;padding:.28rem .55rem;font-size:.85rem}.ec-input:focus{outline:2px solid var(--color-accent);outline-offset:1px}.ec-faint{color:var(--color-text-faint)}.ec-delete{color:var(--color-down);cursor:pointer;background:0 0;border:1px solid #dc262659;border-radius:.45rem;justify-content:center;align-items:center;width:26px;height:26px;padding:0;display:inline-flex}.ec-delete:hover{background:#dc26261a}.ec-section{background:var(--color-panel);border:1px solid var(--color-panel-border);border-radius:.7rem;margin-bottom:.85rem;padding:.75rem .9rem}.ec-section h4{text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted);margin:0 0 .5rem;font-size:.78rem}.ec-add-row{grid-template-columns:1.4fr 1.6fr 1fr auto;align-items:center;gap:.5rem;display:grid}.ec-add-row input{border:1px solid var(--color-panel-border);background:var(--color-bg);color:var(--color-text);border-radius:.45rem;padding:.5rem .7rem;font-size:.85rem}.ec-add-row input:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.ec-btn-add{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:.5rem;align-items:center;gap:.35rem;padding:.5rem .85rem;font-size:.82rem;font-weight:600;display:inline-flex}.ec-btn-add:hover{background:var(--color-accent-strong,#4f46e5)}.ec-fe-row{align-items:center;gap:.75rem;display:flex}.ec-fe-row input{border:1px solid var(--color-panel-border);background:var(--color-bg);color:var(--color-text);border-radius:.45rem;flex:0 0 200px;padding:.55rem .75rem;font-size:.95rem;font-weight:500}.ec-suffix{color:var(--color-text-muted);font-size:.78rem}.ec-total-row{text-align:right;color:var(--color-text-soft);margin-top:.5rem;font-size:.95rem}.ec-total-row strong{color:var(--color-text);margin-left:.4rem;font-size:1.15rem;font-weight:700}.fund-notice-btn{background:var(--color-panel);border:1px solid var(--color-panel-border);color:var(--color-text-soft);cursor:pointer;border-radius:.5rem;align-items:center;gap:.4rem;padding:.45rem .8rem;font-size:.78rem;font-weight:500;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.fund-notice-btn:hover{background:var(--color-panel-strong);color:var(--color-accent);border-color:var(--color-accent)}.fund-notice-btn i.fa-solid{color:var(--color-accent);font-size:.85rem}.btn-primary i.fa-solid{margin-right:.2em;font-size:.95em}.alloc-actions button i.fa-solid{color:var(--color-accent);margin-right:.25em;font-size:.95em}.donut-icon-btn i.fa-solid{font-size:1.1rem}.pwd-dialog{width:92vw;max-width:420px;color:inherit;background:0 0;border:none;padding:0}.pwd-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000a6}.pwd-form{background:var(--color-bg);border:1px solid var(--color-panel-border);color:var(--color-text);border-radius:16px;padding:1.5rem 1.5rem 1.25rem;box-shadow:0 30px 80px -20px #000c}.pwd-title{color:var(--color-text);margin-bottom:.25rem;font-size:1.15rem;font-weight:600}.pwd-subtitle{color:var(--color-text-muted);margin-bottom:1.1rem;font-size:.78rem;line-height:1.4}.pwd-form label{margin-bottom:.7rem;display:block}.pwd-form label span{text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted);margin-bottom:.3rem;font-size:.7rem;font-weight:600;display:block}.pwd-form input{border:1px solid var(--color-panel-border);background:var(--color-stripe);width:100%;color:var(--color-text);border-radius:8px;padding:.65rem .85rem;font-family:inherit;font-size:.92rem;transition:border-color .12s,box-shadow .12s}.pwd-form input:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 3px #6366f126}.pwd-msg{border-radius:8px;margin:.6rem 0 .4rem;padding:.55rem .75rem;font-size:.82rem;line-height:1.4}.pwd-msg-error{color:var(--color-down);background:#f871711f;border:1px solid #f8717140}.pwd-msg-success{color:var(--color-up);background:#34d3991f;border:1px solid #34d39940}.pwd-actions{justify-content:flex-end;gap:.6rem;margin-top:1rem;display:flex}.pwd-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;min-height:40px;padding:.6rem 1.1rem;font-family:inherit;font-size:.88rem;font-weight:600}.pwd-btn-ghost{background:var(--color-panel);border-color:var(--color-panel-border);color:var(--color-text-soft)}.pwd-btn-ghost:hover{background:var(--color-panel-strong);color:var(--color-text)}.pwd-btn-primary{color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);box-shadow:0 8px 24px -8px #6366f180}.pwd-btn-primary:hover{filter:brightness(1.1)}.pwd-btn-primary:disabled{opacity:.6;cursor:not-allowed}.stale-banner{color:#e0e7ff;z-index:1000;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(135deg,#6366f138,#8b5cf638);border:1px solid #6366f173;border-radius:999px;align-items:center;gap:.5rem;padding:.55rem 1rem;font-size:.82rem;font-weight:500;animation:.3s slideDown;display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%);box-shadow:0 8px 32px -8px #6366f166}[data-theme=light] .stale-banner{color:#4338ca}.stale-spinner{border:2px solid #6366f14d;border-top-color:var(--color-accent);border-radius:50%;width:12px;height:12px;animation:.8s linear infinite spin;display:inline-block}@keyframes slideDown{0%{opacity:0;transform:translate(-50%,-10px)}to{opacity:1;transform:translate(-50%)}}@keyframes spin{to{transform:rotate(360deg)}}.js-tooltip{z-index:99999;pointer-events:none;opacity:0;color:#e7e7ee;letter-spacing:.01em;visibility:hidden;box-sizing:border-box;background:#0f0f17;border:1px solid #6366f173;border-radius:10px;width:max-content;max-width:min(420px,100vw - 24px);max-height:calc(100vh - 24px);font-size:.78rem;font-weight:500;line-height:1.5;transition:opacity .16s,transform .16s;position:fixed;transform:translateY(4px);box-shadow:0 12px 32px -8px #0009,0 0 0 1px #6366f12e}.js-tooltip.visible{opacity:1;visibility:visible;transform:translateY(0)}.js-tooltip-text{white-space:pre-line;text-align:center;overflow-wrap:break-word;padding:.55rem .9rem .65rem}.js-tooltip-arrow{border:6px solid #0000;width:0;height:0;position:absolute}.js-tooltip.place-top .js-tooltip-arrow{border-top-color:#0f0f17;bottom:-12px}.js-tooltip.place-bottom .js-tooltip-arrow{border-bottom-color:#0f0f17;top:-12px}html[data-theme=light] .js-tooltip{color:#1f2030;background:#fff;border-color:#6366f159;box-shadow:0 14px 36px -8px #6366f14d,0 4px 12px -4px #0000001f}html[data-theme=light] .js-tooltip.place-top .js-tooltip-arrow{border-top-color:#fff}html[data-theme=light] .js-tooltip.place-bottom .js-tooltip-arrow{border-bottom-color:#fff}.swal2-popup.trader-swal{background:var(--color-bg)!important;color:var(--color-text)!important;border:1px solid var(--color-panel-border)!important;border-radius:16px!important;box-shadow:0 30px 80px -20px #0009!important}.swal2-popup.trader-swal .swal2-title{color:var(--color-text)!important;font-size:1.2rem!important;font-weight:600!important}.swal2-popup.trader-swal .swal2-html-container{color:var(--color-text-soft)!important;text-align:left!important;font-size:.9rem!important}.swal2-popup.trader-swal .swal2-confirm{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;box-shadow:0 8px 24px -8px #6366f180!important}.swal2-popup.trader-swal .swal2-cancel{background:var(--color-panel)!important;color:var(--color-text-soft)!important;border:1px solid var(--color-panel-border)!important}.swal2-popup.trader-swal .swal2-close{color:var(--color-text-muted)!important}.swal2-popup.trader-swal .swal2-close:hover{color:var(--color-text)!important}.swal2-container.swal2-backdrop-show{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0009!important}.trader-swal-pwd .swal2-html-container{text-align:center!important;padding:0 1rem!important}.trader-swal-pwd .pwd-input{box-sizing:border-box!important;width:100%!important;max-width:280px!important;margin:.4rem auto!important;padding:.6rem .85rem!important;font-size:.92rem!important;display:block!important}.trader-swal-pwd .swal2-actions{justify-content:center!important;margin-top:1rem!important}.swal-macro-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:.5rem;display:grid}@media(min-width:640px){.swal-macro-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.swal-macro-cell{background:var(--color-panel);border:1px solid var(--color-panel-border);border-radius:10px;padding:.6rem .8rem}.swal-macro-cell .lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.62rem}.swal-macro-cell .val{color:var(--color-text);font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:1.05rem;font-weight:600}.swal-macro-cell .chg{font-variant-numeric:tabular-nums;margin-top:.15rem;font-size:.7rem}.swal-macro-cell .hint{color:var(--color-text-faint);margin-top:.25rem;font-size:.65rem}.macro-insights{border-top:1px solid var(--color-divider);margin-top:1.1rem;padding-top:.9rem}.macro-insights h4{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.55rem;font-size:.68rem;font-weight:600}.macro-insight{border-left:3px solid var(--color-divider-strong);background:var(--color-stripe);border-radius:8px;align-items:flex-start;gap:.55rem;margin-bottom:.35rem;padding:.45rem .65rem;font-size:.78rem;line-height:1.4;display:flex}.macro-insight-topic{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);flex:0 0 4.8rem;padding-top:.12rem;font-size:.62rem;font-weight:700}.macro-insight-text{color:var(--color-text-soft);flex:1}.macro-insight-positive{border-left-color:var(--color-up)}.macro-insight-positive .macro-insight-topic{color:var(--color-up)}.macro-insight-warning{border-left-color:var(--color-warn)}.macro-insight-warning .macro-insight-topic{color:var(--color-warn)}.macro-insight-negative{border-left-color:var(--color-down)}.macro-insight-negative .macro-insight-topic{color:var(--color-down)}.macro-insight-neutral{border-left-color:var(--color-text-muted)}.opp-section{border-top:1px solid var(--color-divider-strong);text-align:left;margin-top:1.2rem;padding-top:1rem}.opp-title{color:var(--color-text);letter-spacing:.01em;margin:0 0 .25rem;font-size:.82rem;font-weight:700}.opp-hint{color:var(--color-text-muted);margin-bottom:.6rem;font-size:.7rem;line-height:1.4}.opp-row{border:1px solid var(--color-panel-border);background:var(--color-stripe);cursor:pointer;border-radius:10px;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.45rem;padding:.55rem .7rem;transition:border-color .12s,background .12s,transform .12s;display:flex}.opp-row:hover{border-color:var(--color-accent);background:var(--color-panel);transform:translateY(-1px)}.opp-main{flex:1;min-width:0}.opp-name{color:var(--color-text);font-size:.85rem;font-weight:600;line-height:1.2}.opp-sub{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.18rem;display:flex}.opp-theme{color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;background:#6366f126;border-radius:999px;padding:.06rem .45rem;font-size:.6rem;font-weight:600}.opp-isin{color:var(--color-text-faint);font-family:ui-monospace,monospace;font-size:.65rem}.opp-stars{letter-spacing:.04em;color:#f59e0b;font-size:.78rem;line-height:1}.opp-stars-off{color:var(--color-divider-strong);opacity:.6}.opp-stars-na{color:var(--color-text-faint);font-size:.62rem;font-style:italic}.opp-reason{color:var(--color-text-soft);margin-top:.28rem;font-size:.7rem;line-height:1.35}.opp-score{color:var(--color-accent);font-variant-numeric:tabular-nums;cursor:help;background:#6366f11a;border-radius:8px;flex:none;padding:.3rem .55rem;font-size:.95rem;font-weight:700}.arb-aligned{text-align:left;background:#34d3991a;border:1px solid #34d39959;border-radius:10px;margin-bottom:.6rem;padding:.7rem .9rem;font-size:.85rem}.trader-swal-arb .swal2-html-container{-webkit-overflow-scrolling:touch;max-height:68vh;overflow:hidden auto;margin:.5rem 0 0!important;padding:0 .6rem!important}.trader-swal-arb .arb-summary{z-index:2;background:var(--color-bg);padding-top:.3rem;position:sticky;top:0}.arb-prefs-note{color:var(--color-text-soft);background:#6366f114;border:1px solid #6366f140;border-radius:8px;margin-bottom:.7rem;padding:.5rem .7rem;font-size:.76rem;line-height:1.45}.pref-modal{text-align:left}.pref-intro{color:var(--color-text-muted);margin-bottom:.9rem;font-size:.8rem;line-height:1.45}.pref-grid2{grid-template-columns:1fr 1fr;gap:.7rem 1rem;display:grid}.pref-field{flex-direction:column;gap:.25rem;display:flex}.pref-field>span{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:600}.pref-field select,.pref-field input{border:1px solid var(--color-panel-border);background:var(--color-panel);color:var(--color-text);border-radius:.5rem;padding:.45rem .6rem;font-size:.88rem}.pref-field select:focus,.pref-field input:focus{outline:2px solid var(--color-accent);outline-offset:1px}.pref-field select{color-scheme:inherit;cursor:pointer}.pref-field select option{color:#e7e7ee;background-color:#14141d}[data-theme=light] .pref-field select option{color:#1f2030;background-color:#fff}.pref-section{margin-top:1.1rem}.pref-section h4{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.15rem;font-size:.7rem}.pref-hint{color:var(--color-text-faint);margin-bottom:.5rem;font-size:.68rem}.pref-tri-grid{grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr));gap:.4rem;display:grid}.pref-tri{cursor:pointer;border:1px solid var(--color-panel-border);background:var(--color-stripe);-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;gap:.1rem;padding:.4rem .6rem;transition:border-color .12s,background .12s;display:flex}.pref-tri-lbl{color:var(--color-text);font-size:.8rem;font-weight:600}.pref-tri-state{color:var(--color-text-faint);font-size:.64rem}.pref-tri[data-state=pref]{background:#34d3991a;border-color:#34d39980}.pref-tri[data-state=pref] .pref-tri-state{color:var(--color-up);font-weight:600}.pref-tri[data-state=avoid]{background:#f871711a;border-color:#f8717180}.pref-tri[data-state=avoid] .pref-tri-state{color:var(--color-down);font-weight:600}.pref-tri[data-state=avoid] .pref-tri-lbl{opacity:.7;text-decoration:line-through}.opp-stats{flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem;display:flex}.opp-stat{background:var(--color-stripe);border:1px solid var(--color-divider);color:var(--color-text-soft);white-space:nowrap;border-radius:6px;padding:.08rem .4rem;font-size:.66rem;font-weight:600}.opp-stat.opp-nav{color:var(--color-text)}.opp-stat.opp-sri{color:var(--color-text-muted)}.opp-stat.opp-stat-na{color:var(--color-text-faint);font-style:italic}.opp-stat.rsi-pill{align-items:center;gap:.25rem;display:inline-flex}.opp-actions{flex-direction:column;flex:none;justify-content:center;align-items:flex-end;gap:.3rem;display:flex}.opp-why{border:1px solid var(--color-panel-border);background:var(--color-panel);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.3rem .55rem;transition:border-color .12s,background .12s;display:inline-flex}.opp-why:hover{border-color:var(--color-accent);background:var(--color-panel-strong)}.opp-why .opp-score{background:#6366f11f}.opp-why-lbl{color:var(--color-accent);font-size:.7rem;font-weight:600}.opp-why-modal{text-align:left}.opp-why-head{justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.8rem;display:flex}.opp-why-theme{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);background:#6366f11f;border-radius:999px;padding:.18rem .6rem;font-size:.7rem;font-weight:700}.opp-why-modal .opp-stars{color:#f59e0b;font-size:.95rem}.opp-why-grid{background:var(--color-stripe);border:1px solid var(--color-divider);border-radius:10px;grid-template-columns:1fr 1fr;gap:.5rem 1rem;padding:.85rem 1rem;display:grid}.opp-why-kpi{flex-direction:column;gap:.12rem;min-width:0;display:flex}.opp-why-lbl{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);font-size:.62rem}.opp-why-kpi strong{color:var(--color-text);font-size:.85rem;font-weight:600}.opp-why-note{color:var(--color-text-soft);background:#0ea5e914;border-left:3px solid #0ea5e9;border-radius:6px;margin-top:.6rem;padding:.4rem .7rem;font-size:.76rem}.opp-div-block{margin-top:.9rem}.opp-div-block h4,.opp-why-block h4{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.45rem;font-size:.68rem}.opp-div-row{align-items:center;gap:.5rem;padding:.16rem 0;display:flex}.opp-div-name{color:var(--color-text-soft);white-space:nowrap;text-overflow:ellipsis;flex:0 0 8.5rem;font-size:.76rem;overflow:hidden}.opp-div-bar{background:#6366f11a;border-radius:3px;flex:1;height:6px;overflow:hidden}.opp-div-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:3px;height:100%;display:block}.opp-div-row.opp-div-novel .opp-div-fill{background:linear-gradient(90deg,#10b981,#34d399)}.opp-div-pct{text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text);flex:0 0 2.8rem;font-size:.74rem;font-weight:600}.opp-div-tag{text-transform:uppercase;color:var(--color-up);background:#10b9812e;border-radius:999px;flex:none;padding:.05rem .35rem;font-size:.58rem;font-weight:700}.opp-div-tag-up{color:var(--color-accent);background:#6366f126}.opp-div-empty{color:var(--color-text-faint);padding:.4rem 0;font-size:.74rem;font-style:italic}.opp-why-block{margin-top:1rem}.opp-why-list{flex-direction:column;gap:.4rem;margin:0;padding-left:1.1rem;display:flex}.opp-why-list li{color:var(--color-text-soft);font-size:.82rem;line-height:1.45}.topbar{background:var(--color-panel);border-bottom:1px solid var(--color-panel-border);padding:.85rem 1rem}.topbar-inner{align-items:center;gap:1.2rem;max-width:1280px;margin:0 auto;display:flex}.topbar-logo img{width:auto;height:36px}.topbar-title{flex:1}.topbar-title h1{color:var(--color-text);margin:0;font-size:1.05rem;font-weight:700}.topbar-subtitle{color:var(--color-text-muted);margin:.1rem 0 0;font-size:.72rem}.topbar-actions{gap:.5rem;display:flex}.admin-main{max-width:1280px;margin:1.4rem auto;padding:0 1rem}.admin-card{padding:1.1rem 1.25rem}.admin-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.admin-card-head h2{color:var(--color-text);margin:0;font-size:1rem;font-weight:700}.admin-hint{color:var(--color-text-muted);max-width:60ch;margin:.2rem 0 0;font-size:.72rem}.admin-users-table{border-collapse:collapse;width:100%;font-size:.85rem}.admin-users-table thead th{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);border-bottom:1px solid var(--color-divider-strong);padding:.45rem .7rem;font-size:.66rem}.admin-users-table tbody td{border-bottom:1px solid var(--color-divider);vertical-align:middle;padding:.6rem .7rem}.admin-users-table tbody tr:nth-child(odd){background:var(--color-stripe)}.user-email{color:var(--color-text);font-weight:600}.user-tag-self{color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;background:#6366f12e;border-radius:999px;margin-left:.4rem;padding:.06rem .4rem;font-size:.62rem;font-weight:600;display:inline-block}.role-badge{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;padding:.12rem .55rem;font-size:.65rem;font-weight:700;display:inline-block}.role-admin{color:var(--color-accent);background:#6366f12e;border:1px solid #6366f166}.role-public{color:var(--color-text-soft);background:#94a3b82e;border:1px solid #94a3b84d}.status-ok{color:var(--color-up);font-size:.75rem;font-weight:600}.status-must-change{color:var(--color-warn);cursor:help;font-size:.7rem;font-weight:600}.row-actions{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:inline-flex}.btn-small{border:1px solid var(--color-panel-border);background:var(--color-panel);color:var(--color-text-soft);cursor:pointer;border-radius:6px;align-items:center;gap:.3rem;padding:.32rem .6rem;font-size:.72rem;transition:background-color .12s,color .12s,border-color .12s;display:inline-flex}.btn-small:hover:not(:disabled){color:var(--color-text);border-color:var(--color-accent)}.btn-small:disabled{opacity:.4;cursor:not-allowed}.btn-reset:hover:not(:disabled){color:var(--color-warn);border-color:var(--color-warn)}.btn-delete:hover:not(:disabled){color:var(--color-down);border-color:var(--color-down)}.btn-primary{background:var(--color-accent);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:.4rem;padding:.5rem .9rem;font-size:.82rem;font-weight:600;display:inline-flex}.btn-primary:hover{background:#4f46e5}.btn-ghost{border:1px solid var(--color-panel-border);color:var(--color-text-soft);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:.35rem;padding:.45rem .85rem;font-size:.78rem;text-decoration:none;display:inline-flex}.btn-ghost:hover{color:var(--color-text);border-color:var(--color-accent)}.rename-modal{text-align:left}.rename-field{flex-direction:column;gap:.4rem;display:flex;position:relative}.rename-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;display:flex}.rename-label i{color:var(--color-accent);font-size:.78rem}.rename-field input{border:1px solid var(--color-panel-border);background:var(--color-panel);color:var(--color-text);border-radius:.55rem;width:100%;padding:.62rem .75rem;font-size:1rem}.rename-field input:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.rename-count{color:var(--color-text-faint);font-variant-numeric:tabular-nums;align-self:flex-end;font-size:.66rem}.adduser-modal{text-align:left;flex-direction:column;gap:1.1rem;display:flex}.adduser-field{flex-direction:column;gap:.4rem;display:flex}.adduser-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);align-items:center;gap:.4rem;font-size:.7rem;font-weight:600;display:flex}.adduser-label i{color:var(--color-accent);font-size:.78rem}.adduser-field input[type=email]{border:1px solid var(--color-panel-border);background:var(--color-panel);color:var(--color-text);border-radius:.55rem;width:100%;padding:.62rem .75rem;font-size:.95rem}.adduser-field input[type=email]:focus{outline:2px solid var(--color-accent);outline-offset:1px;border-color:var(--color-accent)}.adduser-role-grid{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.adduser-role{cursor:pointer;border:1px solid var(--color-panel-border);background:var(--color-stripe);border-radius:.6rem;flex-direction:column;gap:.2rem;padding:.65rem .7rem;transition:border-color .12s,background .12s,box-shadow .12s;display:flex;position:relative}.adduser-role input{opacity:0;pointer-events:none;position:absolute}.adduser-role:hover{border-color:var(--color-accent)}.adduser-role.selected{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent);background:#6366f11a}.adduser-role-title{color:var(--color-text);align-items:center;gap:.4rem;font-size:.86rem;font-weight:700;display:flex}.adduser-role-title i{color:var(--color-accent);font-size:.8rem}.adduser-role-desc{color:var(--color-text-muted);font-size:.68rem;line-height:1.35}.adduser-note{color:var(--color-text-soft);background:#6366f114;border:1px solid #6366f140;border-radius:.55rem;align-items:center;gap:.5rem;padding:.55rem .7rem;font-size:.74rem;display:flex}.adduser-note i{color:var(--color-accent)}.credentials-box{letter-spacing:.04em;background:var(--color-panel-strong);border:1px solid var(--color-divider-strong);color:var(--color-text);word-break:break-all;text-align:center;border-radius:6px;padding:.7rem .9rem;font-family:ui-monospace,Menlo,monospace;font-size:1.05rem;font-weight:700}.muted{color:var(--color-text-muted)}.del-choice{flex-direction:column;gap:.55rem;display:flex}.del-choice-row{border:1px solid var(--color-panel-border);background:var(--color-stripe);cursor:pointer;border-radius:10px;align-items:flex-start;gap:.6rem;padding:.7rem .85rem;transition:border-color .12s,background .12s;display:flex}.del-choice-row:hover{border-color:var(--color-accent)}.del-choice-row input[type=radio]{accent-color:var(--color-accent);margin-top:.25rem}.del-choice-row:has(input:checked){border-color:var(--color-accent);background:#6366f10f}.del-choice-body{flex:1}.del-choice-title{color:var(--color-text);font-size:.88rem;font-weight:600}.del-choice-title.del-choice-danger{color:var(--color-down)}.del-choice-hint{color:var(--color-text-muted);margin-top:.15rem;font-size:.72rem;line-height:1.4}.del-choice-tag{color:var(--color-up);text-transform:uppercase;letter-spacing:.04em;background:#34d3992e;border-radius:999px;margin-left:.4rem;padding:.05rem .4rem;font-size:.6rem;font-weight:600;display:inline-block}.bank-logo-btn{cursor:pointer;background:0 0;border:none;border-radius:9px;flex:none;justify-content:center;align-items:center;width:2rem;height:2rem;padding:0;line-height:0;transition:transform .12s,filter .12s;display:inline-flex}.bank-logo-btn img{border-radius:7px;width:1.75rem;height:1.75rem;display:block;box-shadow:0 2px 6px #00000040}.bank-logo-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}.trader-swal-bank .bank-modal{text-align:left}.bank-intro{color:var(--color-text-muted);margin-bottom:.9rem;font-size:.82rem;line-height:1.45}.bank-grid{flex-direction:column;gap:.6rem;display:flex}.bank-card{text-align:left;cursor:pointer;background:var(--color-stripe);border:1.5px solid var(--color-panel-border);border-radius:12px;align-items:center;gap:.8rem;width:100%;padding:.75rem .9rem;transition:border-color .12s,background .12s,transform .12s;display:flex}.bank-card:hover{border-color:var(--bk,var(--color-accent));background:var(--bk,var(--color-accent));transform:translateY(-1px)}@supports (color:color-mix(in lab,red,red)){.bank-card:hover{background:color-mix(in srgb,var(--bk,var(--color-accent)) 8%,transparent)}}.bank-card.active{border-color:var(--bk,var(--color-accent));background:var(--bk,var(--color-accent))}@supports (color:color-mix(in lab,red,red)){.bank-card.active{background:color-mix(in srgb,var(--bk,var(--color-accent)) 12%,transparent)}}.bank-card img{border-radius:9px;flex:none;width:2.6rem;height:2.6rem;box-shadow:0 2px 8px #00000040}.bank-card-txt{flex-direction:column;flex:1;gap:.12rem;min-width:0;display:flex}.bank-card-name{color:var(--color-text);font-size:.95rem;font-weight:700}.bank-card-contract{color:var(--color-text-muted);font-size:.72rem}.bank-card-check{color:var(--bk,var(--color-accent));flex:none;font-size:1.1rem}.imp-label{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);text-align:left;margin:0 0 .4rem;font-size:.72rem;font-weight:700}.imp-bank-row{gap:.5rem;margin-bottom:.9rem;display:flex}.imp-bank{cursor:pointer;color:var(--color-text-soft);background:var(--color-stripe);border:1.5px solid var(--color-panel-border);border-radius:10px;flex:1;align-items:center;gap:.45rem;padding:.5rem .7rem;font-size:.85rem;font-weight:600;transition:border-color .12s,background .12s,transform .12s;display:inline-flex}.imp-bank img{border-radius:6px;flex:none;width:1.4rem;height:1.4rem}.imp-bank:hover{border-color:var(--bk,var(--color-accent));transform:translateY(-1px)}.imp-bank.active{color:var(--color-text);border-color:var(--bk,var(--color-accent));background:var(--bk,var(--color-accent))}@supports (color:color-mix(in lab,red,red)){.imp-bank.active{background:color-mix(in srgb,var(--bk,var(--color-accent)) 12%,transparent)}}.imp-warn{text-align:left;color:var(--color-warn,#d97706);background:#d977061a;border:1px solid #d9770652;border-radius:10px;align-items:flex-start;gap:.5rem;margin:.1rem 0 .9rem;padding:.6rem .75rem;font-size:.82rem;line-height:1.45;display:flex}.imp-warn i{flex:none;margin-top:.12rem}.imp-warn strong{color:var(--color-text)}.ref-bank-tabs{gap:.45rem;margin-bottom:.8rem;display:flex}.ref-bank-tab{cursor:pointer;background:var(--color-stripe);border:1.5px solid var(--color-panel-border);color:var(--color-text-soft);border-radius:999px;align-items:center;gap:.4rem;padding:.34rem .7rem;font-size:.78rem;font-weight:600;transition:border-color .12s,background .12s,color .12s;display:inline-flex}.ref-bank-tab img{border-radius:4px;width:1.1rem;height:1.1rem}.ref-bank-tab:hover{color:var(--color-text);border-color:var(--bk,var(--color-accent))}.ref-bank-tab.active{color:#fff;background:var(--bk,var(--color-accent));border-color:var(--bk,var(--color-accent))}.ref-modal{text-align:left}.ref-intro{color:var(--color-text-muted);margin-bottom:.9rem;font-size:.8rem;line-height:1.45}.ref-empty{background:var(--color-stripe);border:1px dashed var(--color-divider-strong);text-align:center;color:var(--color-text-soft);border-radius:10px;padding:1rem;font-size:.85rem;line-height:1.5}.ref-meta{background:var(--color-stripe);border:1px solid var(--color-divider);border-radius:10px;grid-template-columns:1fr 1fr;gap:.5rem 1.2rem;padding:.85rem 1rem;display:grid}.ref-meta>div{flex-direction:column;gap:.1rem;display:flex}.ref-meta-lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.62rem}.ref-meta strong{color:var(--color-text);font-size:.9rem}.ref-breakdown{margin-top:1rem}.ref-breakdown h4{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);margin-bottom:.5rem;font-size:.68rem}.ref-bd-row{align-items:center;gap:.6rem;padding:.18rem 0;display:flex}.ref-bd-name{color:var(--color-text-soft);flex:0 0 9rem;font-size:.76rem}.ref-bd-bar{background:#6366f11f;border-radius:3px;flex:1;height:6px;overflow:hidden}.ref-bd-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:3px;height:100%;display:block}.ref-bd-count{text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text);flex:0 0 2rem;font-size:.78rem;font-weight:600}.ref-job{border-radius:8px;margin-top:.9rem;padding:.6rem .85rem;font-size:.78rem}.ref-job-running{color:#0ea5e9;background:#0ea5e91f;border:1px solid #0ea5e959}.ref-job-done{color:var(--color-up);background:#34d3991f;border:1px solid #34d39959}.ref-job-error{color:var(--color-down);background:#f871711f;border:1px solid #f8717159}.trader-swal-ref .swal2-deny{font-size:.82rem!important}.fund-detail-header{border-bottom:1px solid var(--color-divider-strong);align-items:center;gap:.75rem;margin-bottom:1rem;padding-bottom:.85rem;display:flex}.fund-detail-header .fund-detail-isin{color:var(--color-text-muted);font-family:ui-monospace,monospace;font-size:.7rem}.fund-detail-header .fund-detail-name{color:var(--color-text);flex-wrap:wrap;align-items:center;gap:.5rem;font-size:1.05rem;font-weight:600;display:flex}.fund-detail-header .fund-detail-name .ms-stars{font-size:.95rem}.fund-detail-grid{grid-template-columns:1fr 1fr;gap:1rem;min-width:0;display:grid}@media(max-width:640px){.fund-detail-grid{grid-template-columns:1fr}}.fund-block{background:var(--color-panel);border:1px solid var(--color-panel-border);border-radius:12px;min-width:0;padding:.85rem 1rem;overflow:hidden}.trader-swal .swal2-html-container{overflow-x:hidden}.trader-swal .swal2-html-container>*{max-width:100%}.fund-block h4{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin-bottom:.6rem;font-size:.68rem;font-weight:600}.trend-block-inner{flex-direction:column;gap:.55rem;display:flex}.trend-nav{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.6rem;display:flex}.trend-nav-price{color:var(--color-text);font-size:1.05rem;font-weight:600}.trend-nav-day{font-size:.75rem}.trend-spark{width:100%}.trend-spark svg{width:100%;height:auto}.trend-line{border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.78rem;display:flex}.trend-lbl{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;font-weight:600}.fund-block .fund-row-item{justify-content:space-between;align-items:center;gap:.7rem;padding:.22rem 0;font-size:.82rem;display:flex}.fund-block .fund-row-item .name{min-width:0;color:var(--color-text-soft);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.fund-block .fund-row-item .pct{font-variant-numeric:tabular-nums;color:var(--color-text);text-align:right;flex:none;min-width:3.5rem;font-weight:600}.fund-block .gauge-bar{background:#6366f11a;border-radius:4px;flex:0 0 80px;height:8px;position:relative;overflow:hidden}[data-theme=light] .fund-block .gauge-bar{background:#6366f126}.fund-block .gauge-fill{background:linear-gradient(90deg,#6366f1,#8b5cf6);border-radius:4px;min-width:4px;height:100%;display:block}.sri-meter{gap:4px;margin-top:.4rem;display:flex}.sri-pill{background:var(--color-stripe);border:1px solid var(--color-panel-border);height:28px;color:var(--color-text-faint);border-radius:6px;flex:1;justify-content:center;align-items:center;font-size:.78rem;font-weight:600;display:flex;position:relative}.sri-pill.active{color:#fff;border-color:#0000;font-weight:700;transform:scale(1.08);box-shadow:0 4px 12px -4px #00000059}.sri-1.active{background:#10b981}.sri-2.active{background:#34d399}.sri-3.active{background:#84cc16}.sri-4.active{color:#1f2030;background:#facc15}.sri-5.active{background:#fb923c}.sri-6.active{background:#ef4444}.sri-7.active{background:#dc2626}.sri-label{color:var(--color-text-muted);text-align:center;margin-top:.4rem;font-size:.7rem}.sri-badge{letter-spacing:.02em;white-space:nowrap;font-variant-numeric:tabular-nums;color:#fff;border-radius:999px;align-items:center;padding:.18rem .55rem;font-size:.62rem;font-weight:700;display:inline-flex}.sri-1-bg{background:#10b981}.sri-2-bg{background:#34d399}.sri-3-bg{background:#84cc16}.sri-4-bg{color:#1f2030;background:#facc15}.sri-5-bg{background:#fb923c}.sri-6-bg{background:#ef4444}.sri-7-bg{background:#dc2626}.valo-card{cursor:pointer;width:100%;font:inherit;color:inherit;border:1px solid var(--color-panel-border);background:var(--color-panel);transition:transform .12s,box-shadow .12s,background-color .12s;min-height:auto!important}.valo-card:hover{background:var(--color-panel-strong);transform:translateY(-2px);box-shadow:0 12px 32px -10px #6366f159}.portfolio-summary{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-bottom:1rem;display:grid}.portfolio-sumcell{background:var(--color-panel);border:1px solid var(--color-panel-border);border-radius:10px;padding:.6rem .75rem}.portfolio-sumcell .lbl{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-size:.62rem}.portfolio-sumcell .val{font-variant-numeric:tabular-nums;color:var(--color-text);margin-top:.15rem;font-size:1.1rem;font-weight:700}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}
