.app{display:flex;flex-direction:column;min-height:100vh}.navbar{background-color:#2c3e50;color:#fff;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 4px #0000001a}.nav-brand{font-size:1.5rem;font-weight:700}.nav-tabs{display:flex;gap:1rem;flex:1;justify-content:center}.nav-user{display:flex;align-items:center;gap:1rem}.user-email{font-size:.9rem;opacity:.9}.logout-button{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background-color .2s}.logout-button:hover{background-color:#c0392b}.nav-tab{background:none;border:none;color:#fff;padding:.5rem 1rem;cursor:pointer;font-size:1rem;border-bottom:2px solid transparent;transition:all .3s ease}.nav-tab:hover{border-bottom-color:#3498db}.nav-tab.active{border-bottom-color:#3498db;font-weight:700}.main-content{flex:1;padding:2rem;max-width:1400px;margin:0 auto;width:100%}@media (max-width: 768px){.navbar{flex-direction:column;gap:1rem}.nav-tabs{flex-direction:column;width:100%}.nav-tab{width:100%;text-align:left}.main-content{padding:1rem}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;padding:40px;width:100%;max-width:440px}.auth-header{text-align:center;margin-bottom:30px}.auth-header h1{font-size:28px;font-weight:700;color:#667eea;margin:0 0 10px}.auth-header h2{font-size:22px;font-weight:600;color:#333;margin:0}.error-message{background:#fee;border:1px solid #fcc;color:#c33;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px}.auth-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-weight:600;color:#333;font-size:14px}.form-group input{padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;transition:all .2s}.form-group input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input:disabled{background:#f5f5f5;cursor:not-allowed}.form-hint{font-size:13px;color:#666}.auth-button{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;margin-top:10px}.auth-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px #667eea4d}.auth-button:active:not(:disabled){transform:translateY(0)}.auth-button:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;margin-top:24px;color:#666;font-size:14px}.auth-footer a{color:#667eea;text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}@media (max-width: 480px){.auth-card{padding:30px 24px}.auth-header h1{font-size:24px}.auth-header h2{font-size:20px}}.dashboard-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.dashboard-header{margin-bottom:2rem;border-bottom:2px solid #ecf0f1;padding-bottom:1rem}.dashboard-header h1{font-size:2rem;color:#2c3e50;margin-bottom:.5rem}.dashboard-header p{color:#7f8c8d;font-size:1rem}.filters-section{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap;align-items:flex-end}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{font-weight:600;color:#2c3e50;font-size:.9rem}.filter-group select,.filter-group input{padding:.5rem .75rem;border:1px solid #bdc3c7;border-radius:4px;font-size:.9rem;min-width:150px}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#3498db;box-shadow:0 0 0 2px #3498db1a}.btn-filter{padding:.5rem 1rem;background-color:#3498db;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;transition:background-color .3s ease}.btn-filter:hover{background-color:#2980b9}.card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a}.card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.card h3{font-size:.9rem;font-weight:600;opacity:.9;margin-bottom:.5rem}.card-value{font-size:1.8rem;font-weight:700}.impact-section{margin-bottom:2rem}.impact-section h2{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem}.impact-table{width:100%;border-collapse:collapse;border:1px solid #ecf0f1}.impact-table thead{background-color:#f8f9fa;border-bottom:2px solid #bdc3c7}.impact-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50}.impact-table td{padding:.75rem 1rem;border-bottom:1px solid #ecf0f1}.impact-table tbody tr:hover{background-color:#f8f9fa}.footer{margin-top:2rem;padding-top:1rem;border-top:1px solid #ecf0f1;text-align:right;color:#7f8c8d;font-size:.9rem}.loading,.error{padding:2rem;text-align:center;font-size:1.1rem}.error{color:#e74c3c;background-color:#fadbd8;border-radius:4px}.loading{color:#3498db}@media (max-width: 768px){.dashboard-container{padding:1rem}.filters-section{flex-direction:column}.filter-group select,.filter-group input{min-width:auto;width:100%}.btn-filter{width:100%}.summary-cards{grid-template-columns:1fr}.impact-table{font-size:.9rem}.impact-table th,.impact-table td{padding:.5rem}}.search-form{background:#f8f9fa;padding:2rem;border-radius:8px;margin-bottom:2rem;border:1px solid #e9ecef}.search-input-section{margin-bottom:2rem}.search-input-section label{font-weight:600;color:#2c3e50;font-size:1.1rem;display:block;margin-bottom:.75rem}.search-input{width:100%;padding:.75rem 1rem;border:2px solid #bdc3c7;border-radius:4px;font-size:1rem;font-family:inherit;transition:border-color .3s}.search-input:focus{outline:none;border-color:#3498db;box-shadow:0 0 5px #3498db33}.search-hint{color:#7f8c8d;font-size:.9rem;margin-top:.5rem;font-style:italic}.filters-section h3{color:#2c3e50;font-size:1.1rem;margin-bottom:1rem;font-weight:600}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:1.5rem}.form-buttons{display:flex;gap:1rem;margin-top:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s}.btn-primary{background:#3498db;color:#fff}.btn-primary:hover{background:#2980b9;box-shadow:0 2px 8px #3498db4d}.btn-secondary{background:#95a5a6;color:#fff}.btn-secondary:hover{background:#7f8c8d}.search-results{margin-top:2rem}.search-results h2{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-align:center}.summary-card:nth-child(1){background:linear-gradient(135deg,#667eea,#764ba2)}.summary-card:nth-child(2){background:linear-gradient(135deg,#f093fb,#f5576c)}.summary-card:nth-child(3){background:linear-gradient(135deg,#4facfe,#00f2fe)}.summary-card:nth-child(4){background:linear-gradient(135deg,#43e97b,#38f9d7)}.summary-label{font-size:.85rem;opacity:.9;margin-bottom:.5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.summary-value{font-size:1.75rem;font-weight:700}.no-results{text-align:center;color:#7f8c8d;padding:2rem;font-style:italic}.table-wrapper{overflow-x:auto;border:1px solid #ecf0f1;border-radius:4px}.impact-table{width:100%;border-collapse:collapse;background:#fff}.impact-table thead{background:#ecf0f1}.impact-table th{padding:1rem;text-align:left;font-weight:600;color:#2c3e50;border-bottom:2px solid #bdc3c7;white-space:nowrap}.impact-table td{padding:.75rem 1rem;border-bottom:1px solid #ecf0f1;color:#34495e}.impact-table tbody tr:hover{background:#f8f9fa}.impact-table tr:last-child td{border-bottom:none}.error-description{max-width:250px;word-wrap:break-word}.text-center{text-align:center}.text-right{text-align:right}.charts-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem}.charts-container h1{color:#2c3e50;margin-bottom:2rem;font-size:2rem}.charts-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem}.chart-card{background:#fff;border:1px solid #ecf0f1;border-radius:8px;padding:1.5rem;box-shadow:0 1px 3px #0000000d;transition:box-shadow .3s ease}.chart-card:hover{box-shadow:0 4px 12px #0000001a}.chart-card h2{color:#2c3e50;margin-bottom:1rem;font-size:1.2rem}.chart-card p{text-align:center;padding:1rem;color:#7f8c8d}.chart-card .error{color:#e74c3c}@media (max-width: 768px){.charts-container{padding:1rem}.charts-grid{grid-template-columns:1fr;gap:1rem}.chart-card{padding:1rem}.chart-card h2{font-size:1rem}}.upload-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem;max-width:600px;margin:0 auto}.upload-container h2{color:#2c3e50;margin-bottom:1.5rem;font-size:1.5rem}.upload-box{background-color:#f8f9fa;border:2px dashed #bdc3c7;border-radius:8px;padding:2rem;text-align:center;margin-bottom:1rem;transition:border-color .3s ease}.upload-box:hover{border-color:#3498db;background-color:#ecf0f1}.upload-box input{cursor:pointer}.upload-box input[type=file]{display:block;margin:0 auto}.upload-box p{margin-top:1rem;color:#27ae60;font-weight:600}.btn-upload{width:100%;padding:.75rem;background-color:#27ae60;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:background-color .3s ease}.btn-upload:hover:not(:disabled){background-color:#229954}.btn-upload:disabled{background-color:#bdc3c7;cursor:not-allowed}.message{margin-top:1rem;padding:1rem;border-radius:4px;font-weight:600}.message-success{background-color:#d4edda;color:#155724;border:1px solid #c3e6cb}.message-error{background-color:#f8d7da;color:#721c24;border:1px solid #f5c6cb}.admin-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:2rem;max-width:900px;margin:0 auto}.admin-header{text-align:center;margin-bottom:2rem}.admin-header h2{color:#2c3e50;margin-bottom:.5rem;font-size:2rem}.admin-header p{color:#7f8c8d;font-size:1rem}.admin-tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #ecf0f1}.admin-tab{background:none;border:none;padding:1rem 1.5rem;cursor:pointer;font-size:1rem;font-weight:600;color:#7f8c8d;border-bottom:3px solid transparent;transition:all .3s ease;margin-bottom:-2px}.admin-tab:hover{color:#3498db}.admin-tab.active{color:#3498db;border-bottom-color:#3498db}.admin-section{animation:fadeIn .3s ease-in}.admin-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.5rem}.settings-description{color:#7f8c8d;margin-bottom:2rem;line-height:1.6}.settings-grid{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.setting-row{display:grid;grid-template-columns:2fr 1fr;gap:1rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border:1px solid #ecf0f1}.setting-field{display:flex;flex-direction:column}.setting-field label{font-weight:600;color:#34495e;margin-bottom:.5rem;font-size:.9rem}.setting-field input{padding:.75rem;border:1px solid #bdc3c7;border-radius:4px;font-size:1rem;transition:border-color .3s ease}.setting-field input:focus{outline:none;border-color:#3498db}.settings-actions{display:flex;gap:1rem;margin-bottom:2rem}.btn-save-settings,.btn-reset-settings{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-save-settings{background-color:#27ae60;color:#fff;flex:1}.btn-save-settings:hover:not(:disabled){background-color:#229954}.btn-reset-settings{background-color:#e74c3c;color:#fff;flex:0 0 auto}.btn-reset-settings:hover:not(:disabled){background-color:#c0392b}.btn-save-settings:disabled,.btn-reset-settings:disabled{background-color:#bdc3c7;cursor:not-allowed}.message-warning{background-color:#fff3cd;color:#856404;border:1px solid #ffeaa7}.settings-info{background:#e8f4f8;border-left:4px solid #3498db;padding:1.5rem;border-radius:4px;margin-top:2rem}.settings-info h4{color:#2c3e50;margin-bottom:1rem;font-size:1.1rem}.settings-info ul{margin:1rem 0;padding-left:1.5rem;line-height:1.8}.settings-info li{color:#34495e;margin:.5rem 0}.settings-warning{background:#fff3cd;border:1px solid #ffc107;padding:1rem;border-radius:4px;margin-top:1rem;color:#856404}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.upload-container,.admin-container,.upload-box{padding:1rem}.admin-tabs{flex-direction:column}.admin-tab{text-align:left;border-bottom:none;border-left:3px solid transparent;margin-bottom:0;margin-left:-2px}.admin-tab.active{border-bottom:none;border-left-color:#3498db}.setting-row{grid-template-columns:1fr}.settings-actions{flex-direction:column}}.faq-container{max-width:900px;margin:0 auto;padding:2rem}.faq-header{text-align:center;margin-bottom:3rem}.faq-header h1{font-size:2.5rem;color:#2c3e50;margin-bottom:.5rem}.faq-subtitle{font-size:1.1rem;color:#7f8c8d}.faq-sections{display:flex;flex-direction:column;gap:2.5rem}.faq-section{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.faq-section-title{font-size:1.5rem;color:#2c3e50;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #3498db}.faq-item{border-bottom:1px solid #ecf0f1;margin-bottom:.5rem}.faq-item:last-child{border-bottom:none}.faq-question{width:100%;display:flex;justify-content:space-between;align-items:center;padding:1rem 0;background:none;border:none;cursor:pointer;font-size:1.1rem;font-weight:600;color:#34495e;text-align:left;transition:color .2s}.faq-question:hover{color:#3498db}.faq-icon{font-size:1.5rem;font-weight:700;color:#3498db;min-width:30px;text-align:center}.faq-answer{padding:0 0 1.5rem;color:#555;line-height:1.6;animation:fadeIn .3s ease-in}.faq-answer p{margin:.75rem 0}.faq-answer p:first-child{margin-top:0}.faq-answer p:last-child{margin-bottom:0}.faq-answer strong{color:#2c3e50;font-weight:600}.faq-answer ul{margin:.75rem 0;padding-left:1.5rem}.faq-answer li{margin:.5rem 0}.faq-footer{text-align:center;margin-top:4rem;padding:2rem;background:#ecf0f1;border-radius:8px}.faq-footer h3{color:#2c3e50;margin-bottom:.5rem}.faq-footer p{color:#7f8c8d;line-height:1.6}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.faq-container{padding:1rem}.faq-header h1{font-size:2rem}.faq-subtitle{font-size:1rem}.faq-section{padding:1rem}.faq-section-title{font-size:1.3rem}.faq-question{font-size:1rem;padding:.75rem 0}.faq-answer{font-size:.95rem}}@media print{.faq-item{page-break-inside:avoid}.faq-question{color:#000}.faq-icon{display:none}.faq-answer{display:block!important}}*{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;background-color:#f5f5f5;color:#333}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
