:root{--navy:#1e3a5f;--navy-dark:#152c48;--navy-light:#2a4f7a;--teal:#0ea5a4;--teal-soft:#e6f7f7;--bg-page:#f8fafc;--bg-card:#fff;--bg-muted:#f1f5f9;--bg-hover:#f7fafd;--border:#e2e8f0;--border-light:#eef2f6;--text-primary:#1e293b;--text-secondary:#64748b;--text-muted:#94a3b8;--shadow-sm:0 1px 3px #0000000a;--shadow-md:0 4px 12px #0000000f;--shadow-lg:0 8px 24px #00000014;--danger:#dc2626;--danger-hover:#b91c1c;--success:#059669;--warning:#d97706;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--app-blue:#1e3a5f;--accent-teal:#0ea5a4;--card-border:#e2e8f0;--card-bg:#fff}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--bg-page);color:#1e293b;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.6;margin:0}*{box-sizing:border-box}.page-container{margin:0 auto;max-width:1200px;padding:32px;padding:var(--space-8) var(--space-8)}.navbar{background-color:#1e3a5f;background-color:var(--navy);box-shadow:0 1px 0 #ffffff0f,0 4px 12px #0000000f;box-shadow:0 1px 0 #ffffff0f,var(--shadow-md);color:#fff;padding:12px 32px;padding:var(--space-3) var(--space-8)}.navbar,.navbar-links{align-items:center;display:flex}.navbar-links{gap:20px;gap:var(--space-5);justify-content:flex-end}.navbar a{color:#fffc;font-size:.85rem;font-weight:500;letter-spacing:.01em;padding:8px 0;padding:var(--space-2) 0;text-decoration:none;transition:color .2s ease}.navbar a:hover{color:#fff}.navbar a.active{color:#fff;font-weight:600;position:relative}.navbar a.active:after{background:#0ea5a4;background:var(--teal);border-radius:1px;bottom:-2px;content:"";height:2px;left:0;position:absolute;right:0}.navbar-brand{align-items:center;color:#fff;display:flex;font-size:.95rem;font-weight:600;gap:12px;gap:var(--space-3);letter-spacing:.04em;margin-right:auto;text-transform:uppercase}.navbar-logo{height:42px;object-fit:contain;width:42px}.navbar-user{color:#fff9;font-size:.8rem;font-style:normal;font-weight:400}.navbar-logout{background:#ffffff14;border:1px solid #fff3;border-radius:6px;border-radius:var(--radius-sm);color:#fffc;cursor:pointer;font-size:.8rem;font-weight:500;padding:4px 12px;padding:var(--space-1) var(--space-3);transition:all .2s ease}.navbar-logout:hover{background:#ffffff26;border-color:#ffffff59;color:#fff}h2,h3{border-left:3px solid #0ea5a4;border-left:3px solid var(--teal);color:#1e3a5f;color:var(--navy);font-weight:700;letter-spacing:-.02em;margin-bottom:16px;margin-bottom:var(--space-4);padding-left:12px;padding-left:var(--space-3)}h2{font-size:1.35rem;margin-top:8px;margin-top:var(--space-2)}h3{font-size:1.05rem}.card,form{background-color:#fff;background-color:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);margin-bottom:20px;margin-bottom:var(--space-5);padding:24px;padding:var(--space-6)}input,select,textarea{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:6px;border-radius:var(--radius-sm);color:#1e293b;color:var(--text-primary);font-family:inherit;font-size:.875rem;padding:8px 12px;padding:var(--space-2) var(--space-3);transition:border-color .15s ease,box-shadow .15s ease}input:focus,select:focus,textarea:focus{border-color:#0ea5a4;border-color:var(--teal);box-shadow:0 0 0 3px #e6f7f7;box-shadow:0 0 0 3px var(--teal-soft);outline:none}button{border:none;border-radius:6px;border-radius:var(--radius-sm);cursor:pointer;font-family:inherit;font-size:.8125rem;font-weight:600;letter-spacing:.01em;padding:8px 16px;padding:var(--space-2) var(--space-4);transition:all .15s ease}button.primary{background-color:#1e3a5f;background-color:var(--navy);color:#fff}button.primary:hover{background-color:#152c48;background-color:var(--navy-dark)}button.secondary{background-color:#f1f5f9;background-color:var(--bg-muted);color:#1e3a5f;color:var(--navy)}button.secondary:hover{background-color:#e2e8f0}button.delete{background-color:#dc2626;background-color:var(--danger);color:#fff}button.delete:hover{background-color:#b91c1c;background-color:var(--danger-hover)}table{background-color:#fff;background-color:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-collapse:collapse;border-radius:14px;border-radius:var(--radius-lg);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);overflow:hidden;width:100%}th{background-color:#f1f5f9;background-color:var(--bg-muted);border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border);color:#64748b;color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.06em;text-align:left;text-transform:uppercase}td,th{padding:12px 16px;padding:var(--space-3) var(--space-4)}td{border-bottom:1px solid #eef2f6;border-bottom:1px solid var(--border-light);color:#1e293b;color:var(--text-primary);font-size:.875rem}tr:hover{background-color:#f7fafd;background-color:var(--bg-hover)}tbody tr{transition:background-color .1s ease}.action-bar,.filter-bar{align-items:center;display:flex;gap:12px;gap:var(--space-3);margin-bottom:16px;margin-bottom:var(--space-4)}.action-bar,.filter-bar,.helper-text{padding-left:12px;padding-left:var(--space-3)}.helper-text{color:#94a3b8;color:var(--text-muted);font-size:.8125rem;font-style:italic}.login-page{padding:40px;padding:var(--space-10);text-align:center}.login-form{align-items:center;display:flex;flex-direction:column;gap:12px;gap:var(--space-3)}.login-message{font-size:.875rem;font-weight:600;margin-top:20px;margin-top:var(--space-5)}.login-message.success{color:#059669;color:var(--success)}.login-message.error{color:#dc2626;color:var(--danger)}@media (max-width:768px){.navbar-links{flex-wrap:wrap;justify-content:center}.page-container{padding:16px;padding:var(--space-4)}.charts-container{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}.form-container{display:flex;flex-wrap:wrap;gap:12px;gap:var(--space-3);margin-bottom:16px;margin-bottom:var(--space-4)}.stats-grid{grid-gap:20px;grid-gap:var(--space-5);display:grid;gap:20px;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:32px;margin-bottom:var(--space-8)}.stat-card{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);padding:24px;padding:var(--space-6);text-align:center;transition:box-shadow .2s ease}.stat-card:hover{box-shadow:0 4px 12px #0000000f;box-shadow:var(--shadow-md)}.stat-card h3{border:none;color:#64748b;color:var(--text-secondary);font-size:.7rem;font-weight:600;letter-spacing:.06em;margin:0 0 8px;margin:0 0 var(--space-2) 0;padding:0;text-transform:uppercase}.stat-value{color:#1e3a5f;color:var(--navy);font-size:2.25rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin:0}.needs-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;margin-bottom:var(--space-5)}.needs-grid{grid-gap:24px;grid-gap:var(--space-6);display:grid;gap:24px;gap:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.need-card{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;padding:24px;padding:var(--space-6);transition:transform .15s ease,box-shadow .15s ease}.need-card:hover{box-shadow:0 4px 12px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.need-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:12px;margin-bottom:var(--space-3)}.need-header h3{border:none;color:#1e293b;color:var(--text-primary);font-size:1.1rem;margin:0;padding:0}.urgency-tag{border-radius:20px;font-size:.65rem;font-weight:600;letter-spacing:.04em;padding:3px 8px;padding:3px var(--space-2);text-transform:uppercase}.urgency-high .urgency-tag{background:#fef2f2;color:#dc2626}.urgency-medium .urgency-tag{background:#fffbeb;color:#d97706}.urgency-low .urgency-tag{background:#ecfdf5;color:#059669}.need-desc{color:#64748b;color:var(--text-secondary);flex-grow:1;font-size:.875rem;line-height:1.6}.need-desc,.progress-container{margin-bottom:20px;margin-bottom:var(--space-5)}.progress-labels{color:#64748b;color:var(--text-secondary);display:flex;font-size:.8rem;font-weight:500;justify-content:space-between;margin-bottom:8px;margin-bottom:var(--space-2)}progress{border-radius:4px;height:8px;overflow:hidden;width:100%}progress::-webkit-progress-bar{background-color:#f1f5f9;background-color:var(--bg-muted)}progress::-webkit-progress-value{background-color:#0ea5a4;background-color:var(--teal);border-radius:4px}.donate-btn{background-color:#1e3a5f;background-color:var(--navy);border:none;border-radius:6px;border-radius:var(--radius-sm);color:#fff;cursor:pointer;font-size:.8125rem;font-weight:600;padding:12px;padding:var(--space-3);transition:background .15s ease;width:100%}.donate-btn:hover{background-color:#152c48;background-color:var(--navy-dark)}.need-form{display:flex;flex-direction:column;gap:12px;gap:var(--space-3)}.charts-container{grid-gap:20px;grid-gap:var(--space-5);display:grid;gap:20px;gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(400px,1fr));margin-top:20px;margin-top:var(--space-5)}.chart-wrapper{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);display:flex;flex-direction:column;justify-content:center;padding:24px;padding:var(--space-6)}.chart-wrapper>div{width:100%}.chart-wrapper.full-width{grid-column:1/-1}.chart-wrapper h3{border:none;color:#1e3a5f;color:var(--navy);font-size:.95rem;font-weight:600;margin-bottom:12px;margin-bottom:var(--space-3);margin-top:0;padding-left:0;text-align:center}.stat-card h4{font-size:.7rem;font-weight:600;letter-spacing:.06em;margin:0 0 8px;margin:0 0 var(--space-2) 0;text-transform:uppercase}.stat-card h4,.stat-sub{color:#64748b;color:var(--text-secondary)}.stat-sub{background-color:#f1f5f9;background-color:var(--bg-muted);border-radius:6px;border-radius:var(--radius-sm);display:inline-flex;font-size:.8rem;gap:4px;gap:var(--space-1);justify-content:center;margin-top:8px;margin-top:var(--space-2);padding:3px 8px;padding:3px var(--space-2)}.stat-sub .label{font-weight:500}.stat-sub .value{color:#1e3a5f;color:var(--navy);font-weight:700}.add-school-card{align-items:center;background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);display:flex;gap:12px;gap:var(--space-3);margin-bottom:24px;margin-bottom:var(--space-6);padding:16px 20px;padding:var(--space-4) var(--space-5)}.add-school-card input{flex:1 1;font-size:.875rem;padding:8px 16px;padding:var(--space-2) var(--space-4)}.school-cards-grid{grid-gap:20px;grid-gap:var(--space-5);display:grid;gap:20px;gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.school-card{background:#fff;background:var(--bg-card);border:1px solid #e2e8f0;border:1px solid var(--border);border-radius:10px;border-radius:var(--radius-md);box-shadow:0 1px 3px #0000000a;box-shadow:var(--shadow-sm);padding:24px;padding:var(--space-6);transition:transform .15s ease,box-shadow .15s ease}.school-card:hover{box-shadow:0 4px 12px #0000000f;box-shadow:var(--shadow-md);transform:translateY(-2px)}.school-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:16px;margin-bottom:var(--space-4)}.school-card-header h4{color:#1e3a5f;color:var(--navy);font-size:1rem;font-weight:700;margin:0}.school-id{background:#f1f5f9;background:var(--bg-muted);border-radius:6px;border-radius:var(--radius-sm);color:#94a3b8;color:var(--text-muted);font-size:.7rem;font-weight:500;padding:2px 8px;padding:2px var(--space-2)}.school-card-stats{display:flex;gap:12px;gap:var(--space-3)}.school-card-stat{background:#f1f5f9;background:var(--bg-muted);border:1px solid #eef2f6;border:1px solid var(--border-light);border-radius:6px;border-radius:var(--radius-sm);flex:1 1;padding:12px 8px;padding:var(--space-3) var(--space-2);text-align:center}.school-stat-value{color:#1e3a5f;color:var(--navy);display:block;font-size:1.35rem;font-weight:700;letter-spacing:-.02em}.school-stat-label{color:#64748b;color:var(--text-secondary);display:block;font-size:.65rem;font-weight:600;letter-spacing:.06em;margin-top:2px;text-transform:uppercase}.empty-state{background:#fff;background:var(--bg-card);border:2px dashed #e2e8f0;border:2px dashed var(--border);border-radius:10px;border-radius:var(--radius-md);color:#94a3b8;color:var(--text-muted);font-size:.875rem;padding:40px 20px;padding:var(--space-10) var(--space-5);text-align:center}.empty-state p{margin:4px 0;margin:var(--space-1) 0}
/*# sourceMappingURL=main.924fc402.css.map*/