*{box-sizing:border-box;margin:0;padding:0}body{color:#1a1a2e;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;line-height:1.6}.auth-container{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:#fff;border-radius:12px;width:100%;max-width:420px;padding:2.5rem;box-shadow:0 4px 20px #00000014}.auth-card h1{color:#2563eb;margin-bottom:.25rem;font-size:1.5rem;font-weight:700}.auth-card h2{color:#64748b;margin-bottom:1.5rem;font-size:1.1rem;font-weight:500}.form-group{margin-bottom:1rem}.form-group label{color:#334155;margin-bottom:.375rem;font-size:.875rem;font-weight:500;display:block}.form-group input,.form-group select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:.625rem .75rem;font-size:.9rem;transition:border-color .2s}.form-group input:focus,.form-group select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}button[type=submit],.btn-primary{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:8px;width:100%;margin-top:.5rem;padding:.7rem;font-size:.9rem;font-weight:500;transition:background .2s}button[type=submit]:hover:not(:disabled),.btn-primary:hover:not(:disabled){background:#1d4ed8}button:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#dc2626;margin-bottom:.5rem;font-size:.85rem}.success-message{color:#16a34a;margin-bottom:.5rem;font-size:.85rem}.warning-text{color:#92400e;background:#fef3c7;border:1px solid #fbbf24;border-radius:8px;margin-bottom:1rem;padding:.75rem;font-size:.8rem}.auth-link{text-align:center;color:#64748b;margin-top:1rem;font-size:.85rem}.auth-link a{color:#2563eb;font-weight:500;text-decoration:none}.layout{min-height:100vh;display:flex}.sidebar{color:#fff;z-index:100;background:#1e293b;flex-direction:column;width:250px;display:flex;position:fixed;top:0;bottom:0;left:0}.sidebar-brand{border-bottom:1px solid #334155;padding:1.25rem 1.5rem}.sidebar-brand h1{color:#60a5fa;font-size:1.2rem;font-weight:700}.sidebar-nav{flex:1;padding:1rem 0;overflow-y:auto}.nav-item{color:#94a3b8;align-items:center;gap:.75rem;padding:.75rem 1.5rem;font-size:.9rem;text-decoration:none;transition:all .2s;display:flex}.nav-item:hover{color:#fff;background:#334155}.nav-item.active{color:#fff;background:#2563eb;border-right:3px solid #60a5fa}.nav-icon{font-size:1.1rem}.sidebar-footer{border-top:1px solid #334155;flex-direction:column;flex-shrink:0;gap:.5rem;padding:1rem 1.5rem;display:flex}.user-email{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem;overflow:hidden}.btn-logout{color:#e2e8f0;cursor:pointer;background:#475569;border:none;border-radius:6px;padding:.4rem .8rem;font-size:.8rem;transition:background .2s}.btn-logout:hover{background:#64748b}.nav-group-admin{border-top:1px solid #334155;margin-top:.75rem;padding-top:.75rem}.nav-group-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;padding:.25rem 1.5rem .5rem;font-size:.7rem;font-weight:600;display:block}.main-content{flex:1;min-height:100vh;margin-left:250px;padding:2rem}.page{max-width:1200px}.page h2{color:#1e293b;margin-bottom:1.5rem;font-size:1.5rem;font-weight:600}.page-header h2{margin-bottom:0}.page-loading,.page-empty{text-align:center;color:#64748b;padding:3rem}.page-empty h2{margin-bottom:.5rem}.empty-text{color:#64748b;margin-top:1rem;font-size:.9rem}.metric-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem;margin-bottom:2rem;display:grid}.metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem;box-shadow:0 1px 3px #0000000f}.metric-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem;font-size:.75rem;font-weight:500;display:block}.metric-value{color:#1e293b;font-size:1.25rem;font-weight:700;display:block}.positive{color:#16a34a}.negative{color:#dc2626}.table-container{background:#fff;border:1px solid #e2e8f0;border-radius:10px;overflow-x:auto;box-shadow:0 1px 3px #0000000f}table{border-collapse:collapse;width:100%;font-size:.85rem}thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}th{text-align:left;color:#475569;text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;padding:.75rem 1rem;font-size:.75rem;font-weight:600}td{white-space:nowrap;border-bottom:1px solid #f1f5f9;padding:.75rem 1rem}tbody tr:hover{background:#f8fafc}.fund-name-cell{text-overflow:ellipsis;max-width:250px;font-weight:500;overflow:hidden}.action-cell{gap:.25rem;display:flex}.btn-icon{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:.9rem}.btn-icon:hover{background:#f1f5f9}.badge{text-transform:uppercase;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;font-weight:600;display:inline-block}.badge-buy{color:#166534;background:#dcfce7}.badge-redeem{color:#991b1b;background:#fef2f2}.metrics-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.metrics-fund-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.5rem;box-shadow:0 1px 3px #0000000f}.metrics-fund-card h3{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;margin-bottom:1rem;font-size:.9rem;font-weight:600;overflow:hidden}.metrics-fund-details{flex-direction:column;gap:.5rem;display:flex}.metric-row{justify-content:space-between;align-items:center;font-size:.85rem;display:flex}.metric-row span:first-child{color:#64748b}.metric-row span:last-child{font-weight:600}.chart-controls{flex-direction:column;gap:1rem;margin-bottom:1.5rem;display:flex}.range-selector{gap:.5rem;display:flex}.range-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.4rem .9rem;font-size:.8rem;transition:all .2s}.range-btn:hover{color:#2563eb;border-color:#2563eb}.range-btn.active{color:#fff;background:#2563eb;border-color:#2563eb}.fund-toggles{flex-wrap:wrap;gap:.75rem;display:flex}.fund-toggle{cursor:pointer;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.fund-toggle input{cursor:pointer}.chart-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.5rem;box-shadow:0 1px 3px #0000000f}.search-box{margin-bottom:1.5rem;position:relative}.search-input{background:#fff;border:1px solid #e2e8f0;border-radius:10px;width:100%;padding:.85rem 1rem;font-size:.95rem;transition:border-color .2s}.search-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.search-loading{color:#64748b;pointer-events:none;font-size:.8rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.search-dropdown{z-index:200;background:#fff;border:1px solid #e2e8f0;border-radius:10px;max-height:420px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0000001f}.search-results-header{color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;background:#f8fafc;border-bottom:1px solid #f1f5f9;border-radius:10px 10px 0 0;padding:.5rem 1rem;font-size:.7rem;font-weight:500}.search-no-results{text-align:center;color:#94a3b8;padding:2rem;font-size:.85rem}.search-hint{color:#94a3b8;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem 1rem;font-size:.8rem;position:absolute;top:calc(100% + 4px);left:0;right:0}.badge-added{color:#16a34a;white-space:nowrap;background:#dcfce7;border-radius:6px;padding:.3rem .7rem;font-size:.75rem;font-weight:600;display:inline-block}.search-results{background:#fff;border:1px solid #e2e8f0;border-radius:10px;max-height:400px;margin-bottom:2rem;overflow-y:auto;box-shadow:0 4px 12px #00000014}.search-result-item{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.search-result-item:last-child{border-bottom:none}.result-info{flex-direction:column;flex:1;min-width:0;margin-right:1rem;display:flex}.result-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.result-code{color:#94a3b8;font-size:.7rem}.watchlist-section{margin-top:2rem}.watchlist-section h3{color:#1e293b;margin-bottom:1rem;font-size:1.1rem;font-weight:600}.watchlist-grid{flex-direction:column;gap:.5rem;display:flex}.watchlist-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;justify-content:space-between;align-items:center;padding:.75rem 1rem;display:flex}.watchlist-card-info{flex-direction:column;flex:1;min-width:0;display:flex}.watchlist-name{text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:500;overflow:hidden}.watchlist-code{color:#94a3b8;font-size:.7rem}.btn-primary-sm{color:#fff;cursor:pointer;background:#2563eb;border:none;border-radius:6px;padding:.4rem .9rem;font-size:.8rem;font-weight:500;transition:background .2s}.btn-primary-sm:hover:not(:disabled){background:#1d4ed8}.btn-secondary-sm{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.4rem .9rem;font-size:.8rem;font-weight:500}.btn-secondary-sm:hover:not(:disabled){background:#e2e8f0}.btn-danger-sm{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;padding:.4rem .9rem;font-size:.8rem;font-weight:500}.btn-danger-sm:hover:not(:disabled){background:#fee2e2}.form-overlay{background:#fff;border:1px solid #e2e8f0;border-radius:10px;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 4px 12px #00000014}.transaction-form h3{margin-bottom:1rem;font-size:1rem;font-weight:600}.form-row{gap:1rem;margin-bottom:.5rem;display:flex}.form-row .form-group{flex:1}.form-actions{gap:.75rem;margin-top:1rem;display:flex}.account-info-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;align-items:center;gap:1rem;margin-bottom:2rem;padding:1.25rem 1.5rem;display:flex}.account-avatar{color:#fff;background:#2563eb;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:1.4rem;font-weight:700;display:flex}.account-email{color:#1e293b;font-size:1rem;font-weight:600}.account-meta{color:#94a3b8;margin-top:2px;font-size:.8rem}.account-section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;max-width:520px;margin-bottom:1.5rem;padding:1.5rem}.account-section h3{color:#1e293b;margin-bottom:.4rem;font-size:1rem;font-weight:600}.account-section-desc{color:#64748b;margin-bottom:1.25rem;font-size:.82rem;line-height:1.5}.account-form{flex-direction:column;gap:.1rem;display:flex}.account-status{border-radius:6px;margin-bottom:.5rem;padding:.6rem .9rem;font-size:.82rem}.account-status-success{color:#166534;background:#dcfce7;border:1px solid #86efac}.account-status-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.account-danger-section{background:#fff;border-color:#fecaca}.danger-title{color:#dc2626!important}.btn-danger-outline{color:#dc2626;cursor:pointer;background:0 0;border:1.5px solid #dc2626;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:all .2s}.btn-danger-outline:hover{background:#fef2f2}.btn-danger-solid{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.85rem;font-weight:500;transition:background .2s}.btn-danger-solid:hover:not(:disabled){background:#b91c1c}.btn-danger-solid:disabled{opacity:.5;cursor:not-allowed}.delete-confirm-box{background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem 1.25rem;font-size:.85rem}.delete-confirm-box p{color:#7f1d1d;margin-bottom:.6rem}.delete-confirm-input{background:#fff;border:1.5px solid #fca5a5;border-radius:6px;width:100%;padding:.5rem .75rem;font-family:Consolas,monospace;font-size:.85rem}.delete-confirm-input:focus{border-color:#dc2626;outline:none}.delete-email-display{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;width:100%;padding:.5rem .75rem;font-size:.9rem;font-weight:500}.bulk-toolbar{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.6rem 1rem;font-size:.85rem;font-weight:500;display:flex}.row-selected{background:#eff6ff!important}.watchlist-card-selected{background:#eff6ff;border-color:#93c5fd}.filter-bar{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:1rem;padding:.75rem 1rem;display:flex}.filter-select{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.45rem .75rem;font-size:.82rem}.filter-select:focus{border-color:#2563eb;outline:none}.filter-date-range{align-items:center;gap:.4rem;display:flex}.filter-date{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:.42rem .6rem;font-size:.82rem}.filter-date:focus{border-color:#2563eb;outline:none}.filter-date-sep{color:#94a3b8;font-size:.78rem}.filter-count{color:#94a3b8;white-space:nowrap;margin-left:auto;font-size:.78rem}.modal-backdrop{z-index:1000;background:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:12px;width:90%;max-width:420px;padding:1.75rem;box-shadow:0 20px 50px #0003}.modal-header{align-items:center;gap:.6rem;margin-bottom:1rem;display:flex}.modal-icon{font-size:1.4rem}.modal-header h3{color:#1e293b;font-size:1rem;font-weight:600}.modal-body{color:#334155;margin-bottom:.75rem;font-size:.85rem}.duplicate-detail{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:.75rem;padding:.75rem}.dup-row{justify-content:space-between;padding:.2rem 0;font-size:.82rem;display:flex}.dup-row span:first-child{color:#64748b}.dup-row span:last-child{font-weight:500}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1rem;display:flex}.import-status{border-radius:8px;margin-bottom:1rem;padding:.75rem 2.5rem .75rem 1rem;font-size:.85rem;position:relative}.import-status-success{color:#166534;background:#dcfce7;border:1px solid #86efac}.import-status-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.import-help{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.8rem}.import-help summary{cursor:pointer;font-size:.85rem;font-weight:500}.import-help ul{margin-top:.5rem;padding-left:1.25rem}.import-help li{margin-bottom:.25rem}.charts-row{grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.chart-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.5rem;box-shadow:0 1px 3px #0000000f}.chart-card h3,.chart-title{color:#1e293b;margin-bottom:1rem;font-size:.95rem;font-weight:600}.mobile-header{color:#fff;z-index:200;background:#1e293b;align-items:center;gap:.75rem;height:56px;padding:0 1rem;display:none;position:fixed;top:0;left:0;right:0}.mobile-brand{color:#60a5fa;font-size:1.1rem;font-weight:700}.hamburger-btn{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:4px;padding:.5rem;display:flex}.hamburger-line{background:#e2e8f0;border-radius:1px;width:20px;height:2px;display:block}.sidebar-close-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:.25rem;font-size:1.2rem;display:none}.sidebar-close-btn:hover{color:#fff}.sidebar-overlay{display:none}@media (width<=1024px){.sidebar{width:220px}.main-content{margin-left:220px;padding:1.5rem}.metric-cards{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.fund-name-cell{max-width:180px}.charts-row{grid-template-columns:1fr}}@media (width<=768px){.mobile-header{display:flex}.sidebar{width:270px;transition:transform .25s;transform:translate(-100%)}.sidebar.sidebar-open{transform:translate(0)}.sidebar-brand{justify-content:space-between;align-items:center;display:flex}.sidebar-close-btn{display:block}.sidebar-overlay{z-index:99;background:#00000080;display:block;position:fixed;inset:0}.main-content{margin-left:0;padding:calc(56px + 1rem) 1rem 1rem}.page{max-width:100%}.page h2{margin-bottom:1rem;font-size:1.25rem}.metric-cards{grid-template-columns:repeat(2,1fr);gap:.5rem}.metric-card{padding:.85rem}.metric-label{font-size:.65rem}.metric-value{font-size:1rem}.table-container{-webkit-overflow-scrolling:touch;border-radius:8px}table{font-size:.78rem}th,td{padding:.5rem .6rem}.fund-name-cell{min-width:120px;max-width:140px}.fund-detail-grid{grid-template-columns:repeat(2,1fr);gap:.5rem 1rem}.charts-row{grid-template-columns:1fr;gap:1rem}.chart-card{padding:1rem}.form-row{flex-direction:column;gap:0}.search-dropdown{max-height:320px}.alert-messages{flex-direction:column;gap:.2rem}.alert-msg{white-space:normal}.fund-alerts{flex-direction:column}.watchlist-table .fund-name-cell{min-width:100px;max-width:160px}.page-header{flex-direction:column;align-items:flex-start;gap:.5rem}.section-title{font-size:.88rem}.filter-bar{flex-direction:column;align-items:stretch}.filter-count{margin-left:0}}@media (width<=480px){.metric-cards{grid-template-columns:1fr 1fr;gap:.4rem}.metric-card{padding:.7rem}.metric-value{font-size:.9rem}.fund-name-cell{min-width:90px;max-width:110px;font-size:.75rem}th,td{padding:.4rem .5rem}table{font-size:.72rem}.fund-detail-grid{grid-template-columns:1fr 1fr}.search-result-item{flex-direction:column;align-items:flex-start;gap:.5rem}}.public-page{flex-direction:column;min-height:100vh;display:flex}.public-header{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#fffffff2;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.public-logo{color:#2563eb;font-size:1.3rem;font-weight:700;text-decoration:none}.public-nav{align-items:center;gap:1rem;display:flex}.public-nav-link{color:#475569;font-size:.9rem;font-weight:500;text-decoration:none}.public-nav-link:hover{color:#2563eb}.hero{text-align:center;background:linear-gradient(135deg,#eff6ff 0%,#f0fdf4 100%);padding:5rem 2rem 4rem}.hero h1{color:#1e293b;margin-bottom:1rem;font-size:2.5rem;font-weight:800;line-height:1.2}.hero-sub{color:#475569;max-width:560px;margin:0 auto 2rem;font-size:1.1rem;line-height:1.6}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn-hero-primary{color:#fff;background:#2563eb;border-radius:8px;padding:.8rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:background .2s}.btn-hero-primary:hover{background:#1d4ed8}.btn-hero-secondary{color:#2563eb;background:#fff;border:1.5px solid #2563eb;border-radius:8px;padding:.8rem 1.75rem;font-size:1rem;font-weight:600;text-decoration:none;transition:all .2s}.btn-hero-secondary:hover{background:#eff6ff}.features-section{text-align:center;padding:4rem 2rem}.features-section h2{color:#1e293b;margin-bottom:2.5rem;font-size:1.75rem;font-weight:700}.features-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;max-width:1000px;margin:0 auto;display:grid}.feature-card{text-align:left;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:2rem 1.5rem;transition:box-shadow .2s}.feature-card:hover{box-shadow:0 4px 16px #0000000f}.feature-icon{margin-bottom:.75rem;font-size:2rem}.feature-card h3{color:#1e293b;margin-bottom:.4rem;font-size:1rem;font-weight:600}.feature-card p{color:#64748b;font-size:.85rem;line-height:1.5}.how-section{text-align:center;background:#f8fafc;padding:4rem 2rem}.how-section h2{color:#1e293b;margin-bottom:2.5rem;font-size:1.75rem;font-weight:700}.how-steps{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;max-width:900px;margin:0 auto;display:grid}.how-step{text-align:center}.how-num{color:#fff;background:#2563eb;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;margin:0 auto 1rem;font-size:1.1rem;font-weight:700;display:flex}.how-step h3{margin-bottom:.4rem;font-size:.95rem;font-weight:600}.how-step p{color:#64748b;font-size:.82rem;line-height:1.5}.security-section{text-align:center;padding:4rem 2rem}.security-section h2{color:#1e293b;margin-bottom:2rem;font-size:1.75rem;font-weight:700}.security-points{text-align:left;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.25rem;max-width:900px;margin:0 auto;display:grid}.security-point{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:10px;padding:1.25rem}.security-point strong{color:#166534;margin-bottom:.3rem;font-size:.9rem;display:block}.security-point p{color:#475569;font-size:.82rem;line-height:1.5}.source-section{text-align:center;background:#f8fafc;padding:3rem 2rem}.source-section h2{margin-bottom:.75rem;font-size:1.3rem}.source-section p{color:#475569;max-width:600px;margin:0 auto;font-size:.88rem;line-height:1.6}.source-section a{color:#2563eb}.cta-section{text-align:center;color:#fff;background:linear-gradient(135deg,#1e3a5f 0%,#2563eb 100%);padding:4rem 2rem}.cta-section h2{margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.cta-section p{color:#bfdbfe;margin-bottom:1.5rem;font-size:1rem}.cta-section .btn-hero-primary{color:#2563eb;background:#fff}.cta-section .btn-hero-primary:hover{background:#eff6ff}.site-footer{color:#94a3b8;background:#1e293b;margin-top:auto;padding:3rem 2rem 1.5rem}.footer-content{border-bottom:1px solid #334155;flex-wrap:wrap;justify-content:space-between;gap:2rem;max-width:1000px;margin:0 auto;padding-bottom:2rem;display:flex}.footer-brand strong{color:#f8fafc;margin-bottom:.3rem;font-size:1.1rem;display:block}.footer-brand p{max-width:240px;font-size:.82rem}.footer-links{gap:3rem;display:flex}.footer-col h4{color:#e2e8f0;margin-bottom:.75rem;font-size:.85rem}.footer-col a{color:#94a3b8;margin-bottom:.4rem;font-size:.82rem;text-decoration:none;display:block}.footer-col a:hover{color:#e2e8f0}.footer-bottom{text-align:center;max-width:1000px;margin:0 auto;padding-top:1.5rem}.footer-bottom p{margin-bottom:.3rem;font-size:.8rem}.footer-bottom a{color:#60a5fa;text-decoration:none}.footer-bottom a:hover{text-decoration:underline}.footer-disclaimer{color:#64748b;font-size:.7rem}.legal-content{max-width:720px;margin:2rem auto;padding:0 2rem 3rem}.legal-content h1{color:#1e293b;margin-bottom:.5rem;font-size:1.8rem}.legal-updated{color:#94a3b8;margin-bottom:2rem;font-size:.82rem}.legal-content h2{color:#1e3a5f;border:none;margin-top:2rem;margin-bottom:.5rem;padding:0;font-size:1.15rem}.legal-content h3{color:#334155;margin-top:1.25rem;font-size:.95rem}.legal-content p{color:#334155;font-size:.88rem;line-height:1.7}.legal-content ul{padding-left:1.5rem}.legal-content li{color:#334155;margin-bottom:.3rem;font-size:.88rem;line-height:1.7}.legal-table{border-collapse:collapse;width:100%;margin:.75rem 0;font-size:.82rem}.legal-table th{color:#334155;text-align:left;background:#f1f5f9;border:1px solid #e2e8f0;padding:.5rem .75rem;font-weight:600}.legal-table td{border:1px solid #e2e8f0;padding:.5rem .75rem}.public-page .auth-container{flex:1}.field-hint{color:#94a3b8;margin-top:.25rem;font-size:.75rem;display:block}.consent-section{flex-direction:column;gap:.6rem;margin:1rem 0 .75rem;display:flex}.consent-item{color:#334155;align-items:flex-start;gap:.5rem;font-size:.82rem;display:flex}.consent-item input[type=checkbox]{accent-color:#2563eb;cursor:default;flex-shrink:0;width:16px;height:16px;margin-top:2px}.consent-item input[type=checkbox]:disabled{opacity:.8}.consent-item label{cursor:pointer;line-height:1.4}.consent-link{color:#2563eb;cursor:pointer;background:0 0;border:none;padding:0;font-size:.82rem;font-weight:500;text-decoration:underline}.consent-link:hover{color:#1d4ed8}.legal-modal-box{background:#fff;border-radius:12px;flex-direction:column;width:92%;max-width:600px;max-height:80vh;display:flex;box-shadow:0 20px 50px #00000040}.legal-modal-header{border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:1.25rem 1.5rem}.legal-modal-header h3{color:#1e293b;font-size:1.1rem;font-weight:600}.legal-modal-body{flex:1;padding:1.5rem;overflow-y:auto}.legal-modal-content h2{color:#1e293b;margin-bottom:.25rem;font-size:1.1rem}.legal-modal-content h3{color:#1e3a5f;margin-top:1.25rem;margin-bottom:.4rem;font-size:.92rem}.legal-modal-content p{color:#334155;margin-bottom:.5rem;font-size:.82rem;line-height:1.7}.legal-modal-content ul{margin-bottom:.5rem;padding-left:1.25rem}.legal-modal-content li{color:#334155;margin-bottom:.25rem;font-size:.82rem;line-height:1.6}.legal-modal-content .legal-updated{color:#94a3b8;margin-bottom:1rem;font-size:.78rem}.legal-modal-actions{border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;display:flex}.alert-strip{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.alert-section{border-radius:8px;align-items:flex-start;gap:.6rem;padding:.75rem 1rem;font-size:.82rem;line-height:1.5;display:flex}.alert-warn{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.alert-info{color:#1e40af;background:#eff6ff;border:1px solid #93c5fd}.alert-icon{flex-shrink:0;margin-top:1px;font-size:1rem;line-height:1}.alert-messages{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.alert-msg{white-space:nowrap}.star-rating{color:#d97706;letter-spacing:-.5px;font-size:.85rem}.badge-expense-high{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:4px;padding:.15rem .5rem;font-size:.8rem;font-weight:600}.badge-aum-low{color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:4px;padding:.15rem .5rem;font-size:.8rem;font-weight:600}.text-muted{color:#94a3b8}.fund-row-clickable{cursor:pointer;transition:background .15s}.fund-row-clickable:hover{background:#f8fafc}.fund-row-expanded,.fund-row-expanded:hover{background:#f1f5f9}.expand-toggle{text-align:center;color:#64748b;-webkit-user-select:none;user-select:none;width:24px;font-size:.75rem}.fund-detail-row{background:#f8fafc;border-bottom:1px solid #e2e8f0}.fund-detail-row td{border-top:none;padding:.75rem 1rem}.fund-detail-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.75rem 1.5rem;display:grid}.fund-detail-item{flex-direction:column;gap:.15rem;display:flex}.fund-detail-label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.7rem;font-weight:500}.fund-detail-value{color:#1e293b;font-size:.85rem;font-weight:600}.fund-alerts{border-top:1px solid #e2e8f0;flex-wrap:wrap;gap:.4rem;margin-top:.75rem;padding-top:.75rem;display:flex}.fund-alert-badge{border-radius:5px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.75rem;font-weight:500;line-height:1.3;display:inline-flex}.fund-alert-warn{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.fund-alert-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.fund-alert-dot{vertical-align:middle;background:#f59e0b;border-radius:50%;width:6px;height:6px;margin-left:4px;display:inline-block}.section-title{color:#475569;margin:1.5rem 0 .5rem;font-size:.95rem;font-weight:600}.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.sortable-th:hover{color:#2563eb}.sort-icon{margin-left:2px;font-size:.7rem}.sort-inactive{opacity:.3}.metrics-table{font-size:.82rem}.metrics-table td{white-space:nowrap}.page-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.page-header h2{margin:0}.watchlist-table{width:100%}.watchlist-th-check,.watchlist-td-check{text-align:center;width:36px}.watchlist-code-cell{color:#64748b;width:100px;font-family:Consolas,monospace;font-size:.8rem}.watchlist-action-cell{text-align:center;width:40px}.btn-icon-delete{cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.25rem;font-size:1rem;line-height:1;transition:background .15s}.btn-icon-delete:hover:not(:disabled){background:#fef2f2}.btn-icon-delete:disabled{opacity:.4;cursor:not-allowed}.select-all-label{cursor:pointer;color:#475569;align-items:center;gap:.35rem;font-size:.82rem;display:flex}.admin-feature-toggles h1{color:#1e293b;margin-bottom:.25rem;font-size:1.5rem;font-weight:600}.toggle-switch{cursor:pointer;width:40px;height:22px;display:inline-block;position:relative}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{background:#cbd5e1;border-radius:22px;transition:background .2s;position:absolute;inset:0}.toggle-slider:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;bottom:3px;left:3px}.toggle-switch input:checked+.toggle-slider{background:#2563eb}.toggle-switch input:checked+.toggle-slider:before{transform:translate(18px)}.badge-feature{color:#1d4ed8;background:#eff6ff}.badge-column{color:#166534;background:#f0fdf4}.badge-menu-item{color:#92400e;background:#fef3c7}.wysiwyg-editor{background:#fff;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.wysiwyg-tabs{background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex}.wysiwyg-tab{cursor:pointer;color:#64748b;background:0 0;border:none;border-bottom:2px solid #0000;padding:.5rem 1.25rem;font-size:.82rem;font-weight:500;transition:color .15s,border-color .15s}.wysiwyg-tab:hover{color:#1e293b}.wysiwyg-tab-active{color:#4f46e5;background:#fff;border-bottom-color:#4f46e5}.wysiwyg-toolbar{background:#f1f5f9;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;align-items:center;gap:2px;padding:.4rem .5rem;display:flex}.wysiwyg-btn{cursor:pointer;color:#334155;background:0 0;border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;min-width:28px;height:28px;padding:0 6px;font-size:.78rem;transition:background .12s,border-color .12s;display:inline-flex}.wysiwyg-btn:hover{background:#e2e8f0;border-color:#cbd5e1}.wysiwyg-btn:active{background:#cbd5e1}.wysiwyg-heading-select{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:4px;height:28px;padding:0 .5rem;font-size:.78rem}.wysiwyg-separator{background:#cbd5e1;width:1px;height:20px;margin:0 4px}.wysiwyg-content{color:#1e293b;cursor:text;outline:none;min-height:400px;max-height:600px;padding:1.25rem;font-size:.88rem;line-height:1.6;overflow-y:auto}.wysiwyg-content:focus{box-shadow:inset 0 0 0 2px #c7d2fe}.wysiwyg-content table{border-collapse:collapse;width:100%;margin:.75rem 0}.wysiwyg-content table th,.wysiwyg-content table td{border:1px solid #e2e8f0;padding:.4rem .6rem;font-size:.82rem}.wysiwyg-content table th{background:#f1f5f9;font-weight:600}.wysiwyg-code{resize:vertical;color:#1e293b;tab-size:2;background:#fafbfc;border:none;outline:none;width:100%;min-height:400px;max-height:600px;padding:1rem;font-family:Consolas,Monaco,Courier New,monospace;font-size:.82rem;line-height:1.6}.wysiwyg-code:focus{box-shadow:inset 0 0 0 2px #c7d2fe}.wysiwyg-preview{background:#fff;min-height:400px;max-height:600px;padding:1.25rem;overflow-y:auto}.calculators-hub{max-width:1100px;margin:0 auto;padding:2rem 1.5rem}.calculators-hub-header{text-align:center;margin-bottom:2.5rem}.calculators-hub-header h1{color:#1a1a2e;margin-bottom:.75rem;font-size:2rem;font-weight:700}.calculators-hub-subtitle{color:#64748b;max-width:650px;margin:0 auto;font-size:1.05rem;line-height:1.7}.calculators-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;display:grid}.calculator-card{color:inherit;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.75rem;text-decoration:none;transition:transform .2s,box-shadow .2s;display:block;box-shadow:0 2px 12px #0000000f}.calculator-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #0000001a}.calculator-card-icon{margin-bottom:.75rem;font-size:2rem}.calculator-card h3{color:#1a1a2e;margin-bottom:.5rem;font-size:1.15rem;font-weight:600}.calculator-card p{color:#64748b;margin-bottom:.75rem;font-size:.9rem;line-height:1.6}.calculator-card-highlights{margin:0 0 1rem;padding:0;list-style:none}.calculator-card-highlights li{color:#475569;padding:.2rem 0;font-size:.82rem}.calculator-card-highlights li:before{content:"✓ ";color:#16a34a;font-weight:700}.calculator-card-link{color:#2563eb;font-size:.875rem;font-weight:500;display:inline-block}.calculator-page{max-width:1100px;margin:0 auto;padding:1.5rem}.calculator-back-link{color:#2563eb;margin-bottom:1rem;font-size:.875rem;text-decoration:none;display:inline-block}.calculator-back-link:hover{text-decoration:underline}.calculator-header{margin-bottom:2rem}.calculator-header h1{color:#1a1a2e;margin-bottom:.5rem;font-size:1.75rem;font-weight:700}.calculator-subtitle{color:#64748b;font-size:1rem;line-height:1.6}.calculator-layout{grid-template-columns:350px 1fr;grid-template-areas:"fund fund""inputs results";gap:2rem;margin-bottom:3rem;display:grid}.calculator-fund-panel{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-area:fund;padding:1.5rem;box-shadow:0 2px 12px #0000000f}.calculator-fund-panel h3{color:#334155;margin-bottom:1.25rem;font-size:1rem;font-weight:600}.calc-fund-top-row{grid-template-columns:350px 1fr;align-items:start;gap:2rem;display:grid}.calc-fund-search-col,.calc-fund-returns-col{min-width:0}.calc-fund-empty-state{color:#94a3b8;padding:1rem 0;font-size:.875rem}.calculator-inputs{background:#fff;border:1px solid #e2e8f0;border-radius:12px;grid-area:inputs;height:fit-content;padding:1.5rem;box-shadow:0 2px 12px #0000000f}.calculator-inputs h3{color:#334155;margin-bottom:1.25rem;font-size:1rem;font-weight:600}.calc-input-group{margin-bottom:1.25rem}.calc-input-group label{color:#475569;margin-bottom:.375rem;font-size:.82rem;font-weight:500;display:block}.calc-input-group input[type=number],.calc-input-group select{background:#fff;border:1px solid #e2e8f0;border-radius:8px;width:100%;padding:.5rem .75rem;font-size:.9rem;transition:border-color .2s}.calc-input-group input[type=number]:focus,.calc-input-group select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.calc-slider{accent-color:#2563eb;cursor:pointer;width:100%;margin-top:.5rem}.calculator-results{grid-area:results;min-width:0}.calculator-results h3{color:#334155;margin-bottom:1rem;font-size:1rem;font-weight:600}.calc-result-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.calc-result-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:1.25rem;box-shadow:0 2px 8px #0000000d}.calc-result-card.highlight{background:#eff6ff;border-color:#bfdbfe}.calc-result-card.positive{background:#f0fdf4;border-color:#bbf7d0}.calc-result-card.negative{background:#fef2f2;border-color:#fecaca}.calc-result-label{color:#64748b;text-transform:uppercase;letter-spacing:.02em;margin-bottom:.375rem;font-size:.78rem;font-weight:500;display:block}.calc-result-value{color:#1a1a2e;font-size:1.25rem;font-weight:700;display:block}.calc-result-small{font-size:.9rem;font-weight:600}.calc-chart{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:1.5rem;padding:1.25rem;box-shadow:0 2px 8px #0000000d}.calc-chart h4{color:#334155;margin-bottom:1rem;font-size:.9rem;font-weight:600}.calc-table-section{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem;box-shadow:0 2px 8px #0000000d}.calc-table-section h4{color:#334155;margin-bottom:1rem;font-size:.9rem;font-weight:600}.calc-table-container{overflow-x:auto}.calc-table{border-collapse:collapse;width:100%;font-size:.85rem}.calc-table th{text-align:left;color:#475569;background:#f8fafc;border-bottom:2px solid #e2e8f0;padding:.6rem .75rem;font-weight:600}.calc-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:.5rem .75rem}.calc-table .positive{color:#16a34a}.calc-table .negative{color:#dc2626}.calc-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin-bottom:1.5rem;padding:.75rem 1rem;font-size:.875rem}.calc-formula{color:#1e293b;text-align:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:1rem 0;padding:1rem 1.25rem;font-family:Courier New,monospace;font-size:1rem}.calculator-content{border-top:1px solid #e2e8f0;max-width:800px;margin-top:1rem;padding-top:2rem}.calculator-content h2{color:#1a1a2e;margin-bottom:.75rem;font-size:1.5rem;font-weight:700}.calculator-content h3{color:#334155;margin-top:1.75rem;margin-bottom:.5rem;font-size:1.15rem;font-weight:600}.calculator-content p{color:#475569;margin-bottom:.75rem;font-size:.95rem;line-height:1.75}.calculator-content ul{margin:.75rem 0 1rem 1.5rem}.calculator-content ul li{color:#475569;margin-bottom:.4rem;font-size:.92rem;line-height:1.7}.public-content{max-width:1200px;margin:0 auto;padding:1rem 1.5rem 3rem}@media (width<=768px){.calculator-layout{grid-template-columns:1fr;grid-template-areas:"fund""inputs""results"}.calc-fund-top-row,.calculators-grid,.calc-result-cards{grid-template-columns:1fr}.calculators-hub-header h1{font-size:1.5rem}.calculator-header h1{font-size:1.35rem}}.calc-select{color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:.6rem .75rem;font-size:.9rem}.calc-select:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.calc-hint{color:#94a3b8;margin-top:.35rem;font-size:.78rem;display:block}.calc-search-input{color:#1e293b;background:#fff;border:1px solid #cbd5e1;border-radius:6px;width:100%;padding:.6rem .75rem;font-size:.9rem}.calc-search-input:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.calc-fund-dropdown{z-index:50;background:#fff;border:1px solid #e2e8f0;border-top:none;border-radius:0 0 8px 8px;max-height:280px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 12px #0000001a}.calc-dropdown-item{cursor:pointer;border-bottom:1px solid #f1f5f9;flex-direction:column;gap:.15rem;padding:.6rem .75rem;transition:background .15s;display:flex}.calc-dropdown-item:hover,.calc-dropdown-item:focus{background:#eff6ff;outline:none}.calc-dropdown-name{color:#1e293b;font-size:.85rem;line-height:1.3}.calc-dropdown-code{color:#94a3b8;font-size:.72rem}.calc-dropdown-empty{text-align:center;color:#94a3b8;padding:1rem;font-size:.85rem}.calc-fund-returns-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-top:1.25rem;padding:1rem}.calc-fund-returns-section h4{color:#1e293b;margin:0 0 .75rem;font-size:.95rem;font-weight:600;line-height:1.4}.calc-fund-code{color:#94a3b8;margin-left:.5rem;font-size:.78rem;font-weight:400}.calc-returns-grid{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.6rem;display:grid}.calc-return-card{text-align:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;flex-direction:column;gap:.25rem;padding:.6rem .75rem;transition:border-color .15s,box-shadow .15s;display:flex}.calc-return-card-active{background:#eff6ff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.calc-return-period{color:#64748b;text-transform:uppercase;letter-spacing:.3px;font-size:.72rem;font-weight:500}.calc-return-value{font-size:1rem;font-weight:700}.calc-return-value.positive{color:#16a34a}.calc-return-value.negative{color:#dc2626}.calc-loading{text-align:center;color:#64748b;padding:.5rem;font-size:.85rem}.calc-no-data{text-align:center;color:#94a3b8;padding:.5rem;font-size:.85rem}.calc-divider{border:none;border-top:1px solid #e2e8f0;margin:1.5rem 0}@media (width<=768px){.calc-returns-grid{grid-template-columns:repeat(2,1fr)}}
