:root,[data-theme=light]{--bg-primary: #f8f9fa;--bg-secondary: #ffffff;--bg-hover: #e9ecef;--text-primary: #000000;--text-secondary: #6c757d;--text-muted: #adb5bd;--border-color: #dee2e6;--border-light: #e9ecef;--color-positive: #16c784;--color-negative: #ea3943;--color-neutral: #6c757d;--brand-primary: #3861fb;--brand-hover: #2651eb}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #000000;--bg-hover: #1a1a1a;--text-primary: #ffffff;--text-secondary: #a0a0a0;--text-muted: #707070;--border-color: #2a2a2a;--border-light: #1a1a1a;--color-positive: #16c784;--color-negative: #ea3943;--color-neutral: #a0a0a0;--brand-primary: #3861fb;--brand-hover: #4a75fc}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-size-xs: 11px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 20px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .08)}body{font-family:var(--font-family);font-size:var(--font-size-md);color:var(--text-primary);background:var(--bg-secondary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.text-positive{color:var(--color-positive)}.text-negative{color:var(--color-negative)}.text-muted{color:var(--text-muted)}.text-center{text-align:center}.font-weight-bold{font-weight:600}html,body{width:100%;height:100%;margin:0;padding:0}body{font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary)}#root{width:100%;min-height:100vh}.login-container{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.brand-title{font-size:36px;font-weight:700;color:#667eea;text-align:center;margin-bottom:32px;letter-spacing:-.5px}.login-card h1{margin:0 0 24px;color:#333;font-size:28px}.subtitle{margin:0 0 32px;color:#666;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500;font-size:14px}.form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:16px;font-size:14px}.btn-primary{width:100%;padding:14px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn-demo{width:100%;padding:14px;background:#fff;color:#667eea;border:2px solid #667eea;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s;margin-top:12px}.btn-demo:hover:not(:disabled){background:#667eea;color:#fff;transform:translateY(-2px);box-shadow:0 5px 20px #667eea66}.btn-demo:disabled{opacity:.6;cursor:not-allowed}.form-footer{margin-top:24px;text-align:center;color:#666;font-size:14px}.form-footer a{color:#667eea;text-decoration:none;font-weight:600}.form-footer a:hover{text-decoration:underline}@media(max-width:480px){.login-container{padding:16px}.login-card{padding:24px}.login-card h1{font-size:24px}.btn-primary{padding:12px;font-size:14px}}.register-container{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#f093fb,#f5576c);padding:20px}.register-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:500px}.register-card h1{margin:0 0 8px;color:#333;font-size:28px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:600px){.form-row{grid-template-columns:1fr}.register-card{padding:24px}.register-card h1{font-size:24px}}@media(max-width:480px){.register-container{padding:16px}}.hamburger-button{width:24px;height:24px;background:none;border:none;cursor:pointer;display:flex;flex-direction:column;justify-content:space-around;padding:0;z-index:1001;position:relative}.hamburger-button span{width:100%;height:2px;background:var(--text-primary);transition:all .3s ease;border-radius:2px}.hamburger-button:hover span{background:var(--brand-primary)}.hamburger-button.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger-button.active span:nth-child(2){opacity:0}.hamburger-button.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-overlay{position:fixed;inset:0;background:#00000080;z-index:999;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.side-menu{position:fixed;top:0;left:-280px;width:280px;height:100vh;background:var(--bg-primary);border-right:1px solid var(--border-light);z-index:1000;transition:left .3s ease;overflow-y:auto}.side-menu.open{left:0}.side-menu-nav{padding:80px 0 var(--spacing-lg);display:flex;flex-direction:column}.menu-item{width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;text-align:left;font-size:var(--font-size-md);color:var(--text-primary);cursor:pointer;transition:background .2s ease;border-left:3px solid transparent}.menu-item:hover{background:var(--bg-hover)}.menu-item.active{font-weight:600;border-left-color:var(--brand-primary);background:var(--bg-hover)}.user-avatar-container{position:relative}.user-avatar{width:32px;height:32px;border-radius:50%;background:var(--text-primary);color:var(--bg-primary);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-sm);transition:opacity .2s ease}.user-avatar:hover{opacity:.8}.avatar-initials{-webkit-user-select:none;user-select:none}.user-menu-dropdown{position:absolute;top:calc(100% + 8px);right:0;width:200px;background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:1000;animation:dropdownFadeIn .2s ease}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.user-menu-header{padding:var(--spacing-md)}.user-menu-email{font-size:var(--font-size-sm);color:var(--text-secondary);word-break:break-all}.user-menu-divider{height:1px;background:var(--border-light);margin:var(--spacing-xs) 0}.user-menu-item{width:100%;padding:var(--spacing-sm) var(--spacing-md);background:none;border:none;text-align:left;font-size:var(--font-size-md);color:var(--text-primary);cursor:pointer;transition:background .2s ease}.user-menu-item:hover{background:var(--bg-hover)}.user-menu-item.danger{color:var(--color-negative)}.user-menu-item.danger:hover{background:#ea39431a}.welcome-section{text-align:center;padding:calc(var(--spacing-xl) * 3) 0 var(--spacing-xl);margin-bottom:var(--spacing-xl)}.welcome-section h1{font-size:32px;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.subtitle{font-size:var(--font-size-lg);color:var(--text-secondary);margin:0}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.feature-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-lg);text-align:center;transition:all .2s ease;cursor:pointer}.feature-card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px);border-color:var(--brand-primary)}.feature-icon{font-size:48px;margin-bottom:var(--spacing-md)}.feature-card h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.feature-card p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.feature-card .coming-soon{font-size:24px!important;font-weight:700;color:var(--brand-primary)!important;text-transform:uppercase;letter-spacing:1px;margin:var(--spacing-sm) 0!important}.quick-actions{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-lg)}.quick-actions h2{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-md) 0}.actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.action-btn{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease}.action-btn:hover{background:var(--bg-hover);border-color:var(--text-secondary);transform:translateY(-1px)}.action-btn svg{flex-shrink:0}@media(max-width:768px){.welcome-section h1{font-size:24px}.features-grid,.actions-grid{grid-template-columns:1fr}}.page-container{min-height:100vh;background:var(--bg-secondary)}.top-header{background:var(--bg-primary);border-bottom:1px solid var(--border-light);padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:100}.header-left,.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.breadcrumb{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-md)}.breadcrumb-brand{color:var(--text-primary);font-weight:600}.breadcrumb-separator{color:var(--text-muted)}.breadcrumb-page{color:var(--text-secondary)}.main-content{max-width:1150px;margin:0 auto;padding:calc(var(--spacing-xl) * 3) var(--spacing-xl) var(--spacing-xl)}.portfolio-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.portfolio-title{display:flex;align-items:center;gap:var(--spacing-sm)}.portfolio-title h1{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0}.portfolio-total-value{font-size:var(--font-size-xl);font-weight:700;color:var(--brand-primary);margin-left:var(--spacing-md);padding-left:var(--spacing-md);border-left:2px solid var(--border-light)}.portfolio-title svg{color:var(--text-secondary)}.portfolio-actions{display:flex;align-items:center;gap:var(--spacing-md);margin-left:auto}.portfolio-selector{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:border-color .2s ease;min-width:150px;max-width:200px}.portfolio-selector:hover{border-color:var(--text-secondary)}.portfolio-selector:focus{outline:none;border-color:var(--brand-primary)}.btn-new-portfolio{padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap}.btn-new-portfolio:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.portfolio-section{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);margin-bottom:var(--spacing-lg);overflow:hidden}.section-header{padding:var(--spacing-sm) var(--spacing-md);border-bottom:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.section-title{display:flex;align-items:center;gap:var(--spacing-sm)}.section-title h2{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin:0}.btn-delete-portfolio{padding:var(--spacing-xs);background:none;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.btn-delete-portfolio:hover{color:var(--color-negative)}.section-title svg{color:var(--text-secondary)}.section-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.btn-add-asset{padding:var(--spacing-xs) var(--spacing-md);background:none;border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.btn-add-asset:hover{background:var(--bg-hover);border-color:var(--text-secondary)}.section-time{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--text-muted)}.section-time svg{color:var(--text-muted)}.portfolio-table-wrapper{overflow-x:auto;background:var(--bg-secondary)}.portfolio-table{width:100%;border-collapse:collapse;background:var(--bg-secondary)}.portfolio-table thead{border-bottom:1px solid var(--border-light)}.portfolio-table th{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.portfolio-table tbody tr{border-bottom:1px solid var(--border-light);transition:background .2s ease}.portfolio-table tbody tr:last-child{border-bottom:none}.portfolio-table tbody tr:hover{background:var(--bg-hover)}.portfolio-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-primary)}.asset-cell{display:flex;align-items:center;gap:var(--spacing-sm)}.asset-icon{width:28px;height:28px;border-radius:50%;flex-shrink:0;object-fit:cover}div.asset-icon{background:#f7931a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-md);font-weight:700}img.asset-icon{display:block}.asset-info{display:flex;flex-direction:column;gap:2px}.asset-name{font-weight:600;color:var(--text-primary)}.asset-symbol{font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase}.empty-state,.empty-portfolio{padding:var(--spacing-xl);text-align:center;color:var(--text-secondary);background:var(--bg-secondary)}.loading-state{padding:var(--spacing-xl);text-align:center;color:var(--text-secondary)}.btn-create{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);background:var(--brand-primary);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:background .2s ease}.btn-create:hover{background:var(--brand-hover)}.btn-edit-asset{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--spacing-xs);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.btn-edit-asset:hover{background:var(--bg-hover);color:var(--accent-primary)}.btn-edit-asset svg{width:16px;height:16px}@media(max-width:768px){.main-content{padding:var(--spacing-md)}.portfolio-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.section-actions{width:100%;justify-content:space-between}.portfolio-table{font-size:var(--font-size-xs)}.portfolio-table th,.portfolio-table td{padding:var(--spacing-sm)}.asset-icon{width:24px;height:24px;font-size:var(--font-size-md)}}.page-title{margin-bottom:var(--spacing-xl)}.page-title h1{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm) 0}.page-description{font-size:var(--font-size-md);color:var(--text-secondary);margin:0}.error-banner{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#fff5f5;border:1px solid #feb2b2;border-radius:var(--radius-sm);color:#c53030;margin-bottom:var(--spacing-lg);font-size:var(--font-size-sm)}.error-banner svg{flex-shrink:0}.success-banner{background:#f0fdf4;border:1px solid #86efac;color:#15803d}.info-banner{background:#eff6ff;border:1px solid #93c5fd;color:#1e40af}.form-section{padding:var(--spacing-lg) 0;padding-left:var(--spacing-lg);border-left:2px solid var(--border-light)}.section-number{display:none}.section-content{flex:1;min-width:0}.section-content h2{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-xs) 0}.section-description{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0 0 var(--spacing-lg) 0}.form-group{margin-bottom:var(--spacing-lg)}.form-group:last-child{margin-bottom:0}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.form-group input[type=text],.form-group input[type=number],.form-group select,.form-group textarea{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s;font-family:var(--font-family)}.form-group input[type=text]:focus,.form-group input[type=number]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #3861fb1a}.form-group input[type=text]:disabled,.form-group input[type=number]:disabled,.form-group select:disabled,.form-group textarea:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.form-group textarea{resize:vertical;min-height:100px}.field-hint,.form-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin:var(--spacing-xs) 0 0 0}.form-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg)}.form-row:last-child{margin-bottom:0}.form-row .form-group{flex:1;margin-bottom:0}.form-row.two-columns .form-group{flex:1}.form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm);border-top:none;padding:0;margin-top:var(--spacing-lg)}.btn-cancel,.btn-submit{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;border:1px solid}.btn-cancel{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.btn-cancel:hover:not(:disabled){background:var(--bg-hover)}.btn-submit{background:var(--brand-primary);color:#fff;border-color:var(--brand-primary)}.btn-submit:hover:not(:disabled){background:var(--brand-hover)}.btn-cancel:disabled,.btn-submit:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;border:1px solid var(--border-color);background:var(--bg-primary);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-hover)}.btn-danger{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);font-weight:700;border-radius:var(--radius-sm);cursor:pointer;transition:all .2s;border:1px solid #e53e3e;background:#e53e3e!important;color:#fff!important}.btn-danger:hover:not(:disabled){background:#c53030!important;border-color:#c53030}.btn-danger:disabled,.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.disabled-select{background:var(--bg-secondary)!important;cursor:not-allowed;opacity:.7}.asset-info-box{background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);padding:var(--spacing-md);margin-top:var(--spacing-sm)}.asset-info-box p{margin:var(--spacing-xs) 0;font-size:var(--font-size-sm);color:var(--text-secondary)}.form-select{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s;font-family:var(--font-family);cursor:pointer}.form-select:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #3861fb1a}.form-input{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s;font-family:var(--font-family)}.form-input:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #3861fb1a}.form-textarea{width:100%;padding:var(--spacing-sm);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);transition:border-color .2s,box-shadow .2s;font-family:var(--font-family);resize:vertical;min-height:100px}.form-textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #3861fb1a}@media(max-width:768px){.form-section{padding:var(--spacing-md) 0;padding-left:40px}.form-section:before{left:12px}.section-number{left:-4px;width:28px;height:28px;font-size:var(--font-size-xs)}.form-row{flex-direction:column}.form-actions{flex-direction:column-reverse;padding:var(--spacing-md) 0;padding-left:40px}.btn-cancel,.btn-submit{width:100%}}.form-page-content{max-width:700px;margin:0 auto;padding:calc(var(--spacing-xl) * 3) var(--spacing-xl) var(--spacing-xl)}.settings-page-content{max-width:500px;margin:0 auto;padding:calc(var(--spacing-xl) * 3) var(--spacing-xl) var(--spacing-xl)}@media(max-width:768px){.form-page-content,.settings-page-content{padding:var(--spacing-md)}}.add-asset-container h1{font-size:28px;font-weight:600;color:var(--text-primary);margin:0 0 var(--spacing-sm)}.page-subtitle{color:var(--text-secondary);font-size:var(--font-size-md);margin-bottom:var(--spacing-xl)}.loading-page{display:flex;align-items:center;justify-content:center;min-height:100vh;font-size:var(--font-size-lg);color:var(--text-secondary)}.calculation-info{margin-top:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);background:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--text-secondary)}@media(max-width:768px){.add-asset-container h1{font-size:24px}}.required{color:var(--color-negative)}.form-input,.form-select,.form-textarea{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:var(--font-size-md);font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);transition:border-color .2s ease}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--brand-primary);box-shadow:0 0 0 3px #3861fb1a}.form-input.disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.form-textarea{resize:vertical;min-height:80px}.form-hint{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-xs)}.create-portfolio-content{max-width:900px;margin:0 auto;padding:var(--spacing-xl)}@media(max-width:768px){.create-portfolio-content{padding:var(--spacing-md)}}.market-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.market-title{display:flex;align-items:center;gap:var(--spacing-sm)}.market-title h1{font-size:var(--font-size-xl);font-weight:600;color:var(--text-primary);margin:0}.market-title svg{color:var(--text-secondary)}.btn-refresh{padding:var(--spacing-sm) var(--spacing-lg);background:var(--brand-primary);color:#fff;border:1px solid var(--brand-primary);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .2s}.btn-refresh:hover{background:var(--brand-hover)}.search-bar{margin-bottom:var(--spacing-lg)}.search-bar input{width:100%;max-width:500px;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--border-light);border-radius:var(--radius-sm);font-size:var(--font-size-md);background:var(--bg-primary);color:var(--text-primary)}.search-bar input:focus{outline:none;border-color:var(--brand-primary)}.error-banner{background:#fee;color:#c00;padding:var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-lg);border:1px solid #fcc}.loading-state{text-align:center;padding:var(--spacing-xl);color:var(--text-secondary);font-size:var(--font-size-lg)}.table-header-info{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-sm)}.last-updated{font-size:var(--font-size-xs);color:var(--text-secondary);font-style:italic}.market-table-container{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-md);overflow:hidden}.market-table{width:100%;border-collapse:collapse}.market-table thead{background:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.market-table th{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--text-secondary);letter-spacing:.5px}.market-table tbody tr{border-bottom:1px solid var(--border-light);transition:background .15s}.market-table tbody tr:hover{background:var(--bg-secondary)}.market-table tbody tr:last-child{border-bottom:none}.market-table td{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);color:var(--text-primary)}.text-left{text-align:left}.text-right{text-align:right}.rank-cell{color:var(--text-secondary);font-weight:500;width:60px}.crypto-info{display:flex;align-items:center;gap:var(--spacing-sm)}.crypto-icon{width:28px;height:28px;border-radius:50%}.crypto-name{font-weight:500;color:var(--text-primary);margin-bottom:2px}.crypto-symbol{font-size:var(--font-size-xs);color:var(--text-secondary);text-transform:uppercase}.price-cell{font-weight:500}.positive{color:#10b981;font-weight:500}.negative{color:#ef4444;font-weight:500}@media(max-width:1024px){.market-table th,.market-table td{padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-xs)}.crypto-icon{width:24px;height:24px}}@media(max-width:768px){.market-content{padding:var(--spacing-md)}.market-header{flex-direction:column;gap:var(--spacing-md)}.market-header h1{font-size:24px}.market-table th:nth-child(6),.market-table td:nth-child(6){display:none}@media(max-width:480px){.market-table th:nth-child(5),.market-table td:nth-child(5){display:none}}}.settings-container{display:flex;gap:var(--spacing-xl);max-width:700px;margin:0 auto}.mobile-menu-toggle{display:none;width:100%;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--bg-secondary);border:1px solid var(--border-light);border-radius:var(--radius-sm);color:var(--text-primary);font-size:var(--font-size-sm);cursor:pointer;margin-bottom:var(--spacing-md);text-align:left}.mobile-menu-toggle:hover{background-color:var(--bg-hover)}.settings-sidebar{flex:0 0 200px;background-color:transparent;padding-top:calc(var(--spacing-xl) * 2)}.settings-nav-section{margin-bottom:var(--spacing-xl)}.settings-nav-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-sm);padding:0 var(--spacing-lg)}.settings-nav-list{list-style:none;padding:0;margin:0}.settings-nav-item{display:flex;align-items:center;width:100%;padding:var(--spacing-md) var(--spacing-lg);background:none;border:none;border-left:3px solid transparent;color:var(--text-primary);font-size:var(--font-size-md);cursor:pointer;transition:background .2s ease;text-align:left}.settings-nav-item:hover{background-color:var(--bg-hover)}.settings-nav-item.active{border-left-color:var(--accent-primary)}.nav-icon{display:none}.settings-main{flex:1;min-width:0}@media(max-width:768px){.settings-container{flex-direction:column}.mobile-menu-toggle{display:block}.settings-sidebar{flex:0 0 auto;width:100%;display:none}.settings-sidebar.mobile-open{display:block;margin-bottom:var(--spacing-lg)}}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper input{padding-right:40px!important}.password-toggle{position:absolute;right:8px;background:none;border:none;cursor:pointer;font-size:18px;padding:4px 8px;color:var(--text-secondary);transition:color .2s ease}.password-toggle:hover{color:var(--text-primary)}.danger-title h1{color:var(--error-color)!important}.danger-description{color:var(--error-color)!important;margin:0!important;font-size:var(--font-size-sm)!important}.form-section{padding:var(--spacing-md) 0;padding-left:var(--spacing-lg)}.btn-danger{padding:var(--spacing-sm) var(--spacing-md);background-color:var(--error-color);color:#fff;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease}.btn-danger:hover{background-color:#b62324}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.theme-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-lg)}.theme-option{background-color:var(--bg-secondary);border:2px solid var(--border-light);border-radius:var(--radius-md);padding:var(--spacing-md);cursor:pointer;transition:all .2s ease;text-align:center}.theme-option:hover{border-color:var(--text-secondary);transform:translateY(-2px)}.theme-option.active{border-color:var(--success-color);box-shadow:0 0 0 3px #2386361a}.theme-preview{width:100%;height:120px;border-radius:var(--radius-sm);overflow:hidden;margin-bottom:var(--spacing-sm);box-shadow:0 4px 8px #0000004d}.light-preview{background-color:#fff}.dark-preview{background-color:var(--bg-primary)}.preview-header{height:30px;width:100%}.light-preview .preview-header{background-color:#f6f8fa;border-bottom:1px solid #d0d7de}.dark-preview .preview-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-light)}.preview-content{padding:var(--spacing-sm)}.preview-text{height:8px;border-radius:4px;margin-bottom:var(--spacing-xs)}.preview-text.short{width:60%}.light-preview .preview-text{background-color:#d0d7de}.dark-preview .preview-text{background-color:var(--border-light)}.theme-label{display:flex;align-items:center;justify-content:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary)}.theme-icon{font-size:20px}@media(max-width:768px){.theme-options{grid-template-columns:1fr}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}
