:root{--primary-dark:#1c2230;--secondary-dark:#2f3646;--light-dark:#363d4f;--accent:#4a5568;--background:#fff;--text-color:#1c2230;--text-secondary:#4a5568;--border-color:#e2e8f0;--card-bg:#fff;--section-bg:#f7fafc;--accent-bg:#edf2f7;--hover-bg:#2f3646;--hover-light:#4a5568}body{background-color:#fff;background-color:var(--background);color:#1c2230;color:var(--text-color)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.App{background-color:var(--background);min-height:100vh}*{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.navigation{background-color:var(--primary-dark);box-shadow:0 2px 4px #0000001a;justify-content:space-between;padding:1rem 2rem;width:100%}.navigation,.navigation-left{align-items:center;display:flex;flex-direction:row}.navigation-left{gap:1rem}.logo{cursor:pointer;transition:opacity .2s}.logo:hover{opacity:.8}.navigation-right{align-items:center;display:flex;flex-direction:row;gap:.5rem}.nav-button{background-color:initial;border:1px solid var(--secondary-dark);border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.5rem 1rem;transition:all .2s}.nav-button:hover{background-color:var(--hover-bg);border-color:var(--light-dark)}.nav-button.active{background-color:var(--secondary-dark);border-color:var(--secondary-dark);color:#fff}.login,.signup{align-items:center;background-color:var(--section-bg);display:flex;flex-direction:column;min-height:calc(100vh - 70px);padding:3rem 1rem}.auth-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 2px 8px #0000000f;max-width:420px;padding:2.5rem;width:100%}.auth-card h1{color:var(--primary-dark);font-size:1.75rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.auth-form{gap:1rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group{gap:.35rem}.form-group label{color:var(--text-secondary);font-size:.875rem;font-weight:600}.form-group input{background:var(--background);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:1rem;outline:none;padding:.6rem .75rem;transition:border-color .2s}.form-group input:focus{border-color:var(--accent)}.auth-button{background-color:var(--primary-dark);border:none;border-radius:4px;color:#fff;cursor:pointer;display:inline-block;font-size:1rem;font-weight:600;margin-top:.5rem;padding:.7rem 1.5rem;text-align:center;text-decoration:none;transition:background-color .2s}.auth-button:hover:not(:disabled){background-color:var(--secondary-dark)}.auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-error{background:#fff5f5;border:1px solid #feb2b2;border-radius:4px;color:#c53030;font-size:.9rem;margin-bottom:.5rem;padding:.6rem .75rem}.auth-success{background:#f0fff4;border:1px solid #9ae6b4;border-radius:4px;color:#276749;font-size:.95rem;line-height:1.5;margin-bottom:1.25rem;padding:.75rem}.auth-link{color:var(--text-secondary);font-size:.9rem;margin-bottom:0;margin-top:1.25rem;text-align:center}.auth-link a{color:var(--primary-dark);font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.page-loading{align-items:center;color:var(--text-secondary);display:flex;justify-content:center;min-height:200px}.admin{margin:0 auto;max-width:1000px;padding:2rem}.admin h1{color:var(--primary-dark);font-size:1.75rem;font-weight:700;margin:0 0 1.5rem}.admin-error{background:#fff5f5;border:1px solid #feb2b2;border-radius:4px;color:#c53030;font-size:.9rem;margin-bottom:1rem;padding:.6rem .75rem}.users-table-wrapper{border:1px solid var(--border-color);border-radius:6px;overflow-x:auto}.users-table{border-collapse:collapse;font-size:.9rem;width:100%}.users-table th{background:var(--section-bg);color:var(--text-secondary);font-weight:600;text-align:left;white-space:nowrap}.users-table td,.users-table th{border-bottom:1px solid var(--border-color);padding:.75rem 1rem}.users-table td{color:var(--text-color);vertical-align:middle}.users-table tr:last-child td{border-bottom:none}.users-table tr.pending{background:#fffaf0}.status-badge{border-radius:12px;display:inline-block;font-size:.8rem;font-weight:600;padding:.2rem .6rem}.status-badge.approved{background:#c6f6d5;color:#276749}.status-badge.pending{background:#feebc8;color:#7b341e}.status-badge.admin{background:#bee3f8;color:#2a4365}.status-badge.user{background:var(--accent-bg);color:var(--text-secondary)}.actions{display:flex;flex-wrap:wrap;gap:.4rem}.action-btn{border:none;border-radius:4px;cursor:pointer;font-size:.8rem;font-weight:600;padding:.3rem .7rem;transition:opacity .2s;white-space:nowrap}.action-btn:hover{opacity:.85}.action-btn.approve{background:#48bb78;color:#fff}.action-btn.deny{background:#fc8181;color:#fff}.action-btn.promote{background:#63b3ed;color:#fff}.action-btn.demote{background:#a0aec0;color:#fff}.no-users{color:var(--text-secondary);padding:2rem!important;text-align:center}.stocks{margin:0 auto;max-width:900px;padding:2rem}.stocks-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.stocks-header h1{color:var(--text-color);font-size:2rem;font-weight:700;margin:0}.add-stock-form{align-items:center;display:flex;gap:.5rem}.add-stock-input{background:var(--background);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:1rem;outline:none;padding:.55rem .85rem;text-transform:uppercase;transition:border-color .2s;width:140px}.add-stock-input::placeholder{color:var(--text-secondary);opacity:.7;text-transform:none}.add-stock-input:focus{border-color:var(--accent)}.add-stock-btn{background-color:var(--primary-dark);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.95rem;font-weight:600;padding:.55rem 1.1rem;transition:background-color .2s;white-space:nowrap}.add-stock-btn:hover:not(:disabled){background-color:var(--secondary-dark)}.add-stock-btn:disabled{cursor:not-allowed;opacity:.6}.stocks-error{background:#fff5f5;border:1px solid #feb2b2;border-radius:4px;color:#c53030;font-size:.9rem;margin-bottom:1.25rem;padding:.6rem .85rem}.stocks-grid{display:flex;flex-direction:column;gap:.75rem}.stock-card{align-items:center;background-color:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem;transition:box-shadow .2s,border-color .2s}.stock-card:hover{border-color:var(--secondary-dark);box-shadow:0 2px 8px #1c22301a}.stock-card-clickable{cursor:pointer}.stock-card-clickable:focus{outline:2px solid var(--accent);outline-offset:2px}.stock-card-main{align-items:baseline;display:flex;flex-shrink:0;gap:.75rem;min-width:130px}.stock-symbol{color:var(--primary-dark);font-family:monospace;font-size:1.1rem;font-weight:700}.stock-exchange{color:var(--text-secondary);font-size:.78rem;font-weight:500;text-transform:uppercase}.stock-card-meta{flex:1 1;min-width:0}.stock-name{color:var(--text-color);font-size:.95rem;font-weight:600}.stock-detail,.stock-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stock-detail{color:var(--text-secondary);font-size:.8rem;margin-top:.2rem}.stock-card-right{align-items:center;display:flex;flex-shrink:0;gap:1rem}.stock-currency{background:var(--accent-bg);border-radius:4px;color:var(--text-secondary);font-size:.8rem;font-weight:600;padding:.2rem .5rem}.stock-remove-btn{background:#0000;border:1px solid #fc8181;border-radius:4px;color:#c53030;cursor:pointer;font-size:.8rem;font-weight:600;padding:.3rem .7rem;transition:all .2s}.stock-remove-btn:hover:not(:disabled){background:#fc8181;color:#fff}.stock-remove-btn:disabled{cursor:not-allowed;opacity:.4}.stocks-empty{border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);padding:3rem 1rem;text-align:center}.stocks-empty p{font-size:1rem;margin:0}.stocks-empty .stocks-empty-hint{font-size:.875rem;margin-top:.5rem;opacity:.7}.stocks-empty-tight{padding:1.25rem 1rem}.stock-detail{margin:0 auto;max-width:960px}.stock-detail-back{background:none;border:none;color:var(--primary-dark);cursor:pointer;display:inline-block;font-size:.95rem;font-weight:600;margin-bottom:1rem;padding:.35rem 0;text-decoration:underline}.stock-detail-back:hover{color:var(--secondary-dark)}.stock-detail-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1.25rem}.stock-detail-title{align-items:baseline;display:flex;font-size:1.35rem;gap:.65rem;margin:0 0 .35rem}.stock-detail-meta{color:var(--text-secondary);font-size:.85rem;margin-top:.25rem}.quote-toolbar{align-items:flex-end;background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-bottom:.5rem;padding:1rem}.quote-date-label{color:var(--text-secondary);display:flex;flex-direction:column;font-size:.8rem;font-weight:600;gap:.25rem}.quote-date-label input{background:var(--background);border:1px solid var(--border-color);border-radius:4px;color:var(--text-color);font-size:.9rem;padding:.45rem .5rem}.quote-btn{border:none;border-radius:4px;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1rem}.quote-btn:disabled{cursor:not-allowed;opacity:.55}.quote-btn-secondary{background:var(--background);border:1px solid var(--border-color);color:var(--text-color)}.quote-btn-secondary:hover:not(:disabled){border-color:var(--secondary-dark)}.quote-btn-primary{background-color:var(--primary-dark);color:#fff}.quote-btn-primary:hover:not(:disabled){background-color:var(--secondary-dark)}.quote-toolbar-hint{color:var(--text-secondary);font-size:.8rem;line-height:1.45;margin:0 0 1rem}.stored-range-line{color:var(--text-color);font-size:.9rem;margin:0 0 .75rem}.stored-range-count{color:var(--text-secondary);font-weight:400}.quotes-truncated-note{background:#fffbeb;border:1px solid #f6e05e;border-radius:4px;color:#744210;font-size:.85rem;margin-bottom:.75rem;padding:.5rem .75rem}.quotes-table-wrap{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.quotes-table{border-collapse:collapse;font-size:.85rem;width:100%}.quotes-table td,.quotes-table th{border-bottom:1px solid var(--border-color);padding:.45rem .65rem;text-align:right}.quotes-table th{background:var(--accent-bg);color:var(--text-color);font-weight:600;text-align:right;white-space:nowrap}.quotes-table td:first-child,.quotes-table th:first-child{text-align:left}.quotes-table tbody tr:hover{background:var(--accent-bg)}.quotes-td-date{font-family:monospace;white-space:nowrap}.quotes-td-vol{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.markets-page{margin:0 auto;max-width:960px;padding:2rem}.markets-header h1{color:var(--text-color);font-size:2rem;font-weight:700;margin:0 0 .75rem}.markets-lede{color:var(--text-secondary);font-size:.95rem;line-height:1.55;margin:0 0 1.5rem;max-width:52rem}.markets-error{background:#fff5f5;border:1px solid #feb2b2;border-radius:4px;color:#c53030;font-size:.9rem;margin-bottom:1rem;padding:.6rem .85rem}.markets-muted{color:var(--text-secondary);font-size:.95rem}.markets-index-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.markets-chip{align-items:flex-start;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;padding:.5rem .85rem;text-align:left;transition:border-color .2s,box-shadow .2s}.markets-chip:hover{border-color:var(--secondary-dark)}.markets-chip.active{border-color:var(--primary-dark);box-shadow:0 0 0 1px var(--primary-dark)}.markets-chip-key{color:var(--primary-dark);font-family:monospace;font-size:.95rem;font-weight:700}.markets-chip-yahoo{color:var(--text-secondary);font-family:monospace;font-size:.72rem}.markets-detail{border-top:1px solid var(--border-color);padding-top:1.25rem}.markets-detail-head{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:1rem}.markets-detail-head h2{align-items:baseline;display:flex;flex-wrap:wrap;font-size:1.35rem;gap:.65rem;margin:0}.markets-yahoo-ref{color:var(--text-secondary);font-family:monospace;font-size:.85rem;font-weight:500}.markets-fetch-btn{background-color:var(--primary-dark);border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.55rem 1.1rem;transition:background-color .2s;white-space:nowrap}.markets-fetch-btn:hover:not(:disabled){background-color:var(--secondary-dark)}.markets-fetch-btn:disabled{cursor:not-allowed;opacity:.6}.markets-empty{border:2px dashed var(--border-color);border-radius:8px;color:var(--text-secondary);padding:2rem 1rem;text-align:center}.markets-empty p{margin:0}.markets-empty-hint{font-size:.875rem;margin-top:.5rem;opacity:.85}.markets-row-count{color:var(--text-secondary);font-size:.85rem;margin:0 0 .5rem}.markets-table-wrap{background:var(--card-bg);border:1px solid var(--border-color);border-radius:8px;overflow-x:auto}.markets-table{border-collapse:collapse;font-size:.85rem;width:100%}.markets-table td,.markets-table th{border-bottom:1px solid var(--border-color);padding:.45rem .65rem;text-align:right}.markets-table th{background:var(--accent-bg);color:var(--text-color);font-weight:600;white-space:nowrap}.markets-table td:first-child,.markets-table th:first-child{text-align:left}.markets-table tbody tr:hover{background:var(--accent-bg)}.markets-td-date{font-family:monospace;white-space:nowrap}.markets-td-vol{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.home{align-items:center;display:flex;flex-direction:column;gap:1rem;padding:3rem}.home h1{color:var(--text-color);font-size:2.5rem;font-weight:700;margin:0}.home p{color:var(--text-secondary);font-size:1.2rem;margin:0}.apps{display:flex;flex-direction:column;gap:2rem;padding:2rem}.apps-header{align-items:center;display:flex;justify-content:center;padding:1rem}.apps-header h1{color:var(--text-color);font-size:2.5rem;font-weight:700;margin:0}.apps-container{display:flex;flex-direction:column;gap:1rem;margin:0 auto;max-width:800px;padding:1rem}.app-item{margin-bottom:1rem}.app-card{background-color:var(--card-bg);border:2px solid var(--secondary-dark);border-radius:8px;color:var(--text-color);display:block;padding:1.5rem;transition:all .2s}.app-card:hover{border-color:var(--light-dark);box-shadow:0 4px 12px #1c223033;transform:translateY(-2px)}.app-card h2{color:var(--primary-dark);font-size:1.5rem;margin:0 0 .5rem}.app-platform{color:var(--text-secondary);font-size:.9rem;font-weight:500;margin:0 0 .5rem;text-transform:uppercase}.app-description{color:var(--text-secondary);font-size:1rem;margin:0 0 .75rem}.app-links{display:flex;gap:1rem;margin-top:.5rem}.app-link{color:var(--secondary-dark);display:inline-block;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s}.app-link:hover{color:var(--light-dark);text-decoration:underline}.privacy{display:flex;flex-direction:column;gap:2rem;margin:0 auto;max-width:900px;padding:2rem}.privacy-header{border-bottom:2px solid var(--secondary-dark);margin-bottom:1rem;padding:1rem;text-align:center}.privacy-header h1{color:var(--text-color);font-size:2.5rem;font-weight:700;margin:0 0 .5rem}.last-updated{color:var(--text-secondary);font-size:.9rem;margin:0}.privacy-content{display:flex;flex-direction:column;gap:2rem}.privacy-content section{margin-bottom:2rem}.privacy-content h2{border-bottom:1px solid var(--border-color);color:var(--primary-dark);font-size:1.8rem;margin:0 0 1rem;padding-bottom:.5rem}.privacy-content h3{color:var(--secondary-dark);font-size:1.3rem;margin:1.5rem 0 .75rem}.privacy-content p{color:var(--text-color);line-height:1.6;margin:0 0 1rem}.privacy-content ul{color:var(--text-color);line-height:1.8;margin:.5rem 0 1.5rem 2rem;padding:0}.privacy-content li{margin-bottom:.5rem}.privacy-content a{color:var(--secondary-dark);text-decoration:none;transition:color .2s}.privacy-content a:hover{color:var(--light-dark);text-decoration:underline}.privacy-content strong{color:var(--text-color);font-weight:600}.summary{background-color:var(--section-bg);border:2px solid var(--secondary-dark);border-radius:8px;margin-top:1rem;padding:1.5rem}.summary h2{border-bottom:none;margin-top:0}.summary ul{list-style:none;margin-left:0}.summary li{padding:.25rem 0}@media (max-width:768px){.privacy{padding:1rem}.privacy-header h1{font-size:2rem}.privacy-content h2{font-size:1.5rem}.privacy-content h3{font-size:1.1rem}}.wiki{margin:0 auto;max-width:900px;padding:2rem}.wiki-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.wiki-header h1{font-size:2rem;margin:0}.wiki-header-actions{display:flex;gap:1rem}.wiki-back-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.wiki-back-button:hover{background-color:#0056b3}.wiki-content{line-height:1.6}.wiki-content h1,.wiki-content h2,.wiki-content h3{margin-bottom:1rem;margin-top:2rem}.wiki-content h2{border-bottom:1px solid #e0e0e0;padding-bottom:.5rem}.wiki-content code{background-color:#f4f4f4;border-radius:3px;font-family:Courier New,monospace;font-size:.9em;padding:.2rem .4rem}.wiki-content pre{background-color:#f4f4f4;border-radius:4px;overflow-x:auto;padding:1rem}.wiki-content pre code{background-color:initial;padding:0}.wiki-content ol,.wiki-content ul{margin-bottom:1rem;margin-left:2rem}.wiki-content a{color:#007bff;text-decoration:none}.wiki-content a:hover{text-decoration:underline}.wiki-error{background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:2rem}.wiki-error code{background-color:#e9ecef;border-radius:3px;padding:.2rem .4rem}.trump{align-items:center;display:flex;flex-direction:column;gap:.5rem;padding:3rem}.trump h1{color:var(--text-color);font-size:2rem;font-weight:700;margin:0;text-align:center}.trump-block{align-items:center;border-bottom:1px solid var(--text-secondary);display:flex;flex-direction:column;gap:.5rem;padding:2rem 0}.trump-block:last-child{border-bottom:none}.trump-block-title{font-size:1.4rem;text-align:center}.trump-block-title,.trump-countdown{color:var(--text-color);font-weight:700;margin:0}.trump-countdown{font-feature-settings:"tnum";font-size:3rem;font-variant-numeric:tabular-nums}.trump-countdown-labels{font-size:.9rem}.trump-countdown-labels,.trump-note{color:var(--text-secondary);margin:0}.trump-note{font-size:.95rem}.error{align-items:center;background-color:var(--section-bg);border:2px solid var(--secondary-dark);border-radius:8px;display:flex;justify-content:center;margin:2rem auto;min-height:200px;min-width:300px;padding:2rem}.error p{color:var(--text-color);font-size:1.2rem;margin:0;text-align:center}
/*# sourceMappingURL=main.a4a65310.css.map*/