@import url(https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap);:root{--primary:#dc2626;--primary-dark:#b91c1c;--primary-light:#fecaca;--primary-glow:#dc262626;--secondary:#1e293b;--accent:#f43f5e;--bg-main:#f8fafc;--bg-card:#fff;--bg-glass:#ffffffb3;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--border:#e2e8f0;--success:#16a34a;--success-bg:#dcfce7;--warning:#d97706;--warning-bg:#fef3c7;--danger:#dc2626;--danger-bg:#fef2f2;--info:#2563eb;--info-bg:#dbeafe;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012,0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014,0 4px 6px -4px #0000000d;--shadow-xl:0 20px 25px -5px #00000014,0 8px 10px -6px #0000000a;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--transition:all 0.2s cubic-bezier(0.4,0,0.2,1);--bg-request-tint:#fff5f5}[data-theme=dark]{--bg-main:#0f172a;--bg-card:#1e293b;--bg-glass:#1e293bcc;--bg-request-tint:#1e1b2e;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#64748b;--border:#334155;--secondary:#e2e8f0;--success-bg:#16a34a26;--warning-bg:#d9770626;--danger-bg:#dc262626;--info-bg:#2563eb26;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 6px -1px #0006,0 2px 4px -2px #0000004d;--shadow-lg:0 10px 15px -3px #00000080,0 4px 6px -4px #0000004d;--shadow-xl:0 20px 25px -5px #00000080,0 8px 10px -6px #0000004d}[data-theme=dark] body{background-color:#f8fafc;background-color:var(--bg-main)}[data-theme=dark] .header{background:#0f172ae6;border-bottom-color:#e2e8f0;border-bottom-color:var(--border)}[data-theme=dark] .filter-chip-group select,[data-theme=dark] .filter-group input,[data-theme=dark] .filter-group select,[data-theme=dark] .form-group input,[data-theme=dark] .form-group select,[data-theme=dark] .form-group textarea,[data-theme=dark] .search-main-input{background:#fff;background:var(--bg-card);border-color:#e2e8f0;border-color:var(--border);color:#0f172a;color:var(--text-primary)}[data-theme=dark] .admin-tabs,[data-theme=dark] .profile-tabs{background:#fff;background:var(--bg-card);border-color:#e2e8f0;border-color:var(--border)}[data-theme=dark] .footer{background:#020617}[data-theme=dark] .auth-container{background:linear-gradient(135deg,#0f172a,#1e1b2e)}[data-theme=dark] .auth-form{background:#fff;background:var(--bg-card);border-color:#e2e8f0;border-color:var(--border)}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;background-color:var(--bg-main);color:#0f172a;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}html{scroll-behavior:smooth}.btn{align-items:center;border:none;border-radius:8px;border-radius:var(--radius-sm);cursor:pointer;display:inline-flex;font-family:Inter,sans-serif;font-size:14px;font-weight:600;gap:6px;justify-content:center;letter-spacing:.01em;padding:11px 22px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.btn:active{transform:scale(.97)}.btn-primary{background:linear-gradient(135deg,#dc2626,#f43f5e);background:linear-gradient(135deg,var(--primary),var(--accent));box-shadow:0 2px 8px #dc262626;box-shadow:0 2px 8px var(--primary-glow);color:#fff}.btn-primary:hover{background:linear-gradient(135deg,#b91c1c,#dc2626);background:linear-gradient(135deg,var(--primary-dark),var(--primary));box-shadow:0 4px 16px #dc262626;box-shadow:0 4px 16px var(--primary-glow);transform:translateY(-1px)}.btn-secondary{background:#1e293b;background:var(--secondary);color:#fff}.btn-secondary:hover{background:#334155;transform:translateY(-1px)}.btn-success{background:#16a34a;background:var(--success);color:#fff}.btn-success:hover{background:#15803d}.btn-warning{background:#d97706;background:var(--warning);color:#fff}.btn-warning:hover{background:#b45309}.btn-danger{background:#dc2626;background:var(--danger);color:#fff}.btn-danger:hover{background:#b91c1c;background:var(--primary-dark)}.btn-sm{padding:7px 14px}.btn-block{font-size:15px;padding:14px;width:100%}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none!important}.btn-link{background:none;border:none;color:#dc2626;color:var(--primary);cursor:pointer;font-family:Inter,sans-serif;font-size:14px;font-weight:600;padding:0;text-decoration:underline}.btn-link:hover{color:#b91c1c;color:var(--primary-dark)}.form-group{display:flex;flex-direction:column;margin-bottom:20px}.form-group label{color:#475569;color:var(--text-secondary);font-size:13px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.form-group input,.form-group select,.form-group textarea{background:#fff;background:var(--bg-card);border:2px solid #e2e8f0;border:2px solid var(--border);border-radius:8px;border-radius:var(--radius-sm);color:#0f172a;color:var(--text-primary);font-family:Inter,sans-serif;font-size:15px;padding:12px 16px;transition:all .2s cubic-bezier(.4,0,.2,1);transition:var(--transition)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#dc2626;border-color:var(--primary);box-shadow:0 0 0 4px #dc262626;box-shadow:0 0 0 4px var(--primary-glow);outline:none}.form-group input::placeholder{color:#94a3b8;color:var(--text-muted)}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.container{margin:0 auto;max-width:1200px;padding:0 20px}.text-center{text-align:center}.blood-badge{align-items:center;background:#fef2f2;background:var(--danger-bg);border-radius:20px;color:#dc2626;color:var(--danger);display:inline-flex;font-weight:700;padding:4px 12px}@media (max-width:768px){.btn{font-size:14px;padding:10px 16px}.form-group{margin-bottom:16px}.form-row{gap:0;grid-template-columns:1fr}}.header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffffd9;border-bottom:1px solid var(--border);box-shadow:var(--shadow-sm);position:sticky;top:0;z-index:100}.header-container{height:70px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.header-container,.logo{align-items:center;display:flex}.logo{color:var(--text-primary);font-size:20px;font-weight:800;gap:10px;letter-spacing:-.02em;text-decoration:none}.logo-icon{filter:drop-shadow(0 2px 4px rgba(220,38,38,.3));font-size:28px}.logo:hover{color:var(--primary)}.nav-menu{align-items:center;display:flex;gap:8px}.nav-menu a{border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:500;padding:8px 16px;text-decoration:none;transition:var(--transition)}.nav-menu a:hover{background:var(--primary-glow);color:var(--primary)}.user-menu{align-items:center;border-left:2px solid var(--border);display:flex;gap:12px;margin-left:8px;padding-left:16px}.user-name{color:var(--text-primary);font-size:14px;font-weight:600}.logout-btn{background:var(--danger-bg);border:none;border-radius:var(--radius-sm);color:var(--danger);cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:600;padding:7px 14px;transition:var(--transition)}.logout-btn:hover{background:var(--danger);color:#fff}.theme-toggle{align-items:center;background:var(--bg-main);border:1px solid var(--border);border-radius:50%;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;padding:0;transition:var(--transition);width:36px}.theme-toggle:hover{background:var(--border);transform:rotate(20deg)}.user-name-link{align-items:center;border-radius:var(--radius-sm)!important;display:flex!important;gap:8px;padding:4px 8px!important;text-decoration:none!important}.user-name-link:hover{background:var(--bg-main)!important}.user-avatar-mini{background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:50%;color:#fff;flex-shrink:0;font-size:.75rem;font-weight:800;height:28px;justify-content:center;width:28px}.auth-links,.user-avatar-mini{align-items:center;display:flex}.auth-links{border-left:2px solid var(--border);gap:8px;margin-left:8px;padding-left:16px}.nav-login-btn{background:var(--primary)!important;border-radius:var(--radius-sm)!important;color:#fff!important;font-size:13px!important;font-weight:600!important;padding:8px 18px!important}.nav-login-btn:hover{background:var(--primary-dark)!important;box-shadow:0 2px 8px var(--primary-glow)}.nav-admin-btn{background:#1e293b!important;border-radius:var(--radius-sm)!important;color:#fff!important;font-size:13px!important;font-weight:600!important;padding:8px 18px!important}.nav-admin-btn:hover{background:#334155!important}.user-role-tag{background:var(--primary-glow);border-radius:12px;color:var(--primary);font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 8px;text-transform:uppercase}.admin-link{color:var(--text-muted)!important;font-size:13px!important}.admin-link:hover{color:var(--text-primary)!important}.admin-login-footer{color:var(--text-secondary);font-size:14px;margin-top:24px;text-align:center}.admin-login-footer a{color:var(--primary);font-weight:600;text-decoration:none}.admin-login-footer a:hover{text-decoration:underline}@media (max-width:768px){.header-container{height:60px;padding:0 16px}.logo{font-size:16px}.nav-menu{gap:4px}.nav-menu a{font-size:12px;padding:6px 10px}.auth-links,.user-menu{margin-left:4px;padding-left:8px}}.footer{background:#0f172a;color:#ffffffb3;margin-top:auto;padding:48px 24px 0}.footer-container{grid-gap:32px;display:grid;gap:32px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:1100px;padding-bottom:32px}.footer-section h3{color:#fff;font-size:1rem;font-weight:700;letter-spacing:-.01em;margin-bottom:16px}.footer-section p{font-size:.9rem;line-height:1.7;margin-bottom:6px}.footer-section ul{list-style:none;padding:0}.footer-section ul li{margin-bottom:8px}.footer-section ul li a{color:#fff9;font-size:.9rem;text-decoration:none;transition:var(--transition)}.footer-section ul li a:hover{color:#fff}.footer-bottom{border-top:1px solid #ffffff1a;color:#fff6;font-size:.85rem;padding:20px 0;text-align:center}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:300px}.spinner{animation:spin .8s linear infinite;border:4px solid var(--border);border-radius:50%;border-top-color:var(--primary);height:44px;width:44px}.loading-container p{color:var(--text-muted);font-size:14px;font-weight:500}@keyframes spin{to{transform:rotate(1turn)}}.chatbot-wrapper{align-items:flex-end;bottom:30px;display:flex;flex-direction:column;position:fixed;right:30px;z-index:1000}.chatbot-toggle{align-items:center;background-color:#e53935;background-color:var(--primary-color,#e53935);border:none;border-radius:50%;box-shadow:0 4px 15px #e5393566;color:#fff;cursor:pointer;display:flex;font-size:24px;height:60px;justify-content:center;transition:transform .3s ease,background-color .3s;width:60px}.chatbot-toggle:hover{background-color:#d32f2f;transform:scale(1.05)}.chatbot-window{animation:slideUp .3s ease-out forwards;background-color:#fff;background-color:var(--bg-color,#fff);border:1px solid #eee;border:1px solid var(--border-color,#eee);border-radius:12px;box-shadow:0 5px 25px #00000026;display:flex;flex-direction:column;height:500px;margin-bottom:20px;max-height:80vh;overflow:hidden;transform-origin:bottom right;width:350px}.chatbot-header{background-color:#e53935;background-color:var(--primary-color,#e53935);border-bottom:1px solid #0000001a;color:#fff;padding:15px 20px}.chatbot-header h3{font-size:18px;font-weight:600;margin:0}.chatbot-header p{font-size:12px;margin:5px 0 0;opacity:.8}.chatbot-messages{background-color:#f9f9f9;background-color:var(--bg-secondary,#f9f9f9);display:flex;flex:1 1;flex-direction:column;gap:15px;overflow-y:auto;padding:20px}.message-bubble{word-wrap:break-word;border-radius:15px;font-size:14px;line-height:1.4;max-width:80%;padding:12px 16px}.message-bubble.user{align-self:flex-end;background-color:#e53935;background-color:var(--primary-color,#e53935);border-bottom-right-radius:4px;color:#fff}.message-bubble.model{align-self:flex-start;border:1px solid #eee;border:1px solid var(--border-color,#eee);border-bottom-left-radius:4px;box-shadow:0 2px 5px #00000005;color:#333;color:var(--text-primary,#333)}.chatbot-input,.message-bubble.model{background-color:#fff;background-color:var(--bg-color,#fff)}.chatbot-input{border-top:1px solid #eee;border-top:1px solid var(--border-color,#eee);display:flex;padding:15px}.chatbot-input input{background-color:#fafafa;background-color:var(--bg-secondary,#fafafa);border:1px solid #ddd;border:1px solid var(--border-color,#ddd);border-radius:20px;color:#333;color:var(--text-primary,#333);flex:1 1;font-size:14px;outline:none;padding:12px 15px;transition:border-color .3s}.chatbot-input input:focus{border-color:#e53935;border-color:var(--primary-color,#e53935)}.chatbot-input button{align-items:center;background-color:#e53935;background-color:var(--primary-color,#e53935);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:40px;justify-content:center;margin-left:10px;transition:background-color .3s,opacity .3s;width:40px}.chatbot-input button:hover:not(:disabled){background-color:#d32f2f}.chatbot-input button:disabled{cursor:not-allowed;opacity:.5}.typing-indicator{align-items:center;display:flex;gap:4px;padding:15px 20px!important}.typing-indicator span{animation:bounce 1.4s ease-in-out infinite both;background-color:#aaa;border-radius:50%;height:6px;width:6px}.typing-indicator span:first-child{animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@media (max-width:480px){.chatbot-window{height:450px;width:300px}.chatbot-wrapper{bottom:20px;right:20px}}[data-theme=dark] .chatbot-window{background-color:var(--bg-card);border-color:var(--border)}[data-theme=dark] .chatbot-header{border-bottom-color:var(--border)}[data-theme=dark] .chatbot-messages{background-color:var(--bg-main)}[data-theme=dark] .message-bubble.model{background-color:var(--bg-card);border-color:var(--border);color:var(--text-primary)}[data-theme=dark] .chatbot-input{background-color:var(--bg-card);border-top-color:var(--border)}[data-theme=dark] .chatbot-input input{background-color:var(--bg-main);border-color:var(--border);color:var(--text-primary)}.compatibility-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);margin:40px 0;overflow:hidden;padding:40px}.map-header{margin-bottom:40px;text-align:center}.map-header h2{color:var(--text-primary);font-size:1.8rem;font-weight:800;margin-bottom:8px}.map-header p{color:var(--text-muted);font-size:1rem}.map-visual-wrapper{margin:0 auto;max-width:800px;position:relative}.blood-groups-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(4,1fr);margin-bottom:40px}.blood-node{align-items:center;aspect-ratio:1;background:var(--bg-main);border:2px solid var(--border);border-radius:20px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:2}.blood-node:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md);transform:translateY(-5px)}.node-content{align-items:center;display:flex;justify-content:center;position:relative}.group-name{color:var(--text-secondary);font-size:1.5rem;font-weight:900;transition:all .3s ease}.node-label{bottom:12px;color:var(--text-muted);font-size:10px;font-weight:800;letter-spacing:.1em;position:absolute;text-transform:uppercase}.blood-node.selected{background:var(--primary);border-color:var(--primary);box-shadow:0 10px 30px var(--primary-glow);transform:scale(1.1)}.blood-node.selected .group-name{color:#fff}.blood-node.selected .node-label{color:#fffc}.blood-node.can-give{background:var(--danger-bg);border-color:var(--danger)}.blood-node.can-give .group-name{color:var(--danger)}.blood-node.can-receive{background:var(--success-bg);border-color:var(--success)}.blood-node.can-receive .group-name{color:var(--success)}.blood-node.both{background:linear-gradient(135deg,var(--danger-bg),var(--success-bg));border-color:var(--accent)}.pulse-ring{animation:pulse 2s infinite;border:4px solid var(--primary);border-radius:50%;height:100px;position:absolute;width:100px}.map-legend{background:var(--bg-main);border-radius:var(--radius-md);display:flex;gap:24px;justify-content:center;padding:20px}.legend-item{align-items:center;color:var(--text-secondary);display:flex;font-size:13px;font-weight:600;gap:8px}.dot{border-radius:50%;height:12px;width:12px}.dot.you{background:var(--primary)}.dot.give{background:var(--danger)}.dot.receive{background:var(--success)}.compatibility-details{grid-gap:24px;display:grid;gap:24px;grid-template-columns:1fr 1fr;margin-top:40px}.detail-box{border:1px solid var(--border);border-radius:var(--radius-md);padding:24px}.detail-box.give{background:linear-gradient(135deg,var(--danger-bg),var(--bg-card));border-left:5px solid var(--danger)}.detail-box.give,.detail-box.receive{transition:transform .3s ease,box-shadow .3s ease}.detail-box.receive{background:linear-gradient(135deg,var(--success-bg),var(--bg-card));border-left:5px solid var(--success)}.detail-box:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.detail-box h4{font-size:1.1rem;margin-bottom:16px}.detail-groups{display:flex;flex-wrap:wrap;gap:10px}.detail-groups .badge{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-primary);font-size:14px;font-weight:800;padding:8px 16px;transition:all .2s ease}.detail-groups .badge:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:scale(1.05)}.animate-in{animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.blood-groups-grid{grid-template-columns:repeat(2,1fr)}.compatibility-details{grid-template-columns:1fr}.map-legend{align-items:center;flex-direction:column}}.home-page{overflow-x:hidden}.premium-hero{align-items:center;background:#0f172a;color:#fff;display:flex;min-height:90vh;overflow:hidden;padding:80px 5%;position:relative}.hero-overlay{background:radial-gradient(circle at 70% 30%,#dc262626,#0000 50%);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0}.hero-container{align-items:center;display:flex;gap:60px;margin:0 auto;max-width:1200px;position:relative;z-index:2}.hero-text-content{animation:heroSlideLeft 1s ease-out;flex:1.2 1}.badge-new{background:#f59e0b33;border:1px solid #f59e0b;border-radius:30px;color:#fbbf24;display:inline-block;font-size:13px;font-weight:700;margin-bottom:24px;padding:6px 16px}.hero-text-content h1{font-size:4rem;font-weight:900;letter-spacing:-.04em;line-height:1.1;margin-bottom:24px}.highlight{color:var(--primary);text-shadow:0 0 20px var(--primary-glow)}.hero-text-content p{color:#94a3b8;font-size:1.2rem;line-height:1.6;margin-bottom:40px;max-width:600px}.hero-action-buttons{display:flex;gap:20px;margin-bottom:48px}.btn-glow-primary{background:var(--primary);border-radius:12px;box-shadow:0 10px 25px var(--primary-glow);color:#fff;font-size:1.1rem;font-weight:800;padding:16px 40px;text-decoration:none;transition:all .3s ease}.btn-glow-primary:hover{box-shadow:0 15px 35px var(--primary-glow);transform:translateY(-3px)}.btn-glass{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff0d;border:1px solid #ffffff1a;border-radius:12px;color:#fff;font-size:1.1rem;font-weight:700;padding:16px 40px;text-decoration:none;transition:all .3s ease}.btn-glass:hover{background:#ffffff1a}.hero-trust-badges{display:flex;gap:30px}.trust-item{align-items:center;color:#64748b;display:flex;font-size:14px;font-weight:600;gap:8px}.trust-item span{font-size:18px}.hero-visual{animation:heroFadeIn 1.5s ease-out;display:flex;flex:0.8 1;justify-content:center}.blood-drop-animation{height:200px;position:relative;width:200px}.drop{animation:dropFloat 3s ease-in-out infinite;background:var(--primary);border-radius:50% 0 50% 50%;box-shadow:0 10px 40px var(--primary-glow);height:100px;margin:50px auto;transform:rotate(-45deg);width:100px}@keyframes dropFloat{0%,to{transform:rotate(-45deg) translateY(0)}50%{transform:rotate(-45deg) translateY(-20px)}}.premium-features{background:var(--bg-main);padding:100px 5%}.section-header{margin-bottom:60px;text-align:center}.section-header h2{color:var(--text-primary);font-size:2.5rem;font-weight:900}.section-header p{color:var(--text-muted);font-size:1.1rem}.features-container{grid-gap:30px;display:grid;gap:30px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto;max-width:1200px}.feature-item{background:var(--bg-card);border:1px solid var(--border);border-radius:24px;padding:40px;position:relative;transition:all .3s ease}.feature-item:hover{border-color:var(--primary-light);box-shadow:0 20px 40px #0000000d;transform:translateY(-10px)}.feature-num{color:#000;font-size:3rem;font-weight:900;opacity:1;position:absolute;right:30px;top:30px;z-index:1}[data-theme=dark] .feature-num{color:var(--text-primary);opacity:.2}.feature-icon-box{align-items:center;background:var(--primary-glow);border-radius:16px;color:var(--primary);display:flex;font-size:24px;height:60px;justify-content:center;margin-bottom:24px;position:relative;width:60px;z-index:2}.feature-item h3{color:var(--text-primary);font-size:1.4rem;font-weight:800;margin-bottom:12px}.feature-item p{color:var(--text-muted);line-height:1.6}.impact-stats{background:#0f172a;color:#fff;padding:80px 5%}.stats-container{grid-gap:40px;display:grid;gap:40px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:0 auto;max-width:1200px;text-align:center}.stat-number{color:var(--primary);font-size:3.5rem;font-weight:900;margin-bottom:8px}.stat-label{color:#94a3b8;font-size:1rem;font-weight:700;letter-spacing:.1em}.final-cta{background:var(--bg-card);padding:120px 5%;text-align:center}.cta-content h2{font-size:3rem;font-weight:900;margin-bottom:20px}.cta-content p{color:#64748b;font-size:1.2rem;margin-bottom:40px}.btn-cta{background:var(--primary);border-radius:15px;box-shadow:0 10px 30px var(--primary-glow);color:#fff;display:inline-block;font-size:1.2rem;font-weight:800;padding:20px 50px;text-decoration:none;transition:all .3s ease}.btn-cta:hover{box-shadow:0 15px 40px var(--primary-glow);transform:scale(1.05)}@keyframes heroSlideLeft{0%{opacity:0;transform:translateX(-50px)}to{opacity:1;transform:translateX(0)}}@keyframes heroFadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:968px){.hero-container{flex-direction:column;text-align:center}.hero-text-content h1{font-size:3rem}.hero-action-buttons,.hero-trust-badges{justify-content:center}.hero-text-content p{margin:0 auto 40px}}.alert{align-items:center;animation:slideIn .3s ease-out;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;font-family:Inter,sans-serif;font-size:14px;font-weight:500;gap:12px;max-width:400px;padding:14px 20px;position:fixed;right:24px;top:80px;z-index:1000}.alert-success{background:var(--success-bg);border:1px solid #16a34a33;color:var(--success)}.alert-error{background:var(--danger-bg);border:1px solid #dc262633;color:var(--danger)}.alert-close{background:none;border:none;color:inherit;cursor:pointer;font-size:20px;line-height:1;opacity:.6;padding:0}.alert-close:hover{opacity:1}@keyframes slideIn{0%{opacity:0;transform:translateX(20px)}to{opacity:1;transform:translateX(0)}}.auth-container{align-items:center;background:linear-gradient(135deg,#f8fafc,#fef2f2);display:flex;justify-content:center;min-height:calc(100vh - 140px);padding:40px 20px}.auth-form{animation:fadeIn .5s ease-out;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:480px;padding:48px 40px;width:100%}.auth-header{margin-bottom:32px;text-align:center}.auth-icon{display:block;font-size:3rem;margin-bottom:12px}.auth-header h2{color:var(--text-primary);font-size:1.75rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.auth-header p{color:var(--text-muted);font-size:.95rem}.auth-footer{color:var(--text-secondary);font-size:14px;margin-top:24px;text-align:center}.auth-footer a{color:var(--primary);font-weight:600;text-decoration:none}.auth-footer a:hover{text-decoration:underline}.otp-instruction{color:var(--text-secondary);font-size:14px;line-height:1.7;margin-bottom:24px;text-align:center}.otp-input{font-size:28px!important;font-weight:700;letter-spacing:10px;padding:16px!important;text-align:center}.otp-footer{margin-top:20px;text-align:center}.otp-footer p{color:var(--text-muted);font-size:13px;margin-bottom:6px}.admin-auth-container{background:linear-gradient(135deg,#0f172a,#1e293b 50%,#0f172a)}.admin-auth-form{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#1e293bf2;border:1px solid #ffffff1a}.admin-auth-form .auth-header h2{color:#fff}.admin-auth-form .auth-header p{color:#ffffff80}.admin-auth-form .form-group label{color:#fff9}.admin-auth-form .form-group input{background:#ffffff0d;border-color:#ffffff26;color:#fff}.admin-auth-form .form-group input::placeholder{color:#ffffff4d}.admin-auth-form .form-group input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #818cf833}.btn-admin{background:linear-gradient(135deg,#6366f1,#8b5cf6)!important;box-shadow:0 2px 12px #6366f14d;color:#fff!important}.btn-admin:hover{background:linear-gradient(135deg,#4f46e5,#7c3aed)!important;box-shadow:0 4px 20px #6366f166;transform:translateY(-1px)}@media (max-width:768px){.auth-form{border-radius:var(--radius-lg);padding:32px 24px}}.donor-search-page{background:var(--bg-main);min-height:100vh;padding-bottom:80px}.premium-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);border:1px solid var(--border);border-radius:20px;box-shadow:0 10px 30px #00000014;overflow:hidden}.request-search-page{background:linear-gradient(180deg,var(--bg-request-tint) 0,var(--bg-main) 100%);min-height:100vh;padding-bottom:80px}.structured-search-header{align-items:center;background:linear-gradient(90deg,#1a202c,#2d3748);color:#fff;display:flex;font-size:14px;font-weight:700;gap:10px;padding:12px 24px}.pulse-dot{animation:pulse 2s infinite;background:#48bb78;border-radius:50%;height:8px;width:8px}@keyframes pulse{0%{box-shadow:0 0 0 0 #48bb78b3;transform:scale(.95)}70%{box-shadow:0 0 0 10px #48bb7800;transform:scale(1)}to{box-shadow:0 0 0 0 #48bb7800;transform:scale(.95)}}.structured-search-title-box{align-items:center;display:flex;gap:12px;padding:24px 24px 10px}.icon-circle{align-items:center;background:var(--primary-glow);border-radius:12px;color:var(--primary);display:flex;font-size:18px;height:40px;justify-content:center;width:40px}.structured-search-title{color:var(--text-primary);font-size:1.25rem;font-weight:800;letter-spacing:-.02em}.search-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));padding:24px}.search-field-row{display:flex;flex-direction:column;gap:8px}.search-field-row label{color:#718096;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.search-field-row select{appearance:none;background-color:#f7fafc;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23a0aec0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;border:2px solid #e2e8f0;border-radius:12px;color:#2d3748;cursor:pointer;font-size:14px;font-weight:600;padding:12px 16px;transition:all .2s ease;width:100%}.search-field-row select:focus{background-color:#fff;border-color:var(--primary);box-shadow:0 0 0 4px var(--primary-glow);outline:none}.search-field-row select:disabled{background-color:#edf2f7;cursor:not-allowed;opacity:.6}.structured-search-footer{display:flex;justify-content:flex-end;padding:0 24px 24px}.btn-search-glow{background:var(--primary);border:none;border-radius:12px;box-shadow:0 4px 15px var(--primary-glow);color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:14px 30px;transition:all .3s ease}.btn-search-glow:hover{box-shadow:0 8px 25px var(--primary-glow);filter:brightness(1.1);transform:translateY(-2px)}.important-box{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 4px 15px #00000008;gap:15px;margin:30px 0;padding:20px}.important-box,.results-header{align-items:center;display:flex}.results-header{justify-content:space-between;margin-bottom:20px}.results-badge{align-items:center;background:var(--info-bg);border:1px solid var(--border);border-radius:30px;color:var(--info);display:inline-flex;font-size:13px;font-weight:700;padding:8px 16px;white-space:nowrap}.premium-table-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:20px;box-shadow:0 10px 30px #0000000d;overflow:hidden}.results-table{border-collapse:collapse;width:100%}.results-table th{background:#f7fafc;border-bottom:1px solid #e2e8f0;color:#718096;font-size:12px;font-weight:700;letter-spacing:.05em;padding:16px 24px;text-align:left;text-transform:uppercase}.results-table td{border-bottom:1px solid #f0f4f8;color:#2d3748;font-size:15px;padding:18px 24px}.results-table tr:last-child td{border-bottom:none}.donor-name-cell{font-weight:600;gap:12px}.avatar-mini,.donor-name-cell{align-items:center;display:flex}.avatar-mini{background:#edf2f7;border-radius:8px;color:#4a5568;font-size:14px;font-weight:800;height:32px;justify-content:center;width:32px}.status-pill{border-radius:20px;font-size:12px;font-weight:700;padding:6px 12px}.pill-available{background:#def7ec;color:#03543f}.pill-unavailable{background:#fde8e8;color:#9b1c1c}.phone-cell a{color:var(--primary);font-weight:700;text-decoration:none;transition:all .2s ease}.contact-actions{align-items:center;display:flex;gap:12px}.phone-number-link{align-items:center;background:var(--primary-glow);border:1px solid #0000;border-radius:8px;display:flex;gap:8px;padding:6px 12px;transition:all .3s ease}.phone-number-link:hover{background:var(--primary);box-shadow:0 4px 10px var(--primary-glow);color:#fff!important;text-decoration:none!important;transform:translateY(-1px)}.phone-number-link:hover .phone-text{color:#fff}.phone-icon,.phone-text{font-size:14px}.phone-text{color:var(--primary);white-space:nowrap}.btn-report-mini{background:#0000;border:1px solid #e2e8f0;border-radius:8px;color:#a0aec0;cursor:pointer;font-size:12px;font-weight:600;padding:6px 12px;transition:all .2s}.btn-report-mini:hover{background:#fff5f5;border-color:#feb2b2;color:#c53030}.fade-in-row{animation:tableFadeIn .5s ease-out forwards;opacity:0}@keyframes tableFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:640px){.search-grid{grid-template-columns:1fr}.results-table td:nth-child(3),.results-table th:nth-child(3){display:none}}.premium-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));margin-top:30px}.request-card-premium{animation:cardFadeIn .5s ease-out forwards;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:var(--bg-glass);border:1px solid var(--border);border-radius:20px;box-shadow:0 4px 20px #0000000d;display:flex;flex-direction:column;gap:20px;opacity:0;padding:24px;transition:all .3s ease}.request-card-premium:hover{border-color:var(--primary-light);box-shadow:0 12px 30px #0000001a;transform:translateY(-5px)}.card-top{align-items:flex-start;display:flex;justify-content:space-between}.hospital-info{align-items:center;display:flex;gap:10px}.hospital-icon{font-size:20px}.hospital-info h3{color:var(--text-primary);font-size:1.1rem;font-weight:800}.status-badges{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.pill-pending{background:#fef3c7;color:#92400e}.pill-fulfilled{background:#d1fae5;color:#065f46}.pill-cancelled{background:#fee2e2;color:#991b1b}.pill-low{background:#e0f2fe;color:#075985}.pill-medium{background:#ffedd5;color:#9a3412}.card-middle{align-items:center;background:var(--bg-main);border-radius:16px;display:flex;justify-content:space-between;padding:16px}.blood-requirement{display:flex;flex-direction:column}.blood-label{color:var(--text-muted);font-size:11px;font-weight:700;text-transform:uppercase}.blood-value{color:var(--primary);font-size:1.5rem;font-weight:900}.units-box{text-align:right}.units-value{color:var(--text-primary);font-size:1.5rem;font-weight:800}.units-label{color:var(--text-secondary);font-size:11px;font-weight:700;margin-left:4px;text-transform:uppercase}.card-details{display:flex;flex-direction:column;gap:10px}.detail-item{align-items:center;color:var(--text-secondary);display:flex;font-size:14px;gap:10px}.contact-item{margin-top:4px}.small-badge{font-size:13px;padding:4px 10px}.phone-link{color:var(--primary);font-weight:700;text-decoration:none}.pill-high{animation:highUrgencyPulse 1.5s infinite;background:#fee2e2;border:1px solid #fecaca;color:#b91c1c;font-weight:800}@keyframes highUrgencyPulse{0%{box-shadow:0 0 0 0 #b91c1c66}70%{box-shadow:0 0 0 8px #b91c1c00}to{box-shadow:0 0 0 0 #b91c1c00}}.card-notes{background:var(--warning-bg);border-left:4px solid var(--warning);border-radius:4px;color:var(--text-primary);font-size:13px;font-style:italic;padding:10px 14px}.card-footer{align-items:center;border-top:1px solid var(--border);display:flex;justify-content:space-between;padding-top:15px}.match-info{color:var(--text-muted);font-size:12px;font-weight:600}.btn-view-details{background:var(--primary-glow);border:1px solid #0000;border-radius:12px;color:var(--primary);display:inline-block;font-size:13px;font-weight:700;padding:10px 20px;text-align:center;text-decoration:none;transition:all .3s ease}.btn-view-details:hover{background:var(--primary);box-shadow:0 6px 15px var(--primary-glow);color:#fff!important;text-decoration:none!important;transform:translateY(-2px)}.request-details-page{margin:0 auto;max-width:1200px;padding-top:40px}.details-header-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-card);margin-bottom:30px;padding:40px}.details-top{align-items:center;display:flex;justify-content:space-between;margin-bottom:30px}.btn-back{background:#0000;border:none;color:#718096;cursor:pointer;font-weight:700;transition:color .2s}.btn-back:hover{color:var(--primary)}.status-group{display:flex;gap:12px}.details-main-info{align-items:flex-end;display:flex;justify-content:space-between}.hospital-branding h1{color:var(--text-primary);font-size:2.5rem;font-weight:900;letter-spacing:-.03em;margin:10px 0}.hospital-logo{font-size:40px}.location-text{color:var(--text-secondary);font-size:1.1rem;font-weight:600}.blood-large-badge{background:var(--bg-main);border-radius:20px;display:flex;flex-direction:column;min-width:200px;padding:24px;text-align:right}.blood-large-badge .label{color:var(--text-muted);font-size:12px;font-weight:800;text-transform:uppercase}.blood-large-badge .value{color:var(--primary);font-size:3.5rem;font-weight:900;line-height:1;margin:8px 0}.blood-large-badge .sub-label{color:var(--text-secondary);font-size:14px;font-weight:700}.details-grid-layout{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1.6fr 1fr}.info-section-premium{border:1px solid var(--border);border-radius:20px;margin-bottom:30px;padding:30px}.info-section-premium h3{align-items:center;color:var(--text-primary);display:flex;font-size:1.1rem;font-weight:800;gap:10px;margin-bottom:20px}.description-text{color:var(--text-primary);font-size:1.1rem;line-height:1.7}.requester-profile{align-items:center;display:flex;gap:20px}.avatar-large{align-items:center;background:var(--primary-glow);border-radius:24px;color:var(--primary);display:flex;font-size:32px;font-weight:900;height:80px;justify-content:center;width:80px}.profile-text h4{color:var(--text-primary);font-size:1.25rem;font-weight:800;margin-bottom:4px}.profile-text p{color:var(--text-secondary);font-size:14px}.matched-donors-section{border:1px solid var(--border);border-radius:20px;min-height:200px;padding:30px}.matched-list{display:flex;flex-direction:column;gap:15px}.matched-donor-item{background:var(--bg-glass);border:1px solid var(--border);border-radius:12px;padding:15px}.cta-box-premium{background:linear-gradient(135deg,#1a202c,#2d3748);border-radius:24px;color:#fff;margin-top:30px;padding:30px;text-align:center}.cta-box-premium p{font-size:1.1rem;font-weight:700;margin-bottom:20px}@media (max-width:900px){.details-grid-layout{grid-template-columns:1fr}.details-main-info{align-items:flex-start;flex-direction:column;gap:30px}.blood-large-badge{text-align:center;width:100%}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.dashboard{animation:fadeIn .4s ease-out;margin:0 auto;max-width:1100px;padding:40px 24px}.dashboard-header{margin-bottom:36px}.dashboard-header h1{color:var(--text-primary);font-size:2rem;font-weight:800;letter-spacing:-.02em}.dashboard-header p{color:var(--text-muted);font-size:1rem;margin-top:4px}.profile-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:32px;padding:32px}.profile-section h2{color:var(--text-primary);font-size:1.3rem;font-weight:700;margin-bottom:20px}.profile-info{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:24px}.info-item{background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px}.info-item label{color:var(--text-muted);display:block;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:4px;text-transform:uppercase}.info-item span{color:var(--text-primary);font-size:1.1rem;font-weight:700}.info-item .status.available{color:var(--success)}.info-item .status.not-available{color:var(--danger)}.availability-buttons{display:flex;flex-wrap:wrap;gap:12px}.create-request-section,.donor-form-section{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:var(--bg-request-tint);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:32px;padding:32px}.create-request-section h2{font-size:1.3rem;font-weight:700;margin-bottom:20px}.donor-form,.request-form{max-width:600px}.donor-form .btn,.request-form .btn{margin-right:12px;margin-top:8px}.requests-section{margin-top:32px}.requests-section h2{color:var(--text-primary);font-size:1.3rem;font-weight:700;margin-bottom:20px}.requests-list{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.request-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:var(--bg-glass);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px;transition:var(--transition)}.request-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.request-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.request-header h3{color:var(--text-primary);font-size:1.1rem;font-weight:700}.request-card p{color:var(--text-secondary);font-size:.95rem;margin:6px 0}.request-card strong{color:var(--text-primary)}.status{letter-spacing:.03em}.status,.urgency{border-radius:20px;display:inline-flex;font-size:11px;font-weight:700;padding:4px 10px;text-transform:uppercase}.request-actions{display:flex;gap:8px;margin-top:16px}@media (max-width:768px){.dashboard{padding:24px 16px}.profile-info,.requests-list{grid-template-columns:1fr}}.fulfillment-form{background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-md);margin-top:12px;padding:16px}.fulfillment-form label{color:var(--text-primary);display:block;font-size:13px;font-weight:700;margin-bottom:8px}.donor-select{background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:Inter,sans-serif;font-size:14px;margin-bottom:12px;padding:10px;width:100%}.btn-group-sm{display:flex;gap:8px}.btn-sm{font-size:13px;padding:6px 12px}.admin-dashboard{animation:adminFadeIn .5s ease-out;margin:0 auto;max-width:1200px;padding:40px 24px}.admin-dashboard .dashboard-header{margin-bottom:36px;text-align:center}.admin-dashboard .dashboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,var(--primary),var(--accent));-webkit-background-clip:text;font-size:2.2rem;font-weight:900;letter-spacing:-.03em}.admin-dashboard .dashboard-header p{color:var(--text-muted);font-size:1rem;margin-top:4px}.admin-tabs{background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:6px;justify-content:center;margin-bottom:36px;overflow-x:auto;padding:6px}.admin-tabs .tab{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:600;padding:10px 18px;transition:var(--transition);white-space:nowrap}.admin-tabs .tab:hover{background:var(--bg-main);color:var(--text-primary)}.admin-tabs .tab.active{background:var(--primary);box-shadow:0 2px 8px var(--primary-glow);color:#fff}.analytics-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));margin-bottom:32px}.analytics-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;padding:24px 20px;position:relative;text-align:center;transition:var(--transition)}.analytics-card:before{border-radius:4px 4px 0 0;content:"";height:4px;left:0;position:absolute;right:0;top:0}.card-users:before{background:linear-gradient(90deg,#6366f1,#8b5cf6)}.card-donors:before{background:linear-gradient(90deg,var(--primary),var(--accent))}.card-active:before{background:linear-gradient(90deg,var(--success),#34d399)}.card-requests:before{background:linear-gradient(90deg,var(--info),#60a5fa)}.card-pending:before{background:linear-gradient(90deg,var(--warning),#fbbf24)}.card-fulfilled:before{background:linear-gradient(90deg,#10b981,#6ee7b7)}.analytics-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.card-icon{font-size:1.6rem;margin-bottom:6px}.analytics-card h3{color:var(--text-primary);font-size:2rem;font-weight:900;margin-bottom:2px}.analytics-card p{color:var(--text-muted);font-size:.8rem;font-weight:600;margin:0}.blood-distribution{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-bottom:24px;padding:28px}.blood-distribution h2{font-size:1.2rem;font-weight:700;margin-bottom:16px}.blood-chips{display:flex;flex-wrap:wrap;gap:12px}.blood-chip{align-items:center;background:linear-gradient(135deg,var(--danger-bg),#fff);border:2px solid var(--primary-light);border-radius:var(--radius-md);display:flex;flex-direction:column;min-width:85px;padding:14px 20px;transition:var(--transition)}.blood-chip:hover{box-shadow:var(--shadow-md);transform:scale(1.05)}.chip-group{color:var(--primary);font-size:1.1rem;font-weight:800}.chip-count{color:var(--text-muted);font-size:.75rem;font-weight:500;margin-top:3px}.quick-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-top:24px}.summary-card{border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:24px}.summary-card h3{font-size:1.1rem;font-weight:700;margin-bottom:8px}.summary-card p{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.summary-donors{background:linear-gradient(135deg,#fef2f2,#fff);border-color:var(--primary-light)}.summary-recipients{background:linear-gradient(135deg,#eff6ff,#fff);border-color:#bfdbfe}.section-title{margin-bottom:28px}.section-title h2{color:var(--text-primary);font-size:1.4rem;font-weight:700}.section-subtitle{color:var(--text-muted);font-size:.95rem;margin-top:4px}.info-cards-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(360px,1fr))}.info-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow:hidden;transition:var(--transition)}.info-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.donor-info-card{border-top:4px solid var(--primary)}.recipient-info-card{border-top:4px solid var(--info)}.info-card-header{align-items:center;background:var(--bg-main);border-bottom:1px solid var(--border);display:flex;gap:14px;padding:20px 24px}.person-avatar{align-items:center;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:1.2rem;font-weight:800;height:48px;justify-content:center;width:48px}.donor-avatar{background:linear-gradient(135deg,var(--primary),var(--accent))}.recipient-avatar{background:linear-gradient(135deg,var(--info),#6366f1)}.person-name{flex:1 1}.person-name h3{color:var(--text-primary);font-size:1.05rem;font-weight:700;margin:0}.availability-dot{font-size:.8rem;font-weight:600}.availability-dot.available{color:var(--success)}.availability-dot.not-available{color:var(--danger)}.request-count{color:var(--text-muted);font-size:.8rem;font-weight:500}.pending-badge{color:var(--warning);font-weight:700}.blood-badge.large{font-size:1rem;font-weight:800;padding:6px 14px}.info-card-body{padding:16px 24px}.detail-row{align-items:center;display:flex;font-size:.9rem;gap:10px;padding:6px 0}.detail-icon{font-size:1rem;text-align:center;width:20px}.detail-text{color:var(--text-secondary)}.recipient-requests{padding:0 24px 16px}.toggle-requests-btn{background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:600;padding:8px 16px;text-align:left;transition:var(--transition);width:100%}.toggle-requests-btn:hover{background:var(--border);color:var(--text-primary)}.request-list-inline{display:flex;flex-direction:column;gap:10px;margin-top:12px}.mini-request-card{background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-sm);font-size:13px;padding:14px 16px}.mini-request-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.mini-request-card p{color:var(--text-secondary);margin:4px 0}.mini-request-card strong{color:var(--text-primary)}.mini-actions{display:flex;gap:8px;margin-top:10px}.table-wrapper{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);overflow-x:auto;padding:24px}.admin-table{border-collapse:collapse;width:100%}.admin-table th{border-bottom:2px solid var(--border);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.05em;padding:12px 16px;text-align:left;text-transform:uppercase}.admin-table td{border-bottom:1px solid var(--border);color:var(--text-secondary);font-size:14px;padding:14px 16px}.admin-table tbody tr:hover{background:var(--bg-main)}.admin-table tbody tr:last-child td{border-bottom:none}.user-cell{display:flex;flex-direction:column}.user-cell strong{color:var(--text-primary);font-size:14px}.user-cell small{color:var(--text-muted);font-size:12px;margin-top:2px}.role-badge,.status-badge,.urgency-badge{border-radius:20px;display:inline-flex;font-size:11px;font-weight:700;letter-spacing:.03em;padding:4px 10px;text-transform:uppercase}.status-available{background:var(--success-bg);color:var(--success)}.status-unavailable{background:var(--danger-bg);color:var(--danger)}.status-pending{background:var(--warning-bg);color:var(--warning)}.status-fulfilled{background:var(--success-bg);color:var(--success)}.status-cancelled{background:var(--danger-bg);color:var(--danger)}.role-donor{background:var(--info-bg);color:var(--info)}.role-recipient{background:var(--warning-bg);color:var(--warning)}.role-admin{background:#f3e8ff;color:#7c3aed}.urgency-low{background:var(--info-bg);color:var(--info)}.urgency-medium{background:var(--warning-bg);color:var(--warning)}.urgency-high{background:var(--danger-bg);color:var(--danger)}.admin-dashboard .requests-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.admin-dashboard .request-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:24px;transition:var(--transition)}.admin-dashboard .request-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.request-card-header{align-items:center;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;margin-bottom:16px;padding-bottom:12px}.request-card-header h3{color:var(--text-primary);font-size:1.05rem;font-weight:700}.request-card-body{margin-bottom:16px}.request-detail{align-items:center;display:flex;font-size:13px;justify-content:space-between;padding:5px 0}.detail-label{color:var(--text-muted);font-weight:500}.request-card-actions{border-top:1px solid var(--border);display:flex;gap:8px;padding-top:12px}.request-card-actions .btn{flex:1 1}.empty-state{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);padding:60px 20px;text-align:center}.empty-icon{font-size:3rem;margin-bottom:12px}.empty-state h3{color:var(--text-primary);font-size:1.2rem;font-weight:700;margin-bottom:6px}.empty-state p{color:var(--text-muted);font-size:.95rem}.section-container{animation:adminFadeIn .3s ease-out}@keyframes adminFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.admin-dashboard{padding:24px 16px}.admin-tabs{justify-content:flex-start}.analytics-grid{grid-template-columns:1fr 1fr}.admin-dashboard .requests-grid,.info-cards-grid,.quick-summary{grid-template-columns:1fr}}.admin-filter-bar{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:16px;margin-bottom:28px;padding:24px}.admin-filter-bar .filter-group{display:flex;flex-direction:column;gap:10px}.admin-filter-bar .filter-group label{color:var(--text-muted);font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.filter-chips{display:flex;flex-wrap:wrap;gap:8px}.filter-chip{background:var(--bg-main);border:1px solid var(--border);border-radius:20px;color:var(--text-secondary);cursor:pointer;font-size:13px;font-weight:600;padding:6px 14px;transition:all .2s ease}.filter-chip:hover{border-color:var(--primary-light);color:var(--primary)}.filter-chip.active{background:var(--primary);border-color:var(--primary);box-shadow:0 2px 6px var(--primary-glow);color:#fff}.admin-summary-box{background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin-top:30px;padding:30px}.admin-summary-box h2{color:var(--text-primary);font-size:1.2rem;font-weight:700;margin-bottom:15px}.summary-details p{align-items:center;color:var(--text-secondary);display:flex;font-size:.95rem;margin:10px 0}.btn-xs{border-radius:4px;font-size:11px;font-weight:600;padding:4px 8px}.status-resolved{background:#d1fae5;color:#065f46}.status-dismissed{background:#f3f4f6;color:#374151}.btn-group{display:flex;gap:6px}.blood-badge{border-radius:6px;display:inline-block;font-size:13px;font-weight:800;margin-bottom:4px;padding:4px 10px}.blood-badge.Aneg,.blood-badge.Apos{background:#fee2e2;color:#b91c1c}.blood-badge.Bneg,.blood-badge.Bpos{background:#dcfce7;color:#15803d}.blood-badge.Oneg,.blood-badge.Opos{background:#fef9c3;color:#a16207}.blood-badge.ABneg,.blood-badge.ABpos{background:#f3e8ff;color:#7e22ce}.urgency-label{color:var(--text-muted);font-size:10px;font-weight:700;text-transform:uppercase}.hospital-cell{display:flex;flex-direction:column}.hospital-cell strong{color:var(--text-primary);font-size:14px}.hospital-cell small{color:var(--text-muted);font-size:12px}.leaderboard-container{animation:fadeIn .5s ease-out;margin:60px auto;max-width:800px;padding:0 20px}.leaderboard-header{margin-bottom:40px;text-align:center}.leaderboard-header h1{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#f59e0b,#dc2626);-webkit-background-clip:text;font-size:2.5rem;font-weight:800;margin-bottom:12px}.leaderboard-list{display:flex;flex-direction:column;gap:16px}.leaderboard-item{align-items:center;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);display:flex;padding:20px;transition:all .3s ease}.leaderboard-item:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateX(10px)}.rank-badge{align-items:center;color:var(--text-muted);display:flex;font-size:1.5rem;font-weight:900;height:40px;justify-content:center;margin-right:20px;width:40px}.rank-1{background:linear-gradient(135deg,#fbbf241a,#0000);border:2px solid #fbbf24}.rank-2{background:linear-gradient(135deg,#94a3b81a,#0000);border:2px solid #94a3b8}.rank-3{background:linear-gradient(135deg,#b453091a,#0000);border:2px solid #b45309}.user-info{flex:1 1}.user-avatar,.user-info{align-items:center;display:flex}.user-avatar{background:var(--primary-glow);border-radius:50%;color:var(--primary);font-size:1.2rem;font-weight:800;height:50px;justify-content:center;margin-right:16px;width:50px}.user-details h3{color:var(--text-primary);font-size:1.1rem;font-weight:700;margin:0}.user-badges{display:flex;gap:6px;margin-top:4px}.badge-mini{font-size:1rem}.user-stats{align-items:center;display:flex;gap:30px}.stat-item{align-items:flex-end;display:flex;flex-direction:column}.stat-value{color:var(--primary);font-size:1.1rem;font-weight:800}.stat-label{color:var(--text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase}.profile-gamification{margin-top:20px}.level-badge{align-items:center;background:var(--primary);border-radius:30px;box-shadow:0 4px 10px var(--primary-glow);color:#fff;display:inline-flex;font-size:13px;font-weight:800;margin-bottom:20px;padding:6px 14px}.xp-progress-container{margin-bottom:24px}.xp-labels{color:var(--text-secondary);display:flex;font-size:13px;font-weight:600;justify-content:space-between;margin-bottom:8px}.progress-bar-bg{background:var(--bg-main);border:1px solid var(--border);border-radius:6px;height:12px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--primary),var(--accent));height:100%;transition:width 1s cubic-bezier(.4,0,.2,1)}.badges-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));margin-top:15px}.badge-item{align-items:center;background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-lg);display:flex;flex-direction:column;padding:16px;text-align:center;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.badge-item:hover{background:var(--primary-glow);border-color:var(--primary-light);transform:scale(1.05) translateY(-5px)}.badge-icon{font-size:2.5rem;margin-bottom:8px}.badge-name{color:var(--text-primary);font-size:.8rem;font-weight:700}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (max-width:600px){.user-stats{align-items:flex-end;flex-direction:column;gap:5px}.leaderboard-item{padding:15px}.rank-badge{margin-right:12px;width:30px}}.profile-page{animation:profileFadeIn .5s ease-out;margin:0 auto;max-width:800px;padding:40px 24px}.profile-container{display:flex;flex-direction:column;gap:24px}.profile-header-card{background:linear-gradient(135deg,#1e293b,#0f172a);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);gap:24px;padding:36px 40px}.profile-avatar,.profile-header-card{align-items:center;color:#fff;display:flex}.profile-avatar{background:linear-gradient(135deg,var(--primary),var(--accent));border-radius:50%;box-shadow:0 4px 16px #dc26264d;flex-shrink:0;font-size:2.2rem;font-weight:800;height:80px;justify-content:center;width:80px}.profile-header-info h1{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;margin-bottom:4px}.profile-header-info p{color:#ffffff80;font-size:.95rem;margin-bottom:8px}.profile-role-badge{border-radius:20px;display:inline-flex;font-size:12px;font-weight:700;letter-spacing:.03em;padding:4px 12px}.profile-role-badge.role-donor{background:#dc262633;color:#fca5a5}.profile-role-badge.role-recipient{background:#2563eb33;color:#93c5fd}.profile-role-badge.role-admin{background:#7c3aed33;color:#c4b5fd}.profile-tabs{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);display:flex;gap:6px;padding:6px}.profile-tab{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;flex:1 1;font-family:Inter,sans-serif;font-size:14px;font-weight:600;padding:10px 16px;transition:var(--transition)}.profile-tab:hover{background:var(--bg-main);color:var(--text-primary)}.profile-tab.active{background:var(--primary);box-shadow:0 2px 8px var(--primary-glow);color:#fff}.profile-card{animation:profileFadeIn .3s ease-out;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:32px}.profile-card h2{color:var(--text-primary);font-size:1.3rem;font-weight:700;margin-bottom:24px}.profile-details-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.profile-detail-item{background:var(--bg-main);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px 20px}.profile-detail-item .detail-label{color:var(--text-muted);display:block;font-size:12px;font-weight:600;letter-spacing:.04em;margin-bottom:6px;text-transform:uppercase}.profile-detail-item .detail-value{color:var(--text-primary);font-size:1rem;font-weight:600}.profile-form{max-width:500px}.disabled-input{cursor:not-allowed;opacity:.5}@keyframes profileFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}[data-theme=dark] .profile-header-card{background:linear-gradient(135deg,#1e1e2e,#0f0f1a)}[data-theme=dark] .profile-card{background:var(--bg-card);border-color:var(--border)}@media (max-width:768px){.profile-page{padding:24px 16px}.profile-header-card{padding:28px 24px;text-align:center}.profile-header-card,.profile-tabs{flex-direction:column}.profile-details-grid{grid-template-columns:1fr}.profile-card{padding:24px 20px}}.app{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1 1;padding:20px 0}
/*# sourceMappingURL=main.25dd9c06.css.map*/