:root{--bg: #07111f;--bg-soft: #0f1c30;--panel: rgba(16, 28, 49, .78);--panel-strong: rgba(12, 22, 39, .92);--stroke: rgba(255, 255, 255, .1);--text: #edf4ff;--muted: rgba(237, 244, 255, .7);--success: #21d89a;--danger: #ff6b82;--warning: #ffca69;--shadow: 0 18px 52px rgba(0, 0, 0, .28)}html[data-theme=light]{--bg: #eff5ff;--bg-soft: #dfe9ff;--panel: rgba(255, 255, 255, .82);--panel-strong: rgba(255, 255, 255, .94);--stroke: rgba(7, 17, 31, .1);--text: #081220;--muted: rgba(8, 18, 32, .68);--shadow: 0 18px 52px rgba(19, 35, 65, .12)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:radial-gradient(circle at top right,rgba(33,216,154,.14),transparent 28%),radial-gradient(circle at top left,rgba(107,137,255,.16),transparent 30%),linear-gradient(180deg,var(--bg),var(--bg-soft))}button,input{font:inherit}button{cursor:pointer}.appShell{width:min(100%,1180px);margin:0 auto;padding:14px 14px 32px}.glass{background:var(--panel);border:1px solid var(--stroke);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--shadow)}.topbar{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.eyebrow{color:var(--success);font-size:13px;font-weight:800;margin-bottom:8px}.topbar h1{margin:0;font-size:clamp(28px,7vw,54px);line-height:1.02;letter-spacing:-.04em}.lede{margin:10px 0 0;color:var(--muted);line-height:1.55;max-width:720px}.topbarActions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.profileBadge{border:1px solid var(--stroke);background:#ffffff0f;border-radius:999px;padding:10px 12px;color:var(--muted);font-size:12px}.themeBtn{border:1px solid var(--stroke);background:var(--panel-strong);color:var(--text);padding:12px 14px;border-radius:16px}.mainTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;border-radius:22px;padding:8px;margin:0 0 12px}.mainTabs button{border:1px solid transparent;background:transparent;color:var(--muted);border-radius:16px;padding:12px 14px;font-weight:900}.mainTabs button.active{color:#fff;background:linear-gradient(135deg,#6c88ff,var(--success));box-shadow:0 10px 28px #21d89a29}.statusPanel{border-radius:24px;padding:16px;display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.statusPanel__title{font-size:14px;font-weight:800;margin-bottom:6px}.statusPanel__line{color:var(--muted);font-size:14px;margin-top:2px}.storageGrid{display:flex;flex-wrap:wrap;gap:8px}.storageChip{border:1px solid var(--stroke);background:#ffffff0d;padding:10px 12px;border-radius:999px;font-size:12px}.storageChip--ok{color:var(--green);border-color:#26d7a259}.storageChip--warn{color:var(--yellow);border-color:#f5b54661}.layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:12px}.layout--full{grid-template-columns:minmax(0,1fr)}.sidebar,.heroCard,.detailCard,.cardGrid,.emptyState{border-radius:24px}.sidebar{padding:14px;align-self:start;position:sticky;top:10px}.sectionHead h2,.detailCard h3{margin:0;font-size:18px}.sectionHead p{margin:4px 0 0;color:var(--muted);font-size:13px}.addForm{display:grid;grid-template-columns:1fr auto;gap:8px;margin:14px 0}.addForm input{border-radius:16px;border:1px solid var(--stroke);background:#ffffff0f;color:var(--text);padding:12px 14px}.addForm button{border-radius:16px;border:none;background:linear-gradient(135deg,#6c88ff,#21d89a);color:#fff;padding:12px 16px;font-weight:800}.searchStatus{margin:8px 2px 10px;color:var(--muted);font-size:12px}.searchResults{display:flex;flex-direction:column;gap:8px;margin:8px 0 12px}.searchResult{border:1px solid var(--stroke);background:#ffffff0a;color:var(--text);border-radius:16px;padding:10px 12px;text-align:right;display:grid;gap:3px;cursor:pointer}.searchResult__symbol{font-weight:900;letter-spacing:.06em;direction:ltr;justify-self:end}.searchResult__name,.searchResult__meta{color:var(--muted);font-size:12px}.listControls{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 8px}.listControls label{display:grid;gap:6px;color:var(--muted);font-size:12px}.listControls select{border:1px solid var(--stroke);background:#ffffff14;color:var(--text);border-radius:14px;padding:10px 12px;font-family:inherit}.resultCount,.scannerStatus,.emptyInline{color:var(--muted);font-size:12px;margin:8px 2px 12px}.watchList{display:flex;flex-direction:column;gap:10px}.watchList__row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:start}.watchCard{width:100%;text-align:right;border:1px solid var(--stroke);border-radius:22px;padding:14px;background:#ffffff0d;color:var(--text)}.watchCard--active{border-color:#6c88ffbf;box-shadow:0 0 0 1px #6c88ff66 inset}.watchCard__top,.watchCard__middle,.watchCard__bottom,.heroCard__top,.detailRow{display:flex;align-items:center;justify-content:space-between;gap:10px}.watchCard__symbol,.heroCard__symbol{font-size:22px;font-weight:900;direction:ltr}.watchCard__provider,.heroCard__provider,.watchCard__name,.heroCard__name{color:var(--muted);font-size:12px;margin-top:3px}.watchCard__name,.heroCard__name{color:var(--text);opacity:.82;max-width:190px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.heroCard__name{max-width:320px;font-size:15px}.score{min-width:74px;min-height:56px;border-radius:18px;display:grid;place-items:center;gap:1px;font-weight:900;font-size:18px;border:1px solid var(--stroke);padding:7px 8px}.score__label,.score__suffix{font-size:10px;font-weight:700;color:var(--muted);line-height:1}.score strong{line-height:1}.score--success,.pill--success{color:var(--success);border-color:#21d89a52}.score--danger,.pill--danger{color:var(--danger);border-color:#ff6b8252}.score--neutral,.pill--neutral{color:var(--warning);border-color:#ffca6952}.watchCard__price,.heroCard__price{font-size:34px;font-weight:950;direction:ltr}.watchCard__change,.heroCard__change{font-size:15px;font-weight:800}.up{color:var(--success)}.down{color:var(--danger)}.pill{border:1px solid var(--stroke);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:800}.watchCard__risk,.watchCard__stale,.heroCard__meta{color:var(--muted);font-size:12px}.watchCard__stale{margin-top:8px;line-height:1.4}.removeBtn{border:1px solid var(--stroke);background:#ffffff0a;color:var(--muted);width:40px;height:40px;border-radius:14px}.content{display:flex;flex-direction:column;gap:12px;min-width:0}.opportunityPanel,.scannerPanel,.portfolioPanel{padding:18px;border-radius:26px;overflow:visible}.portfolioPanel--full{max-width:100%}.miniGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.miniCard{border:1px solid var(--stroke);background:#ffffff0d;color:var(--text);border-radius:18px;padding:12px;display:grid;gap:5px;text-align:right;cursor:pointer;font-family:inherit}.miniCard__symbol,.scannerRow__symbol{direction:ltr;justify-self:end;font-weight:950;letter-spacing:.06em}.scanBtn,.scannerRow button{border:none;border-radius:14px;background:linear-gradient(135deg,var(--success),#7c5cff);color:#fff;padding:10px 14px;font-weight:800;cursor:pointer;font-family:inherit}.scannerList{display:grid;gap:8px}.scannerControls{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:10px;align-items:end;margin:12px 0}.scannerControls label{display:grid;gap:6px;color:var(--muted);font-size:12px}.scannerControls select,.scannerControls input[type=number]{border:1px solid var(--stroke);background:#ffffff14;color:var(--text);border-radius:14px;padding:10px 12px;font-family:inherit}.scannerControls .checkControl{display:flex;align-items:center;gap:7px;border:1px solid var(--stroke);border-radius:14px;padding:10px 12px;color:var(--text)}.scannerRow{display:grid;grid-template-columns:1.4fr auto auto auto auto;gap:10px;align-items:center;border:1px solid var(--stroke);background:#ffffff0a;border-radius:18px;padding:10px 12px}.scannerRow__meta{color:var(--muted);font-size:12px}.scannerRow__score{font-weight:950;color:var(--success)}.scannerRow__delta{font-weight:900;direction:ltr}.portfolioMetrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.portfolioActions{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;align-items:end;margin-bottom:10px}.portfolioActions label,.sellControls label{display:grid;gap:6px;color:var(--muted);font-size:12px}.portfolioActions input,.sellControls input{border:1px solid var(--stroke);background:#ffffff14;color:var(--text);border-radius:14px;padding:10px 12px;font-family:inherit}.portfolioActions button,.sellControls button{border:none;border-radius:14px;background:linear-gradient(135deg,var(--success),#7c5cff);color:#fff;padding:10px 14px;font-weight:800;cursor:pointer;font-family:inherit}.portfolioActions button:disabled{opacity:.5;cursor:not-allowed}.portfolioStatus{color:var(--muted);font-size:12px;margin:8px 0 12px}.portfolioPositions,.transactionList{display:grid;gap:8px;min-width:0}.portfolioRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(138px,1fr));gap:10px;align-items:stretch;border:1px solid var(--stroke);background:#ffffff0a;border-radius:18px;padding:10px 12px}.portfolioRow span{display:block;color:var(--muted);font-size:11px}.portfolioRow>div{min-width:0}.portfolioRow strong{direction:ltr;overflow-wrap:anywhere}.portfolioSymbol{border:none;background:transparent;color:var(--text);text-align:right;cursor:pointer;font-family:inherit;grid-column:1 / -1;border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:8px}.portfolioSymbol strong{display:block;font-size:16px}.portfolioSymbol span{max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.sellControls{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:6px;min-width:0;grid-column:1 / -1}.sellControls button{width:100%}.transactionsBox{margin-top:16px}.transactionsBox h3{margin-bottom:10px}.transactionRow{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;align-items:center;border-bottom:1px solid rgba(255,255,255,.08);padding:9px 0;color:var(--muted);font-size:12px}.transactionRow strong,.transactionRow span:last-child{color:var(--text)}.heroCard{padding:18px}.heroCard__meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.reasonList{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.reasonPill{border-radius:999px;border:1px solid var(--stroke);background:#ffffff0d;padding:8px 12px;font-size:12px}.chartBox{margin-top:16px;border:1px solid var(--stroke);background:#ffffff0a;border-radius:20px;padding:14px}.chartHead{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.rangeButtons{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.rangeButtons button{border:1px solid var(--stroke);background:#ffffff0d;color:var(--text);border-radius:999px;padding:7px 10px;font-size:12px;cursor:pointer;font-family:inherit}.rangeButtons button.active{background:linear-gradient(135deg,var(--success),#7c5cff);border-color:transparent;color:#fff}.priceChart{width:100%;height:160px;overflow:visible}.priceChart__line{fill:none;stroke:var(--success);stroke-width:3;vector-effect:non-scaling-stroke}.priceChart__area{fill:#26d7a224}.priceChart--down .priceChart__line{stroke:var(--danger)}.priceChart--down .priceChart__area{fill:#ff5b5b1f}.chartEmpty,.chartStatus{color:var(--muted);font-size:12px;padding:10px 0}.alertBox,.historyBox,.dividendBox{margin-top:16px;border:1px solid var(--stroke);background:#ffffff0a;border-radius:20px;padding:14px}.dividendBox h3{margin-bottom:4px}.dividendBox p{color:var(--muted);font-size:12px;margin-bottom:12px}.dividendGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.alertBox{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.alertBox strong,.historyBox h3{display:block;margin-bottom:4px}.alertBox span{color:var(--muted);font-size:12px}.alertControls{display:flex;gap:8px;align-items:center}.alertControls input{width:82px;border:1px solid var(--stroke);background:#ffffff14;color:var(--text);border-radius:14px;padding:10px 12px}.alertControls button{border:none;border-radius:14px;background:linear-gradient(135deg,var(--success),#7c5cff);color:#fff;padding:10px 13px;font-weight:800;cursor:pointer;font-family:inherit}.alertControls .ghostBtn{background:transparent;border:1px solid var(--stroke);color:var(--text)}.historyList{display:grid;gap:7px}.historyRow{display:grid;grid-template-columns:1.2fr auto auto auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.08);color:var(--muted);font-size:12px}.historyRow:last-child{border-bottom:none}.historyRow strong{color:var(--text)}.metricsGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cardGrid{padding:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.metric{border:1px solid var(--stroke);border-radius:20px;padding:14px;background:#ffffff0a}.metric__label{font-size:12px;color:var(--muted)}.metric__value{font-size:26px;font-weight:900;margin-top:8px;direction:ltr}.metric__hint{font-size:12px;color:var(--muted);margin-top:4px}.detailCard{padding:16px}.detailCard h3{margin-bottom:12px}.detailRow{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.08)}.detailRow:last-child{border-bottom:none}.detailRow strong{direction:ltr}.emptyState{padding:24px;text-align:center}.authShell{min-height:100vh;display:grid;place-items:center}.loginCard{width:min(440px,100%);padding:28px;border-radius:28px}.loginCard h1{margin:8px 0 10px;font-size:clamp(28px,8vw,46px)}.loginForm{display:grid;gap:14px;margin-top:22px}.loginForm label{display:grid;gap:8px;color:var(--muted);font-size:13px}.loginForm input{border:1px solid var(--stroke);background:#ffffff14;color:var(--text);border-radius:16px;padding:14px 16px;font-size:16px}.loginForm button{border:none;background:linear-gradient(135deg,var(--success),#7c5cff);color:#fff;border-radius:16px;padding:14px 18px;font-weight:800;cursor:pointer}.loginStatus{color:var(--warning);font-size:13px}@media (max-width: 920px){.layout{grid-template-columns:1fr}.sidebar{position:static}.portfolioActions,.portfolioRow,.transactionRow{grid-template-columns:1fr 1fr}.portfolioSymbol,.sellControls{grid-column:1 / -1}}@media (max-width: 640px){.appShell{padding:10px 10px 28px}.topbar,.statusPanel,.chartHead{flex-direction:column}.rangeButtons{justify-content:flex-start}.themeBtn{width:100%}.metricsGrid,.cardGrid,.dividendGrid,.portfolioMetrics,.miniGrid,.listControls,.scannerControls,.portfolioActions,.portfolioRow,.transactionRow,.sellControls,.scannerRow{grid-template-columns:1fr}.scannerRow,.alertBox,.alertControls{align-items:stretch}.alertControls,.historyRow{grid-template-columns:1fr}.alertControls{display:grid;width:100%}.alertControls input,.scannerRow button{width:100%}.watchCard__price,.heroCard__price{font-size:30px}}.passwordPanel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:10px;align-items:end;border-radius:22px;padding:12px;margin:0 0 12px}.passwordPanel label{display:grid;gap:6px;color:var(--muted);font-size:12px}.passwordPanel input{border-radius:14px;border:1px solid var(--stroke);background:#ffffff0f;color:var(--text);padding:10px 12px}.passwordPanel button{border-radius:14px;border:none;background:linear-gradient(135deg,#6c88ff,#21d89a);color:#fff;padding:11px 14px;font-weight:800}.passwordPanel .loginStatus{grid-column:1 / -1}@media (max-width: 860px){.passwordPanel{grid-template-columns:1fr}}
