body{background:#0f1117;color:#e2e8f0;min-height:100vh;padding-bottom:44px;touch-action:manipulation}html,body{max-width:100%;overflow-x:hidden}.navbar{position:sticky;top:0;z-index:1030;background:#1a1d27 !important;border-bottom:1px solid #2d3148;padding-top:.5rem;padding-bottom:.5rem}.nav-search-wrap{position:relative;flex:1 1 auto;max-width:420px;min-width:0}.nav-search-wrap .nav-search-icon{position:absolute;left:.65rem;top:50%;transform:translateY(-50%);color:#8b93b0;font-size:.8rem;pointer-events:none}.nav-search-wrap .nav-search-input{width:100%;background:#0f1117;border:1px solid #2d3148;border-radius:.4rem;color:#e2e8f0;font-size:.85rem;padding:.3rem .6rem .3rem 2rem;outline:none;transition:border-color .15s}.nav-search-wrap .nav-search-input::placeholder{color:#8b93b0}.nav-search-wrap .nav-search-input:focus{border-color:#6366f1;box-shadow:0 0 0 2px rgba(99,102,241,.25)}.nav-search-wrap .nav-search-input::-webkit-search-cancel-button{cursor:pointer}@media(max-width: 399.98px){.nav-search-wrap{max-width:100%}}.earnings-header-bar{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem;background:#141720;border:1px solid #2d3148;border-radius:.4rem;padding:.45rem .85rem;margin-bottom:.6rem}.earnings-bar-pill{display:inline-flex;align-items:center;gap:.35rem;background:#1e2235;border:1px solid #2d3148;border-radius:5px;padding:3px 9px;font-size:.72rem;color:#e2e8f0;transition:background .1s,border-color .1s;white-space:nowrap}.earnings-bar-pill:hover{background:#252a40;border-color:#3d4165;color:#fff}.earnings-bar-pill .fw-bold{color:#e2e8f0;font-family:"SFMono-Regular",Consolas,monospace;letter-spacing:.04em}.earnings-bar-when{font-size:.6rem;background:#374151;color:#9ca3af;padding:1px 4px;border-radius:3px}.earnings-bar-days{color:#64748b;font-size:.65rem}.nav-search-dropdown{position:fixed !important;z-index:9999;background:#1a1d27;border:1px solid #2d3148;border-radius:.5rem;box-shadow:0 12px 32px rgba(0,0,0,.65),0 2px 8px rgba(0,0,0,.4);overflow:hidden;max-height:440px;overflow-y:auto;min-width:280px;scrollbar-width:thin;scrollbar-color:#2d3148 rgba(0,0,0,0)}.nav-search-dropdown::-webkit-scrollbar{width:5px}.nav-search-dropdown::-webkit-scrollbar-thumb{background:#2d3148;border-radius:4px}.nav-search-dropdown .search-section-header{padding:.4rem .85rem .2rem;font-size:.65rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#8b93b0;background:#141720;border-bottom:1px solid #2d3148}.nav-search-dropdown .search-result-item{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:.5rem;padding:.55rem .85rem;text-decoration:none !important;color:#e2e8f0 !important;border-bottom:1px solid #2d3148;transition:background .1s;cursor:pointer}.nav-search-dropdown .search-result-item:last-child{border-bottom:none}.nav-search-dropdown .search-result-item:hover,.nav-search-dropdown .search-result-item:focus{background:#1e2235;color:#fff !important;outline:none}.nav-search-dropdown .search-result-left{display:flex !important;align-items:center !important;gap:.45rem;flex-shrink:0}.nav-search-dropdown .search-result-right{display:flex !important;flex-direction:column !important;align-items:flex-end !important;gap:.1rem;min-width:0;flex:1}.nav-search-dropdown .search-ticker{font-family:"SFMono-Regular",Consolas,monospace;font-weight:700;font-size:.88rem;color:#fff;letter-spacing:.04em;white-space:nowrap}.nav-search-dropdown .search-name{font-size:.78rem;color:#8b93b0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px;text-align:right}.nav-search-dropdown .search-price{font-size:.8rem;font-weight:600;color:#c7d0f0;white-space:nowrap}.nav-search-dropdown .search-gain{color:#10b981;font-size:.75rem}.nav-search-dropdown .search-loss{color:#ef4444;font-size:.75rem}.nav-search-dropdown .search-badge{display:inline-block;font-size:.62rem;font-weight:700;padding:.1rem .35rem;border-radius:.25rem;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}.nav-search-dropdown .search-badge--portfolio{background:rgba(99,102,241,.25);color:#a5b4fc}.nav-search-dropdown .search-badge--shadow{background:rgba(245,158,11,.2);color:#f59e0b}.nav-search-dropdown .search-badge--market{background:rgba(6,182,212,.15);color:#06b6d4}.nav-search-dropdown .search-empty{padding:1rem .85rem;color:#8b93b0;font-size:.83rem;text-align:center}@media(max-width: 575.98px){.navbar-brand{font-size:1rem}#nav-currency-toggle .btn{font-size:.65rem !important;padding:.1rem .4rem !important}.navbar .btn-primary.btn-sm .d-none-xs{display:none}}.page-sticky-header,.analysis-sticky-header{position:sticky;top:58px;z-index:200;background:#0f1117;padding-top:.75rem;padding-bottom:.25rem;margin-bottom:.5rem;box-shadow:0 4px 12px rgba(0,0,0,.5)}@media(max-width: 575.98px){.page-sticky-header,.analysis-sticky-header{top:52px}}.sticky-table-wrap{overflow-x:auto;overflow-y:auto;max-height:var(--sticky-table-h, calc(100vh - 200px));-webkit-overflow-scrolling:touch}thead.sticky-thead th{position:sticky;top:0;z-index:90;background:#1e2235}.card{--bs-card-color: #e2e8f0;background:#1a1d27;border:1px solid #2d3148;border-radius:.5rem;color:#e2e8f0}.card-body,.card-footer{color:#e2e8f0}.card-header{background:#1e2235;border-bottom:1px solid #2d3148}.table{color:#e2e8f0}.table-dark{--bs-table-bg: #1a1d27;--bs-table-hover-bg: rgb(32.12, 35.8261538462, 48.18)}@media(max-width: 767.98px){.table td,.table th{padding:.4rem .5rem;font-size:.82rem}}.form-control,.form-select{background:#0f1117;border-color:#2d3148;color:#e2e8f0}.form-control:focus,.form-select:focus{background:#0f1117;color:#e2e8f0;border-color:#6366f1;box-shadow:0 0 0 .2rem rgba(99,102,241,.25)}.form-select option{background:#1a1d27}label.form-label{color:#c7d0f0}@media(max-width: 767.98px){.form-control,.form-select,input[type=text],input[type=number],input[type=email],input[type=password]{font-size:16px !important}}.modal-dark{background:#1a1d27;border-color:#2d3148;color:#e2e8f0}.modal-dark .modal-header,.modal-dark .modal-footer{border-color:#2d3148}@media(max-width: 575.98px){.modal-dialog{margin:.5rem;max-width:calc(100vw - 1rem)}}.flash-container .alert{border-radius:.375rem}.portfolio-ticker{position:fixed;left:0;right:0;bottom:0;z-index:1040;height:34px;border-top:1px solid #2d3148;background:#141720;overflow:hidden}.portfolio-ticker__track{display:flex;align-items:center;height:100%;white-space:nowrap;min-width:max-content;flex-shrink:0;animation:ticker-scroll 70s linear infinite;will-change:transform;padding-right:1rem;text-decoration:none}.portfolio-ticker a,.portfolio-ticker a:hover,.portfolio-ticker a:visited{text-decoration:none}.portfolio-ticker__item{display:inline-flex;align-items:center;gap:.45rem;margin-right:1.5rem;font-size:.78rem;color:#e2e8f0;text-decoration:none}.portfolio-ticker__item:hover{text-decoration:none}.portfolio-ticker__kind{font-size:.62rem;font-weight:700;letter-spacing:.04em;padding:.08rem .35rem;border-radius:999px;border:1px solid rgba(0,0,0,0)}.portfolio-ticker__kind--owned{color:#6366f1;border-color:rgba(99,102,241,.5);background:rgba(99,102,241,.1)}.portfolio-ticker__kind--similar{color:#06b6d4;border-color:rgba(6,182,212,.5);background:rgba(6,182,212,.1)}.portfolio-ticker__name{color:#8b93b0}.portfolio-ticker__price{color:#e2e8f0;font-weight:600}.portfolio-ticker__change{font-weight:700}@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}.text-gain{color:#10b981}.text-loss{color:#ef4444}.text-muted{color:#8b93b0 !important}.stat-label{color:#c7d0f0;font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase}.insight-text{color:#d1d9f0;font-size:.85rem;line-height:1.55}.ticker-badge{font-family:"SFMono-Regular",Consolas,monospace;font-weight:700;letter-spacing:.05em}.btn-primary{background:#6366f1;border-color:#6366f1}.btn-primary:hover,.btn-primary:focus{background:#5254cc;border-color:#5254cc}.btn-analyse{background:linear-gradient(135deg, #6366f1, #8b5cf6);border:none;padding:.75rem 2rem;font-weight:600;font-size:1.05rem}.btn-analyse:hover{background:linear-gradient(135deg, #5254cc, #7c3aed)}.badge-risk-Low{background:#10b981}.badge-risk-Medium{background:#f59e0b}.badge-risk-High{background:#ef4444}.list-group-item-dark{background:#1a1d27;color:#e2e8f0;border-color:#2d3148}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}.spin{display:inline-block;animation:spin .7s linear infinite}@media(max-width: 767.98px){.btn-sm{min-height:36px;min-width:36px}#nav-currency-toggle .btn{min-height:32px;min-width:38px}}.summary-card{background:#1e2235;border:1px solid #2d3148;border-radius:.5rem;text-align:center}.summary-card .summary-card__label{color:#8b93b0;font-size:.8rem;margin-bottom:.25rem}.summary-card .summary-card__value{font-size:1.75rem;font-weight:700}.summary-cards-row{display:flex;flex-wrap:wrap;gap:.5rem;overflow-x:visible}.summary-cards-row .summary-card-col{flex:1 1 160px;min-width:140px;max-width:100%}@media(max-width: 575.98px){.summary-cards-row{gap:.4rem}.summary-cards-row .summary-card-col{flex:1 1 calc(33.33% - .4rem);min-width:0;max-width:calc(33.33% - .27rem)}.summary-cards-row .summary-card-col:nth-child(1),.summary-cards-row .summary-card-col:nth-child(2){flex:1 1 calc(50% - .4rem);max-width:calc(50% - .2rem)}.summary-cards-row .summary-card-col .card-body{padding:.5rem !important}.summary-cards-row .summary-card-col .card-body .text-muted.small{font-size:.7rem !important}.summary-cards-row .summary-card-col .card-body .fs-3{font-size:1.2rem !important}}.holdings-table{min-width:700px}.holdings-table thead{background:#1e2235}.holdings-table tfoot tr{border-top:2px solid #3d4165;background:#1e2235}@media(max-width: 575.98px){.holdings-table{min-width:0;width:100%}.holdings-table .col-hide-mobile{display:none}.holdings-table td,.holdings-table th{font-size:.75rem;padding:.35rem .4rem}}.currency-toggle .btn{font-size:.7rem;line-height:1.6;padding:0 .5rem}.holding-form .form-label{margin-bottom:.25rem}@media(max-width: 575.98px){.holding-form-row{flex-direction:column}.holding-form-row .col,.holding-form-row .col-auto{width:100%}}.group-list-item{background:#1a1d27;color:#e2e8f0;border-color:#2d3148}.group-list-item:hover{background:rgb(30.08,33.5507692308,45.12)}.create-group-form{background:#141720;border-bottom:1px solid #2d3148}#holdingsTabs{border-bottom:2px solid #2d3148}#holdingsTabs .nav-link{color:#8b93b0;border:none;border-bottom:3px solid rgba(0,0,0,0);font-weight:600;font-size:1rem;padding:.75rem 1rem !important;transition:all .25s ease;position:relative}#holdingsTabs .nav-link:hover{color:#e2e8f0;background:rgba(59,130,246,.05);border-bottom-color:rgba(59,130,246,.3)}#holdingsTabs .nav-link.active{color:#fff;background:rgba(59,130,246,.15);border-bottom-color:#3b82f6;box-shadow:inset 0 -3px 0 0 #3b82f6}#holdingsTabs .nav-link.active i{color:#3b82f6 !important}#holdingsTabs .nav-link.active .badge{box-shadow:0 0 8px rgba(59,130,246,.3)}#holdingsTabs .nav-link .badge{transition:all .25s ease;font-weight:600;letter-spacing:.5px}#holdingsTabs .nav-link i{transition:color .25s ease}@media(max-width: 575.98px){#holdingsTabs .nav-link{font-size:.78rem;padding:.5rem .6rem !important}#holdingsTabs .nav-link .tab-label{display:none}#holdingsTabs .nav-link .badge{font-size:.6rem}}.tab-bar-actions{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}@media(max-width: 767.98px){.tab-bar-actions{width:100%;justify-content:stretch;padding:.5rem .75rem;border-top:1px solid #2d3148}.tab-bar-actions .btn{flex:1;font-size:.8rem;padding:.4rem .6rem}}@media(max-width: 767.98px){.btn-analyse{padding:.5rem 1rem;font-size:.9rem}}#addFormTabs .nav-link{border-bottom:2px solid rgba(0,0,0,0);font-weight:600;color:#8b93b0;transition:all .2s ease}#addFormTabs .nav-link:hover{color:#e2e8f0;border-bottom-color:rgba(59,130,246,.3)}#addFormTabs .nav-link.active{color:#3b82f6;border-bottom-color:#3b82f6;background:none}.insight-card{border-left:4px solid #6366f1}.insight-card .insight-card__header{padding-top:.5rem;padding-bottom:.5rem}.insight-card .insight-card__body{padding:.5rem}.insight-card .insight-stats{border-top:1px solid #2d3148;border-bottom:1px solid #2d3148;padding:.25rem 0;margin-bottom:.5rem}.insight-card .insight-stats .insight-stats__divider{border-left:1px solid #2d3148;border-right:1px solid #2d3148}.insight-card .insight-stats .stat-label{font-size:.65rem}.insight-card .card-cur-toggle .btn{font-size:.7rem;padding:0 .4rem;line-height:1.6}.sortable{cursor:pointer;user-select:none;white-space:nowrap}.sortable .sort-icon{opacity:.35;font-size:.75rem;margin-left:3px;transition:opacity .15s}.sortable:hover .sort-icon{opacity:.75}.sortable.sort-asc .sort-icon,.sortable.sort-desc .sort-icon{opacity:1;color:#a5b4fc}.risk-bar{height:8px;border-radius:4px;overflow:hidden}.allocation-chart-wrap canvas{max-width:220px;max-height:220px}@media(max-width: 575.98px){.allocation-chart-wrap canvas{max-width:160px;max-height:160px}}@media(max-width: 575.98px){.analysis-sticky-header .d-flex.justify-content-between{flex-direction:column;align-items:flex-start !important;gap:.5rem !important}.analysis-sticky-header .d-flex.justify-content-between h5{font-size:1rem}}@media(max-width: 575.98px){.row.g-3.mb-4>[class*=col-md-3],.row.g-3>[class*=col-md-3]{flex:0 0 50%;max-width:50%}}.allocation-table{font-size:.85rem}.allocation-table tfoot tr{border-top:2px solid #3d4165}.allocation-table .allocation-bar-track{background:#2d3148;border-radius:4px;height:8px;overflow:hidden}.allocation-table .allocation-bar-track .allocation-bar-fill{height:100%;border-radius:4px}.opp-stock-card,.sim-stock-card{background:#141720;border:1px solid #2d3148;border-radius:8px;padding:10px;margin-bottom:8px}.opp-stock-card .stock-card__ticker,.sim-stock-card .stock-card__ticker{font-size:1rem}.opp-stock-card .stock-card__name,.sim-stock-card .stock-card__name{font-size:.75rem;color:#8b93b0}.opp-stock-card .stock-card__stars,.sim-stock-card .stock-card__stars{font-size:1.1rem;letter-spacing:1px}.opp-stock-card .stock-card__summary,.sim-stock-card .stock-card__summary{color:#d1d9f0;font-size:.8rem;margin-bottom:6px}.opp-stock-card .badge-signal,.sim-stock-card .badge-signal{background:hsl(160.1183431953,84.07960199%,-15.5882352941%);color:#10b981;font-weight:500;margin-right:4px;margin-bottom:4px}.opp-stock-card .badge-caution,.sim-stock-card .badge-caution{background:hsl(0,84.236453202%,25.1960784314%);color:#ef4444;font-weight:500;margin-right:4px;margin-bottom:4px}
