.auth-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:var(--gradient-primary)}.auth-card{background:var(--color-bg-card);padding:2rem;border-radius:10px;box-shadow:var(--shadow-lg);width:100%;max-width:400px}.auth-card h2{text-align:center;margin-bottom:1.5rem;color:var(--color-text-heading)}.form-group{margin-bottom:1rem}.form-group label{display:block;margin-bottom:.5rem;color:var(--color-text-label);font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid var(--color-border-light);border-radius:5px;font-size:1rem;transition:border-color .3s}.form-group input:focus{outline:none;border-color:var(--color-primary)}.form-group input:disabled{background-color:var(--color-bg-disabled)}.auth-button{width:100%;padding:.75rem;background:var(--gradient-primary);color:var(--color-bg-card);border:none;border-radius:5px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-button-hover)}.auth-button:disabled{opacity:.7;cursor:not-allowed}.auth-link{text-align:center;margin-top:1rem;color:var(--color-text-secondary)}.auth-link a{color:var(--color-primary);text-decoration:none;font-weight:500}.auth-link a:hover{text-decoration:underline}.error-message{background-color:var(--color-error-bg);color:var(--color-error-text);padding:.75rem;border-radius:5px;margin-bottom:1rem;text-align:center;border:1px solid var(--color-error-border)}.loading{display:flex;justify-content:center;align-items:center;height:100vh;font-size:1.2rem;color:var(--color-text-secondary)}.stock-search,.search-input-container{position:relative}.search-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid var(--color-border);border-radius:8px;transition:border-color .3s,box-shadow .3s}.search-input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #667eea1a}.search-loading{position:absolute;right:1rem;top:50%;transform:translateY(-50%);color:var(--color-text-secondary);font-size:.9rem}.search-results{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;margin-top:.5rem;box-shadow:var(--shadow-md);z-index:100;max-height:300px;overflow-y:auto}.search-result-item{display:flex;align-items:center;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid var(--color-border-separator);transition:background-color .2s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background-color:var(--color-bg-subtle)}.stock-symbol{font-weight:700;color:var(--color-text-heading);margin-right:1rem;min-width:80px}.stock-name{color:var(--color-text-secondary);flex:1}.stock-exchange{color:var(--color-text-light);font-size:.85rem}.simulation-form{padding:1rem 0}.investments-section{margin-bottom:1.5rem}.investments-section h3{color:var(--color-text-heading);margin-bottom:1rem;font-size:1.1rem}.investment-row{display:flex;gap:1rem;margin-bottom:1rem;align-items:flex-end}.investment-field{flex:1}.investment-field label{display:block;margin-bottom:.5rem;color:var(--color-text-label);font-weight:500;font-size:.9rem}.investment-field input{width:100%;padding:.6rem .75rem;border:1px solid var(--color-border-light);border-radius:5px;font-size:.95rem}.investment-field input:focus{outline:none;border-color:var(--color-primary)}.remove-button{background-color:var(--color-danger);color:var(--color-bg-card);border:none;width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:background-color .2s}.remove-button:hover{background-color:var(--color-danger-hover)}.add-button{background-color:var(--color-success);color:var(--color-bg-card);border:none;padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-weight:500;transition:background-color .2s}.add-button:hover{background-color:var(--color-success-hover)}.simulation-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem;padding:1rem;background-color:var(--color-bg-subtle);border-radius:8px}.option-group{display:flex;flex-direction:column}.option-group label{margin-bottom:.5rem;color:var(--color-text-label);font-weight:500;font-size:.9rem}.option-group select,.option-group input[type=date]{padding:.6rem .75rem;border:1px solid var(--color-border-light);border-radius:5px;font-size:.95rem;background-color:var(--color-bg-card)}.option-group select:focus,.option-group input[type=date]:focus{outline:none;border-color:var(--color-primary)}.option-group.checkbox{flex-direction:row;align-items:center}.option-group.checkbox label{display:flex;align-items:center;gap:.5rem;cursor:pointer}.option-group.checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer}.option-group small{color:var(--color-text-muted);font-size:.8rem;margin-top:.25rem}.simulate-button{width:100%;padding:.875rem;background:var(--gradient-primary);color:var(--color-bg-card);border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.simulate-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-button-hover)}.simulation-results{padding:1rem 0}.simulation-results h3{color:var(--color-text-heading);margin-bottom:1.5rem;font-size:1.25rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.summary-card{background:var(--color-bg-subtle);padding:1.25rem;border-radius:8px;text-align:center}.summary-card h4{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:.5rem;font-weight:500}.summary-card .value{font-size:1.5rem;font-weight:700;color:var(--color-text-heading)}.summary-card .percentage{font-size:1rem;margin-top:.25rem}.summary-card.positive .value,.summary-card.positive .percentage{color:var(--color-success)}.summary-card.negative .value,.summary-card.negative .percentage{color:var(--color-danger)}.information-note{background-color:var(--color-warning-bg);color:var(--color-warning-text);padding:.75rem 1rem;border-radius:5px;margin-bottom:1.5rem;text-align:center;border:1px solid var(--color-warning-border)}.chart-container{background:var(--color-bg-card);border-radius:8px;padding:1rem;border:1px solid var(--color-border)}.loading-results,.error-results,.empty-results{text-align:center;padding:3rem;color:var(--color-text-secondary);font-size:1.1rem}.error-results{color:var(--color-danger);background-color:var(--color-bg-card);border-radius:8px}.stock-chart{width:100%;height:400px}.no-data{display:flex;justify-content:center;align-items:center;height:400px;color:var(--color-text-light);font-size:1.1rem}.recharts-cartesian-grid-horizontal line,.recharts-cartesian-grid-vertical line{stroke:var(--color-border)}.recharts-tooltip-wrapper{background-color:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px;padding:.75rem 1rem;box-shadow:var(--shadow-md)}.dashboard{min-height:100vh;background-color:var(--color-bg-page)}.dashboard-header{background:var(--gradient-primary);color:var(--color-bg-card);padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:var(--shadow-md)}.dashboard-header h1{font-size:1.5rem;font-weight:600}.logout-button{background-color:#fff3;color:var(--color-bg-card);border:1px solid rgba(255,255,255,.3);padding:.5rem 1rem;border-radius:5px;cursor:pointer;font-weight:500;transition:background-color .3s}.logout-button:hover{background-color:#ffffff4d}.dashboard-main{max-width:1200px;margin:0 auto;padding:2rem}.stock-selection,.simulation-section,.results-section{background:var(--color-bg-card);border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--shadow-sm)}.stock-selection h2,.simulation-section h2{color:var(--color-text-heading);margin-bottom:1rem;font-size:1.25rem}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #667eea;--color-primary-dark: #764ba2;--color-bg-page: #f5f5f5;--color-bg-card: #ffffff;--color-bg-subtle: #f8f9fa;--color-bg-disabled: #f5f5f5;--color-text-heading: #333333;--color-text-label: #555555;--color-text-secondary: #666666;--color-text-muted: #888888;--color-text-light: #999999;--color-border: #e0e0e0;--color-border-light: #dddddd;--color-border-separator: #f0f0f0;--color-success: #2ed573;--color-success-hover: #26c566;--color-danger: #ff4757;--color-danger-hover: #ff3344;--color-warning-bg: #fff3cd;--color-warning-text: #856404;--color-warning-border: #ffc107;--color-error-bg: #fee;--color-error-text: #c00;--color-error-border: #fcc;--chart-color-primary: #8884d8;--chart-color-per-investment: #82ca9d;--chart-color-nominal: #ffc658;--chart-color-inflation: #e6550d;--chart-color-invested: #ff7300;--shadow-sm: 0 2px 10px rgba(0, 0, 0, .05);--shadow-md: 0 2px 10px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .2);--shadow-button-hover: 0 5px 20px rgba(102, 126, 234, .4);--gradient-primary: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%)}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;background-color:var(--color-bg-page)}.App{min-height:100vh}
