@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap);body,html{margin:0;min-height:100vh;overflow:hidden;padding:0;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8fafc;color:#1e293b;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;margin:0}code{font-family:JetBrains Mono,source-code-pro,Menlo,Monaco,Consolas,monospace}:root{--primary:#4f46e5;--primary-light:#6366f1;--primary-dark:#4338ca;--primary-bg:#4f46e50f;--success:#059669;--success-bg:#05966914;--danger:#dc2626;--danger-bg:#dc262614;--warning:#d97706;--text:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--border:#e2e8f0;--border-light:#f1f5f9;--bg:#f8fafc;--card:#fff;--radius:10px;--radius-sm:6px;--radius-lg:14px;--shadow-sm:0 1px 2px #0000000d;--shadow:0 1px 3px #00000014,0 1px 2px #0000000a;--shadow-md:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a;--transition:0.15s ease;--font:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.App{background:#f8fafc;background:var(--bg);min-height:100vh;overflow-x:hidden;text-align:left;width:100%}.App-header{background:#fff;background:var(--card);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);box-sizing:border-box;color:#1e293b;color:var(--text);left:0;padding:0;position:fixed;right:0;top:0;width:100%;z-index:1000}.header-content{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:100%;padding:12px 24px}.header-left h1{color:#1e293b;color:var(--text);font-size:1.25rem;font-weight:700;letter-spacing:-.02em;margin:0}.header-left p{color:#64748b;color:var(--text-secondary);font-size:.8rem;font-weight:500;margin:2px 0 0}.header-right{align-items:center;display:flex}.logout-button{background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.8rem;font-weight:500;padding:6px 14px;transition:all .15s ease;transition:all var(--transition)}.logout-button:hover{background:#dc262614;background:var(--danger-bg);border-color:#dc2626;border-color:var(--danger);color:#dc2626;color:var(--danger)}.tab-navigation{-webkit-overflow-scrolling:touch;background:#fff;background:var(--card);border-top:1px solid #f1f5f9;border-top:1px solid var(--border-light);display:flex;gap:2px;overflow-x:auto;padding:0 24px;scrollbar-width:none}.tab-navigation::-webkit-scrollbar{display:none}.tab-button{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.8rem;font-weight:500;gap:6px;padding:10px 16px;position:relative;transition:all .15s ease;transition:all var(--transition);white-space:nowrap}.tab-button:hover{background:#4f46e50f;background:var(--primary-bg);color:#4f46e5;color:var(--primary)}.tab-button.active{border-bottom-color:#4f46e5;border-bottom-color:var(--primary);color:#4f46e5;color:var(--primary);font-weight:600}.tab-icon{font-size:.9rem}.tab-label{font-size:.8rem}.App-main{box-sizing:border-box;height:calc(100vh - 100px);margin:100px 0 0;max-width:100%;min-width:0;overflow-x:hidden;overflow-y:auto;padding:20px 24px;width:100%}.stats-container,.stats-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.stat-card{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:16px;transition:box-shadow .15s ease;transition:box-shadow var(--transition)}.stat-card:hover{box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow)}.stat-card h3{color:#64748b;color:var(--text-secondary);font-size:.75rem;font-weight:600;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.stat-value{color:#1e293b;color:var(--text);font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0}.stat-change{font-size:.8rem;font-weight:600}.stat-change.positive{color:#059669;color:var(--success)}.stat-change.negative{color:#dc2626;color:var(--danger)}.stocks-container{margin-bottom:24px}.stocks-container h2{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin:0 0 12px}.stocks-table{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);overflow:hidden}.stocks-table table{border-collapse:collapse;width:100%}.stocks-table th{background:#f8fafc;background:var(--bg);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:10px 14px;text-align:left;text-transform:uppercase}.stocks-table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);color:#1e293b;color:var(--text);font-size:.85rem;padding:10px 14px}.stocks-table tbody tr{transition:background .15s ease;transition:background var(--transition)}.stocks-table tbody tr:hover{background:#4f46e50f;background:var(--primary-bg)}.stocks-table tbody tr:last-child td{border-bottom:none}.stock-symbol{color:#1e293b;color:var(--text);font-weight:600;letter-spacing:.02em}.stock-name{color:#64748b;font-size:.82rem}.stock-change,.stock-price{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600}.stock-change.positive{color:#059669;color:var(--success)}.stock-change.negative{color:#dc2626;color:var(--danger)}.stock-time{color:#94a3b8;color:var(--text-muted);font-size:.8rem}.positive{color:#059669;color:var(--success);font-weight:600}.negative{color:#dc2626;color:var(--danger);font-weight:600}.auth-wrapper{align-items:center;background:#f8fafc;background:var(--bg);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-wrapper:before{display:none}.auth-container{max-width:400px;width:100%}.auth-form{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a;box-shadow:var(--shadow-lg);padding:32px}.auth-form:before{background:#4f46e5;background:var(--primary);border-radius:14px 14px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;content:"";height:3px;left:0;position:absolute;right:0;top:0}.auth-form h2{-webkit-text-fill-color:#1e293b;-webkit-text-fill-color:var(--text);background:none;color:#1e293b;color:var(--text);font-size:1.4rem;font-weight:700;margin:0 0 24px;text-align:center}.form-group{animation:none;margin-bottom:16px;position:relative}.form-group label{color:#64748b;color:var(--text-secondary);display:block;font-size:.82rem;font-weight:500;letter-spacing:0;margin-bottom:6px;text-transform:none}.form-group input{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);box-sizing:border-box;color:#1e293b;color:var(--text);font-size:.9rem;font-weight:400;padding:10px 14px;transition:border-color .15s ease,box-shadow .15s ease;transition:border-color var(--transition),box-shadow var(--transition);width:100%}.form-group input:focus{border-color:#4f46e5;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e51a;outline:none;transform:none}.form-group input::placeholder{color:#94a3b8;color:var(--text-muted)}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container .form-input{padding-right:40px}.password-toggle-btn{align-items:center;background:none;border:none;color:#94a3b8;color:var(--text-muted);cursor:pointer;display:flex;font-size:1rem;justify-content:center;padding:4px;position:absolute;right:10px;transition:color .15s ease;transition:color var(--transition)}.password-toggle-btn:hover{color:#4f46e5;color:var(--primary)}.field-error{align-items:center;color:#dc2626;color:var(--danger);display:flex;font-size:.78rem;font-weight:500;gap:4px;margin-top:4px}.field-error:before{align-items:center;background:#dc2626;background:var(--danger);border-radius:50%;color:#fff;content:"!";display:flex;flex-shrink:0;font-size:.7rem;height:14px;justify-content:center;width:14px}.form-input.error{background:#dc262614;background:var(--danger-bg)}.form-input.error,.form-input.error:focus{border-color:#dc2626;border-color:var(--danger)}.form-input.error:focus{box-shadow:0 0 0 3px #dc26261a}.password-strength-indicator{margin-top:6px}.strength-bar{background:#e2e8f0;background:var(--border);border-radius:2px;height:3px;margin-bottom:4px;overflow:hidden;width:100%}.strength-fill{border-radius:2px;height:100%;transition:all .3s ease}.strength-text{font-size:.75rem;font-weight:500}.remember-me-container{background:#f8fafc;background:var(--bg);border:1px solid #f1f5f9;border:1px solid var(--border-light);border-radius:6px;border-radius:var(--radius-sm);display:flex;flex-direction:column;gap:6px;padding:12px}.toggle-label{align-items:center;cursor:pointer;display:flex;justify-content:space-between;margin:0}.toggle-label,.toggle-text{color:#1e293b;color:var(--text);font-weight:500}.toggle-text{font-size:.85rem}.toggle-switch{flex-shrink:0;height:22px;position:relative;width:40px}.toggle-input{height:0;opacity:0;position:absolute;width:0}.toggle-slider{background:#e2e8f0;background:var(--border);border-radius:11px;cursor:pointer;inset:0;position:absolute;transition:all .2s}.toggle-slider:before{background:#fff;border-radius:50%;bottom:3px;box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);content:"";height:16px;left:3px;position:absolute;transition:all .2s;width:16px}.toggle-input:checked+.toggle-slider{background:#4f46e5;background:var(--primary)}.toggle-input:checked+.toggle-slider:before{transform:translateX(18px)}.remember-me-info{color:#94a3b8;color:var(--text-muted);font-size:.72rem;font-weight:400}.checkbox-group{margin-bottom:16px}.checkbox-label{align-items:center;cursor:pointer;display:flex;gap:8px;padding:4px 0}.checkbox-input{appearance:none;background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:3px;cursor:pointer;flex-shrink:0;height:16px;margin:0;transition:all .15s ease;transition:all var(--transition);width:16px}.checkbox-input:checked{background:#4f46e5;background:var(--primary);border-color:#4f46e5;border-color:var(--primary)}.checkbox-input:checked:after{color:#fff;content:"✓";font-size:10px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.checkbox-text{color:#1e293b;color:var(--text);font-size:.85rem;font-weight:400}.auth-button{background:#4f46e5;background:var(--primary);border:none;border-radius:6px;border-radius:var(--radius-sm);box-shadow:none;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;letter-spacing:0;margin-top:8px;padding:10px 20px;text-transform:none;transition:all .15s ease;transition:all var(--transition);width:100%}.auth-button:before{display:none}.auth-button:hover:not(:disabled){background:#4338ca;background:var(--primary-dark);box-shadow:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;box-shadow:var(--shadow-md);transform:none}.auth-button:disabled{cursor:not-allowed;opacity:.6}.auth-button:disabled:after{display:none}.auth-button.secondary{background:#64748b;background:var(--text-secondary)}.auth-button.secondary:hover:not(:disabled){background:#1e293b;background:var(--text)}.error-message{background:#dc262614;background:var(--danger-bg);border-left:3px solid #dc2626;border-left:3px solid var(--danger);color:#dc2626;color:var(--danger)}.error-message,.success-message{border-radius:6px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:500;margin:12px 0;padding:10px 14px}.success-message{background:#05966914;background:var(--success-bg);border-left:3px solid #059669;border-left:3px solid var(--success);color:#059669;color:var(--success)}.auth-footer{border-top:1px solid #f1f5f9;border-top:1px solid var(--border-light);margin-top:20px;padding-top:16px;text-align:center}.auth-footer p{color:#64748b;color:var(--text-secondary);font-size:.85rem;margin:6px 0}.link-button{background:none;border:none;border-radius:3px;color:#4f46e5;color:var(--primary);cursor:pointer;font-size:.85rem;font-weight:600;padding:2px 4px;transition:all .15s ease;transition:all var(--transition)}.link-button:after{display:none}.link-button:hover{background:#4f46e50f;background:var(--primary-bg);color:#4338ca;color:var(--primary-dark)}.form-description{color:#64748b;color:var(--text-secondary);font-size:.85rem;line-height:1.5;margin-bottom:20px;text-align:center}.auth-info{background:#f8fafc;background:var(--bg);border-left:3px solid #4f46e5;border-left:3px solid var(--primary);border-radius:6px;border-radius:var(--radius-sm);margin-top:24px;padding:16px}.auth-info h3{color:#1e293b;color:var(--text);font-size:.9rem;font-weight:600;margin:0 0 10px;text-align:center}.auth-info ol{color:#64748b;color:var(--text-secondary);font-size:.82rem;line-height:1.6;margin:0 0 12px;padding-left:18px}.security-note{background:#fff;background:var(--card);border-left:3px solid #059669;border-left:3px solid var(--success);border-radius:6px;border-radius:var(--radius-sm);padding:12px}.security-note h4{color:#059669;color:var(--success);font-size:.82rem;font-weight:600;margin:0 0 4px}.security-note p{color:#64748b;color:var(--text-secondary);font-size:.78rem;line-height:1.4;margin:0}.password-tips{background:#0ea5e90d;border-left:3px solid #0ea5e9;border-radius:6px;border-radius:var(--radius-sm);margin-top:20px;padding:16px}.password-tips h3{color:#0c4a6e;font-size:.9rem;font-weight:600;margin:0 0 10px;text-align:center}.password-tips ul{color:#64748b;color:var(--text-secondary);font-size:.82rem;line-height:1.6;margin:0;padding-left:18px}.form-actions{display:flex;gap:8px;margin-top:16px}.auth-button.primary{order:1}.auth-button.secondary{order:2}.sell-excel-upload-modal{max-width:800px!important;width:95%!important}.upload-instructions{background:#0ea5e90d;border-left:3px solid #0ea5e9;border-radius:6px;border-radius:var(--radius-sm);margin-bottom:16px;padding:14px}.upload-instructions h4{color:#0c4a6e;font-size:.9rem;font-weight:600;margin:0 0 8px}.upload-instructions ul{color:#64748b;color:var(--text-secondary);font-size:.82rem;line-height:1.5;margin:0 0 12px;padding-left:18px}.template-download-btn{align-items:center;background:#4f46e5;background:var(--primary);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:.82rem;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease;transition:all var(--transition)}.template-download-btn:hover{background:#4338ca;background:var(--primary-dark)}.file-upload-area{margin:14px 0}.file-upload-label{align-items:center;background:#f8fafc;background:var(--bg);border:1px dashed #e2e8f0;border:1px dashed var(--border);border-radius:10px;border-radius:var(--radius);cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:28px 16px;transition:all .15s ease;transition:all var(--transition)}.file-upload-label:hover{background:#4f46e50f;background:var(--primary-bg);border-color:#4f46e5;border-color:var(--primary)}.upload-icon{font-size:2rem;margin-bottom:8px;opacity:.5}.upload-text{color:#1e293b;color:var(--text);font-size:.9rem;font-weight:500;margin-bottom:4px;text-align:center}.upload-hint{color:#94a3b8;color:var(--text-muted);font-size:.78rem;text-align:center}.file-actions{display:flex;justify-content:center;margin:14px 0}.parse-button{background:#4f46e5;background:var(--primary);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 18px;transition:all .15s ease;transition:all var(--transition)}.parse-button:hover:not(:disabled){background:#4338ca;background:var(--primary-dark)}.parse-button:disabled{cursor:not-allowed;opacity:.5}.preview-section{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);margin-top:14px;padding:16px}.preview-section h4{color:#1e293b;color:var(--text);font-size:.9rem;font-weight:600;margin:0 0 12px}.preview-table{margin:12px 0;overflow-x:auto}.preview-table table{border-collapse:collapse;width:100%}.preview-table td,.preview-table th{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);font-size:.82rem;padding:8px 10px;text-align:left}.preview-table th{background:#f8fafc;background:var(--bg);color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.preview-table td.positive{color:#059669;color:var(--success);font-weight:600}.preview-table td.negative{color:#dc2626;color:var(--danger);font-weight:600}.preview-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:14px}.import-all-button,.import-button{border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.82rem;font-weight:500;padding:8px 16px;transition:all .15s ease;transition:all var(--transition)}.import-button{background:#059669;background:var(--success)}.import-button:hover{background:#047857}.import-all-button{background:#4f46e5;background:var(--primary)}.import-all-button:hover{background:#4338ca;background:var(--primary-dark)}.cancel-button{background:#f8fafc;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:500;padding:8px 16px;transition:all .15s ease;transition:all var(--transition)}.cancel-button:hover{background:#f1f5f9;background:var(--border-light);color:#1e293b;color:var(--text)}.error-message pre{background:#dc262614;background:var(--danger-bg);border-radius:4px;font-size:.75rem;margin-top:6px;padding:8px;white-space:pre-wrap;word-break:break-word}.profit-summary{background:#f8fafc;background:var(--bg);border-left:3px solid #4f46e5;border-left:3px solid var(--primary);border-radius:6px;border-radius:var(--radius-sm);margin:12px 0;padding:12px}.profit-summary h4{color:#1e293b;color:var(--text);font-size:.85rem;font-weight:600;margin:0 0 8px}.profit-details{grid-gap:6px;display:grid;gap:6px;grid-template-columns:1fr 1fr}.profit-details p{color:#64748b;color:var(--text-secondary);display:flex;font-size:.82rem;justify-content:space-between;margin:0}.profit-details span{font-weight:600}.profit-details .positive{color:#059669;color:var(--success)}.profit-details .negative{color:#dc2626;color:var(--danger)}.form-input{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text);font-size:.85rem;padding:8px 12px;transition:border-color .15s ease;transition:border-color var(--transition);width:100%}.form-input:focus{border-color:#4f46e5;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e514;outline:none}.confirm-button{background:#059669;background:var(--success);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.85rem;font-weight:500;padding:8px 16px;transition:all .15s ease;transition:all var(--transition)}.confirm-button:hover{background:#047857}.action-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;padding:2px}.action-buttons .delete-button.small,.action-buttons .edit-button.small,.sell-transactions-table .action-buttons .delete-button.small,.sell-transactions-table .action-buttons .edit-button.small{border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;display:inline-block;font-size:.72rem;font-weight:500;min-width:auto;padding:4px 10px;transition:all .15s ease;transition:all var(--transition);white-space:nowrap}.action-buttons .edit-button.small{background:#4f46e5;background:var(--primary);color:#fff}.action-buttons .edit-button.small:hover{background:#4338ca;background:var(--primary-dark)}.action-buttons .delete-button.small{background:#dc2626;background:var(--danger);color:#fff}.action-buttons .delete-button.small:hover{background:#b91c1c}button{cursor:pointer;display:inline-block}.delete-button.small,.edit-button.small{opacity:1;visibility:visible}.portfolio-container{box-sizing:border-box;margin:0;max-width:100%;padding:0;width:100%}.portfolio-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.portfolio-header h2{color:#1e293b;color:var(--text);font-size:1.15rem;font-weight:700;margin:0}.header-buttons{align-items:center;display:flex;gap:8px}.add-button,.excel-button,.payment-button,.sell-button{align-items:center;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:6px;padding:8px 14px;transition:all .15s ease;transition:all var(--transition)}.payment-button{background:#059669;background:var(--success)}.payment-button:hover{background:#047857}.add-button{background:#4f46e5;background:var(--primary)}.add-button:hover{background:#4338ca;background:var(--primary-dark)}.sell-button{background:#d97706;background:var(--warning);margin-right:0}.sell-button:hover{background:#b45309}.excel-button{background:#16a34a}.excel-button:hover{background:#15803d}.portfolio-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.summary-card{background:#fff;background:var(--card);border:1px solid #e2e8f0;border-left:3px solid #4f46e5;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:16px}.summary-card h3{color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.summary-value{font-feature-settings:"tnum";color:#1e293b;color:var(--text);font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:700;margin:0}.summary-value.positive{color:#059669;color:var(--success)}.summary-value.negative{color:#dc2626;color:var(--danger)}.summary-percent{font-size:.78rem;font-weight:600;margin-left:6px}.summary-percent.positive{color:#059669;color:var(--success)}.summary-percent.negative{color:#dc2626;color:var(--danger)}.add-item-form,.edit-item-form{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.add-item-form h3,.edit-item-form h3{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin:0 0 16px}.edit-item-form{border-left:3px solid #3b82f6}.form-examples{background:#f8fafc;background:var(--bg);border-left:3px solid #4f46e5;border-left:3px solid var(--primary);border-radius:6px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);font-size:.78rem;line-height:1.4;margin:10px 0;padding:10px 12px}.form-examples strong{color:#1e293b;color:var(--text);margin-right:6px}.form-examples span{color:#4f46e5;color:var(--primary);font-weight:500}.form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.form-row.with-usd-button{align-items:end;grid-template-columns:1fr 1fr}.usd-input-container{align-items:center;display:flex;gap:6px}.usd-input-container input{flex:1 1}.form-row input,.form-row select{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);box-sizing:border-box;font-size:.85rem;padding:8px 12px;transition:border-color .15s ease;transition:border-color var(--transition)}.form-row input:focus,.form-row select:focus{border-color:#4f46e5;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e514;outline:none}.form-row input[type=date]{color:#1e293b;color:var(--text);font-family:inherit}.symbol-input-container{position:relative;width:100%}.symbol-suggestions{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:0 0 6px 6px;border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:none;box-shadow:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;box-shadow:var(--shadow-md);left:0;max-height:180px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestion-item{align-items:center;border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;font-size:.82rem;justify-content:space-between;padding:8px 12px;transition:background .15s ease;transition:background var(--transition)}.suggestion-item:hover{background:#4f46e50f;background:var(--primary-bg)}.suggestion-symbol{color:#1e293b;color:var(--text);font-weight:600;min-width:60px}.suggestion-name{color:#64748b;color:var(--text-secondary);flex:1 1;font-size:.8rem;margin:0 8px}.suggestion-price{color:#4f46e5;color:var(--primary);font-weight:600;text-align:right}.sell-transactions-table{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);margin-bottom:20px;overflow:hidden}.sell-transactions-table table{border-collapse:collapse;width:100%}.sell-transactions-table th{background:#f8fafc;background:var(--bg);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:10px 12px;text-align:left;text-transform:uppercase}.sell-transactions-table td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);font-size:.82rem;padding:10px 12px}.sell-transactions-table tr:hover{background:#4f46e50f;background:var(--primary-bg)}.sell-summary{background:#f8fafc;background:var(--bg);border-radius:6px;border-radius:var(--radius-sm);display:flex;gap:24px;justify-content:flex-end;margin-top:14px;padding:12px}.sell-button-small{background:#d97706;background:var(--warning);border:none;border-radius:3px;color:#fff;cursor:pointer;font-size:.72rem;font-weight:500;margin-right:4px;padding:3px 8px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.empty-transactions{color:#64748b;color:var(--text-secondary);padding:32px 16px;text-align:center}.empty-transactions-icon{font-size:2rem;margin-bottom:8px;opacity:.4}.empty-transactions h4{color:#1e293b;color:var(--text);font-size:.95rem;margin:0 0 8px}.empty-transactions p{font-size:.82rem;margin:4px 0}.modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a66;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.modal-content{animation:modalIn .2s ease-out;background:#fff;background:var(--card);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a;box-shadow:var(--shadow-lg);max-height:90vh;max-width:480px;overflow-y:auto;padding:0;width:90%}div.modal-content.asset-detail-modal{max-width:1200px!important;width:95%!important}@keyframes modalIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:#f8fafc;background:var(--bg);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);border-radius:14px 14px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;padding:16px 20px}.modal-header h3{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin:0}.modal-close{align-items:center;background:#0000;border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:50%;color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;transition:all .15s ease;transition:all var(--transition);width:28px}.modal-close:hover{background:#dc262614;background:var(--danger-bg);border-color:#dc2626;border-color:var(--danger);color:#dc2626;color:var(--danger)}.modal-body{padding:20px}.sell-form-modal .form-group{margin-bottom:12px}.sell-form-modal .form-group label{color:#64748b;color:var(--text-secondary);display:block;font-size:.82rem;font-weight:500;margin-bottom:4px}.sell-form-modal .form-group input,.sell-form-modal .form-group select{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);font-size:.85rem;padding:8px 12px;width:100%}.sell-form-modal .form-group input:focus,.sell-form-modal .form-group select:focus{border-color:#4f46e5;border-color:var(--primary);box-shadow:0 0 0 3px #4f46e514;outline:none}.sell-form-modal .form-actions{display:flex;gap:8px;margin-top:16px}.sell-form-modal .form-actions button{border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;flex:1 1;font-size:.85rem;font-weight:500;padding:8px 14px}.sell-form-modal .sell-button{background:#dc2626;background:var(--danger);color:#fff}.sell-form-modal .cancel-button{background:#f8fafc;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);color:#1e293b;color:var(--text)}.sell-summary .summary-item{text-align:center}.sell-summary .summary-item h4{color:#64748b;color:var(--text-secondary);font-size:.78rem;font-weight:600;margin:0 0 4px}.sell-summary .summary-item p{font-size:1rem;font-weight:700;margin:0}.portfolio-section{margin-bottom:24px}.portfolio-section h3{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin-bottom:14px}.portfolio-filter{background:#fff;background:var(--card);border:1px solid #e2e8f0;border-left:3px solid #4f46e5;border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);margin-bottom:16px;padding:16px}.portfolio-filter h3{color:#1e293b;color:var(--text);font-size:.9rem;font-weight:600;margin:0 0 12px}.filter-buttons{display:flex;flex-wrap:wrap;gap:6px}.filter-button{align-items:center;background:#f8fafc;background:var(--bg);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);cursor:pointer;display:flex;font-size:.82rem;font-weight:500;gap:6px;padding:6px 14px;transition:all .15s ease;transition:all var(--transition)}.filter-button:hover{color:#4f46e5;color:var(--primary)}.filter-button.active,.filter-button:hover{border-color:#4f46e5;border-color:var(--primary)}.filter-button.active{background:#4f46e5;background:var(--primary);color:#fff}.portfolio-items{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);overflow:hidden}.portfolio-table{border-collapse:collapse;min-width:1200px;width:100%}.portfolio-table td,.portfolio-table th{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);font-size:.82rem;padding:10px;text-align:left}.portfolio-items th{background:#f8fafc;background:var(--bg);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:10px;position:sticky;text-transform:uppercase;top:0;z-index:10}.portfolio-items th small{color:#94a3b8;color:var(--text-muted);display:block;font-size:.68rem;font-weight:500;letter-spacing:normal;margin-top:2px;text-transform:none}.portfolio-items tbody tr{transition:background .15s ease;transition:background var(--transition)}.portfolio-items tbody tr:hover{background:#4f46e50f;background:var(--primary-bg)}.asset-name{font-weight:500;gap:10px}.asset-icon,.asset-name{align-items:center;display:flex}.asset-icon{background:#4f46e50f;background:var(--primary-bg);border:none;border-radius:6px;border-radius:var(--radius-sm);box-shadow:none;color:#4f46e5;color:var(--primary);font-size:1.2rem;justify-content:center;min-height:32px;min-width:32px;padding:6px}.asset-symbol{color:#1e293b;color:var(--text);font-size:.85rem;font-weight:600;letter-spacing:.02em}.asset-fullname{color:#94a3b8;color:var(--text-muted);font-size:.75rem;font-weight:400}.buy-date{background:none;color:#64748b;color:var(--text-secondary);padding:0;white-space:nowrap}.buy-date,.delete-button{border:none;font-size:.78rem;font-weight:500}.delete-button{background:#dc2626;background:var(--danger);border-radius:6px;border-radius:var(--radius-sm);box-shadow:none;color:#fff;cursor:pointer;padding:6px 12px;transition:all .15s ease;transition:all var(--transition)}.delete-button:hover{background:#b91c1c}.delete-button.small{font-size:.72rem;padding:4px 8px}.grouped-row{background:#f8fafc;background:var(--bg);cursor:pointer}.grouped-row:hover{background:#f1f5f9;background:var(--border-light)}.clickable{position:relative}.item-count{background:#4f46e5;background:var(--primary);border-radius:10px;color:#fff;font-size:.68rem;font-weight:500;margin-left:6px;padding:2px 6px}.detail-row{background:#fff;background:var(--card);border-left:3px solid #4f46e5;border-left:3px solid var(--primary);font-size:.82rem}.detail-row td{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);padding:6px 10px}.detail-icon{color:#4f46e5;color:var(--primary);margin-right:6px}.edit-button{background:#3b82f6;border:none;border-radius:6px;border-radius:var(--radius-sm);box-shadow:none;color:#fff;cursor:pointer;font-size:.78rem;font-weight:500;padding:6px 12px;transition:all .15s ease;transition:all var(--transition)}.edit-button:hover{background:#2563eb}.edit-button.small{font-size:.72rem;padding:4px 8px}.edit-item-form .form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.edit-item-form .form-row>div{display:flex;flex-direction:column}.edit-item-form label{color:#64748b;color:var(--text-secondary);font-size:.82rem;font-weight:500;margin-bottom:4px}.edit-item-form input{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);font-size:.85rem;padding:8px 12px}.edit-item-form input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f614;outline:none}.usd-update-button{align-items:center;background:#059669;background:var(--success);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:flex;font-size:.8rem;height:32px;justify-content:center;min-width:32px;padding:6px 10px}.usd-update-button:hover{background:#047857}.payment-form{background:#fff;background:var(--card);border:1px solid #e2e8f0;border-left:3px solid #059669;border:1px solid var(--border);border-left:3px solid var(--success);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.payment-form h3{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin:0 0 14px}.payment-form .form-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:12px}.payment-form .form-row>div{display:flex;flex-direction:column}.payment-form label{color:#64748b;color:var(--text-secondary);font-size:.82rem;font-weight:500;margin-bottom:4px}.payment-form input,.payment-form select{border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);box-sizing:border-box;font-size:.85rem;padding:8px 12px}.payment-form input:focus,.payment-form select:focus{border-color:#059669;border-color:var(--success);box-shadow:0 0 0 3px #05966914;outline:none}.payments-list{background:#fff;background:var(--card);border:1px solid #e2e8f0;border-left:3px solid #059669;border:1px solid var(--border);border-left:3px solid var(--success);border-radius:10px;border-radius:var(--radius);margin-bottom:20px;padding:20px}.payments-list h3{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin:0 0 14px}.payment-items{display:flex;flex-direction:column;gap:8px}.payment-item{align-items:center;background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:10px 14px;transition:all .15s ease;transition:all var(--transition)}.payment-item:hover{background:#f8fafc;background:var(--bg);border-color:#059669;border-color:var(--success)}.payment-info{align-items:center;display:flex;flex:1 1;gap:12px}.payment-type{background:#059669;background:var(--success);border-radius:10px;color:#fff;font-size:.72rem;font-weight:500;padding:2px 8px}.payment-amount{font-feature-settings:"tnum";color:#1e293b;color:var(--text);font-size:.9rem;font-variant-numeric:tabular-nums;font-weight:600}.payment-date{color:#94a3b8;color:var(--text-muted);font-size:.78rem}.payment-description{background:#f8fafc;background:var(--bg);border-left:2px solid #059669;border-left:2px solid var(--success);border-radius:6px;border-radius:var(--radius-sm);color:#64748b;color:var(--text-secondary);flex:1 1;font-size:.85rem;font-weight:400;padding:6px 10px}.payment-actions{align-items:center;display:flex;gap:6px}.paid-button{background:#059669;background:var(--success);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.78rem;font-weight:500;padding:4px 10px;transition:all .15s ease;transition:all var(--transition)}.paid-button:hover{background:#047857}.paid-button.paid{background:#64748b;background:var(--text-secondary)}.payment-item.paid{background:#05966914;background:var(--success-bg);border-color:#059669;border-color:var(--success);position:relative}.payment-item.paid:before{align-items:center;border:2px solid #fff;border:2px solid var(--card);border-radius:50%;content:"✓";display:flex;font-size:10px;font-weight:700;height:18px;justify-content:center;position:absolute;right:-6px;top:-6px;width:18px;z-index:10}.paid-badge,.payment-item.paid:before{background:#059669;background:var(--success);color:#fff}.paid-badge{animation:none;border:none;border-radius:10px;box-shadow:none;font-size:.72rem;font-weight:600;letter-spacing:.04em;margin-left:6px;padding:3px 10px;text-transform:uppercase}.payments-container{box-sizing:border-box;margin:0 auto;max-width:1400px;padding:0;width:100%}.payments-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.payments-header h2{color:#1e293b;color:var(--text);font-size:1.15rem;font-weight:700;margin:0}.payments-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:20px}.payments-summary .summary-card{background:#fff;background:var(--card);border:1px solid #e2e8f0;border-left:3px solid #059669;border:1px solid var(--border);border-left:3px solid var(--success);border-radius:10px;border-radius:var(--radius);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm);padding:16px}.payments-summary .summary-card h3{color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:600;margin:0 0 6px;text-transform:uppercase}.payments-summary .summary-value{color:#059669;color:var(--success);font-size:1.25rem;font-weight:700;margin:0}.payments-summary .summary-card.paid-card{background:#05966914;background:var(--success-bg);border-left-color:#047857}.empty-payments,.empty-portfolio{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);padding:40px 20px;text-align:center}.empty-payments-icon,.empty-portfolio-icon{font-size:2.5rem;margin-bottom:12px;opacity:.4}.empty-payments h3,.empty-portfolio h3{color:#1e293b;color:var(--text);font-size:1.1rem;margin:0 0 8px}.empty-payments p,.empty-portfolio p{color:#64748b;color:var(--text-secondary);font-size:.9rem;margin:4px 0}.empty-payments-examples,.empty-portfolio-examples{background:#f8fafc;background:var(--bg);border-left:3px solid #4f46e5;border-left:3px solid var(--primary);border-radius:6px;border-radius:var(--radius-sm);font-size:.82rem;line-height:1.5;margin:14px 0;padding:14px;text-align:left}.backup-manager{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-left:3px solid #3b82f6;border-radius:10px;border-radius:var(--radius);margin-bottom:20px;padding:20px}.backup-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.backup-header h3{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin:0}.backup-actions{display:flex;flex-wrap:wrap;gap:8px}.backup-button{align-items:center;background:#3b82f6;border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:500;gap:4px;padding:6px 12px;transition:all .15s ease;transition:all var(--transition)}.backup-button:hover{background:#2563eb}.backup-button.create{background:#059669;background:var(--success)}.backup-button.create:hover{background:#047857}.backup-button.upload{background:#d97706;background:var(--warning)}.backup-button.upload:hover{background:#b45309}.backup-button.download{background:#06b6d4;font-size:.72rem;padding:4px 8px}.backup-button.restore{background:#8b5cf6;font-size:.72rem;padding:4px 8px}.backup-button.delete{background:#dc2626;background:var(--danger);font-size:.72rem;padding:4px 8px}.backup-info{background:#f8fafc;background:var(--bg);border-left:3px solid #3b82f6;border-radius:6px;border-radius:var(--radius-sm);margin-bottom:14px;padding:10px 12px}.backup-info p{color:#64748b;color:var(--text-secondary);font-size:.82rem;margin:3px 0}.backup-info strong{color:#1e293b;color:var(--text)}.no-backups{background:#f8fafc;background:var(--bg);border-radius:6px;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-muted);font-size:.85rem;margin-bottom:14px;padding:28px 16px;text-align:center}.backup-list{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.backup-item{align-items:center;background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);display:flex;justify-content:space-between;padding:10px 14px;transition:all .15s ease;transition:all var(--transition)}.backup-item:hover{background:#f8fafc;background:var(--bg);border-color:#3b82f6}.backup-item .backup-info{background:none;border:none;flex:1 1;margin:0;padding:0}.backup-date{color:#1e293b;color:var(--text);font-size:.85rem;font-weight:600;margin-bottom:2px}.backup-details{color:#64748b;color:var(--text-secondary);font-size:.78rem}.backup-user{color:#94a3b8;color:var(--text-muted);font-size:.72rem}.backup-item .backup-actions{gap:4px;margin:0}.backup-tips{background:#3b82f60d;border-left:3px solid #3b82f6;border-radius:6px;border-radius:var(--radius-sm);padding:14px}.backup-tips h4{color:#1e293b;color:var(--text);font-size:.9rem;margin:0 0 8px}.backup-tips ul{margin:0;padding-left:18px}.backup-tips li{font-size:.78rem;margin:3px 0}.backup-tips li,.loading-container{color:#64748b;color:var(--text-secondary)}.loading-container{align-items:center;display:flex;flex-direction:column;height:100vh;justify-content:center}.loading-spinner{animation:spin .8s linear infinite;border:3px solid #e2e8f0;border-top-color:#4f46e5;border:3px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:32px;margin-bottom:14px;width:32px}@keyframes spin{to{transform:rotate(1turn)}}.admin-panel{box-sizing:border-box;margin:0;max-width:100%;padding:0;width:100%}.admin-header{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius);color:#1e293b;color:var(--text);margin-bottom:24px;padding:20px;text-align:center}.admin-header h2{font-size:1.15rem;font-weight:700;margin:0 0 4px}.excel-upload-container{margin:0 auto;max-width:700px;padding:0}.excel-upload-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;margin-bottom:14px}.excel-upload-header h3{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin:0}.template-button{background:#4f46e5;background:var(--primary);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.82rem;font-weight:500;padding:6px 12px}.template-button:hover{background:#4338ca;background:var(--primary-dark)}.excel-dropzone{background:#f8fafc;background:var(--bg);border:1px dashed #e2e8f0;border:1px dashed var(--border);border-radius:10px;border-radius:var(--radius);cursor:pointer;margin-bottom:14px;padding:28px;text-align:center;transition:all .15s ease;transition:all var(--transition)}.excel-dropzone.dragging{background:#16a34a0d;border-color:#16a34a}.excel-dropzone:hover{border-color:#94a3b8;border-color:var(--text-muted)}.excel-dropzone-content{align-items:center;display:flex;flex-direction:column;gap:6px}.excel-icon{font-size:2rem;margin-bottom:6px}.excel-text{color:#1e293b;color:var(--text);font-size:.9rem;margin:0}.excel-file-label{color:#16a34a;cursor:pointer;font-weight:500}.excel-file-input{display:none}.excel-hint{color:#94a3b8;color:var(--text-muted);font-size:.78rem;margin:0}.excel-instructions{background:#16a34a0d;border-left:3px solid #16a34a;border-radius:6px;border-radius:var(--radius-sm);margin-bottom:14px;padding:14px}.excel-instructions h4{color:#1e293b;color:var(--text);font-size:.9rem;margin:0 0 10px}.excel-format-table{border-collapse:collapse;font-size:.78rem;width:100%}.excel-format-table td,.excel-format-table th{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);padding:6px 10px;text-align:left}.excel-format-table th{background:#f8fafc;background:var(--bg);color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:600;text-transform:uppercase}.excel-preview-modal{align-items:center;background:#0f172a66;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.excel-preview-content{background:#fff;background:var(--card);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000a;box-shadow:var(--shadow-lg);max-height:80vh;max-width:800px;overflow-y:auto;width:90%}.excel-preview-header{align-items:center;background:#f8fafc;background:var(--bg);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);border-radius:14px 14px 0 0;border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;padding:14px 20px}.excel-preview-header h4{color:#1e293b;color:var(--text);font-size:1rem;font-weight:600;margin:0}.excel-errors{background:#dc262614;background:var(--danger-bg);border-left:3px solid #dc2626;border-left:3px solid var(--danger);border-radius:6px;border-radius:var(--radius-sm);margin:14px;padding:10px 14px}.excel-errors h5{color:#dc2626;color:var(--danger);font-size:.85rem;margin:0 0 6px}.excel-errors ul{margin:0;padding-left:18px}.excel-errors li{color:#dc2626;color:var(--danger);font-size:.78rem;margin:3px 0}.excel-preview-table-container{padding:14px 20px}.excel-preview-table{border-collapse:collapse;font-size:.82rem;width:100%}.excel-preview-table td,.excel-preview-table th{border-bottom:1px solid #f1f5f9;border-bottom:1px solid var(--border-light);padding:8px 10px;text-align:left}.excel-preview-table th{background:#f8fafc;background:var(--bg);color:#64748b;color:var(--text-secondary);font-size:.72rem;font-weight:600;text-transform:uppercase}.excel-preview-table tr.valid{background:#05966914;background:var(--success-bg)}.excel-preview-table tr.invalid{background:#dc262614;background:var(--danger-bg)}.status-valid{color:#059669;color:var(--success);font-weight:600}.status-invalid{color:#dc2626;color:var(--danger);font-weight:600}.excel-more-rows{color:#94a3b8;color:var(--text-muted);font-size:.82rem;font-style:italic;margin-top:8px;text-align:center}.excel-preview-actions{border-top:1px solid #e2e8f0;border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}.portfolio-summary .summary-card{border-left:4px solid #4f46e5;border-left:4px solid var(--primary);overflow:hidden;padding:20px;position:relative}.portfolio-summary .summary-card:after{background:linear-gradient(135deg,#0000 50%,#4f46e50f 0);background:linear-gradient(135deg,#0000 50%,var(--primary-bg) 50%);content:"";height:100%;opacity:.5;position:absolute;right:0;top:0;width:60px}.portfolio-summary .summary-card h3{font-size:.68rem;letter-spacing:.06em;margin-bottom:8px}.portfolio-summary .summary-card .summary-value{font-size:1.5rem;font-weight:800;letter-spacing:-.03em}.portfolio-summary.stock-summary .summary-card{border-left-color:#3b82f6}.portfolio-summary.stock-summary .summary-card:after{background:linear-gradient(135deg,#0000 50%,#3b82f60f 0)}.portfolio-summary.currency-summary .summary-card{border-left-color:#8b5cf6}.portfolio-summary.currency-summary .summary-card:after{background:linear-gradient(135deg,#0000 50%,#8b5cf60f 0)}.portfolio-summary.gold-summary .summary-card{border-left-color:#f59e0b}.portfolio-summary.gold-summary .summary-card:after{background:linear-gradient(135deg,#0000 50%,#f59e0b0f 0)}.portfolio-summary.crypto-summary .summary-card{border-left-color:#06b6d4}.portfolio-summary.crypto-summary .summary-card:after{background:linear-gradient(135deg,#0000 50%,#06b6d40f 0)}.portfolio-overview-card{background:#fff;background:var(--card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow);margin:16px 0;overflow:hidden;padding:24px;position:relative}.portfolio-overview-card:before{background:linear-gradient(90deg,#4f46e5,#059669,#f59e0b,#06b6d4);background:linear-gradient(90deg,var(--primary),var(--success),#f59e0b,#06b6d4);content:"";height:4px;left:0;position:absolute;right:0;top:0}.portfolio-overview-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.portfolio-overview-item{background:#f8fafc;background:var(--bg);border:1px solid #f1f5f9;border:1px solid var(--border-light);border-radius:6px;border-radius:var(--radius-sm);padding:12px 8px;text-align:center;transition:all .15s ease;transition:all var(--transition)}.portfolio-overview-item:hover{border-color:#e2e8f0;border-color:var(--border);box-shadow:0 1px 2px #0000000d;box-shadow:var(--shadow-sm)}.portfolio-overview-item h4{color:#64748b;color:var(--text-secondary);font-size:.68rem;font-weight:600;letter-spacing:.06em;margin:0 0 8px;text-transform:uppercase}.portfolio-overview-item .overview-value{font-feature-settings:"tnum";font-size:1.25rem;font-variant-numeric:tabular-nums;font-weight:800;letter-spacing:-.02em;margin:0}.portfolio-overview-item .overview-value.positive{color:#059669;color:var(--success)}.portfolio-overview-item .overview-value.negative{color:#dc2626;color:var(--danger)}.portfolio-overview-item .overview-value.neutral{color:#4f46e5;color:var(--primary)}.portfolio-overview-item .overview-value.muted{color:#64748b;color:var(--text-secondary)}.portfolio-overview-item.highlight-positive{background:#05966914;background:var(--success-bg);border-color:#05966926}.portfolio-overview-item.highlight-negative{background:#dc262614;background:var(--danger-bg);border-color:#dc262626}.portfolio-items{box-shadow:0 1px 3px #00000014,0 1px 2px #0000000a;box-shadow:var(--shadow)}.portfolio-items tbody td{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.portfolio-items tbody td.positive{background:#05966914;background:var(--success-bg);font-weight:700}.portfolio-items tbody td.negative{background:#dc262614;background:var(--danger-bg);font-weight:700}.portfolio-header h2{font-size:1.3rem;font-weight:800;letter-spacing:-.02em}.sell-info-box{background:#f8fafc;background:var(--bg);border-left:3px solid #4f46e5;border-left:3px solid var(--primary);border-radius:6px;border-radius:var(--radius-sm);margin:14px 0;padding:14px}.sell-info-box .info-row{color:#64748b;color:var(--text-secondary);display:flex;font-size:.85rem;justify-content:space-between;padding:4px 0}.sell-info-box .info-row .value{color:#1e293b;color:var(--text);font-weight:600}.sell-info-box .info-row .value.positive{color:#059669;color:var(--success)}.sell-info-box .info-row .value.negative{color:#dc2626;color:var(--danger)}.toggle-button{background:#f8fafc!important;background:var(--bg)!important;border:1px solid #e2e8f0!important;border:1px solid var(--border)!important;border-radius:6px!important;border-radius:var(--radius-sm)!important;color:#64748b!important;color:var(--text-secondary)!important;cursor:pointer!important;font-size:.78rem!important;padding:4px 10px!important;transition:all .15s ease!important;transition:all var(--transition)!important}.toggle-button:hover{border-color:#4f46e5!important;border-color:var(--primary)!important;color:#4f46e5!important;color:var(--primary)!important}.bulk-upload-btn{align-items:center!important;background:#059669!important;background:var(--success)!important;border:none!important;border-radius:6px!important;border-radius:var(--radius-sm)!important;color:#fff!important;cursor:pointer!important;display:flex!important;font-size:.78rem!important;font-weight:500!important;gap:4px!important;padding:6px 12px!important;transition:all .15s ease!important;transition:all var(--transition)!important}.bulk-upload-btn:hover{background:#047857!important}.sell-filter h4{color:#1e293b;color:var(--text);font-size:.85rem;font-weight:600;margin:0 0 10px}.type-badge{background:#4f46e50f;background:var(--primary-bg);border-radius:10px;color:#4f46e5;color:var(--primary);font-size:.72rem;font-weight:600;padding:2px 8px}.sell-transactions-table .action-buttons{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}@media (max-width:768px){.header-content{padding:10px 16px}.tab-navigation{padding:0 12px}.App-main{height:calc(100vh - 90px);margin-top:90px;padding:14px 16px}.payments-header,.portfolio-header{align-items:stretch;flex-direction:column;gap:10px}.payments-summary,.portfolio-summary,.stats-container,.stats-grid{gap:8px;grid-template-columns:1fr 1fr}.filter-buttons{flex-direction:column;gap:4px}.filter-button{justify-content:flex-start;padding:8px 12px}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column}.portfolio-items{overflow-x:auto}.portfolio-items table,.portfolio-table{min-width:600px}.payment-item{gap:8px}.payment-info,.payment-item{align-items:flex-start;flex-direction:column}.payment-info{gap:6px;width:100%}.payment-description{text-align:left;width:100%}.payment-actions{justify-content:flex-end;width:100%}.backup-header{align-items:stretch;flex-direction:column}.backup-actions{justify-content:center}.backup-item{align-items:flex-start;flex-direction:column;gap:8px}.backup-item .backup-actions{justify-content:center;width:100%}.sell-excel-upload-modal{width:98%!important}.preview-actions{align-items:stretch;flex-direction:column}.profit-details{grid-template-columns:1fr}.action-buttons{flex-direction:column;gap:4px}.excel-upload-header{align-items:stretch;flex-direction:column}.excel-preview-content{max-height:90vh;width:95%}.portfolio-overview-grid{gap:8px;grid-template-columns:1fr 1fr}.portfolio-overview-card{padding:16px}.portfolio-overview-item .overview-value{font-size:1rem}}.asset-detail-modal{max-height:90vh;max-width:1200px;overflow-y:auto;width:95%}.time-period-selector{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:16px}.period-button{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:.82rem;font-weight:500;padding:6px 14px;transition:all var(--transition)}.period-button:hover{background:var(--primary-bg);border-color:var(--primary);color:var(--primary)}.period-button.active{background:var(--primary);border-color:var(--primary);color:#fff}.period-stats{background:var(--bg);border-radius:var(--radius);margin-bottom:16px;padding:16px}.period-stats .stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.stat-item{align-items:center;background:var(--card);border:1px solid var(--border);border-radius:var(--radius-sm);display:flex;flex-direction:column;padding:10px}.stat-item label{color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.stat-item span{color:var(--text);font-size:.9rem;font-weight:700}.stat-item .positive{color:var(--success)}.stat-item .negative{color:var(--danger)}.historical-chart{margin-bottom:16px}.historical-chart h3{color:var(--text);font-size:.95rem;font-weight:600;margin-bottom:12px}.chart-container{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);height:350px;padding:16px}.chart-container .recharts-cartesian-grid-horizontal line{stroke:var(--border)}.chart-container .recharts-tooltip-cursor{stroke:var(--text-muted);stroke-dasharray:3 3}.no-chart-data{align-items:center;color:var(--text-muted);display:flex;font-size:.9rem;height:100%;justify-content:center}.historical-table{margin-bottom:16px}.historical-table h3{color:var(--text);font-size:.95rem;font-weight:600;margin-bottom:12px}.table-container{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table-container table{border-collapse:collapse;width:100%}.table-container td,.table-container th{border-bottom:1px solid var(--border-light);padding:10px 14px;text-align:left}.table-container th{background:var(--bg);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.table-container td{font-size:.85rem}.table-container .positive{color:var(--success)}.table-container .negative{color:var(--danger)}.table-container tbody tr:hover{background:var(--primary-bg)}@media (max-width:768px){.asset-detail-modal{max-height:95vh;width:95%}.time-period-selector{gap:4px}.period-button{font-size:.78rem;padding:5px 10px}.period-stats .stats-grid{gap:6px;grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.stat-item{padding:6px}.stat-item label{font-size:.68rem}.stat-item span{font-size:.82rem}.chart-container{height:260px;padding:12px}.table-container td,.table-container th{font-size:.8rem;padding:8px 10px}}.clickable{cursor:pointer;transition:color var(--transition)}.clickable:hover{color:var(--primary)}.watchlist-container{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:16px}.watchlist-header{align-items:center;border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;margin-bottom:14px;padding-bottom:12px}.watchlist-header h2{color:var(--text);font-size:1rem;font-weight:600;margin:0}.add-stock-button{background:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.82rem;font-weight:500;padding:6px 14px;transition:all var(--transition)}.add-stock-button:hover{background:var(--primary-dark)}.empty-watchlist{color:var(--text-secondary);padding:32px 16px;text-align:center}.empty-watchlist p{font-size:.9rem;margin-bottom:14px}.empty-watchlist button{background:var(--primary);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.82rem;padding:8px 18px;transition:background var(--transition)}.empty-watchlist button:hover{background:var(--primary-dark)}.watchlist-table{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.watchlist-table table{background:var(--card);border-collapse:collapse;width:100%}.watchlist-table th{background:var(--bg);border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:.72rem;font-weight:600;letter-spacing:.04em;padding:10px 12px;text-align:left;text-transform:uppercase}.watchlist-table td{border-bottom:1px solid var(--border-light);font-size:.82rem;padding:10px 12px}.watchlist-table tr:hover{background-color:var(--primary-bg)}.watchlist-table .stock-symbol{color:var(--text);font-weight:600;letter-spacing:.02em}.stock-name{color:var(--text-secondary);max-width:200px}.current-price{color:var(--text);font-weight:600}.price-change{display:block;font-size:.75rem;font-weight:600;margin-top:2px}.price-change.positive{color:var(--success)}.price-change.negative{color:var(--danger)}.entry-price,.target-price{color:var(--text-secondary);font-weight:500}.entry-diff,.target-diff{font-weight:600}.entry-diff.positive,.target-diff.positive{color:var(--success)}.entry-diff.negative,.target-diff.negative{color:var(--danger)}.entry-diff small,.target-diff small{font-size:.68rem;opacity:.8}.added-date{color:var(--text-muted);font-size:.78rem}.actions{text-align:center}.remove-button{background:var(--danger);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.72rem;padding:4px 10px;transition:background var(--transition)}.remove-button:hover{background:#b91c1c}.watchlist-container .edit-button{background:#3b82f6;border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.72rem;padding:4px 10px;transition:background var(--transition)}.watchlist-container .edit-button:hover{background:#2563eb}.update-button{background:var(--success);border:none;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.82rem;font-weight:500;padding:8px 16px;transition:all var(--transition)}.update-button:hover:not(:disabled){background:#047857}.update-button:disabled{background:var(--text-secondary);cursor:not-allowed;opacity:.6}.watchlist-container .modal-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a66;display:flex;inset:0;justify-content:center;position:fixed;z-index:1000}.watchlist-container .modal-content{animation:modalIn .2s ease-out;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:80vh;max-width:480px;overflow-y:auto;width:90%}.watchlist-container .modal-header{align-items:center;background:var(--bg);border-bottom:1px solid var(--border);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;justify-content:space-between;padding:16px 20px}.watchlist-container .modal-header h3{color:var(--text);font-size:1rem;font-weight:600;margin:0}.close-button{align-items:center;background:#0000;border:1px solid var(--border);border-radius:50%;color:var(--text-secondary);cursor:pointer;display:flex;font-size:1rem;height:28px;justify-content:center;padding:0;transition:all var(--transition);width:28px}.close-button:hover{background:var(--danger-bg);border-color:var(--danger);color:var(--danger)}.watchlist-container .modal-body{padding:20px}.watchlist-container .form-group{margin-bottom:14px}.watchlist-container .form-group label{color:var(--text-secondary);display:block;font-size:.82rem;font-weight:500;margin-bottom:6px}.price-input,.search-input,.stock-select{border:1px solid var(--border);border-radius:var(--radius-sm);box-sizing:border-box;font-size:.85rem;padding:8px 12px;transition:border-color var(--transition);width:100%}.price-input:focus,.search-input:focus,.stock-select:focus{border-color:var(--primary);box-shadow:0 0 0 3px #4f46e514;outline:none}.autocomplete-container{position:relative}.suggestions-list{background:var(--card);border:1px solid var(--border);border-radius:0 0 var(--radius-sm) var(--radius-sm);border-top:none;box-shadow:var(--shadow-md);left:0;max-height:220px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestions-list .suggestion-item{align-items:center;border-bottom:1px solid var(--border-light);cursor:pointer;display:flex;font-size:.82rem;padding:8px 12px;transition:background var(--transition)}.suggestions-list .suggestion-item:hover{background:var(--primary-bg)}.suggestions-list .suggestion-item:last-child{border-bottom:none}.suggestions-list .suggestion-symbol{color:var(--text);font-weight:600;min-width:60px}.suggestions-list .suggestion-price{color:var(--text);flex:1 1;font-weight:600;text-align:center}.suggestion-change{font-size:.75rem;font-weight:600;min-width:50px;text-align:right}.suggestion-change.positive{color:var(--success)}.suggestion-change.negative{color:var(--danger)}.stock-info{background:var(--bg);border-left:3px solid var(--primary);border-radius:var(--radius-sm);margin-top:10px;padding:12px}.stock-info p{color:var(--text-secondary);font-size:.82rem;margin:3px 0}.modal-footer{border-top:1px solid var(--border);display:flex;gap:8px;justify-content:flex-end;padding:14px 20px}.watchlist-container .add-button,.watchlist-container .cancel-button{border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:.82rem;font-weight:500;padding:8px 16px;transition:all var(--transition)}.watchlist-container .cancel-button{background:var(--bg);border:1px solid var(--border);color:var(--text-secondary)}.watchlist-container .cancel-button:hover{background:var(--border-light);color:var(--text)}.watchlist-container .add-button{background:var(--primary);color:#fff}.watchlist-container .add-button:hover:not(:disabled){background:var(--primary-dark)}.watchlist-container .add-button:disabled{background:var(--text-secondary);cursor:not-allowed;opacity:.6}@media (max-width:768px){.watchlist-container{padding:12px}.watchlist-header{align-items:stretch;flex-direction:column;gap:10px}.add-stock-button{width:100%}.watchlist-container .modal-content{width:95%}.watchlist-table td,.watchlist-table th{font-size:.78rem;padding:8px}}
/*# sourceMappingURL=main.a76e92c5.css.map*/