*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;color-scheme:light only}body{background-color:#f5f7fa;color:#333;color-scheme:light only;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;overflow-x:hidden;padding:20px}.container{margin:0 auto;max-width:1200px}h1{margin-bottom:30px;text-align:center}h1,h2{color:#2c3e50}h2{border-bottom:2px solid #eaeaea;margin-bottom:20px;padding-bottom:10px}.card{background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;margin-bottom:30px;padding:25px}.form-group{margin-bottom:20px}label{display:block;font-weight:600;margin-bottom:5px}input{background-color:#fff;border:1px solid #ddd;border-radius:4px;color:#333;color-scheme:light only;font-size:16px;padding:10px;width:100%}.form-hint{color:#7f8c8d;display:block;font-size:12px;margin-top:5px}input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}button,input,select,textarea{color-scheme:light only}button{background-color:initial;color:inherit;font-family:inherit}select,textarea{background-color:#fff;color:#333}.navigation-tabs{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;justify-content:space-between;margin-bottom:30px;padding:10px 20px}.nav-left{display:flex;gap:8px}.nav-right{align-items:center;display:flex;gap:12px}.tab-button{background-color:initial;border-radius:6px;color:#6b7280;font-family:inherit;padding:12px 20px}.tab-button:hover{background-color:#f3f4f6;color:#374151}.tab-button.active{background-color:#e0f2fe;color:#1e40af;font-weight:600}.tab-button:focus{box-shadow:0 0 0 3px #3b82f60d;outline:none}.btn{background-color:#3498db;color:#fff;font-size:16px;font-weight:600;padding:12px 20px;transition:background-color .3s}.btn:hover{background-color:#2980b9}.value{font-size:24px}.table-container{overflow-x:auto}table{border-collapse:collapse;margin-top:10px;width:100%}td,th{border-bottom:1px solid #eaeaea;padding:8px 15px;text-align:left}th{color:#2c3e50;font-weight:600}tbody tr:hover,th{background-color:#f8f9fa}.action-btn{background-color:#e74c3c;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:14px;padding:6px 10px;transition:background-color .3s}.action-btn:hover{background-color:#c0392b}.chart-container{height:650px;margin-top:20px;padding-bottom:40px;position:relative;width:100%}.loading-indicator{align-items:center;background-color:#f8f9fa;border-radius:4px;display:flex;margin:15px 0;padding:10px}.spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:20px;margin-right:10px;width:20px}.hidden{display:none!important}.no-data-message{color:#7f8c8d;font-style:italic;margin-top:20px;text-align:center}.ad-column{transition:all .3s ease}.ad-column .card{transition:transform .2s ease,box-shadow .2s ease}.ad-column .card:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.adsbygoogle{background-color:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;transition:opacity .3s ease}.adsbygoogle[data-adsbygoogle-status=done]{background-color:initial;border:none}@media (min-width:769px){.ad-column{height:fit-content;max-height:calc(100vh - 40px);overflow-y:auto;position:sticky;scrollbar-color:#cbd5e0 #f7fafc;scrollbar-width:thin;top:20px}.ad-column::-webkit-scrollbar{width:6px}.ad-column::-webkit-scrollbar-track{background:#f7fafc;border-radius:3px}.ad-column::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:3px}.ad-column::-webkit-scrollbar-thumb:hover{background:#a0aec0}}@media (max-width:768px){body{padding:10px}h1{font-size:1.8rem;margin-bottom:20px}h2{font-size:1.4rem;margin-bottom:15px}.card{margin-bottom:20px;padding:15px}.wallet-summary{flex-direction:column;gap:15px}.summary-item{align-items:center;background-color:#fff;border:1px solid #e9ecef;border-radius:6px;display:flex;justify-content:space-between;margin-bottom:0;padding:10px;text-align:left}.summary-item .label{font-size:14px;margin-bottom:0}.summary-item .value{font-size:18px}td,th{font-size:14px;padding:8px 6px}.table-container table td:nth-child(3),.table-container table td:nth-child(5),.table-container table th:nth-child(3),.table-container table th:nth-child(5){display:none}.chart-container{height:400px;margin:10px -15px 0}.btn{padding:14px 20px;width:100%}.btn,input{font-size:16px}input{padding:12px}.navigation-tabs{margin:-10px -10px 20px;padding:0 10px}.tab-button{flex:1 1;font-size:14px;padding:15px 12px}}@media (max-width:480px){body{padding:8px}.card{margin-bottom:15px;padding:12px}h1{font-size:1.5rem}h2{font-size:1.2rem}.summary-item .value{font-size:16px}.summary-item .label,td,th{font-size:13px}td,th{padding:6px 4px}.chart-container{height:350px}.form-group{margin-bottom:15px}.floating-chart-button{bottom:15px!important;font-size:13px!important;padding:10px 14px!important;right:15px!important}}@media (max-width:768px) and (orientation:landscape){.chart-container{height:300px}}@media (min-width:769px) and (max-width:1024px){.wallet-summary{flex-wrap:wrap;gap:10px}.summary-item{flex:1 1;min-width:calc(50% - 5px)}}.mobile-table-card{display:none}@media (max-width:600px){.table-container table{display:none}.mobile-table-card{display:block}.stock-card{background:#fff;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:15px;padding:15px}.stock-card-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.stock-symbol{color:#2c3e50;font-size:18px;font-weight:700}.stock-details{grid-gap:10px;display:grid;gap:10px;grid-template-columns:1fr 1fr;margin-bottom:12px}.stock-detail{display:flex;flex-direction:column}.stock-detail-label{color:#7f8c8d;font-size:12px;font-weight:600;margin-bottom:2px}.stock-detail-value{color:#2c3e50;font-size:14px;font-weight:500}.stock-value-highlight{background:#f8f9fa;border-radius:4px;font-size:16px;font-weight:700;margin-top:8px;padding:8px;text-align:center}.mobile-remove-btn{background-color:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px;transition:background-color .3s;width:100%}.mobile-remove-btn:hover{background-color:#c0392b}}.initial-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#f5f7faf2;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:9999}.initial-loading-content{background:#fff;border-radius:12px;box-shadow:0 8px 24px #00000026;max-width:400px;padding:40px;text-align:center;width:90%}.initial-loading-content .loading-spinner{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:48px;margin:0 auto 20px;width:48px}.initial-loading-content h2{color:#2c3e50;font-size:24px;font-weight:600;margin:0 0 10px}.initial-loading-content p{color:#7f8c8d;font-size:16px;margin:0}@media (max-width:768px){.initial-loading-content{max-width:350px;padding:30px 20px}.initial-loading-content .loading-spinner{height:40px;margin-bottom:15px;width:40px}.initial-loading-content h2{font-size:20px;margin-bottom:8px}.initial-loading-content p{font-size:14px}}.profile-form-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.profile-field-label{color:#374151;font-size:.875rem;font-weight:500}.required-asterisk{color:#dc2626;margin-left:4px}.profile-field-input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;font-size:1rem;padding:12px 16px;transition:all .2s ease}.profile-field-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.profile-field-input.error{border-color:#dc2626;box-shadow:0 0 0 3px #dc26261a}.profile-field-input:disabled{background-color:#f3f4f6;color:#6b7280;cursor:not-allowed}.profile-field-error{color:#dc2626;font-size:.75rem;font-weight:500}.field-description{color:#6b7280;font-size:.75rem;line-height:1.4;margin-top:2px}.change-password-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.change-password-modal{-webkit-overflow-scrolling:touch;animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0003;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.change-password-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.change-password-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.change-password-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.change-password-close:hover{background-color:#f3f4f6;color:#374151}.change-password-body{padding:0 24px 24px}.form-fields-group{margin-bottom:24px}.password-field-container{position:relative}.password-strength{margin-bottom:16px;margin-top:8px}.strength-bar{background-color:#e5e7eb;height:4px;margin-bottom:4px;overflow:hidden}.strength-fill{border-radius:2px;height:100%;transition:all .3s ease}.strength-text{font-size:.875rem;font-weight:500}.password-tips{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:24px;padding:16px}.password-tips h4{color:#374151;font-size:.9rem;font-weight:600;margin:0 0 12px}.requirements-list{list-style:none;margin:0;padding:0}.requirements-list li{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:8px;margin-bottom:6px;transition:color .2s ease}.requirements-list li:before{color:#dc2626;content:"○";font-weight:700;transition:all .2s ease}.requirements-list li.satisfied{color:#059669}.requirements-list li.satisfied:before{color:#16a34a;content:"✓"}.requirement-check{color:#059669;font-weight:700;margin-left:8px}.change-password-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:16px}.change-button{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .2s ease}.change-button:hover:not(:disabled){background-color:#2563eb}.change-button:disabled{background-color:#9ca3af;cursor:not-allowed}@media (prefers-contrast:high){.change-password-modal{background:#fff;border:3px solid #000}.change-password-close:focus{border-color:#06c;outline:3px solid #06c;outline-offset:2px}button{border:2px solid #000}.change-button{background:#06c;border-color:#06c;color:#fff}.cancel-button{background:#fff;border-color:#000;color:#000}}@media (max-width:768px){.change-password-modal{margin:20px auto;max-height:calc(100vh - 40px);width:95%}button{padding:12px 16px}.change-password-close,button{min-height:48px;min-width:48px}.change-password-footer{background:#fff;border-top:2px solid #e5e7eb;bottom:0;box-shadow:0 -4px 6px -1px #0000001a;flex-direction:column-reverse;gap:12px;margin:0 -24px -24px;padding:16px 24px;position:sticky}.change-password-footer button{width:100%}}@supports (padding:max(0px)){.change-password-modal{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}}.email-change-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1001}.email-change-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0003;max-width:450px;width:90%}.email-change-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.email-change-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.email-change-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.email-change-close:hover{background-color:#f3f4f6;color:#374151}.email-change-body{padding:0 24px 24px;text-align:center}.warning-icon{font-size:3rem;margin-bottom:16px}.warning-title{color:#d97706;font-size:1.25rem;font-weight:600;margin-bottom:16px}.warning-content{margin-bottom:24px;text-align:left}.warning-content p{color:#374151;font-weight:500;margin-bottom:8px}.warning-list{list-style:none;margin:0;padding:0}.warning-list li{color:#dc2626;margin-bottom:8px;padding-left:20px;position:relative}.warning-list li:before{color:#dc2626;content:"•";font-weight:700;left:0;position:absolute}.new-email-display{background-color:#f3f4f6;border-radius:8px;margin-bottom:24px;padding:12px 16px;text-align:left}.email-highlight{color:#3b82f6;font-weight:600}.confirmation-checkbox{align-items:center;display:flex;gap:12px;margin-bottom:24px;text-align:left}.confirmation-checkbox input[type=checkbox]{cursor:pointer;height:18px;width:18px}.checkbox-text{color:#374151;font-weight:500}.email-change-footer{display:flex;gap:12px;justify-content:flex-end}.confirm-button{background-color:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .2s ease}.confirm-button:hover:not(.disabled){background-color:#b91c1c}.confirm-button.disabled{background-color:#9ca3af;cursor:not-allowed}.error-boundary{border-radius:8px}.error-boundary h3{margin:0 0 16px}.error-boundary p{color:#6b7280;margin:0 0 20px}.error-boundary button{padding:8px 16px;transition:background-color .2s}:focus{outline:2px solid #3b82f6}@media (prefers-contrast:high){.email-change-modal{background:#fff;border:3px solid #000}.email-change-close:focus{border-color:#06c;outline:3px solid #06c;outline-offset:2px}button{border:2px solid #000}.confirm-button{background:#06c;border-color:#06c;color:#fff}.cancel-button{background:#fff;border-color:#000;color:#000}}@media (max-width:768px){.email-change-modal{-webkit-overflow-scrolling:touch;margin:20px auto;max-height:calc(100vh - 40px);width:95%}button{padding:12px 16px}.email-change-close,button{min-height:48px;min-width:48px}.confirmation-checkbox input[type=checkbox]{height:20px;width:20px}.email-change-footer{background:#fff;border-top:2px solid #e5e7eb;bottom:0;box-shadow:0 -4px 6px -1px #0000001a;flex-direction:column-reverse;gap:12px;margin:0 -24px -24px;padding:16px 24px;position:sticky}.email-change-footer button{width:100%}}@supports (padding:max(0px)){.email-change-modal{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}}.confirmation-checkbox{cursor:pointer;transition:all .2s ease}.confirmation-checkbox:hover{background-color:#f9fafb}.confirmation-checkbox input[type=checkbox]:focus{outline:2px solid #3b82f6;outline-offset:2px}.profile-edit-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.profile-edit-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}.profile-edit-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.profile-edit-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.profile-edit-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.profile-edit-close:hover{background-color:#f3f4f6;color:#374151}.profile-edit-body{padding:0 24px 24px}.success-message{background-color:#d1fae5;border:1px solid #a7f3d0;border-radius:8px;color:#065f46}.success-message,.validation-errors{font-size:.9rem;margin-bottom:20px;padding:12px 16px}.validation-errors{background-color:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626}.validation-errors ul{margin:0;padding-left:20px}.validation-errors li{margin-bottom:4px}.profile-avatar-section{display:flex;justify-content:center;margin-bottom:32px}.profile-avatar-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;font-size:2rem;font-weight:600;height:80px;justify-content:center;width:80px}.section-title{align-items:center;color:#111827;display:flex;font-size:1.125rem;font-weight:500;gap:8px;margin-bottom:16px}.profile-info-section{margin-bottom:32px}.form-fields-group{display:flex;flex-direction:column;gap:16px}.profile-security-section{margin-bottom:32px}.security-actions{display:flex;flex-direction:column;gap:12px}.change-password-btn{align-items:center;cursor:not-allowed;display:flex;justify-content:space-between;padding:12px 16px}.profile-edit-footer{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:flex-end;padding-top:24px}.cancel-button{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .2s ease}.cancel-button:hover{background-color:#f9fafb;border-color:#9ca3af}.save-button{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .2s ease}.save-button:hover:not(.disabled):not(:disabled){background-color:#2563eb}.save-button.disabled,.save-button:disabled{background-color:#9ca3af;cursor:not-allowed}.change-password-btn{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:12px 24px;text-align:left;transition:all .2s ease;width:100%}.change-password-btn:hover{background-color:#f9fafb;border-color:#9ca3af}@media (max-width:480px){.profile-edit-modal{margin:16px;width:calc(100% - 32px)}.profile-edit-header{padding:20px 20px 0}.profile-edit-body{padding:0 20px 20px}.profile-edit-footer{flex-direction:column}}.auto-save-indicator{align-items:center;border-radius:6px;display:flex;font-size:.75rem;gap:8px;margin-bottom:16px;padding:8px 12px;transition:all .3s ease}.auto-save-indicator.saving{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1d4ed8}.auto-save-indicator.saved{background-color:#f0fdf4;border:1px solid #bbf7d0;color:#166534}.auto-save-indicator.error{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.auto-save-spinner{animation:spin 1s linear infinite;border:2px solid #bfdbfe;border-radius:50%;border-top-color:#1d4ed8;height:12px;width:12px}.auto-save-check{color:#059669;font-weight:700}.auto-save-error{color:#dc2626;font-weight:700}.offline-indicator{background-color:#fef3c7;border:1px solid #f59e0b;border-radius:8px;color:#92400e;margin-bottom:16px;padding:12px 16px}.offline-icon{font-size:1rem}.unsaved-warning-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.unsaved-warning-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 25px 50px -12px #00000040;max-width:400px;padding:24px;text-align:center;width:90%}.unsaved-warning-icon{font-size:3rem;margin-bottom:16px}.unsaved-warning-modal h3{color:#111827;font-size:1.25rem;font-weight:600;margin:0 0 12px}.unsaved-warning-modal p{color:#6b7280;line-height:1.5;margin:0 0 24px}.unsaved-warning-buttons{display:flex;gap:12px;justify-content:center}.unsaved-stay-button{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;color:#374151;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.unsaved-stay-button:hover{background-color:#f9fafb;border-color:#9ca3af}.unsaved-leave-button{background-color:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:all .2s ease}.unsaved-leave-button:hover{background-color:#b91c1c}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}@keyframes modalSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}.profile-field-input{transition:all .2s cubic-bezier(.4,0,.2,1)}.profile-field-input:focus{box-shadow:0 4px 12px #3b82f626;transform:translateY(-1px)}button{transition:all .2s cubic-bezier(.4,0,.2,1)}button:hover:not(:disabled){box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}button:active{transform:translateY(0)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.loading-state{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.error-message,.success-message{animation:slideInRight .3s ease-out}@media (prefers-contrast:high){.profile-edit-modal{background:#fff;border:3px solid #000}.profile-field-input{background:#fff;border:2px solid #000;color:#000}.profile-field-input:focus{border-color:#06c;outline:3px solid #06c;outline-offset:2px}.profile-field-input.error{background:#ffe6e6;border-color:#d00}button{border:2px solid #000}.save-button{background:#06c;border-color:#06c;color:#fff}.cancel-button{background:#fff;border-color:#000;color:#000}}:focus{outline:2px solid #06c;outline-offset:2px}@media (max-width:768px){button{min-height:48px;min-width:48px;padding:12px 16px}.profile-field-input{font-size:16px;min-height:48px;padding:14px 16px}.profile-edit-modal{-webkit-overflow-scrolling:touch;margin:20px auto;max-height:calc(100vh - 40px);overflow-y:auto;width:95%}.profile-edit-footer{background:#fff;border-top:2px solid #e5e7eb;bottom:0;box-shadow:0 -4px 6px -1px #0000001a;flex-direction:column-reverse;gap:12px;margin:0 -24px -24px;padding:16px 24px;position:sticky}.profile-edit-footer button{width:100%}.unsaved-warning-buttons{flex-direction:column}.unsaved-warning-buttons button{width:100%}}@supports (padding:max(0px)){.profile-edit-modal{padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}}.error-boundary{background-color:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin:20px}.error-boundary h3{color:#dc2626;margin-bottom:12px}.error-boundary p{color:#7f1d1d;margin-bottom:20px}.error-boundary button{background-color:#dc2626;border:none;border-radius:6px;color:#fff;cursor:pointer;padding:10px 20px}.error-boundary button:hover{background-color:#b91c1c}.user-profile{display:inline-block;position:relative}.user-profile-button{align-items:center;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;font-family:inherit;gap:12px;min-width:200px;padding:8px 12px;text-align:left;transition:all .2s ease}.user-profile-button:hover{background-color:#f9fafb;border-color:#d1d5db;box-shadow:0 1px 3px #0000001a}.user-profile-button:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.user-avatar{font-size:.875rem;height:32px;width:32px}.user-avatar,.user-avatar-large{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-weight:600;justify-content:center}.user-avatar-large{font-size:1.125rem;height:48px;width:48px}.user-info{display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.user-name{color:#111827;font-size:.875rem;font-weight:500}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#6b7280;font-size:.75rem}.user-name-large{color:#111827;font-size:1rem;font-weight:600}.user-email-small,.user-name-large{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email-small{color:#6b7280;font-size:.875rem}.dropdown-icon{color:#6b7280;flex-shrink:0;transition:transform .2s ease}.dropdown-icon.open{transform:rotate(180deg)}.user-dropdown{animation:dropdownSlideIn .2s ease-out;background-color:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;margin-top:4px;min-width:280px;position:absolute;right:0;top:100%;z-index:50}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:16px}.user-details{display:flex;flex:1 1;flex-direction:column;gap:4px;min-width:0}.dropdown-divider{background-color:#e5e7eb;height:1px;margin:8px 0}.dropdown-menu{padding:8px 0}.dropdown-item{align-items:center;background:none;border:none;color:#374151;cursor:pointer;display:flex;font-family:inherit;font-size:.875rem;gap:12px;padding:12px 16px;position:relative;text-align:left;transition:background-color .2s ease;width:100%}.dropdown-item:focus,.dropdown-item:hover:not(:disabled){background-color:#f3f4f6}.dropdown-item:focus{outline:none}.dropdown-item:disabled{color:#9ca3af;cursor:not-allowed}.dropdown-item svg{color:#6b7280;flex-shrink:0}.dropdown-item:disabled svg{color:#d1d5db}.logout-item{border-top:1px solid #e5e7eb;color:#dc2626;margin-top:8px;padding-top:12px}.logout-item:hover{background-color:#fef2f2;color:#b91c1c}.logout-item svg{color:#dc2626}.logout-item:hover svg{color:#b91c1c}.coming-soon{background-color:#f3f4f6;border-radius:4px;color:#6b7280;font-size:.625rem;font-weight:500;margin-left:auto;padding:2px 6px}@media (max-width:640px){.user-profile-button{gap:8px;min-width:160px;padding:6px 10px}.user-avatar{height:28px;width:28px}.user-avatar,.user-name{font-size:.75rem}.user-email{font-size:.625rem}.user-dropdown{left:auto;min-width:240px;right:0}.dropdown-header{padding:12px}.user-avatar-large{font-size:1rem;height:40px;width:40px}}@media (max-width:480px){.user-dropdown{animation:dropdownSlideUp .3s ease-out;border-radius:12px;bottom:8px;left:8px;margin-top:0;position:fixed;right:8px;top:auto}}@keyframes dropdownSlideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (prefers-contrast:high){.user-dropdown,.user-profile-button{border-width:2px}.dropdown-item{border-bottom:1px solid #e5e7eb}}.dropdown-item:focus,.user-profile-button:focus{outline:2px solid #3b82f6;outline-offset:2px}.error-display{animation:slideIn .3s ease-out;border-radius:8px;margin:16px 0;overflow:hidden;padding:12px 16px;position:relative}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.error-content{display:flex;flex-direction:column;gap:8px}.error-header{align-items:flex-start;display:flex;gap:12px}.error-icon{flex-shrink:0;font-size:1.25rem;margin-top:2px}.error-message{flex-grow:1;font-size:.875rem;font-weight:500;line-height:1.4}.error-code{font-family:Courier New,monospace;font-size:.75rem;margin-left:32px;opacity:.8}.error-actions{align-items:center;display:flex;justify-content:space-between;margin-top:4px}.error-retry-btn{background:none;border:1px solid;border-radius:4px;color:inherit;cursor:pointer;font-size:.75rem;font-weight:500;padding:4px 12px;transition:all .2s ease}.error-retry-btn:hover{background-color:currentColor;color:#fff}.error-dismiss-btn{align-items:center;background:none;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;opacity:.7;padding:4px;transition:all .2s ease;width:24px}.error-dismiss-btn:hover{background-color:#0000001a;opacity:1}.error-network{background-color:#fef3c7;border:1px solid #f59e0b;color:#92400e}.error-server{background-color:#fde2e2;border:1px solid #f87171;color:#dc2626}.error-auth{background-color:#fef2f2;border:1px solid #fecaca;color:#dc2626}.error-validation{background-color:#fef3c7;border:1px solid #fbbf24;color:#d97706}.error-unknown{background-color:#f3f4f6;border:1px solid #9ca3af;color:#374151}.error-display.dismissing{animation:slideOut .3s ease-in forwards}@keyframes slideOut{0%{max-height:200px;opacity:1;transform:translateY(0)}to{margin:0;max-height:0;opacity:0;padding:0;transform:translateY(-10px)}}@media (max-width:480px){.error-display{margin:12px 0;padding:10px 12px}.error-header{gap:8px}.error-message{font-size:.8125rem}.error-code{font-size:.6875rem;margin-left:24px}}.success-notification{animation:slideInRight .4s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,#10b981,#059669);border-radius:12px;box-shadow:0 10px 25px #10b9814d;color:#fff;max-width:400px;min-width:320px;overflow:hidden;position:fixed;right:20px;top:20px;z-index:1001}.success-notification.leaving{animation:slideOutRight .3s cubic-bezier(.4,0,.2,1) forwards}.success-content{justify-content:space-between;padding:16px 20px}.success-content,.success-header{align-items:flex-start;display:flex;gap:12px}.success-header{flex-grow:1}.success-icon{flex-shrink:0;font-size:1.5rem;margin-top:2px}.success-message{flex-grow:1;font-size:.875rem;font-weight:500;line-height:1.4}.success-dismiss-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fffc;cursor:pointer;display:flex;flex-shrink:0;font-size:1.25rem;height:24px;justify-content:center;padding:4px;transition:all .2s ease;width:24px}.success-dismiss-btn:hover{background-color:#ffffff1a;color:#fff}.success-progress-bar{background-color:#fff3;height:3px;overflow:hidden}.success-progress-fill{animation:progressShrink linear forwards;background-color:#fff9;height:100%;transform-origin:left;width:100%}@keyframes progressShrink{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.success-registration{background:linear-gradient(135deg,#8b5cf6,#7c3aed);box-shadow:0 10px 25px #8b5cf64d}.success-login{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 10px 25px #3b82f64d}@media (max-width:640px){.success-notification{left:10px;max-width:none;min-width:auto;right:10px;top:10px}.success-content{padding:14px 16px}.success-message{font-size:.8125rem}.success-icon{font-size:1.25rem}}@media (prefers-contrast:high){.success-notification{border:2px solid #fff}.success-dismiss-btn{border:1px solid #ffffff80}}@media (prefers-reduced-motion:reduce){.success-notification{animation:fadeIn .3s ease}.success-notification.leaving{animation:fadeOut .3s ease forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}.success-progress-fill{animation:none;transform:scaleX(0)}}.forgot-password-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.forgot-password-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:400px;width:90%}.forgot-password-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.forgot-password-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.forgot-password-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.forgot-password-close:hover{background-color:#f3f4f6;color:#374151}.forgot-password-body{padding:0 24px 24px}.error-message,.validation-error{background-color:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.9rem;margin-bottom:20px;padding:12px 16px}.success-content{padding:24px 0;text-align:center}.success-icon{color:#16a34a;font-size:4rem;margin-bottom:16px}.success-content h3{color:#16a34a;font-size:1.25rem;font-weight:600;margin-bottom:16px}.success-description{color:#374151;line-height:1.5;margin-bottom:12px}.additional-info{color:#6b7280;font-size:.875rem;line-height:1.5;margin-bottom:24px}.success-actions{display:flex;justify-content:center}.back-to-login-btn{background-color:#3b82f6;border:1px solid #3b82f6;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .2s ease}.back-to-login-btn:hover{background-color:#2563eb;border-color:#2563eb}.forgot-password-description{color:#6b7280;line-height:1.5;margin-bottom:24px}.send-reset-button{background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;margin-bottom:16px;padding:12px 16px;transition:all .2s ease;width:100%}.send-reset-button:hover:not(:disabled){background-color:#2563eb}.send-reset-button:disabled{background-color:#9ca3af;cursor:not-allowed}.back-to-login-button{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.875rem;padding:8px;text-align:center;text-decoration:underline;width:100%}.back-to-login-button:hover{color:#2563eb}.forgot-password-success{padding:24px 0;text-align:center}.success-icon{align-items:center;background-color:#059669;border-radius:50%;color:#fff;display:flex;font-size:2rem;font-weight:700;height:64px;justify-content:center;margin:0 auto 16px;width:64px}.forgot-password-success h3{color:#111827;margin-bottom:8px}.forgot-password-success p{color:#6b7280;line-height:1.5;margin-bottom:24px}.auth-modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.auth-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:400px;overflow-y:auto;position:relative;width:90%}.modal-loading-overlay{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#ffffffe6;border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:10}.loading-spinner-overlay{align-items:center;color:#374151;display:flex;flex-direction:column;font-weight:500;gap:16px}.loading-spinner-overlay .spinner-icon{animation:spin 1s linear infinite;border:3px solid #3b82f633;border-radius:50%;border-top-color:#3b82f6;height:32px;width:32px}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.auth-modal-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:24px;padding:24px 24px 0}.auth-modal-header h2{color:#111827;font-size:1.5rem;font-weight:600;margin:0}.auth-modal-close{align-items:center;background:none;border:none;border-radius:4px;color:#6b7280;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;padding:4px;transition:all .2s ease;width:32px}.auth-modal-close:hover{background-color:#f3f4f6;color:#374151}.auth-modal-close:disabled{background-color:initial;color:#9ca3af;cursor:not-allowed;opacity:.5}.auth-modal-body{padding:0 24px 24px}.auth-form{gap:20px}.auth-form,.form-field{display:flex;flex-direction:column}.form-field{gap:6px}.form-field label{color:#374151;font-size:.875rem;font-weight:500}.form-field input{background-color:#fff;border:1px solid #d1d5db;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:1rem;padding:12px 16px;pointer-events:auto;transition:all .2s ease;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.form-field input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-field input.error{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441a}.form-field input:disabled{background-color:#f9fafb;border-color:#e5e7eb;color:#6b7280;cursor:not-allowed;opacity:.7;position:relative}.form-field input:disabled::placeholder{color:#9ca3af}.auth-form.loading{position:relative}.auth-form.loading:before{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#ffffff80;border-radius:8px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.form-field.loading input{animation:loading-pulse 1.5s infinite;background:linear-gradient(90deg,#f9fafb 25%,#f3f4f6 50%,#f9fafb 75%);background-size:200% 100%}@keyframes loading-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.error-message{color:#ef4444;font-size:.75rem;margin-top:4px}.auth-error{background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;margin:16px 0;padding:12px 16px}.auth-submit-button{align-items:center;background-color:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:500;justify-content:center;margin-top:8px;min-height:48px;padding:14px 20px;position:relative;transition:all .2s ease}.auth-submit-button:hover:not(:disabled){background-color:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.auth-submit-button:active:not(:disabled){transform:translateY(0)}.auth-submit-button:disabled{background-color:#9ca3af;box-shadow:none;cursor:not-allowed;opacity:.7;transform:none;transition:all .3s ease}.auth-submit-button.loading{background-color:#6366f1;overflow:hidden;position:relative}.auth-submit-button.loading:before{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#0000,#fff3,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;width:100%}@keyframes shimmer{0%{left:-100%}to{left:100%}}.loading-spinner{align-items:center;display:inline-flex;font-weight:500;gap:12px}.spinner-icon{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:18px;width:18px}.auth-submit-button.shake{animation:shake .5s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}.auth-mode-toggle{border-top:1px solid #e5e7eb;margin-top:24px;padding-top:24px;text-align:center}.auth-mode-toggle p{color:#6b7280;font-size:.875rem;margin:0}.auth-toggle-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.875rem;padding:0;text-decoration:underline;transition:color .2s ease}.auth-toggle-link:hover:not(:disabled){color:#2563eb}.auth-toggle-link:disabled{color:#9ca3af;cursor:not-allowed;text-decoration:none}.forgot-password-container{margin-top:8px;text-align:right}.forgot-password-link{background:none;border:none;color:#3b82f6;cursor:pointer;font-size:.875rem;padding:0;text-decoration:none;transition:color .2s ease}.forgot-password-link:hover:not(:disabled){color:#2563eb;text-decoration:underline}.forgot-password-link:disabled{color:#9ca3af;cursor:not-allowed}.forgot-password-link:focus{border-radius:2px;outline:2px solid #3b82f6;outline-offset:2px}@media (max-width:480px){.auth-modal{margin:16px;width:calc(100% - 32px)}.auth-modal-header{padding:20px 20px 0}.auth-modal-body{padding:0 20px 20px}.auth-modal-header h2{font-size:1.25rem}}.auth-modal-close:focus,.auth-submit-button:focus,.auth-toggle-link:focus,.form-field input:focus{outline:2px solid #3b82f6;outline-offset:2px}@media (prefers-contrast:high){.auth-modal{border:2px solid #000}.form-field input{border-width:2px}.auth-submit-button{border:2px solid #000}}.auth-button-container{align-items:center;display:flex;gap:12px}.auth-buttons{align-items:center;display:flex;gap:8px}.auth-btn{align-items:center;border:1px solid #0000;border-radius:8px;cursor:pointer;display:inline-flex;font-family:inherit;font-size:.875rem;font-weight:500;justify-content:center;letter-spacing:normal;min-height:36px;padding:8px 16px;text-decoration:none;text-transform:none;transition:all .2s ease}.auth-btn:focus{box-shadow:0 0 0 3px #3b82f61a;outline:none}.auth-btn-primary{background-color:#3b82f6;border-color:#3b82f6;color:#fff}.auth-btn-primary:hover{background-color:#2563eb;border-color:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.auth-btn-primary:active{box-shadow:0 2px 4px #3b82f64d;transform:translateY(0)}.auth-btn-secondary{background-color:#fff!important;border-color:#d1d5db;color:#374151!important}.auth-btn-secondary:hover{background-color:#f9fafb!important;border-color:#9ca3af;color:#111827!important}.auth-btn-secondary:active{background-color:#f3f4f6!important;color:#111827!important}.auth-loading{align-items:center;display:flex;justify-content:center;padding:8px}.loading-spinner-small{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:20px;width:20px}@media (max-width:640px){.auth-buttons{gap:6px}.auth-btn{font-size:.75rem;min-height:32px;padding:6px 12px}}@media (max-width:480px){.auth-button-container{gap:8px}.auth-buttons{flex-direction:column;gap:4px;width:100%}.auth-btn{min-width:80px;width:100%}}@media (prefers-contrast:high){.auth-btn{border-width:2px}.auth-btn-secondary{border-color:#000;color:#000}.auth-btn-secondary:hover{background-color:#000;color:#fff}}.auth-btn:focus-visible{outline:2px solid #3b82f6;outline-offset:2px}.password-strength-indicator{margin-top:8px}.strength-bar-container{background-color:#e5e7eb;border-radius:2px;height:4px;margin-bottom:4px;overflow:hidden;width:100%}.strength-bar{border-radius:2px;height:100%;transition:all .3s ease}.strength-bar.strength-0,.strength-bar.strength-1{background-color:#dc2626}.strength-bar.strength-2{background-color:#f59e0b}.strength-bar.strength-3{background-color:#eab308}.strength-bar.strength-4{background-color:#22c55e}.strength-bar.strength-5{background-color:#059669}.strength-label{font-size:.75rem;font-weight:500}.strength-label.strength-0,.strength-label.strength-1{color:#dc2626}.strength-label.strength-2{color:#f59e0b}.strength-label.strength-3{color:#eab308}.strength-label.strength-4{color:#22c55e}.strength-label.strength-5{color:#059669}.error-display-global{max-width:400px;pointer-events:none;position:fixed;right:20px;top:80px;width:100%;z-index:1000}.error-display-global__container{display:flex;flex-direction:column;gap:10px;pointer-events:auto}.error-display-global__overflow{align-items:center;background:#000c;border-radius:6px;color:#fff;display:flex;font-size:.875rem;justify-content:space-between;padding:8px 12px}.error-display-global__clear-all{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.75rem;padding:4px 8px;transition:background-color .2s}.error-display-global__clear-all:hover{background:#c82333}.error-toast{animation:slideInRight .3s ease-out;background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-bottom:10px;max-width:100%;overflow:hidden}.error-toast--network{border-left:4px solid #007bff}.error-toast--validation{border-left:4px solid #ffc107}.error-toast--api{border-left:4px solid #dc3545}.error-toast--conversion{border-left:4px solid #17a2b8}.error-toast--symbol{border-left:4px solid #6f42c1}.error-toast--unknown{border-left:4px solid #6c757d}.error-toast__header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;padding:12px 16px 8px}.error-toast__icon{font-size:1.2rem;margin-right:8px}.error-toast__title{color:#495057;flex:1 1;font-size:.875rem;font-weight:600}.error-toast__close{align-items:center;background:none;border:none;border-radius:4px;color:#6c757d;cursor:pointer;display:flex;font-size:1.5rem;height:24px;justify-content:center;padding:0;transition:background-color .2s;width:24px}.error-toast__close:hover{background:#e9ecef;color:#495057}.error-toast__content{padding:12px 16px}.error-toast__message{color:#212529;font-size:.875rem;line-height:1.4;margin-bottom:4px}.error-toast__details{color:#6c757d;font-size:.75rem;line-height:1.3}.error-toast__actions{display:flex;gap:8px;justify-content:flex-end;padding:8px 16px 12px}.error-toast__action-btn{border:none;border-radius:4px;cursor:pointer;font-size:.75rem;font-weight:500;padding:6px 12px;transition:all .2s}.error-toast__action-btn--primary{background:#007bff;color:#fff}.error-toast__action-btn--primary:hover{background:#0056b3}.error-toast__action-btn--secondary{background:#6c757d;color:#fff}.error-toast__action-btn--secondary:hover{background:#545b62}.error-toast__timestamp{color:#adb5bd;font-size:.7rem;padding:0 16px 8px;text-align:right}.offline-indicator{align-items:center;background:linear-gradient(135deg,#dc3545,#c82333);box-shadow:0 2px 4px #0000001a;color:#fff;display:flex;font-size:.875rem;font-weight:500;gap:8px;justify-content:center;left:0;padding:8px 16px;position:fixed;right:0;top:0;z-index:1001}.offline-indicator__icon{font-size:1rem}.error-boundary,.offline-indicator__message{text-align:center}.error-boundary{align-items:center;color:#495057;display:flex;flex-direction:column;justify-content:center;min-height:400px;padding:40px 20px}.error-boundary__icon{font-size:4rem;margin-bottom:20px}.error-boundary__title{color:#212529;font-size:1.5rem;font-weight:600;margin-bottom:12px}.error-boundary__message{font-size:1rem;line-height:1.5;margin-bottom:24px;max-width:500px}.error-boundary__retry-btn{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:12px 24px;transition:background-color .2s}.error-boundary__retry-btn:hover{background:#0056b3}.error-boundary__details{margin-top:20px;max-width:600px;text-align:left;width:100%}.error-boundary__details summary{color:#007bff;cursor:pointer;margin-bottom:10px}.error-boundary__details pre{background:#f8f9fa;border:1px solid #e9ecef;border-radius:4px;font-size:.875rem;overflow-x:auto;padding:16px}@keyframes slideInRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(100%)}}@media (max-width:768px){.error-display-global{left:10px;max-width:none;right:10px;top:60px}.error-toast{margin-bottom:8px}.error-toast__header{padding:10px 12px 6px}.error-toast__content{padding:10px 12px}.error-toast__actions{flex-direction:column;padding:6px 12px 10px}.error-toast__action-btn{justify-content:center;width:100%}.offline-indicator{font-size:.8rem;padding:6px 12px}.error-boundary{min-height:300px;padding:30px 15px}.error-boundary__icon{font-size:3rem}.error-boundary__title{font-size:1.25rem}}@media (prefers-color-scheme:dark){.error-toast{background:#2d3748;border-color:#4a5568;color:#e2e8f0}.error-toast__header{background:#1a202c;border-bottom-color:#4a5568}.error-toast__title{color:#e2e8f0}.error-toast__close{color:#a0aec0}.error-toast__close:hover{background:#4a5568;color:#e2e8f0}.error-toast__message{color:#e2e8f0}.error-toast__details{color:#a0aec0}.error-toast__timestamp{color:#718096}.error-boundary{background:#1a202c;color:#e2e8f0}.error-boundary__title{color:#f7fafc}.error-boundary__details pre{background:#2d3748;border-color:#4a5568;color:#e2e8f0}}.currency-switcher{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative}.currency-switcher.dropdown{min-width:200px}.currency-switcher-header{align-items:center;display:flex;gap:8px}.currency-dropdown-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;display:flex;flex:1 1;font-size:14px;justify-content:space-between;padding:8px 12px;transition:all .2s ease}.currency-dropdown-button:hover{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.currency-dropdown-button:disabled{cursor:not-allowed;opacity:.6}.currency-dropdown-button.open{border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.selected-currency{align-items:center;display:flex;gap:6px}.currency-flag{font-size:16px;line-height:1;margin-right:2px}.currency-symbol{color:#007bff;font-weight:700}.currency-code{font-weight:600}.currency-name,.dropdown-arrow{color:#666;font-size:12px}.dropdown-arrow{transition:transform .2s ease}.refresh-rates-button{background:#fff;border:1px solid #ddd;border-radius:6px;cursor:pointer;font-size:16px;padding:8px;transition:all .2s ease}.refresh-rates-button:hover{border-color:#28a745;color:#28a745}.refresh-rates-button:disabled{cursor:not-allowed;opacity:.6}.refresh-icon{display:inline-block;transition:transform .3s ease}.refresh-icon.spinning{animation:spin 1s linear infinite}.currency-dropdown-menu{background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;min-width:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:9999}.currency-dropdown-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #eee;color:#666;display:flex;font-size:12px;font-weight:600;justify-content:space-between;padding:12px}.last-updated{color:#888;font-size:11px}.currency-options{padding:8px 0}.currency-option{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:14px;gap:8px;padding:10px 12px;text-align:left;transition:background-color .2s ease;width:100%}.currency-option:hover{background-color:#f8f9fa}.currency-option.selected{background-color:#e3f2fd;color:#007bff;font-weight:600}.option-flag{font-size:16px;line-height:1;min-width:20px}.option-symbol{color:#007bff;font-weight:700;min-width:24px}.option-code{font-weight:600;min-width:40px}.option-name{color:#666;font-size:12px}.currency-switcher.button-group{display:flex;flex-direction:column;gap:8px}.currency-buttons{display:flex;flex-wrap:wrap;gap:4px}.currency-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:20px;cursor:pointer;display:flex;font-size:12px;font-weight:600;gap:4px;padding:6px 12px;transition:all .2s ease}.button-flag{font-size:14px;line-height:1}.currency-button:hover{border-color:#007bff;color:#007bff}.currency-button.active{background:#007bff;border-color:#007bff;color:#fff}.currency-button:disabled{cursor:not-allowed;opacity:.6}.currency-switcher.compact{display:inline-block}.currency-select{appearance:none;background:#fff!important;border:2px solid #007bff;border-radius:6px;color:#007bff!important;cursor:pointer;font-size:14px;font-weight:600;min-width:80px;padding:8px 12px;position:relative;transition:all .2s ease;z-index:1}.currency-select:hover{background:#f8f9fa!important;border-color:#0056b3;box-shadow:0 2px 4px #007bff33;transform:translateY(-1px)}.currency-select:focus{background:#fff!important;border-color:#0056b3;box-shadow:0 0 0 3px #007bff40;outline:none}.currency-error{align-items:center;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;display:flex;font-size:12px;justify-content:space-between;margin-top:8px;padding:8px 12px}.currency-error.compact{font-size:11px;margin-top:4px;padding:4px 8px}.error-dismiss{background:none;border:none;color:#721c24;cursor:pointer;font-size:16px;margin-left:8px;padding:0}.currency-indicator{display:flex;flex-direction:column;gap:4px}.primary-amount{color:#333;font-size:18px;font-weight:600}.conversion-details{color:#666;display:flex;flex-direction:column;font-size:12px;gap:2px}.original-amount{opacity:.8}.exchange-rate{font-style:italic;opacity:.7}@media (max-width:768px){.currency-switcher.dropdown{min-width:150px}.currency-dropdown-button{font-size:13px;padding:6px 10px}.currency-buttons{gap:2px}.currency-button{font-size:11px;padding:4px 8px}.primary-amount{font-size:16px}}.symbol-selection-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.symbol-selection-modal{background:#fff;border-radius:8px;box-shadow:0 10px 25px #0000001a;display:flex;flex-direction:column;max-height:80vh;max-width:600px;overflow:hidden;width:100%}.modal-header{background-color:#f8f9fa;border-bottom:1px solid #e5e5e5;padding:20px 24px}.modal-header h3{color:#333;font-size:1.25rem}.modal-close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#666;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background-color .2s ease;width:30px}.modal-close-btn:hover{background-color:#e9ecef;color:#333}.modal-body{padding:24px}.symbol-selection-description{color:#555;line-height:1.5;margin-bottom:20px;text-align:center}.loading-container{align-items:center;color:#666;display:flex;flex-direction:column;justify-content:center;padding:40px 20px}.loading-spinner{border-top-color:#007bff;height:32px;margin-bottom:16px;width:32px}.matches-list{display:flex;flex-direction:column;gap:12px}.match-option{background-color:#fff;border:2px solid #e5e5e5;border-radius:8px;cursor:pointer;padding:16px;transition:all .2s ease}.match-option:hover{background-color:#f8f9ff;border-color:#007bff;box-shadow:0 4px 8px #007bff1a;transform:translateY(-1px)}.match-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.match-symbol{color:#333;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:1.1rem;font-weight:600}.match-market{background-color:#f1f3f4;border-radius:12px;color:#666;font-size:.85rem;font-weight:500;padding:4px 8px}.match-details{display:flex;flex-direction:column;gap:4px}.match-name{color:#444;font-weight:500;line-height:1.3}.match-info{color:#666;display:flex;font-size:.85rem;gap:16px}.match-exchange{font-weight:500}.match-currency{color:#28a745;font-weight:500}.modal-footer{background-color:#f8f9fa;border-top:1px solid #e5e5e5;display:flex;justify-content:flex-end;padding:16px 24px}.btn{border:none;border-radius:4px;cursor:pointer;display:inline-block;font-weight:500;padding:8px 16px;text-align:center;text-decoration:none;transition:all .2s ease}.btn-secondary{background-color:#6c757d;color:#fff}.btn-secondary:hover{background-color:#545b62}@media (max-width:768px){.symbol-selection-modal-overlay{padding:10px}.symbol-selection-modal{max-height:90vh}.modal-body,.modal-footer,.modal-header{padding:16px}.match-option{padding:12px}.match-header{align-items:flex-start;flex-direction:column;gap:8px}.match-info{flex-direction:column;gap:4px}}.share-wallet-modal{align-items:center;bottom:0;display:flex;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#2c3e5099;bottom:0;left:0;position:absolute;right:0;top:0}.modal-content{background:#fff;border-radius:8px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;padding:25px;position:relative;transform:scale(1);transition:transform .2s ease;width:90%}.modal-header{align-items:center;border-bottom:1px solid #eaeaea;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:15px;padding-bottom:8px}.modal-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.close-button{align-items:center;background:#0000;border:none;border-radius:4px;color:#7f8c8d;cursor:pointer;display:flex;font-family:inherit;font-size:20px;height:32px;justify-content:center;padding:6px;transition:all .2s ease;width:32px}.close-button:hover{background-color:#f3f4f6;color:#2c3e50}.modal-body{display:flex;flex:1 1;flex-direction:column;overflow-y:auto}.modal-body>p{color:#2c3e50;font-size:14px;margin-bottom:15px}.url-warning{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:4px;color:#856404;font-size:13px;font-weight:500;margin-bottom:15px;padding:12px}.url-container{align-items:stretch;display:flex;flex-shrink:0;gap:12px;margin-bottom:15px}.share-url-input{background-color:#f8f9fa;border:1px solid #ddd;border-radius:4px;color:#333;flex:1 1;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;padding:10px;transition:border-color .3s ease,box-shadow .3s ease}.share-url-input:focus{border-color:#3498db;box-shadow:0 0 0 2px #3498db33;outline:none}.copy-button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-family:inherit;font-size:16px;font-weight:600;padding:12px 20px;transition:background-color .3s ease;white-space:nowrap}.copy-button:hover{background-color:#2980b9}.copy-button:focus{box-shadow:0 0 0 3px #3498db33;outline:none}.url-info{background-color:#f8f9fa;border-left:3px solid #3498db;border-radius:4px;color:#2c3e50;flex-shrink:0;font-size:13px;margin-bottom:15px;padding:12px}.url-info code{background-color:#e9ecef;border-radius:3px;color:#e74c3c;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;padding:2px 6px}.wallet-summary{background-color:#f8f9fa;border-radius:4px;display:flex;flex-shrink:0;justify-content:space-between;margin-bottom:20px;padding:15px}.summary-item{flex:1 1;text-align:center}.label{color:#7f8c8d;display:block;font-size:12px;font-weight:600;margin-bottom:5px}.value{color:#2c3e50;font-size:20px;font-weight:700}.portfolio-details{display:flex;flex:1 1;flex-direction:column;min-height:0}.portfolio-details h4{color:#2c3e50;flex-shrink:0;font-size:16px;font-weight:600;margin:0 0 12px}.stocks-list{background-color:#fff;border:1px solid #ddd;border-radius:4px;flex:1 1;min-height:200px;overflow-y:auto}.stock-item{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;padding:12px 15px;transition:background-color .2s ease}.stock-item:last-child{border-bottom:none}.stock-item:hover{background-color:#f8f9fa}.stock-symbol{color:#3498db;font-size:15px;font-weight:600}.stock-quantity{color:#7f8c8d;font-size:14px;font-weight:500}@media (max-width:768px){.modal-content{margin:10px;max-height:90vh;padding:18px;width:95%}.modal-header h3{font-size:16px}.url-container{flex-direction:column;gap:10px}.copy-button{justify-content:center;width:100%}.share-url-input{font-size:12px}.stocks-list{min-height:150px}}@media (max-width:480px){.modal-content{padding:15px;width:98%}.stock-item{padding:10px 12px}.stock-symbol{font-size:14px}.stock-quantity{font-size:13px}.stocks-list{min-height:120px}}.copy-button.copied{background-color:#27ae60;transform:scale(.98)}.copy-button.copied:hover{background-color:#219a52}.loading-state{align-items:center;color:#7f8c8d;display:flex;justify-content:center;padding:20px}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:20px;margin-right:10px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-wallet{color:#7f8c8d;font-style:italic;padding:20px;text-align:center}.close-button:focus,.copy-button:focus{box-shadow:0 0 0 3px #3498db33;outline:none}.modal-content:focus{outline:none}.confirmation-dialog-modal{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.confirmation-dialog-content{animation:fadeInScale .2s ease-out;background:#fff;border-radius:8px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:500px;overflow-y:auto;width:90%}@keyframes fadeInScale{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.dialog-header{border-bottom:1px solid #e5e5e5;padding:20px 24px 16px}.dialog-header h3{color:#2c3e50;font-size:18px;font-weight:600;margin:0}.dialog-body{padding:20px 24px}.dialog-body p{color:#555;font-size:14px;line-height:1.5;margin:0}.dialog-actions{border-top:1px solid #e5e5e5;display:flex;gap:12px;justify-content:flex-end;padding:16px 24px 20px}.dialog-btn{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:10px 20px;transition:all .2s ease}.cancel-btn{background-color:#f8f9fa;border:1px solid #dee2e6;color:#6c757d}.cancel-btn:hover{background-color:#e9ecef;color:#495057}.confirm-btn{background-color:#007bff;color:#fff}.confirm-btn:hover{background-color:#0056b3}.confirm-btn.destructive{background-color:#dc3545}.confirm-btn.destructive:hover{background-color:#c82333}.dialog-btn:focus{box-shadow:0 0 0 3px #007bff40;outline:none}.confirm-btn.destructive:focus{box-shadow:0 0 0 3px #dc354540}@media (max-width:768px){.confirmation-dialog-content{margin:20px;width:95%}.dialog-actions,.dialog-body,.dialog-header{padding-left:20px;padding-right:20px}.dialog-actions{flex-direction:column-reverse}.dialog-btn{margin-bottom:8px;width:100%}.dialog-btn:last-child{margin-bottom:0}}.confirmation-dialog-content:focus{outline:none}@media (prefers-color-scheme:dark){.confirmation-dialog-content{background:#2c3e50;color:#fff}.dialog-header{border-bottom-color:#4a5568}.dialog-actions{border-top-color:#4a5568}.dialog-header h3{color:#fff}.cancel-btn,.dialog-body p{color:#e2e8f0}.cancel-btn{background-color:#4a5568;border-color:#718096}.cancel-btn:hover{background-color:#2d3748;color:#fff}}.blog-main-container{margin:0 auto;max-width:1200px;padding:20px}.blog-container{display:flex;gap:30px;min-height:600px;width:100%}.blog-sidebar{background-color:#f5f5f5;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:1 1;max-width:300px;padding:20px}.blog-sidebar h2{color:#333;font-size:1.5rem;margin-bottom:20px;margin-top:0}.article-list{list-style:none;margin:0;padding:0}.article-list li{background-color:#fff;border-left:3px solid #0000;border-radius:6px;cursor:pointer;margin-bottom:10px;padding:12px 15px;transition:all .2s ease}.article-list li.active,.article-list li:hover{background-color:#e9f5ff;border-left-color:#07c}.article-list li.active{font-weight:700}.back-button{background-color:#f0f0f0;border:none;border-radius:4px;cursor:pointer;display:block;margin-top:20px;padding:8px 16px;transition:background-color .2s}.back-button:hover{background-color:#e0e0e0}.blog-content{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;flex:3 1;min-width:0;overflow-wrap:break-word;padding:30px}.blog-intro{padding:40px 20px;text-align:center}.blog-intro h2{color:#333;margin-bottom:20px}.blog-intro p{color:#666;line-height:1.6;margin-bottom:15px}.article h2{color:#222;margin-bottom:15px;margin-top:0}.article-meta{border-bottom:1px solid #eee;color:#777;display:flex;font-size:.9rem;justify-content:space-between;margin-bottom:25px;padding-bottom:15px}.article-content{color:#444;line-height:1.7}.article-content h3{color:#333;margin-bottom:15px;margin-top:30px}.article-content h4{color:#444;margin-bottom:10px;margin-top:20px}.article-content p{margin-bottom:15px}.article-content ol,.article-content ul{margin-bottom:20px;padding-left:25px}.article-content li{margin-bottom:8px}.navigation-tabs{border-bottom:1px solid #ddd;display:flex;margin-bottom:20px}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#555;cursor:pointer;font-size:16px;font-weight:500;padding:12px 24px;transition:all .2s ease}.tab-button:hover{color:#07c}.tab-button.active{border-bottom-color:#07c;color:#07c}.data-highlight,.fiscal-overview,.sector-breakdown{background-color:#f8f9fa;border-left:4px solid #07c;border-radius:4px;box-shadow:0 2px 4px #0000000d;margin:20px 0;padding:20px}.data-highlight h4,.fiscal-overview h4,.sector-breakdown h4{color:#07c;font-size:1.1rem;margin-bottom:15px;margin-top:0}.data-highlight ul,.fiscal-overview ul,.sector-breakdown ul{margin-bottom:0}.data-highlight li,.fiscal-overview li,.sector-breakdown li{line-height:1.5;margin-bottom:8px}.disclaimer{background-color:#fff3cd;border:1px solid #ffeaa7;border-radius:6px;margin:30px 0 0;padding:20px}.disclaimer h4{color:#856404;font-size:1.05rem;margin-bottom:10px;margin-top:0}.disclaimer p{color:#856404;font-size:.9rem;line-height:1.5;margin-bottom:0}@media (max-width:768px){.blog-main-container{padding:10px}.blog-container{flex-direction:column;gap:20px}.blog-sidebar{margin-bottom:0;max-width:none;order:1;padding:15px}.blog-sidebar h2{font-size:1.3rem;margin-bottom:15px}.article-list li{font-size:14px;padding:10px 12px}.blog-content{order:2;padding:20px 15px}.article h2{font-size:1.4rem;margin-bottom:12px}.article-meta{flex-direction:column;font-size:.8rem;gap:5px}.article-content{font-size:15px;line-height:1.6}.article-content h3{font-size:1.2rem;margin-bottom:12px;margin-top:25px}.article-content h4{font-size:1.1rem;margin-bottom:8px;margin-top:18px}.article-content ol,.article-content ul{margin-bottom:15px;padding-left:20px}.article-content li{margin-bottom:6px}.ad-column{display:none!important}}@media (max-width:480px){.blog-main-container{padding:8px}.blog-sidebar{padding:12px}.blog-sidebar h2{font-size:1.2rem}.article-list li{font-size:13px;padding:8px 10px}.blog-content{padding:15px 12px}.article h2{font-size:1.3rem}.article-content{font-size:14px}.article-content h3{font-size:1.1rem}.article-content h4{font-size:1.05rem}.navigation-tabs{margin:-8px -8px 15px;padding:0 8px}.tab-button{font-size:14px;padding:12px 16px}}
/*# sourceMappingURL=main.d476e48e.css.map*/