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}@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}
