@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap);body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#3e6892;--primary-dark:#2f5070;--primary-light:#5a7fa8;--secondary:#10b981;--accent:#f59e0b;--danger:#ef4444;--warning:#f59e0b;--success:#10b981;--dark:#111827;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--white:#fff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--border-radius:8px;--border-radius-lg:12px;--border-radius-xl:16px}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f9fafb;background:var(--gray-50);color:#111827;color:var(--gray-900);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}.navbar{background:#fff;background:var(--white);border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:50}.navbar>div{height:4rem;justify-content:space-between;padding:0 1.5rem;width:100%}.nav-brand a,.navbar>div{align-items:center;display:flex}.nav-brand a{color:#3e6892;color:var(--primary);font-size:1.25rem;font-weight:700;gap:.5rem;text-decoration:none}.nav-links{align-items:center;display:flex;gap:2rem}.nav-links a{color:#4b5563;color:var(--gray-600);font-size:.875rem;font-weight:500;padding:.5rem 0;position:relative;text-decoration:none;transition:color .2s}.nav-links a:hover{color:#3e6892;color:var(--primary)}.nav-links a:hover:after{background:#3e6892;background:var(--primary);bottom:-1px;content:"";height:2px;left:0;position:absolute;right:0}.user-info{color:#6b7280;color:var(--gray-500);font-size:.875rem;font-weight:500}.login-link,.logout-btn{background:#3e6892;background:var(--primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.login-link:hover,.logout-btn:hover{background:#2f5070;background:var(--primary-dark)}.main-content{flex:1 1;padding:2rem 1.5rem;width:100%}.page-header{margin-bottom:2rem;text-align:center}.page-header h1{align-items:center;color:#111827;color:var(--gray-900);display:flex;font-size:2.25rem;font-weight:800;gap:.75rem;justify-content:center;margin-bottom:.5rem}.page-header p{color:#4b5563;color:var(--gray-600);font-size:1.125rem;font-weight:400;margin:0 auto;max-width:600px}.icon{align-items:center;display:inline-flex;font-size:1.5rem;justify-content:center}.icon-sm{font-size:1rem}.icon-lg{font-size:2rem}.icon-xl{font-size:3rem}.icon-primary{color:#3e6892;color:var(--primary)}.icon-secondary{color:#10b981;color:var(--secondary)}.icon-success{color:#10b981;color:var(--success)}.icon-warning{color:#f59e0b;color:var(--warning)}.icon-danger{color:#ef4444;color:var(--danger)}.hero{background:linear-gradient(135deg,#3e6892,#2f5070);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);border-radius:16px;border-radius:var(--border-radius-xl);color:#fff;color:var(--white);margin-bottom:3rem;overflow:hidden;padding:4rem 2rem;position:relative;text-align:center}.hero:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3Cpattern id='a' width='100' height='100' patternUnits='userSpaceOnUse'%3E%3Ccircle cx='50' cy='50' r='1' fill='%23fff' opacity='.1'/%3E%3C/pattern%3E%3C/defs%3E%3Cpath fill='url(%23a)' d='M0 0h100v100H0z'/%3E%3C/svg%3E");bottom:0;content:"";left:0;opacity:.1;position:absolute;right:0;top:0}.hero-content{position:relative;z-index:1}.hero-badge{align-items:center;background:#ffffff1a;border:1px solid #fff3;border-radius:50px;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem}.hero h1{font-size:3.5rem;font-weight:800;line-height:1.1;margin-bottom:1rem}.hero p{font-size:1.25rem;line-height:1.6;margin-bottom:2rem;margin-left:auto;margin-right:auto;max-width:700px;opacity:.9}.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-bottom:3rem}.cta-primary,.cta-secondary{align-items:center;border-radius:8px;border-radius:var(--border-radius);display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;text-decoration:none;transition:all .2s}.cta-primary{background:#fff;background:var(--white);color:#3e6892;color:var(--primary)}.cta-primary:hover{background:#f3f4f6;background:var(--gray-100);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);transform:translateY(-2px)}.cta-secondary{background:#ffffff1a;border:1px solid #ffffff4d;color:#fff;color:var(--white)}.cta-secondary:hover{background:#fff3;transform:translateY(-2px)}.hero-stats{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:900px}.stat{text-align:center}.stat-icon{font-size:2.5rem;margin-bottom:.75rem;opacity:.9}.stat-content h3{font-size:2.5rem;font-weight:800;margin-bottom:.25rem}.stat-content p{font-size:.875rem;font-weight:500;margin:0;opacity:.8}.feature-card,.project-card,.sector-card,.stat-card,.ward-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .2s}.feature-card:hover,.project-card:hover,.sector-card:hover,.stat-card:hover,.ward-card:hover{border-color:#d1d5db;border-color:var(--gray-300);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:3rem}.stat-card h3{align-items:center;color:#6b7280;color:var(--gray-500);display:flex;font-size:.75rem;gap:.5rem}.stat-value{color:#111827;color:var(--gray-900);font-size:2.25rem}.features-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin-bottom:3rem}.feature-card{color:inherit;cursor:pointer;position:relative;text-decoration:none}.feature-card.interactive:hover{border-color:#3e6892;border-color:var(--primary)}.feature-icon{color:#3e6892;color:var(--primary);font-size:2rem;margin-bottom:1rem}.feature-content h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.feature-content p{color:#4b5563;color:var(--gray-600);line-height:1.6;margin-bottom:1rem}.feature-arrow{color:#3e6892;color:var(--primary);font-size:1.25rem;font-weight:600;position:absolute;right:1.5rem;top:1.5rem}.feature-status{background:#f3f4f6;background:var(--gray-100);border-radius:50px;color:#4b5563;color:var(--gray-600);display:inline-block;font-size:.75rem;font-weight:600;padding:.25rem .75rem}.sectors-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-bottom:3rem}.sector-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.sector-icon{font-size:1.5rem}.sector-header h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700}.sector-card p{color:#4b5563;color:var(--gray-600);line-height:1.6;margin-bottom:1rem}.sector-stats{align-items:center;display:flex;justify-content:space-between}.sector-stats span{background:#3e6892;background:var(--primary);border-radius:50px;color:#fff;color:var(--white);font-size:.75rem;font-weight:600;padding:.25rem .75rem}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.project-header h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;line-height:1.4}.status-badge{white-space:nowrap}.status-badge.draft{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.status-badge.pending{background:#fef3c7;color:#92400e}.status-badge.approved{background:#d1fae5;color:#065f46}.status-badge.published{background:#dbeafe;color:#1e40af}.status-badge.rejected{background:#fee2e2;color:#991b1b}.project-info p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin-bottom:.5rem}.project-info strong{color:#111827;color:var(--gray-900);font-weight:600}.progress-section{margin:1rem 0}.progress-header{color:#374151;color:var(--gray-700);font-size:.875rem;font-weight:600}.progress-bar{background:#e5e7eb;background:var(--gray-200);border-radius:3px;height:6px;overflow:hidden}.progress-fill{background:#3e6892;background:var(--primary);border-radius:3px;height:100%;transition:width .3s ease}.wards-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.ward-card h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin-bottom:1rem}.ward-info p{margin-bottom:.5rem}.ward-info strong{color:#111827;color:var(--gray-900);font-weight:600}.section-header{text-align:center}.section-header h2{color:#111827;color:var(--gray-900);font-size:2rem;font-weight:800;margin-bottom:.5rem}.section-header p{color:#4b5563;color:var(--gray-600);font-size:1.125rem;margin:0 auto;max-width:600px}.transparency{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:16px;border-radius:var(--border-radius-xl);margin:3rem 0;padding:3rem 2rem}.transparency-content{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.transparency-text h2{color:#111827;color:var(--gray-900);font-size:2rem;font-weight:800;margin-bottom:1rem}.transparency-text>p{color:#4b5563;color:var(--gray-600);font-size:1.125rem;line-height:1.6;margin-bottom:2rem}.commitment-list{display:flex;flex-direction:column;gap:1rem}.commitment-item{align-items:flex-start;display:flex;gap:1rem}.commitment-icon{color:#10b981;color:var(--success);font-size:1.25rem;margin-top:.125rem}.commitment-item strong{color:#111827;color:var(--gray-900);display:block;font-weight:700;margin-bottom:.25rem}.commitment-item p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin:0}.transparency-card{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);padding:2rem}.transparency-card h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.metrics{grid-gap:1.5rem;display:grid;gap:1.5rem}.metric{text-align:center}.metric-value{color:#3e6892;color:var(--primary);display:block;font-size:2rem;font-weight:800;margin-bottom:.25rem}.metric-label{color:#4b5563;color:var(--gray-600);font-size:.875rem;font-weight:500}.cta-section{background:linear-gradient(135deg,#111827,#1f2937);background:linear-gradient(135deg,var(--gray-900) 0,var(--gray-800) 100%);border-radius:16px;border-radius:var(--border-radius-xl);color:#fff;color:var(--white);margin:3rem 0;padding:3rem 2rem;text-align:center}.cta-content h2{font-size:2rem;font-weight:800;margin-bottom:.75rem}.cta-content p{font-size:1.125rem;margin-bottom:2rem;opacity:.9}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.cta-btn{align-items:center;border-radius:8px;border-radius:var(--border-radius);display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;text-decoration:none;transition:all .2s}.cta-btn.primary{background:#3e6892;background:var(--primary);color:#fff;color:var(--white)}.cta-btn.primary:hover{background:#2f5070;background:var(--primary-dark);transform:translateY(-2px)}.cta-btn.secondary{background:#ffffff1a;border:1px solid #ffffff4d;color:#fff;color:var(--white)}.cta-btn.secondary:hover{background:#fff3;transform:translateY(-2px)}.form-group{margin-bottom:1.5rem}.form-group label{color:#374151;color:var(--gray-700);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem 1rem;transition:all .2s;width:100%}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#3e6892;border-color:var(--primary);box-shadow:0 0 0 3px #3e68921a;outline:none}.form-group textarea{min-height:100px;resize:vertical}.btn,.submit-btn{align-items:center;border:none;border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s;white-space:nowrap}.btn-primary,.submit-btn{background:#3e6892;background:var(--primary);color:#fff;color:var(--white)}.btn-primary:hover,.submit-btn:hover{background:#2f5070;background:var(--primary-dark);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background:#f3f4f6;background:var(--gray-100);border:1px solid #d1d5db;border:1px solid var(--gray-300);color:#374151;color:var(--gray-700)}.btn-secondary:hover{background:#e5e7eb;background:var(--gray-200);border-color:#9ca3af;border-color:var(--gray-400)}.approve-btn{background:#10b981;background:var(--success);color:#fff;color:var(--white)}.approve-btn:hover{background:#059669}.reject-btn{background:#ef4444;background:var(--danger);color:#fff;color:var(--white)}.reject-btn:hover{background:#dc2626}.correction-btn{background:#f59e0b;background:var(--warning);color:#111827;color:var(--gray-900)}.correction-btn:hover{background:#d97706}.filters{grid-gap:1rem;align-items:end;background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr;margin-bottom:2rem;padding:1.5rem}.filter-group{display:flex;flex-direction:column;gap:.5rem}.filter-group label{color:#374151;color:var(--gray-700);font-size:.875rem;font-weight:600}.filter-group input,.filter-group select{background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem;transition:all .2s}.filter-group input:focus,.filter-group select:focus{border-color:#3e6892;border-color:var(--primary);box-shadow:0 0 0 3px #3e68921a;outline:none}.charts-section{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-bottom:3rem}.chart-container{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.chart-container h2{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.login-page{align-items:center;background:linear-gradient(135deg,#3e6892,#2f5070);background:linear-gradient(135deg,var(--primary) 0,var(--primary-dark) 100%);display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-background{max-width:400px;width:100%}.login-container{width:100%}.login-card{background:#fff;background:var(--white);border-radius:16px;border-radius:var(--border-radius-xl);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;box-shadow:var(--shadow-lg);padding:2rem}.login-header{margin-bottom:2rem;text-align:center}.logo-section{align-items:center;display:flex;gap:1rem;justify-content:center;margin-bottom:1rem}.logo{font-size:2rem}.title-section h1{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:800;margin-bottom:.25rem}.title-section p{color:#4b5563;color:var(--gray-600);font-size:.875rem}.subtitle p{color:#374151;color:var(--gray-700);font-size:1rem;font-weight:600}.error-alert{align-items:center;background:#fee2e2;border-radius:8px;border-radius:var(--border-radius);color:#991b1b;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem}.error-alert,.input-group,.login-form{margin-bottom:1.5rem}.input-group label{color:#374151;color:var(--gray-700);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.input-wrapper{position:relative}.input-icon{color:#9ca3af;color:var(--gray-400);font-size:1rem;left:1rem;position:absolute;top:50%;transform:translateY(-50%)}.input-wrapper input{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem 1rem .75rem 2.5rem;transition:all .2s;width:100%}.input-wrapper input:focus{border-color:#3e6892;border-color:var(--primary);box-shadow:0 0 0 3px #3e68921a;outline:none}.login-btn{align-items:center;background:#3e6892;background:var(--primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.5rem;justify-content:center;padding:.875rem 1rem;transition:all .2s;width:100%}.login-btn:hover:not(:disabled){background:#2f5070;background:var(--primary-dark)}.login-btn:disabled{cursor:not-allowed;opacity:.6}.spinner{border:2px solid #0000;border-top-color:currentcolor;height:1rem;width:1rem}.divider{margin:1.5rem 0;position:relative;text-align:center}.divider:before{background:#e5e7eb;background:var(--gray-200);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.divider span{background:#fff;background:var(--white);color:#6b7280;color:var(--gray-500);font-size:.875rem;font-weight:500;padding:0 1rem}.quick-login{margin-bottom:1.5rem}.role-buttons{grid-gap:.75rem;display:grid;gap:.75rem}.role-btn{align-items:center;background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);cursor:pointer;display:flex;gap:.75rem;padding:.75rem 1rem;text-align:left;transition:all .2s}.role-btn:hover{background:#f9fafb;background:var(--gray-50);border-color:#3e6892;border-color:var(--primary)}.role-btn span{font-size:1.25rem}.role-btn strong{color:#111827;color:var(--gray-900);display:block;font-size:.875rem;font-weight:600}.role-btn small{color:#6b7280;color:var(--gray-500);display:block;font-size:.75rem}.public-access{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);padding-top:1.5rem;text-align:center}.public-access p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin-bottom:1rem}.public-btn{background:#f3f4f6;background:var(--gray-100);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);color:#374151;color:var(--gray-700);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.public-btn:hover{background:#e5e7eb;background:var(--gray-200)}.feedback-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.feedback-form,.feedback-list{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.feedback-form h2,.feedback-list h2{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.loading{color:#6b7280;color:var(--gray-500)}.error,.loading{font-size:1.125rem;padding:3rem;text-align:center}.error{color:#ef4444;color:var(--danger)}.message{border-radius:8px;border-radius:var(--border-radius);font-size:.875rem;font-weight:500;margin-bottom:1rem;padding:1rem}.message.success{background:#d1fae5;border:1px solid #10b981;color:#065f46}.message.error{background:#fee2e2;border:1px solid #ef4444;color:#991b1b}@media (max-width:1024px){.main-content{padding:1.5rem 1rem}.hero h1{font-size:2.5rem}.transparency-content{gap:2rem;grid-template-columns:1fr}}@media (max-width:768px){.navbar>div{flex-direction:column;gap:1rem;height:auto;padding:1rem 1.5rem}.nav-links{flex-wrap:wrap;gap:1rem;justify-content:center}.hero{padding:3rem 1.5rem}.hero h1{font-size:2rem}.hero-actions{align-items:center;flex-direction:column}.cta-primary,.cta-secondary{justify-content:center;max-width:300px;width:100%}.charts-section,.feedback-content{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.features-grid,.sectors-grid{grid-template-columns:1fr}.page-header h1{font-size:1.875rem}.filters{gap:1.5rem;grid-template-columns:1fr}}@media (max-width:480px){.main-content{padding:1rem .75rem}.hero{padding:2rem 1rem}.hero h1{font-size:1.75rem}.hero-stats{gap:1rem;grid-template-columns:repeat(2,1fr)}.stat-content h3{font-size:2rem}.login-card{padding:1.5rem}}.search-filters{margin-bottom:2rem}.search-bar{margin-bottom:1.5rem}.search-input{background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;max-width:400px;padding:.875rem 1rem;transition:all .2s;width:100%}.search-input:focus{border-color:#3e6892;border-color:var(--primary);box-shadow:0 0 0 3px #3e68921a;outline:none}.search-input::placeholder{color:#9ca3af;color:var(--gray-400)}.documents-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));margin-bottom:2rem}.document-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .2s}.document-card:hover{border-color:#d1d5db;border-color:var(--gray-300);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.document-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.document-icon{color:#3e6892;color:var(--primary);font-size:2rem}.document-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.document-type{background:#3e6892;background:var(--primary);border-radius:4px;color:#fff;color:var(--white);font-size:.75rem;font-weight:600;padding:.25rem .5rem}.document-date{color:#6b7280;color:var(--gray-500);font-size:.75rem}.document-content h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;line-height:1.4;margin-bottom:.75rem}.document-content p{color:#4b5563;color:var(--gray-600);line-height:1.6;margin-bottom:1rem}.document-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.tag{border-radius:50px;font-size:.75rem;font-weight:500;padding:.25rem .75rem}.sector-tag{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.ward-tag{background:#3e6892;background:var(--primary);color:#fff;color:var(--white)}.document-info{align-items:center;color:#6b7280;color:var(--gray-500);display:flex;font-size:.875rem;justify-content:space-between;margin-bottom:1rem}.document-actions{display:flex;gap:.75rem}.document-card .doc-header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;margin-bottom:1rem}.document-card .doc-header h3{color:#111827;color:var(--gray-900);flex:1 1;font-size:1rem;font-weight:700;line-height:1.4;margin:0}.document-card .doc-type{background:#3e6892;background:var(--primary);border-radius:4px;color:#fff;color:var(--white);flex-shrink:0;font-size:.7rem;font-weight:600;padding:.2rem .5rem;white-space:nowrap}.document-card .doc-details{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1rem;padding:.75rem 1rem}.document-card .doc-details p{color:#4b5563;color:var(--gray-600);font-size:.8rem;line-height:1.4;margin:.3rem 0}.document-card .doc-details p strong{color:#1f2937;color:var(--gray-800);font-weight:600}.document-card .doc-actions{display:flex;flex-wrap:wrap;gap:.5rem}.document-card .doc-actions .btn{flex:1 1;font-size:.8rem;min-width:80px;padding:.5rem .75rem;text-align:center;text-decoration:none}.document-card .edit-form{display:flex;flex-direction:column;gap:.75rem}.document-card .edit-form input,.document-card .edit-form select,.document-card .edit-form textarea{background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:.875rem;padding:.6rem .75rem;width:100%}.document-card .edit-form input:focus,.document-card .edit-form select:focus,.document-card .edit-form textarea:focus{border-color:#3e6892;border-color:var(--primary);box-shadow:0 0 0 2px #3e68921a;outline:none}.document-card .edit-actions{display:flex;gap:.5rem;margin-top:.25rem}.document-card .edit-actions .btn{flex:1 1;font-size:.875rem;padding:.5rem .75rem}.download-btn,.view-btn{align-items:center;background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);color:#374151;color:var(--gray-700);cursor:pointer;display:flex;flex:1 1;font-size:.875rem;font-weight:500;gap:.5rem;justify-content:center;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.view-btn:hover{background:#3e6892;background:var(--primary);border-color:#3e6892;border-color:var(--primary);color:#fff;color:var(--white)}.download-btn:hover{background:#10b981;background:var(--success);border-color:#10b981;border-color:var(--success);color:#fff;color:var(--white)}.no-documents{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);color:#6b7280;color:var(--gray-500);padding:3rem;text-align:center}.list-header{margin-bottom:1.5rem}.list-header h2{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:700}.no-projects{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);color:#6b7280;color:var(--gray-500);padding:3rem;text-align:center}.project-description{background:#f9fafb;background:var(--gray-50);border-left:4px solid #3e6892;border-left:4px solid var(--primary);border-radius:8px;border-radius:var(--border-radius);margin:1rem 0;padding:1rem}.project-description p{color:#374151;color:var(--gray-700);font-size:.875rem;line-height:1.6}.project-updates{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-top:1rem;padding:1rem}.project-updates h4{color:#111827;color:var(--gray-900);font-size:.875rem;font-weight:600;margin-bottom:.5rem}.project-updates p{color:#374151;color:var(--gray-700);font-size:.875rem;line-height:1.5;margin-bottom:.5rem}.project-updates small{color:#6b7280;color:var(--gray-500);font-size:.75rem}.status-badge.planned{background:#e0e7ff;color:#3730a3}.status-badge.procurement{background:#fef3c7;color:#92400e}.status-badge.ongoing{background:#dbeafe;color:#1e40af}.status-badge.completed{background:#d1fae5;color:#065f46}.status-badge.stalled{background:#fed7aa;color:#9a3412}.status-badge.cancelled{background:#fee2e2;color:#991b1b}@media (max-width:640px){.documents-grid{grid-template-columns:1fr}.document-actions{flex-direction:column}.download-btn,.view-btn{flex:none}.document-header{flex-direction:column;gap:1rem}.document-meta{align-items:flex-start}}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.checkbox-group{align-items:center;display:flex;gap:.5rem}.checkbox-group input[type=checkbox]{margin:0;width:auto}.feedback-item{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1rem;padding:1rem}.feedback-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.feedback-type{align-items:center;display:flex;gap:.5rem}.type-icon{font-size:1.25rem}.type-text{color:#374151;color:var(--gray-700);font-size:.75rem;font-weight:600}.feedback-meta{align-items:flex-end;color:#6b7280;color:var(--gray-500);display:flex;flex-direction:column;font-size:.875rem;gap:.25rem}.feedback-location,.feedback-project{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin-bottom:.5rem}.feedback-message{color:#374151;color:var(--gray-700);line-height:1.6}.forum-tabs{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;gap:.5rem;margin-bottom:2rem}.forum-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;color:#4b5563;color:var(--gray-600);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.forum-tabs button.active,.forum-tabs button:hover{color:#3e6892;color:var(--primary)}.forum-tabs button.active{border-bottom-color:#3e6892;border-bottom-color:var(--primary)}.forum-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.forum-stats .stat-card{text-align:center}.forum-stats .stat-card h3{color:#3e6892;color:var(--primary);font-size:2rem;font-weight:800;margin-bottom:.25rem}.forum-stats .stat-card p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin:0}.posts-list{display:flex;flex-direction:column;gap:1.5rem}.forum-post{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.post-header{justify-content:space-between;margin-bottom:1rem}.post-header,.post-meta{align-items:center;display:flex}.post-meta{gap:.75rem}.category-icon{font-size:1.25rem}.category{background:#3e6892;background:var(--primary);color:#fff;color:var(--white);font-weight:600}.category,.ward-tag{border-radius:4px;font-size:.75rem;padding:.25rem .5rem}.ward-tag{background:#f3f4f6;background:var(--gray-100);color:#374151;color:var(--gray-700)}.post-date{color:#6b7280;color:var(--gray-500);font-size:.875rem}.post-content h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.post-content p{line-height:1.6}.post-content p,.related-project{color:#374151;color:var(--gray-700);margin-bottom:1rem}.related-project{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);font-size:.875rem;padding:.5rem .75rem}.post-footer{align-items:center;border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);display:flex;justify-content:space-between;padding-top:1rem}.post-author{color:#4b5563;color:var(--gray-600);font-size:.875rem}.post-actions{display:flex;gap:1rem}.comment-btn,.like-btn{background:none;border:none;color:#4b5563;color:var(--gray-600);cursor:pointer;font-size:.875rem;transition:color .2s}.comment-btn:hover,.like-btn:hover{color:#3e6892;color:var(--primary)}.comments-section{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);margin-top:1rem;padding-top:1rem}.comments-section h4{color:#111827;color:var(--gray-900);font-size:1rem;font-weight:600;margin-bottom:1rem}.comment{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-bottom:.75rem;padding:.75rem}.comment-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.comment-author{color:#374151;color:var(--gray-700);font-size:.875rem;font-weight:500}.comment-date{color:#6b7280;color:var(--gray-500);font-size:.75rem}.comment p{color:#374151;color:var(--gray-700);font-size:.875rem;line-height:1.5;margin:0}.view-more-comments{background:none;border:none;color:#3e6892;color:var(--primary);cursor:pointer;font-size:.875rem;text-decoration:underline}.projects-rating-list{display:flex;flex-direction:column;gap:1.5rem}.project-rating-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.project-rating-card .project-info h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.project-rating-card .project-info p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin-bottom:.5rem}.rating-section{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin:1rem 0;padding:1rem}.current-rating,.rate-project{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.star-rating{display:flex;gap:.25rem}.star{color:#d1d5db;color:var(--gray-300);cursor:default;font-size:1.25rem}.star.filled{color:#fbbf24}.star.interactive{cursor:pointer;transition:color .2s}.star.interactive:hover{color:#fbbf24}.recent-reviews{margin-top:1rem}.recent-reviews h4{color:#111827;color:var(--gray-900);font-size:1rem;font-weight:600;margin-bottom:.75rem}.review{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);margin-bottom:.75rem;padding:.75rem}.review-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.review-date{color:#6b7280;color:var(--gray-500);font-size:.75rem}.review p{color:#374151;color:var(--gray-700);font-size:.875rem;line-height:1.5;margin:0}.post-form{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}@media (max-width:768px){.form-row{grid-template-columns:1fr}.forum-tabs{flex-wrap:wrap}.post-header{gap:.5rem}.post-footer,.post-header{align-items:flex-start;flex-direction:column}.post-footer{gap:.75rem}.current-rating,.rate-project{align-items:flex-start;flex-direction:column;gap:.5rem}}.workflow-info{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:2rem}.workflow-info h2{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.workflow-steps{flex-wrap:wrap;gap:1rem;justify-content:center}.workflow-step,.workflow-steps{align-items:center;display:flex}.workflow-step{flex-direction:column;min-width:150px;text-align:center}.step-number{background:#3e6892;background:var(--primary);color:var(--white);font-size:1.25rem;height:3rem;margin-bottom:.75rem;width:3rem}.step-content h3{color:#111827;color:var(--gray-900);font-size:1rem;font-weight:600;margin-bottom:.25rem}.step-content p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin:0}.workflow-arrow{color:#9ca3af;color:var(--gray-400);font-size:1.5rem;margin:0 .5rem}.pending-projects h2{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.projects-workflow-list{display:flex;flex-direction:column;gap:1.5rem}.project-workflow-item{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.project-workflow-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.project-workflow-header .project-info h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:.5rem}.project-workflow-header .project-info p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin-bottom:.25rem}.workflow-badge{border-radius:50px;color:#fff;color:var(--white);font-size:.75rem;font-weight:600;padding:.5rem 1rem;white-space:nowrap}.workflow-badge.ward_submitted{background:#f39c12}.workflow-badge.county_approved{background:#27ae60}.workflow-badge.county_submitted{background:#3498db}.workflow-badge.published{background:#2ecc71}.workflow-badge.rejected{background:#e74c3c}.workflow-badge.needs_correction{background:#e67e22}.workflow-badge.unknown{background:#95a5a6}.project-details{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1rem;padding:1rem}.project-details p{color:#374151;color:var(--gray-700);font-size:.875rem;margin-bottom:.5rem}.project-details strong{color:#111827;color:var(--gray-900)}.workflow-actions{display:flex;flex-wrap:wrap;gap:.75rem}.correction-notes,.rejection-reason{background:#fee2e2;border-radius:8px;border-radius:var(--border-radius);color:#991b1b;font-size:.875rem;margin-top:1rem;padding:.75rem}.correction-notes{background:#fef3c7;color:#92400e}.role-permissions{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-top:2rem;padding:1.5rem}.role-permissions h2{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.permissions-info ul{list-style:none;padding:0}.permissions-info li{color:#374151;color:var(--gray-700);font-size:.875rem;padding:.5rem 0}.admin-tabs{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;gap:.5rem;margin-bottom:2rem}.admin-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;color:#4b5563;color:var(--gray-600);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.admin-tabs button.active,.admin-tabs button:hover{color:#3e6892;color:var(--primary)}.admin-tabs button.active{border-bottom-color:#3e6892;border-bottom-color:var(--primary)}.feedback-management h2{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem}.feedback-admin-list{display:flex;flex-direction:column;gap:1.5rem}.feedback-admin-item{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.feedback-admin-item .feedback-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.feedback-info{align-items:center;display:flex;flex-wrap:wrap;gap:1rem}.feedback-info strong{color:#111827;color:var(--gray-900)}.feedback-info .feedback-type{background:#f3f4f6;background:var(--gray-100);border-radius:4px;color:#374151;color:var(--gray-700);font-size:.75rem;font-weight:500;padding:.25rem .5rem}.status-badge.submitted{background:#fbbf24;color:#111827;color:var(--gray-900)}.status-badge.verified{background:#10b981;color:#fff;color:var(--white)}.status-badge.under_review{background:#f59e0b;color:#fff;color:var(--white)}.status-badge.resolved{background:#3b82f6;color:#fff;color:var(--white)}.feedback-details{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1rem;padding:1rem}.feedback-details p{color:#374151;color:var(--gray-700);font-size:.875rem;margin-bottom:.5rem}.feedback-actions{display:flex;flex-wrap:wrap;gap:.75rem}.approve-private-btn{background:#4b5563;background:var(--gray-600);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.approve-private-btn:hover{background:#374151;background:var(--gray-700)}.create-user-form{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.create-user-form h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.create-user-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.create-user-form input,.create-user-form select{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem}.create-user-form button{background:#3e6892;background:var(--primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.create-user-form button:hover{background:#2f5070;background:var(--primary-dark)}.users-list{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.users-list h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.users-table{border-collapse:collapse;width:100%}.users-table td,.users-table th{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);padding:.75rem;text-align:left}.users-table th{background:#f9fafb;background:var(--gray-50);color:#111827;color:var(--gray-900);font-weight:600}.users-table td{color:#374151;color:var(--gray-700)}.analytics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.analytics-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;text-align:center}.analytics-card h3{color:#374151;color:var(--gray-700);font-size:1rem;font-weight:600;margin-bottom:.5rem}.analytics-number{color:#3e6892;color:var(--primary);font-size:2.5rem;font-weight:800;margin:0}.feedback-by-type{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.feedback-by-type h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.type-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.type-stat{align-items:center;background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);display:flex;justify-content:space-between;padding:.75rem}.type-name{color:#374151;color:var(--gray-700);font-weight:500;text-transform:capitalize}.type-count{color:#3e6892;color:var(--primary);font-weight:700}@media (max-width:768px){.workflow-steps{flex-direction:column;gap:1.5rem}.workflow-arrow{transform:rotate(90deg)}.project-workflow-header{align-items:flex-start;flex-direction:column}.workflow-actions{flex-direction:column}.admin-tabs{flex-wrap:wrap}.feedback-info{align-items:flex-start;gap:.5rem}.feedback-actions,.feedback-info{flex-direction:column}.create-user-form .form-row{grid-template-columns:1fr}.analytics-grid{grid-template-columns:repeat(2,1fr)}.type-stats{grid-template-columns:1fr}}.access-denied{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin:0 auto;max-width:500px;padding:3rem 2rem;text-align:center}.access-denied p{color:#4b5563;color:var(--gray-600);font-size:1.125rem;line-height:1.6;margin-bottom:2rem}.access-denied .btn{align-items:center;background:#3e6892;background:var(--primary);border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);display:inline-flex;font-weight:600;gap:.5rem;padding:.875rem 1.5rem;text-decoration:none;transition:all .2s}.access-denied .btn:hover{background:#2f5070;background:var(--primary-dark);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.loading-container{align-items:center;display:flex;justify-content:center;min-height:400px;padding:2rem}.loading-spinner{max-width:500px;text-align:center}.spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-top:4px solid #3e6892;border:4px solid var(--gray-200);border-radius:50%;border-top-color:var(--primary);height:50px;margin:0 auto 1.5rem;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-content h3{color:#374151;color:var(--gray-700);font-size:1.25rem;font-weight:600;margin-bottom:1rem}.loading-message{background:#fef3c7;border:1px solid #f59e0b;border-radius:8px;border-radius:var(--border-radius);color:#92400e;margin:1rem 0;padding:1rem}.loading-message p{font-size:.875rem;line-height:1.5;margin:.5rem 0}.retry-button{background:#3e6892;background:var(--primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:.875rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:background-color .2s}.retry-button:hover{background:#2f5070;background:var(--primary-dark)}.error-banner{background:#fee2e2;border:1px solid #ef4444;border-radius:8px;border-radius:var(--border-radius);color:#991b1b;margin:1rem 0;padding:1rem;text-align:center}.error-banner p{font-size:.875rem;margin:.25rem 0}.retry-link{background:none;border:none;color:#3e6892;color:var(--primary);cursor:pointer;font-size:.875rem;font-weight:600;text-decoration:underline}.retry-link:hover{color:#2f5070;color:var(--primary-dark)}.admin-upload-page{padding:2rem 1.5rem;width:100%}.upload-tabs{margin-bottom:2rem}.upload-tabs .tabs{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;gap:.5rem}.upload-tabs .tab{background:#0000;border:none;border-bottom:2px solid #0000;color:#4b5563;color:var(--gray-600);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.upload-tabs .tab.active,.upload-tabs .tab:hover{color:#3e6892;color:var(--primary)}.upload-tabs .tab.active{border-bottom-color:#3e6892;border-bottom-color:var(--primary)}.upload-form{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:2rem}.form-container h2{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:700;margin-bottom:.5rem;margin-top:0}.form-container p{color:#4b5563;color:var(--gray-600);margin-bottom:2rem}.file-preview{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);margin-top:.75rem;padding:1rem}.file-info{align-items:center;display:flex;gap:.75rem}.file-icon{font-size:1.5rem}.file-details strong{color:#111827;color:var(--gray-900);display:block;font-size:.875rem;margin-bottom:.25rem}.file-details small{color:#6b7280;color:var(--gray-500);font-size:.75rem}.upload-guidelines{margin-top:3rem}.upload-guidelines h2{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;text-align:center}.guidelines-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.guideline-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.guideline-card h3{color:#3e6892;color:var(--primary);font-size:1.125rem;font-weight:700;margin-bottom:1rem;margin-top:0}.guideline-card ul{list-style:none;margin:0;padding:0}.guideline-card li{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);color:#374151;color:var(--gray-700);font-size:.875rem;padding:.5rem 0 .5rem 1.5rem;position:relative}.guideline-card li:last-child{border-bottom:none}.guideline-card li:before{color:#10b981;color:var(--success);content:"✓";font-weight:600;left:0;position:absolute}@media (max-width:768px){.guidelines-grid{grid-template-columns:1fr}.upload-tabs .tabs{flex-direction:column}.upload-tabs .tab{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);text-align:left}.upload-tabs .tab.active{border-bottom-color:#3e6892;border-bottom-color:var(--primary)}}.feedback-items{display:flex;flex-direction:column;gap:1rem}.user-status{align-items:center;display:flex;gap:1rem;justify-content:center;margin-top:1rem}.status-badge{background:#3e6892;background:var(--primary);border-radius:50px;color:#fff;color:var(--white);font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.admin-link-btn{background:#10b981;background:var(--success);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.admin-link-btn:hover{background:#059669;transform:translateY(-1px)}.feedback-btn{background:#10b981;background:var(--secondary);border:1px solid #10b981;border:1px solid var(--secondary);border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:.875rem;font-weight:500;margin-left:.5rem;padding:.5rem 1rem;transition:all .2s}.feedback-btn:hover{background:#059669;border-color:#059669}.feedback-link-authenticated{color:#3e6892!important;color:var(--primary)!important;font-weight:600}.feedback-link-public{color:#4b5563;color:var(--gray-600)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f3f4f6;background-color:var(--gray-100);border-color:#e5e7eb;border-color:var(--gray-200);color:#6b7280;color:var(--gray-500);cursor:not-allowed}.form-group input:disabled::placeholder{color:#9ca3af;color:var(--gray-400);font-style:italic}.checkbox-group label{align-items:center;color:#374151;color:var(--gray-700);cursor:pointer;display:flex;font-size:.875rem;gap:.5rem}.checkbox-group input[type=checkbox]:disabled+label{color:#9ca3af;color:var(--gray-400);cursor:not-allowed}.file-input{margin-bottom:.5rem}.attachments-preview{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.attachment-item{align-items:center;background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);display:flex;justify-content:space-between;padding:.5rem}.attachment-item button{background:none;border:none;cursor:pointer;font-size:.875rem}.dashboard-filters{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);margin-bottom:2rem;padding:1rem}.dashboard-charts{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:2rem}.chart-bars{display:flex;flex-direction:column;gap:.75rem}.chart-bar{align-items:center;display:flex;gap:1rem}.bar-label{font-size:.875rem;font-weight:500;min-width:100px;text-transform:capitalize}.bar-container{align-items:center;display:flex;flex:1 1;gap:.5rem}.bar{border-radius:4px;height:24px;min-width:20px;transition:width .3s ease}.bar-completed{background:#4caf50}.bar-ongoing{background:#2196f3}.bar-planned{background:#9c27b0}.bar-stalled{background:#ff9800}.bar-cancelled{background:#f44336}.bar-sector{background:#3e6892;background:var(--primary)}.bar-value{color:#374151;color:var(--gray-700);font-size:.875rem;font-weight:600}.ward-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));margin-top:1rem}.ward-tile{background:#fff;background:var(--white);border:2px solid #e5e7eb;border:2px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);cursor:pointer;padding:1rem;transition:all .2s}.ward-tile:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.ward-tile.selected,.ward-tile:hover{border-color:#3e6892;border-color:var(--primary)}.ward-tile.selected{background:#3e6892;background:var(--primary);color:#fff;color:var(--white)}.ward-name{font-weight:600;margin-bottom:.5rem}.ward-stats{font-size:.875rem;margin-bottom:.75rem}.ward-progress{background:#ffffff4d;border-radius:2px;height:4px;overflow:hidden}.ward-tile:not(.selected) .ward-progress{background:#e5e7eb;background:var(--gray-200)}.projects-timeline{display:flex;flex-direction:column;gap:1.5rem}.timeline-item{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);display:flex;gap:1rem;padding:1rem}.timeline-date{color:#6b7280;color:var(--gray-500);font-size:.875rem;font-weight:500;min-width:100px}.timeline-content{flex:1 1}.timeline-content h4{color:#111827;color:var(--gray-900);margin-bottom:.5rem}.project-location{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin-bottom:.5rem}.update-description{color:#374151;color:var(--gray-700);margin-bottom:.75rem}.project-progress{align-items:center;display:flex;gap:.75rem}.project-progress span{font-size:.875rem;font-weight:500;min-width:80px}.project-progress .progress-bar{flex:1 1;max-width:200px}.offline-indicator{background:#f44336;border-radius:4px;color:#fff;font-size:.75rem;margin-left:1rem;padding:.25rem .5rem}.edit-btn{background:none;border:none;color:#3e6892;color:var(--primary);cursor:pointer;font-size:1rem}.feedback-attachments{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-top:.75rem;padding:.5rem}.feedback-attachments a{color:#3e6892;color:var(--primary);display:inline-block;font-size:.875rem;margin-right:1rem;text-decoration:none}.feedback-attachments a:hover{text-decoration:underline}.profile-tabs{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;gap:.5rem;margin-bottom:2rem}.profile-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;color:#4b5563;color:var(--gray-600);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.profile-tabs button.active,.profile-tabs button:hover{color:#3e6892;color:var(--primary)}.profile-tabs button.active{border-bottom-color:#3e6892;border-bottom-color:var(--primary)}.profile-content{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);padding:2rem}.budget-form,.evidence-form,.project-form{display:flex;flex-direction:column;gap:1rem;max-width:600px}.project-item{background:#f9fafb;background:var(--gray-50);border-left:4px solid #3e6892;border-left:4px solid var(--primary);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1rem;padding:1.5rem}.feedback-actions,.project-actions{display:flex;gap:.75rem;margin-top:1rem}.system-admin-page{width:100%}.config-section h3{margin-bottom:.75rem}.security-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.security-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;text-align:center;transition:all .2s}.security-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.security-card h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin-bottom:.75rem}.security-card p{color:#4b5563;color:var(--gray-600);line-height:1.6;margin-bottom:1.5rem}.audit-info{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1.5rem}.audit-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1rem}.stat-card{background:#fff;background:var(--white);padding:1rem}.stat-number{color:#3e6892;color:var(--primary);font-size:2rem;font-weight:800;margin-bottom:.25rem}.county-officer-page,.manager-page,.ward-officer-page{margin:0 auto;max-width:1200px}.tabs-container{display:flex;flex-wrap:wrap;gap:.5rem}.tab-button{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#4b5563;color:var(--gray-600);cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s;white-space:nowrap}.tab-button.active,.tab-button:hover{background:#f9fafb;background:var(--gray-50);color:#3e6892;color:var(--primary)}.tab-button.active{border-bottom-color:#3e6892;border-bottom-color:var(--primary)}.content-section .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.content-section .form-row:last-child{margin-bottom:0}.content-section input,.content-section select,.content-section textarea{background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.content-section input:focus,.content-section select:focus,.content-section textarea:focus{border-color:#3e6892;border-color:var(--primary);box-shadow:0 0 0 3px #3e68921a;outline:none}.content-section button{background:#3e6892;background:var(--primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:1rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.content-section button:hover{background:#2f5070;background:var(--primary-dark)}.content-section .list-container{display:flex;flex-direction:column;gap:1.5rem;margin-top:1.5rem}.content-section .item-card{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);padding:1.5rem;transition:all .2s}.content-section .item-card:hover{border-color:#d1d5db;border-color:var(--gray-300);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm)}.content-section .item-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.content-section .item-header h3{color:#111827;color:var(--gray-900);flex:1 1;font-size:1.125rem;font-weight:700;margin:0}.content-section .item-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.content-section .item-actions button{font-size:.875rem;padding:.5rem 1rem}.content-section .grid-2{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}.content-section .grid-3{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1.5rem}@media (max-width:768px){.content-section .form-row,.content-section .grid-2{grid-template-columns:1fr}.content-section .item-header{align-items:flex-start;flex-direction:column}.content-section .item-actions{flex-direction:column}}.content-section{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-top:1rem;padding:2rem}.section-header{align-items:flex-start;border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;gap:1rem;margin-bottom:2rem;padding-bottom:1rem}.section-header .icon{color:#3e6892;color:var(--primary);flex-shrink:0;font-size:2rem;margin-top:.25rem}.section-header div{flex:1 1}.section-header div h2{color:#111827;color:var(--gray-900);font-size:1.5rem;font-weight:700;line-height:1.3;margin:0 0 .5rem}.section-header div p{color:#4b5563;color:var(--gray-600);font-size:1rem;line-height:1.6;margin:0}.admin-page,.county-officer-page,.manager-page,.ward-officer-page{padding:2rem 1.5rem;width:100%}.admin-tabs,.county-officer-tabs,.manager-tabs,.ward-officer-tabs{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;gap:.5rem;margin-bottom:2rem}.admin-tabs button,.county-officer-tabs button,.manager-tabs button,.ward-officer-tabs button{background:#0000;border:none;border-bottom:2px solid #0000;color:#4b5563;color:var(--gray-600);cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.admin-tabs button:hover,.county-officer-tabs button:hover,.manager-tabs button:hover,.ward-officer-tabs button:hover{color:#3e6892;color:var(--primary)}.admin-tabs button.active,.county-officer-tabs button.active,.manager-tabs button.active,.ward-officer-tabs button.active{border-bottom-color:#3e6892;border-bottom-color:var(--primary);color:#3e6892;color:var(--primary)}.admin-content,.county-officer-content,.manager-content,.ward-officer-content{margin-top:2rem}.section-description{color:#4b5563;color:var(--gray-600);font-style:italic;line-height:1.6;margin-bottom:1.5rem}.budget-list,.feedback-list,.project-list,.projects-list,.submissions-list{display:flex;flex-direction:column;gap:1.5rem}.budget-item,.feedback-item,.project-item,.submission-item{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.budget-header,.feedback-header,.project-header,.submission-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.budget-header h3,.project-header h3,.submission-header h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin:0}.budget-amount,.project-budget,.submission-budget{color:#10b981;color:var(--success);font-size:1.125rem;font-weight:700}.budget-details,.feedback-details,.project-details,.submission-details{margin-bottom:1rem}.budget-details p,.feedback-details p,.project-details p,.submission-details p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin:.5rem 0}.budget-actions,.feedback-actions,.project-actions,.submission-actions{display:flex;flex-wrap:wrap;gap:.75rem}.investigate-btn,.respond-btn{background:#3e6892;background:var(--primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.investigate-btn:hover,.respond-btn:hover{background:#2f5070;background:var(--primary-dark)}.reports-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:2rem}.report-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;text-align:center;transition:all .2s}.report-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.report-card h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin-top:0}.report-card p{color:#4b5563;color:var(--gray-600);line-height:1.6;margin-bottom:1.5rem}.example-box{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1rem}.example-box h4{color:#3e6892;color:var(--primary);font-size:1rem;font-weight:600;margin-top:0}.example-box p{color:#374151;color:var(--gray-700);font-size:.875rem;margin:.5rem 0}.upload-forms{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr;margin-top:1.5rem}.supporting-docs .doc-types{display:flex;flex-direction:column;gap:1rem}.doc-type{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);padding:1rem}.doc-type h4{color:#111827;color:var(--gray-900);font-size:1rem;font-weight:600;margin-top:0}.issues-dashboard{margin-top:2rem}.issue-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.recent-issues .issue-item{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1rem;padding:1rem}.issue-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.issue-status{border-radius:4px;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.issue-status.open{background:#fee2e2;color:#991b1b}.issue-status.pending{background:#fef3c7;color:#92400e}.evidence-guidelines{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-top:1.5rem;padding:1.5rem}.evidence-guidelines h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin-top:0}.evidence-guidelines ul{color:#374151;color:var(--gray-700);line-height:1.6}.progress-update-form{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-top:1rem;padding:1rem}.flagged-issues{margin-top:2rem}.role-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.role-card h3{color:#3e6892;color:var(--primary);font-size:1.25rem;font-weight:700;margin-top:0}.role-card ul{list-style:none;padding:0}.role-card li{border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);color:#374151;color:var(--gray-700);font-size:.875rem;padding:.5rem 0}.role-card li:last-child{border-bottom:none}.config-section{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:1.5rem;padding:1.5rem}.config-section h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin-top:0}.config-section p{color:#4b5563;color:var(--gray-600);line-height:1.6;margin-bottom:1rem}.audit-filters{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem;padding:1.5rem}.audit-filters input,.audit-filters select{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:.875rem;padding:.5rem .75rem}.template-buttons{display:flex;flex-wrap:wrap;gap:.75rem}.template-btn{background:#f3f4f6;background:var(--gray-100);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);color:#374151;color:var(--gray-700);cursor:pointer;font-size:.875rem;padding:.5rem 1rem;transition:all .2s}.template-btn:hover{background:#e5e7eb;background:var(--gray-200)}.response-examples{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1.5rem;padding:1.5rem}.example-item{margin-bottom:1rem}.example-item p{font-size:.875rem;margin:.5rem 0}.example-item p,.example-item ul{color:#374151;color:var(--gray-700)}.example-item ul{margin:.75rem 0;padding-left:1.25rem}.evidence-upload-form{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.evidence-upload-form h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1rem;margin-top:0}.evidence-upload-form .form-row{margin-bottom:1rem}.evidence-upload-form .form-row:last-child{margin-bottom:0}.evidence-upload-form input,.evidence-upload-form select,.evidence-upload-form textarea{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem;transition:all .2s;width:100%}.evidence-upload-form input:focus,.evidence-upload-form select:focus,.evidence-upload-form textarea:focus{border-color:#3e6892;border-color:var(--primary);box-shadow:0 0 0 3px #3e68921a;outline:none}.evidence-upload-form small{color:#6b7280;color:var(--gray-500);display:block;font-size:.875rem;margin-top:.5rem}.evidence-upload-form button{background:#3e6892;background:var(--primary);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s;width:100%}.evidence-upload-form button:hover{background:#2f5070;background:var(--primary-dark)}.flag-issue-form{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.flag-issue-form h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1rem;margin-top:0}.flag-issue-form .form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.flag-issue-form .form-row:last-child{grid-template-columns:1fr;margin-bottom:0}.flag-issue-form input,.flag-issue-form select,.flag-issue-form textarea{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:1rem;padding:.75rem;transition:all .2s}.flag-issue-form input:focus,.flag-issue-form select:focus,.flag-issue-form textarea:focus{border-color:#3e6892;border-color:var(--primary);box-shadow:0 0 0 3px #3e68921a;outline:none}.flag-issue-form button{background:#ef4444;background:var(--danger);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:1rem;font-weight:600;margin-top:1rem;padding:.75rem 1.5rem;transition:all .2s;width:100%}.flag-issue-form button:hover{background:#dc2626}.quick-responses{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-top:1.5rem;padding:1.5rem}.quick-responses h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin-bottom:1rem;margin-top:0}.empty-state{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);color:#6b7280;color:var(--gray-500);padding:3rem 2rem}.empty-state p{font-size:1.125rem;margin:0}@media (max-width:768px){.flag-issue-form .form-row{grid-template-columns:1fr}}.user-item{align-items:center;background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.user-info{display:flex;flex-direction:column;gap:.5rem}.user-email{color:#4b5563;color:var(--gray-600);font-size:.875rem}.role-badge{background:#3e6892;background:var(--primary);border-radius:4px;color:#fff;color:var(--white);font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:capitalize}.user-actions{align-items:center;display:flex;gap:.75rem}.user-actions select{border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);padding:.5rem}.deactivate-btn{background:#ef4444;background:var(--danger)}.activate-btn,.deactivate-btn{border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:.875rem;padding:.5rem 1rem}.activate-btn{background:#10b981;background:var(--success)}.volunteer-application-page{padding:2rem 1.5rem;width:100%}.application-info{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:2rem}.info-section h3{color:#3e6892;color:var(--primary);font-size:1.25rem;font-weight:700;margin-bottom:1rem}.info-section p{color:#4b5563;color:var(--gray-600);line-height:1.6;margin-bottom:1rem}.info-section ul{list-style:none;margin:0;padding:0}.info-section li{color:#374151;color:var(--gray-700);font-size:.875rem;padding:.5rem 0 .5rem 2rem;position:relative}.info-section li:before{color:#3e6892;color:var(--primary);content:attr(data-icon);font-weight:600;left:0;position:absolute}.volunteer-form{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:2rem}.form-section{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);margin-bottom:2rem;padding-bottom:1.5rem}.form-section:last-child{border-bottom:none;margin-bottom:0}.form-section h3{border-bottom:2px solid #3e6892;border-bottom:2px solid var(--primary);color:#111827;color:var(--gray-900);display:inline-block;font-size:1.25rem;font-weight:700;margin-bottom:1.5rem;padding-bottom:.5rem}.form-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.application-note{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);margin-top:2rem;padding:1.5rem}.application-note h4{color:#3e6892;color:var(--primary);font-size:1.125rem;font-weight:700;margin-bottom:1rem}.application-note ol{color:#374151;color:var(--gray-700);line-height:1.6;padding-left:1.5rem}.application-note li{margin-bottom:.5rem}.volunteer-page{padding:2rem 1.5rem;width:100%}.volunteer-tabs{margin-bottom:2rem}.volunteer-tabs .tabs-container{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);display:flex;flex-wrap:wrap;gap:.5rem}.volunteer-content{margin-top:2rem}.engagement-form,.materials-form{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:2rem}.engagement-form h3,.materials-form h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.upload-type{display:flex;flex-direction:column;gap:.5rem}.materials-examples,.volunteer-guidelines{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-top:2rem;padding:2rem}.materials-examples h3,.volunteer-guidelines h3{color:#3e6892;color:var(--primary);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.example-grid,.guidelines-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.example-item,.guideline-item{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);padding:1.5rem}.example-item h4,.guideline-item h4{color:#111827;color:var(--gray-900);font-size:1rem;font-weight:600;margin-bottom:1rem}.example-item ul,.guideline-item ul{list-style:none;margin:0;padding:0}.example-item li,.guideline-item li{border-bottom:1px solid #e5e7eb;border-bottom:1px solid var(--gray-200);color:#374151;color:var(--gray-700);font-size:.875rem;padding:.5rem 0 .5rem 1.5rem;position:relative}.example-item li:last-child,.guideline-item li:last-child{border-bottom:none}.example-item li:before,.guideline-item li:before{color:#3e6892;color:var(--primary);content:"•";font-weight:600;left:0;position:absolute}.activity-stats{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:2rem}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.stat-card{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);padding:1.5rem;text-align:center}.stat-card h3{color:#374151;color:var(--gray-700);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.stat-value{color:#3e6892;color:var(--primary);font-size:2.5rem;font-weight:800;line-height:1}.recent-activities{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:2rem}.recent-activities h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.activities-list{display:flex;flex-direction:column;gap:1.5rem}.activity-item{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);padding:1.5rem}.activity-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem}.activity-header h4{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:600;margin:0}.activity-date{color:#6b7280;color:var(--gray-500);font-size:.875rem;font-weight:500}.activity-item p{color:#374151;color:var(--gray-700);line-height:1.6;margin-bottom:1rem}.activity-meta{display:flex;flex-wrap:wrap;gap:1rem}.activity-meta span{background:#3e6892;background:var(--primary);border-radius:50px;color:#fff;color:var(--white);font-size:.75rem;font-weight:500;padding:.25rem .75rem}.volunteer-applications{margin-top:1.5rem}.applications-list{display:flex;flex-direction:column;gap:1.5rem}.application-item{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem}.application-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.applicant-info h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.applicant-info p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin:0}.application-status{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.application-status small{color:#6b7280;color:var(--gray-500);font-size:.75rem}.application-details{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1rem;padding:1.5rem}.detail-row{grid-gap:2rem;display:grid;font-size:.875rem;gap:2rem;grid-template-columns:1fr 1fr;margin-bottom:1rem}.detail-row strong{color:#111827;color:var(--gray-900);font-weight:600}.experience-section,.motivation-section,.skills-section{margin-bottom:1rem}.experience-section strong,.motivation-section strong,.skills-section strong{color:#111827;color:var(--gray-900);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.experience-section p,.motivation-section p,.skills-section p{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);color:#374151;color:var(--gray-700);font-size:.875rem;line-height:1.6;margin:0;padding:1rem}.application-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);display:flex;gap:1rem;margin-top:1.5rem;padding-top:1rem}.btn-success{background:#10b981;background:var(--success);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-success:hover{background:#059669;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-danger{background:#ef4444;background:var(--danger);border:none;border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.btn-danger:hover{background:#dc2626;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-1px)}.review-notes{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);margin-top:1rem;padding:1rem}.review-notes strong{color:#111827;color:var(--gray-900);display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.review-notes p{color:#374151;color:var(--gray-700);font-size:.875rem;line-height:1.6;margin:0 0 .5rem}.review-notes small{color:#6b7280;color:var(--gray-500);font-size:.75rem}.volunteer-info{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-top:2rem;padding:2rem}.volunteer-info h3,.volunteer-info h4{color:#3e6892;color:var(--primary);font-weight:700;margin-bottom:1rem}.volunteer-info h3{font-size:1.25rem}.volunteer-info h4{font-size:1rem;margin-top:1.5rem}.volunteer-info p{color:#4b5563;color:var(--gray-600);line-height:1.6;margin-bottom:1rem}.volunteer-info ul{color:#374151;color:var(--gray-700);line-height:1.6;padding-left:1.5rem}.volunteer-info li{margin-bottom:.5rem}.role-btn.volunteer,.role-btn.volunteer:hover{border-color:#10b981;border-color:var(--secondary)}.role-btn.volunteer:hover{background:#10b9810d}.volunteer-apply-btn{background:#10b981;background:var(--secondary);border:1px solid #10b981;border:1px solid var(--secondary);border-radius:8px;border-radius:var(--border-radius);color:#fff;color:var(--white);cursor:pointer;display:inline-block;font-size:.875rem;font-weight:500;margin-top:.5rem;padding:.5rem 1rem;text-decoration:none;transition:all .2s}.volunteer-apply-btn:hover{background:#059669;border-color:#059669;transform:translateY(-1px)}.status-badge.pending{background:#fbbf24;color:#111827;color:var(--gray-900)}.status-badge.approved{background:#10b981;background:var(--success);color:#fff;color:var(--white)}.status-badge.rejected{background:#ef4444;background:var(--danger);color:#fff;color:var(--white)}@media (max-width:768px){.volunteer-application-page,.volunteer-page{padding:1.5rem 1rem}.form-actions{flex-direction:column}.detail-row{gap:1rem;grid-template-columns:1fr}.application-header{flex-direction:column}.application-header,.application-status{align-items:flex-start}.application-actions{flex-direction:column}.activity-header{align-items:flex-start}.activity-header,.activity-meta{flex-direction:column;gap:.5rem}.upload-types{gap:1.5rem}.example-grid,.guidelines-grid{grid-template-columns:1fr}}.volunteer-filters{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.filter-row{grid-gap:1rem;align-items:center;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.filter-row input,.filter-row select{background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:.875rem;padding:.75rem}.filter-row input:focus,.filter-row select:focus{border-color:#3e6892;border-color:var(--primary);box-shadow:0 0 0 3px #3e68921a;outline:none}.volunteer-activities-list{display:flex;flex-direction:column;gap:1.5rem}.volunteer-activities-list .activity-item{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .2s}.volunteer-activities-list .activity-item:hover{border-color:#d1d5db;border-color:var(--gray-300);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md)}.volunteer-activities-list .activity-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.volunteer-activities-list .activity-info h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin:0 0 .5rem}.volunteer-activities-list .activity-info p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin:0}.volunteer-activities-list .activity-meta{align-items:flex-end;display:flex;flex-direction:column;gap:.5rem}.volunteer-activities-list .activity-date{color:#6b7280;color:var(--gray-500);font-size:.875rem;font-weight:500}.volunteer-activities-list .activity-type{border-radius:50px;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.25rem .75rem;text-transform:uppercase}.activity-type.training{background:#dbeafe;color:#1e40af}.activity-type.meeting{background:#d1fae5;color:#065f46}.activity-type.distribution{background:#fef3c7;color:#92400e}.activity-type.feedback{background:#e0e7ff;color:#3730a3}.volunteer-activities-list .activity-details{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1rem;padding:1.5rem}.volunteer-activities-list .activity-details p{color:#374151;color:var(--gray-700);font-size:.875rem;line-height:1.6;margin-bottom:.75rem}.volunteer-activities-list .activity-details p:last-child{margin-bottom:0}.volunteer-activities-list .activity-details strong{color:#111827;color:var(--gray-900);font-weight:600}.volunteer-activities-list .activity-attachments{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);margin-bottom:1rem;padding:1rem}.volunteer-activities-list .activity-attachments strong{color:#111827;color:var(--gray-900);display:block;font-size:.875rem;font-weight:600;margin-bottom:.75rem}.attachment-link{border:1px solid #3e6892;border:1px solid var(--primary);border-radius:8px;border-radius:var(--border-radius);color:#3e6892;color:var(--primary);display:inline-block;font-size:.875rem;margin-bottom:.5rem;margin-right:1rem;padding:.25rem .5rem;text-decoration:none;transition:all .2s}.attachment-link:hover{background:#3e6892;background:var(--primary);color:#fff;color:var(--white)}.volunteer-activities-list .activity-actions{border-top:1px solid #e5e7eb;border-top:1px solid var(--gray-200);display:flex;gap:1rem;margin-top:1rem;padding-top:1rem}.volunteer-activities-summary{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:2rem;padding:1.5rem}.summary-stats{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.summary-stats .stat-card{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);padding:1.5rem;text-align:center}.summary-stats .stat-card h3{color:#374151;color:var(--gray-700);font-size:.875rem;font-weight:600;letter-spacing:.05em;margin-bottom:.75rem;text-transform:uppercase}.summary-stats .stat-value{color:#3e6892;color:var(--primary);font-size:2.5rem;font-weight:800;line-height:1;margin-bottom:.25rem}.summary-stats .stat-card small{color:#6b7280;color:var(--gray-500);font-size:.75rem}.volunteer-performance{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-top:2rem;padding:2rem}.volunteer-performance h3{color:#111827;color:var(--gray-900);font-size:1.25rem;font-weight:700;margin-bottom:1.5rem}.performance-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.volunteer-card{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);padding:1.5rem;text-align:center}.volunteer-card h4{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin:0 0 1rem}.volunteer-stats{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.volunteer-stats span{color:#374151;color:var(--gray-700);font-size:.875rem}.volunteer-rating{align-items:center;display:flex;flex-direction:column;gap:.5rem}.volunteer-rating span{color:#4b5563;color:var(--gray-600);font-size:.875rem;font-weight:500}.rating-stars{color:#fbbf24;font-size:1.25rem;letter-spacing:.25rem}.file-upload-section{background:#f9fafb;background:var(--gray-50);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);margin:1.5rem 0;padding:1.5rem}.file-upload-section h4{align-items:center;color:#111827;color:var(--gray-900);display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin-bottom:1rem}.upload-types{display:flex;flex-direction:column;gap:1rem}.upload-type{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:8px;border-radius:var(--border-radius);padding:1rem}.upload-type label{color:#374151;color:var(--gray-700);display:block;font-size:.875rem;font-weight:500;margin-bottom:.75rem}.upload-type input[type=file]{background:#fff;background:var(--white);border:1px solid #d1d5db;border:1px solid var(--gray-300);border-radius:8px;border-radius:var(--border-radius);font-size:.875rem;padding:.5rem;width:100%}.upload-type small{color:#6b7280;color:var(--gray-500);display:block;font-size:.75rem;margin-top:.5rem}@media (max-width:768px){.filter-row{grid-template-columns:1fr}.volunteer-activities-list .activity-header{align-items:flex-start;flex-direction:column}.volunteer-activities-list .activity-meta{align-items:flex-start;flex-direction:row;gap:1rem}.volunteer-activities-list .activity-actions{flex-direction:column}.summary-stats{grid-template-columns:repeat(2,1fr)}.performance-grid{grid-template-columns:1fr}.attachment-link{display:block;margin-bottom:.75rem;margin-right:0}}.engagement-card{border-left:4px solid #10b981;border-left:4px solid var(--secondary)}.engagement-details{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin:1rem 0;padding:1rem}.engagement-details p{color:#374151;color:var(--gray-700);font-size:.875rem;margin:.25rem 0}.engagement-details strong{color:#111827;color:var(--gray-900);font-weight:600}.budget-overview{margin-bottom:2rem}.budget-summary{margin:1.5rem 0}.budgets-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:1rem}.budget-card{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);padding:1.5rem;transition:all .2s}.budget-card:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;box-shadow:var(--shadow-md);transform:translateY(-2px)}.budget-header{align-items:flex-start;display:flex;gap:1rem;margin-bottom:1.5rem}.ward-icon{flex-shrink:0;font-size:2rem}.ward-info{flex:1 1}.ward-info h3{color:#111827;color:var(--gray-900);font-size:1.125rem;font-weight:700;margin:0 0 .25rem}.ward-info p{color:#4b5563;color:var(--gray-600);font-size:.875rem;margin:0}.budget-amount{text-align:right}.budget-amount .amount{color:#3e6892;color:var(--primary);display:block;font-size:1.5rem;font-weight:800;line-height:1}.budget-details{margin-bottom:1.5rem}.detail-row{align-items:center;border-bottom:1px solid #f3f4f6;border-bottom:1px solid var(--gray-100);display:flex;justify-content:space-between;padding:.5rem 0}.detail-row:last-child{border-bottom:none}.detail-row .label{color:#4b5563;color:var(--gray-600);font-size:.875rem;font-weight:500}.detail-row .value{color:#111827;color:var(--gray-900);font-size:.875rem;font-weight:600}.budget-progress{margin-top:1rem}.progress-label{align-items:center;color:#374151;color:var(--gray-700);display:flex;font-size:.875rem;font-weight:500;justify-content:space-between;margin-bottom:.5rem}.no-budgets{background:#fff;background:var(--white);border:1px solid #e5e7eb;border:1px solid var(--gray-200);border-radius:12px;border-radius:var(--border-radius-lg);color:#4b5563;color:var(--gray-600);padding:3rem 2rem;text-align:center}.upload-hint{background:#f9fafb;background:var(--gray-50);border-radius:8px;border-radius:var(--border-radius);margin-left:auto;margin-right:auto;margin-top:2rem;max-width:500px;padding:1.5rem;text-align:left}.upload-hint p{color:#111827;color:var(--gray-900);font-weight:600;margin:0 0 1rem}.upload-hint ol{color:#374151;color:var(--gray-700);margin:0;padding-left:1.5rem}.upload-hint li{line-height:1.5;margin:.5rem 0}@media (max-width:768px){.budgets-grid{grid-template-columns:1fr}.budget-header{flex-direction:column;gap:.5rem}.budget-amount,.budget-header,.ward-info{text-align:center}}.projects-instructions,.projects-overview{margin-bottom:2rem}.upload-instructions{display:flex;flex-direction:column;gap:1.5rem}.instruction-step{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;display:flex;gap:1rem;padding:1.5rem}.step-number{align-items:center;background:#007bff;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:700;height:40px;justify-content:center;width:40px}.step-content h3{color:#333;margin:0 0 .5rem}.step-content p{color:#666;margin:0 0 .5rem}.step-content ul{color:#666;margin:.5rem 0 0 1rem}.step-content li{margin-bottom:.25rem}.projects-status{margin-bottom:2rem}.status-message{background:linear-gradient(135deg,#e3f2fd,#f3e5f5);border:1px solid #e1e5e9;border-radius:12px;display:flex;gap:1rem;padding:2rem}.status-icon{flex-shrink:0;font-size:3rem}.status-content h3{color:#333;font-size:1.5rem;margin:0 0 1rem}.status-content p{color:#666;line-height:1.6;margin:0 0 .5rem}.status-actions{border-top:1px solid #ddd;margin-top:1rem;padding-top:1rem}.status-actions p{color:#007bff;font-weight:500;margin:0}@media (max-width:768px){.instruction-step,.status-message{flex-direction:column;text-align:center}}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));margin-top:1rem}.project-card{background:#fff;border:1px solid #e1e5e9;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem;transition:transform .2s ease,box-shadow .2s ease}.project-card:hover{box-shadow:0 4px 16px #00000026;transform:translateY(-2px)}.project-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.project-header h3{color:#333;flex:1 1;font-size:1.2rem;line-height:1.3;margin:0}.project-info{margin-bottom:1rem}.project-info p{color:#666;font-size:.9rem;margin:.5rem 0}.progress-section{margin-bottom:1rem}.progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.progress-header span{color:#333;font-size:.9rem;font-weight:500}.project-description{border-top:1px solid #eee;margin-top:1rem;padding-top:1rem}.project-description p{color:#666;font-size:.9rem;line-height:1.5;margin:0}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.project-header{align-items:flex-start;flex-direction:column}}.empty-state{padding:3rem 1rem;text-align:center}.empty-state-content{background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:16px;box-shadow:0 4px 16px #0000001a;margin:0 auto;max-width:600px;padding:2rem}.empty-icon{font-size:4rem;margin-bottom:1rem}.empty-state-content h2{color:#333;font-size:1.8rem;margin:0 0 1rem}.empty-state-content p{color:#666;font-size:1.1rem;line-height:1.6;margin:0 0 1.5rem}.empty-instructions{background:#fff;border-radius:8px;margin:1.5rem auto;max-width:500px;padding:1.5rem;text-align:left}.empty-instructions li{color:#555;line-height:1.5;margin-bottom:.75rem}.empty-instructions code{background:#f0f0f0;border-radius:4px;color:#d63384;font-family:Courier New,monospace;padding:.2rem .5rem}.empty-actions{margin-top:2rem}.btn-primary{background:#007bff;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1rem;font-weight:500;padding:.75rem 1.5rem;transition:background .2s ease}.btn-primary:hover{background:#0056b3}@media (max-width:768px){.empty-state-content{padding:1.5rem}.empty-icon{font-size:3rem}.empty-state-content h2{font-size:1.5rem}}
/*# sourceMappingURL=main.f780af5f.css.map*/