:root{--color-bg:#fff;--color-bg-subtle:#f6f7f9;--color-border:#e3e5e9;--color-text:#1c1f26;--color-text-muted:#626770;--color-accent:#2563cf;--color-accent-contrast:#fff;--color-positive:#15794f;--color-negative:#c22f2f;--shadow-sm:0 1px 2px #0000000f;--color-star:#e6a817;--color-ma-20:#c9822a;--color-ma-50:#7c5cd6;--color-ma-200:#1f9aa0;--chart-series-1:#2a78d6;--chart-series-2:#1baf7a;--chart-series-3:#eda100;--chart-series-4:#008300;--chart-series-5:#4a3aa7;--chart-series-6:#e34948;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--font-sans:system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, Consolas, monospace;--font-size-sm:13px;--font-size-base:15px;--font-size-lg:18px;--font-size-xl:24px;--line-height-base:1.5;--font-size-input:16px;--radius:8px;--max-width:1200px;--sidebar-width:240px;--bottom-nav-height:58px;--breakpoint-sm:375px;--breakpoint-md:640px;--breakpoint-lg:900px;--breakpoint-xl:1200px;--tap-target-min:44px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[data-theme=dark]{--color-bg:#14161b;--color-bg-subtle:#1b1e25;--color-border:#2b2e36;--color-text:#e7e9ee;--color-text-muted:#9aa0ad;--color-accent:#5b8def;--color-accent-contrast:#0a0d14;--color-positive:#3ecf8e;--color-negative:#f06868;--shadow-sm:0 1px 2px #0006;--color-ma-20:#e8a35c;--color-ma-50:#a98af0;--color-ma-200:#3fc6cc;--chart-series-1:#3987e5;--chart-series-2:#199e70;--chart-series-3:#c98500;--chart-series-4:#008300;--chart-series-5:#9085e9;--chart-series-6:#e66767;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--color-bg:#14161b;--color-bg-subtle:#1b1e25;--color-border:#2b2e36;--color-text:#e7e9ee;--color-text-muted:#9aa0ad;--color-accent:#5b8def;--color-accent-contrast:#0a0d14;--color-positive:#3ecf8e;--color-negative:#f06868;--shadow-sm:0 1px 2px #0006;--color-ma-20:#e8a35c;--color-ma-50:#a98af0;--color-ma-200:#3fc6cc;--chart-series-1:#3987e5;--chart-series-2:#199e70;--chart-series-3:#c98500;--chart-series-4:#008300;--chart-series-5:#9085e9;--chart-series-6:#e66767;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--color-bg);min-height:100vh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{flex-direction:column;min-height:100vh;display:flex}h1,h2,h3{color:var(--color-text);margin:0;font-weight:600}p{margin:0}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}ul{margin:0;padding:0;list-style:none}@media (width<=640px){button,input[type=button],input[type=submit]{min-height:var(--tap-target-min);min-width:var(--tap-target-min)}}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:not(:disabled):active{opacity:.85}@media (width<=640px){input[type=text],input[type=search],input[type=email],input[type=password],input[type=tel],input[type=url],input[type=number],input:not([type]),textarea,select{font-size:var(--font-size-input)!important}:is(label:has(>input[type=checkbox]),label:has(>input[type=radio])){min-height:var(--tap-target-min)}}.auth-splash{background:var(--color-bg);justify-content:center;align-items:center;width:100%;min-height:100vh;display:flex}.auth-splash__mark{color:var(--color-accent);font-size:var(--font-size-xl);animation:1.2s ease-in-out infinite auth-splash-pulse}@keyframes auth-splash-pulse{0%,to{opacity:.35}50%{opacity:1}}.error-boundary{background:var(--color-bg-subtle);width:100%;min-height:100vh;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.error-boundary__card{width:100%;max-width:360px;padding:var(--space-6) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);box-shadow:var(--shadow-sm);align-items:center;gap:var(--space-4);text-align:center;flex-direction:column;display:flex}.error-boundary__title{font-size:var(--font-size-lg);color:var(--color-text);margin:0}.error-boundary__text{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.error-boundary__button{padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-size-sm);cursor:pointer;font-weight:500}.error-boundary__button:hover{opacity:.9}.search{flex:1;max-width:420px;position:relative}.search__input{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);font-size:var(--font-size-input)}.search__input:focus{border-color:var(--color-accent);outline:none}.search__results{top:calc(100% + var(--space-1));z-index:20;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);max-height:320px;box-shadow:var(--shadow-sm);position:absolute;left:0;right:0;overflow-y:auto}.search__empty{padding:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.search__result{align-items:baseline;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);cursor:pointer;text-align:left;background:0 0;border:none;display:flex}.search__result:hover,.search__result--active{background:var(--color-bg-subtle)}.search__symbol{font-weight:600;font-family:var(--font-mono);font-size:var(--font-size-sm);flex:none}.search__desc{min-width:0;color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.search__meta{align-items:center;gap:var(--space-2);flex:none;display:inline-flex}.search__badge{padding:2px var(--space-2);background:color-mix(in srgb, var(--color-accent) 12%, transparent);color:var(--color-accent);white-space:nowrap;border-radius:4px;align-items:center;font-size:11px;font-weight:600;display:inline-flex}.search__exchange{color:var(--color-text-muted);white-space:nowrap;font-size:11px}.sidebar{height:100vh;width:var(--sidebar-width);gap:var(--space-5);padding:var(--space-5) var(--space-4);border-right:1px solid var(--color-border);background:var(--color-bg-subtle);flex-direction:column;flex-shrink:0;display:flex;position:sticky;top:0}.sidebar__brand{align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);color:var(--color-text);font-weight:700;display:flex}.sidebar__logo{color:var(--color-accent)}.sidebar__search .search{max-width:none}.sidebar__nav{gap:var(--space-1);flex-direction:column;display:flex}.nav-link{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:500;display:flex}.nav-link:hover{background:var(--color-bg);color:var(--color-text);text-decoration:none}.nav-link--active,.nav-link--active:hover{background:var(--color-accent);color:var(--color-accent-contrast)}.nav-link__icon{display:inline-flex}.nav-link__badge{min-width:18px;height:18px;padding:0 var(--space-1);background:var(--color-negative);color:#fff;border-radius:999px;justify-content:center;align-items:center;margin-left:auto;font-size:11px;font-weight:700;line-height:18px;display:inline-flex}.sidebar__bottom{gap:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.sidebar__footer{color:var(--color-text-muted);font-size:var(--font-size-sm)}.theme-toggle{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;display:flex}.theme-toggle:hover{color:var(--color-text);border-color:var(--color-accent)}.theme-toggle svg{flex-shrink:0;display:block}@media (width<=767px){.sidebar{display:none}}.bottom-nav{display:none}@media (width<=767px){.bottom-nav{z-index:100;height:calc(var(--bottom-nav-height) + env(safe-area-inset-bottom,0px));padding-bottom:env(safe-area-inset-bottom,0px);border-top:1px solid var(--color-border);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.bottom-nav__item{justify-content:center;align-items:center;gap:var(--space-1);min-width:var(--tap-target-min);min-height:var(--tap-target-min);color:var(--color-text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;font-size:11px;font-weight:500;line-height:1;display:flex;position:relative}.bottom-nav__item--active{color:var(--color-accent)}.bottom-nav__icon{display:inline-flex}.bottom-nav__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.bottom-nav__badge{background:var(--color-negative);color:#fff;text-align:center;border-radius:999px;min-width:16px;height:16px;padding:0 3px;font-size:10px;font-weight:700;line-height:16px;position:absolute;top:2px;right:calc(50% - 20px)}}.more-sheet{z-index:150;gap:var(--space-4);padding:var(--space-4);padding-top:calc(var(--space-4) + env(safe-area-inset-top,0px));padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom,0px));background:var(--color-bg);flex-direction:column;display:flex;position:fixed;inset:0;overflow-y:auto}.more-sheet__header{justify-content:space-between;align-items:center;display:flex}.more-sheet__title{font-size:var(--font-size-lg);color:var(--color-text);font-weight:700}.more-sheet__close{width:var(--tap-target-min);height:var(--tap-target-min);border-radius:var(--radius);background:var(--color-bg-subtle);color:var(--color-text-muted);cursor:pointer;border:none;justify-content:center;align-items:center;display:flex}.more-sheet__close:hover{color:var(--color-text)}.more-sheet__search .search{max-width:none}.more-sheet__nav{gap:var(--space-1);flex-direction:column;display:flex}.more-sheet__nav .nav-link{padding:var(--space-3);font-size:var(--font-size-base);min-height:var(--tap-target-min)}.more-sheet__bottom{gap:var(--space-3);flex-direction:column;margin-top:auto;display:flex}.more-sheet__bottom .theme-toggle{padding:var(--space-3);min-height:var(--tap-target-min)}.more-sheet__footer{color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (width>=768px){.more-sheet{display:none}}.app-shell{min-height:100vh;display:flex}.app-main{min-width:0;max-width:var(--max-width);width:100%;padding:var(--space-6) var(--space-6);flex:1;margin:0 auto}@media (width<=767px){.app-main{padding:var(--space-5) var(--space-4);padding-bottom:calc(var(--space-5) + var(--bottom-nav-height) + env(safe-area-inset-bottom,0px))}}.login-page{background:var(--color-bg-subtle);width:100%;min-height:100vh;padding:var(--space-5);justify-content:center;align-items:center;display:flex}.login-card{width:100%;max-width:360px;padding:var(--space-6) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);box-shadow:var(--shadow-sm);gap:var(--space-5);flex-direction:column;display:flex}.login-brand{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--font-size-lg);color:var(--color-text);font-weight:700;display:flex}.login-brand__logo{color:var(--color-accent)}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-form__field{gap:var(--space-1);flex-direction:column;display:flex}.login-form__submit{text-align:center;width:100%}.login-feedback{font-size:var(--font-size-sm);margin:0}.login-feedback--error{color:var(--color-negative)}.login-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.tag-editor{gap:var(--space-2);flex-direction:column;min-width:200px;display:flex}.tag-editor__chips{align-items:center;gap:var(--space-1);padding:var(--space-1);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);flex-wrap:wrap;display:flex}.tag-editor__chip{padding:2px var(--space-2);background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent);font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;align-items:center;gap:4px;font-weight:500;display:inline-flex}.tag-editor__chip-remove{color:inherit;cursor:pointer;font-size:var(--font-size-sm);opacity:.7;background:0 0;border:none;padding:0;line-height:1}.tag-editor__chip-remove:hover{opacity:1}.tag-editor__input{min-width:80px;color:var(--color-text);font:inherit;font-size:var(--font-size-input);padding:var(--space-1) var(--space-2);background:0 0;border:none;outline:none;flex:1}.tag-editor__suggestions{gap:var(--space-1);flex-wrap:wrap;display:flex}.tag-editor__suggestion{padding:2px var(--space-2);border:1px dashed var(--color-border);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border-radius:999px;transition:color .12s,border-color .12s}.tag-editor__suggestion:hover{color:var(--color-text);border-color:var(--color-text-muted)}.tag-editor__suggestion:disabled{opacity:.5;cursor:default}.star-btn{align-items:center;gap:var(--space-2);cursor:pointer;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);display:inline-flex}.star-btn:hover{color:var(--color-text)}.star-btn:disabled{opacity:.6;cursor:default}.star-btn--full{padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);font-weight:500}.star-btn--icon{padding:var(--space-1);background:0 0;border-color:#0000}.star-btn--on{color:var(--color-star);border-color:var(--color-border)}.star-btn--icon.star-btn--on{border-color:#0000}.star-btn__glyph{font-size:16px;line-height:1}.star-btn-wrap{display:inline-flex;position:relative}.star-btn__popover{top:calc(100% + var(--space-2));z-index:20;gap:var(--space-2);padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;min-width:240px;display:flex;position:absolute;right:0}.star-btn__popover-title{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.star-btn__popover-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.star-btn__popover-cancel,.star-btn__popover-save{padding:var(--space-1) var(--space-3);border-radius:var(--radius);font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:opacity .12s,border-color .12s}.star-btn__popover-cancel{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted)}.star-btn__popover-cancel:hover{color:var(--color-text);border-color:var(--color-text-muted)}.star-btn__popover-save{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.star-btn__popover-save:hover{opacity:.9}.star-btn__popover-save:disabled{opacity:.5;cursor:default}.watch-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);flex-direction:column;display:flex}.watch-card:hover{border-color:var(--color-accent);text-decoration:none}.watch-card__top{justify-content:space-between;align-items:flex-start;gap:var(--space-2);display:flex}.watch-card__id{flex-direction:column;gap:2px;min-width:0;display:flex}.watch-card__ticker{font-weight:700;font-family:var(--font-mono)}.watch-card__name{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.watch-card__spark{height:36px}.watch-card__quote{justify-content:space-between;align-items:baseline;gap:var(--space-2);display:flex}.watch-card__price{font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;font-weight:600}.watch-card__change{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.watch-card__change--positive{color:var(--color-positive)}.watch-card__change--negative{color:var(--color-negative)}.watch-card__change--neutral{color:var(--color-text-muted)}.watch-card__quote--muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.skeleton{border-radius:var(--radius);background:linear-gradient(100deg, var(--color-bg-subtle) 30%, var(--color-border) 50%, var(--color-bg-subtle) 70%);background-size:200% 100%;animation:1.4s ease-in-out infinite skeleton-shimmer;display:block}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.skeleton--line{width:140px;height:20px}.skeleton--text{width:100%;height:14px}.skeleton--text-short{width:55%;height:14px}.skeleton--tile{height:52px}.event-list{gap:var(--space-3);flex-direction:column;display:flex}.event-card{gap:var(--space-2);padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.event-card__top{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.event-badge{padding:2px var(--space-2);font-size:var(--font-size-sm);white-space:nowrap;border-radius:4px;align-items:center;font-weight:600;display:inline-flex}.event-badge--earnings{background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent)}.event-badge--dividend{background:color-mix(in srgb, var(--color-positive) 15%, transparent);color:var(--color-positive)}.event-badge--custom{background:color-mix(in srgb, var(--color-star) 15%, transparent);color:color-mix(in srgb, var(--color-star) 80%, var(--color-text))}.event-badge--other{background:color-mix(in srgb, var(--color-text-muted) 15%, transparent);color:var(--color-text-muted)}.event-badge--filing_8k{background:color-mix(in srgb, var(--color-ma-50) 15%, transparent);color:var(--color-ma-50)}.event-card__ticker{font-size:var(--font-size-sm);color:var(--color-accent);font-weight:600;text-decoration:none}.event-card__ticker:hover{text-decoration:underline}.event-card__date{align-items:center;gap:var(--space-2);margin-left:auto;display:flex}.event-card__date-abs{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.event-card__date-rel{font-size:var(--font-size-sm);color:var(--color-text-muted)}.event-card__title{font-size:var(--font-size-base);color:var(--color-text);font-weight:500}.event-card__details{flex-direction:column;gap:2px;display:flex}.event-card__detail{font-size:var(--font-size-sm);color:var(--color-text-muted)}.event-card__link{font-size:var(--font-size-sm);color:var(--color-accent);width:fit-content}.event-card__delete{padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;margin-left:auto;transition:color .12s,border-color .12s}.event-card__delete:hover{color:var(--color-negative);border-color:var(--color-negative)}.event-card__delete:disabled{opacity:.5;cursor:default}.event-card__tags{gap:var(--space-1);flex-wrap:wrap;display:flex}.event-card__tag{padding:2px var(--space-2);background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent);font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;font-weight:500;display:inline-flex}.upcoming-events__list{gap:var(--space-2);flex-direction:column;display:flex}.upcoming-events__row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.upcoming-events__row:last-child{border-bottom:none}.upcoming-events__date{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;min-width:82px}.upcoming-events__ticker{font-size:var(--font-size-sm);color:var(--color-accent);font-weight:600;text-decoration:none}.upcoming-events__ticker:hover{text-decoration:underline}.upcoming-events__title{font-size:var(--font-size-sm);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.unread-alerts__list{gap:var(--space-2);flex-direction:column;display:flex}.unread-alerts__row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.unread-alerts__row:last-child{border-bottom:none}.unread-alerts__body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.unread-alerts__message{font-size:var(--font-size-sm);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.unread-alerts__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.unread-alerts__action{border:1px solid var(--color-border);border-radius:var(--radius);width:26px;height:26px;color:var(--color-text-muted);cursor:pointer;background:0 0;flex-shrink:0;transition:color .12s,border-color .12s}.unread-alerts__action:hover{color:var(--color-positive);border-color:var(--color-positive)}.unread-alerts__action:disabled{opacity:.5;cursor:default}.top-movers__columns{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.top-movers__column{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.top-movers__label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.top-movers__list{gap:var(--space-2);flex-direction:column;display:flex}.top-movers__row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.top-movers__ticker{font-size:var(--font-size-sm);color:var(--color-accent);font-weight:600;text-decoration:none}.top-movers__ticker:hover{text-decoration:underline}.top-movers__change{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:600}.top-movers__change--positive{color:var(--color-positive)}.top-movers__change--negative{color:var(--color-negative)}.top-movers__change--neutral{color:var(--color-text-muted)}.latest-news__list{gap:var(--space-2);flex-direction:column;display:flex}.latest-news__row{align-items:flex-start;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.latest-news__row:last-child{border-bottom:none}.latest-news__ticker{font-size:var(--font-size-sm);color:var(--color-accent);flex-shrink:0;min-width:44px;font-weight:600;text-decoration:none}.latest-news__ticker:hover{text-decoration:underline}.latest-news__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.latest-news__headline{font-size:var(--font-size-sm);color:var(--color-text);line-height:1.35;text-decoration:none}.latest-news__headline:hover{color:var(--color-accent);text-decoration:underline}.latest-news__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.trending-stocks__list{gap:var(--space-2);flex-direction:column;display:flex}.trending-stocks__row{align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);display:flex}.trending-stocks__row:last-child{border-bottom:none}.trending-stocks__ticker{font-size:var(--font-size-sm);color:var(--color-accent);flex-shrink:0;min-width:44px;font-weight:600;text-decoration:none}.trending-stocks__ticker:hover{text-decoration:underline}.trending-stocks__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.trending-stocks__name{font-size:var(--font-size-sm);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.trending-stocks__meta{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.trending-stocks__sentiment{padding:1px var(--space-2);font-size:var(--font-size-sm);white-space:nowrap;border-radius:4px;align-items:center;font-weight:600;display:inline-flex}.trending-stocks__sentiment--bullish{background:color-mix(in srgb, var(--color-positive) 15%, transparent);color:var(--color-positive)}.trending-stocks__sentiment--bearish{background:color-mix(in srgb, var(--color-negative) 15%, transparent);color:var(--color-negative)}.trending-stocks__delta{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;flex-shrink:0;font-weight:600}.trending-stocks__delta--positive{color:var(--color-positive)}.trending-stocks__delta--negative{color:var(--color-negative)}.trending-stocks__delta--neutral{color:var(--color-text-muted)}.trending-stocks__footnote{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted)}.modal-overlay{z-index:100;padding:var(--space-4);background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-dialog{gap:var(--space-3);width:100%;max-width:420px;max-height:calc(100vh - var(--space-7));padding:var(--space-4);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;display:flex;overflow-y:auto}.modal-dialog:focus{outline:none}.modal-dialog__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.modal-dialog__title{font-size:var(--font-size-lg)}.modal-dialog__close{padding:0 var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-xl);cursor:pointer;background:0 0;border:none;line-height:1;transition:color .12s}.modal-dialog__close:hover{color:var(--color-text)}.modal-dialog__body{gap:var(--space-3);flex-direction:column;display:flex}.sector-drilldown__header{gap:var(--space-3);font-size:var(--font-size-sm);font-weight:600;display:flex}.sector-drilldown__breadth--positive{color:var(--color-positive)}.sector-drilldown__breadth--negative{color:var(--color-negative)}.sector-drilldown__grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(90px,1fr));display:grid}.sector-drilldown__tile-link{color:inherit;border-radius:var(--radius);text-decoration:none;display:block}.sector-drilldown__tile-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sector-drilldown__tile{padding:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;flex-direction:column;justify-content:center;gap:2px;min-height:48px;transition:transform .1s,box-shadow .1s,border-color .1s;display:flex}.sector-drilldown__tile-link:hover .sector-drilldown__tile{box-shadow:var(--shadow-sm);border-color:var(--color-accent);transform:scale(1.02)}.sector-drilldown__tile-ticker{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.sector-drilldown__tile-change{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:600}.sector-drilldown__tile-change--positive{color:var(--color-positive)}.sector-drilldown__tile-change--negative{color:var(--color-negative)}.sector-drilldown__tile-change--neutral{color:var(--color-text-muted)}.sector-drilldown__tile-price{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.sector-drilldown__etf-link{font-size:var(--font-size-sm);color:var(--color-accent);align-self:flex-start;text-decoration:none}.sector-drilldown__etf-link:hover{text-decoration:underline}.sector-heatmap__grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(110px,1fr));display:grid}.sector-tile-link{width:100%;color:inherit;border-radius:var(--radius);font:inherit;text-align:inherit;background:0 0;border:none;padding:0;display:block}.sector-tile-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.sector-tile{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;flex-direction:column;justify-content:center;gap:2px;min-height:52px;transition:transform .1s,box-shadow .1s,border-color .1s;display:flex;position:relative}.sector-tile-link:hover .sector-tile{box-shadow:var(--shadow-sm);border-color:var(--color-accent);transform:scale(1.02)}.sector-tile__name{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600;line-height:1.2}.sector-tile__change{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;font-weight:600}.sector-tile__change--positive{color:var(--color-positive)}.sector-tile__change--negative{color:var(--color-negative)}.sector-tile__change--neutral{color:var(--color-text-muted)}.sector-tile__ticker{font-size:var(--font-size-sm);color:var(--color-text-muted)}.sector-tile__metric{color:var(--color-text-muted);font-variant-numeric:tabular-nums;font-size:.75rem}.sector-tile__badge{top:var(--space-1);right:var(--space-2);color:var(--color-text-muted);font-size:.7rem;font-weight:600;line-height:1;position:absolute}.empty-state{align-items:center;gap:var(--space-2);padding:var(--space-5) var(--space-4);text-align:center;color:var(--color-text-muted);flex-direction:column;display:flex}.empty-state__icon{font-size:var(--font-size-xl);color:var(--color-text-muted);justify-content:center;align-items:center;line-height:1;display:flex}.empty-state__title,.empty-state__description{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:44ch}.empty-state__action{margin-top:var(--space-1)}.dashboard{gap:var(--space-6);flex-direction:column;display:flex}@media (width<=640px){.dashboard{gap:var(--space-4)}}.dashboard__heading{font-size:var(--font-size-lg);margin-bottom:var(--space-3)}.index-region{margin-bottom:var(--space-5)}.index-region__heading{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-3);font-weight:600}.index-strip{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}@media (width<=768px){.index-strip{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.index-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s;display:flex}.index-card:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.index-card__main{gap:var(--space-1);flex-direction:column;display:flex}.index-card--skeleton{background:var(--color-bg-subtle);opacity:.6;height:88px}.index-card__label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.index-card__value{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;font-weight:600}.index-card__change{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;border-radius:999px;align-self:flex-start;font-weight:500;display:inline-block}.index-card__change--positive{color:var(--color-positive);background:color-mix(in srgb, var(--color-positive) 14%, transparent)}.index-card__change--negative{color:var(--color-negative);background:color-mix(in srgb, var(--color-negative) 14%, transparent)}.index-card__change--neutral{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-text-muted) 14%, transparent)}.watch-grid{gap:var(--space-4);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}@media (width<=768px){.watch-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}}@media (width<=640px){.watch-grid{grid-template-columns:1fr}}.dashboard__state{color:var(--color-text-muted);padding:var(--space-4) 0}.dashboard__state--error{color:var(--color-negative)}.dashboard__body{gap:var(--space-5);grid-template-columns:minmax(0,1fr) minmax(280px,340px);align-items:start;display:grid}.dashboard__main{min-width:0}.dashboard__side{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}@media (width<=768px){.dashboard__body{grid-template-columns:1fr}}.widget-card{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle)}.widget-card__heading{font-size:var(--font-size-base);margin-bottom:var(--space-3);font-weight:600}.widget-card__state{color:var(--color-text-muted);font-size:var(--font-size-sm)}.widget-card__state--error{color:var(--color-negative)}.widget-card__state--inline{padding:0}.sector-heatmap{margin-top:var(--space-2)}.strategy-highlight{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);flex-direction:column;display:flex}.strategy-highlight__top{align-items:center;gap:var(--space-3);display:flex}.strategy-highlight__badge{padding:2px var(--space-2);font-size:var(--font-size-sm);border-radius:4px;align-items:center;font-weight:600;display:inline-flex}.strategy-highlight__badge--week{background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent)}.strategy-highlight__badge--month{background:color-mix(in srgb, var(--color-positive) 15%, transparent);color:var(--color-positive)}.strategy-highlight__date{color:var(--color-text-muted);font-size:var(--font-size-sm)}.strategy-highlight__title{font-size:var(--font-size-lg);margin:0;font-weight:600}.strategy-highlight__summary{color:var(--color-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.strategy-highlight__link{color:var(--color-accent);font-weight:500;font-size:var(--font-size-sm);align-self:flex-start;text-decoration:none}.strategy-highlight__link:hover{text-decoration:underline}@media (width<=640px){.strategy-highlight{padding:var(--space-3)}.strategy-highlight__top{gap:var(--space-2);flex-wrap:wrap}}.scroll-fade{position:relative}.scroll-fade__edge{width:var(--space-6);pointer-events:none;z-index:2;max-width:12%;position:absolute;top:0;bottom:0}.scroll-fade__edge--left{background:linear-gradient(to right, var(--color-bg), transparent);left:0}.scroll-fade__edge--right{background:linear-gradient(to left, var(--color-bg), transparent);right:0}.strategy-page{padding:var(--space-5);max-width:var(--max-width)}.strategy-page__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.strategy-page__heading{font-size:var(--font-size-xl);margin:0}.strategy-generate{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.strategy-generate__button{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;font-weight:600;display:inline-flex}.strategy-generate__button:hover:not(:disabled){filter:brightness(1.08)}.strategy-generate__button:disabled{cursor:default;opacity:.75}.strategy-generate__spinner{border:2px solid color-mix(in srgb, var(--color-accent-contrast) 35%, transparent);border-top-color:var(--color-accent-contrast);border-radius:50%;width:13px;height:13px;animation:.7s linear infinite strategy-generate-spin}@keyframes strategy-generate-spin{to{transform:rotate(360deg)}}.strategy-generate__hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}.strategy-generate__error{font-size:var(--font-size-sm);color:var(--color-negative)}@media (width<=768px){.strategy-page__header{flex-direction:column;align-items:stretch}}.strategy-page__layout{gap:var(--space-5);grid-template-columns:minmax(260px,1fr) minmax(0,2.2fr);align-items:start;display:grid}@media (width<=768px){.strategy-page__layout{grid-template-columns:1fr}}.strategy-picker__toggle{display:none}.strategy-picker__count{color:var(--color-text-muted);font-weight:400}.strategy-picker__chevron{border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);width:8px;height:8px;margin-left:auto;transition:transform .15s;transform:rotate(-45deg)}.strategy-picker__chevron--open{transform:rotate(45deg)}.strategy-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.strategy-list-item{gap:var(--space-1);text-align:left;width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;flex-direction:column;transition:border-color .12s,background .12s;display:flex}.strategy-list-item:hover{border-color:var(--color-accent)}.strategy-list-item--active{background:var(--color-bg);border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.strategy-list-item__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.strategy-list-item__title{color:var(--color-text);font-weight:600;font-size:var(--font-size-sm)}.strategy-list-item__meta{align-items:center;gap:var(--space-2);display:flex}.strategy-list-item__date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.strategy-list-item__latest{text-transform:uppercase;letter-spacing:.04em;color:var(--color-accent);font-size:11px;font-weight:700}.strategy-list-item__summary{font-size:var(--font-size-sm);color:var(--color-text-muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0;line-height:1.5;display:-webkit-box;overflow:hidden}@media (width<=768px){.strategy-picker__toggle{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);margin-bottom:var(--space-3);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;font-weight:600;display:flex}.strategy-list{max-height:55vh;margin-bottom:var(--space-4);padding-right:2px;display:none;overflow-y:auto}.strategy-list--open{display:flex}.strategy-list-item__summary{display:none}}.strategy-badge{padding:2px var(--space-2);font-size:var(--font-size-sm);white-space:nowrap;border-radius:4px;align-items:center;font-weight:600;display:inline-flex}.strategy-badge--week{background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent)}.strategy-badge--month{background:color-mix(in srgb, var(--color-ma-50) 15%, transparent);color:var(--color-ma-50)}.strategy-content{min-width:0}.strategy-content__article{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-5);box-shadow:var(--shadow-sm)}.strategy-content__header{gap:var(--space-2);padding-bottom:var(--space-4);margin-bottom:var(--space-4);border-bottom:1px solid var(--color-border);flex-direction:column;display:flex}.strategy-content__title{font-size:var(--font-size-lg);color:var(--color-text);margin:0}.strategy-content__meta{align-items:center;gap:var(--space-3);display:flex}.strategy-content__date{font-size:var(--font-size-sm);color:var(--color-text-muted)}.strategy-hero__verdict{margin:var(--space-2) 0 0;font-size:var(--font-size-lg);color:var(--color-text);font-weight:500;line-height:1.5}.strategy-picks-board{gap:var(--space-3);margin-bottom:var(--space-5);flex-direction:column;display:flex}.strategy-picks-board__title{font-size:var(--font-size-base);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-weight:600}.strategy-stance-group{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg)}.strategy-stance-group__summary{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);color:var(--color-text);cursor:pointer;font-weight:600;list-style:none;display:flex}.strategy-stance-group__summary::-webkit-details-marker{display:none}.strategy-stance-group[open]>.strategy-stance-group__summary .strategy-section__chevron{transform:rotate(45deg)}.strategy-stance-group__dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.strategy-stance-group__dot--buy{background:var(--color-positive)}.strategy-stance-group__dot--accumulate{background:color-mix(in srgb, var(--color-positive) 55%, transparent)}.strategy-stance-group__dot--hold{background:var(--color-text-muted)}.strategy-stance-group__dot--watch{background:var(--color-ma-50)}.strategy-stance-group__dot--avoid{background:var(--color-negative)}.strategy-stance-group__count{color:var(--color-text-muted);font-weight:400}.strategy-stance-group__grid{gap:var(--space-3);padding:0 var(--space-4) var(--space-4);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.strategy-pick-card{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);flex-direction:column;display:flex}.strategy-pick-card__top{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.strategy-pick-card__ticker{font-weight:700;font-family:var(--font-mono);color:var(--color-text);text-decoration:none}.strategy-pick-card__ticker:hover{color:var(--color-accent)}.strategy-pick-card__rationale{font-size:var(--font-size-sm);color:var(--color-text);margin:0;line-height:1.55}.strategy-pick__stance{font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:2px 8px;font-weight:600;display:inline-flex}.strategy-pick__stance--buy{color:var(--color-positive);background:color-mix(in srgb, var(--color-positive) 12%, transparent)}.strategy-pick__stance--accumulate{color:var(--color-positive);background:color-mix(in srgb, var(--color-positive) 8%, transparent)}.strategy-pick__stance--hold{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-text-muted) 12%, transparent)}.strategy-pick__stance--watch{color:var(--color-ma-50);background:color-mix(in srgb, var(--color-ma-50) 12%, transparent)}.strategy-pick__stance--avoid{color:var(--color-negative);background:color-mix(in srgb, var(--color-negative) 12%, transparent)}.strategy-content .markdown__paragraph,.strategy-content .markdown__list li{line-height:1.65}.strategy-content__article .markdown__paragraph,.strategy-content__article .markdown__list{max-width:68ch}.strategy-content .markdown__heading:not(:first-child){margin-top:var(--space-2)}.strategy-content__article .markdown>.markdown__blockquote:first-child{font-size:var(--font-size-lg)}.strategy-toc{gap:var(--space-2);padding-bottom:var(--space-1);margin-bottom:var(--space-4);scrollbar-width:none;display:flex;overflow-x:auto}.strategy-toc::-webkit-scrollbar{display:none}.strategy-toc__chip{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:nowrap;cursor:pointer;border-radius:999px;flex-shrink:0;transition:color .12s,border-color .12s,background .12s}.strategy-toc__chip:hover{border-color:var(--color-accent);color:var(--color-accent)}.strategy-sections{gap:var(--space-3);margin-top:var(--space-4);flex-direction:column;display:flex}.strategy-section{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg)}.strategy-section__summary{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);color:var(--color-text);cursor:pointer;font-weight:600;list-style:none;display:flex}.strategy-section__summary::-webkit-details-marker{display:none}.strategy-section__chevron{border-right:2px solid var(--color-text-muted);border-bottom:2px solid var(--color-text-muted);flex-shrink:0;width:8px;height:8px;transition:transform .15s;transform:rotate(-45deg)}.strategy-section[open]>.strategy-section__summary .strategy-section__chevron{transform:rotate(45deg)}.strategy-section__body{padding:0 var(--space-4) var(--space-4)}@media (width<=768px){.strategy-content__article{padding:var(--space-4)}.strategy-content .markdown{gap:var(--space-4)}.strategy-content .markdown__paragraph,.strategy-content .markdown__list li{font-size:var(--font-size-base)}.strategy-section__summary{font-size:var(--font-size-sm);padding:var(--space-3)}.strategy-section__body{padding:0 var(--space-3) var(--space-3)}}.position-page{gap:var(--space-4);flex-direction:column;display:flex}.position-page__header{align-items:baseline;gap:var(--space-3);display:flex}.position-page__heading{font-size:var(--font-size-lg)}.position-page__analyze-slot{margin-left:auto}.position-totals{gap:var(--space-5);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);flex-wrap:wrap;display:flex}.position-totals__item{gap:var(--space-1);flex-direction:column;display:flex}.position-totals__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.position-totals__value{font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;font-weight:600}.position-table-wrap{overflow-x:auto}.position-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.position-table th{text-align:left;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:500}.position-row td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums;white-space:nowrap}.position-row__ticker a{color:var(--color-text);font-weight:600;text-decoration:none}.position-row__ticker a:hover{color:var(--color-accent);text-decoration:underline}.position-row__actions{gap:var(--space-2);display:flex}.position-row__action{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer}.position-row__action:hover{border-color:var(--color-accent)}.position-row__action--danger:hover{border-color:var(--color-negative);color:var(--color-negative)}.position-create{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm)}.position-create__heading{font-size:var(--font-size-base);margin-bottom:var(--space-4);font-weight:600}.position-create__fields{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.position-create__field{gap:var(--space-1);flex-direction:column;display:flex}.form-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-input);min-width:0}.form-input--ticker,.form-input--shares,.form-input--avg-cost{width:120px}.position-create__submit{padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-size-sm);cursor:pointer;border:none;font-weight:600;transition:opacity .12s}.position-create__submit:hover{opacity:.88}.position-create__submit:disabled{opacity:.6;cursor:default}.position-create__cancel{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer}.position-create__cancel:hover{border-color:var(--color-negative);color:var(--color-negative)}@media (width<=640px){.position-page__header{flex-wrap:wrap}.position-create__fields{flex-direction:column;align-items:stretch}.position-create__field,.form-input--ticker,.form-input--shares,.form-input--avg-cost,.position-create__submit,.position-create__cancel{width:100%}.position-totals{gap:var(--space-3);flex-direction:column}}.position-analysis__run-button{padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:opacity .12s}.position-analysis__run-button:hover:not(:disabled){opacity:.9}.position-analysis__run-button:disabled{opacity:.6;cursor:default}.position-analysis{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);gap:var(--space-3);flex-direction:column;display:flex}.position-analysis__meta{align-items:center;gap:var(--space-3);display:flex}.position-analysis__badge{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);border-radius:999px;font-weight:600;display:inline-block}.position-analysis__badge--ai{background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent);border:1px solid var(--color-accent)}.position-analysis__badge--rules{background:color-mix(in srgb, var(--color-text-muted) 12%, transparent);color:var(--color-text-muted);border:1px solid var(--color-text-muted)}.position-analysis__timestamp{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-mono)}.equity-curve{gap:var(--space-2);flex-direction:column;display:flex}.equity-curve__legend{gap:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.equity-curve__legend-item{align-items:center;gap:var(--space-1);display:inline-flex}.equity-curve__swatch{border-radius:1px;width:12px;height:2px;display:inline-block}.equity-curve__swatch--book{background:var(--color-accent)}.equity-curve__swatch--benchmark{background:var(--color-text-muted)}.equity-curve__svg{aspect-ratio:400/140;width:100%;height:auto;display:block}.equity-curve__line{stroke-width:1.75px;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.equity-curve__line--book{stroke:var(--color-accent)}.equity-curve__line--benchmark{stroke:var(--color-text-muted);stroke-dasharray:4 3}.equity-curve__meta{justify-content:space-between;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;display:flex}.equity-curve__range{text-align:center;flex:1}.equity-curve__note{color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (width<=640px){.equity-curve__meta{flex-wrap:wrap}.equity-curve__range{text-align:left;order:3;width:100%}}.mock-page{gap:var(--space-4);flex-direction:column;display:flex}.mock-banner{padding:var(--space-2) var(--space-3);border:1px dashed var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:500}.mock-page__header{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.mock-page__heading{font-size:var(--font-size-lg)}.mock-page__actions{gap:var(--space-2);margin-left:auto;display:flex}.state{color:var(--color-text-muted);font-size:var(--font-size-sm)}.mock-action{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;font-weight:500;transition:opacity .12s}.mock-action:hover:not(:disabled){border-color:var(--color-accent)}.mock-action:disabled{opacity:.6;cursor:default}.mock-action--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.mock-action--primary:hover:not(:disabled){opacity:.9;border-color:var(--color-accent)}.mock-action--danger:hover:not(:disabled){border-color:var(--color-negative);color:var(--color-negative)}.mock-run-result{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);gap:var(--space-3);flex-direction:column;display:flex}.mock-run-result__heading{font-size:var(--font-size-base);font-weight:600}.mock-run-result__list{gap:var(--space-2);flex-direction:column;list-style:none;display:flex}.mock-run-result__item{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);flex-wrap:wrap;display:flex}.mock-run-result__ticker{color:var(--color-text);font-weight:600;text-decoration:none}.mock-run-result__ticker:hover{color:var(--color-accent);text-decoration:underline}.mock-run-result__detail{color:var(--color-text-muted)}.mock-side{padding:2px var(--space-2);font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;font-weight:600;display:inline-flex}.mock-side--buy{color:var(--color-positive);background:color-mix(in srgb, var(--color-positive) 12%, transparent)}.mock-side--sell{color:var(--color-negative);background:color-mix(in srgb, var(--color-negative) 12%, transparent)}.mock-status{padding:2px var(--space-2);font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;font-weight:500;display:inline-flex}.mock-status--done{color:var(--color-positive);background:color-mix(in srgb, var(--color-positive) 12%, transparent)}.mock-status--skipped{color:var(--color-text-muted);background:var(--color-bg)}.mock-status--failed{color:var(--color-negative);background:color-mix(in srgb, var(--color-negative) 12%, transparent)}.mock-summary{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.mock-summary__name{font-size:var(--font-size-base);font-weight:600}.mock-summary__row{gap:var(--space-5);flex-wrap:wrap;display:flex}.mock-summary__item{gap:var(--space-1);flex-direction:column;display:flex}.mock-summary__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.mock-summary__value{font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;font-weight:600}.mock-summary__updated{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-mono)}.mock-perf{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.mock-perf__header{align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.mock-perf__heading{font-size:var(--font-size-base);font-weight:600}.mock-perf__since{color:var(--color-text-muted);font-size:var(--font-size-sm);font-family:var(--font-mono)}.mock-perf__stats{gap:var(--space-5);flex-wrap:wrap;display:flex}.mock-perf__stat{gap:var(--space-1);flex-direction:column;min-width:110px;display:flex}.mock-perf__stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.mock-perf__stat-value{font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;font-weight:600}.mock-table-wrap{overflow-x:auto}.mock-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.mock-table th{text-align:left;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:500}.mock-row td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-variant-numeric:tabular-nums;white-space:nowrap}.mock-row__ticker a{color:var(--color-text);font-weight:600;text-decoration:none}.mock-row__ticker a:hover{color:var(--color-accent);text-decoration:underline}.mock-row__reason{white-space:normal;color:var(--color-text-muted);max-width:320px}.mock-manual{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle)}.mock-manual__summary{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.mock-manual__summary:hover{color:var(--color-accent)}.mock-manual__forms{gap:var(--space-5);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.mock-manual__form{gap:var(--space-2);flex-direction:column;min-width:220px;display:flex}.mock-manual__heading{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.mock-manual__fields{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.mock-manual__checkbox{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);white-space:nowrap;display:flex}.mock-ledger{gap:var(--space-3);flex-direction:column;display:flex}.mock-ledger__heading{font-size:var(--font-size-base);font-weight:600}@media (width<=640px){.mock-page__header{flex-wrap:wrap}.mock-page__actions{width:100%;margin-left:0}.mock-action{flex:1}.mock-summary__row,.mock-perf__stats,.mock-manual__forms{gap:var(--space-3);flex-direction:column}.mock-manual__form{min-width:0}.mock-manual__fields{flex-direction:column;align-items:stretch}.form-input{width:100%}}.chart-overlay-left{top:var(--space-2);left:var(--space-2);z-index:10;align-items:flex-start;gap:var(--space-1);max-width:calc(100% - var(--space-4));flex-direction:column;display:flex;position:absolute}.chart-legend{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-sm);font-family:var(--font-mono);pointer-events:none;opacity:.92;white-space:nowrap;flex-wrap:wrap;display:none}.chart-legend__date{color:var(--color-text-muted)}.chart-legend__ohlc{color:var(--color-text)}.chart-legend__chg--pos{color:var(--color-positive)}.chart-legend__chg--neg{color:var(--color-negative)}.chart-legend__vol{color:var(--color-text-muted)}.chart-armed,.chart-armed *,.chart-measuring,.chart-measuring *{cursor:crosshair!important}.chart-toolbar{align-items:flex-start;gap:var(--space-1);flex-direction:column;display:flex}.chart-measure-btn{min-width:44px;min-height:44px;padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;opacity:.92;border-radius:999px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.chart-measure-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.chart-measure-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.chart-measure-readout{justify-content:flex-start;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-sm);font-family:var(--font-mono);pointer-events:none;opacity:.92;white-space:nowrap;flex-wrap:wrap;display:none}.chart-loading-older{padding:var(--space-1) var(--space-2);background:var(--color-bg);border:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text-muted);pointer-events:none;opacity:.88;border-radius:999px}.price-alert-editor{gap:var(--space-2);padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;min-width:200px;display:flex}.price-alert-editor--popover{z-index:20;position:absolute}.price-alert-editor--inline{background:var(--color-bg-subtle);flex-flow:wrap;align-items:center;min-width:0}.price-alert-editor__row{align-items:center;gap:var(--space-2);display:flex}.price-alert-editor__label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.price-alert-editor__input{width:100px;padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-input);font-variant-numeric:tabular-nums;font-family:inherit}.price-alert-editor__input:focus{border-color:var(--color-accent);outline:none}.price-alert-editor__direction{gap:var(--space-1);display:flex}.price-alert-editor__dir-btn{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;transition:color .12s,border-color .12s,background .12s}.price-alert-editor__dir-btn:hover{color:var(--color-text)}.price-alert-editor__dir-btn--above{background:color-mix(in srgb, var(--color-positive) 15%, transparent);border-color:var(--color-positive);color:var(--color-positive)}.price-alert-editor__dir-btn--below{background:color-mix(in srgb, var(--color-negative) 15%, transparent);border-color:var(--color-negative);color:var(--color-negative)}.price-alert-editor__error{font-size:var(--font-size-sm);color:var(--color-negative);margin:0}.price-alert-editor__actions{gap:var(--space-2);justify-content:flex-end;display:flex}.price-alert-editor--inline .price-alert-editor__actions{margin-left:auto}.price-alert-editor__cancel,.price-alert-editor__save{padding:var(--space-1) var(--space-3);border-radius:var(--radius);font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:opacity .12s,border-color .12s}.price-alert-editor__cancel{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted)}.price-alert-editor__cancel:hover{color:var(--color-text);border-color:var(--color-text-muted)}.price-alert-editor__save{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.price-alert-editor__save:hover{opacity:.9}.price-alert-editor__save:disabled{opacity:.5;cursor:default}.congress-panel__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.congress-panel__row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);grid-template-columns:1fr auto auto auto;display:grid}.congress-panel__row:last-child{border-bottom:none}.congress-panel__politician{color:var(--color-text);flex-direction:column;font-weight:500;display:flex}.congress-panel__politician-link{color:inherit;font-weight:inherit;text-decoration:none}.congress-panel__politician-link:hover{color:var(--color-accent);text-decoration:underline}.congress-panel__chamber{color:var(--color-text-muted);font-weight:400;font-size:var(--font-size-sm)}.congress-panel__type{white-space:nowrap;font-weight:500}.congress-panel__type--positive{color:var(--color-positive)}.congress-panel__type--negative{color:var(--color-negative)}.congress-panel__type--neutral{color:var(--color-text-muted)}.congress-panel__date,.congress-panel__amount{color:var(--color-text-muted);white-space:nowrap}.congress-panel__footnote{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.insider-panel__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.insider-panel__row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);grid-template-columns:1fr auto auto auto auto;display:grid}.insider-panel__row:last-child{border-bottom:none}.insider-panel__name{color:var(--color-text);font-weight:500}.insider-panel__name--link{align-items:center;gap:var(--space-2);min-height:44px;color:var(--color-text);text-decoration:none;display:inline-flex}.insider-panel__name--link:hover,.insider-panel__name--link:focus-visible{color:var(--color-accent);text-decoration:underline}.insider-panel__edgar-badge{color:var(--color-text-muted);white-space:nowrap;font-size:11px;font-weight:500}.insider-panel__type{white-space:nowrap;font-weight:500}.insider-panel__type--positive{color:var(--color-positive)}.insider-panel__type--negative{color:var(--color-negative)}.insider-panel__type--neutral{color:var(--color-text-muted)}.insider-panel__shares,.insider-panel__value,.insider-panel__date{color:var(--color-text-muted);white-space:nowrap}.insider-panel__footnote{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}.tracked-by-panel__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tracked-by-panel__row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);grid-template-columns:1fr auto auto auto;display:grid}.tracked-by-panel__row:last-child{border-bottom:none}.tracked-by-panel__name{color:var(--color-text);font-weight:500;text-decoration:none}.tracked-by-panel__name:hover{text-decoration:underline}.tracked-by-panel__value,.tracked-by-panel__shares{color:var(--color-text-muted);white-space:nowrap}.tracked-by-panel__badge{padding:2px var(--space-2);font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;justify-self:end;font-weight:500;display:inline-flex}.tracked-by-panel__badge--new{color:var(--color-positive);background:color-mix(in srgb, var(--color-positive) 12%, transparent)}.tracked-by-panel__badge--increased{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.tracked-by-panel__badge--reduced{color:var(--color-text-muted);background:var(--color-bg-subtle)}.tracked-by-panel__badge--exited{color:var(--color-negative);background:color-mix(in srgb, var(--color-negative) 12%, transparent)}.tracked-by-panel__badge--neutral{color:var(--color-text-muted);background:var(--color-bg-subtle)}.tracked-by-panel__footnote{margin-top:var(--space-3);color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (width<=640px){.tracked-by-panel__row{row-gap:var(--space-1);grid-template-columns:1fr auto}.tracked-by-panel__shares{grid-column:1/-1}}.dividend-hint{margin-top:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic}.track-record{gap:var(--space-3);max-width:80ch;padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-direction:column;display:flex}.track-record__header{align-items:center;gap:var(--space-3);display:flex}.track-record__heading{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0;font-weight:600}.track-record__hit-rate{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--color-text-muted);margin-left:auto}.track-record__list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.track-record__row{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);flex-direction:column;display:flex}.track-record__row-head{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.track-record__verdict{font-size:var(--font-size-xs,.75rem);padding:2px var(--space-2)}.track-record__confidence,.track-record__date,.track-record__price{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-mono)}.track-record__price{margin-left:auto}.track-record__horizons{gap:var(--space-3);flex-wrap:wrap;display:flex}.track-record__horizon{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);font-family:var(--font-mono);display:flex}.track-record__horizon-label{color:var(--color-text-muted)}.track-record__horizon-value--positive{color:var(--color-positive)}.track-record__horizon-value--negative{color:var(--color-negative)}.track-record__horizon-value--neutral{color:var(--color-text)}.track-record__horizon--pending .track-record__horizon-value{color:var(--color-text-muted);font-style:italic}.track-record__mark--correct{color:var(--color-positive)}.track-record__mark--incorrect{color:var(--color-negative)}.track-record__unavailable{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;font-style:italic}.company{gap:var(--space-5);flex-direction:column;display:flex}.company__back{color:var(--color-text-muted);font-size:var(--font-size-sm);align-self:flex-start}.company__back:hover{color:var(--color-accent)}.company__header{align-items:center;gap:var(--space-4);display:flex}.company__logo{border-radius:var(--radius);object-fit:contain;background:var(--color-bg-subtle);width:44px;height:44px}.company__id{gap:var(--space-1);flex-direction:column;display:flex}.company__name{font-size:var(--font-size-xl)}.company__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);font-family:var(--font-mono)}.company__header-right{align-items:center;gap:var(--space-4);margin-left:auto;display:flex}.company__quote{align-items:flex-end;gap:var(--space-1);flex-direction:column;display:flex}.company__price{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;font-weight:600}.company__change{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.company__change--positive{color:var(--color-positive)}.company__change--negative{color:var(--color-negative)}.company__change--neutral{color:var(--color-text-muted)}.alert-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;font-weight:500;transition:color .12s,border-color .12s;display:inline-flex}.alert-btn__label--short{display:none}.alert-btn:hover{color:var(--color-text);border-color:var(--color-accent)}.alert-btn--confirmed,.alert-btn--confirmed:hover{color:var(--color-positive);border-color:var(--color-positive)}.alert-btn:disabled{opacity:.6;cursor:default}.price-alert-arm-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.price-alert-arm-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.price-alert-arm-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.price-alert-hint{font-size:var(--font-size-sm);color:var(--color-accent);white-space:nowrap;font-style:italic}.price-alert-type-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;font-weight:500;transition:color .12s,border-color .12s,background .12s}.price-alert-type-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.price-alert-type-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.price-alert-list{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.price-alert-item{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg-subtle);font-size:var(--font-size-sm);border-radius:999px;display:inline-flex}.price-alert-item__dir--above{color:var(--color-positive)}.price-alert-item__dir--below{color:var(--color-negative)}.price-alert-item__label{color:var(--color-text);font-variant-numeric:tabular-nums}.price-alert-item__delete{padding:0 var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;line-height:1;transition:color .12s}.price-alert-item__delete:hover{color:var(--color-negative)}.company__controls{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.company__ranges{gap:var(--space-1);display:flex}.chart-controls-right{align-items:center;gap:var(--space-3);margin-left:auto;display:flex}.chart-type-toggle{gap:var(--space-1);margin-left:auto;display:flex}.ma-toggle{gap:var(--space-1);display:flex}.chart-type-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;font-weight:500;transition:color .12s,border-color .12s}.chart-type-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.chart-type-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.company__chart{border:1px solid var(--color-border);border-radius:var(--radius);min-height:380px;padding:var(--space-3);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm)}.tabs{gap:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.tab{padding:var(--space-2) var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500;transition:color .12s,border-color .12s}.tab:hover{color:var(--color-text)}.tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.tab-panel{gap:var(--space-5);flex-direction:column;display:flex}.company-about{gap:var(--space-2);flex-direction:column;display:flex}.company-about__title{font-size:var(--font-size-lg);margin:0;font-weight:600}.company-about__text{color:var(--color-text);max-width:70ch;margin:0;line-height:1.6}.company-about__empty{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0}.company-about__skeleton{gap:var(--space-2);flex-direction:column;max-width:70ch;display:flex}.news-list{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.news-card{gap:var(--space-4);padding:var(--space-3);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .12s,border-color .12s;display:flex}.news-card:hover{border-color:var(--color-text-muted);transform:translateY(-1px)}.news-card__image{object-fit:cover;border-radius:var(--radius);background:var(--color-bg);flex-shrink:0;width:96px;height:96px}.news-card__body{gap:var(--space-1);flex-direction:column;min-width:0;display:flex}.news-card__headline{color:var(--color-text);font-weight:600;text-decoration:none}.news-card__headline:hover{color:var(--color-accent);text-decoration:underline}.news-card__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.news-card__summary{font-size:var(--font-size-sm);color:var(--color-text-muted);-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;margin:0;display:-webkit-box;overflow:hidden}.company__details{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;display:grid}.detail-panel{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-4);box-shadow:var(--shadow-sm);gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.detail-panel__header{justify-content:space-between;align-items:baseline;display:flex}.detail-panel__title{font-size:var(--font-size-base);margin:0;font-weight:600}.detail-panel__period{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--color-text-muted)}.keystat-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.keystat-tile{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.keystat-tile__value{font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;font-weight:600;line-height:1.2}.keystat-tile__label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600}.keystat-tile--good{border-color:var(--color-positive)}.keystat-tile--good .keystat-tile__value{color:var(--color-positive)}.keystat-tile--weak{border-color:var(--color-negative)}.keystat-tile--weak .keystat-tile__value{color:var(--color-negative)}.keystat-legend{gap:var(--space-3);margin-bottom:var(--space-1);flex-wrap:wrap;display:flex}.keystat-legend__item{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.keystat-legend__dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.keystat-legend__dot--good{background:var(--color-positive)}.keystat-legend__dot--neutral{background:var(--color-text-muted)}.keystat-legend__dot--weak{background:var(--color-negative)}.keystat-legend__hint{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.keystat-breakdown{margin-bottom:var(--space-3)}.keystat-breakdown__summary{cursor:pointer;font-size:var(--font-size-sm);color:var(--color-text-muted);-webkit-user-select:none;user-select:none;font-weight:600}.keystat-breakdown__summary:hover{color:var(--color-text)}.keystat-breakdown__list{margin:var(--space-2) 0 0;padding:var(--space-3);gap:var(--space-1);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-direction:column;list-style:none;display:flex}.keystat-breakdown__list strong{color:var(--color-text)}.detail-panel-skeleton__grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.ratings-consensus-row{align-items:center;gap:var(--space-3);display:flex}.ratings-consensus{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);border-radius:999px;font-weight:600;display:inline-block}.ratings-total{font-size:var(--font-size-sm);color:var(--color-text-muted)}.ratings-bar{border-radius:var(--radius);display:block;overflow:hidden}.ratings-legend{gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.ratings-legend__item{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);display:flex}.ratings-legend__dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.ratings-legend__name{color:var(--color-text)}.ratings-legend__count{color:var(--color-text-muted)}.ratings-legend__pct{color:var(--color-text-muted);font-family:var(--font-mono)}.ratings-source{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.earn-chart{display:block;overflow:visible}.earn-legend{gap:var(--space-4);display:flex}.earn-legend__item{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.earn-legend__swatch{flex-shrink:0;display:inline-block}.earn-legend__swatch--bar{background:var(--color-text-muted);border-radius:2px;width:10px;height:10px}.earn-legend__swatch--line{background:var(--color-text);width:16px;height:2px}.fin-chart{display:block;overflow:visible}.fin-legend{gap:var(--space-4);justify-content:flex-end;display:flex}.fin-legend__item{align-items:center;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.fin-legend__swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px;display:inline-block}.fin-legend__swatch--rev{background:var(--color-accent)}.fin-legend__swatch--ni{background:var(--color-positive)}.fin-period-toggle{gap:var(--space-1);width:fit-content;padding:var(--space-1);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius);grid-column:1/-1;display:inline-flex}.fin-period-toggle__btn{color:var(--color-text-muted);font-size:var(--font-size-sm);padding:var(--space-1) var(--space-3);border-radius:calc(var(--radius) - 2px);cursor:pointer;background:0 0;border:none;font-weight:600}.fin-period-toggle__btn:hover{color:var(--color-text)}.fin-period-toggle__btn--active{background:var(--color-bg);color:var(--color-text);box-shadow:var(--shadow-sm)}.fin-trend{gap:var(--space-4);flex-direction:column;display:flex}.fin-trend__row{gap:var(--space-2);flex-direction:column;display:flex}.fin-trend__label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.fin-trend__bars{gap:var(--space-1);flex-direction:column;display:flex}.fin-trend__bar-row{align-items:center;gap:var(--space-2);grid-template-columns:44px 1fr 76px;display:grid}.fin-trend__year{font-size:var(--font-size-sm);font-family:var(--font-mono);color:var(--color-text-muted)}.fin-trend__track{background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;height:8px;display:block;overflow:hidden}.fin-trend__fill{background:var(--color-accent);border-radius:999px;height:100%;transition:width .2s;display:block}.fin-trend__fill--negative{background:var(--color-negative)}.fin-trend__value{font-size:var(--font-size-sm);font-family:var(--font-mono);text-align:right;font-variant-numeric:tabular-nums}.fin-empty{gap:var(--space-2);padding:var(--space-4) 0;flex-direction:column;display:flex}.fin-empty__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);max-width:60ch}.fin-empty__skeleton{gap:var(--space-2);flex-direction:column;display:flex}.ai-analysis{gap:var(--space-4);flex-direction:column;max-width:100ch;display:flex}.ai-analysis__toolbar{align-items:center;gap:var(--space-3);max-width:100ch;display:flex}.ai-analysis__version-picker{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.ai-analysis__version-picker select{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm)}.ai-analysis__empty{align-items:flex-start;gap:var(--space-3);flex-direction:column;display:flex}.ai-analysis__generate{padding:var(--space-2) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:opacity .12s}.ai-analysis__generate:hover{opacity:.9}.ai-analysis__verdict-row{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.ai-analysis__verdict{padding:var(--space-1) var(--space-4);font-size:var(--font-size-lg);letter-spacing:.04em;border-radius:999px;font-weight:700;display:inline-block}.ai-analysis__verdict--buy{background:color-mix(in srgb, var(--color-positive) 15%, transparent);color:var(--color-positive);border:1px solid var(--color-positive)}.ai-analysis__verdict--hold{background:color-mix(in srgb, var(--color-text-muted) 12%, transparent);color:var(--color-text-muted);border:1px solid var(--color-text-muted)}.ai-analysis__verdict--sell{background:color-mix(in srgb, var(--color-negative) 15%, transparent);color:var(--color-negative);border:1px solid var(--color-negative)}.ai-analysis__confidence{font-size:var(--font-size-sm);color:var(--color-text-muted);font-family:var(--font-mono)}.ai-analysis__conviction{font-size:var(--font-size-sm);padding:var(--space-1) var(--space-2);border-radius:var(--radius);font-weight:600;font-family:var(--font-mono);color:var(--color-text-muted);background:var(--color-bg-subtle);border:1px solid var(--color-border)}.ai-analysis__conviction--high{color:var(--color-accent);border-color:var(--color-accent)}.ai-analysis__verdict-row .ai-analysis__meta{margin-left:auto}.ai-analysis__verdict-card{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);flex-direction:column;display:flex}.ai-analysis>.detail-panel,.ai-analysis>.ai-analysis__verdict-card{max-width:70ch}.ai-analysis__mind-change{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.ai-analysis__mind-change strong{color:var(--color-text)}.ai-analysis__bull-bear{align-items:stretch;gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.ai-analysis__footer{gap:var(--space-3);padding:var(--space-4) var(--space-4) 0;border-top:1px solid var(--color-border);flex-direction:column;display:flex}.ai-analysis__list-section{gap:var(--space-2);flex-direction:column;display:flex}.ai-analysis__list-title{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0;font-weight:600}.ai-analysis__list{padding-left:var(--space-5);gap:var(--space-1);flex-direction:column;margin:0;display:flex}.ai-analysis__list li{font-size:var(--font-size-sm);color:var(--color-text);line-height:1.5}.ai-analysis__disclaimer{font-size:var(--font-size-xs,.75rem);color:var(--color-text-muted);margin:0;font-style:italic}.ai-analysis__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);font-family:var(--font-mono)}.ai-analysis__regenerate{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;margin-left:auto;transition:border-color .12s}.ai-analysis__regenerate:hover:not(:disabled){border-color:var(--color-accent)}.ai-analysis__regenerate:disabled{opacity:.6;cursor:not-allowed}.markdown{gap:var(--space-3);flex-direction:column;display:flex}.markdown__paragraph{color:var(--color-text);margin:0;line-height:1.6}.markdown__heading{color:var(--color-text);margin:0;font-weight:600}h3.markdown__heading{font-size:var(--font-size-base)}h4.markdown__heading{font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}h5.markdown__heading{font-size:var(--font-size-sm);color:var(--color-text-muted)}.markdown__list{padding-left:var(--space-5);gap:var(--space-1);flex-direction:column;margin:0;list-style:outside;display:flex}.markdown__list--ordered{list-style:decimal}.markdown__list li{font-size:var(--font-size-sm);color:var(--color-text);line-height:1.5}.markdown__hr{border:none;border-top:1px solid var(--color-border);margin:0}.markdown__blockquote{padding:var(--space-2) var(--space-4);border-left:3px solid var(--color-accent);background:var(--color-bg-subtle);border-radius:0 var(--radius) var(--radius) 0;gap:var(--space-2);color:var(--color-text-muted);flex-direction:column;margin:0;display:flex}.markdown__blockquote .markdown__paragraph{color:inherit}.markdown__table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);min-width:0;overflow-x:auto}.markdown__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm);white-space:nowrap}.markdown__table th,.markdown__table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border);white-space:normal}.markdown__table th{background:var(--color-bg-subtle);color:var(--color-text-muted);white-space:nowrap;font-weight:600}.markdown__table tr:last-child td{border-bottom:none}.markdown__inline-code{background:var(--color-bg-subtle);border:1px solid var(--color-border);color:var(--color-text);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9em}.markdown__pre{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);margin:0;overflow-x:auto}.markdown__code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-size-sm);color:var(--color-text);white-space:pre;line-height:1.5}.fair-value{gap:var(--space-5);flex-direction:column;display:flex}.fv-meter{gap:var(--space-3);flex-direction:column;display:flex}.fv-meter__track{background:var(--color-border);height:8px;margin:var(--space-6) var(--space-2) var(--space-2);border-radius:999px;position:relative}.fv-meter__span{background:color-mix(in srgb, var(--color-accent) 22%, transparent);border-radius:999px;position:absolute;top:0;bottom:0}.fv-meter__tick{border-radius:2px;width:2px;height:22px;position:absolute;top:50%;transform:translate(-50%,-50%)}.fv-meter__tick--blended{background:var(--color-accent);width:3px;height:26px}.fv-meter__tick--buy{background:var(--color-positive);width:3px;height:26px}.fv-meter__pin{z-index:2;flex-direction:column;align-items:center;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.fv-meter__pin-stem{background:var(--color-text-muted);border-radius:2px;width:2px;height:30px}.fv-meter__pin-flag{white-space:nowrap;border-radius:var(--radius);background:var(--color-bg);border:1px solid var(--color-border);color:var(--color-text);padding:2px 6px;font-size:11px;font-weight:600;position:absolute;bottom:calc(50% + 19px);left:50%;transform:translate(-50%)}.fv-meter__pin--positive .fv-meter__pin-stem{background:var(--color-positive)}.fv-meter__pin--positive .fv-meter__pin-flag{color:var(--color-positive);border-color:var(--color-positive)}.fv-meter__pin--negative .fv-meter__pin-stem{background:var(--color-negative)}.fv-meter__pin--negative .fv-meter__pin-flag{color:var(--color-negative);border-color:var(--color-negative)}.fv-meter__pin-beyond{opacity:.8;font-weight:500}.fv-meter__legend{gap:var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);flex-wrap:wrap;display:flex}.fv-meter__legend-item{align-items:center;gap:var(--space-1);display:flex}.fv-meter__swatch{border-radius:2px;flex-shrink:0;width:10px;height:10px;display:inline-block}.fv-meter__swatch--range{background:color-mix(in srgb, var(--color-accent) 22%, transparent);border:1px solid var(--color-accent)}.fv-meter__swatch--blended{background:var(--color-accent)}.fv-meter__swatch--price{background:var(--color-text)}.fv-meter__swatch--price-positive{background:var(--color-positive)}.fv-meter__swatch--price-negative{background:var(--color-negative)}.fv-meter__swatch--buy{background:var(--color-positive)}.fv-margin-note{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.fv-recalc-bar{justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);display:flex}.fv-recalc-btn{padding:var(--space-1) var(--space-3);border-radius:var(--radius);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:border-color .12s,color .12s,opacity .12s}.fv-recalc-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.fv-recalc-btn:disabled{opacity:.6;cursor:default}.fv-blend-note{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted)}.fv-table-scroll{overflow-x:auto}.fv-table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.fv-table th{text-align:left;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border);white-space:nowrap;font-size:11px;font-weight:600}.fv-table td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);vertical-align:top}.fv-table__row:last-child td{border-bottom:none}.fv-table__value{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.fv-table__upside{font-variant-numeric:tabular-nums;white-space:nowrap}.fv-table__upside--positive{color:var(--color-positive)}.fv-table__upside--negative{color:var(--color-negative)}.fv-method-details summary{cursor:pointer;color:var(--color-text);font-weight:600}.fv-method-details summary:hover{color:var(--color-accent)}.fv-weight-badge{margin-left:var(--space-2);padding:1px var(--space-2);color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 14%, transparent);white-space:nowrap;border-radius:999px;font-size:11px;font-weight:600}.fv-weight-badge--inactive{color:var(--color-text-muted);background:var(--color-bg-subtle)}.fv-method-details__methodology{font-size:var(--font-size-sm);color:var(--color-text);margin:0}.fv-method-details__body{margin-top:var(--space-2);padding:var(--space-3);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);gap:var(--space-2);flex-direction:column;min-width:220px;display:flex}.fv-method-details__formula{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text);margin:0}.fv-method-details__inputs{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin:0;display:grid}.fv-method-details__input{flex-direction:column;gap:2px;display:flex}.fv-method-details__input dt{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:11px}.fv-method-details__input dd{font-variant-numeric:tabular-nums;margin:0;font-weight:500}.fv-method-details__caveat{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0;font-style:italic}.fv-hidden-note{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.fv-tier2-hint{margin-top:var(--space-3);padding:var(--space-3);background:var(--color-bg-subtle);border:1px dashed var(--color-border);border-radius:var(--radius)}.fv-tier2-hint__title{margin:0 0 var(--space-1);font-weight:600;font-size:var(--font-size-sm)}.fv-tier2-hint__body{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.fv-footnote{font-size:var(--font-size-sm);color:var(--color-text-muted);text-align:center;margin:0}@media (width<=640px){.fv-table{font-size:12px}.fv-table th,.fv-table td{padding:var(--space-2)}.fv-meter__legend{gap:var(--space-2) var(--space-3)}.fv-recalc-bar{flex-wrap:wrap}.company{gap:var(--space-4)}.company__header{flex-wrap:wrap}.company__header-right{order:3;width:100%;margin-left:0}.company__quote{align-items:flex-start}.alert-btn__label--full{display:none}.alert-btn__label--short{display:inline}.company__controls{flex-wrap:wrap}.chart-controls-right{flex-wrap:wrap;width:100%;margin-left:0}.chart-type-toggle{order:2;width:100%;margin-left:0}.company__details{grid-template-columns:1fr}.news-card{flex-direction:column}.news-card__image{width:100%;height:160px}.ai-analysis__verdict-row{align-items:flex-start}.ai-analysis__verdict-row .ai-analysis__meta{flex-basis:100%;margin-left:0}}@media (width<=768px){.tabs{-webkit-overflow-scrolling:touch;gap:var(--space-3);scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tab{white-space:nowrap;flex-shrink:0}}.index-detail{gap:var(--space-5);flex-direction:column;display:flex}.index-detail__header{align-items:center;gap:var(--space-4);display:flex}.index-detail__id{gap:var(--space-1);flex-direction:column;display:flex}.index-detail__name{font-size:var(--font-size-xl)}.index-detail__meta{color:var(--color-text-muted);font-size:var(--font-size-sm);font-family:var(--font-mono)}.index-detail__quote{align-items:flex-end;gap:var(--space-1);flex-direction:column;margin-left:auto;display:flex}.index-detail__price{font-size:var(--font-size-xl);font-variant-numeric:tabular-nums;font-weight:600}.index-detail__change{padding:var(--space-1) var(--space-3);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;border-radius:999px;font-weight:500;display:inline-block}.index-detail__change--positive{color:var(--color-positive);background:color-mix(in srgb, var(--color-positive) 14%, transparent)}.index-detail__change--negative{color:var(--color-negative);background:color-mix(in srgb, var(--color-negative) 14%, transparent)}.index-detail__change--neutral{color:var(--color-text-muted);background:color-mix(in srgb, var(--color-text-muted) 14%, transparent)}.index-detail__controls{align-items:center;gap:var(--space-4);flex-wrap:wrap;display:flex}.index-detail__ranges{gap:var(--space-1);display:flex}.range-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;font-weight:500;transition:color .12s,border-color .12s}.range-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.range-btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.index-detail__chart{border:1px solid var(--color-border);border-radius:var(--radius);min-height:380px;padding:var(--space-3);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm)}.index-detail__stats{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin:0;display:grid}.index-detail__stats .stat{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3);gap:var(--space-1);flex-direction:column;display:flex}.stat{gap:var(--space-1);flex-direction:column;display:flex}.stat__label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.stat__value{font-weight:600;font-size:var(--font-size-lg);font-variant-numeric:tabular-nums;margin:0}.index-detail__constituents{gap:var(--space-3);flex-direction:column;display:flex}.index-detail__constituents-header{justify-content:space-between;align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.index-detail__constituents-title{font-size:var(--font-size-lg);margin:0}.index-detail__constituents-breadth{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.index-detail__constituents-breadth--positive{color:var(--color-positive);font-weight:600}.index-detail__constituents-breadth--negative{color:var(--color-negative);font-weight:600}.index-detail__constituents-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);overflow-x:auto}.index-detail__constituents-table{border-collapse:collapse;width:100%;min-width:420px}.index-detail__constituents-table th{text-align:left;padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.index-detail__constituents-sort-btn{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;padding:0;display:inline-flex}.index-detail__constituents-sort-btn:hover{color:var(--color-text)}.index-detail__constituents-row td{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.index-detail__constituents-row:last-child td{border-bottom:none}.index-detail__constituents-symbol{color:var(--color-text);font-weight:600;text-decoration:none}.index-detail__constituents-symbol:hover{text-decoration:underline}.index-detail__constituents-name{color:var(--color-text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.index-detail__constituents-price{font-variant-numeric:tabular-nums;white-space:nowrap}.index-detail__constituents-change{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.index-detail__constituents-change--positive{color:var(--color-positive)}.index-detail__constituents-change--negative{color:var(--color-negative)}.index-detail__constituents-change--neutral{color:var(--color-text-muted)}.edit-tags-modal__actions{gap:var(--space-2);justify-content:flex-end;display:flex}.edit-tags-modal__cancel,.edit-tags-modal__save{padding:var(--space-1) var(--space-3);border-radius:var(--radius);font-size:var(--font-size-sm);cursor:pointer;font-weight:500}.edit-tags-modal__cancel{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted)}.edit-tags-modal__cancel:hover{color:var(--color-text);border-color:var(--color-text-muted)}.edit-tags-modal__save{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.edit-tags-modal__save:hover{opacity:.9}.edit-tags-modal__save:disabled{opacity:.5;cursor:default}.watchlist-settings{gap:var(--space-4);flex-direction:column;display:flex}.watchlist-settings__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.watchlist-settings__options{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.watchlist-settings__option{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);cursor:pointer;display:flex}.watchlist-settings__option--locked{opacity:.6;cursor:default}.watchlist-settings__actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.watchlist-settings__cancel,.watchlist-settings__save{padding:var(--space-1) var(--space-3);border-radius:var(--radius);font-size:var(--font-size-sm);cursor:pointer;font-weight:500}.watchlist-settings__cancel{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted)}.watchlist-settings__cancel:hover{color:var(--color-text);border-color:var(--color-text-muted)}.watchlist-settings__save{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.watchlist-settings__save:hover{opacity:.9}.watchlist-settings__save:disabled{opacity:.5;cursor:default}.watchlist{gap:var(--space-4);flex-direction:column;display:flex}.watchlist__header{align-items:baseline;gap:var(--space-3);display:flex}.watchlist__heading{font-size:var(--font-size-lg)}.watchlist__count{color:var(--color-text-muted);font-size:var(--font-size-sm)}.watchlist__header-actions{gap:var(--space-2);margin-left:auto;display:flex}.watchlist__toggle-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:border-color .15s,box-shadow .15s}.watchlist__toggle-btn:hover{border-color:var(--color-accent);box-shadow:var(--shadow-sm)}.watchlist__toggle-btn[aria-pressed=true]{background:color-mix(in srgb, var(--color-accent) 15%, transparent);border-color:var(--color-accent);color:var(--color-accent)}.watchlist__controls{gap:var(--space-3);flex-direction:column;display:flex}.watchlist__search{width:100%;max-width:360px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--font-size-sm)}.watchlist__search:focus{border-color:var(--color-accent);outline:none}.watchlist__tag-filter{gap:var(--space-2);flex-wrap:wrap;display:flex}.watchlist__tag-chip{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;transition:color .12s,border-color .12s,background .12s}.watchlist__tag-chip:hover{color:var(--color-text)}.watchlist__tag-chip--active{background:color-mix(in srgb, var(--color-accent) 15%, transparent);border-color:var(--color-accent);color:var(--color-accent)}.watchlist__state{color:var(--color-text-muted);padding:var(--space-4) 0}.watchlist__state--error{color:var(--color-negative)}.watchlist__skeleton{gap:var(--space-2);flex-direction:column;display:flex}.watchlist__table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);overflow-x:auto}.watchlist__table{border-collapse:collapse;width:100%;min-width:640px}.watchlist__table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.watchlist__th-sort{font:inherit;font-weight:inherit;color:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;display:inline-flex}.watchlist__th-sort:hover{color:var(--color-text)}.watchlist__th-sort:disabled{cursor:default}.watchlist__th-sort--active{color:var(--color-accent)}.watchlist__sort-indicator{font-size:.7em}.watchlist-row{transition:background-color .3s}.watchlist-row td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);vertical-align:middle}.watchlist-row:last-child td{border-bottom:none}.watchlist-row__company{min-width:180px}.watchlist-row__link{color:inherit;flex-direction:column;gap:2px;text-decoration:none;display:flex}.watchlist-row__link:hover .watchlist-row__ticker{text-decoration:underline}.watchlist-row__ticker{color:var(--color-text);font-weight:600}.watchlist-row__name{font-size:var(--font-size-sm);color:var(--color-text-muted)}.watchlist-row__price{font-variant-numeric:tabular-nums;white-space:nowrap}.watchlist-row__change{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:500}.watchlist-row__change--positive{color:var(--color-positive)}.watchlist-row__change--negative{color:var(--color-negative)}.watchlist-row__change--neutral{color:var(--color-text-muted)}.watchlist-row__spark{line-height:0}.watchlist-row__tags{min-width:160px}.watchlist-row__chips{gap:var(--space-1);flex-wrap:wrap;display:flex}.watchlist-row__chip{padding:2px var(--space-2);background:color-mix(in srgb, var(--color-accent) 15%, transparent);color:var(--color-accent);font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;font-weight:500;display:inline-flex}.watchlist-row__no-tags{color:var(--color-text-muted);font-size:var(--font-size-sm)}.watchlist-row__actions{gap:var(--space-2);white-space:nowrap;display:flex}.watchlist-row__action{padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;background:0 0;transition:color .12s,border-color .12s}.watchlist-row__action:hover{color:var(--color-text);border-color:var(--color-text-muted)}.watchlist-row__action--danger:hover{color:var(--color-negative);border-color:var(--color-negative)}.watchlist-row__action:disabled{opacity:.5;cursor:default}.watchlist__cards{gap:var(--space-3);flex-direction:column;display:flex}.watchlist-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);background:var(--color-bg-subtle);gap:var(--space-2);flex-direction:column;display:flex}.watchlist-card__row{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.watchlist-card__row--head{align-items:flex-start}.watchlist-card__link{color:inherit;flex-direction:column;gap:2px;min-width:0;text-decoration:none;display:flex}.watchlist-card__link:hover .watchlist-card__ticker{text-decoration:underline}.watchlist-card__ticker{color:var(--color-text);font-weight:600}.watchlist-card__name{font-size:var(--font-size-sm);color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.watchlist-card__price{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}.watchlist-card__changes{gap:var(--space-3);flex-wrap:wrap;display:flex}.watchlist-card__change-item{flex-direction:column;gap:2px;display:flex}.watchlist-card__label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.watchlist-card__value{font-variant-numeric:tabular-nums;font-weight:600}.watchlist-card__tags{justify-content:flex-start}.watchlist-card__actions{gap:var(--space-2);margin-top:var(--space-1);display:flex}.watchlist-card__actions .watchlist-row__action{text-align:center;padding:var(--space-2) var(--space-3);flex:1}@media (width<=768px){.watchlist__header{flex-wrap:wrap}.watchlist__header-actions{justify-content:flex-start;width:100%}.watchlist__search{max-width:100%}}.calendar-month__nav{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.calendar-month__heading{font-size:var(--font-size-lg);font-weight:600}.calendar-month__nav-buttons{align-items:center;gap:var(--space-1);display:flex}.calendar-month__nav-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;font-weight:500;transition:color .12s,border-color .12s}.calendar-month__nav-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.calendar-month__nav-btn--today{font-weight:600}.calendar-month__grid{background:var(--color-border);border:1px solid var(--color-border);border-radius:var(--radius);grid-template-columns:repeat(7,1fr);gap:1px;display:grid;overflow:hidden}.calendar-month__weekday{padding:var(--space-2) var(--space-2);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;font-weight:600}.day-cell{min-height:88px;padding:var(--space-2);background:var(--color-bg);gap:var(--space-1);cursor:pointer;flex-direction:column;transition:background .12s;display:flex}.day-cell:hover,.day-cell--muted{background:var(--color-bg-subtle)}.day-cell--muted .day-cell__number{color:var(--color-text-muted);opacity:.6}.day-cell--today .day-cell__number{min-width:22px;height:22px;padding:0 var(--space-1);background:var(--color-accent);color:var(--color-accent-contrast);border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.day-cell--selected{box-shadow:inset 0 0 0 2px var(--color-accent)}.day-cell__number{font-size:var(--font-size-sm);color:var(--color-text);align-self:flex-start}.day-cell__events{flex-direction:column;gap:2px;display:flex}.day-cell__chip{align-items:center;gap:var(--space-1);padding:1px var(--space-1);font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap;border-radius:4px;display:flex;overflow:hidden}.day-cell__chip:hover{background:var(--color-border)}.day-cell__dot{border-radius:50%;flex:none;width:6px;height:6px}.day-cell__chip--earnings .day-cell__dot{background:var(--color-accent)}.day-cell__chip--dividend .day-cell__dot{background:var(--color-positive)}.day-cell__chip--custom .day-cell__dot{background:var(--color-star)}.day-cell__chip--other .day-cell__dot{background:var(--color-text-muted)}.day-cell__chip--filing_8k .day-cell__dot{background:var(--color-ma-50)}.day-cell__chip-label{text-overflow:ellipsis;overflow:hidden}.day-cell__more{font-size:var(--font-size-sm);color:var(--color-text-muted);padding:0 var(--space-1)}@media (width<=720px){.day-cell{min-height:64px}.day-cell__chip-label{display:none}}@media (width<=375px){.calendar-month__grid{gap:0}.calendar-month__weekday,.day-cell{padding:var(--space-2) var(--space-1)}.day-cell{min-height:56px}}.calendar-filters{align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.calendar-filters__group{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.calendar-filters__label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.calendar-filters__pills{gap:var(--space-1);flex-wrap:wrap;display:flex}.calendar-filter-pill{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;opacity:.5;border-radius:999px;font-weight:500;transition:opacity .12s,border-color .12s,color .12s;display:inline-flex}.calendar-filter-pill:hover{opacity:.85;border-color:var(--color-text-muted)}.calendar-filter-pill--active{opacity:1;color:var(--color-text);border-color:var(--color-text-muted)}.calendar-filter-pill__dot{border-radius:50%;flex:none;width:6px;height:6px}.calendar-filter-pill--earnings .calendar-filter-pill__dot{background:var(--color-accent)}.calendar-filter-pill--dividend .calendar-filter-pill__dot{background:var(--color-positive)}.calendar-filter-pill--custom .calendar-filter-pill__dot{background:var(--color-star)}.calendar-filter-pill--other .calendar-filter-pill__dot{background:var(--color-text-muted)}.calendar-filter-pill--filing_8k .calendar-filter-pill__dot{background:var(--color-ma-50)}.calendar-filters__reset{padding:var(--space-1) var(--space-2);color:var(--color-accent);font-size:var(--font-size-sm);cursor:pointer;background:0 0;border:none;font-weight:500;text-decoration:underline}.calendar-filters__reset:hover{opacity:.8}.calendar-page{padding:var(--space-5);max-width:var(--max-width)}.calendar-page__top{justify-content:space-between;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.calendar-page__heading{font-size:var(--font-size-xl)}.calendar-view-toggle{gap:var(--space-1);display:flex}.calendar-view-toggle__btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;font-weight:500;transition:color .12s,border-color .12s}.calendar-view-toggle__btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.calendar-view-toggle__btn--active{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-contrast)}.calendar-page__grid-layout{gap:var(--space-5);margin-bottom:var(--space-6);grid-template-columns:minmax(0,2fr) minmax(260px,1fr);align-items:start;display:grid}.calendar-page__day-detail{margin-bottom:0}@media (width<=768px){.calendar-page__grid-layout{grid-template-columns:1fr}}.calendar-section{margin-bottom:var(--space-6)}.calendar-section__heading{font-size:var(--font-size-lg);margin-bottom:var(--space-4);color:var(--color-text-muted);font-weight:500}.alerts-page{padding:var(--space-5);max-width:var(--max-width);gap:var(--space-6);flex-direction:column;display:flex}.alerts-page__heading{font-size:var(--font-size-xl);margin-bottom:var(--space-1)}.alerts-section__heading{font-size:var(--font-size-lg);margin-bottom:var(--space-4);color:var(--color-text);font-weight:600}.notif-list{gap:var(--space-2);flex-direction:column;display:flex}.notif-item{align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);display:flex}.notif-item--unread{border-left:3px solid var(--color-accent);background:var(--color-bg)}.notif-item__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.notif-item__message{font-size:var(--font-size-base);color:var(--color-text)}.notif-item--unread .notif-item__message{font-weight:500}.notif-item__meta{font-size:var(--font-size-sm);color:var(--color-text-muted)}.notif-item__action{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;flex-shrink:0}.notif-item__action:hover{color:var(--color-accent);border-color:var(--color-accent)}.notif-item__action:disabled{opacity:.6;cursor:default}.alert-rules-list{gap:var(--space-2);margin-bottom:var(--space-5);flex-direction:column;display:flex}.alert-rule-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);display:flex}.alert-rule-row--inactive{opacity:.55}.alert-rule-row__info{align-items:center;gap:var(--space-4);flex-wrap:wrap;flex:1;min-width:0;display:flex}.alert-rule__ticker{font-weight:600;font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text)}.alert-rule__type,.alert-rule__lead{font-size:var(--font-size-sm);color:var(--color-text-muted)}.alert-rule-row__controls{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.alert-toggle{appearance:none;background:var(--color-border);cursor:pointer;border:none;border-radius:999px;width:36px;height:20px;transition:background .15s;position:relative}.alert-toggle:after{content:"";background:var(--color-bg);border-radius:50%;width:14px;height:14px;transition:left .15s;position:absolute;top:3px;left:3px}.alert-toggle:checked{background:var(--color-accent)}.alert-toggle:checked:after{left:19px}.alert-toggle:disabled{opacity:.5;cursor:default}.alert-delete-btn{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer}.alert-delete-btn:hover{color:var(--color-negative);border-color:var(--color-negative)}.alert-delete-btn:disabled{opacity:.6;cursor:default}@media (width<=640px){.alert-rule-row{flex-wrap:wrap}.alert-rule-row__controls{justify-content:flex-end;width:100%}.alert-toggle{width:44px;height:24px}.alert-toggle:after{width:18px;height:18px}.alert-toggle:checked:after{left:23px}}.alert-create{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm)}.alert-create__heading{font-size:var(--font-size-base);margin-bottom:var(--space-4);font-weight:600}.alert-create__fields{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.alert-create__field{gap:var(--space-1);flex-direction:column;display:flex}.form-input,.form-select{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-input);min-width:0}.form-input:focus,.form-select:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.form-input--ticker{width:160px}.form-input--lead{width:80px}.form-select--type{width:140px}.alert-create__submit{padding:var(--space-2) var(--space-4);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-size-sm);cursor:pointer;border:none;font-weight:600;transition:opacity .12s}.alert-create__submit:hover{opacity:.88}.alert-create__submit:disabled{opacity:.6;cursor:default}@media (width<=640px){.alert-create__fields{flex-direction:column;align-items:stretch}.alert-create__field,.form-input--ticker,.form-input--lead,.form-select--type,.alert-create__submit{width:100%}}.congress{gap:var(--space-4);flex-direction:column;display:flex}.congress__header{align-items:baseline;gap:var(--space-3);display:flex}.congress__heading{font-size:var(--font-size-lg)}.congress__count{color:var(--color-text-muted);font-size:var(--font-size-sm)}.congress__controls{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.congress__search{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font:inherit;font-size:var(--font-size-sm);min-width:180px}.congress__search:focus{border-color:var(--color-accent);outline:none}.congress__apply{padding:var(--space-2) var(--space-4);border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-size-sm);cursor:pointer;font-weight:500}.congress__chamber-toggle{gap:var(--space-2);margin-left:auto;display:flex}.congress__chamber-chip{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;border-radius:999px;transition:color .12s,border-color .12s,background .12s}.congress__chamber-chip--active{background:color-mix(in srgb, var(--color-accent) 15%, transparent);border-color:var(--color-accent);color:var(--color-accent)}.congress__skeleton{gap:var(--space-2);flex-direction:column;display:flex}.congress__state{color:var(--color-text-muted);padding:var(--space-4)}.congress__state--error{color:var(--color-negative)}.congress__table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);overflow-x:auto}.congress__table{border-collapse:collapse;width:100%;min-width:680px}.congress__table th{text-align:left;padding:var(--space-3) var(--space-4);font-size:var(--font-size-sm);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.congress-row td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);vertical-align:top}.congress-row:last-child td{border-bottom:none}.congress-row__politician{color:var(--color-text);font-weight:500;text-decoration:none;display:inline-block}.congress-row__politician:hover{color:var(--color-accent);text-decoration:underline}.congress-row__meta{color:var(--color-text-muted);font-size:var(--font-size-sm)}.congress-row__ticker{color:var(--color-accent);font-weight:600;text-decoration:none}.congress-row__ticker:hover{text-decoration:underline}.congress-row__asset{color:var(--color-text-muted);font-size:var(--font-size-sm);max-width:260px}.congress-type{padding:2px var(--space-2);font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;font-weight:500;display:inline-flex}.congress-type--positive{color:var(--color-positive);background:color-mix(in srgb, var(--color-positive) 12%, transparent)}.congress-type--negative{color:var(--color-negative);background:color-mix(in srgb, var(--color-negative) 12%, transparent)}.congress-type--neutral{color:var(--color-text-muted);background:var(--color-bg-subtle)}.congress__pagination{align-items:center;gap:var(--space-3);display:flex}.congress__pagination-label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.congress__load-more{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .12s}.congress__load-more:hover{border-color:var(--color-accent)}.congress__load-more:disabled{opacity:.6;cursor:default}.congress__footnote{color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (width<=640px){.congress__search{width:100%;min-width:0}.congress__chamber-toggle{margin-left:0}}.politician-profile{gap:var(--space-5);flex-direction:column;display:flex}.politician-profile__back{color:var(--color-accent);font-size:var(--font-size-sm);align-self:flex-start;text-decoration:none}.politician-profile__back:hover{text-decoration:underline}.politician-profile__header-skeleton{gap:var(--space-3);flex-direction:column;display:flex}.politician-profile__state{color:var(--color-text-muted);padding:var(--space-3) 0}.politician-profile__state--error{color:var(--color-negative)}.politician-profile__footnote{color:var(--color-text-muted);font-size:var(--font-size-sm)}.politician-profile__header{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);flex-direction:column;display:flex}.politician-profile__title-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.politician-profile__name{font-size:var(--font-size-xl)}.politician-profile__badge{padding:2px var(--space-2);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);border-radius:999px}.politician-profile__chamber{color:var(--color-text-muted);font-size:var(--font-size-sm)}.politician-profile__stats{gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.politician-profile__stat{font-size:var(--font-size-sm);flex-direction:column;gap:2px;display:flex}.politician-profile__stat-label{color:var(--color-text-muted)}.politician-profile__stat-value{font-variant-numeric:tabular-nums;font-weight:600}.politician-profile__bars{gap:var(--space-3);flex-direction:column;display:flex}.politician-profile__bar-row{gap:var(--space-1);flex-direction:column;display:flex}.politician-profile__bar-label{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.politician-profile__bar-ticker{color:var(--color-accent);font-weight:600;text-decoration:none}.politician-profile__bar-ticker:hover{text-decoration:underline}.politician-profile__bar-value{color:var(--color-text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-shrink:0}.politician-profile__bar-track{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:999px;height:8px;display:block;overflow:hidden}.politician-profile__bar-fill{background:var(--color-accent);border-radius:999px;height:100%;transition:width .2s;display:block}.politician-profile__skeleton{gap:var(--space-2);flex-direction:column;display:flex}.politician-profile__table-wrap{overflow-x:auto}.politician-profile__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.politician-profile__table th,.politician-profile__table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.politician-profile__table th{color:var(--color-text-muted);font-weight:500}.politician-profile__ticker{color:var(--color-accent);font-weight:600;text-decoration:none}.politician-profile__ticker:hover{text-decoration:underline}.politician-profile__asset{color:var(--color-text-muted);font-size:var(--font-size-sm);white-space:normal;max-width:260px}.politician-profile__pagination{align-items:center;gap:var(--space-3);margin-top:var(--space-3);display:flex}.politician-profile__pagination-label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.politician-profile__load-more{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);color:var(--color-text);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .12s}.politician-profile__load-more:hover{border-color:var(--color-accent)}.politician-profile__load-more:disabled{opacity:.6;cursor:default}@media (width<=900px){.politician-profile__stats{grid-template-columns:1fr}}.investors{gap:var(--space-4);flex-direction:column;display:flex}.investors__header{align-items:baseline;gap:var(--space-3);display:flex}.investors__heading{font-size:var(--font-size-lg)}.investors__count{color:var(--color-text-muted);font-size:var(--font-size-sm)}.investors__state{color:var(--color-text-muted);padding:var(--space-4)}.investors__state--error{color:var(--color-negative)}.investors__last-updated{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:calc(var(--space-3) * -1) 0 0}.investors__search{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);flex-direction:column;display:flex}.investors__search-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:600}.investors__search-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-base)}.investors__search-results{gap:var(--space-2);flex-direction:column;display:flex}.investors__search-row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);display:flex}.investors__search-name{flex:1;font-weight:500}.investors__search-cik{color:var(--color-text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.investors__search-add{padding:var(--space-1) var(--space-3);border:1px solid var(--color-accent);border-radius:var(--radius);color:var(--color-accent);font-size:var(--font-size-sm);cursor:pointer;background:0 0;font-weight:600;transition:background .15s,color .15s}.investors__search-add:hover:not(:disabled){background:var(--color-accent);color:var(--color-bg)}.investors__search-add:disabled{opacity:.6;cursor:default}.investors__grid{gap:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));display:grid}.investor-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);flex-direction:column;text-decoration:none;transition:border-color .15s,transform .15s;display:flex}.investor-card:hover{border-color:var(--color-accent);transform:translateY(-1px)}.investor-card__top{flex-direction:column;gap:2px;display:flex}.investor-card__name{font-size:var(--font-size-base);font-weight:600}.investor-card__founder{color:var(--color-text-muted);font-size:var(--font-size-sm)}.investor-card__tags{gap:var(--space-2);flex-wrap:wrap;display:flex}.investor-card__strategy{padding:2px var(--space-2);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);border-radius:999px;align-self:flex-start}.investor-card__source-badge{padding:2px var(--space-2);background:var(--color-bg-subtle);color:var(--color-accent);font-size:var(--font-size-sm);border-radius:999px;align-self:flex-start}.investor-card__stats{gap:var(--space-2);border-top:1px solid var(--color-border);padding-top:var(--space-3);flex-direction:column;display:flex}.investor-card__stat{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.investor-card__stat-label{color:var(--color-text-muted)}.investor-card__stat-value{font-variant-numeric:tabular-nums;font-weight:500}.investors__footnote{color:var(--color-text-muted);font-size:var(--font-size-sm)}@media (width<=900px){.investors__grid{grid-template-columns:1fr}}.allocation-donut{align-items:center;gap:var(--space-5);flex-wrap:wrap;display:flex}.allocation-donut__chart{flex-shrink:0;width:180px;height:180px;position:relative}.allocation-donut__chart svg{width:100%;height:100%}.allocation-donut__arc{cursor:pointer;transition:opacity .12s}.allocation-donut__arc:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.allocation-donut:has(.allocation-donut__arc--active) .allocation-donut__arc:not(.allocation-donut__arc--active){opacity:.35}.allocation-donut__center{pointer-events:none;padding:var(--space-3);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex;position:absolute;inset:0}.allocation-donut__center-value{font-size:var(--font-size-lg);font-weight:600}.allocation-donut__center-label{color:var(--color-text-muted);font-size:var(--font-size-sm);text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.allocation-donut__legend{gap:var(--space-2);flex-direction:column;flex:1;min-width:220px;margin:0;padding:0;list-style:none;display:flex}.allocation-donut__legend-item{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-2);border-radius:var(--radius);font-size:var(--font-size-sm);transition:background .12s;display:flex}.allocation-donut__legend-item--active{background:var(--color-bg-subtle)}.allocation-donut__swatch{border-radius:999px;flex-shrink:0;width:10px;height:10px}.allocation-donut__legend-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.allocation-donut__legend-value{color:var(--color-text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}@media (width<=640px){.allocation-donut{flex-direction:column;align-items:stretch}.allocation-donut__chart{align-self:center}.allocation-donut__legend{min-width:0}}.money-flow{gap:var(--space-2);flex-direction:column;display:flex}.money-flow__row{align-items:center;gap:var(--space-3);font-size:var(--font-size-sm);grid-template-columns:minmax(90px,1fr) minmax(120px,2fr) auto;display:grid}.money-flow__issuer{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.money-flow__track{align-items:center;height:14px;display:flex}.money-flow__half{flex:1;align-items:center;min-width:0;height:100%;display:flex}.money-flow__half--negative{justify-content:flex-end}.money-flow__half--positive{justify-content:flex-start}.money-flow__center{background:var(--color-border);flex-shrink:0;width:1px;height:100%}.money-flow__bar{max-width:100%;height:10px;display:block}.money-flow__bar--negative{background:var(--color-negative);border-radius:4px 0 0 4px}.money-flow__bar--positive{background:var(--color-positive);border-radius:0 4px 4px 0}.money-flow__value{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.money-flow__value--positive{color:var(--color-positive)}.money-flow__value--negative{color:var(--color-negative)}@media (width<=640px){.money-flow__row{gap:var(--space-2);grid-template-columns:minmax(70px,1fr) minmax(90px,1.4fr) auto}}.investor-profile{gap:var(--space-5);flex-direction:column;display:flex}.investor-profile__back{color:var(--color-accent);font-size:var(--font-size-sm);align-self:flex-start;text-decoration:none}.investor-profile__back:hover{text-decoration:underline}.investor-profile__header-skeleton{gap:var(--space-3);flex-direction:column;display:flex}.investor-profile__state{color:var(--color-text-muted);padding:var(--space-3) 0}.investor-profile__state--error{color:var(--color-negative)}.investor-profile__footnote{color:var(--color-text-muted);font-size:var(--font-size-sm)}.investor-profile__header{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);flex-direction:column;display:flex}.investor-profile__title-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.investor-profile__name{font-size:var(--font-size-xl)}.investor-profile__strategy{padding:2px var(--space-2);background:var(--color-bg-subtle);color:var(--color-text-muted);font-size:var(--font-size-sm);border-radius:999px}.investor-profile__founder{color:var(--color-text-muted);font-size:var(--font-size-sm)}.investor-profile__follow-btn{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;font-weight:500;transition:color .12s,border-color .12s;display:inline-flex}.investor-profile__follow-btn:hover{color:var(--color-text);border-color:var(--color-accent)}.investor-profile__follow-btn--on,.investor-profile__follow-btn--on:hover{color:var(--color-positive);border-color:var(--color-positive)}.investor-profile__follow-btn:disabled{opacity:.6;cursor:default}.investor-profile__stats{gap:var(--space-3);border-top:1px solid var(--color-border);padding-top:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.investor-profile__stat{font-size:var(--font-size-sm);flex-direction:column;gap:2px;display:flex}.investor-profile__stat-label{color:var(--color-text-muted)}.investor-profile__stat-value{font-variant-numeric:tabular-nums;font-weight:600}.investor-profile__stat-hint{color:var(--color-text-muted);font-weight:400}.investor-profile__quarter-select{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.investor-profile__quarter-select label{color:var(--color-text-muted)}.investor-profile__quarter-select select{padding:var(--space-1) var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm)}.investor-profile__bars{gap:var(--space-3);flex-direction:column;display:flex}.investor-profile__bar-row{gap:var(--space-1);flex-direction:column;display:flex}.investor-profile__bar-label{justify-content:space-between;align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm);display:flex}.investor-profile__bar-issuer{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.investor-profile__bar-value{color:var(--color-text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-shrink:0}.investor-profile__bar-track{background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:999px;height:8px;display:block;overflow:hidden}.investor-profile__bar-fill{background:var(--color-accent);border-radius:999px;height:100%;transition:width .2s;display:block}.investor-profile__trend{gap:var(--space-2);flex-direction:column;display:flex}.investor-profile__trend-row{align-items:center;gap:var(--space-3);grid-template-columns:100px 1fr 100px;display:grid}.investor-profile__trend-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.investor-profile__trend-value{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--font-size-sm)}.investor-profile__feed{gap:var(--space-2);flex-direction:column;display:flex}.investor-profile__feed-row{align-items:center;gap:var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);grid-template-columns:auto 1fr auto auto;display:grid}.investor-profile__feed-row:last-child{border-bottom:none}.investor-profile__feed-issuer{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.investor-profile__feed-value{color:var(--color-text-muted);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap}.investor-profile__feed-percent{font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}.investor-profile__badge{padding:2px var(--space-2);font-size:var(--font-size-sm);white-space:nowrap;border-radius:999px;font-weight:500;display:inline-flex}.investor-profile__badge--new{color:var(--color-positive);background:color-mix(in srgb, var(--color-positive) 12%, transparent)}.investor-profile__badge--increased{color:var(--color-accent);background:color-mix(in srgb, var(--color-accent) 12%, transparent)}.investor-profile__badge--reduced{color:var(--color-text-muted);background:var(--color-bg-subtle)}.investor-profile__badge--exited{color:var(--color-negative);background:color-mix(in srgb, var(--color-negative) 12%, transparent)}.investor-profile__badge--neutral{color:var(--color-text-muted);background:var(--color-bg-subtle)}.investor-profile__filter-row{gap:var(--space-2);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.investor-profile__filter{width:100%;max-width:320px;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-sm)}.investor-profile__filter--narrow{max-width:160px}.investor-profile__table-wrap{overflow-x:auto}.investor-profile__table{border-collapse:collapse;width:100%;font-size:var(--font-size-sm)}.investor-profile__table th,.investor-profile__table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--color-border);white-space:nowrap}.investor-profile__table th{color:var(--color-text-muted);font-weight:500}.investor-profile__num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.investor-profile__muted{color:var(--color-text-muted)}.investor-profile__th-sort{color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-weight:500;display:inline-flex}.investor-profile__th-sort--active{color:var(--color-accent)}.investor-profile__sort-indicator{font-size:.7em}@media (width<=900px){.investor-profile__stats{grid-template-columns:1fr}}@media (width<=480px){.investor-profile__filter,.investor-profile__filter--narrow{max-width:none}}.dashboard-settings{gap:var(--space-4);flex-direction:column;display:flex}.dashboard-settings__section+.dashboard-settings__section{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.dashboard-settings__heading{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;margin-bottom:var(--space-2);font-weight:600}.dashboard-settings__hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2)}.dashboard-settings__empty{font-size:var(--font-size-sm);color:var(--color-text-muted)}.dashboard-settings__options{gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.dashboard-settings__option{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);cursor:pointer;display:flex}.dashboard-settings__actions{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--color-border);justify-content:flex-end;display:flex}.dashboard-settings__cancel,.dashboard-settings__save{padding:var(--space-1) var(--space-3);border-radius:var(--radius);font-size:var(--font-size-sm);cursor:pointer;font-weight:500}.dashboard-settings__cancel{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text-muted)}.dashboard-settings__cancel:hover{color:var(--color-text);border-color:var(--color-text-muted)}.dashboard-settings__save{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.dashboard-settings__save:hover{opacity:.9}.dashboard-settings__save:disabled{opacity:.5;cursor:default}.settings-page{padding:var(--space-5);max-width:var(--max-width);gap:var(--space-5);flex-direction:column;display:flex}.settings-page__heading{font-size:var(--font-size-xl);margin-bottom:var(--space-1)}.settings-card{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);gap:var(--space-3);flex-direction:column;max-width:480px;display:flex}@media (width<=480px){.settings-card{padding:20px}}.settings-card__heading{font-size:var(--font-size-lg);color:var(--color-text);font-weight:600}.settings-card__description{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.settings-status-row{align-items:center;gap:var(--space-2);display:flex}.settings-status-dot{background:var(--color-text-muted);border-radius:50%;flex-shrink:0;width:8px;height:8px}.settings-status-dot--on{background:var(--color-positive)}.settings-status-text{font-size:var(--font-size-sm);color:var(--color-text)}.settings-status-text--muted{color:var(--color-text-muted)}.settings-status-text code{font-family:var(--font-mono);font-size:.92em}.settings-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.settings-form--stacked{flex-direction:column;align-items:stretch}.settings-form__field{gap:var(--space-1);flex-direction:column;flex:1;min-width:180px;display:flex}.settings-form__actions{gap:var(--space-2);display:flex}@media (width<=640px){.settings-form{flex-direction:column;align-items:stretch}.settings-form__field{min-width:0}.settings-form__actions{flex-direction:column}.settings-form__actions .settings-btn{width:100%}}.form-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-input);width:100%;min-width:0}.settings-btn{padding:var(--space-2) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;font-weight:500}.settings-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.settings-btn:disabled{opacity:.55;cursor:default}.settings-btn--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.settings-btn--primary:hover{opacity:.9;color:var(--color-accent-contrast);border-color:var(--color-accent)}.settings-radio-group{gap:var(--space-2);flex-direction:column;display:flex}.settings-radio{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;display:flex}.settings-radio:has(input:checked){border-color:var(--color-accent);background:var(--color-bg)}.settings-radio input{accent-color:var(--color-accent)}.settings-radio__label{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500;font-family:var(--font-mono)}.settings-radio__preview{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums;margin-left:auto}@media (width<=640px){.settings-radio{align-items:flex-start;gap:var(--space-3);flex-direction:column}.settings-radio__preview{margin-left:0}}.settings-feedback{font-size:var(--font-size-sm);margin:0}.settings-feedback--success{color:var(--color-positive)}.settings-feedback--error{color:var(--color-negative)}.settings-test{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--color-border);flex-direction:column;align-items:flex-start;display:flex}.settings-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);padding-top:var(--space-2);border-top:1px solid var(--color-border);margin:0}.settings-hint code{font-family:var(--font-mono);font-size:.92em}.sessions-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.sessions-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);display:flex}.sessions-row__info{flex-direction:column;gap:2px;min-width:0;display:flex}@media (width<=640px){.sessions-row{flex-direction:column;align-items:stretch}.sessions-row__info,.sessions-row .settings-btn{width:100%}}.sessions-row__title{align-items:center;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text);font-weight:500;display:flex}.sessions-row__meta{font-size:var(--font-size-xs,.75rem);color:var(--color-text-muted)}.sessions-badge{padding:1px var(--space-2);background:var(--color-accent);color:var(--color-accent-contrast);font-size:var(--font-size-xs,.75rem);white-space:nowrap;border-radius:999px;font-weight:600}.admin-knowledge-filters{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.admin-knowledge-filters .admin-form__field{flex:1;min-width:160px}.admin-knowledge__content{text-overflow:ellipsis;white-space:nowrap;max-width:360px;color:var(--color-text-muted);overflow:hidden}.admin-knowledge__sources{font-size:var(--font-size-xs,.75rem);color:var(--color-text-muted);white-space:nowrap}.admin-feedback--success{color:var(--color-positive)}.admin-page{padding:var(--space-5);max-width:var(--max-width);gap:var(--space-5);flex-direction:column;display:flex}.admin-page__heading{font-size:var(--font-size-xl);margin-bottom:var(--space-1)}.state{color:var(--color-text-muted);padding:var(--space-4) 0}.state--error{color:var(--color-negative)}.security-signal{align-items:center;gap:var(--space-2);min-height:var(--tap-target-min);padding:var(--space-3) var(--space-4);border-radius:var(--radius);border:1px solid var(--color-border);font-size:var(--font-size-sm);display:flex}.security-signal--ok{color:var(--color-text-muted);background:var(--color-bg-subtle)}.security-signal--alert{color:var(--color-negative);background:color-mix(in srgb, var(--color-negative) 10%, transparent);border-color:var(--color-negative);font-weight:500}.security-signal__icon{flex-shrink:0}.admin-tabs{gap:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.admin-tab{padding:var(--space-2) var(--space-1);color:var(--color-text-muted);font-size:var(--font-size-base);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;font-weight:500;transition:color .12s,border-color .12s}.admin-tab:hover{color:var(--color-text)}.admin-tab--active{color:var(--color-accent);border-bottom-color:var(--color-accent)}.admin-tab-panel{gap:var(--space-5);flex-direction:column;display:flex}.admin-card{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);box-shadow:var(--shadow-sm);gap:var(--space-3);flex-direction:column;display:flex}.admin-card--wide{max-width:none}.admin-card__header{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.admin-card__heading{font-size:var(--font-size-lg);color:var(--color-text);font-weight:600}.admin-card__subtext{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:calc(var(--space-3) * -1) 0 0}.admin-stat-row{gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-stat-tile{min-width:120px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);text-align:center;flex:1}.admin-stat-tile__value{font-size:var(--font-size-xl);color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:700}.admin-stat-tile__label{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:2px}@media (width<=640px){.admin-stat-row{flex-direction:column}.admin-stat-tile{width:100%;min-width:auto}}.admin-recent-logins{padding-top:var(--space-2);border-top:1px solid var(--color-border)}.admin-recent-logins__heading{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-2);font-weight:600}.admin-recent-logins__list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-recent-logins__row{align-items:baseline;gap:var(--space-3);font-size:var(--font-size-sm);padding:var(--space-1) 0;display:flex}.admin-recent-logins__name{color:var(--color-text);font-weight:500}.admin-recent-logins__email{color:var(--color-text-muted);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.admin-recent-logins__time{color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.admin-table-wrap{border:1px solid var(--color-border);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:780px}.admin-table th{text-align:left;padding:var(--space-3) var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-muted);border-bottom:1px solid var(--color-border);white-space:nowrap;font-weight:600}.admin-row td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-text);vertical-align:middle}.admin-row:last-child td{border-bottom:none}.admin-row--expanded td{background:var(--color-bg);border-bottom:1px solid var(--color-border)}.admin-expand-btn{color:var(--color-text-muted);cursor:pointer;font-size:var(--font-size-sm);padding:0 var(--space-1);background:0 0;border:none}.admin-expand-btn:hover{color:var(--color-text)}.admin-badge{padding:1px var(--space-2);font-size:var(--font-size-xs,.75rem);background:var(--color-border);color:var(--color-text-muted);white-space:nowrap;border-radius:999px;font-weight:600;display:inline-flex}.admin-badge--admin{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent)}.admin-badge--active{background:color-mix(in srgb, var(--color-positive) 14%, transparent);color:var(--color-positive)}.admin-badge--disabled{background:color-mix(in srgb, var(--color-negative) 14%, transparent);color:var(--color-negative)}.admin-badge--job-running{background:color-mix(in srgb, var(--color-accent) 16%, transparent);color:var(--color-accent);animation:1.2s ease-in-out infinite admin-job-pulse}@keyframes admin-job-pulse{0%,to{opacity:.6}50%{opacity:1}}.admin-jobs__result{text-overflow:ellipsis;white-space:nowrap;max-width:320px;color:var(--color-text-muted);overflow:hidden}.admin-row-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-jobs__cron-hint{font-size:var(--font-size-xs,.75rem);color:var(--color-text-muted);margin:0}.admin-sessions-panel{padding:var(--space-2) 0}.admin-sessions-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-sessions-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);display:flex}.admin-sessions-row__info{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-sessions-row__title{font-size:var(--font-size-sm);color:var(--color-text);font-weight:500}.admin-sessions-row__meta{font-size:var(--font-size-xs,.75rem);color:var(--color-text-muted)}@media (width<=640px){.admin-sessions-row{flex-direction:column;align-items:stretch}.admin-sessions-row__info,.admin-sessions-row .admin-btn{width:100%}}.admin-log-filters{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.admin-log-filters .admin-form__field{flex:1;min-width:160px}.admin-log-counts{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.admin-log-counts__pill{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);background:var(--color-bg);font-size:var(--font-size-xs,.75rem);border-radius:999px;display:inline-flex}.admin-log-counts__event{color:var(--color-text-muted)}.admin-log-counts__count{color:var(--color-text);font-variant-numeric:tabular-nums;font-weight:700}.admin-pagination{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-pagination__summary{font-size:var(--font-size-sm);color:var(--color-text-muted)}.admin-pagination__controls{gap:var(--space-2);display:flex}@media (width<=640px){.admin-log-filters{flex-direction:column;align-items:stretch}.admin-log-filters .admin-form__field{min-width:auto}}.admin-btn{padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text-muted);font-size:var(--font-size-sm);cursor:pointer;white-space:nowrap;font-weight:500}.admin-btn:hover{color:var(--color-text);border-color:var(--color-text-muted)}.admin-btn:disabled{opacity:.5;cursor:default}.admin-btn--primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-contrast)}.admin-btn--primary:hover{opacity:.9;color:var(--color-accent-contrast);border-color:var(--color-accent)}.admin-btn--danger{border-color:var(--color-negative);color:var(--color-negative)}.admin-btn--danger:hover{background:color-mix(in srgb, var(--color-negative) 10%, transparent);color:var(--color-negative)}.admin-feedback{font-size:var(--font-size-sm);margin:0}.admin-feedback--error{color:var(--color-negative)}.admin-form{gap:var(--space-3);flex-direction:column;display:flex}.admin-form__field{gap:var(--space-1);flex-direction:column;display:flex}.form-label{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500}.form-input{padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);color:var(--color-text);font-size:var(--font-size-input);width:100%}.form-input:focus{outline:2px solid var(--color-accent);outline-offset:-1px}.admin-modal-actions{gap:var(--space-2);justify-content:flex-end;display:flex}.admin-apikeys-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin:0}.admin-apikeys-hint code{font-size:var(--font-size-xs,.75rem);background:var(--color-bg-subtle);border:1px solid var(--color-border);border-radius:4px;padding:1px 4px}.admin-apikeys{gap:var(--space-3);flex-direction:column;display:flex}.admin-apikeys__provider{border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg);padding:var(--space-3) var(--space-4);gap:var(--space-2);flex-direction:column;display:flex}.admin-apikeys__provider-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.admin-apikeys__provider-title{flex-direction:column;gap:2px;min-width:0;display:flex}.admin-apikeys__provider-name{font-size:var(--font-size-sm);color:var(--color-text);font-weight:600}.admin-apikeys__provider-desc{font-size:var(--font-size-xs,.75rem);color:var(--color-text-muted)}.admin-apikeys__provider-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-apikeys__empty{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0}.admin-apikeys__list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-apikeys__row{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-bg-subtle);flex-wrap:wrap;display:flex}.admin-apikeys__masked{font-family:var(--font-mono,monospace);font-size:var(--font-size-sm);color:var(--color-text);white-space:nowrap}.admin-apikeys__label{font-size:var(--font-size-sm);color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:80px;overflow:hidden}.admin-apikeys__usage{font-size:var(--font-size-xs,.75rem);color:var(--color-text-muted);white-space:nowrap}@media (width<=640px){.admin-apikeys__row{flex-direction:column;align-items:flex-start}.admin-apikeys__label{white-space:normal}}
