body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0003;max-width:450px;padding:40px;width:100%}.login-header{margin-bottom:30px;text-align:center}.login-logo{height:auto;margin-bottom:20px;width:120px}.login-header h1{color:#2c3e50;font-size:28px;margin-bottom:8px}.login-header p{color:#7f8c8d;font-size:16px}.error-message{background-color:#fee;color:#c33}.error-message,.success-message{border-radius:6px;font-size:14px;margin-bottom:20px;padding:12px;text-align:center}.success-message{background-color:#e7f9f0;color:#2d7a4f;line-height:1.5}.login-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:#34495e;font-size:14px}.form-group input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 16px;transition:border-color .3s}.form-group input:focus{border-color:#667eea;outline:none}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;font-size:16px;font-weight:600;margin-top:10px;padding:14px;transition:transform .2s,box-shadow .2s}.login-button:hover:not(:disabled){box-shadow:0 5px 15px #667eea66;transform:translateY(-2px)}.login-toggle{margin-top:15px;text-align:center}.toggle-button{background:#0000;border:none;color:#667eea;cursor:pointer;font-size:14px;padding:5px;text-decoration:underline}.toggle-button:hover{color:#764ba2}.login-footer{border-top:1px solid #eee;color:#95a5a6;font-size:14px;margin-top:30px;padding-top:20px;text-align:center}.navigation{background:linear-gradient(135deg,#667eea,#764ba2)}.nav-brand h2{margin:0;padding:20px 0}.dropdown-content a{color:#2c3e50}.logout-button{background:#fff3;border:2px solid #fff;border-radius:6px;color:#fff;font-weight:600;padding:8px 20px;transition:background .3s}.logout-button:hover{background:#fff;color:#667eea}.dashboard-container{background-color:#f5f7fa;min-height:100vh}.dashboard-content{margin:0 auto;max-width:1200px;padding:40px 20px}.dashboard-header{margin-bottom:50px}.dashboard-header h1{font-size:36px;margin-bottom:10px}.role-badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:14px;margin-top:10px;padding:8px 20px}.dashboard-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:40px}.dashboard-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;color:#2c3e50;padding:30px;text-decoration:none;transition:transform .3s,box-shadow .3s}.dashboard-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.card-icon{font-size:48px;margin-bottom:15px}.dashboard-card h2{font-size:22px;margin-bottom:10px}.dashboard-card p{color:#7f8c8d;font-size:15px}.admin-card{border:2px solid #3498db}.info-section{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-top:30px;padding:30px}.info-section h3{color:#2c3e50;margin-bottom:15px}.info-section p{color:#7f8c8d;line-height:1.6}.navigation{align-items:center;background:linear-gradient(135deg,#c8102e,#00205b);box-shadow:0 2px 10px #0000001a;color:#fff;display:flex;justify-content:space-between;padding:0 30px;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-brand{padding:15px 0}.nav-brand a{color:#fff;text-decoration:none}.brand-content{align-items:center;display:flex;gap:15px}.brand-logo{background:#fff;border-radius:50%;box-shadow:0 2px 8px #0003;height:60px;padding:5px;width:auto}.brand-text h2{font-size:24px;letter-spacing:2px;margin:0}.brand-text p{font-size:12px;font-style:italic;margin:0;opacity:.9}.nav-links{align-items:center;display:flex;gap:30px}.nav-link{border-bottom:3px solid #0000;color:#fff;font-weight:500;padding:20px 0;text-decoration:none;transition:opacity .3s}.nav-link:hover{border-bottom-color:#fff;opacity:.8}.nav-dropdown{position:relative}.nav-dropdown:hover .dropdown-content{display:block}.dropdown-content{background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;display:none;left:0;margin-top:5px;min-width:200px;padding:10px 0;position:absolute;top:100%}.dropdown-content a{color:#00205b;display:block;padding:12px 20px;text-decoration:none;transition:background .3s}.dropdown-content a:hover{background:#f5f7fa}.nav-user{align-items:center;display:flex;gap:15px}.user-name{font-weight:500}@media (max-width:768px){.navigation{flex-wrap:wrap;padding:10px 20px}.brand-text h2{font-size:18px}.nav-links{gap:15px}}.projects-container{background-color:#f5f7fa;min-height:100vh}.projects-content{margin:0 auto;max-width:1200px;padding:40px 20px}.projects-header{margin-bottom:40px;text-align:center}.projects-header h1{color:#2c3e50;font-size:36px;margin-bottom:10px}.projects-header p{color:#7f8c8d;font-size:18px}.filter-section{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;flex-wrap:wrap;gap:20px;margin-bottom:30px;padding:20px}.filter-group{align-items:center;flex:1 1;gap:15px;min-width:250px}.filter-section label{color:#2c3e50;font-weight:600;white-space:nowrap}.filter-section select{border:2px solid #e0e0e0;border-radius:8px;flex:1 1;font-size:16px;padding:10px 15px}.projects-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.project-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;color:#2c3e50;display:flex;flex-direction:column;padding:25px;text-decoration:none;transition:transform .3s,box-shadow .3s}.project-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.project-category{background:#e8f4fd;border-radius:20px;display:inline-block;font-size:12px;padding:6px 12px}.project-card h3{color:#2c3e50;font-size:20px;margin-bottom:10px}.project-location{font-size:14px;margin-bottom:12px}.project-description{flex:1 1;font-size:15px;line-height:1.5;margin-bottom:15px}.project-meta{align-items:center;border-top:1px solid #eee;display:flex;justify-content:space-between;margin-top:auto;padding-top:15px}.project-meta span{color:#7f8c8d;font-size:14px}.view-details{color:#3498db}.no-projects{padding:60px 20px;text-align:center}.no-projects p{color:#7f8c8d;font-size:18px}.view-toggle{gap:10px;margin:10px 0 6px}.view-toggle button{background:#ffffff0f;border:1px solid #ffffff2e;border-radius:10px;color:inherit;padding:8px 12px}.view-toggle button.active{background:#ffffff24;border-color:#ffffff47}.projects-table-wrap{border-radius:14px;overflow-x:auto}.projects-table{min-width:760px}.projects-table td,.projects-table th{padding:12px 14px;text-align:left}.table-link{font-weight:600;text-decoration:none}.projects-list{display:flex;flex-direction:column;gap:25px}.my-project-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:30px}.project-card-header{align-items:start;display:flex;gap:15px;justify-content:space-between;margin-bottom:15px}.project-card-header h3{color:#2c3e50;flex:1 1;font-size:24px}.status-badge.claimed{border-radius:20px;color:#fff;font-size:13px;font-weight:600;padding:6px 16px}.project-location{color:#7f8c8d;font-size:15px;margin-bottom:8px}.project-category{color:#3498db;font-size:14px;font-weight:600;margin-bottom:15px}.project-description{color:#555;line-height:1.6;margin-bottom:20px}.requirements-section{background:#f8f9fa;border-radius:8px;margin-bottom:20px;padding:20px}.requirements-section strong{color:#2c3e50;display:block;margin-bottom:10px}.requirements-section ul{color:#555;margin-left:20px}.requirements-section li{margin-bottom:8px}.project-footer{border-top:1px solid #eee;color:#7f8c8d;display:flex;font-size:14px;justify-content:space-between;padding-top:15px}.empty-state{padding:60px 20px}.empty-state h2{color:#2c3e50;margin-bottom:15px}.empty-state p{color:#7f8c8d;line-height:1.8;margin-bottom:10px}.project-detail-content{margin:0 auto;max-width:900px;padding:40px 20px}.back-button{background:#0000;border:none;color:#3498db;font-size:16px;margin-bottom:20px;padding:10px 0;transition:color .3s}.back-button:hover{color:#2980b9}.project-detail-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:40px}.project-header{border-bottom:2px solid #eee;margin-bottom:30px;padding-bottom:20px}.project-category-badge{background:#e8f4fd;border-radius:20px;color:#3498db;display:inline-block;font-size:13px;font-weight:600;margin-bottom:15px;padding:8px 16px}.project-header h1{color:#2c3e50;font-size:32px;margin-bottom:10px}.project-section{margin-bottom:30px}.project-section h2{color:#2c3e50;font-size:22px;margin-bottom:15px}.project-section p{color:#555;font-size:16px;line-height:1.6}.requirements-list{color:#555;list-style-position:inside}.requirements-list li{border-bottom:1px solid #eee;padding:8px 0}.project-meta-section{grid-gap:20px;background:#f8f9fa;border-radius:8px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px;padding:20px}.meta-item{display:flex;flex-direction:column;gap:8px}.meta-item strong{color:#7f8c8d;font-size:14px}.meta-item span{color:#2c3e50;font-size:18px;font-weight:600}.status-badge{background:#27ae60;color:#fff;font-size:14px}.action-section{border-top:2px solid #eee;padding-top:20px;text-align:center}.interest-button{background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:18px;font-weight:600;padding:15px 40px;transition:transform .2s,box-shadow .2s}.interest-button:hover:not(:disabled){box-shadow:0 5px 15px #27ae6066;transform:translateY(-2px)}.interest-button:disabled{cursor:not-allowed;opacity:.6}.modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal-content{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000004d;max-width:500px;padding:40px;width:90%}.modal-content h2{color:#2c3e50;margin-bottom:15px}.interest-form-modal{max-width:600px}.interest-form .form-group{margin-bottom:20px}.interest-form label{color:#2c3e50;display:block;font-weight:600;margin-bottom:8px}.interest-form input,.interest-form textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:16px;padding:12px 16px;width:100%}.interest-form input:focus,.interest-form textarea:focus{border-color:#27ae60;outline:none}.interest-form textarea{min-height:100px;resize:vertical}.modal-content p{color:#555;line-height:1.6;margin-bottom:10px}.modal-subtitle{color:#7f8c8d;font-size:14px}.modal-actions{margin-top:30px}.confirm-button{background:#27ae60;border:none;border-radius:8px;color:#fff;flex:1 1;font-weight:600;padding:12px 20px}.cancel-button{color:#555;padding:12px 20px}.csv-upload-container{background:#fff;border:2px dashed #c8102e;border-radius:12px;margin-bottom:30px;padding:30px}.csv-upload-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:25px}.csv-upload-header h3{color:#2c3e50;margin:0}.template-button{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 20px;transition:opacity .3s}.template-button:hover{opacity:.9}.upload-section{margin:25px 0;text-align:center}.file-input{display:none}.upload-label{background:linear-gradient(135deg,#27ae60,#229954);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:15px 40px;transition:transform .2s}.upload-label:hover{transform:translateY(-2px)}.upload-message{border-radius:8px;font-weight:600;margin:20px 0;padding:15px;text-align:center}.upload-message.success{background:#d4edda;color:#155724}.upload-message.error{background:#f8d7da;color:#721c24}.csv-instructions{background:#f8f9fa;border-radius:8px;margin-top:25px;padding:20px}.csv-instructions h4{color:#2c3e50;margin:0 0 15px}.csv-instructions ol{margin:0;padding-left:20px}.csv-instructions li{color:#555;margin:8px 0}.csv-instructions p{background:#fff3cd;border-radius:4px;color:#856404;margin:15px 0 0;padding:10px}.admin-container{background-color:#f5f7fa;min-height:100vh}.admin-content{margin:0 auto;max-width:1400px;padding:40px 20px}.admin-header{margin-bottom:40px}.admin-header h1{font-size:36px}.create-button{background:linear-gradient(135deg,#667eea,#764ba2);font-size:16px;padding:12px 30px;transition:transform .2s}.create-button:hover{transform:translateY(-2px)}.project-form-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:40px;padding:40px}.project-form-card h2{color:#2c3e50;margin-bottom:30px}.project-form{gap:20px}.form-group,.project-form{display:flex;flex-direction:column}.form-group label{color:#2c3e50;font-size:15px;font-weight:600;margin-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:16px;padding:12px 16px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.requirement-row{display:flex;gap:10px;margin-bottom:10px}.requirement-row input{flex:1 1}.remove-button{background:#e74c3c;border:none;border-radius:6px;color:#fff;font-size:14px;padding:8px 12px}.add-requirement-button{background:#ecf0f1;border:2px dashed #95a5a6;border-radius:6px;color:#2c3e50;font-weight:600;margin-top:10px;padding:10px 20px}.submit-button{background:linear-gradient(135deg,#27ae60,#229954);font-size:18px;margin-top:10px;padding:15px}.projects-table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:30px}.projects-table-container h2{color:#2c3e50;margin-bottom:20px}.projects-table th{font-weight:600;padding:15px}.projects-table td{border-bottom:1px solid #eee;color:#555;padding:15px;vertical-align:middle}.title-cell{font-weight:500;max-width:300px}.actions-cell{white-space:nowrap}.delete-button,.edit-button{border-radius:5px;font-size:13px;margin-right:8px;padding:6px 12px}.delete-button:hover,.edit-button:hover{opacity:.8}.form-actions{margin-top:20px}.cancel-form-button{background:#95a5a6;border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:18px;font-weight:600;padding:15px}.cancel-form-button:hover{background:#7f8c8d}.status-badge.available{background:#27ae60}.status-badge.claimed{background:#3498db}.status-badge.completed{background:#95a5a6}.status-select{padding:6px 12px}@media (max-width:1024px){.admin-header{align-items:flex-start;flex-direction:column;gap:15px}.header-controls{flex-wrap:wrap;justify-content:flex-start;width:100%}}.chapter-card{border-radius:12px;box-shadow:0 2px 10px #00000014;transition:transform .3s,box-shadow .3s}.chapter-card:hover{box-shadow:0 5px 20px #00000026;transform:translateY(-5px)}.chapter-card-header{align-items:start;border-bottom:2px solid #c8102e;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.chapter-title-section{flex:1 1}.chapter-title-section h3{color:#2c3e50;font-size:20px;margin:0 0 8px}.status-badge{display:inline-block;padding:4px 12px}.status-badge.active{background:#27ae60;color:#fff}.status-badge.inactive{background:#95a5a6;color:#fff}.status-badge.pending{background:#f39c12;color:#fff}.form-section{background:#f8f9fa;border-radius:8px;margin-bottom:25px;padding:20px}.form-section h3{border-bottom:2px solid #c8102e;color:#2c3e50;font-size:18px;margin:0 0 20px;padding-bottom:10px}.form-section h4{color:#00205b;font-size:15px;margin:15px 0 10px}.officer-section{background:#fff;border-radius:6px;margin-bottom:15px;padding:15px}.form-row{grid-template-columns:1fr 1fr}.info-row{color:#555;line-height:1.5;margin:8px 0;padding:6px 0}.info-row strong{color:#2c3e50;font-weight:600}.officers-section{background:#f8f9fa;border-radius:6px;margin:15px 0;padding:15px}.officers-section h4{color:#00205b;font-size:14px;font-weight:600;margin:0 0 10px}.officer-info{color:#555;font-size:14px;margin:6px 0}.officer-info strong{color:#2c3e50}.chapter-actions{display:flex;gap:8px}.chapter-form-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;padding:30px}.chapter-form-card h2{color:#2c3e50;margin-bottom:25px}.chapter-form{gap:20px}.chapter-form,.chapter-form .form-group{display:flex;flex-direction:column}.chapter-form label{color:#2c3e50;font-size:15px;font-weight:600;margin-bottom:8px}.chapter-form input{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 16px}.chapter-form input:focus{border-color:#c8102e;outline:none}.delete-button,.edit-button{border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:8px 12px;transition:opacity .2s}.edit-button{background:#3498db}.delete-button{background:#e74c3c;color:#fff}.delete-button:hover,.edit-button:hover{opacity:.8}.chapter-info{gap:12px}.chapter-info p{color:#555;line-height:1.6}.chapter-info strong{font-weight:600}.admin-header{align-items:center;border-bottom:2px solid #eee;display:flex;justify-content:space-between;margin-bottom:30px;padding:20px 0}.admin-header h1{color:#2c3e50;flex-shrink:0;font-size:28px;margin:0}.header-controls{align-items:center;display:flex;flex-wrap:nowrap;gap:12px}.view-toggle{background:#fff;border:2px solid #e0e0e0;border-radius:8px;display:flex;overflow:hidden}.view-toggle button{background:#fff;border:none;color:#555;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .3s;white-space:nowrap}.view-toggle button.active{background:linear-gradient(135deg,#c8102e,#00205b);color:#fff}.view-toggle button:hover:not(.active){background:#f5f5f5}.csv-button{background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s;white-space:nowrap}.csv-button:hover{background:#2980b9;box-shadow:0 2px 8px #3498db4d;transform:translateY(-1px)}.create-button{background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .3s;white-space:nowrap}.create-button:hover{box-shadow:0 2px 8px #27ae604d;transform:translateY(-1px)}@media (max-width:1024px){.admin-header{align-items:flex-start;flex-direction:column;gap:15px}.header-controls{justify-content:flex-start;width:100%}}.table-container{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;overflow-x:auto;padding:20px}.chapters-table{border-collapse:collapse;width:100%}.chapters-table thead{background:#f8f9fa}.chapters-table th{border-bottom:2px solid #c8102e;color:#2c3e50;font-weight:600;padding:15px;text-align:left}.chapters-table td{border-bottom:1px solid #eee;padding:12px 15px;vertical-align:middle}.chapters-table tbody tr:hover{background:#f8f9fa}.chapter-name{color:#2c3e50;font-weight:600}.delete-button-small,.edit-button-small{font-size:14px;margin-right:5px;padding:6px 10px}.user-form-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;margin-bottom:30px;padding:30px}.user-form-card h2{color:#2c3e50;margin-bottom:25px}.info-box{background:#fff3cd;border:1px solid #ffc107;border-radius:8px;margin-bottom:25px;padding:20px}.info-box h4{color:#856404;margin:0 0 15px}.info-box ol{color:#856404;margin:0;padding-left:20px}.info-box li{margin:8px 0}.user-form{gap:20px}.user-form,.user-form .form-group{display:flex;flex-direction:column}.user-form label{color:#2c3e50;font-size:15px;font-weight:600;margin-bottom:8px}.user-form input,.user-form select{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;padding:12px 16px}.user-form input:focus,.user-form select:focus{border-color:#c8102e;outline:none}.user-form input:disabled{background:#f5f5f5;cursor:not-allowed}.user-form small{color:#777;font-size:13px;margin-top:5px}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:#f8f9fa}.users-table th{border-bottom:2px solid #c8102e;color:#2c3e50;font-weight:600;padding:15px;text-align:left}.users-table td{border-bottom:1px solid #eee;padding:12px 15px;vertical-align:middle}.users-table tbody tr:hover{background:#f8f9fa}.email-cell{color:#555;font-size:14px}.role-badge{border-radius:12px;display:inline-block;font-size:13px;font-weight:600;padding:5px 12px}.role-badge.role-admin{background:#c8102e;color:#fff}.role-badge.role-leadership{background:#00205b;color:#fff}.role-badge.role-member{background:#95a5a6;color:#fff}.no-chapter{color:#999;font-style:italic}.form-actions{display:flex;gap:15px;margin-top:10px}.submit-button{background:linear-gradient(135deg,#c8102e,#00205b);border:none;border-radius:8px;color:#fff;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;padding:14px;transition:opacity .3s}.submit-button:hover{opacity:.9}.cancel-button{background:#95a5a6;color:#fff;flex:1 1;font-size:16px;padding:14px;transition:opacity .3s}.cancel-button:hover{opacity:.9}.delete-button-small,.edit-button-small{border:none;border-radius:5px;cursor:pointer;font-size:13px;font-weight:600;margin-right:8px;padding:6px 12px}.edit-button-small{background:#3498db;color:#fff}.delete-button-small{background:#e74c3c;color:#fff}.delete-button-small:hover,.edit-button-small:hover{opacity:.8}.stats{display:flex;gap:20px}.stat-box{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;min-width:120px;padding:15px 25px;text-align:center}.stat-box strong{color:#2c3e50;display:block;font-size:32px;margin-bottom:5px}.stat-box span{color:#7f8c8d;font-size:14px}.stat-box.pending strong{color:#f39c12}.filter-bar{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:15px;margin-bottom:25px;padding:20px}.filter-bar label{color:#2c3e50;font-weight:600}.filter-bar select{border:2px solid #e0e0e0;border-radius:8px;font-size:16px;min-width:200px;padding:10px 15px}.interests-list{display:flex;flex-direction:column;gap:20px}.interest-card{background:#fff;border-left:4px solid #95a5a6;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:25px;transition:transform .2s,box-shadow .2s}.interest-card:hover{box-shadow:0 4px 15px #0000001f;transform:translateY(-2px)}.interest-card.pending{border-left-color:#f39c12}.interest-card.contacted{border-left-color:#3498db}.interest-card.resolved{border-left-color:#27ae60}.interest-header{align-items:start;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:20px;padding-bottom:15px}.interest-header h3{color:#2c3e50;font-size:20px;margin:0 0 5px}.organization{color:#7f8c8d;font-size:15px;margin:0}.interest-actions{align-items:center;display:flex;gap:10px}.status-select{border:2px solid #e0e0e0;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px}.status-select option[value=pending]{color:#f39c12}.status-select option[value=contacted]{color:#3498db}.status-select option[value=resolved]{color:#27ae60}.delete-btn{border:none;border-radius:6px;cursor:pointer;font-size:16px;padding:8px 12px}.delete-btn:hover{opacity:.8}.interest-body{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.info-row{display:flex;gap:10px}.info-row strong{color:#7f8c8d;font-size:14px;min-width:100px}.info-row a,.info-row span{color:#2c3e50;font-size:15px}.info-row a{color:#3498db;text-decoration:none}.info-row a:hover{text-decoration:underline}.message-section{background:#f8f9fa;border-radius:8px;margin-top:15px;padding:15px}.message-section strong{color:#7f8c8d;display:block;font-size:14px;margin-bottom:8px}.message-section p{color:#2c3e50;line-height:1.6;margin:0}.interest-footer{border-top:1px solid #ecf0f1;padding-top:15px}.reply-btn{background:linear-gradient(135deg,#3498db,#2980b9);border-radius:6px;color:#fff;display:inline-block;font-weight:600;padding:10px 20px;text-decoration:none;transition:opacity .2s}.reply-btn:hover{opacity:.9}.no-data{color:#7f8c8d;padding:60px 20px}.no-data p{font-size:18px}.kpi-card{border-radius:12px;box-shadow:0 2px 8px #00000014;padding:24px;transition:transform .3s,box-shadow .3s}.kpi-card:hover{box-shadow:0 6px 20px #0000001f;transform:translateY(-4px)}.kpi-header{margin-bottom:16px}.kpi-icon{font-size:36px}.kpi-trend{border-radius:20px;font-size:12px;font-weight:700;padding:4px 10px}.trend-up{background:#d4edda;color:#155724}.trend-down{background:#f8d7da;color:#721c24}.trend-neutral{background:#d1ecf1;color:#0c5460}.kpi-title{color:#7f8c8d;font-size:13px;font-weight:500;letter-spacing:.5px;margin:0 0 8px;text-transform:uppercase}.kpi-value{font-size:34px;line-height:1;margin-bottom:4px}.kpi-subtitle{color:#95a5a6;font-size:13px;margin:0}.trend-chart{width:100%}.chart-tabs{display:flex;gap:8px;margin-bottom:20px}.tab{background:#fff;border:2px solid #e0e0e0;border-radius:8px;color:#555;cursor:pointer;font-size:13px;font-weight:600;padding:8px 18px;transition:all .2s}.tab.active{background:linear-gradient(135deg,#c8102e,#00205b);border-color:#0000;color:#fff}.tab:hover:not(.active){border-color:#c8102e;color:#c8102e}.exec-container{background:#f4f6f9;min-height:100vh}.exec-content{margin:0 auto;max-width:1400px;padding:30px 24px}.exec-header{align-items:center;border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;margin-bottom:28px;padding-bottom:20px}.exec-header h1{color:#2c3e50;font-size:28px;margin:0 0 6px}.exec-subtitle{color:#7f8c8d;font-size:14px;margin:0}.refresh-btn{background:linear-gradient(135deg,#c8102e,#00205b);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 22px;transition:opacity .2s}.refresh-btn:hover{opacity:.9}.charts-row,.kpi-grid{margin-bottom:24px}.charts-row{grid-template-columns:2fr 1fr}.chart-card{border-radius:12px;box-shadow:0 2px 8px #00000012;padding:24px}.chart-card.half{grid-column:span 1}.charts-row:last-of-type{grid-template-columns:1fr 1fr}.chart-card h3{font-size:16px;font-weight:600}.section-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000012;padding:24px}.section-card h3{color:#2c3e50;font-size:16px;font-weight:600;margin:0 0 20px}.projects-tbl{border-collapse:collapse;font-size:14px;width:100%}.projects-tbl th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#555;font-size:12px;font-weight:600;letter-spacing:.5px;padding:11px 14px;text-align:left;text-transform:uppercase}.projects-tbl td{border-bottom:1px solid #f5f5f5;padding:12px 14px}.projects-tbl tr:last-child td{border-bottom:none}.projects-tbl tr:hover td{background:#fafafa}.proj-title{color:#2c3e50;font-weight:600;max-width:320px}.tbl-num{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.cat-badge{background:#e8f4fd;color:#00205b}.cat-badge,.status-dot{border-radius:12px;display:inline-block;font-size:12px;font-weight:600;padding:3px 10px}.status-dot{text-transform:capitalize}.status-available{background:#d4edda;color:#155724}.status-claimed{background:#fff3cd;color:#856404}.status-completed{background:#d1ecf1;color:#0c5460}.prog-wrap{align-items:center;display:flex;gap:8px}.prog-bar{background:#ecf0f1;border-radius:4px;flex:1 1;height:8px;overflow:hidden}.prog-fill{background:linear-gradient(90deg,#27ae60,#229954);border-radius:4px;height:100%;transition:width .5s}.prog-label{color:#555;font-size:12px;font-weight:600;min-width:30px}.exec-error,.exec-loading{align-items:center;color:#7f8c8d;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:60vh}.exec-spinner{animation:spin 1s linear infinite;border:4px solid #f0f0f0;border-radius:50%;border-top-color:#c8102e;height:48px;width:48px}@keyframes spin{to{transform:rotate(1turn)}}.retry-btn{background:#c8102e;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 24px}.no-data-msg{color:#aaa;padding:30px;text-align:center}@media (max-width:1200px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-row{grid-template-columns:1fr}}@media (max-width:768px){.exec-header{align-items:flex-start;flex-direction:column;gap:12px}.kpi-grid{grid-template-columns:1fr 1fr}.charts-row:last-of-type{grid-template-columns:1fr}}@media (max-width:480px){.kpi-grid{grid-template-columns:1fr}.exec-content{padding:16px}}.manual-editor-modal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;overflow-y:auto;padding:20px;position:fixed;right:0;top:0;z-index:2000}.editor-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:1200px;overflow-y:auto;width:100%}.editor-header{background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #e0e0e0;color:#fff;padding:30px}.editor-header h2{font-size:26px;margin:0 0 8px}.editor-header p{font-size:14px;margin:0;opacity:.9}.editor-section{border-bottom:1px solid #f0f0f0;padding:30px}.editor-section h3{color:#2c3e50;font-size:18px;margin:0 0 20px}.form-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr}.form-grid-4{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr)}.form-grid-2{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.form-field{display:flex;flex-direction:column}.form-field label{color:#555;font-size:13px;font-weight:600;margin-bottom:6px}.form-field input,.form-field select,.form-field textarea{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px 12px;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus{border-color:#667eea;outline:none}.project-editor-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:12px;margin-bottom:20px;padding:20px}.card-header{border-bottom:1px solid #e0e0e0;margin-bottom:15px}.card-header h4{color:#2c3e50;font-size:16px;margin:0}.add-btn{font-size:13px}.remove-btn{padding:6px 12px}.editor-actions{background:#f8f9fa;border-top:2px solid #e0e0e0;display:flex;gap:15px;justify-content:flex-end;padding:25px 30px}.cancel-btn{background:#95a5a6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 28px;transition:background .2s}.cancel-btn:hover:not(:disabled){background:#7f8c8d}.save-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 28px;transition:opacity .2s}.save-btn:hover:not(:disabled){opacity:.9}.cancel-btn:disabled,.save-btn:disabled{cursor:not-allowed;opacity:.5}.empty-state{background:#f8f9fa;border-radius:8px;color:#95a5a6;padding:40px}@media (max-width:1024px){.form-grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.form-grid,.form-grid-2,.form-grid-4{grid-template-columns:1fr}.editor-section{padding:20px}.project-editor-card{padding:15px}}.report-preview-modal{align-items:center;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.preview-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:1000px;overflow-y:auto;width:100%}.preview-header{align-items:start;border-bottom:2px solid #e0e0e0}.preview-header h2{color:#2c3e50;margin:0}.preview-subtitle{color:#7f8c8d;margin:5px 0 0}.close-button{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:24px}.metadata-bar{background:#f8f9fa;display:flex;gap:30px;padding:20px 25px}.metadata-item{display:flex;flex-direction:column}.metadata-label{color:#7f8c8d;font-size:12px;margin-bottom:4px}.metadata-value{color:#2c3e50;font-weight:600}.preview-tabs{border-bottom:2px solid #e0e0e0;display:flex;gap:5px;padding:0 25px}.tab-button{background:none;border:none;border-bottom:3px solid #0000;color:#7f8c8d;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .3s}.tab-button.active{border-bottom-color:#c8102e;color:#c8102e}.preview-content{min-height:300px;padding:25px}.stat-cards{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#f8f9fa;border-radius:10px;display:flex;gap:15px;padding:20px}.stat-icon{font-size:32px}.stat-label{color:#7f8c8d;font-size:13px;margin-bottom:5px}.stat-value{color:#2c3e50;font-size:24px;font-weight:700}.preview-actions{border-top:2px solid #e0e0e0;display:flex;gap:15px;justify-content:flex-end;padding:20px 25px}.approve-button{background:linear-gradient(135deg,#27ae60,#229954);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 28px}.approve-button:disabled{cursor:not-allowed;opacity:.5}.cancel-button{background:#e0e0e0;color:#2c3e50}.cancel-button,.edit-button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:12px 28px}.edit-button{background:#f39c12;color:#fff;transition:background .2s}.edit-button:hover{background:#e67e22}.report-upload-container{background:#f5f7fa;min-height:100vh}.report-upload-content{margin:0 auto;max-width:1200px;padding:30px 20px}.upload-header{margin-bottom:40px;text-align:center}.upload-header h1{color:#2c3e50;font-size:32px;margin:0 0 10px}.upload-subtitle{color:#7f8c8d;font-size:16px;margin:0}.upload-section{grid-template-columns:2fr 1fr;margin-bottom:40px}.upload-dropzone{background:#fff;border:3px dashed #c8102e;border-radius:16px;cursor:pointer;padding:60px 40px;text-align:center;transition:all .3s}.upload-dropzone.drag-active{background:#fff5f5;border-color:#00205b;transform:scale(1.02)}.upload-dropzone.has-file{background:#f8f9fa;border-style:solid}.upload-icon{font-size:64px;margin-bottom:20px}.upload-dropzone h3{color:#2c3e50;font-size:20px;margin:0 0 10px}.upload-dropzone>p{color:#7f8c8d;margin:10px 0}.upload-button{background:linear-gradient(135deg,#c8102e,#00205b);border-radius:8px;color:#fff;cursor:pointer;display:inline-block;font-weight:600;margin:10px 0;padding:14px 32px;transition:transform .2s}.upload-button:hover{transform:translateY(-2px)}.upload-hint{color:#95a5a6;font-size:13px;margin-top:15px}.file-preview{padding:20px}.file-info{align-items:center;display:flex;gap:20px;margin-bottom:25px}.file-icon-large{font-size:48px}.file-details h4{color:#2c3e50;font-size:18px;margin:0 0 5px}.file-details p{color:#7f8c8d;font-size:14px;margin:0}.upload-progress{margin-bottom:25px}.progress-bar{background:#ecf0f1;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#27ae60,#229954);height:100%;transition:width .3s}.progress-text{color:#7f8c8d;display:block;font-size:13px;font-weight:600;text-align:center}.file-actions{display:flex;gap:15px;justify-content:center}.upload-cancel-button,.upload-confirm-button{border:none;border-radius:8px;cursor:pointer;font-weight:600;padding:12px 28px;transition:all .3s}.upload-confirm-button{background:#27ae60;color:#fff}.upload-confirm-button:hover:not(:disabled){background:#229954}.upload-confirm-button:disabled{cursor:not-allowed;opacity:.6}.upload-cancel-button{background:#e0e0e0;color:#2c3e50}.upload-cancel-button:hover:not(:disabled){background:#d0d0d0}.upload-instructions{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:25px}.upload-instructions h3{color:#2c3e50;font-size:18px;margin:0 0 20px}.upload-instructions ol{color:#555;line-height:1.8;margin:0;padding-left:20px}.upload-instructions li{margin:12px 0}.upload-instructions ul{list-style-type:disc;margin:8px 0;padding-left:20px}.upload-instructions ul li{color:#666;font-size:14px;margin:6px 0}.recent-uploads-section{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;margin-bottom:30px;padding:25px}.recent-uploads-section h3{color:#2c3e50;font-size:20px;margin:0 0 20px}.uploads-list{display:flex;flex-direction:column;gap:15px}.upload-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:15px;padding:15px;transition:background .3s}.upload-item:hover{background:#ecf0f1}.file-icon{font-size:32px}.upload-item-details{flex:1 1}.upload-item-details h4{color:#2c3e50;font-size:15px;margin:0 0 4px}.upload-item-details p{color:#7f8c8d;font-size:13px;margin:0}.status-badge{font-size:12px;font-weight:600;padding:6px 12px;text-transform:capitalize}.status-badge.status-pending{background:#fff3cd;color:#856404}.status-badge.status-processing{background:#d1ecf1;color:#0c5460}.status-badge.status-mapped{background:#d4edda;color:#155724}.status-badge.status-approved{background:#d1e7dd;color:#0f5132}.view-report-button{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:background .3s}.view-report-button:hover{background:#2980b9}.template-section{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;padding:30px;text-align:center}.template-section h3{font-size:22px;margin:0 0 10px}.template-section p{margin:0 0 25px;opacity:.9}.template-buttons{display:flex;flex-wrap:wrap;gap:15px;justify-content:center}.template-download-button{background:#fff;border:none;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .3s}.template-download-button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}@media (max-width:1024px){.upload-section{grid-template-columns:1fr}}@media (max-width:768px){.upload-dropzone{padding:40px 20px}.template-buttons{flex-direction:column}.template-download-button{width:100%}}.manual-entry-page{background:#f5f7fa;min-height:100vh}.manual-entry-container{margin:0 auto;max-width:1200px;padding:20px}.header-bar{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.header-bar h1{margin:0}.header-actions{display:flex;gap:10px}.mode-btn{background:#fff;border:2px solid #667eea;border-radius:8px;color:#667eea;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s}.mode-btn:hover{background:#f8f9fa}.mode-btn.active{background:#667eea;color:#fff}.projects-list{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.list-table{border-collapse:collapse;width:100%}.list-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-size:13px;font-weight:700;padding:12px;text-align:left;text-transform:uppercase}.list-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px}.list-table tbody tr:hover{background:#f8f9fa}.status-badge{border-radius:12px;font-size:11px;font-weight:700;padding:5px 12px;text-transform:uppercase}.status-badge.active{background:#e8f5e9;color:#27ae60}.status-badge.completed{background:#e3f2fd;color:#1976d2}.status-badge.planning{background:#fff3e0;color:#f57c00}.delete-btn,.edit-btn{border:none;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600;margin:0 4px;padding:6px 12px}.edit-btn{background:#667eea;color:#fff}.delete-btn{background:#e74c3c;color:#fff}.edit-btn:hover{background:#5568d3}.delete-btn:hover{background:#c0392b}.editing-banner{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;display:flex;font-weight:600;justify-content:space-between;margin-bottom:20px;padding:15px 20px}.cancel-edit{background:#fff3;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px}.cancel-edit:hover{background:#ffffff4d}.bene-grid-with-dates{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin:20px 0}.bene-field-with-date{display:flex;flex-direction:column;gap:8px}.bene-field-with-date label{color:#34495e;font-size:12px;font-weight:600;margin-bottom:5px}.bene-field-with-date input{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px}.bene-field-with-date input:focus{border-color:#667eea;outline:none}.bene-field-with-date input[type=date]{color:#7f8c8d;font-size:13px}.fund-source-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:10px;margin-bottom:15px;padding:20px}.fund-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.fund-source-select{background:#fff;border:2px solid #667eea;border-radius:8px;flex:1 1;font-size:14px;font-weight:600;padding:10px}.remove-fund-btn{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:8px 16px;transition:background .2s}.remove-fund-btn:hover{background:#c0392b}.fund-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr)}.total-funds-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;margin-top:20px;padding:25px}.total-funds-card h4{font-size:18px;margin:0 0 20px}.total-funds-card .fund-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr)}.total-item{display:flex;flex-direction:column;gap:8px}.total-item span{font-size:12px;letter-spacing:1px;opacity:.9;text-transform:uppercase}.total-item strong{font-size:24px;font-weight:700}.total-item.highlight{background:#fff3;border-radius:8px;padding:15px}.list-filters{background:#f8f9fa;border-radius:12px;margin-bottom:20px;padding:20px}.filter-row{align-items:flex-end;display:flex;flex-wrap:wrap;gap:15px}.filter-field{display:flex;flex:1 1;flex-direction:column;gap:5px;min-width:200px}.filter-field label{color:#2c3e50;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.filter-field select{background:#fff;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px}.filter-field select:focus{border-color:#667eea;outline:none}.clear-filters-btn{align-self:flex-end;background:#e74c3c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;height:42px;padding:10px 20px;transition:background .2s}.clear-filters-btn:hover{background:#c0392b}.type-badge{display:inline-block;padding:4px 10px}.type-badge.chapter{background:#e3f2fd;color:#1976d2}.type-badge.individual{background:#f3e5f5;color:#7b1fa2}.type-badge.common{background:#e8f5e9;color:#388e3c}.no-results{background:#f8f9fa;border-radius:8px;color:#95a5a6;font-size:16px;margin-top:20px;padding:40px;text-align:center}@media (max-width:768px){.fund-row{grid-template-columns:repeat(2,1fr)}.total-funds-card .fund-row{grid-template-columns:1fr}}.quick-mode-toggle{align-items:center;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;display:flex;font-weight:600;gap:10px;padding:10px 20px}.quick-mode-toggle input[type=checkbox]{cursor:pointer;height:20px;width:20px}.quick-mode-toggle:has(input:checked){background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.badge{background:#ffffff4d;padding:2px 8px}.simple-form{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:30px}.tabs{display:flex;gap:10px;margin-bottom:25px}.tabs button{background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;flex:1 1;font-weight:600;padding:12px;transition:all .2s}.tabs button.active{background:linear-gradient(135deg,#667eea,#764ba2);border-color:#667eea;color:#fff}.form-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.field{display:flex;flex-direction:column}.field label{color:#34495e;font-size:13px;font-weight:600;margin-bottom:6px}.field input,.field select,.field textarea{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px;transition:border-color .2s}.field input:focus,.field select:focus,.field textarea:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.autocomplete{display:flex;flex-direction:column;position:relative}.autocomplete label{color:#34495e;font-size:13px;font-weight:600;margin-bottom:6px}.autocomplete input{border:2px solid #e0e0e0;border-radius:6px;font-size:14px;padding:10px;transition:border-color .2s}.autocomplete input:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.autocomplete-dropdown{background:#fff;border:2px solid #667eea;border-radius:6px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:250px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.autocomplete-item{border-bottom:1px solid #f0f0f0;cursor:pointer;padding:10px 12px;transition:background .2s}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item.highlighted,.autocomplete-item:hover{background:#667eea;color:#fff}.add-btn{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:8px 16px;transition:background .2s}.add-btn:hover{background:#229954}.readonly{background:#e8f5e9;color:#27ae60;font-weight:700}.bene-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(4,1fr);margin:20px 0}.bene-field{display:flex;flex-direction:column}.bene-field label{font-size:12px;font-weight:600;margin-bottom:5px}.bene-field input{border:2px solid #e0e0e0;border-radius:6px;padding:8px}.total-bene{background:#e8f5e9;border:2px solid #27ae60;border-radius:8px;font-size:18px;margin:20px 0;padding:15px}.total-bene strong{color:#27ae60;font-size:24px}.dynamic-row{grid-gap:10px;align-items:start;display:grid;gap:10px;grid-template-columns:1fr 2fr auto;margin-bottom:10px}.dynamic-row input,.dynamic-row textarea{border:2px solid #e0e0e0;border-radius:6px;padding:10px}.remove-btn{background:#e74c3c;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:10px 15px;transition:background .2s}.remove-btn:hover{background:#c0392b}.button-row{margin-top:30px}.submit-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:10px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:16px;transition:transform .2s,opacity .2s;width:100%}.submit-btn:hover:not(:disabled){transform:translateY(-2px)}.submit-btn:disabled{cursor:not-allowed;opacity:.6}.simple-form h3{align-items:center;color:#2c3e50;display:flex;justify-content:space-between;margin:30px 0 15px}@media (max-width:768px){.header-bar{align-items:flex-start;flex-direction:column;gap:15px}.bene-grid,.dynamic-row,.form-row{grid-template-columns:1fr}}.report-builder-page{background:#f5f7fa;min-height:100vh}.report-builder-container{margin:0 auto;max-width:1600px;padding:30px 20px}.builder-header{margin-bottom:40px;text-align:center}.builder-header h1{color:#2c3e50;font-size:36px;font-weight:700;margin:0 0 10px}.builder-header p{color:#7f8c8d;font-size:16px}.builder-layout{grid-gap:30px;display:grid;gap:30px;grid-template-columns:400px 1fr;min-height:700px}.fields-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 200px);overflow:hidden;padding:0}.panel-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:2px solid #f0f0f0;color:#fff;display:flex;justify-content:space-between;padding:25px}.panel-header h3{font-size:18px;font-weight:700;margin:0}.clear-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:background .2s}.clear-btn:hover{background:#ffffff4d}.field-groups{flex:1 1;overflow-y:auto;padding:20px}.field-group{margin-bottom:25px}.field-group h4{border-bottom:2px solid #667eea;color:#2c3e50;font-size:14px;font-weight:700;letter-spacing:.5px;margin:0 0 15px;padding-bottom:10px;text-transform:uppercase}.field-list{display:flex;flex-direction:column;gap:10px}.field-checkbox{align-items:center;background:#f8f9fa;border-radius:8px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s}.field-checkbox:hover{background:#e3f2fd;transform:translateX(5px)}.field-checkbox input[type=checkbox]{accent-color:#667eea;cursor:pointer;height:20px;width:20px}.field-checkbox span{color:#2c3e50;font-size:14px;font-weight:500}.field-checkbox input[type=checkbox]:checked+span{color:#667eea;font-weight:600}.preview-panel{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;flex-direction:column;max-height:calc(100vh - 200px);overflow:hidden;padding:0}.filters-section{border-bottom:2px solid #f0f0f0;padding:25px}.filters-section h3{color:#2c3e50;font-size:18px;font-weight:700;margin:0 0 20px}.filter-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.filter-item{display:flex;flex-direction:column;gap:8px}.filter-item label{color:#2c3e50;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.filter-item input,.filter-item select{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;padding:12px}.filter-item input:focus,.filter-item select:focus{border-color:#667eea;outline:none}.preview-section{display:flex;flex:1 1;flex-direction:column;overflow:hidden}.preview-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;padding:25px}.preview-header h3{color:#2c3e50;font-size:18px;font-weight:700;margin:0}.export-btn{align-items:center;background:linear-gradient(135deg,#27ae60,#229954);box-shadow:0 4px 12px #27ae604d;display:flex;font-weight:700;gap:8px;padding:12px 24px;transition:transform .2s}.export-btn:hover:not(:disabled){box-shadow:0 6px 16px #27ae6066;transform:translateY(-2px)}.export-btn:disabled{cursor:not-allowed;opacity:.5}.empty-state{align-items:center;display:flex;flex:1 1;justify-content:center;padding:60px 40px;text-align:center}.empty-state p{color:#95a5a6;font-size:16px;margin:0}.table-scroll{flex:1 1;overflow:auto;padding:0 25px 25px}.preview-table{border-collapse:collapse;font-size:13px;width:100%}.preview-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-size:12px;font-weight:700;letter-spacing:.5px;padding:12px;position:-webkit-sticky;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap}.preview-table td{border-bottom:1px solid #f0f0f0;color:#2c3e50;padding:12px}.preview-table tbody tr:hover{background:#f8f9fa}.preview-note{background:#fff3cd;border-top:2px solid #ffc107;color:#856404;font-size:13px;font-weight:600;padding:15px 25px;text-align:center}@media (max-width:1200px){.builder-layout{gap:20px;grid-template-columns:1fr}.fields-panel,.preview-panel{max-height:500px}}@media (max-width:768px){.filter-grid{grid-template-columns:1fr}.preview-header{align-items:flex-start;flex-direction:column;gap:15px}.export-btn{width:100%}}.dashboard-page{background:#f5f7fa;min-height:100vh}.dashboard-container{margin:0 auto;max-width:1400px;padding:20px}.dashboard-header{margin-bottom:30px;text-align:center}.dashboard-header h1{color:#2c3e50;font-size:32px;margin:0 0 10px}.dashboard-header p{color:#7f8c8d;font-size:16px}.filters-panel{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;display:flex;flex-wrap:wrap;gap:15px;margin-bottom:25px;padding:20px}.filter-group{display:flex;flex-direction:column;min-width:140px}.filter-group label{color:#34495e;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.filter-group input,.filter-group select{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;padding:10px;transition:all .2s}.filter-group input:focus,.filter-group select:focus{border-color:#667eea;box-shadow:0 0 0 3px #667eea1a;outline:none}.metrics-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:25px}.metric-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:30px 20px;text-align:center;transition:transform .2s}.metric-card:hover{transform:translateY(-5px)}.metric-card.blue{border-top:4px solid #3498db}.metric-card.green{border-top:4px solid #27ae60}.metric-card.purple{border-top:4px solid #9b59b6}.metric-card.orange{border-top:4px solid #e67e22}.metric-icon{font-size:36px;margin-bottom:10px}.metric-label{font-size:13px}.tabs-nav{background:#fff;border-radius:12px 12px 0 0;box-shadow:0 2px 8px #00000014;display:flex;gap:10px;padding:10px}.tabs-nav button{background:#0000;border:none;border-radius:8px;color:#7f8c8d;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:12px;transition:all .2s}.tabs-nav button:hover{background:#f8f9fa}.tabs-nav button.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.tab-content{background:#fff;border-radius:0 0 12px 12px;box-shadow:0 2px 8px #00000014;min-height:400px;padding:30px}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.section-header h3{color:#2c3e50;font-size:20px;margin:0}.export-btn{background:#27ae60;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.export-btn:hover{background:#229954;transform:translateY(-2px)}.table-scroll{margin-top:20px;overflow-x:auto}.projects-table,.report-table{border-collapse:collapse;width:100%}.projects-table th,.report-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-size:13px;font-weight:700;letter-spacing:.5px;padding:12px;text-align:left;text-transform:uppercase}.projects-table td,.report-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px}.badge{border-radius:12px;font-size:11px;font-weight:700;letter-spacing:.5px;padding:5px 12px;text-transform:uppercase}.badge.active{background:#e8f5e9;color:#27ae60}.badge.completed{background:#e3f2fd;color:#1976d2}.badge.planning{background:#fff3e0;color:#f57c00}.badge.on.hold{background:#fce4ec;color:#c2185b}.btn-delete,.btn-edit{border:none;border-radius:6px;cursor:pointer;font-size:16px;margin:0 4px;padding:6px 10px;transition:transform .2s}.btn-edit{background:#667eea;color:#fff}.btn-delete{background:#e74c3c;color:#fff}.btn-delete:hover,.btn-edit:hover{transform:scale(1.1)}.overview-section{display:flex;flex-direction:column;gap:30px}.status-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr)}.status-card{border-radius:12px;box-shadow:0 4px 12px #0000001a;padding:30px;text-align:center}.status-card.active-card{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.status-card.completed-card{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff}.status-card h3{font-size:16px;letter-spacing:1px;margin:0 0 15px;opacity:.9;text-transform:uppercase}.big-number{font-size:48px;font-weight:700}.top-section{background:#f8f9fa;border-radius:12px;padding:25px}.top-section h3{color:#2c3e50;margin:0 0 20px}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-box{animation:slideUp .3s;background:#fff;border-radius:12px;max-height:90vh;max-width:700px;overflow-y:auto;padding:30px;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.modal-box h2{color:#2c3e50;font-size:24px;margin:0 0 25px}.form-grid-modal{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(2,1fr);margin-bottom:25px}.form-grid-modal>div{display:flex;flex-direction:column}.form-grid-modal label{color:#34495e;font-size:13px;font-weight:600;margin-bottom:6px}.form-grid-modal input,.form-grid-modal select,.form-grid-modal textarea{border:2px solid #e0e0e0;border-radius:8px;font-family:inherit;font-size:14px;padding:10px}.form-grid-modal input:focus,.form-grid-modal select:focus,.form-grid-modal textarea:focus{border-color:#667eea;outline:none}.full-width{grid-column:span 2}.modal-actions{display:flex;gap:15px;justify-content:flex-end}.btn-cancel,.btn-save{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 30px;transition:all .2s}.btn-cancel{background:#e0e0e0;color:#2c3e50}.btn-save{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.btn-cancel:hover{background:#d0d0d0}.btn-save:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-2px)}.metric-card.teal{border-top:4px solid #1abc9c}.metric-card.indigo{border-top:4px solid #3498db}.drill-btn{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s}.drill-btn:hover{background:#2980b9;transform:scale(1.05)}.drill-modal{max-width:900px}.drill-modal table{margin-top:20px}@media (max-width:1024px){.metrics-grid{grid-template-columns:repeat(3,1fr)}.filters-panel{flex-direction:column}.form-grid-modal{grid-template-columns:1fr}.full-width{grid-column:span 1}}@media (max-width:768px){.metrics-grid,.status-cards{grid-template-columns:1fr}.tabs-nav{flex-direction:column;gap:5px}}.kpi-page{background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh}.kpi-container{margin:0 auto;max-width:1400px;padding:30px 20px}.kpi-header{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;display:flex;justify-content:space-between;margin-bottom:30px;padding:30px}.header-content h1{color:#2c3e50;font-size:32px;font-weight:700;margin:0 0 10px}.subtitle{color:#7f8c8d;font-size:16px;margin:0}.year-filter{align-items:center;display:flex;gap:10px}.year-filter label{color:#2c3e50;font-weight:600}.year-filter select{border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px}.summary-bar{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.summary-item{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;padding:25px;text-align:center}.summary-item .label{color:#7f8c8d;display:block;font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase}.summary-item .value{color:#2c3e50;display:block;font-size:36px;font-weight:700}.chapters-grid{grid-gap:25px;display:grid;gap:25px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.chapter-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;cursor:pointer;padding:25px;transition:all .3s ease}.chapter-card:hover{box-shadow:0 12px 30px #00000026;transform:translateY(-8px)}.card-header{align-items:center;display:flex;justify-content:space-between}.card-header h2{color:#2c3e50;font-size:20px;font-weight:700;margin:0}.badge{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:20px;color:#fff;font-size:12px;font-weight:600;padding:5px 15px}.metrics-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.metric{background:#f8f9fa;border-radius:10px;padding:15px;text-align:center}.metric-value{color:#2c3e50;font-size:28px;font-weight:700;margin-bottom:5px}.metric-label{color:#7f8c8d;font-size:12px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.status-row{display:flex;gap:15px;margin-bottom:15px}.status-item{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex:1 1;font-size:13px;font-weight:600;gap:8px;padding:10px}.status-item.active{background:#e8f5e9;color:#27ae60}.status-item.completed{background:#e3f2fd;color:#3498db}.status-item .dot{background:currentColor;border-radius:50%;height:10px;width:10px}.funds-row{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr;margin-bottom:15px}.fund-item{background:#f8f9fa;border-radius:8px;padding:12px}.fund-item .label{color:#7f8c8d;display:block;font-size:11px;font-weight:600;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.fund-item .amount{color:#2c3e50;font-size:18px;font-weight:700}.categories-preview{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.category-tag{align-items:center;background:#f0f0f0;border-radius:20px;display:flex;font-size:12px;gap:8px;padding:8px 12px}.cat-name{color:#2c3e50;font-weight:600}.cat-count{background:#667eea;border-radius:10px;color:#fff;font-size:11px;font-weight:700;padding:2px 8px}.view-details{border-top:2px solid #f0f0f0;color:#667eea;font-size:14px;font-weight:600;padding-top:15px;text-align:center}.loading{color:#fff}@media (max-width:768px){.kpi-header{align-items:flex-start;flex-direction:column;gap:20px}.summary-bar{grid-template-columns:repeat(2,1fr)}.chapters-grid{grid-template-columns:1fr}}.detail-page{background:#f5f7fa;min-height:100vh}.detail-container{margin:0 auto;max-width:1400px;padding:20px}.detail-header{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;box-shadow:0 4px 20px #0000001a;color:#fff;margin-bottom:30px;padding:30px}.back-btn{background:#fff3;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:20px;padding:10px 20px;transition:all .2s}.back-btn:hover{background:#ffffff4d}.header-info h1{font-size:36px;font-weight:700;margin:0 0 10px}.header-info .subtitle{font-size:16px;opacity:.9}.header-meta{display:flex;gap:20px;margin-top:20px}.meta-item{background:#fff3;border-radius:20px;font-size:14px;font-weight:600;padding:8px 16px}.kpi-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.kpi-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;display:flex;gap:20px;padding:25px;transition:all .3s}.kpi-card:hover{box-shadow:0 8px 30px #0000001f;transform:translateY(-5px)}.kpi-card.blue{border-left:5px solid #3498db}.kpi-card.green{border-left:5px solid #27ae60}.kpi-card.purple{border-left:5px solid #9b59b6}.kpi-card.orange{border-left:5px solid #e67e22}.kpi-icon{font-size:48px}.kpi-content{flex:1 1}.kpi-value{color:#2c3e50;font-size:32px;font-weight:700;margin-bottom:5px}.kpi-label{color:#7f8c8d;font-size:13px;font-weight:600;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.kpi-sub{color:#95a5a6;font-size:12px}.charts-row{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:30px}.chart-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:25px}.chart-card h3{border-bottom:2px solid #f0f0f0;color:#2c3e50;font-size:18px;font-weight:700;margin:0 0 20px;padding-bottom:15px}.chart-content{min-height:300px}.bar-chart{gap:15px}.bar-chart,.bar-item{display:flex;flex-direction:column}.bar-item{gap:8px}.bar-label{color:#2c3e50;font-size:13px;font-weight:600}.bar-container{background:#f0f0f0;border-radius:8px;height:40px;overflow:hidden;position:relative}.bar-fill{justify-content:flex-end}.district-table{border-collapse:collapse;width:100%}.district-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-size:13px;font-weight:700;padding:12px;text-align:left;text-transform:uppercase}.district-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px}.district-table tbody tr:hover{background:#f8f9fa}.schools-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;margin-bottom:30px;padding:25px}.schools-section h3{color:#2c3e50;font-size:20px;font-weight:700;margin:0 0 10px}.section-note{color:#7f8c8d;font-size:14px;margin-bottom:20px}.schools-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.school-item{align-items:center;background:#f8f9fa;border-left:4px solid #667eea;border-radius:10px;display:flex;gap:12px;padding:15px;transition:all .3s}.school-item.clickable{cursor:pointer}.school-item.clickable:hover{background:#667eea;color:#fff;transform:translateX(5px)}.school-item.clickable:hover .school-number{background:#fff;color:#667eea}.school-number{align-items:center;background:#667eea;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:30px;justify-content:center;transition:all .3s;width:30px}.school-name{color:#2c3e50;flex:1 1;font-size:14px;font-weight:500;transition:color .3s}.school-item.clickable:hover .school-name{color:#fff}.school-arrow{color:#fff;font-weight:700;opacity:0;transition:opacity .3s}.school-item.clickable:hover .school-arrow{opacity:1}.modal{align-items:center;animation:fadeIn .2s;background:#000000b3;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.school-modal{animation:slideUp .3s;background:#fff;border-radius:16px;box-shadow:0 10px 40px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;padding:0;width:90%}.modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px 16px 0 0;color:#fff;display:flex;justify-content:space-between;padding:25px}.modal-header h2{font-size:24px;margin:0}.close-btn{align-items:center;background:#fff3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:32px;height:40px;justify-content:center;transition:background .2s;width:40px}.close-btn:hover{background:#ffffff4d}.school-details{border-bottom:2px solid #f0f0f0;display:flex;flex-direction:column;gap:15px;padding:25px}.detail-row{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;justify-content:space-between;padding:12px}.detail-label{color:#2c3e50;font-size:14px;font-weight:700}.detail-value{color:#7f8c8d;font-size:14px}.photos-section,.updates-section{border-bottom:2px solid #f0f0f0;padding:25px}.photos-section h4,.updates-section h4{color:#2c3e50;font-size:18px;font-weight:700;margin:0 0 15px}.photo-item{background:#f8f9fa;border-radius:8px;margin-bottom:10px;padding:12px}.photo-item strong{color:#2c3e50;display:block;margin-bottom:8px}.photo-link{align-items:center;color:#667eea;display:inline-flex;font-weight:600;gap:5px;text-decoration:none}.photo-link:hover{color:#764ba2}.update-item{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-bottom:10px;padding:15px}.update-date{color:#7f8c8d;font-size:12px;font-weight:600;margin-bottom:8px}.update-text{color:#2c3e50;font-size:14px;line-height:1.6}.bar-fill{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;display:flex;height:100%;min-width:80px;padding:0 15px;transition:width .5s ease}.bar-value{color:#fff;font-size:14px;font-weight:700;white-space:nowrap}.projects-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:25px}.projects-section h3{color:#2c3e50;font-size:20px;font-weight:700;margin:0 0 20px}.projects-table{border-collapse:collapse;width:100%}.projects-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-size:13px;font-weight:700;padding:12px;text-align:left;text-transform:uppercase}.projects-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px}.projects-table tbody tr:hover{background:#f8f9fa}.status{border-radius:12px;font-size:11px;font-weight:700;padding:5px 12px;text-transform:uppercase}.status.active{background:#e8f5e9;color:#27ae60}.status.completed{background:#e3f2fd;color:#3498db}.status.planning{background:#fff3e0;color:#f57c00}.no-data{color:#95a5a6;font-size:14px;padding:40px;text-align:center}.loading{color:#667eea;font-size:24px;padding:100px;text-align:center}@media (max-width:1024px){.kpi-grid{grid-template-columns:repeat(2,1fr)}.charts-row{grid-template-columns:1fr}}@media (max-width:768px){.charts-row,.kpi-grid,.schools-grid{grid-template-columns:1fr}}.comparison-page{background:#f5f7fa;min-height:100vh}.comparison-container{margin:0 auto;max-width:1400px;padding:30px 20px}.comparison-header{margin-bottom:40px;text-align:center}.comparison-header h1{color:#2c3e50;font-size:32px;margin:0 0 10px}.comparison-header p{color:#7f8c8d;font-size:16px}.upload-section{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr auto 1fr;margin-bottom:30px}.upload-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:30px}.card-header{border-bottom:2px solid #f0f0f0;margin-bottom:20px;padding-bottom:15px}.card-header h3{color:#2c3e50;font-size:20px;margin:0 0 5px}.card-header .label{color:#7f8c8d;font-size:13px}.month-select{margin-bottom:20px}.month-select label{color:#2c3e50;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.month-select select{border:2px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:600;padding:12px;width:100%}.month-select select:focus{border-color:#667eea;outline:none}.file-upload{position:relative}.file-upload input[type=file]{display:none}.upload-btn{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:10px;color:#fff;cursor:pointer;display:block;font-weight:600;padding:15px;text-align:center;transition:transform .2s}.upload-btn:hover{transform:translateY(-2px)}.vs-divider{align-items:center;align-self:center;background:#fff;border-radius:50%;box-shadow:0 4px 20px #0000001a;color:#667eea;display:flex;font-size:24px;font-weight:700;height:60px;justify-content:center;width:60px}.compare-btn{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:18px;font-weight:700;margin-bottom:30px;padding:20px;transition:transform .2s;width:100%}.compare-btn:hover:not(:disabled){transform:translateY(-3px)}.compare-btn:disabled{cursor:not-allowed;opacity:.6}.results-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;margin-bottom:30px;padding:30px}.results-header{align-items:center;border-bottom:2px solid #f0f0f0;display:flex;justify-content:space-between;margin-bottom:30px;padding-bottom:20px}.results-header h2{color:#2c3e50;font-size:24px;margin:0}.export-csv-btn{background:#27ae60;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:background .2s}.export-csv-btn:hover{background:#229954}.summary-cards{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);margin-bottom:30px}.summary-card{align-items:center;border-radius:12px;box-shadow:0 2px 10px #00000014;display:flex;gap:20px;padding:25px}.summary-card.new{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border-left:4px solid #27ae60}.summary-card.modified{background:linear-gradient(135deg,#e3f2fd,#bbdefb);border-left:4px solid #3498db}.summary-card.removed{background:linear-gradient(135deg,#fce4ec,#f8bbd0);border-left:4px solid #e74c3c}.summary-card.total{background:linear-gradient(135deg,#f3e5f5,#e1bee7);border-left:4px solid #9b59b6}.card-icon{font-size:36px}.card-value{color:#2c3e50;font-size:32px;font-weight:700;margin-bottom:5px}.card-label{color:#7f8c8d;font-size:13px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.differences-table{overflow-x:auto}.differences-table h3{color:#2c3e50;font-size:20px;font-weight:700;margin:0 0 20px}.differences-table table{border-collapse:collapse;width:100%}.differences-table th{background:#f8f9fa;border-bottom:2px solid #e0e0e0;color:#2c3e50;font-size:13px;font-weight:700;padding:12px;text-align:left;text-transform:uppercase}.differences-table td{border-bottom:1px solid #f0f0f0;font-size:14px;padding:12px}.differences-table tbody tr:hover{background:#f8f9fa}.type-badge{border-radius:12px;font-size:11px;font-weight:700;padding:5px 12px;text-transform:uppercase}.type-badge.new{background:#e8f5e9;color:#27ae60}.type-badge.modified{background:#e3f2fd;color:#3498db}.type-badge.removed{background:#fce4ec;color:#e74c3c}.diff-row.new{border-left:3px solid #27ae60}.diff-row.modified{border-left:3px solid #3498db}.diff-row.removed{border-left:3px solid #e74c3c}.chapter-info{display:flex;flex-direction:column;gap:4px}.chapter-info strong{color:#2c3e50;font-size:13px}.section-tag{background:#e3f2fd;border-radius:4px;color:#1976d2;display:inline-block;font-size:11px;padding:2px 8px}.location-cell{color:#7f8c8d;font-family:monospace;font-size:12px}.instructions{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000001a;padding:30px}.instructions h3{color:#2c3e50;font-size:20px;margin:0 0 20px}.instructions ol{padding-left:20px}.instructions li{color:#2c3e50;line-height:1.6;margin-bottom:10px}.instructions .note{background:#f8f9fa;border-left:4px solid #667eea;border-radius:8px;margin-top:20px;padding:15px}.instructions .note strong{color:#667eea}.loading-note{background:#fff3cd;border-left:4px solid #ffc107;border-radius:8px;color:#856404;font-weight:600;margin-top:15px;padding:15px}@media (max-width:1024px){.upload-section{gap:20px;grid-template-columns:1fr}.vs-divider{border-radius:12px;height:auto;padding:15px;width:100%}.summary-cards{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.summary-cards{grid-template-columns:1fr}.results-header{align-items:flex-start;flex-direction:column;gap:15px}}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f7fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.App{min-height:100vh}.error,.loading,.no-projects{color:#666;padding:40px 20px;text-align:center}.error{color:#e74c3c}button{cursor:pointer;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.6}
/*# sourceMappingURL=main.0fc1b99f.css.map*/