body{-moz-osx-font-scrolling:grayscale;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--color-primary:#667eea;--color-primary-dark:#764ba2;--color-text:#1a202c;--color-text-light:#718096;--color-text-muted:#9ca3af;--color-background:#f8fafc;--color-white:#fff;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e0;--color-gray-400:#a0aec0;--color-gray-500:#718096;--color-gray-600:#4a5568;--color-gray-700:#2d3748;--color-gray-800:#1a202c;--color-success:#059669;--color-success-dark:#047857;--color-success-light:#d1fae5;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-danger:#dc2626;--color-danger-dark:#b91c1c;--color-danger-light:#fee2e2;--color-info:#0ea5e9;--color-info-light:#e0f2fe;--gradient-primary:linear-gradient(135deg,#667eea,#764ba2);--gradient-success:linear-gradient(135deg,#00d4aa,#00c896);--spacing-xs:0.25rem;--spacing-sm:0.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:20px;--radius-full:50%;--shadow-sm:0 1px 3px #0000001a;--shadow-md:0 2px 4px #0000000d;--shadow-lg:0 4px 6px -1px #0000001a;--shadow-xl:0 10px 25px #0000001a;--shadow-2xl:0 20px 40px #0000001a;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--transition-slow:0.5s ease;--font-size-xs:0.75rem;--font-size-sm:0.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:2rem;--font-size-4xl:2.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;color:#1a202c;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{display:flex;min-height:100vh}.app-content{display:flex;flex:1 1;flex-direction:column;margin-left:250px;transition:margin-left .3s ease}.main-content{flex:1 1;padding:2rem 0}.container{margin:0 auto;max-width:1200px;padding:0 2rem}.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.spinner{border:4px solid #e2e8f0;margin-bottom:1rem}.spinner.small{border:2px solid #e2e8f0;border-top-color:#667eea;height:20px;width:20px}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:.5rem}.section-subtitle{color:#718096;font-size:1.1rem;margin:0 auto;max-width:600px}.error-message{color:#e53e3e;font-size:.9rem;margin:0}@media (max-width:1000px){.app-content{margin-left:0}.container{padding:0 1rem}.section-title{font-size:2rem}}@media (min-width:1001px) and (max-width:1200px){.app-content{margin-left:250px;margin-right:1rem}.container{padding:0 1rem}}@media (max-width:480px){.app-content{margin-left:0}}.btn{align-items:center;border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:.5rem;justify-content:center;overflow:hidden;padding:.75rem 1.5rem;position:relative;text-decoration:none;transition:all var(--transition-fast)}.btn-xs{font-size:var(--font-size-xs);padding:.25rem .5rem}.btn-sm,.btn-xs{border-radius:var(--radius-sm)}.btn-sm{font-size:var(--font-size-sm);padding:.5rem 1rem}.btn-lg{font-size:var(--font-size-base);padding:1rem 2rem}.btn-lg,.btn-xl{border-radius:var(--radius-lg)}.btn-xl{font-size:var(--font-size-lg);padding:1.25rem 2.5rem}.btn-full-width{width:100%}.btn-loading{cursor:not-allowed}.btn-loading .btn-content{opacity:.7}.btn.disabled,.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.btn-primary{background:var(--gradient-primary);box-shadow:0 2px 4px #667eea4d;color:var(--color-white)}.btn-primary:hover:not(:disabled):not(.disabled){box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.btn-secondary{background:var(--color-gray-100);border:1px solid var(--color-gray-300);color:var(--color-gray-600)}.btn-secondary:hover:not(:disabled):not(.disabled){background:var(--color-gray-200);transform:translateY(-1px)}.btn-outline{background:#0000;border:1px solid var(--color-primary);color:var(--color-primary)}.btn-outline:hover:not(:disabled):not(.disabled){background:var(--color-primary);color:var(--color-white)}.btn-danger-outline{background:#fff3;border:1px solid #dc2626!important;border-radius:var(--radius-sm);color:#dc2626!important;cursor:pointer;font-size:var(--font-size-sm);padding:.5rem 1rem;transition:all var(--transition-fast)}.btn-danger-outline:hover{background:#dc2626!important;color:#fff!important;transform:translateY(-1px)}.btn-danger{background:var(--color-danger);box-shadow:0 2px 4px #ef44444d;color:var(--color-white)}.btn-danger:hover:not(:disabled):not(.disabled){background:var(--color-danger-dark);box-shadow:0 4px 8px #ef444466;color:var(--color-white);transform:translateY(-1px)}.btn-success{background:var(--color-success);box-shadow:0 2px 4px #22c55e4d;color:var(--color-white)}.btn-success:hover:not(:disabled):not(.disabled){background:var(--color-success-dark);box-shadow:0 4px 8px #22c55e66;color:var(--color-white);transform:translateY(-1px)}.btn-link{background:#0000;border:none;color:var(--color-primary);font-size:var(--font-size-sm);padding:.5rem .75rem;text-decoration:none}.btn-link:hover:not(:disabled):not(.disabled){color:var(--color-primary-dark);text-decoration:underline;transform:none}.btn-ghost{background:#0000;border:1px solid #0000;color:var(--color-gray-600)}.btn-ghost:hover:not(:disabled):not(.disabled){background:var(--color-gray-100);border-color:var(--color-gray-300);transform:translateY(-1px)}.btn-icon-left,.btn-icon-right{align-items:center;display:flex;justify-content:center}.btn-icon-left svg,.btn-icon-right svg{height:1em;width:1em}.btn-icon-sm svg{height:.75rem;width:.75rem}.btn-icon-md svg{height:1rem;width:1rem}.btn-icon-lg svg{height:1.25rem;width:1.25rem}.btn-large{border-radius:var(--radius-md);justify-content:flex-start;min-height:80px;padding:var(--spacing-lg);transition:all var(--transition-fast)}.btn-large,.btn-large .btn-content{align-items:flex-start;display:flex;text-align:left}.btn-large .btn-content{flex-direction:column;gap:var(--spacing-sm)}.btn-large:hover:not(:disabled):not(.disabled){box-shadow:var(--shadow-lg);transform:translateY(-2px)}.btn-large h4{color:inherit;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-xs) 0}.btn-large p{margin:0;opacity:.8}.btn-large p,.deactivate-btn{font-size:var(--font-size-sm)}.deactivate-btn{background:var(--color-danger-light);border:1px solid #feb2b2;border-radius:var(--radius-sm);color:var(--color-danger);cursor:pointer;font-weight:var(--font-weight-medium);padding:.5rem 1rem;transition:all var(--transition-fast)}.deactivate-btn:hover{background:#feb2b2;transform:translateY(-1px)}.refresh-btn{background:#e6fffa;border:1px solid #b2f5ea;border-radius:var(--radius-sm);color:#285e61;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:.5rem 1rem;transition:all var(--transition-fast)}.refresh-btn:hover{background:#b2f5ea;transform:translateY(-1px)}.portfolio-refresh-btn{background:var(--gradient-primary);border:none;border-radius:var(--radius-sm);box-shadow:0 2px 4px #667eea4d;color:#fff;cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:.5rem 1rem;transition:all var(--transition-fast)}.portfolio-refresh-btn:hover:not(:disabled){box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.portfolio-refresh-btn:disabled{cursor:not-allowed;opacity:.7;transform:none}.plaid-link-btn{align-items:center;background:var(--gradient-success);border:none;border-radius:var(--radius-lg);box-shadow:0 4px 15px #00d4aa66;color:#fff;cursor:pointer;display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);gap:.75rem;justify-content:center;padding:1rem 2rem;transition:all var(--transition-normal);width:100%}.plaid-link-btn:hover:not(.loading):not(:disabled){box-shadow:0 6px 20px #00d4aa99;transform:translateY(-2px)}.plaid-link-btn.preparing{background:linear-gradient(135deg,#cbd5e0,#a0aec0);box-shadow:0 4px 15px #a0aec066;cursor:not-allowed}.plaid-link-btn.loading{cursor:not-allowed;opacity:.8}.plaid-link-btn:disabled{cursor:not-allowed;transform:none}.add-target-btn{background:#0000;border:2px dashed var(--color-gray-300);border-radius:var(--radius-md);color:var(--color-text-light);cursor:pointer;font-size:var(--font-size-sm);padding:.75rem;transition:all var(--transition-fast);width:100%}.add-target-btn:hover{background:#f7fafc;border-color:var(--color-primary);color:var(--color-primary)}.remove-target-btn{align-items:center;background:#0000;border:none;color:var(--color-text-muted);cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;transition:all var(--transition-fast);width:24px}.remove-target-btn:hover{color:var(--color-danger);transform:scale(1.1)}.toggle-details{background:none;border:none;border-radius:var(--radius-sm);color:var(--color-primary);font-size:var(--font-size-base);padding:.25rem;transition:background-color var(--transition-fast)}.toggle-details:hover{background:var(--color-gray-100)}.card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:0 auto;max-width:500px;padding:var(--spacing-xl);text-align:center}.manual-institution{border-left:4px solid var(--color-primary)}.manual-badge{background:var(--color-primary);border-radius:var(--radius-sm);color:var(--color-white);display:inline-block;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);margin-left:var(--spacing-sm);padding:.2rem .5rem}.manual-account-form{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.manual-account-form h3,.manual-account-form h4{color:var(--color-gray-700);margin-bottom:var(--spacing-md);margin-top:0}.manual-institution-form{background:var(--color-white);border:none;border-radius:var(--radius-md);margin-bottom:0;padding:0}.manual-institution-form .form-group{margin-bottom:var(--spacing-lg)}.manual-institution-form .form-group label{color:var(--color-gray-700);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-sm)}.manual-institution-form .form-input{background:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);padding:var(--spacing-md);transition:all var(--transition-fast);width:100%}.manual-institution-form .form-input:focus{background:var(--color-white);border-color:var(--color-primary);box-shadow:0 0 0 4px #667eea1a;outline:none}.manual-institution-form .form-input:disabled{background:var(--color-gray-50);cursor:not-allowed;opacity:.7}.manual-institution-form .form-actions{border-top:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl);padding-top:var(--spacing-lg)}.manual-institution-form .error-message{align-items:center;background:var(--color-danger-light);border:1px solid #fca5a5;border-radius:var(--radius-md);color:var(--color-danger);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding:var(--spacing-md)}.manual-institution-form .error-message:before{content:"⚠️";font-size:var(--font-size-base)}.manual-holding-form{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);margin:var(--spacing-md) 0;padding:var(--spacing-md)}.manual-holding-form h4{color:var(--color-gray-700);margin-bottom:var(--spacing-sm);margin-top:0}.accounts-header{display:flex;justify-content:flex-end;margin-bottom:var(--spacing-lg)}.account-actions{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-md)}.account-meta{color:var(--color-text-light);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.institution-info{flex-grow:1}.institution-meta{color:var(--color-text-light);font-size:var(--font-size-sm);margin-top:var(--spacing-xs)}.institution-actions{gap:var(--spacing-sm)}.card-title{color:var(--color-gray-700);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);margin-bottom:.5rem}.card-description{color:var(--color-text-light);line-height:1.6;margin-bottom:var(--spacing-lg)}.institution-section{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-xl);padding:var(--spacing-lg)}.institution-header{align-items:center;border-bottom:1px solid var(--color-gray-200);display:flex;justify-content:space-between;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.institution-name{color:var(--color-gray-700);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.institution-actions{align-items:center;display:flex;gap:var(--spacing-md)}.connection-date{color:var(--color-text-light);font-size:var(--font-size-sm);margin:0}.portfolio-section{margin-bottom:var(--spacing-2xl)}.portfolio-card{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}.portfolio-summary{border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg)}.portfolio-header{justify-content:space-between}.portfolio-header,.total-value{align-items:center;display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.total-value{justify-content:center}.total-label{color:var(--color-text-light);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}.total-amount{-webkit-text-fill-color:#0000;background:var(--gradient-primary);-webkit-background-clip:text;background-clip:text;font-size:var(--font-size-2xl)}.chart-container{height:400px;margin:var(--spacing-md) 0;position:relative}.chart-note{border-top:1px solid var(--color-gray-200);margin-top:var(--spacing-md);padding-top:var(--spacing-md);text-align:center}.chart-note p{color:var(--color-text-light);font-size:var(--font-size-sm);font-style:italic;margin:0}.no-portfolio-data{color:var(--color-text-light);padding:var(--spacing-2xl) var(--spacing-xl);text-align:center}.no-portfolio-data p{font-size:var(--font-size-lg);margin:0}.allocation-section{margin-bottom:var(--spacing-2xl)}.allocation-content{grid-gap:var(--spacing-xl);align-items:start;display:grid;gap:var(--spacing-xl);grid-template-columns:1fr 1fr}.allocation-inputs,.allocation-visualization{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-xl)}@media (max-width:768px){.institution-header{align-items:flex-start;flex-direction:row;gap:var(--spacing-md);justify-content:space-between}.institution-info{flex:1 1;min-width:0}.institution-actions{align-self:flex-start;flex-shrink:0}.chart-container{height:300px}.portfolio-card{padding:var(--spacing-lg)}.portfolio-header{align-items:center;flex-direction:column;text-align:center}.total-value{flex-direction:column;gap:.5rem}.total-amount{font-size:var(--font-size-xl)}.allocation-content{gap:var(--spacing-lg);grid-template-columns:1fr}.allocation-inputs,.allocation-visualization{padding:var(--spacing-lg)}}@media (max-width:1024px){.allocation-content{gap:var(--spacing-lg);grid-template-columns:1fr}}.institution-options p{margin-bottom:var(--spacing-lg)}.option-buttons{gap:var(--spacing-md)}.section-header{margin-bottom:var(--spacing-md)}.section-header .btn-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);padding:var(--spacing-xs) 0;text-decoration:none}.section-header .btn-link:hover{text-decoration:underline}.institution-options{text-align:center}.institution-options p{color:var(--color-gray-600);font-size:var(--font-size-base);line-height:1.6;margin-bottom:var(--spacing-xl)}.option-buttons{display:flex;flex-direction:column;gap:var(--spacing-lg)}.btn-large{align-items:center!important;border:2px solid #0000!important;border-radius:var(--radius-lg)!important;display:flex!important;gap:var(--spacing-lg)!important;min-height:100px!important;overflow:hidden!important;padding:var(--spacing-xl)!important;position:relative!important;text-align:left!important;transition:all var(--transition-fast)!important}.btn-large:hover{border-color:var(--color-primary)!important;box-shadow:0 20px 40px -12px #00000040!important;transform:translateY(-3px)!important}.btn-large .option-icon{background:#fff3;border-radius:var(--radius-md);flex-shrink:0;height:32px;padding:var(--spacing-sm);width:32px}.btn-large div{flex:1 1}.btn-large h4{color:inherit!important;font-size:var(--font-size-lg)!important;font-weight:var(--font-weight-semibold)!important;margin:0 0 var(--spacing-sm) 0!important}.btn-large p{font-size:var(--font-size-sm)!important;line-height:1.5!important;margin:0!important;opacity:.9!important}.section-header{border-bottom:1px solid var(--color-gray-200);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md)}.btn-large{min-height:60px;padding:var(--spacing-md)}.btn-large h4{font-size:var(--font-size-base)}.btn-large p{font-size:var(--font-size-xs)}.allocation-chart-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.chart-tabs{display:flex;flex-direction:column;gap:var(--spacing-xl)}.chart-section{text-align:center}.chart-title{color:var(--color-gray-700);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-md) 0}.chart-warning{color:var(--color-danger);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal)}.chart-wrapper{height:300px;margin:var(--spacing-md) 0;position:relative}.chart-validation-warning{background:var(--color-warning-light);border:1px solid #fbbf24;border-radius:var(--radius-md);padding:var(--spacing-md);text-align:center}.chart-validation-warning p{color:#92400e;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.no-data{align-items:center;color:var(--color-text-muted);display:flex;font-style:italic;height:200px;justify-content:center}@media (max-width:1024px){.chart-tabs{gap:var(--spacing-lg)}.chart-wrapper{height:250px}}@media (max-width:768px){.chart-wrapper{height:200px}}.drift-analysis-section{display:flex;flex-direction:column;gap:var(--spacing-lg);margin:var(--spacing-xl) 0}.drift-indicator{align-items:center;background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;justify-content:space-between;padding:var(--spacing-lg)}.drift-indicator.loading{color:var(--color-text-light);gap:var(--spacing-md);justify-content:center}.drift-indicator.error{background:#fef2f2;border-color:#fca5a5}.drift-indicator.drift-warning{border-left:4px solid var(--color-danger)}.drift-indicator.drift-good{border-left:4px solid var(--color-success)}.drift-main{align-items:center;display:flex;gap:var(--spacing-md)}.drift-icon{font-size:var(--font-size-2xl)}.drift-content{display:flex;flex-direction:column;gap:.25rem}.drift-status{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold)}.drift-summary{color:var(--color-text-light);font-size:var(--font-size-sm)}.drift-timestamp{color:var(--color-text-muted);font-size:var(--font-size-xs)}.drift-spinner{animation:spin 1s linear infinite;border:2px solid #e5e7eb;border-radius:var(--radius-full);border-top:2px solid var(--color-primary);height:20px;width:20px}.drift-summary{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--spacing-lg)}.drift-summary.has-drift{border-left:4px solid var(--color-danger)}.drift-summary.no-drift{border-left:4px solid var(--color-success)}.drift-summary.empty,.drift-summary.error,.drift-summary.loading{color:var(--color-text-light);text-align:center}.drift-summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.drift-summary-header h4{color:var(--color-gray-700);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}.header-actions{align-items:center;display:flex;gap:var(--spacing-sm)}.refresh-button{align-items:center;background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--font-size-lg);height:32px;justify-content:center;min-width:32px;padding:.375rem .5rem;transition:all .2s ease}.refresh-button:hover:not(:disabled){background:var(--color-gray-50);border-color:var(--color-gray-400)}.refresh-button:disabled{animation:spin 1s linear infinite;cursor:not-allowed;opacity:.6}.refresh-button:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.toggle-details{align-items:center;background:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--radius-md);cursor:pointer;display:flex;font-size:var(--font-size-sm);height:32px;justify-content:center;min-width:32px;padding:.375rem .5rem;transition:all .2s ease}.toggle-details:hover{background:var(--color-gray-50);border-color:var(--color-gray-400)}.toggle-details:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #3b82f61a;outline:none}.drift-status-badge{align-items:center;border-radius:var(--radius-md);display:flex;font-weight:var(--font-weight-medium);gap:.5rem;padding:.5rem var(--spacing-md)}.drift-status-badge.warning{background:var(--color-warning-light);border:1px solid #fbbf24;color:#92400e}.drift-status-badge.good{background:var(--color-success-light);border:1px solid #a7f3d0;color:#065f46}.drift-stats{display:flex;gap:var(--spacing-xl)}.stat{align-items:center;display:flex;flex-direction:column;gap:.25rem}.stat-label{color:var(--color-text-muted);font-size:var(--font-size-xs);letter-spacing:.05em;text-transform:uppercase}.stat-value{color:var(--color-gray-700);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold)}.stat-value.drift-count{color:var(--color-danger)}.drift-details{border-top:1px solid var(--color-gray-200);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.holdings-table,.rebalancing-recommendations{margin-bottom:var(--spacing-lg)}.rebalancing-recommendations h5{color:var(--color-gray-700);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 1rem}.rebalancing-columns{grid-gap:var(--spacing-lg);display:grid;gap:var(--spacing-lg);grid-template-columns:1fr 1fr}.buys-column,.sells-column{background:var(--color-white);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-md)}.sells-column{border-left:3px solid var(--color-danger)}.buys-column{border-left:3px solid var(--color-success)}.buys-column h6,.sells-column h6{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);letter-spacing:.05em;margin:0 0 .75rem;text-transform:uppercase}.sells-column h6{color:var(--color-danger)}.buys-column h6{color:var(--color-success)}.transaction-item{background:var(--color-gray-50);border-radius:var(--radius-sm);margin-bottom:.75rem;padding:.75rem}.transaction-item:last-child{margin-bottom:0}.transaction-item.sell{background:#fef2f2;border:1px solid #fecaca}.transaction-item.buy{background:#f0fdf4;border:1px solid #bbf7d0}.transaction-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.transaction-header .ticker{color:var(--color-gray-700);font-weight:var(--font-weight-semibold)}.transaction-header .amount{color:var(--color-gray-900);font-weight:var(--font-weight-semibold)}.transaction-details{display:flex;flex-direction:column;gap:.25rem}.transaction-details .quantity{color:var(--color-gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.drift-thresholds h5{color:var(--color-gray-700);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 .5rem}.drift-thresholds p{color:var(--color-gray-500);font-size:var(--font-size-sm);line-height:1.5;margin:0}@media (max-width:768px){.drift-stats{gap:var(--spacing-md);justify-content:center}.rebalancing-columns{gap:var(--spacing-md);grid-template-columns:1fr}.transaction-header{align-items:flex-start;flex-direction:column;gap:.25rem}.transaction-header .amount{font-size:var(--font-size-lg)}}.form-row{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.form-group{flex:1 1}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:.5rem}.form-input{border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:.5rem;width:100%}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a;outline:none}.form-actions{margin-top:var(--spacing-md)}.target-input-container{display:flex;flex-direction:column;gap:var(--spacing-lg)}.targets-list{flex-direction:column}.target-input-row,.targets-list{display:flex;gap:var(--spacing-md)}.target-input-row{align-items:center;background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-md)}.target-info{align-items:center;display:flex;flex:1 1;gap:.75rem}.target-color-indicator{border-radius:var(--radius-full);flex-shrink:0;height:12px;width:12px}.target-details{display:flex;flex-direction:column;gap:.25rem}.target-name{color:var(--color-gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}.target-ticker{color:var(--color-text-light);font-weight:var(--font-weight-normal);margin-left:.25rem}.target-type{color:var(--color-gray-400);font-size:var(--font-size-xs);text-transform:capitalize}.target-input{align-items:center;display:flex;gap:.25rem}.percentage-input{border:1px solid var(--color-gray-300);border-radius:var(--radius-sm);font-size:var(--font-size-sm);padding:.5rem;text-align:right;width:80px}.percentage-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a;outline:none}.percentage-symbol{color:var(--color-text-light);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.percentage-input-group{align-items:center;display:flex}.percentage-input-group .form-input{border-bottom-right-radius:0;border-right:none;border-top-right-radius:0}.percentage-input-group .percentage-symbol{background:var(--color-gray-100);border:1px solid var(--color-gray-300);border-bottom-right-radius:var(--radius-sm);border-left:none;border-top-right-radius:var(--radius-sm);color:var(--color-gray-500);font-size:var(--font-size-sm);padding:.5rem}.add-target-section{border-top:1px solid var(--color-gray-200);padding-top:var(--spacing-lg)}.add-target-form{background:var(--color-gray-50);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-lg)}.add-target-form h4{color:var(--color-gray-700);font-size:var(--font-size-base);margin:0 0 var(--spacing-md) 0}.allocation-summary{border-top:1px solid var(--color-gray-200);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg)}.total-percentage{border-radius:var(--radius-md);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md);padding:var(--spacing-md);text-align:center}.total-percentage.valid{background:var(--color-success-light);border:1px solid #a7f3d0;color:#065f46}.total-percentage.invalid{background:var(--color-danger-light);border:1px solid #fca5a5;color:#991b1b}.error-text{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);margin-top:.25rem}.allocation-actions{display:flex;gap:.75rem;justify-content:center}.input-help{background:var(--color-info-light);border:1px solid #bae6fd;border-radius:var(--radius-md);margin-top:var(--spacing-md);padding:var(--spacing-md)}.input-help p{color:#0c4a6e;font-size:var(--font-size-sm);line-height:1.4;margin:0}.input-help p+p{margin-top:.5rem}.total-indicator{font-weight:var(--font-weight-medium)}.total-indicator.valid{color:var(--color-success)}.total-indicator.invalid{color:var(--color-danger)}.remaining{color:var(--color-text-light);font-weight:var(--font-weight-normal)}.unsaved-indicator{border-radius:1rem;color:var(--color-warning);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);padding:.25rem .75rem}.unsaved-indicator,.unsaved-warning{background:var(--color-warning-light);border:1px solid #f9a825}.unsaved-warning{border-radius:var(--radius-sm);margin-top:var(--spacing-md);padding:.75rem var(--spacing-md)}.unsaved-warning p{color:#92400e;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin:0}@media (max-width:768px){.target-input-row{align-items:stretch;flex-direction:column;gap:.75rem}.target-info{justify-content:space-between}.target-input{justify-content:flex-end}.form-row{gap:.75rem}.allocation-actions,.form-actions,.form-row{flex-direction:column}}.input-container{display:flex;flex-direction:column;gap:var(--spacing-xs);margin-bottom:var(--spacing-lg)}.input-label{color:var(--color-gray-700);display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);margin-bottom:var(--spacing-xs)}.input-required{color:var(--color-danger);margin-left:var(--spacing-xs)}.input-wrapper{align-items:center;display:flex;position:relative}.input-field{background:var(--color-white);border:2px solid var(--color-gray-300);border-radius:var(--radius-md);box-sizing:border-box;color:var(--color-gray-900);font-family:inherit;font-size:var(--font-size-base);line-height:1.5;padding:var(--spacing-md);transition:all var(--transition-fast);width:100%}.input-field:focus{background:var(--color-white);border-color:var(--color-primary);box-shadow:0 0 0 4px #667eea1a;outline:none}.input-field:hover:not(:disabled):not(:focus){border-color:var(--color-gray-400)}.input-field::placeholder{color:var(--color-gray-500)}.input-field.input-error{background:var(--color-danger-light);border-color:var(--color-danger)}.input-field.input-error:focus{border-color:var(--color-danger);box-shadow:0 0 0 4px #ef44441a}.input-field.input-disabled,.input-field:disabled{background:var(--color-gray-50);border-color:var(--color-gray-200);color:var(--color-gray-500);cursor:not-allowed;opacity:.7}.input-field:disabled::placeholder{color:var(--color-gray-400)}.input-with-prefix{border-bottom-left-radius:0;border-left:none;border-top-left-radius:0}.input-with-suffix{border-bottom-right-radius:0;border-right:none;border-top-right-radius:0}.input-prefix,.input-suffix{align-items:center;background:var(--color-gray-100);border:2px solid var(--color-gray-300);box-sizing:border-box;color:var(--color-gray-600);display:flex;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);padding:var(--spacing-md);transition:all var(--transition-fast);white-space:nowrap}.input-prefix{border-bottom-left-radius:var(--radius-md);border-right:none;border-top-left-radius:var(--radius-md)}.input-suffix{border-bottom-right-radius:var(--radius-md);border-top-right-radius:var(--radius-md)}.input-wrapper:focus-within .input-prefix,.input-wrapper:focus-within .input-suffix{background:var(--color-primary-light);border-color:var(--color-primary)}.input-container .input-error+.input-prefix,.input-container .input-error+.input-suffix,.input-container .input-prefix+.input-error,.input-container .input-suffix+.input-error{background:var(--color-danger-light);border-color:var(--color-danger)}.input-error-message{align-items:center;color:var(--color-danger);display:flex;font-size:var(--font-size-sm);gap:var(--spacing-xs);margin-top:var(--spacing-xs)}.input-error-message:before{content:"⚠️";font-size:var(--font-size-sm)}.input-helper-text{color:var(--color-gray-600);font-size:var(--font-size-sm);line-height:1.4;margin-top:var(--spacing-xs)}.input-field[type=number]{text-align:left}.input-field[type=number]::-webkit-inner-spin-button,.input-field[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.input-field[type=number]{-moz-appearance:textfield}.input-container-xs{margin-bottom:var(--spacing-sm)}.input-container-xs .input-prefix,.input-container-xs .input-suffix,.input-xs{box-sizing:border-box;font-size:var(--font-size-xs);height:32px;padding:var(--spacing-xs) var(--spacing-sm)}.input-container-sm{margin-bottom:var(--spacing-md)}.input-container-sm .input-prefix,.input-container-sm .input-suffix,.input-sm{box-sizing:border-box;font-size:var(--font-size-sm);height:36px;padding:var(--spacing-sm) var(--spacing-md)}.input-container-base{margin-bottom:var(--spacing-lg)}.input-base,.input-container-base .input-prefix,.input-container-base .input-suffix{box-sizing:border-box;font-size:var(--font-size-base);height:44px;padding:var(--spacing-md)}.input-container-lg{margin-bottom:var(--spacing-xl)}.input-container-lg .input-prefix,.input-container-lg .input-suffix,.input-lg{box-sizing:border-box;font-size:var(--font-size-lg);height:52px;padding:var(--spacing-lg) var(--spacing-xl)}.input-field[type=number].input-xs{max-width:80px}.input-field[type=number].input-sm{max-width:100px}.input-field[type=number].input-base{max-width:120px}.input-field[type=number].input-lg{max-width:140px}@media (max-width:768px){.input-field,.input-prefix,.input-suffix{font-size:var(--font-size-sm);padding:var(--spacing-sm) var(--spacing-md)}.input-container{margin-bottom:var(--spacing-md)}}.holdings-table{margin-top:var(--spacing-md)}.holdings-table td,.holdings-table th{border-bottom:1px solid var(--color-gray-200);padding:var(--spacing-sm) var(--spacing-md);text-align:left}.holdings-table th{background:var(--color-gray-50)}.holding-symbol,.holdings-table th{color:var(--color-gray-700);font-weight:var(--font-weight-medium)}.holding-price,.holding-quantity{text-align:right}.holding-price{color:var(--color-gray-600)}.holding-value{font-weight:var(--font-weight-medium);text-align:right}.holding-actions{text-align:center}.holdings-list{margin-top:var(--spacing-md)}.holdings-actions{border-bottom:1px solid var(--color-gray-200);display:flex;gap:var(--spacing-sm);justify-content:flex-end;margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm)}.account-actions,.security-actions{text-align:center}.accounts-table{border-collapse:collapse;margin-top:0;table-layout:fixed;width:100%}.accounts-table th{background:var(--color-gray-50);border-bottom:2px solid var(--color-gray-200);color:var(--color-gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:.75rem 1rem;text-align:left}.accounts-table th:first-child{width:45%}.accounts-table th:nth-child(2){width:25%}.accounts-table th:nth-child(3){width:30%}.accounts-table td{border-bottom:1px solid var(--color-gray-200);color:var(--color-gray-600);overflow:hidden;padding:var(--spacing-md);text-overflow:ellipsis;white-space:nowrap}.accounts-table tbody tr:hover{background:var(--color-gray-50)}.accounts-table tbody tr:last-child td{border-bottom:none}.account-name{color:var(--color-gray-700);font-weight:var(--font-weight-medium)}.account-type{color:var(--color-text-light);font-size:var(--font-size-sm);text-transform:capitalize}.account-balance{color:var(--color-gray-700);font-weight:var(--font-weight-semibold);text-align:right;white-space:nowrap}.accounts-table tfoot{border-top:2px solid var(--color-gray-200)}.total-row{background:var(--color-gray-50);font-weight:var(--font-weight-semibold)}.total-row:hover{background:var(--color-gray-50)!important}.total-label{font-weight:var(--font-weight-semibold);padding-right:.5rem}.total-amount,.total-label{color:var(--color-gray-700);text-align:right}.total-amount{font-size:var(--font-size-base);font-weight:var(--font-weight-bold)}.account-row.clickable{cursor:pointer;transition:background-color var(--transition-fast)}.account-row.clickable:hover{background:#f1f5f9!important}.account-name-content{align-items:center;display:flex;gap:.5rem}.expand-caret{color:var(--color-text-light);font-size:var(--font-size-xs);transition:transform var(--transition-fast);-webkit-user-select:none;user-select:none}.expand-caret.expanded{transform:rotate(90deg)}.holdings-row{background:var(--color-gray-50)}.holdings-row:hover{background:var(--color-gray-50)!important}.holdings-container{border-top:1px solid var(--color-gray-200);padding:var(--spacing-lg)}.holdings-loading{align-items:center;color:var(--color-text-light);display:flex;gap:.5rem;justify-content:center;padding:var(--spacing-md)}.holdings-table-container h5{color:var(--color-gray-700);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0 0 var(--spacing-md) 0}.holdings-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-md)}.holdings-header h5{color:var(--color-gray-700);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);margin:0}.holdings-table{background:var(--color-white);border-collapse:collapse;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden;width:100%}.holdings-table th{background:var(--color-gray-100);border-bottom:1px solid var(--color-gray-200);color:#475569;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:.75rem;text-align:left}.holdings-table td{border-bottom:1px solid var(--color-gray-100);color:#475569;padding:.75rem}.holdings-table tbody tr:last-child td{border-bottom:none}.holdings-table tbody tr:hover{background:var(--color-gray-50)}.security-title{color:var(--color-gray-700);display:block;font-weight:var(--font-weight-medium)}.ticker-symbol{color:var(--color-text-light);font-size:var(--font-size-sm);margin-left:.25rem}.security-type{color:#64748b;font-size:var(--font-size-sm);text-transform:capitalize}.security-quantity,.security-value{color:var(--color-gray-700);font-weight:var(--font-weight-medium);text-align:right}.no-holdings{font-style:italic}.no-accounts,.no-holdings{color:var(--color-text-light);padding:var(--spacing-xl);text-align:center}.table-header,.table-row{grid-gap:var(--spacing-md);align-items:center;display:grid;gap:var(--spacing-md);grid-template-columns:2fr 1fr 1fr 1.5fr 1fr;padding:.75rem 0}.table-header{border-bottom:2px solid var(--color-gray-200);color:#374151;font-weight:var(--font-weight-semibold);letter-spacing:.05em;text-transform:uppercase}.table-header,.table-row{font-size:var(--font-size-sm)}.table-row{border-bottom:1px solid var(--color-gray-100)}.table-row.exceeds-threshold{background:var(--color-warning-light);border-left:3px solid var(--color-warning);margin-left:-.75rem;padding-left:.75rem}.col-ticker{align-items:center;display:flex;gap:.5rem}.ticker-symbol{color:var(--color-gray-700);font-weight:var(--font-weight-medium)}.drift-direction{font-size:var(--font-size-base)}.col-current,.col-target{font-weight:var(--font-weight-medium);text-align:center}.col-drift{align-items:center;display:flex;flex-direction:column;gap:.125rem}.drift-value{font-weight:var(--font-weight-medium)}.drift-type{color:var(--color-text-muted);font-size:var(--font-size-xs)}.col-rebalance,.rebalance-action{align-items:center;display:flex;flex-direction:column;gap:.125rem}.rebalance-action.buy .action-label{color:var(--color-success);font-weight:var(--font-weight-medium)}.rebalance-action.sell .action-label{color:var(--color-danger);font-weight:var(--font-weight-medium)}.rebalance-action .amount{color:var(--color-gray-700);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium)}.no-action{color:var(--color-text-muted);font-size:var(--font-size-sm)}.col-status{text-align:center}.status-indicator{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.status-indicator.warning{color:var(--color-danger)}.status-indicator.good{color:var(--color-success)}@media (max-width:1000px){.accounts-table{font-size:var(--font-size-sm)}.accounts-table td,.accounts-table th{padding:.5rem}.table-header,.table-row{gap:.5rem;grid-template-columns:1fr;text-align:center}.table-header{display:none}.table-row{align-items:stretch;background:var(--color-gray-50)!important;border:1px solid var(--color-gray-200)!important;border-radius:var(--radius-md);display:flex;flex-direction:column;margin:.5rem 0!important;padding:var(--spacing-md)!important}.col-current,.col-drift,.col-status,.col-target,.col-ticker{align-items:center;display:flex;justify-content:space-between;text-align:left}.col-ticker:before{content:"Ticker: "}.col-target:before{content:"Target: "}.col-current:before{content:"Current: "}.col-drift:before{content:"Drift: "}.col-status:before{content:"Status: "}.col-current:before,.col-drift:before,.col-status:before,.col-target:before,.col-ticker:before{color:var(--color-gray-500);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);letter-spacing:.05em;text-transform:uppercase}}.welcome-section{text-align:center}.accounts-section,.connect-section,.welcome-section{margin-bottom:var(--spacing-2xl)}.section-description{color:var(--color-text-light);font-size:var(--font-size-base);margin:0}.allocation-header{margin-bottom:var(--spacing-xl)}.allocation-header .section-title{align-items:center;display:flex;gap:var(--spacing-md);margin-bottom:.5rem}.page-header{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding:1.5rem 0}.page-header__content{align-items:center;display:flex;gap:1rem}.page-header__icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;flex-shrink:0;font-size:1.5rem;height:48px;justify-content:center;width:48px}.page-header__text{flex:1 1}.page-header__title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#1a202c;font-size:2.5rem;font-weight:700;line-height:1.2;margin:0 0 .5rem}.page-header__subtitle{color:#718096;font-size:1.125rem;font-weight:400;line-height:1.5;margin:0}.page-header--centered{text-align:center}.page-header--centered .page-header__content{flex-direction:column;text-align:center}.page-header--centered .page-header__icon{margin-bottom:.5rem}.page-header--welcome{background:linear-gradient(135deg,#f7fafc,#edf2f7);border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px #0000000d;margin-bottom:3rem;padding:3rem 2rem}.page-header--welcome .page-header__title{font-size:3rem;margin-bottom:1rem}.page-header--welcome .page-header__subtitle{color:#4a5568;font-size:1.25rem;margin:0 auto;max-width:600px}.page-header--compact{margin-bottom:1.5rem;padding:1rem 0}.page-header--compact .page-header__title{font-size:2rem}.page-header--compact .page-header__subtitle{font-size:1rem}.page-header--compact .page-header__icon{font-size:1.25rem;height:40px;width:40px}@media (max-width:768px){.page-header{margin-bottom:1.5rem;padding:1rem 0}.page-header__content{flex-direction:column;gap:.75rem;text-align:center}.page-header__title{font-size:2rem}.page-header__subtitle{font-size:1rem}.page-header--welcome{margin-bottom:2rem;padding:2rem 1rem}.page-header--welcome .page-header__title{font-size:2.5rem}.page-header--welcome .page-header__subtitle{font-size:1.125rem}}@media (max-width:480px){.page-header__title{font-size:1.75rem}.page-header__subtitle{font-size:.9rem}.page-header--welcome .page-header__title{font-size:2rem}.page-header--welcome .page-header__subtitle{font-size:1rem}}.inline-edit-input-wrapper .input-container{margin-bottom:0}.home-container{margin:0 auto;max-width:1200px;padding:0 1rem}.connect-section,.welcome-section{margin-bottom:3rem}.connect-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px #0000000d;padding:2rem;transition:all .3s ease}.connect-card:hover{box-shadow:0 8px 25px #0000001a;transform:translateY(-2px)}.connect-card__header{align-items:center;display:flex;gap:1rem;margin-bottom:1.5rem}.connect-card__icon{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.connect-card__title{color:#1a202c;font-size:1.5rem;font-weight:600;margin:0}.connect-card__description{color:#4a5568;font-size:1rem;line-height:1.6;margin:0 0 1.5rem}.connect-card__action{display:flex;justify-content:center}.financial-section{margin-bottom:3rem}.financial-section:last-child{margin-bottom:0}.section-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1rem}.section-header__title{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.section-header__subtitle{color:#718096;font-size:.875rem;margin:0}.section-header__action{align-items:center;display:flex;gap:.5rem}.financial-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width:768px){.financial-grid{grid-template-columns:1fr 1fr}}@media (min-width:1024px){.financial-grid{grid-template-columns:2fr 1fr}}.dashboard-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:1.5rem;transition:all .3s ease}.dashboard-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-1px)}.dashboard-card__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.dashboard-card__title{color:#2d3748;font-size:1.125rem;font-weight:600;margin:0}.dashboard-card__content{color:#4a5568;line-height:1.6}.loading-skeleton{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:8px;height:1rem;margin-bottom:.5rem}.loading-skeleton:last-child{margin-bottom:0}.loading-skeleton--wide{width:100%}.loading-skeleton--medium{width:60%}.loading-skeleton--narrow{width:40%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{color:#718096;padding:3rem 2rem;text-align:center}.empty-state__icon{height:64px;margin:0 auto 1rem;opacity:.5;width:64px}.empty-state__title{color:#4a5568;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.empty-state__description{font-size:1rem;margin:0 auto 1.5rem;max-width:400px}.empty-state__action{display:flex;justify-content:center}@media (max-width:768px){.home-container{padding:0 .5rem}.connect-card{padding:1.5rem}.section-header{align-items:flex-start;flex-direction:column;gap:.5rem}.financial-grid{gap:1.5rem;grid-template-columns:1fr}}@media (min-width:769px) and (max-width:1200px){.home-container{max-width:none;padding:0 1rem}}@media (max-width:480px){.connect-card{padding:1rem}.connect-card__header{flex-direction:column;text-align:center}.dashboard-card{padding:1rem}.empty-state{padding:2rem 1rem}}.connect-card:focus-within,.dashboard-card:focus-within{outline:2px solid #667eea;outline-offset:2px}.settings-container{margin:0 auto;max-width:800px;padding:2rem}.settings-header{margin-bottom:2rem;text-align:center}.settings-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;background-clip:text;color:#2d3748;font-size:2rem;font-weight:700;margin-bottom:.5rem}.settings-subtitle{color:#718096;font-size:1.1rem;margin:0}.settings-loading{align-items:center;color:#718096;display:flex;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.settings-section{margin-bottom:2rem}.section-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 2px 4px #0000000d;padding:2rem}.section-title{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.section-description{color:#718096;font-size:1rem;line-height:1.5;margin:0 0 1.5rem}.profile-info{align-items:center;display:flex;gap:1.5rem;margin-bottom:1.5rem}.profile-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding-top:1rem}.profile-avatar{flex-shrink:0}.avatar-image{object-fit:cover}.avatar-fallback,.avatar-image{border:3px solid #e2e8f0;border-radius:50%;height:80px;width:80px}.avatar-fallback{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:2rem;font-weight:600;justify-content:center}.profile-details{flex:1 1;gap:.75rem}.profile-details,.profile-field{display:flex;flex-direction:column}.profile-field{gap:.25rem}.profile-field label{color:#6b7280;font-size:.875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.profile-field span{color:#2d3748;font-size:1rem;font-weight:500}.threshold-form{gap:1.5rem}.form-group,.threshold-form{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-group label{color:#374151;display:flex;flex-direction:column;font-size:1rem;font-weight:500;gap:.25rem}.help-text{color:#6b7280;font-size:.875rem;font-weight:400}.input-group{align-items:center;display:flex;width:fit-content}.threshold-input{border:1px solid #d1d5db;border-radius:8px 0 0 8px;font-size:1rem;padding:.75rem;text-align:right;transition:border-color .2s ease;width:120px}.threshold-input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.input-suffix{background:#f3f4f6;border:1px solid #d1d5db;border-left:none;border-radius:0 8px 8px 0;color:#6b7280;font-weight:500;padding:.75rem}.input-help{color:#9ca3af;font-size:.875rem;margin:0}.threshold-examples{background:#f0f9ff;border:1px solid #bae6fd;border-radius:8px;margin:1rem 0;padding:1rem}.threshold-examples h4{color:#0c4a6e;font-size:1rem;margin:0 0 .75rem}.example{color:#0c4a6e;font-size:.875rem;line-height:1.4;margin-bottom:.5rem}.example:last-child{margin-bottom:0}.last-updated{background:#f8fafc;border-radius:6px;color:#9ca3af;font-size:.875rem;font-style:italic;padding:.75rem;text-align:center}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem}.alert{border-radius:8px;font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:1rem}.alert-error{background:#fef2f2;border:1px solid #fca5a5;color:#991b1b}.alert-success{background:#f0fdf4;border:1px solid #86efac;color:#166534}.settings-container .btn{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s ease}.settings-container .btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.settings-container .btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);box-shadow:0 2px 4px #667eea4d;color:#fff}.settings-container .btn-primary:hover:not(:disabled){box-shadow:0 4px 8px #667eea66;transform:translateY(-1px)}.settings-container .btn-secondary{background:#f1f5f9;border:1px solid #cbd5e0;color:#475569}.settings-container .btn-secondary:hover:not(:disabled){background:#e2e8f0;transform:translateY(-1px)}.settings-container .btn-outline{background:#0000;border:1px solid #667eea;color:#667eea}.settings-container .btn-outline:hover:not(:disabled){background:#667eea;color:#fff}@media (max-width:768px){.settings-container{padding:1rem}.section-card{padding:1.5rem}.profile-info{flex-direction:column;gap:1rem;text-align:center}.profile-details{align-items:center}.profile-actions{justify-content:center}.form-actions{align-items:stretch;flex-direction:column}.settings-title{font-size:1.75rem}.threshold-input{width:100px}}@media (max-width:480px){.settings-container{padding:.5rem}.section-card{padding:1rem}.input-group{width:100%}.threshold-input{flex:1 1}}
/*# sourceMappingURL=main.77ae838d.css.map*/