body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;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}.modal-overlay{background:#0009;z-index:1000}.contact-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-width:450px;width:90%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-50px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #eaeaea;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 25px}.modal-header h3{font-size:1.3rem;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:24px;height:30px;justify-content:center;padding:0;transition:background .2s;width:30px}.close-btn:hover{background:#fff3}.donor-info{border-bottom:1px solid #f0f0f0;margin-bottom:25px;padding-bottom:20px;text-align:center}.donor-info h4{color:#333;font-size:1.4rem;margin:0 0 8px}.donor-details{color:#666;font-size:.95rem;margin:0}.blood-group{background:#dc3545;border-radius:12px;color:#fff;font-size:.85rem;padding:2px 8px}.contact-section{background:#f8f9fa;border-radius:8px;padding:20px}.contact-section,.phone-display{margin-bottom:20px}.phone-label{color:#666;display:block;font-size:.9rem;margin-bottom:8px}.phone-number{background:#fff;border:2px solid #e9ecef;border-radius:6px;color:#333;font-family:Courier New,monospace;font-size:1.4rem;font-weight:700;letter-spacing:1px;padding:12px 15px;text-align:center}.action-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:15px}.btn{align-items:center;border-radius:6px;display:flex;font-size:.95rem;gap:8px;justify-content:center;padding:12px 16px;transition:all .2s ease}.btn-call{background:linear-gradient(135deg,#28a745,#20c997);color:#fff}.btn-call:hover{box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.btn-copy{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.btn-copy:hover{box-shadow:0 4px 12px #007bff4d;transform:translateY(-2px)}.copy-confirmation{animation:fadeIn .3s ease;background:#d4edda;border:1px solid #c3e6cb;border-radius:6px;color:#155724;font-size:.9rem;padding:10px 15px;text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.contact-note{background:#e7f3ff;border-left:4px solid #007bff;border-radius:6px;padding:15px}.contact-note p{color:#004085;font-size:.9rem;line-height:1.4;margin:0}@media (max-width:480px){.contact-modal{margin:10px;width:95%}.modal-body{padding:20px 15px}.action-buttons{grid-template-columns:1fr}.phone-number{font-size:1.2rem;padding:10px}}.email-modal{animation:modalSlideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;max-height:90vh;max-width:700px;overflow-y:auto;width:90%}.modal-body{padding:25px}.template-section{background:#f8f9fa;border-left:4px solid #007bff;border-radius:8px;margin-bottom:25px;padding:20px}.template-section label{color:#333;display:block;font-weight:600;margin-bottom:12px}.template-buttons{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.btn-template{background:#fff;border:2px solid #0000;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:500;padding:10px 12px;text-align:center;transition:all .2s ease}.btn-template.urgent{border-color:#dc3545;color:#dc3545}.btn-template.urgent:hover{background:#dc3545;color:#fff;transform:translateY(-2px)}.btn-template.general{border-color:#007bff;color:#007bff}.btn-template.general:hover{background:#007bff;color:#fff;transform:translateY(-2px)}.btn-template.appreciation{border-color:#28a745;color:#28a745}.btn-template.appreciation:hover{background:#28a745;color:#fff;transform:translateY(-2px)}.email-form{display:flex;flex-direction:column;gap:20px}.form-group label{color:#333;margin-bottom:8px}.form-group input,.form-group textarea{border:2px solid #e9ecef;border-radius:6px;font-family:inherit;font-size:.95rem;padding:12px 15px;transition:border-color .2s ease}.form-group input:focus,.form-group textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.form-group textarea{line-height:1.5;min-height:200px;resize:vertical}.alert{border-radius:6px;font-size:.9rem;margin:10px 0;padding:12px 15px}.alert-error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.alert-success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.form-actions{border-top:1px solid #eaeaea;gap:12px;padding-top:20px}.btn-cancel{background:#6c757d;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-cancel:hover:not(:disabled){background:#545b62;transform:translateY(-1px)}.btn-send{background:linear-gradient(135deg,#28a745,#20c997);border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-send:hover:not(:disabled){box-shadow:0 4px 12px #28a7454d;transform:translateY(-2px)}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none!important}@media (max-width:768px){.email-modal{margin:10px;width:95%}.modal-body{padding:20px 15px}.template-buttons{grid-template-columns:1fr}.form-actions{flex-direction:column}.form-actions .btn{width:100%}}@media (max-width:480px){.template-section{padding:15px}.btn-template{font-size:.8rem;padding:12px 8px}}*{box-sizing:border-box;margin:0;padding:0}body{background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:#2c3e50;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;min-height:100vh}.container{margin:0 auto;max-width:1200px;padding:0 20px}h1,h2,h3,h4{color:#2c3e50;font-weight:700;margin-bottom:1rem}h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#e63946,#d62828);-webkit-background-clip:text;background-clip:text;font-size:2.5rem}.btn{border:none;border-radius:12px;box-shadow:0 4px 15px #0000001a;cursor:pointer;display:inline-block;font-size:16px;font-weight:600;padding:14px 28px;text-align:center;text-decoration:none;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#e63946,#d62828);border:2px solid #e63946;color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#d62828,#c1121f);box-shadow:0 8px 25px #e639464d;transform:translateY(-3px)}.btn-secondary{background:linear-gradient(135deg,#457b9d,#1d3557);border:2px solid #457b9d;color:#fff}.btn-secondary:hover{background:linear-gradient(135deg,#1d3557,#0d1b2a);box-shadow:0 8px 25px #1d35574d;transform:translateY(-3px)}.btn-success{background:linear-gradient(135deg,#2a9d8f,#1a936f);border:2px solid #2a9d8f;color:#fff}.btn-danger{background:linear-gradient(135deg,#e63946,#c1121f);border:2px solid #e63946;color:#fff}.btn-sm{font-size:14px;padding:10px 20px}.navbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff,#f8f9fa);border-bottom:3px solid #e63946;box-shadow:0 4px 20px #00000014;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.nav-container{height:80px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 20px}.nav-container,.nav-logo{align-items:center;display:flex}.nav-logo{color:#e63946;font-size:28px;font-weight:700;gap:10px;text-decoration:none}.nav-logo:before{content:"💉";font-size:24px}.nav-menu{align-items:center;display:flex;gap:2rem}.nav-link{border-radius:8px;color:#2c3e50;font-weight:600;padding:8px 16px;position:relative;text-decoration:none;transition:all .3s ease}.nav-link:hover{background:#e639461a;color:#e63946}.nav-link:after{background:#e63946;bottom:-5px;content:"";height:2px;left:50%;position:absolute;transform:translateX(-50%);transition:all .3s ease;width:0}.nav-link:hover:after{width:80%}.nav-user{align-items:center;background:#e639461a;border-left:3px solid #e63946;border-radius:10px;display:flex;gap:1rem;padding:8px 16px}.logout-btn{background:#0000;border:2px solid #e63946;border-radius:8px;color:#e63946;cursor:pointer;font-weight:600;padding:8px 16px;transition:all .3s ease}.logout-btn:hover{background:#e63946;color:#fff;transform:translateY(-2px)}.main-content{min-height:calc(100vh - 160px)}.footer{background:linear-gradient(135deg,#2c3e50,#34495e);border-top:4px solid #e63946;color:#fff;margin-top:4rem;padding:2.5rem 0;text-align:center}.footer-container{margin:0 auto;max-width:1200px;padding:0 20px}.footer p{margin:.5rem 0;opacity:.9}.hero-section{background:linear-gradient(135deg,#e63946e6,#d62828e6 50%,#c1121fe6),url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1000 1000"><rect width="100%" height="100%" fill="url(%23grid)"/></svg>');color:#fff;overflow:hidden;padding:8rem 0;position:relative;text-align:center}.hero-section:before{content:"🩸";font-size:300px;left:50%;opacity:.05;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.hero-content{position:relative;z-index:2}.hero-content h1{-webkit-text-fill-color:#fff;background:none;color:#fff;font-size:4rem;margin-bottom:1.5rem;text-shadow:2px 2px 4px #0000004d}.hero-content p{font-size:1.4rem;margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.95}.hero-buttons{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.features-section{background:#fff;padding:6rem 0}.features-section h2{color:#2c3e50;font-size:3rem;margin-bottom:4rem;text-align:center}.features-grid{grid-gap:2.5rem;display:grid;gap:2.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.feature-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:20px;box-shadow:0 10px 30px #00000014;overflow:hidden;padding:3rem 2rem;position:relative;text-align:center;transition:all .3s ease}.feature-card:before{background:linear-gradient(135deg,#e63946,#d62828);content:"";height:4px;left:0;position:absolute;right:0;top:0}.feature-card:hover{box-shadow:0 20px 40px #e6394626;transform:translateY(-10px)}.feature-icon{display:block;font-size:4rem;margin-bottom:1.5rem}.feature-card h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1rem}.feature-card p{color:#6c757d;line-height:1.6}.auth-page{align-items:center;background:linear-gradient(135deg,#f8f9fa,#e9ecef);display:flex;justify-content:center;min-height:80vh;padding:2rem 0}.auth-container{background:#fff;border:1px solid #e9ecef;border-radius:20px;box-shadow:0 20px 60px #0000001a;max-width:500px;padding:3rem;position:relative;width:100%}.auth-container:before{background:linear-gradient(135deg,#e63946,#d62828);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.auth-form{gap:1.5rem}.auth-form,.form-group{display:flex;flex-direction:column}.form-group label{color:#2c3e50;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;font-size:16px;padding:14px;transition:all .3s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:#fff;border-color:#e63946;box-shadow:0 0 0 3px #e639461a;outline:none}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.error-message{background:linear-gradient(135deg,#fee,#fdd);border-left:4px solid #e63946;border-radius:10px;color:#e63946;font-weight:600;margin-bottom:1rem;padding:1rem}.auth-link{color:#6c757d;margin-top:1.5rem;text-align:center}.auth-link a{color:#e63946;font-weight:600;text-decoration:none}.auth-link a:hover{text-decoration:underline}.dashboard-page{background:#fafbfc;min-height:calc(100vh - 160px);padding:2rem 0}.dashboard-header{background:#fff;border:1px solid #eef2f6;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:2rem}.dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2c3e50,#34495e);-webkit-background-clip:text;background-clip:text;font-size:2.2rem}.user-role-badge{background:#f8f9fa;border:1px solid #e9ecef;border-radius:16px;color:#6c757d;font-size:.9rem;font-weight:500;margin-top:.5rem;padding:.4rem 1rem}.stats-grid{grid-gap:1.2rem;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-bottom:2.5rem}.stat-card{border:1px solid #eef2f6;border-radius:12px;box-shadow:0 2px 8px #0000000a;overflow:hidden;padding:1.8rem 1.2rem;position:relative;transition:all .2s ease}.stat-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.stat-card:before{background:#e63946;content:"";height:3px;left:0;position:absolute;right:0;top:0}.stat-card:nth-child(2):before{background:#457b9d}.stat-card:nth-child(3):before{background:#2a9d8f}.stat-card:nth-child(4):before{background:#6c757d}.stat-icon{font-size:2rem;margin-bottom:.8rem;opacity:.8}.stat-card h3{color:#6c757d;font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:.6rem;text-transform:uppercase}.stat-card p{color:#2c3e50;font-size:2.2rem;font-weight:700;margin:0}.stat-trend{border-radius:12px;display:inline-block;font-size:.75rem;margin-top:.4rem;padding:.2rem .6rem}.trend-up{background:#2a9d8f14;color:#2a9d8f}.trend-down{background:#e6394614;color:#e63946}.availability-toggle{background:#fff;border:1px solid #eef2f6;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:1.5rem}.toggle-content{gap:1.5rem}.status-indicator{gap:.6rem}.status-dot{height:10px;width:10px}.status-text{color:#2c3e50;font-weight:500}.toggle-btn{background:#fff;border:1px solid #e9ecef;border-radius:8px;font-size:.9rem;font-weight:500;min-width:120px;padding:.8rem 1.5rem;transition:all .2s ease}.toggle-btn.available{background:#2a9d8f;border-color:#2a9d8f}.toggle-btn.unavailable{background:#e63946;border-color:#e63946}.toggle-btn:hover{box-shadow:0 2px 8px #0000001f;transform:translateY(-1px)}.section-header{margin-bottom:1.5rem}.section-header h2{font-weight:600;margin-bottom:.4rem}.section-subtitle{font-size:1rem;line-height:1.5;max-width:500px}.inventory-grid{grid-gap:1rem;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-top:1.5rem}.blood-card{background:#fff;border:1px solid #eef2f6;border-radius:10px;box-shadow:0 2px 6px #0000000a;padding:1.2rem .8rem;transition:all .2s ease}.blood-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.blood-card:before{height:3px}.blood-card.high:before{background:#2a9d8f}.blood-card.medium:before{background:#f4a261}.blood-card.low:before{background:#e9c46a}.blood-card.critical:before{animation:none;background:#e63946}.blood-group{font-size:1.5rem}.blood-group,.units-available{margin-bottom:.4rem}.stock-level{border-radius:10px;font-size:.75rem;padding:.3rem .6rem}.blood-card.high .stock-level{background:#2a9d8f14}.blood-card.medium .stock-level{background:#f4a26114}.blood-card.low .stock-level{background:#e9c46a14}.blood-card.critical .stock-level{background:#e6394614;color:#bc676e}.inventory-legend{border:1px solid #eef2f6;border-radius:10px;box-shadow:0 2px 6px #0000000a;gap:1.5rem;margin:1.5rem 0;padding:1rem}.legend-item{font-size:.9rem;font-weight:500}.legend-color{border-radius:2px;height:12px;width:12px}.legend-color.high{background:#2a9d8f}.legend-color.medium{background:#f4a261}.legend-color.low{background:#e9c46a}.legend-color.critical{background:#e63946}.quick-actions{margin:2.5rem 0}.actions-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin-top:1.2rem}.action-card{background:#fff;border:1px solid #eef2f6;border-radius:10px;box-shadow:0 2px 6px #0000000a;transition:all .2s ease}.action-card:hover{box-shadow:0 4px 12px #e6394614}.action-icon{font-size:2.2rem;margin-bottom:.8rem;opacity:.8}.action-card h3{font-size:1rem;font-weight:600;margin-bottom:.4rem}.action-card p{font-size:.85rem;line-height:1.4}.recent-activity{margin:2.5rem 0}.activity-list{border:1px solid #eef2f6;box-shadow:0 2px 8px #0000000a;overflow:hidden}.activity-item{align-items:center;border-bottom:1px solid #f1f3f4;justify-content:space-between;padding:1.2rem 1.5rem;transition:background .2s ease}.activity-item:hover{background:#fafbfc}.activity-content h4{font-size:.95rem;font-weight:500;margin:0 0 .3rem}.activity-content p{color:#6c757d;font-size:.85rem;margin:0}.activity-time{color:#8b9cb1;font-weight:500}@media (max-width:768px){.dashboard-page{padding:1rem 0}.dashboard-header{margin-bottom:1.5rem;padding:1.5rem}.dashboard-header h1{font-size:1.8rem}.stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.stat-card{padding:1.2rem .8rem}.stat-card p{font-size:1.8rem}.toggle-content{flex-direction:column;gap:1rem}.inventory-grid{gap:.8rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.inventory-legend{align-items:flex-start;flex-direction:column;gap:.8rem}.actions-grid{grid-template-columns:1fr}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.inventory-grid{grid-template-columns:repeat(2,1fr)}.activity-item{align-items:flex-start;flex-direction:column;gap:.5rem}.activity-time{align-self:flex-end}}.dashboard-loading{background:#fff;border:1px solid #eef2f6;border-radius:12px;box-shadow:0 2px 8px #0000000a;padding:3rem;text-align:center}.loading-spinner{border:3px solid #f1f3f4;height:32px;width:32px}.empty-state{border:1px solid #eef2f6;border-radius:12px;box-shadow:0 2px 8px #0000000a}.empty-icon{font-size:3rem}.empty-state h3{color:#2c3e50;font-weight:600;margin-bottom:.5rem}.empty-state p{color:#6c757d;margin-bottom:1.5rem}.availability-toggle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid #fffc;border-radius:16px;box-shadow:0 4px 20px #00000014,0 2px 8px #0000000d;margin-bottom:2rem;padding:2rem;text-align:center}.toggle-content{align-items:center;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center}.status-indicator{gap:.75rem}.status-dot{animation:pulse 2s infinite}.status-dot.available{box-shadow:0 0 0 #2a9d8f66}.status-dot.unavailable{box-shadow:0 0 0 #e6394666}.toggle-btn{border:none;border-radius:10px;box-shadow:0 4px 15px #0000001a;cursor:pointer;font-size:14px;font-weight:600;min-width:140px;padding:12px 24px;transition:all .3s ease}.toggle-btn.available{background:linear-gradient(135deg,#2a9d8f,#1a936f);color:#fff}.toggle-btn.available:hover{background:linear-gradient(135deg,#1a936f,#16865f);box-shadow:0 6px 20px #2a9d8f4d;transform:translateY(-2px)}.toggle-btn.unavailable{background:linear-gradient(135deg,#e63946,#d62828);color:#fff}.toggle-btn.unavailable:hover{background:linear-gradient(135deg,#d62828,#c1121f);box-shadow:0 6px 20px #e639464d;transform:translateY(-2px)}.section-header h2{font-size:2.2rem}.section-header h2:after{height:3px;width:60px}.section-subtitle{font-size:1.1rem}.blood-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid #fffc;border-radius:16px;box-shadow:0 4px 20px #00000014,0 2px 8px #0000000d;padding:2rem 1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.blood-card:hover{box-shadow:0 8px 30px #0000001f,0 6px 20px #00000014;transform:translateY(-5px) scale(1.02)}.blood-card.critical:before{animation:criticalPulse 2s infinite}@keyframes criticalPulse{0%,to{opacity:1}50%{opacity:.7}}.blood-group{color:#1a1a1a;text-shadow:1px 1px 2px #0000001a}.units-available{font-size:1.3rem}.stock-level{border-radius:20px;display:inline-block;font-size:.8rem;padding:.4rem .8rem}.blood-card.high .stock-level{background:#2a9d8f1a;border:1px solid #2a9d8f4d}.blood-card.medium .stock-level{background:#f4a2611a;border:1px solid #f4a2614d}.blood-card.low .stock-level{background:#e9c46a1a;border:1px solid #e9c46a4d}.blood-card.critical .stock-level{animation:criticalPulse 2s infinite;background:#e639461a;border:1px solid #e639464d}.inventory-legend{border-radius:12px;box-shadow:0 2px 10px #00000014}.legend-item{gap:.75rem}@media (max-width:768px){.stats-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.stat-card{padding:1.5rem 1rem}.stat-card p{font-size:2rem}.inventory-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.blood-card{padding:1.5rem .5rem}.inventory-legend,.toggle-content{flex-direction:column;gap:1rem}.inventory-legend{align-items:flex-start}}@media (max-width:480px){.stats-grid{grid-template-columns:1fr}.inventory-grid{grid-template-columns:repeat(2,1fr)}}.inventory-section{margin:3rem 0}.inventory-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-top:2rem}.blood-card{border-radius:20px;box-shadow:0 10px 30px #00000014;padding:2.5rem 1rem;text-align:center}.blood-card:before{background:#8d7577}.blood-card:hover{box-shadow:0 15px 40px #0000001f}.blood-group{font-size:2rem}.units-available{color:#6c757d;font-weight:600;margin-bottom:.5rem}.stock-level{font-size:.875rem;font-weight:700;letter-spacing:1px}.blood-card.medium .stock-level{color:#f4a261}.search-filters{background:#fff;border:1px solid #e9ecef;border-radius:20px;box-shadow:0 10px 30px #00000014;gap:2rem;padding:2rem}.filter-group{min-width:200px}.filter-group input,.filter-group select{background:#f8f9fa;border:2px solid #e9ecef;border-radius:10px;font-size:16px;padding:12px;transition:all .3s ease}.filter-group input:focus,.filter-group select:focus{background:#fff;border-color:#e63946;box-shadow:0 0 0 3px #e639461a;outline:none}.donors-grid{grid-gap:2rem;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.donor-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:20px;box-shadow:0 10px 30px #00000014;padding:2rem;position:relative}.donor-card:before{background:linear-gradient(135deg,#e63946,#d62828);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.donor-card:hover{box-shadow:0 15px 40px #e6394626;transform:translateY(-5px)}.donor-header{border-bottom:2px solid #e9ecef;margin-bottom:1.5rem}.availability{font-size:.875rem;letter-spacing:.5px;padding:6px 16px}.availability.available{background:linear-gradient(135deg,#d4edda,#c3e6cb)}.availability.unavailable{background:linear-gradient(135deg,#f8d7da,#f1b0b7)}.donor-details p{margin-bottom:.75rem}.requests-page{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:calc(100vh - 160px);padding:2rem 0}.page-header{background:#fff;border:1px solid #e9ecef;border-radius:20px;box-shadow:0 10px 30px #00000014;justify-content:space-between;margin-bottom:2rem;padding:2rem}.modal-overlay,.page-header{align-items:center;display:flex}.modal-overlay{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background-color:#000000b3;bottom:0;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.modal{background:#fff;border:1px solid #e9ecef;border-radius:20px;box-shadow:0 25px 50px #0003;max-height:90vh;max-width:600px;overflow-y:auto;padding:3rem;position:relative;width:90%}.modal:before{background:linear-gradient(135deg,#e63946,#d62828);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.form-actions{border-top:2px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:2rem}.requests-list{display:flex;flex-direction:column;gap:2rem}.request-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:20px;box-shadow:0 10px 30px #00000014;padding:2.5rem;position:relative;transition:all .3s ease}.request-card:before{background:linear-gradient(135deg,#e63946,#d62828);border-radius:20px 20px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.request-card:hover{box-shadow:0 15px 40px #e6394626;transform:translateY(-3px)}.request-header{border-bottom:2px solid #e9ecef;margin-bottom:1.5rem;padding-bottom:1.5rem}.status-badge{font-size:.875rem;letter-spacing:.5px;padding:8px 20px}.status-pending{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffeaa7;color:#856404}.status-approved{background:linear-gradient(135deg,#d1ecf1,#b8e2e8);border:1px solid #b8e2e8;color:#0c5460}.status-rejected{background:linear-gradient(135deg,#f8d7da,#f1b0b7);border:1px solid #f1b0b7;color:#721c24}.status-fulfilled{background:linear-gradient(135deg,#d4edda,#c3e6cb);border:1px solid #c3e6cb;color:#155724}.request-details p{color:#2c3e50;margin-bottom:.75rem}.request-details strong{color:#e63946}.admin-panel{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:calc(100vh - 160px);padding:2rem 0}.admin-tabs{border-bottom:3px solid #e9ecef;border-radius:20px 20px 0 0;box-shadow:0 5px 20px #00000014;gap:0;padding:0 2rem}.tab-btn{background:none;border-bottom:3px solid #0000;font-size:16px;padding:1.5rem 2.5rem;position:relative}.tab-btn.active{border-bottom-color:#e63946;color:#e63946}.tab-btn:hover{background:#e639460d;color:#e63946}.inventory-table table,.users-table table{background:#fff;border:1px solid #e9ecef;border-collapse:collapse;border-radius:20px;box-shadow:0 10px 30px #00000014;overflow:hidden;width:100%}.inventory-table td,.inventory-table th,.users-table td,.users-table th{border-bottom:1px solid #e9ecef;padding:1.5rem;text-align:left}.inventory-table th,.users-table th{background:linear-gradient(135deg,#f8f9fa,#e9ecef);color:#2c3e50;font-size:.875rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.inventory-table input{background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;padding:8px 12px;transition:all .3s ease;width:80px}.inventory-table input:focus{background:#fff;border-color:#e63946;box-shadow:0 0 0 3px #e639461a;outline:none}.request-item{align-items:center;border:1px solid #e9ecef;border-radius:20px;box-shadow:0 10px 30px #00000014;justify-content:space-between;margin-bottom:1.5rem;padding:2rem;transition:all .3s ease}.request-item:hover{box-shadow:0 15px 40px #0000001f;transform:translateY(-2px)}.request-actions{gap:.75rem}@media (max-width:768px){.nav-menu{gap:1rem}.hero-content h1{font-size:2.5rem}.form-row{grid-template-columns:1fr}.search-filters{flex-direction:column}.page-header,.request-item{align-items:flex-start;flex-direction:column;gap:1.5rem}.admin-tabs{flex-direction:column}.tab-btn{border-bottom:2px solid #e9ecef;border-right:none;padding:1.25rem 2rem}.hero-buttons{align-items:center;flex-direction:column}.hero-buttons .btn{max-width:300px;width:100%}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#e63946,#d62828);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#d62828,#c1121f)}.dashboard-header{text-align:center}.dashboard-header h1{font-size:2.5rem;margin-bottom:.5rem}.user-role-badge{background:#e639461a;border-radius:20px;color:#e63946;display:inline-block;font-weight:600;margin-top:1rem;padding:.5rem 1rem}.role-donor{color:#2a9d8f}.role-hospital{color:#457b9d}.role-admin{color:#e63946}.quick-actions{margin-bottom:3rem}.actions-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:1.5rem}.action-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e9ecef;border-radius:15px;padding:2rem;text-align:center}.action-card:hover{box-shadow:0 15px 40px #e6394626;transform:translateY(-5px)}.action-icon{font-size:3rem;margin-bottom:1rem}.action-card h3{color:#2c3e50;margin-bottom:.5rem}.action-card p{color:#6c757d;font-size:.9rem}.hero-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff3;border:1px solid #ffffff4d;border-radius:25px;color:#fff;display:inline-block;font-weight:600;margin-bottom:1rem;padding:.5rem 1.5rem}.hero-subtitle{font-size:1.3rem;margin:0 auto 2rem;max-width:600px;opacity:.95}.hero-stats{display:flex;flex-wrap:wrap;gap:3rem;justify-content:center;margin:2rem 0}.hero-stat{text-align:center}.stat-number{color:#fff;font-size:2.5rem;margin-bottom:.5rem}.stat-label{color:#ffffffe6;font-weight:600}.btn-large{font-size:1.1rem;padding:1rem 2rem}.btn-outline{background:#0000;border:2px solid #fff;color:#fff}.btn-outline:hover{background:#fff;color:#e63946}.user-welcome-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.section-header{margin-bottom:3rem}.section-subtitle{font-size:1.2rem}.feature-list{list-style:none;margin-top:1rem;padding:0}.feature-list li{color:#6c757d;padding:.3rem 0 .3rem 1.5rem;position:relative}.feature-list li:before{color:#2a9d8f;content:"✓";font-weight:700;left:0;position:absolute}.blood-types-section{padding:5rem 0}.blood-types-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.blood-type-card{background:#fff;border-radius:15px;border-top:4px solid #e63946;box-shadow:0 5px 20px #00000014;padding:2rem}.blood-type-header{margin-bottom:1rem}.blood-type-header h3{font-size:1.5rem}.blood-percentage{background:#e63946;border-radius:15px;font-size:.8rem;font-weight:600;padding:.3rem .8rem}.cta-section{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:5rem 0;text-align:center}.cta-content h2{color:#fff;margin-bottom:1rem}.cta-content p{font-size:1.2rem;margin-bottom:2rem;opacity:.9}.cta-buttons{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.recent-activity,.recent-donors{margin:3rem 0}.activity-list,.donors-list{background:#fff;border-radius:15px;box-shadow:0 5px 20px #00000014;overflow:hidden}.activity-item,.donor-item{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1.5rem;transition:background .3s ease}.activity-item:hover,.donor-item:hover{background:#f8f9fa}.activity-item:last-child,.donor-item:last-child{border-bottom:none}.activity-content h4{color:#2c3e50;margin:0 0 .5rem}.activity-time{color:#6c757d;font-size:.8rem}.donor-avatar{margin-right:1rem}.donor-info h4{margin:0 0 .3rem}.availability-status{border-radius:15px;font-size:.8rem;font-weight:600;padding:.3rem .8rem}.availability-status.available{background:#d4edda;color:#155724}.availability-status.unavailable{background:#f8d7da;color:#721c24}.emergency-contact{margin:3rem 0}.emergency-card{align-items:center;border-radius:20px;box-shadow:0 10px 30px #e639464d;display:flex;gap:2rem;padding:2.5rem}.emergency-content h3{color:#fff;margin-bottom:.5rem}.emergency-contact-info{font-size:1.1rem;margin-top:1rem}.status-indicator{align-items:center;display:flex;gap:1rem;margin:1rem 0}.status-dot{border-radius:50%;height:12px;width:12px}.status-dot.available{background:#2a9d8f;box-shadow:0 0 10px #2a9d8f80}.status-dot.unavailable{background:#e63946;box-shadow:0 0 10px #e6394680}.status-text{font-size:1.1rem}.status-note{color:#6c757d;font-size:.9rem;margin-top:1rem}.loading{color:#6c757d;font-size:1.2rem;padding:3rem;text-align:center}@media (max-width:768px){.hero-stats{gap:1.5rem}.stat-number{font-size:2rem}.cta-buttons,.user-welcome-buttons{align-items:center;flex-direction:column}.emergency-card{flex-direction:column;gap:1rem;text-align:center}.activity-item,.donor-item{align-items:flex-start;flex-direction:column;gap:1rem}.activity-status{align-self:flex-start}}.inventory-preview{background:linear-gradient(135deg,#f8f9fa,#e9ecef);padding:4rem 0}.inventory-preview-content{background:#fff;border-radius:20px;box-shadow:0 10px 30px #00000014;padding:2rem}.inventory-section{margin:2rem 0}.inventory-header{margin-bottom:2rem;text-align:center}.inventory-header h3{color:#2c3e50;font-size:2rem;margin-bottom:.5rem}.inventory-subtitle{color:#6c757d;font-size:1.1rem}.inventory-grid{grid-gap:1.5rem;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:2rem}.blood-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:2px solid #e9ecef;border-radius:15px;box-shadow:0 5px 20px #00000014;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.blood-card:before{content:"";height:4px;left:0;position:absolute;right:0;top:0;transition:all .3s ease}.blood-card.high:before{background:linear-gradient(135deg,#2a9d8f,#1a936f)}.blood-card.medium:before{background:linear-gradient(135deg,#f4a261,#e76f51)}.blood-card.low:before{background:linear-gradient(135deg,#e9c46a,#f4a261)}.blood-card.critical:before{background:linear-gradient(135deg,#e63946,#d62828)}.blood-card:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-5px)}.blood-card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.blood-group{color:#2c3e50;font-size:1.8rem}.blood-badge{border-radius:15px;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}.blood-card.high .blood-badge{background:#2a9d8f1a;border:1px solid #2a9d8f4d;color:#2a9d8f}.blood-card.medium .blood-badge{background:#f4a2611a;border:1px solid #f4a2614d;color:#e76f51}.blood-card.low .blood-badge{background:#e9c46a1a;border:1px solid #e9c46a4d;color:#e9c46a}.blood-card.critical .blood-badge{background:#e639461a;border:1px solid #e639464d;color:#e63946}.units-available{color:#2c3e50;font-size:1.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.stock-bar{background:#e9ecef;border-radius:10px;height:8px;margin-bottom:.5rem;overflow:hidden;width:100%}.stock-fill{border-radius:10px;height:100%;transition:width .5s ease}.stock-fill.high{background:linear-gradient(135deg,#2a9d8f,#1a936f)}.stock-fill.medium{background:linear-gradient(135deg,#f4a261,#e76f51)}.stock-fill.low{background:linear-gradient(135deg,#e9c46a,#f4a261)}.stock-fill.critical{background:linear-gradient(135deg,#e63946,#d62828)}.stock-info{align-items:center;display:flex;font-size:.8rem;justify-content:space-between}.blood-card.high .stock-level{color:#2a9d8f}.blood-card.medium .stock-level{color:#e76f51}.blood-card.low .stock-level{color:#e9c46a}.blood-card.critical .stock-level{color:#e63946}.stock-percentage{color:#6c757d;font-weight:600}.inventory-legend{background:#fff;border-radius:15px;box-shadow:0 5px 15px #00000014;display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;margin:2rem 0;padding:1.5rem}.legend-item{gap:.5rem}.legend-color{border-radius:4px;height:16px;width:16px}.legend-color.high{background:linear-gradient(135deg,#2a9d8f,#1a936f)}.legend-color.medium{background:linear-gradient(135deg,#f4a261,#e76f51)}.legend-color.low{background:linear-gradient(135deg,#e9c46a,#f4a261)}.legend-color.critical{background:linear-gradient(135deg,#e63946,#d62828)}.inventory-summary{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:2rem}.summary-card{align-items:center;background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:15px;box-shadow:0 5px 15px #00000014;display:flex;gap:1rem;padding:1.5rem}.summary-icon{font-size:2rem}.summary-content h4{color:#2c3e50;font-size:.9rem;margin:0 0 .5rem}.summary-number{color:#e63946;font-size:1.5rem;font-weight:700;margin:0}.inventory-loading{background:#fff;border-radius:15px;box-shadow:0 5px 15px #00000014;padding:3rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e9ecef;border-radius:50%;border-top-color:#e63946;height:40px;margin:0 auto 1rem;width:40px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.inventory-error{background:#fee;border:1px solid #f5c6cb;border-radius:15px;color:#721c24;padding:2rem;text-align:center}.inventory-actions{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;margin-top:2rem}.btn-emergency{background:linear-gradient(135deg,#e63946,#d62828);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:600;padding:12px 24px;text-align:center;text-decoration:none;transition:all .3s ease}.btn-emergency:hover{background:linear-gradient(135deg,#d62828,#c1121f);box-shadow:0 8px 25px #e639464d;transform:translateY(-2px)}@media (max-width:768px){.inventory-grid{gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.inventory-legend{align-items:flex-start;flex-direction:column;gap:1rem}.inventory-summary{grid-template-columns:1fr}.inventory-actions{align-items:center;flex-direction:column}.inventory-actions .btn{max-width:300px;width:100%}}.donations-page{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:calc(100vh - 160px);padding:2rem 0}.donation-stats{margin-bottom:3rem}.donations-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.donation-card{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:15px;box-shadow:0 5px 20px #00000014;padding:1.5rem;transition:all .3s ease}.donation-card:hover{box-shadow:0 10px 30px #0000001f;transform:translateY(-3px)}.donation-header{align-items:center;border-bottom:2px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.donation-details p{color:#2c3e50;margin-bottom:.5rem}.donation-details strong{color:#e63946}.donation-form{background:#fff;border-radius:15px;padding:2rem}.empty-state{border-radius:15px;box-shadow:0 5px 15px #00000014}.status-badge.completed{background:#d4edda;color:#155724}.status-badge.completed,.status-badge.scheduled{border-radius:15px;font-size:.8rem;font-weight:600;padding:.3rem .8rem}.status-badge.scheduled{background:#fff3cd;color:#856404}.status-badge.cancelled{background:#f8d7da;border-radius:15px;color:#721c24;font-size:.8rem;font-weight:600;padding:.3rem .8rem}.data-source{background:#f8f9fa;border-left:4px solid #e63946;border-radius:10px;margin-top:1rem;padding:1rem;text-align:center}.btn-refresh{background:#457b9d;border:none;border-radius:5px;color:#fff;cursor:pointer;font-size:.9rem;margin-top:.5rem;padding:8px 16px}.inventory-empty{background:#fff;border-radius:15px;box-shadow:0 5px 15px #00000014;padding:3rem;text-align:center}.error-help{color:#6c757d;font-size:.9rem;margin:.5rem 0}.admin-analytics{padding:20px 0}.analytics-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.export-buttons{display:flex;gap:10px}.overview-stats{margin-bottom:30px}.stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:20px}.stat-card{background:#fff;border-left:4px solid #3498db;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:20px;text-align:center}.stat-card.critical{border-left-color:#e74c3c}.stat-icon{font-size:2em;margin-bottom:10px}.stat-number{font-size:2em;font-weight:700;margin:10px 0}.inventory-summary{margin-bottom:30px}.inventory-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:20px}.inventory-item{background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;padding:15px;text-align:center}.inventory-item.critical{background:#ffeaea;border:1px solid #e74c3c}.inventory-item.low{background:#fff3cd;border:1px solid #ffc107}.inventory-item.good{background:#e8f5e8;border:1px solid #28a745}.blood-group{font-size:1.2em;margin-bottom:5px}.units{font-size:1.1em;margin-bottom:5px}.status{font-size:.8em;font-weight:700;text-transform:uppercase}.recent-activity{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr 1fr}.activity-section h3{color:#2c3e50;margin-bottom:15px}.activity-list{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:15px}.activity-item{align-items:flex-start;border-bottom:1px solid #eee;display:flex;padding:10px}.activity-item:last-child{border-bottom:none}.activity-icon{font-size:1.2em;margin-right:10px;margin-top:2px}.activity-content p{margin:0 0 5px}.activity-content small{color:#666}.admin-tabs{border-bottom:1px solid #ddd;gap:10px;margin-bottom:30px;padding-bottom:10px}.tab-btn{border-radius:8px;padding:12px 24px}.tab-btn.active{background:#3498db}.table-container{border-radius:10px;box-shadow:0 2px 10px #0000001a}td,th{border-bottom:1px solid #eee;padding:12px 15px}.role-badge{border-radius:4px;font-size:.8em;font-weight:700;padding:4px 8px}.role-badge.admin{background:#e74c3c;color:#fff}.role-badge.hospital{background:#3498db;color:#fff}.role-badge.donor{background:#27ae60;color:#fff}.stock-status{border-radius:4px;font-size:.8em;font-weight:700;padding:4px 8px}.stock-status.critical{background:#e74c3c;color:#fff}.stock-status.low{background:#f39c12;color:#fff}.stock-status.good{background:#27ae60;color:#fff}.inventory-input{border-radius:4px;padding:5px}.requests-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.search-filters{align-items:center;gap:10px}.search-filters input,.search-filters select{border:1px solid #ddd;border-radius:4px;padding:8px 12px}.requests-grid{grid-gap:20px;display:grid;gap:20px}.request-item{align-items:flex-start;background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:between;padding:20px}.request-info{flex:1 1}.request-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.status-badge{border-radius:20px;font-size:.8em;font-weight:700;padding:6px 12px;text-transform:uppercase}.status-badge.pending{background:#fff3cd;color:#856404}.status-badge.approved{background:#d4edda;color:#155724}.status-badge.rejected{background:#f8d7da;color:#721c24}.status-badge.fulfilled{background:#d1ecf1;color:#0c5460}.urgency-high{color:#e74c3c;font-weight:700}.urgency-medium{color:#f39c12;font-weight:700}.urgency-low{color:#27ae60;font-weight:700}.request-actions{display:flex;flex-direction:column;gap:10px}.donors-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.donor-card{padding:20px}.donor-header{margin-bottom:15px}.availability.available{color:#27ae60;font-weight:700}.availability.unavailable{color:#e74c3c;font-weight:700}.donor-actions{gap:10px;margin-top:15px}@media (max-width:768px){.recent-activity{grid-template-columns:1fr}.stats-grid{grid-template-columns:1fr 1fr}.admin-tabs{flex-wrap:wrap}.requests-header{align-items:stretch;gap:15px}.request-item,.requests-header,.search-filters{flex-direction:column}.request-actions{flex-direction:row;margin-top:15px}}.blood-types-section{background:linear-gradient(135deg,#f8f9fa,#e9ecef);overflow:hidden;padding:6rem 0;position:relative}.blood-types-section:before{content:"🩸";font-size:400px;left:50%;opacity:.03;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.blood-types-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));position:relative;z-index:2}.blood-type-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid #fffc;border-radius:20px;box-shadow:0 10px 30px #00000014,0 4px 12px #0000000d;overflow:hidden;padding:2.5rem 2rem;position:relative;transition:all .4s cubic-bezier(.175,.885,.32,1.275)}.blood-type-card:before{background:linear-gradient(90deg,var(--card-color-1),var(--card-color-2));content:"";height:6px;left:0;position:absolute;right:0;top:0;transition:all .4s ease}.blood-type-card:after{background:linear-gradient(90deg,#0000,#fff6,#0000);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.blood-type-card:hover{box-shadow:0 25px 50px #00000026,0 15px 35px #0000001a;transform:translateY(-12px) scale(1.02)}.blood-type-card:hover:after{left:100%}.blood-type-card.a-plus{--card-color-1:#e63946;--card-color-2:#d62828}.blood-type-card.a-minus{--card-color-1:#e76f51;--card-color-2:#f4a261}.blood-type-card.b-plus{--card-color-1:#2a9d8f;--card-color-2:#1a936f}.blood-type-card.b-minus{--card-color-1:#e9c46a;--card-color-2:#f4a261}.blood-type-card.ab-plus{--card-color-1:#7209b7;--card-color-2:#560bad}.blood-type-card.ab-minus{--card-color-1:#3a86ff;--card-color-2:#2667ff}.blood-type-card.o-plus{--card-color-1:#457b9d;--card-color-2:#1d3557}.blood-type-card.o-minus{--card-color-1:#e63946;--card-color-2:#c1121f}.blood-type-header{align-items:center;border-bottom:2px solid #0000001a;display:flex;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:1.5rem;position:relative}.blood-type-header h3{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--card-color-1),var(--card-color-2));-webkit-background-clip:text;background-clip:text;font-size:2.2rem;font-weight:800;margin:0;text-shadow:2px 2px 4px #0000001a}.blood-percentage{animation:pulse 2s infinite;background:linear-gradient(135deg,var(--card-color-1),var(--card-color-2));border-radius:20px;box-shadow:0 4px 12px #00000026;color:#fff;font-size:.9rem;font-weight:700;padding:.5rem 1rem}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.compatibility-info{margin-bottom:1.5rem}.donate-to,.receive-from{align-items:flex-start;color:#2c3e50;display:flex;font-size:.95rem;gap:.5rem;line-height:1.5;margin:.8rem 0}.donate-to strong,.receive-from strong{color:var(--card-color-1);font-weight:700}.blood-type-footer{border-top:1px solid #0000001a;padding-top:1.5rem;text-align:center}.universal-donor,.universal-recipient{background:#0000000d;border-radius:12px;color:#6c757d;font-size:.8rem;font-weight:600;padding:.4rem .8rem}.universal-donor.special,.universal-recipient.special{animation:glow 2s ease-in-out infinite alternate;background:linear-gradient(135deg,#ffd166,#ff9e00);color:#000;font-weight:800;letter-spacing:.5px;text-transform:uppercase}@keyframes glow{0%{box-shadow:0 0 10px #ffd16680}to{box-shadow:0 0 20px #ffd166cc,0 0 30px #ffd16699}}.blood-type-legend{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffc;border:1px solid #ffffff80;border-radius:15px;box-shadow:0 8px 25px #0000001a;display:flex;gap:3rem;justify-content:center;margin-top:4rem;padding:2rem}.legend-item{align-items:center;color:#2c3e50;display:flex;font-weight:600;gap:1rem}.legend-color{border-radius:50%;box-shadow:0 4px 8px #0003;height:20px;width:20px}.legend-color.universal-donor{background:linear-gradient(135deg,#ffd166,#ff9e00)}.legend-color.universal-recipient{background:linear-gradient(135deg,#7209b7,#560bad)}.legend-color.rare-type{background:linear-gradient(135deg,#3a86ff,#2667ff)}.section-header{margin-bottom:4rem;position:relative;z-index:2}.section-header h2{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#2c3e50,#34495e);-webkit-background-clip:text;background-clip:text;display:inline-block;font-size:3.5rem;margin-bottom:1rem;position:relative}.section-header h2:after{background:linear-gradient(135deg,#e63946,#d62828);border-radius:2px;bottom:-10px;content:"";height:4px;left:50%;position:absolute;transform:translateX(-50%);width:100px}.section-subtitle{color:#6c757d;font-size:1.3rem;line-height:1.6;margin:0 auto;max-width:600px}@media (max-width:1200px){.blood-types-grid{gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (max-width:768px){.blood-types-section{padding:4rem 0}.blood-types-grid{gap:1.5rem;grid-template-columns:1fr}.blood-type-card{padding:2rem 1.5rem}.blood-type-header h3{font-size:1.8rem}.blood-type-legend{align-items:center;flex-direction:column;gap:1rem;text-align:center}.section-header h2{font-size:2.5rem}.section-subtitle{font-size:1.1rem}}@media (max-width:480px){.blood-type-card{padding:1.5rem 1rem}.blood-type-header{flex-direction:column;gap:1rem;text-align:center}.compatibility-info{text-align:center}.donate-to,.receive-from{justify-content:center}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.blood-type-card:nth-child(odd){animation:float 6s ease-in-out infinite}.blood-type-card:nth-child(2n){animation:float 6s ease-in-out 1s infinite}.blood-type-card:hover .blood-percentage{animation:bounce .5s ease}@keyframes bounce{0%,20%,60%,to{transform:translateY(0)}40%{transform:translateY(-8px)}80%{transform:translateY(-4px)}}.donate-to:before{color:var(--card-color-1);content:"→";font-weight:700;margin-right:.5rem}.receive-from:before{color:var(--card-color-2);content:"←";font-weight:700;margin-right:.5rem}.auth-required{background:#fff;border-radius:20px;box-shadow:0 10px 30px #00000014;margin:2rem auto;max-width:500px;padding:4rem 2rem;text-align:center}.help-restock-page{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:calc(100vh - 160px);padding:2rem 0}.restock-form-container{grid-gap:3rem;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin-top:2rem}.restock-form{background:#fff;border:1px solid #e9ecef;border-radius:20px}.restock-form,.restock-info{box-shadow:0 10px 30px #00000014;padding:2.5rem}.restock-info{background:linear-gradient(135deg,#457b9d,#1d3557);border-radius:20px;color:#fff}.restock-info h3{color:#fff;margin-bottom:1.5rem}.restock-info ul{list-style:none;margin-bottom:2rem;padding:0}.restock-info li{padding:.5rem 0 .5rem 1.5rem;position:relative}.restock-info li:before{color:#a8dadc;content:"✓";font-weight:700;left:0;position:absolute}.emergency-contact{background:#ffffff1a;border-left:4px solid #e63946;border-radius:10px;padding:1.5rem}.emergency-number{font-size:1.2rem;font-weight:700;margin:.5rem 0}.success-message{background:linear-gradient(135deg,#d4edda,#c3e6cb);border-left:4px solid #28a745;border-radius:10px;color:#155724;font-weight:600;margin-bottom:1.5rem;padding:1rem}@media (max-width:768px){.restock-form-container{gap:2rem;grid-template-columns:1fr}.restock-form,.restock-info{padding:2rem}}.donor-search-page{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:calc(100vh - 160px);padding:2rem 0}.donor-card{background:#fff;border-left:4px solid #e63946;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:1.5rem;transition:all .3s ease}.donor-card:hover{box-shadow:0 4px 15px #00000026;transform:translateY(-2px)}.donor-header{align-items:center;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.donor-header h3{color:#2c3e50;margin:0}.availability{border-radius:20px;font-size:.8rem;font-weight:600;padding:4px 12px;text-transform:uppercase}.availability.available{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.availability.unavailable{background:#f8d7da;border:1px solid #f1b0b7;color:#721c24}.donor-details p{color:#2c3e50;margin:.5rem 0}.blood-group,.donor-details strong{color:#e63946}.blood-group{font-size:1.1rem;font-weight:700}.donor-actions{border-top:1px solid #e9ecef;display:flex;gap:.5rem;margin-top:1rem;padding-top:1rem}.donors-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.donors-grid,.search-results{margin-top:2rem}.results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.empty-state{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:3rem}.empty-icon{font-size:4rem;margin-bottom:1rem;opacity:.5}.about-page{background:linear-gradient(135deg,#f8f9fa,#e9ecef);min-height:calc(100vh - 160px);padding:2rem 0}.about-content{background:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:2rem}.about-section{border-bottom:1px solid #e9ecef;margin-bottom:3rem;padding-bottom:2rem}.about-section:last-child{border-bottom:none;margin-bottom:0}.about-section h2{border-bottom:2px solid #e63946;color:#e63946;display:inline-block;margin-bottom:1rem;padding-bottom:.5rem}.help-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-top:1.5rem}.help-item{background:#f8f9fa;border-left:4px solid #e63946;border-radius:8px;padding:1.5rem}.help-item h3{color:#2c3e50;margin-bottom:.5rem}.facts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:1.5rem}.fact-card{background:linear-gradient(135deg,#e63946,#d62828);border-radius:8px;color:#fff;padding:1.5rem;text-align:center}.fact-card h3{font-size:1.5rem;font-weight:700;margin-bottom:.5rem}.cta-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.5rem}@media (max-width:768px){.about-content{padding:1.5rem}.facts-grid,.help-grid{grid-template-columns:1fr}.cta-actions{flex-direction:column}}.dashboard-header{background:linear-gradient(135deg,#fff,#f8f9fa);border:1px solid #e9ecef;border-radius:20px;box-shadow:0 10px 30px #00000014;margin-bottom:2rem;padding:2.5rem}.header-content{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.5rem}.header-text h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.header-text p{color:#6c757d;font-size:1.1rem}.header-badges{display:flex;gap:1rem}.role-badge .role{border-radius:20px;font-size:.8rem;font-weight:700;letter-spacing:.5px;padding:.5rem 1rem;text-transform:uppercase}.role-donor{background:#2a9d8f;color:#fff}.role-hospital{background:#457b9d;color:#fff}.role-admin{background:#e63946;color:#fff}.availability-badge{border-radius:20px;font-size:.8rem;font-weight:600;padding:.5rem 1rem}.availability-badge.available{background:#d4edda;color:#155724}.availability-badge.unavailable{background:#f8d7da;color:#721c24}.header-stats{grid-gap:1.5rem;border-top:1px solid #e9ecef;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding-top:1.5rem}.header-stat{text-align:center}.stat-label{color:#6c757d;display:block;font-size:.9rem;margin-bottom:.5rem}.stat-value{color:#2c3e50;font-size:2rem;font-weight:800}.stat-value.critical{color:#e63946}.dashboard-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr 1fr}.dashboard-column{display:flex;flex-direction:column;gap:2rem}.activity-card,.donations-card,.donors-card,.emergency-card,.inventory-card,.quick-actions-card,.stats-card{background:linear-gradient(135deg,#fff,#fafbfc);border:1px solid #fffc;border-radius:16px;box-shadow:0 4px 20px #00000014;padding:2rem}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.card-header h2{color:#2c3e50;font-size:1.5rem;margin:0}.view-all{color:#e63946;font-size:.9rem;font-weight:600;text-decoration:none}.view-all:hover{text-decoration:underline}.actions-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.action-card{background:#f8f9fa;border:1px solid #e9ecef;border-radius:12px;color:inherit;cursor:pointer;padding:1.5rem;text-decoration:none;transition:all .3s ease}.action-card:hover{background:#fff;border-color:#e63946;box-shadow:0 4px 15px #0000001a;transform:translateY(-2px)}.action-icon{font-size:2rem;margin-bottom:.5rem}.action-content h3{color:#2c3e50;font-size:1rem;margin-bottom:.5rem}.action-content p{color:#6c757d;font-size:.85rem;margin:0}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.stat-item{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;gap:1rem;padding:1rem}.stat-icon{font-size:1.5rem}.stat-info h3{color:#6c757d;font-size:.8rem;letter-spacing:.5px;margin:0 0 .25rem;text-transform:uppercase}.stat-number{color:#2c3e50;font-size:1.5rem;font-weight:800;margin:0}.stat-trend{border-radius:10px;font-size:.7rem;font-weight:600;padding:.2rem .5rem}.trend-up{background:#d4edda;color:#155724}.trend-down{background:#f8d7da;color:#721c24}.activity-list,.donations-list,.donors-list{display:flex;flex-direction:column;gap:1rem}.activity-item,.donation-item,.donor-item{align-items:center;background:#f8f9fa;border-radius:10px;display:flex;gap:1rem;padding:1rem;transition:all .3s ease}.activity-item:hover,.donation-item:hover,.donor-item:hover{background:#fff;transform:translateX(5px)}.activity-icon,.donation-icon{font-size:1.2rem}.donor-avatar{align-items:center;background:#e63946;border-radius:50%;color:#fff;display:flex;font-weight:700;height:40px;justify-content:center;width:40px}.activity-content h4,.donation-content h4,.donor-info h4{color:#2c3e50;font-size:.9rem;margin:0 0 .25rem}.activity-content p,.donation-content p,.donor-info p{color:#6c757d;font-size:.8rem;margin:0}.blood-type{color:#e63946;font-weight:600}.urgency-badge{border-radius:8px;font-size:.7rem;font-weight:600;padding:.2rem .5rem;text-transform:uppercase}.urgency-low{background:#d4edda;color:#155724}.urgency-medium{background:#fff3cd;color:#856404}.urgency-high{background:#f8d7da;color:#721c24}.activity-time,.hospital-name{color:#6c757d;font-size:.7rem}.activity-status,.availability-status{margin-left:auto}.impact-badge{background:#e63946;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;padding:.3rem .6rem}.inventory-summary{display:flex;font-size:.9rem;gap:1rem}.summary-item{color:#6c757d}.summary-item.critical{color:#e63946;font-weight:600}.emergency-card{background:linear-gradient(135deg,#e63946,#d62828);color:#fff}.emergency-content{align-items:center;display:flex;gap:1.5rem}.emergency-icon{font-size:3rem}.emergency-text h3{color:#fff;margin-bottom:.5rem}.emergency-text p{margin-bottom:1rem;opacity:.9}.emergency-contact{align-items:center;display:flex;gap:1rem}.emergency-note{font-size:.8rem;opacity:.8}.empty-state{color:#6c757d;padding:2rem;text-align:center}@media (max-width:1024px){.dashboard-grid{grid-template-columns:1fr}}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem}.header-badges{align-self:flex-start}.actions-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}}.registration-info{background:#f8f9fa;border-left:4px solid #457b9d;border-radius:10px;margin-top:2rem;padding:1.5rem}.registration-info h4{color:#2c3e50;font-size:1rem;margin-bottom:1rem}.registration-info ul{list-style:none;margin:0;padding:0}.registration-info li{color:#6c757d;font-size:.9rem;line-height:1.4;padding:.5rem 0}.registration-info strong{color:#2c3e50}.admin-header{background:linear-gradient(135deg,#fff,#f8f9fa);border-radius:15px;box-shadow:0 4px 20px #00000014;margin-bottom:2rem;padding:2rem;text-align:center}.admin-header h1{color:#2c3e50;font-size:2.5rem;margin-bottom:.5rem}.admin-header p{color:#6c757d;font-size:1.1rem}.admin-tabs{background:#fff;border-radius:15px;box-shadow:0 2px 10px #00000014;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem;padding:1rem}.tab-btn{background:#f8f9fa;border:none;border-radius:10px;color:#6c757d;cursor:pointer;flex:1 1;font-weight:600;min-width:120px;padding:1rem 1.5rem;transition:all .3s ease}.tab-btn.active{background:#e63946;box-shadow:0 4px 15px #e639464d;color:#fff}.tab-btn:hover:not(.active){background:#e9ecef;transform:translateY(-2px)}.section-header{margin-bottom:2rem;text-align:center}.section-header h2{color:#2c3e50;font-size:1.8rem;margin-bottom:.5rem}.section-header p{color:#6c757d;font-size:1rem}.table-container{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;overflow:hidden}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid #e9ecef;padding:1rem 1.5rem;text-align:left}th{background:#f8f9fa;color:#2c3e50;font-size:.8rem}.role-badge,th{font-weight:600;letter-spacing:.5px;text-transform:uppercase}.role-badge{border-radius:15px;font-size:.7rem;padding:.3rem .8rem}.role-badge.donor{background:#2a9d8f1a;border:1px solid #2a9d8f4d;color:#2a9d8f}.role-badge.hospital{background:#457b9d1a;border:1px solid #457b9d4d;color:#457b9d}.role-badge.admin{background:#e639461a;border:1px solid #e639464d;color:#e63946}.stock-status{border-radius:15px;font-size:.7rem;font-weight:600;letter-spacing:.5px;padding:.3rem .8rem;text-transform:uppercase}.stock-status.good{background:#2a9d8f1a;border:1px solid #2a9d8f4d;color:#2a9d8f}.stock-status.low{background:#e9c46a1a;border:1px solid #e9c46a4d;color:#e9c46a}.stock-status.critical{animation:pulse 2s infinite;background:#e639461a;border:1px solid #e639464d;color:#e63946}.inventory-controls{align-items:center;display:flex;gap:.5rem}.inventory-input{border:1px solid #ddd;border-radius:5px;padding:.5rem;text-align:center;width:80px}.donor-card,.request-card{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 10px #00000014;padding:1.5rem;transition:all .3s ease}.donor-card:hover,.request-card:hover{box-shadow:0 4px 15px #0000001f;transform:translateY(-2px)}.admin-dashboard{display:flex;flex-direction:column;gap:2rem}.inventory-overview{background:#fff;border-radius:15px;box-shadow:0 4px 20px #00000014;padding:2rem}.inventory-summary-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:1rem}.inventory-summary-item{border:2px solid #0000;border-radius:10px;padding:1rem;text-align:center}.inventory-summary-item.good{background:#2a9d8f1a;border-color:#2a9d8f4d}.inventory-summary-item.low{background:#e9c46a1a;border-color:#e9c46a4d}.inventory-summary-item.critical{animation:pulse 2s infinite;background:#e639461a;border-color:#e639464d}.blood-group{display:block;font-size:1.2rem;font-weight:800;margin-bottom:.5rem}.units{color:#6c757d;font-size:.9rem}.stock-level{display:block;font-size:.7rem;font-weight:600;letter-spacing:.5px;margin-top:.5rem;text-transform:uppercase}.search-filters{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:150px}.filter-group label{color:#2c3e50;font-size:.9rem;font-weight:600}.filter-group input,.filter-group select{border:1px solid #ddd;border-radius:8px;font-size:.9rem;padding:.75rem}@media (max-width:768px){.admin-tabs{flex-direction:column}.tab-btn{min-width:auto}.inventory-controls,.search-filters{flex-direction:column}.table-container{overflow-x:auto}}.blood-group{color:#1a1a1a!important;mix-blend-mode:normal!important;position:relative;text-shadow:none!important;z-index:5}
/*# sourceMappingURL=main.e83468d8.css.map*/