.toast-container{position:fixed;bottom:24px;right:24px;z-index:var(--z-toast);display:flex;flex-direction:column;gap:12px;pointer-events:none}@media (max-width: 768px){.toast-container{top:20px;bottom:auto;left:20px;right:20px;align-items:center}}@media (min-width: 769px){.toast-container{bottom:auto;top:90px;right:24px;align-items:flex-end}.toast{padding:10px 14px;gap:8px}}.toast{pointer-events:auto;display:flex;align-items:center;gap:12px;min-width:250px;max-width:350px;padding:12px 16px;background:var(--card-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);transform-origin:bottom right;animation:toastSlideIn .4s cubic-bezier(.16,1,.3,1);cursor:pointer;overflow:hidden;position:relative}.toast:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px}.toast-success{border-color:#10b98133}.toast-success:before{background:var(--success);box-shadow:0 0 10px #10b98180}.toast-error{border-color:#ef444433}.toast-error:before{background:var(--error);box-shadow:0 0 10px #ef444480}.toast-info{border-color:#3b82f633}.toast-info:before{background:var(--info);box-shadow:0 0 10px #3b82f680}.toast-icon{display:flex;align-items:center;justify-content:center;flex-shrink:0}.toast-content{flex:1;display:flex;flex-direction:column;gap:4px}.toast-title{font-weight:600;font-size:.95rem;color:var(--text-primary)}.toast-message{font-size:.875rem;color:var(--text-secondary);line-height:1.4}.toast-close{display:flex;align-items:center;justify-content:center;padding:4px;color:var(--text-muted);border-radius:50%;transition:all .2s}.toast-close:hover{background:#ffffff1a;color:var(--text-primary)}@keyframes toastSlideIn{0%{opacity:0;transform:translate(100%) scale(.9)}to{opacity:1;transform:translate(0) scale(1)}}@media (max-width: 768px){@keyframes toastSlideIn{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}}.navbar{position:sticky;top:0;left:0;right:0;height:var(--header-height);background:var(--nav-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--nav-border);z-index:var(--z-fixed);transition:all var(--transition-base)}.navbar>.container,.navbar .navbar-container{display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;height:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4);gap:var(--space-4)}.navbar-brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;flex-shrink:0}.navbar-logo-wrapper{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);border-radius:50%;box-shadow:0 4px 10px #10b9814d;transition:transform var(--transition-fast)}.navbar-logo-icon{display:flex;align-items:center;justify-content:center}.navbar-logo{width:24px;height:24px;color:#fff}.navbar-brand:hover .navbar-logo-wrapper{transform:scale(1.05)}.navbar-brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);white-space:nowrap}.brand-tagline{font-size:.7rem;color:var(--primary-500);font-weight:500;white-space:nowrap}.navbar-nav{display:flex!important;flex-direction:row!important;align-items:center!important;gap:var(--space-2)}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);color:var(--text-secondary);font-weight:500;font-size:.9rem;border-radius:var(--radius-md);transition:all var(--transition-fast);white-space:nowrap;text-decoration:none}.nav-link:hover{color:var(--primary-500);background:#10b9811a}.nav-link.active{color:var(--primary-500);background:#10b98126}.navbar-actions{display:flex!important;flex-direction:row!important;align-items:center!important;gap:var(--space-3);flex-shrink:0}.navbar-actions .btn{padding:var(--space-2) var(--space-5);font-size:.9rem}.theme-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.theme-btn:hover{border-color:var(--primary-500);color:var(--primary-500)}.navbar-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast)}.navbar-toggle:hover{border-color:var(--primary-500);color:var(--primary-500)}.navbar-mobile-menu{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background:var(--bg-primary);padding:var(--space-4);animation:slideDown .25s ease-out;overflow-y:auto;z-index:var(--z-fixed)}.navbar-mobile-nav{display:flex;flex-direction:column;gap:var(--space-2)}.navbar-mobile-nav .nav-link{padding:var(--space-4);border-radius:var(--radius-xl);font-size:1.1rem;font-weight:500;background:var(--card-bg);border:1px solid var(--border-color);justify-content:flex-start}.navbar-mobile-nav .nav-link:hover,.navbar-mobile-nav .nav-link:active{background:#10b98126;border-color:var(--primary-500);color:var(--primary-500)}.mobile-menu-divider{height:1px;background:var(--border-color);margin:var(--space-4) 0}.navbar-mobile-nav .theme-toggle{justify-content:flex-start;background:var(--card-bg);border:1px solid var(--border-color);cursor:pointer;width:100%;text-align:left;padding:var(--space-4);border-radius:var(--radius-xl);font-size:1.1rem}.navbar-mobile-nav .btn-primary{padding:var(--space-4);font-size:1.1rem;justify-content:center;margin-top:var(--space-2)}.hide-mobile{display:flex}@media (max-width: 992px){.navbar-nav,.hide-mobile{display:none!important}.navbar-actions{gap:var(--space-2)}.navbar-toggle,.show-mobile{display:flex!important}}@media (max-width: 576px){.navbar-brand-text{display:none}.navbar-logo{width:40px;height:40px}.navbar-mobile-nav .nav-link,.navbar-mobile-nav .theme-toggle{padding:var(--space-3) var(--space-4);font-size:1rem}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.footer{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:var(--space-12) 0 var(--space-6);margin-top:auto}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-8);margin-bottom:var(--space-8)}@media (max-width: 992px){.footer-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.footer-grid{grid-template-columns:1fr}.footer{padding-bottom:calc(var(--mobile-nav-height) + var(--space-6))}.footer.hide-on-mobile{display:none}}.footer-section h4{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:var(--space-4)}.footer-brand{font-size:1.25rem;color:var(--primary-700);margin-bottom:var(--space-2)}.footer-tagline{color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-4)}.footer-doctor{font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-1)}.footer-qualification{font-size:.85rem;color:var(--text-muted)}.footer-links{display:flex;flex-direction:column;gap:var(--space-2)}.footer-links a{color:var(--text-secondary);font-size:.95rem;transition:color var(--transition-fast)}.footer-links a:hover{color:var(--primary-600)}.footer-contact{display:flex;flex-direction:column;gap:var(--space-3)}.contact-item{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.95rem;transition:color var(--transition-fast)}.contact-item:hover{color:var(--primary-600)}.contact-item.whatsapp{color:#25d366}.contact-item.whatsapp:hover{color:#1da851}.footer-info{display:flex;flex-direction:column;gap:var(--space-4)}.info-item{display:flex;gap:var(--space-2);color:var(--text-secondary);font-size:.9rem;line-height:1.5}.info-item svg{flex-shrink:0;margin-top:3px;color:var(--primary-600)}.footer-pharmacy{text-align:center;padding:var(--space-4);background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-lg);margin-bottom:var(--space-6);color:var(--text-primary)}.footer-pharmacy strong{color:var(--primary-500)}.footer-bottom{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding-top:var(--space-6);border-top:1px solid var(--border-color);text-align:center}@media (min-width: 768px){.footer-bottom{flex-direction:row;justify-content:space-between;text-align:left}}.footer-bottom p{margin:0;font-size:.85rem;color:var(--text-muted)}.footer-credit{color:var(--text-secondary)}.footer-credit strong{color:var(--primary-700)}.mobile-nav{position:fixed;bottom:0;left:0;right:0;height:var(--mobile-nav-height);background:var(--nav-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-around;z-index:999;padding:0 var(--space-2);box-shadow:0 -1px 10px #0000000d;padding-bottom:env(safe-area-inset-bottom,0)}.mobile-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);color:var(--text-muted);font-size:.7rem;font-weight:500;border-radius:var(--radius-lg);transition:all var(--transition-fast);min-width:60px}.mobile-nav-item:hover,.mobile-nav-item.active{color:var(--primary-700);background:var(--primary-50)}.mobile-nav-item.active{color:var(--primary-800)}.mobile-nav-item.active svg{stroke-width:2.5}.mobile-nav-item.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:40px;height:3px;background:linear-gradient(90deg,var(--primary-500),var(--accent));border-radius:0 0 var(--radius-full) var(--radius-full)}@media (min-width: 769px){.mobile-nav{display:none}}[data-theme=dark] .mobile-nav{background:#0a0f1af2;border-top-color:var(--border-color)}[data-theme=dark] .mobile-nav-item:hover,[data-theme=dark] .mobile-nav-item.active{background:#10b98126;color:var(--primary-400)}.assistant-container{position:fixed;bottom:0;right:0;z-index:1000;padding:1.5rem;pointer-events:none;display:flex;flex-direction:column;align-items:flex-end}.assistant-wrapper{position:relative;pointer-events:auto;display:flex;flex-direction:column;align-items:flex-end}.assistant-btn{width:3.5rem;height:3.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:0 4px 12px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);color:#fff;position:relative;z-index:1002}.assistant-btn:hover{transform:scale(1.1);box-shadow:0 8px 20px #10b98166}.assistant-btn:active{transform:scale(.95)}.assistant-btn.open{background:#ef4444;transform:rotate(90deg);box-shadow:0 4px 12px #ef444466}.pulsing-ring{position:absolute;width:100%;height:100%;border-radius:50%;background:var(--primary-400);opacity:.3;animation:ping 1.5s cubic-bezier(0,0,.2,1) infinite;z-index:-1}@keyframes ping{75%,to{transform:scale(1.5);opacity:0}}.assistant-panel{position:absolute;bottom:5rem;right:0;width:360px;height:550px;max-height:80vh;background:#fffffff2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-xl);box-shadow:0 20px 40px #0000001a,0 0 0 1px #ffffff1a;display:flex;flex-direction:column;overflow:hidden;transform-origin:bottom right;transition:all .4s cubic-bezier(.16,1,.3,1);opacity:0;transform:scale(.9) translateY(20px);pointer-events:none;border:1px solid rgba(229,231,235,.5);z-index:1001}@media (prefers-color-scheme: dark){.assistant-panel{background:#1e293bf2;border-color:#ffffff1a}}[data-theme=dark] .assistant-panel{background:#1e293bf2;border-color:#ffffff1a}.assistant-panel.open{opacity:1;transform:scale(1) translateY(0);pointer-events:auto}.panel-header{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);color:#fff;padding:1.25rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 6px #0000000d}.header-info{display:flex;align-items:center;gap:.75rem}.header-icon{width:2.5rem;height:2.5rem;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.header-title h3{margin:0;font-size:1.1rem;font-weight:700;color:#fff;letter-spacing:-.01em}.header-title p{margin:0;font-size:.75rem;opacity:.9;color:#ffffffe6;font-weight:500}.close-panel-btn{background:#ffffff26;border:none;color:#fff;cursor:pointer;width:2rem;height:2rem;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.close-panel-btn:hover{background:#ffffff4d;transform:rotate(90deg)}.messages-area{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:1rem;background:var(--bg-secondary, #f8fafc);scroll-behavior:smooth}.messages-area::-webkit-scrollbar{width:6px}.messages-area::-webkit-scrollbar-track{background:transparent}.messages-area::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.message{display:flex;width:100%;animation:slideUp .3s ease-out}.message.user{justify-content:flex-end}.message.assistant{justify-content:flex-start}.message-bubble{max-width:85%;padding:.85rem 1rem;border-radius:1.25rem;font-size:.95rem;line-height:1.5;position:relative;box-shadow:0 1px 2px #0000000d}.message.user .message-bubble{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);color:#fff;border-bottom-right-radius:4px}.message.assistant .message-bubble{background:#fff;color:var(--text-primary, #1e293b);border-bottom-left-radius:4px;border:1px solid rgba(0,0,0,.05)}[data-theme=dark] .message.assistant .message-bubble{background:var(--gray-800, #1e293b);color:var(--text-primary, #f1f5f9);border-color:#ffffff1a}.typing-indicator{display:flex;gap:4px;padding:4px 0}.typing-dot{width:6px;height:6px;background:#9ca3af;border-radius:50%;animation:bounce 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-area{padding:1rem;background:var(--card-bg, #fff);border-top:1px solid var(--border-color, #e5e7eb);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.input-form{display:flex;gap:.75rem;align-items:center}.chat-input{flex:1;padding:.85rem 1.25rem;border-radius:2rem;border:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #f8fafc);color:var(--text-primary, #0f172a);font-size:.95rem;outline:none;transition:all .2s;box-shadow:inset 0 2px 4px #00000005}[data-theme=dark] .chat-input{background:var(--gray-800, #1e293b);border-color:#ffffff1a;color:#fff}.chat-input:focus{border-color:var(--primary-500);background:#fff;box-shadow:0 0 0 3px #10b9811a}[data-theme=dark] .chat-input:focus{background:var(--gray-900, #111827)}.send-btn{width:3rem;height:3rem;border-radius:50%;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);color:#fff;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;box-shadow:0 4px 10px #10b9814d}.send-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 15px #10b98166}.send-btn:disabled{opacity:.5;cursor:allowed;background:var(--gray-400, #9ca3af);box-shadow:none;transform:none}.disclaimer{text-align:center;font-size:.7rem;color:var(--text-muted, #94a3b8);margin-top:.75rem;font-weight:500}@media (max-width: 576px){.assistant-container{padding:1rem;bottom:4rem;right:0;left:0;pointer-events:none;align-items:flex-end;z-index:1050}.assistant-wrapper{width:100%;align-items:flex-end}.assistant-panel{width:92vw;max-width:380px;height:65vh;max-height:600px;position:fixed;left:50%;transform:translate(-50%) scale(.9) translateY(20px);transform-origin:center bottom;bottom:6rem;border-radius:1.5rem;box-shadow:0 10px 40px #00000040}.assistant-panel.open{transform:translate(-50%) scale(1) translateY(0)}.assistant-btn{width:3.5rem;height:3.5rem;margin-right:.5rem}.message-bubble{max-width:88%;font-size:.95rem;padding:.75rem 1rem}.input-area{padding:.75rem}}.announcement-bar{width:100%;padding:.5rem 1rem;display:flex;align-items:center;justify-content:center;position:relative;z-index:1001;font-size:.85rem;animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.announcement-content{display:flex;align-items:center;gap:.75rem;flex:1;justify-content:center}.announcement-icon{display:flex;align-items:center;justify-content:center}.announcement-text{line-height:1.4;text-align:center}.separator{margin:0 .5rem;opacity:.6}.dismiss-btn{background:none;border:none;cursor:pointer;padding:.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background-color .2s;opacity:.8}.dismiss-btn:hover{background-color:#0000001a;opacity:1}.announcement-bar.info{background-color:var(--primary-50);color:var(--primary-900);border-bottom:1px solid var(--primary-200)}.announcement-bar.info .dismiss-btn{color:var(--primary-700)}.announcement-bar.warning{background-color:#fffbeb;color:#92400e;border-bottom:1px solid #fcd34d}.announcement-bar.warning .dismiss-btn{color:#92400e}.announcement-bar.urgent{background:linear-gradient(90deg,#ef4444,#dc2626);color:#fff;border-bottom:1px solid #b91c1c;box-shadow:0 4px 12px #dc262633}.announcement-bar.urgent .dismiss-btn{color:#ffffffe6}.announcement-bar.urgent .dismiss-btn:hover{background-color:#fff3}[data-theme=dark] .announcement-bar.info{background-color:#10b98126;color:var(--primary-100);border-bottom:1px solid rgba(16,185,129,.2)}[data-theme=dark] .announcement-bar.info .dismiss-btn{color:var(--primary-300)}[data-theme=dark] .announcement-bar.warning{background-color:#f59e0b26;color:#fcd34d;border-bottom:1px solid rgba(245,158,11,.2)}[data-theme=dark] .announcement-bar.warning .dismiss-btn{color:#fcd34d}[data-theme=dark] .announcement-bar.urgent{background:linear-gradient(90deg,#dc2626e6,#b91c1ce6);color:#fee2e2;border-bottom:1px solid rgba(220,38,38,.4);box-shadow:0 4px 20px #dc26264d}[data-theme=dark] .announcement-bar.urgent .dismiss-btn{color:#fee2e2}.announcement-icon{display:flex;align-items:center;justify-content:center;margin-right:.5rem}[data-theme=dark] .announcement-bar.info .announcement-icon{color:var(--primary-400)}[data-theme=dark] .announcement-bar.warning .announcement-icon{color:#fbbf24}[data-theme=dark] .announcement-bar.urgent .announcement-icon{color:#fff}@media (max-width: 768px){.announcement-bar{padding:.6rem .75rem;font-size:.8rem}.announcement-content{gap:.5rem}.announcement-icon{min-width:20px;min-height:20px;margin-right:.25rem}.announcement-icon svg{width:18px!important;height:18px!important}.announcement-text strong{display:inline}.separator{margin:0 .35rem}.dismiss-btn{padding:.35rem}.dismiss-btn svg{width:16px!important;height:16px!important}}@media (max-width: 480px){.announcement-bar{padding:.5rem .6rem;font-size:.75rem}.announcement-content{gap:.4rem}.announcement-icon{min-width:18px;min-height:18px;margin-right:.2rem}.announcement-icon svg{width:16px!important;height:16px!important}.dismiss-btn svg{width:14px!important;height:14px!important}}.home-page{overflow-x:hidden}.hero{padding:var(--space-8) 0 var(--space-16);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-50%;right:-30%;width:80%;height:150%;background:radial-gradient(ellipse,rgba(16,185,129,.1) 0%,transparent 60%);pointer-events:none}.hero>.container{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center}@media (max-width: 992px){.hero>.container{grid-template-columns:1fr;text-align:center}}.hero-content{position:relative;z-index:1}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#10b98126;border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-full);color:var(--primary-500);font-size:.85rem;font-weight:600;margin-bottom:var(--space-6)}.hero-badge svg{color:var(--primary-400)}.hero-title{font-size:clamp(2.5rem,6vw,3.5rem);line-height:1.1;margin-bottom:var(--space-6);letter-spacing:-.03em}.hero-description{font-size:1.1rem;color:var(--text-muted);margin-bottom:var(--space-8);max-width:500px}@media (max-width: 992px){.hero-description{margin-left:auto;margin-right:auto}}.hero-actions{display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-10)}@media (max-width: 992px){.hero-actions{justify-content:center}}.hero-stats{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-6) var(--space-8);background:var(--card-bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-2xl);border:1px solid var(--border-color);box-shadow:var(--shadow-lg);width:100%;max-width:550px}@media (max-width: 992px){.hero-stats{margin:0 auto;justify-content:space-around;padding:var(--space-6)}}@media (max-width: 576px){.hero-stats{gap:var(--space-4);padding:var(--space-4)}}.stat{text-align:center}.stat-value{display:block;font-size:2rem;font-weight:800;color:var(--primary-500);line-height:1;margin-bottom:var(--space-1);text-shadow:0 0 30px rgba(16,185,129,.3)}.stat-label{font-size:.8rem;color:var(--text-muted);font-weight:500}.hero-visual{position:relative;display:flex;justify-content:center;align-items:center}.hero-visual:before{content:"";position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background:linear-gradient(135deg,var(--primary-400),var(--accent));border-radius:var(--radius-2xl);opacity:.15;filter:blur(40px);animation:glow 3s ease-in-out infinite}.clinic-info-card{position:relative;background:var(--card-bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-2xl);padding:var(--space-10);text-align:center;box-shadow:0 20px 60px #00000026,var(--shadow-glow);transition:all var(--transition-base);min-width:320px}.clinic-info-card:hover{transform:translateY(-5px);box-shadow:0 25px 70px #0003,var(--shadow-glow-strong)}.clinic-icon{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-500),var(--accent));border-radius:var(--radius-xl);color:#fff;margin:0 auto var(--space-4);box-shadow:0 10px 30px #10b98166}.clinic-info-card h3{font-size:1.5rem;margin-bottom:var(--space-2);background:linear-gradient(135deg,var(--primary-500),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.clinic-tagline{color:var(--text-muted);font-size:.95rem;margin-bottom:var(--space-6)!important}.clinic-details{display:flex;flex-direction:column;gap:var(--space-3)}.detail-item{display:flex;align-items:center;justify-content:center;gap:var(--space-2);color:var(--text-secondary);font-size:.95rem}.detail-item svg{color:var(--primary-500);flex-shrink:0}@media (max-width: 992px){.hero-visual{order:-1}.clinic-info-card{min-width:auto;max-width:350px}}.doctor-section{background:var(--bg-secondary)}.doctor-card{max-width:800px;margin:0 auto;text-align:center;padding:var(--space-10);border:1px solid rgba(16,185,129,.2)}.doctor-card h2{margin-bottom:var(--space-2);background:linear-gradient(135deg,var(--primary-500),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.doctor-qualification{color:var(--primary-500);font-weight:600;margin-bottom:var(--space-4)}.doctor-description{color:var(--text-muted);max-width:600px;margin:0 auto var(--space-6);line-height:1.7}.services-preview{position:relative}.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}@media (max-width: 992px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.services-grid{grid-template-columns:1fr}}.service-card{text-align:center;padding:var(--space-8);border:1px solid var(--border-color)}.service-card:hover{border-color:var(--primary-500);box-shadow:var(--shadow-glow)}.service-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-500),var(--accent));border-radius:var(--radius-xl);color:#fff;margin:0 auto var(--space-4);box-shadow:0 8px 25px #10b9814d;transition:all var(--transition-base)}.service-card:hover .service-icon{transform:scale(1.1);box-shadow:0 12px 35px #10b98166}.service-icon svg{width:28px;height:28px}.service-card h3{font-size:1.1rem;margin-bottom:var(--space-2)}.service-card p{color:var(--text-muted);font-size:.9rem;margin:0}.clinic-info{background:var(--bg-secondary)}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}@media (max-width: 768px){.info-grid{grid-template-columns:1fr}}.info-card{text-align:center;padding:var(--space-8)}.info-card:hover{border-color:var(--primary-500)}.info-icon{color:var(--primary-500);margin-bottom:var(--space-4)}.info-card h3{margin-bottom:var(--space-4)}.hours-list{text-align:left}.hours-row{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px solid var(--border-color)}.hours-row:last-child{border-bottom:none}.hours-time{font-weight:600;color:var(--primary-500)}.hours-row.closed .hours-time{color:var(--error)}.contact-numbers{display:flex;flex-direction:column;gap:var(--space-2)}.contact-numbers a{font-size:1.1rem;font-weight:600;color:var(--primary-500);transition:color var(--transition-fast)}.contact-numbers a:hover{color:var(--primary-400)}.whatsapp-btn{background:linear-gradient(135deg,#25d366,#128c7e)!important;box-shadow:0 4px 15px #25d36666!important}.whatsapp-btn:hover{box-shadow:0 8px 30px #25d36680!important}.map-container{border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--border-color)}.map-container iframe{display:block}.pharmacy-section{background:var(--bg-secondary)}.pharmacy-card{max-width:600px;margin:0 auto;text-align:center;padding:var(--space-10);border:2px solid rgba(16,185,129,.2);background:linear-gradient(135deg,var(--card-bg) 0%,rgba(16,185,129,.05) 100%)}.pharmacy-card h2{color:var(--primary-500);margin-bottom:var(--space-4)}.pharmacy-card p{color:var(--text-muted);margin-bottom:var(--space-4)}.pharmacy-contact{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.pharmacy-contact svg{color:var(--primary-500)}.pharmacy-contact a{font-size:1.25rem;font-weight:700;color:var(--primary-500)}.cta-section{padding:var(--space-16) 0}.cta-card{text-align:center;padding:var(--space-12);background:linear-gradient(135deg,var(--primary-600) 0%,var(--primary-700) 50%,var(--primary-800) 100%);border-radius:var(--radius-2xl);color:#fff;position:relative;overflow:hidden}.cta-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 50%);animation:float 6s ease-in-out infinite}.cta-card h2{color:#fff;margin-bottom:var(--space-4);position:relative}.cta-card p{color:#ffffffe6;margin-bottom:var(--space-8);position:relative}.cta-card .btn-primary{background:#fff;color:var(--primary-700);box-shadow:0 8px 30px #0000004d;position:relative}.cta-card .btn-primary:hover{transform:translateY(-3px);box-shadow:0 12px 40px #0006}.about-page{overflow-x:hidden}.about-hero{background:var(--bg-primary);text-align:center;padding:var(--space-16) 0;position:relative}.about-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top,rgba(16,185,129,.1) 0%,transparent 60%);pointer-events:none}.about-hero h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--space-4);position:relative}.about-hero p{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto;position:relative}.doctor-profile{background:var(--bg-secondary)}.profile-card{max-width:800px;margin:0 auto;padding:var(--space-10);text-align:center}.profile-badge{display:inline-block;background:#10b98126;color:var(--primary-500);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:.85rem;font-weight:600;margin-bottom:var(--space-4)}.profile-card h2{font-size:2rem;background:linear-gradient(135deg,var(--primary-500),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-3)}.profile-qualification{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--primary-500);font-weight:500;margin-bottom:var(--space-6)}.profile-description p{text-align:left;color:var(--text-secondary);line-height:1.8}.values-section{background:var(--bg-primary)}.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6)}@media (max-width: 992px){.values-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.values-grid{grid-template-columns:1fr}}.value-card{text-align:center;padding:var(--space-8)}.value-icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-500),var(--accent));border-radius:var(--radius-lg);margin:0 auto var(--space-4);color:#fff;box-shadow:0 8px 25px #10b9814d}.value-card h3{margin-bottom:var(--space-3);font-size:1.1rem}.value-card p{color:var(--text-muted);font-size:.9rem;margin:0}.mission-section{background:var(--bg-secondary)}.mission-card{max-width:800px;margin:0 auto;text-align:center;padding:var(--space-10);background:var(--card-bg);border:1px solid rgba(16,185,129,.2)}.mission-card h2{background:linear-gradient(135deg,var(--primary-500),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-6)}.mission-card p{font-size:1.1rem;line-height:1.8;color:var(--text-secondary);margin-bottom:var(--space-6)}.mission-tagline{display:flex;align-items:center;justify-content:center;gap:var(--space-4);font-size:1.25rem;font-weight:700;color:var(--primary-500)}.mission-tagline .divider{color:var(--primary-400)}.about-cta{background:linear-gradient(135deg,var(--primary-600),var(--primary-800));color:#fff}.about-cta h2{color:#fff;margin-bottom:var(--space-3)}.about-cta p{color:#ffffffe6;margin-bottom:var(--space-6)}.about-cta .btn{background:#fff;color:var(--primary-700)}.about-cta .btn:hover{background:var(--gray-100)}.services-page{overflow-x:hidden}.services-hero{background:var(--bg-primary);text-align:center;padding:var(--space-16) 0;position:relative}.services-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top,rgba(16,185,129,.1) 0%,transparent 60%);pointer-events:none}.services-hero h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--space-4);position:relative}.services-hero p{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto;position:relative}.services-list{background:var(--bg-secondary)}.services-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}@media (max-width: 768px){.services-grid{grid-template-columns:1fr}}.service-detail-card{padding:var(--space-8)}.service-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-4)}.service-icon-large{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-500),var(--accent));border-radius:var(--radius-lg);color:#fff;flex-shrink:0;box-shadow:0 6px 20px #10b9814d}.service-detail-card h3{font-size:1.25rem;margin:0}.service-description{color:var(--text-secondary);margin-bottom:var(--space-4)}.service-features{display:flex;flex-direction:column;gap:var(--space-2)}.service-features li{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.9rem}.service-features li svg{color:var(--primary-500);flex-shrink:0}.services-cta{background:var(--bg-primary)}.services-cta .cta-card{background:linear-gradient(135deg,var(--primary-600),var(--primary-800));color:#fff;text-align:center;padding:var(--space-12);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 40px #10b9814d}.services-cta .cta-card h2{color:#fff;margin-bottom:var(--space-3)}.services-cta .cta-card p{color:#ffffffe6;margin-bottom:var(--space-6)}.services-cta .cta-card .btn{background:#fff;color:var(--primary-700)}.services-cta .cta-card .btn:hover{background:var(--gray-100)}.contact-page{overflow-x:hidden}.contact-hero{background:var(--bg-primary);text-align:center;padding:var(--space-16) 0;position:relative}.contact-hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top,rgba(16,185,129,.1) 0%,transparent 60%);pointer-events:none}.contact-hero h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:var(--space-4);position:relative}.contact-hero p{font-size:1.1rem;color:var(--text-secondary);max-width:600px;margin:0 auto;position:relative}.contact-main{background:var(--bg-secondary)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-10);align-items:start}@media (max-width: 992px){.contact-grid{grid-template-columns:1fr}}.contact-info h2{margin-bottom:var(--space-2)}.contact-info>p{color:var(--text-muted);margin-bottom:var(--space-8)}.info-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}@media (max-width: 576px){.info-cards{grid-template-columns:1fr}}.contact-info-card{display:flex;gap:var(--space-3);padding:var(--space-4);background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.info-card-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);border-radius:var(--radius-lg);color:#fff;flex-shrink:0;box-shadow:0 4px 12px #10b9814d;transition:transform var(--transition-fast)}.contact-info-card:hover .info-card-icon{transform:scale(1.05) rotate(-5deg)}.info-card-icon.whatsapp{background:linear-gradient(135deg,#25d366,#128c7e);color:#fff;box-shadow:0 4px 12px #25d3664d}.info-card-content h3{font-size:.9rem;margin-bottom:var(--space-1)}.info-card-content a,.info-card-content p{font-size:.9rem;color:var(--text-secondary);display:block;margin:0}.info-card-content a:hover{color:var(--primary-500)}.info-card-content .closed{color:var(--error)}.pharmacy-info-card{background:linear-gradient(135deg,var(--primary-600),var(--primary-800));color:#fff;padding:var(--space-6);border-radius:var(--radius-xl)}.pharmacy-info-card h3{color:#fff;margin-bottom:var(--space-2)}.pharmacy-info-card p{color:#ffffffe6;margin-bottom:var(--space-4)}.pharmacy-info-card a{display:inline-flex;align-items:center;gap:var(--space-2);background:#fff3;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);color:#fff;font-weight:500}.contact-form-container{padding:var(--space-8)}.contact-form-container h2{margin-bottom:var(--space-6)}.contact-form textarea{resize:vertical;min-height:100px}.contact-form .btn{width:100%;margin-top:var(--space-2)}.contact-map{background:var(--bg-primary)}.map-container{border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg)}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);padding:var(--space-4);padding-top:calc(var(--header-height) + var(--space-4));position:relative}.auth-page:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at top left,rgba(16,185,129,.08) 0%,transparent 50%),radial-gradient(ellipse at bottom right,rgba(16,185,129,.05) 0%,transparent 50%);pointer-events:none}.auth-container{width:100%;max-width:480px;position:relative;z-index:1}.auth-card{padding:var(--space-8);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-2xl);box-shadow:var(--shadow-xl)}@media (max-width: 576px){.auth-card{padding:var(--space-6)}}.auth-brand{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-6)}.auth-brand img{width:40px;height:40px}.auth-brand span{font-size:1.25rem;font-weight:700;color:var(--primary-500)}.auth-header{text-align:center;margin-bottom:var(--space-6)}.auth-header h1{font-size:1.75rem;margin-bottom:var(--space-2)}.auth-header p{color:var(--text-muted);margin:0}.input-with-icon>svg:first-of-type{position:absolute;left:var(--space-4);color:var(--text-muted);pointer-events:none;z-index:1}.input-with-icon .form-input{padding-left:calc(var(--space-4) + 24px);padding-right:48px;width:100%}.password-toggle:hover{color:var(--primary-500);background:#10b9811a}.gender-options{display:flex;gap:var(--space-4)}.gender-option{display:flex;align-items:center;cursor:pointer}.gender-option input{display:none}.gender-label{padding:var(--space-2) var(--space-4);border:2px solid var(--border-color);border-radius:var(--radius-md);font-weight:500;color:var(--text-secondary);transition:all var(--transition-fast)}.gender-option input:checked+.gender-label{background:#10b98126;border-color:var(--primary-500);color:var(--primary-500)}.forgot-password{display:block;background:none;border:none;color:var(--primary-500);font-size:.9rem;cursor:pointer;margin-bottom:var(--space-4);margin-left:auto}.forgot-password:hover{text-decoration:underline}.auth-submit{width:100%;margin-top:var(--space-2)}.auth-toggle{text-align:center;margin-top:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-color)}.auth-toggle span{color:var(--text-muted);margin-right:var(--space-2)}.auth-toggle button{background:none;border:none;color:var(--primary-500);font-weight:600;cursor:pointer}.auth-toggle button:hover{text-decoration:underline}.back-button{display:flex;align-items:center;gap:var(--space-2);background:none;border:none;color:var(--text-secondary);cursor:pointer;margin-bottom:var(--space-6);font-size:.9rem}.back-button:hover{color:var(--primary-500)}.doctor-badge-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;background:#10b9811a;border-radius:50%;margin:0 auto var(--space-4);color:var(--primary-500);box-shadow:0 4px 12px #10b98126}.password-requirements{display:flex;flex-direction:column;gap:.4rem;margin-top:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.requirement{display:flex;align-items:center;gap:.5rem;font-size:.8rem;transition:all .2s ease}.requirement.met{color:#10b981}.requirement.met svg{color:#10b981}.requirement.unmet{color:var(--text-muted)}.requirement.unmet svg{color:#ef4444}@media (max-width: 576px){.password-requirements{padding:.6rem;gap:.35rem}.requirement{font-size:.75rem;gap:.4rem}.requirement svg{width:12px;height:12px}}.doctor-setup-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--primary-50) 100%);padding:var(--space-4);padding-top:calc(var(--header-height) + var(--space-4))}.setup-container{width:100%;max-width:440px}.setup-card{padding:var(--space-8);text-align:center}.setup-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--primary-100),var(--primary-200));border-radius:var(--radius-lg);color:var(--primary-700);margin:0 auto var(--space-6)}.setup-card h1{font-size:1.5rem;margin-bottom:var(--space-2)}.setup-description{color:var(--text-muted);margin-bottom:var(--space-6)}.setup-submit{width:100%;margin-top:var(--space-4)}.setup-complete{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.setup-complete svg{color:var(--primary-600)}.setup-complete h2{margin:0}.setup-complete p{color:var(--text-muted);margin:0}.input-with-icon{position:relative;display:flex;align-items:center}.input-with-icon svg{position:absolute;left:var(--space-4);color:var(--text-muted);pointer-events:none}.input-with-icon .form-input{padding-left:calc(var(--space-4) + 24px);padding-right:5rem}.password-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:40px;height:40px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;z-index:10;border-radius:var(--radius-md)}.doctor-messages{padding:var(--space-6) 0;min-height:calc(100vh - var(--header-height));background-color:var(--bg-secondary)}.messages-header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-8)}.messages-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:var(--space-6)}.message-card{display:flex;flex-direction:column;height:100%;transition:transform .2s,box-shadow .2s}.message-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.message-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-color)}.sender-info{display:flex;flex-direction:column;gap:var(--space-1)}.sender-name{display:flex;align-items:center;gap:var(--space-2);font-size:1.1rem;color:var(--text-primary);margin:0}.message-date{display:flex;align-items:center;gap:var(--space-2);font-size:.85rem;color:var(--text-muted)}.delete-btn{background:transparent;border:none;color:var(--text-muted);padding:var(--space-2);border-radius:var(--radius-full);cursor:pointer;transition:all .2s}.delete-btn:hover{background:#ef44441a;color:var(--error)}.contact-details{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.detail-item{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.9rem}.detail-item a{color:var(--primary-600)}.detail-item a:hover{text-decoration:underline}.message-body{flex:1;background:var(--bg-tertiary);padding:var(--space-3);border-radius:var(--radius-md);color:var(--text-body);font-size:.95rem;white-space:pre-wrap}@media (max-width: 768px){.messages-grid{grid-template-columns:1fr}}.patient-dashboard{padding:var(--space-6) 0;min-height:calc(100vh - var(--header-height))}.spinner{width:3rem;height:3rem;border:4px solid var(--border-color);border-top:4px solid var(--primary-600);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.welcome-section{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-6)}[data-theme=dark] .patient-dashboard .btn:hover,[data-theme=dark] .patient-dashboard .btn-primary:hover,[data-theme=dark] .welcome-section .btn:hover{color:#fff!important}.quick-info{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}@media (max-width: 576px){.quick-info{grid-template-columns:1fr}}.quick-info .info-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4)}.quick-info .info-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--primary-100);border-radius:var(--radius-lg);color:var(--primary-700)}.quick-info .info-content{display:flex;flex-direction:column}.quick-info .info-label{font-size:.8rem;color:var(--text-muted)}.quick-info .info-value{font-weight:600;color:var(--text-primary)}.announcements-section{margin-bottom:var(--space-8)}.announcements-section h2{display:flex;align-items:center;gap:var(--space-2);font-size:1.25rem;margin-bottom:var(--space-4)}.announcements-list{display:flex;flex-direction:column;gap:var(--space-3)}.announcement-card{padding:var(--space-5);border-left:4px solid var(--primary-500);transition:all var(--transition-base)}.announcement-card:hover{transform:translate(4px);background:var(--bg-secondary)}.announcement-card.urgent{border-left-color:var(--error);background:linear-gradient(to right,rgba(239,68,68,.08),transparent)}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2);gap:var(--space-4)}.announcement-card h3{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.announcement-date{font-size:.75rem;color:var(--text-muted);white-space:nowrap;background:var(--bg-secondary);padding:2px 8px;border-radius:var(--radius-full);border:1px solid var(--border-color)}.announcement-card p{font-size:.95rem;color:var(--text-secondary);margin:0;line-height:1.5}.appointments-section{margin-bottom:var(--space-8)}.view-all:hover{text-decoration:underline}.empty-state{text-align:center;padding:var(--space-10)}.empty-state p{color:var(--text-muted);margin-bottom:var(--space-8)}.appointments-list{display:flex;flex-direction:column;gap:var(--space-3)}@media (max-width: 576px){.section-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}.tab-switcher{width:100%;overflow-x:auto}.tab-btn{white-space:nowrap;flex:1;justify-content:center}.view-all{align-self:flex-end;font-size:.85rem}}.appointment-card{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5);transition:all var(--transition-base)}.appointment-main{display:flex;align-items:center;gap:var(--space-4);flex:1}.appointment-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;height:70px;padding:var(--space-2);background:var(--primary-50);border:1px solid var(--primary-100);border-radius:var(--radius-lg)}[data-theme=dark] .appointment-date{background:#10b9811a;border-color:#10b98133}[data-theme=dark] .date-day{color:var(--primary-400)}[data-theme=dark] .date-month{color:var(--primary-300)}.date-day{font-size:1.5rem;font-weight:700;color:var(--primary-700);line-height:1;margin-bottom:2px}.date-month{font-size:.75rem;color:var(--primary-600);text-transform:uppercase;font-weight:700;letter-spacing:.5px}.appointment-info{display:flex;flex-direction:column;justify-content:center;gap:4px}.appointment-reason{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.appointment-meta{display:flex;flex-direction:column;gap:4px}.meta-item{display:flex;align-items:center;gap:var(--space-2);color:var(--text-secondary);font-size:.85rem;font-weight:500}.meta-item svg{color:var(--primary-500)}.appointment-actions{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:var(--space-2);min-width:120px}.badge-booked{background:var(--primary-100);color:var(--primary-800);border:1px solid var(--primary-200)}[data-theme=dark] .badge-booked{background:#10b98126;color:var(--primary-300);border-color:#10b9814d}.badge-rescheduled{background:#fff3e0;color:#e65100;border:1px solid #FFE0B2}@media (max-width: 576px){.appointment-card{flex-direction:column;align-items:flex-start}.appointment-main{width:100%}.appointment-actions{width:100%;flex-direction:row;justify-content:space-between;align-items:center;margin-top:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-color)}}.clinic-card-section{margin-bottom:var(--space-8)}.clinic-card{background:linear-gradient(135deg,var(--primary-50),var(--bg-secondary));border:2px solid var(--primary-100);padding:var(--space-6)}.clinic-card h3{font-size:1.1rem;margin-bottom:var(--space-1)}.clinic-card>p{color:var(--text-secondary);margin-bottom:var(--space-3)}.clinic-hours{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted);font-size:.9rem;margin-bottom:var(--space-4)}.clinic-actions{display:flex;gap:var(--space-3)}@media (max-width: 576px){.welcome-section{flex-direction:column;align-items:flex-start}.welcome-section .btn{width:100%;justify-content:center}}.tab-switcher{display:flex;gap:var(--space-2);background:var(--bg-secondary);padding:var(--space-1);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.tab-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;background:transparent;border-radius:var(--radius-md);font-size:.9rem;font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.tab-btn.active{background:var(--card-bg);color:var(--primary-600);box-shadow:var(--shadow-sm);font-weight:600}[data-theme=dark] .tab-btn.active{background:var(--primary-900);color:var(--primary-400)}.clinic-schedule{margin-top:var(--space-4)}.schedule-header-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4);flex-wrap:wrap;gap:var(--space-2)}.schedule-header-info p{margin:0;color:var(--text-secondary);font-size:.9rem}.privacy-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:.75rem;color:var(--text-muted)}.clinic-slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.clinic-slot-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-3);background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);text-align:center}.clinic-slot-card.booked{border-color:#ef4444;background:#ef44440d}[data-theme=dark] .clinic-slot-card.booked{background:#ef44441a}.slot-time{font-weight:600;font-size:1rem;color:var(--text-primary);margin-bottom:var(--space-1)}.slot-status{display:flex;align-items:center;gap:var(--space-1);font-size:.8rem;color:#ef4444;font-weight:500}.status-dot{width:6px;height:6px;background:#ef4444;border-radius:50%}.book-appointment{padding:var(--space-6) 0;min-height:calc(100vh - var(--header-height))}.booking-header{display:flex;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-8)}.booking-header h1{font-size:1.5rem;margin-bottom:var(--space-1)}.booking-header p{color:var(--text-muted);margin:0}.booking-steps{display:flex;align-items:center;justify-content:center;gap:var(--space-2);margin-bottom:var(--space-8);padding:var(--space-4);background:var(--card-bg);border-radius:var(--radius-xl);border:1px solid var(--border-color)}.step{display:flex;align-items:center;gap:var(--space-2);color:var(--text-muted)}.step.active{color:var(--primary-700)}.step-number{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-tertiary);border-radius:var(--radius-full);font-size:.85rem;font-weight:600}.step.active .step-number{background:var(--primary-600);color:#fff}.step-label{font-size:.9rem;font-weight:500}.step-line{flex:1;max-width:60px;height:2px;background:var(--border-color)}@media (max-width: 576px){.step-label{display:none}.step-line{max-width:30px}}.booking-step h2{display:flex;align-items:center;gap:var(--space-2);font-size:1.25rem;margin-bottom:var(--space-6)}.selected-date-info{color:var(--text-secondary);margin-bottom:var(--space-4)}.dates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.date-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-4);background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast)}.date-card:hover{border-color:var(--primary-400);background:var(--primary-50)}.date-card.selected{border-color:var(--primary-600);background:var(--primary-50)}.date-label{font-weight:500;color:var(--text-primary)}.today-badge{font-size:.7rem;color:var(--primary-600);font-weight:600;margin-top:var(--space-1)}.slots-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3);margin-bottom:var(--space-6)}.slot-card{display:flex;flex-direction:column;align-items:center;padding:var(--space-3);background:var(--card-bg);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast)}.slot-card:hover:not(.disabled){border-color:var(--primary-400);background:var(--primary-50)}.slot-card.selected{border-color:var(--primary-600);background:var(--primary-100)}.slot-card.disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary)}.slot-time{font-weight:500;font-size:.9rem;color:var(--text-primary)}.slot-status{font-size:.7rem;margin-top:var(--space-1)}.slot-status.booked{color:var(--error)}.slot-status.past{color:var(--text-muted)}[data-theme=dark] .date-card:hover,[data-theme=dark] .slot-card:hover:not(.disabled){background:#10b98126;border-color:var(--primary-500)}[data-theme=dark] .date-card:hover .date-label,[data-theme=dark] .slot-card:hover .slot-time{color:#fff}[data-theme=dark] .date-card.selected,[data-theme=dark] .slot-card.selected{background:#10b98133;border-color:var(--primary-500)}[data-theme=dark] .date-card.selected .date-label,[data-theme=dark] .slot-card.selected .slot-time{color:#fff}[data-theme=dark] .date-card.selected .today-badge{color:var(--primary-400)}.confirmation-card{padding:var(--space-6);margin-bottom:var(--space-6)}.confirm-row{display:flex;justify-content:space-between;padding:var(--space-3) 0;border-bottom:1px solid var(--border-color)}.confirm-row:last-child{border-bottom:none}.confirm-label{color:var(--text-muted)}.confirm-value{font-weight:600;color:var(--text-primary)}.recheck-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--bg-tertiary);border-radius:var(--radius-lg);cursor:pointer;margin-bottom:var(--space-4)}.recheck-option input{width:20px;height:20px;accent-color:var(--primary-600)}.booking-notice{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#fff3e0;border-radius:var(--radius-lg);color:#e65100;font-size:.9rem;margin-bottom:var(--space-6)}.step-actions{display:flex;gap:var(--space-4);justify-content:flex-end}@media (max-width: 576px){.step-actions{flex-direction:column-reverse}.step-actions .btn{width:100%;justify-content:center}}.reasons-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3);margin-bottom:var(--space-4)}.reason-chip{padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-secondary);font-weight:500;font-size:.9rem;cursor:pointer;transition:all var(--transition-fast)}.reason-chip:hover{border-color:var(--primary-400);background:var(--primary-50);color:var(--text-primary)}.reason-chip.active{background:var(--primary-100);border-color:var(--primary-500);color:var(--primary-700)}[data-theme=dark] .reason-chip:hover{background:var(--primary-900);border-color:var(--primary-500);color:#fff}[data-theme=dark] .reason-chip.active{background:#10b98133;color:#fff}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease-out}.modal-content{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-6);width:90%;max-width:450px;box-shadow:var(--shadow-xl);position:relative;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.modal-header h3{margin:0;font-size:1.25rem;color:var(--text-primary)}.modal-close{background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-body{color:var(--text-secondary);margin-bottom:var(--space-6);line-height:1.5}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3)}.patient-profile{padding:var(--space-6) 0;min-height:calc(100vh - var(--header-height))}.profile-card{max-width:600px;padding:var(--space-6)}.profile-header{display:flex;align-items:center;gap:var(--space-4);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-color);margin-bottom:var(--space-6)}.profile-avatar{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--primary-100);border-radius:var(--radius-full);color:var(--primary-700)}.profile-name{flex:1}.profile-name h2{font-size:1.25rem;margin-bottom:var(--space-1)}.edit-btn{flex-shrink:0}.profile-info{display:flex;flex-direction:column;gap:var(--space-4)}.info-row{display:flex;align-items:flex-start;gap:var(--space-4);padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md)}.info-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--primary-100);border-radius:var(--radius-md);color:var(--primary-700);flex-shrink:0}.info-content{display:flex;flex-direction:column}.info-label{font-size:.8rem;color:var(--text-muted)}.info-value{font-weight:500;color:var(--text-primary)}.profile-form{display:flex;flex-direction:column;gap:var(--space-4)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media (max-width: 576px){.form-row{grid-template-columns:1fr}}.form-actions{display:flex;gap:var(--space-3);justify-content:flex-end;padding-top:var(--space-4);border-top:1px solid var(--border-color);margin-top:var(--space-2)}@media (max-width: 576px){.form-actions{flex-direction:column-reverse}.form-actions .btn{width:100%;justify-content:center}}.account-actions{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-color);display:flex;gap:var(--space-4);flex-wrap:wrap}.btn-logout{color:var(--text-secondary);border-color:var(--border-color)}.btn-logout:hover{color:var(--text-primary);background:var(--bg-tertiary);border-color:var(--text-secondary)}.btn-danger-outline{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-weight:600;font-size:.95rem;cursor:pointer;transition:all var(--transition-base);background:transparent;color:var(--error);border:1px solid rgba(239,68,68,.3)}.btn-danger-outline:hover{background:#ef44441a;border-color:var(--error)}@media (max-width: 480px){.profile-card{padding:var(--space-4)}.account-actions{flex-direction:column}.account-actions .btn{width:100%;justify-content:center}}.my-appointments{padding:var(--space-6) 0;min-height:calc(100vh - var(--header-height))}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);flex-wrap:wrap;gap:var(--space-4)}.header-left{display:flex;align-items:center;gap:var(--space-4)}.back-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.back-btn:hover{background:var(--bg-tertiary);color:var(--text-primary)}.page-header h1{font-size:1.5rem;margin-bottom:var(--space-1);line-height:1.2}.filter-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);padding:var(--space-1);background:var(--card-bg);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.filter-tab{flex:1;padding:var(--space-3) var(--space-4);background:transparent;border:none;border-radius:var(--radius-md);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast)}.filter-tab:hover{background:var(--bg-tertiary)}.empty-state p{color:var(--text-muted);margin-bottom:var(--space-6)}.appointments-list{display:flex;flex-direction:column;gap:var(--space-4)}.appointment-item{display:flex;gap:var(--space-4);padding:var(--space-4);position:relative}@media (max-width: 576px){.appointment-item{flex-direction:column}}.appointment-date-block{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:70px;padding:var(--space-3);background:var(--primary-100);border-radius:var(--radius-lg)}.date-day{font-size:1.75rem;font-weight:700;color:var(--primary-800);line-height:1}.date-month{font-size:.8rem;color:var(--primary-600);text-transform:uppercase;font-weight:600}.appointment-info{flex:1}.appointment-meta{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-2)}.meta-item{display:flex;align-items:center;gap:var(--space-1);font-size:.85rem;color:var(--text-muted)}.appointment-reason{font-size:1rem;margin-bottom:var(--space-2)}.recheck-badge{display:inline-block;padding:var(--space-1) var(--space-2);background:#e3f2fd;color:#1565c0;font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);margin-right:var(--space-2)}.status-badge{display:inline-flex;align-items:center;padding:4px 12px;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:capitalize;margin-top:var(--space-2);width:fit-content;line-height:normal}.appointment-actions{display:flex;align-items:flex-start}.cancel-btn{color:var(--error);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);transition:all var(--transition-fast)}.cancel-btn:hover{background:#ffebee;border-color:#ffcdd2;transform:translateY(-1px)}.doctor-notes{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border-left:4px solid var(--primary-500);border-radius:0 var(--radius-md) var(--radius-md) 0}.doctor-notes-header{display:flex;align-items:center;gap:var(--space-2);font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--primary-600);letter-spacing:.05em}.doctor-notes-content{font-size:.9rem;color:var(--text-primary);line-height:1.5}@media (max-width: 576px){.page-header{flex-direction:column;align-items:flex-start}.page-header .btn{width:100%;justify-content:center}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out}.modal-content{background:var(--card-bg);padding:2rem;border-radius:16px;width:90%;max-width:400px;text-align:center;position:relative;border:1px solid var(--border-color);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-close{position:absolute;top:1rem;right:1rem;background:transparent;border:none;color:var(--text-light);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-icon{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.modal-icon.danger{background:#fee2e2;color:#ef4444}.modal-icon.warning{background:#fef3c7;color:#f59e0b}.modal-title{font-size:1.25rem;color:var(--text-primary);margin-bottom:.75rem;font-weight:600}.modal-message{color:var(--text-secondary);margin-bottom:2rem;line-height:1.5;font-size:.95rem}.modal-actions{display:flex;gap:1rem;justify-content:center}.btn-cancel,.btn-confirm{padding:.75rem 1.5rem;border-radius:8px;font-weight:500;font-size:.95rem;cursor:pointer;transition:all .2s;flex:1}.btn-cancel{background:var(--bg-secondary);border:1px solid transparent;color:var(--text-primary)}.btn-cancel:hover{background:var(--border-color)}.btn-confirm.danger{background:#dc2626;color:#fff;border:1px solid #dc2626}.btn-confirm.danger:hover{background:#b91c1c}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.doctor-dashboard{padding:var(--space-6) 0;min-height:calc(100vh - var(--header-height))}.dashboard-loading{min-height:50vh;display:flex;align-items:center;justify-content:center}.welcome-section{margin-bottom:var(--space-8)}.welcome-content h1{font-size:1.75rem;margin-bottom:var(--space-1)}.welcome-content p{color:var(--text-muted);margin:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}@media (max-width: 992px){.stats-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 576px){.stats-grid{grid-template-columns:1fr}}.stat-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5)}.stat-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-lg)}.stat-icon.today{background:var(--primary-100);color:var(--primary-700)}.stat-icon.pending{background:#fff3e0;color:#e65100}.stat-icon.completed{background:#e8f5e9;color:#2e7d32}.stat-icon.patients{background:#e3f2fd;color:#1565c0}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary);line-height:1}.stat-label{font-size:.85rem;color:var(--text-muted);margin-top:var(--space-1)}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}@media (max-width: 768px){.quick-actions{grid-template-columns:1fr}}.action-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);color:var(--text-primary);transition:all var(--transition-fast)}.action-card:hover{background:var(--primary-50);border-color:var(--primary-200)}.action-card svg:first-child{color:var(--primary-600)}.action-card span{flex:1;font-weight:500}.action-card svg:last-child{color:var(--text-muted)}[data-theme=dark] .action-card:hover{background:var(--primary-900);border-color:var(--primary-500)}[data-theme=dark] .action-card:hover span,[data-theme=dark] .action-card:hover svg{color:#fff!important}.today-section{margin-bottom:var(--space-8)}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4)}.section-header h2{display:flex;align-items:center;gap:var(--space-2);font-size:1.25rem;margin:0}.view-all{display:flex;align-items:center;gap:var(--space-1);color:var(--primary-600);font-weight:500;font-size:.9rem}.empty-state h3{margin-bottom:var(--space-2)}.empty-state p{color:var(--text-muted);margin:0}.appointments-timeline{display:flex;flex-direction:column;gap:var(--space-3)}.timeline-item{display:flex;gap:var(--space-4);padding:var(--space-4);position:relative;border-left:4px solid var(--primary-500)}.timeline-time{display:flex;flex-direction:column;align-items:center;min-width:70px;font-weight:600;color:var(--primary-700)}.time-end{font-size:.8rem;font-weight:400;color:var(--text-muted)}.timeline-content{flex:1}.timeline-content h4{font-size:1rem;margin-bottom:var(--space-1)}.patient-phone{font-size:.85rem;color:var(--text-muted);margin-bottom:var(--space-1)}.appointment-reason{font-size:.9rem;color:var(--text-secondary);margin:0}.recheck-badge{display:inline-block;padding:var(--space-1) var(--space-2);background:#e3f2fd;color:#1565c0;font-size:.75rem;font-weight:500;border-radius:var(--radius-sm);margin-top:var(--space-2)}.status-indicator{width:12px;height:12px;border-radius:var(--radius-full);flex-shrink:0}.status-indicator.booked{background:var(--primary-500)}.status-indicator.rescheduled{background:#ff9800}.custom-datepicker{position:relative;width:100%;min-width:200px}.datepicker-input{display:flex;align-items:center;gap:10px;padding:0 12px;height:44px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;-webkit-user-select:none;user-select:none}.datepicker-input:hover{border-color:var(--primary-500)}.datepicker-input .calendar-icon{color:var(--text-muted)}.datepicker-input span{flex:1;font-size:.9rem;color:var(--text-primary)}.datepicker-input .placeholder{color:var(--text-muted)}.datepicker-input .clear-btn{display:flex;align-items:center;justify-content:center;padding:4px;border-radius:50%;color:var(--text-muted)}.datepicker-input .clear-btn:hover{background:#0000000d;color:var(--error)}.calendar-dropdown{position:absolute;top:calc(100% + 8px);left:0;z-index:1000;background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:16px;width:280px;animation:fadeIn .15s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.current-month{font-weight:600;color:var(--text-primary);font-size:.95rem}.nav-btn{background:transparent;border:none;color:var(--text-secondary);padding:4px;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center}.nav-btn:hover{background:var(--bg-secondary);color:var(--primary-500)}.weekdays-grid{display:grid;grid-template-columns:repeat(7,1fr);margin-bottom:8px;text-align:center}.weekday{font-size:.75rem;color:var(--text-muted);font-weight:600}.days-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:50%;font-size:.85rem;color:var(--text-primary);cursor:pointer;padding:0;transition:all .1s}.calendar-day:hover:not(.empty):not(.disabled){background:var(--bg-hover);color:var(--primary-600)}.calendar-day.empty{cursor:default;background:transparent}.calendar-day.today{border:1px solid var(--primary-500);color:var(--primary-500)}.calendar-day.selected{background:var(--primary-600)!important;color:#fff!important;font-weight:600}.calendar-day.disabled{opacity:.3;cursor:not-allowed;text-decoration:line-through}.manage-appointments{padding:var(--space-6) 0;min-height:calc(100vh - var(--header-height))}.page-header{margin-bottom:var(--space-6)}.page-header h1{font-size:1.5rem;margin-bottom:var(--space-1)}.page-header p{color:var(--text-muted);margin:0}.filters-bar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap}.filter-tabs{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1);background:var(--bg-tertiary);border-radius:var(--radius-md);height:44px;border:1px solid var(--border-color);margin:0;box-sizing:border-box}.filter-tab{padding:0 var(--space-4);height:100%;background:transparent;border:none;border-radius:var(--radius-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;white-space:nowrap;display:flex;align-items:center;justify-content:center}.filter-tab.active{background:var(--primary-600);color:#fff}.date-filter-picker{width:200px;height:44px;margin:0;box-sizing:border-box}.search-box{height:44px;display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);flex:1;min-width:200px;padding:0 var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color);margin:0;box-sizing:border-box}.search-box svg{color:var(--text-muted);flex-shrink:0}.search-box input{flex:1;background:transparent;border:none;outline:none;font-size:.9rem;color:var(--text-primary)}.loading-state{display:flex;justify-content:center;padding:var(--space-12)}.empty-state{text-align:center;padding:var(--space-12)}.empty-state svg{color:var(--text-muted);margin-bottom:var(--space-4)}.appointments-table-wrapper{background:var(--card-bg);border-radius:var(--radius-xl);border:1px solid var(--border-color);overflow-x:auto}.appointments-table{width:100%;border-collapse:collapse}.appointments-table th,.appointments-table td{padding:var(--space-4);text-align:left;border-bottom:1px solid var(--border-color)}.appointments-table th{background:var(--bg-tertiary);font-weight:600;font-size:.85rem;color:var(--text-secondary);white-space:nowrap}.appointments-table tr:last-child td{border-bottom:none}.appointments-table tr:hover td{background:var(--bg-secondary)}.datetime-cell{display:flex;flex-direction:column}.datetime-cell .date{font-weight:600;color:var(--text-primary)}.datetime-cell .time{font-size:.85rem;color:var(--text-muted)}.patient-cell{display:flex;flex-direction:column}.patient-cell .name{font-weight:500}.patient-cell .phone{font-size:.85rem;color:var(--text-muted)}.reason-cell{display:flex;flex-direction:column;gap:var(--space-1)}.recheck-tag{display:inline-block;padding:2px 8px;background:#e3f2fd;color:#1565c0;font-size:.7rem;font-weight:500;border-radius:var(--radius-sm);width:fit-content}.status-badge{text-transform:capitalize}.badge-booked{background:var(--primary-100);color:var(--primary-800)}.badge-rescheduled{background:#fff3e0;color:#e65100}.badge-completed{background:#e8f5e9;color:#2e7d32}.badge-cancelled{background:#ffebee;color:#c62828}.actions-cell{display:flex;gap:var(--space-2)}.action-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast);color:var(--text-muted)}.action-btn:hover{border-color:var(--primary-500);color:var(--primary-600);transform:translateY(-1px)}.action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.action-btn.complete:hover{background:var(--success);border-color:var(--success);color:#fff}.action-btn.reschedule:hover{background:var(--warning);border-color:var(--warning);color:#fff}.action-btn.cancel:hover{background:var(--error);border-color:var(--error);color:#fff}.action-btn.notes:hover{background:var(--info);border-color:var(--info);color:#fff}@media (prefers-color-scheme: dark){.action-btn{background:#ffffff0d;border-color:#ffffff1a}.action-btn:hover{background:#ffffff1a}}@media (max-width: 768px){.filters-bar{flex-direction:column;align-items:stretch}.filter-tabs{overflow-x:auto;padding-bottom:var(--space-2)}.search-box{min-width:auto}.appointments-table-wrapper{display:none}.mobile-appointments-list{display:flex;flex-direction:column;gap:16px;padding-bottom:80px}.appointment-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;box-shadow:0 4px 6px -1px #0000000d;display:flex;flex-direction:column;gap:12px;position:relative}.mobile-card-header{display:flex;justify-content:space-between;align-items:center}.mobile-patient-info{display:flex;align-items:center;gap:8px}.mobile-patient-name{font-size:1.1rem;font-weight:700;color:var(--text-primary);margin:0}.icon-btn-edit{background:transparent;border:none;color:var(--text-muted);padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.icon-btn-edit:hover{background:var(--bg-secondary);color:var(--primary-500)}.mobile-time-row{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--text-secondary);font-weight:500;margin-top:-4px}.mobile-contact-row{display:flex;align-items:center;gap:12px;background:var(--bg-tertiary);padding:8px 12px;border-radius:var(--radius-md)}.mobile-phone{font-family:monospace;font-size:.95rem;font-weight:600;color:var(--text-primary);text-decoration:none;flex:1}.btn-whatsapp-pill{background:#25d366;color:#fff;border:none;padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px;cursor:pointer;box-shadow:0 2px 4px #25d3664d;flex-shrink:0}.mobile-reason-row{background:var(--bg-secondary);padding:10px;border-radius:var(--radius-md);font-size:.9rem;color:var(--text-primary);border:1px dashed var(--border-color)}.mobile-reason-label{font-size:.7rem;text-transform:uppercase;color:var(--text-muted);font-weight:700;display:block;margin-bottom:2px}.mobile-actions-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:4px;border-top:1px solid var(--border-color);padding-top:12px}.mobile-action-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;border-radius:var(--radius-md);border:1px solid transparent;background:transparent;cursor:pointer;font-size:.75rem;font-weight:600;transition:all .2s}.mobile-action-btn.complete{color:#2e7d32;background:#e8f5e9}.mobile-action-btn.reschedule{color:#e65100;background:#fff3e0}.mobile-action-btn.cancel{color:#c62828;background:#ffebee}@media (prefers-color-scheme: dark){.mobile-contact-row,.mobile-reason-row{background:#ffffff08;border-color:#ffffff1a}.mobile-action-btn.complete{background:#2e7d3233}.mobile-action-btn.reschedule{background:#e6510033}.mobile-action-btn.cancel{background:#c6282833}}}@media (min-width: 769px){.mobile-appointments-list{display:none}}.patients-list-page{padding:2rem 1rem 4rem;min-height:calc(100vh - 70px)}.patients-list-page .container{max-width:900px;margin:0 auto;padding:0 1rem}.page-header{margin-bottom:2rem}.page-header h1{font-size:1.5rem;margin-bottom:.25rem;color:var(--text-primary)}.page-header p{color:var(--text-secondary);margin:0;font-size:.95rem}.actions-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem;margin-bottom:2rem;gap:1rem;flex-wrap:wrap;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px}.search-wrapper{display:flex;align-items:center;gap:.75rem;flex:1;min-width:200px;background:var(--bg-secondary);padding:.6rem 1rem;border-radius:8px;color:var(--text-secondary)}.search-wrapper input{background:transparent;border:none;outline:none;font-size:.95rem;color:var(--text-primary);width:100%}.bulk-delete-btn{display:flex;align-items:center;gap:.5rem;background-color:#fee2e2;color:#dc2626;border:none;padding:.6rem 1rem;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s}.bulk-delete-btn:hover{background-color:#fecaca}.patients-layout{display:grid;grid-template-columns:1fr;gap:2rem;align-items:start}.patients-layout:has(.patient-details){grid-template-columns:1fr 380px}@media (max-width: 1024px){.patients-layout,.patients-layout:has(.patient-details){grid-template-columns:1fr}}.list-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.select-all-btn{display:flex;align-items:center;gap:.5rem;background:none;border:none;color:var(--text-secondary);font-weight:500;cursor:pointer;font-size:.9rem}.select-all-btn:hover{color:var(--primary)}.count-badge{background:var(--bg-secondary);color:var(--text-secondary);padding:.25rem .75rem;border-radius:20px;font-size:.8rem;font-weight:600}.patients-list{display:flex;flex-direction:column;gap:.75rem}.patient-card{display:flex;align-items:center;gap:.75rem;padding:1rem;cursor:pointer;transition:all .2s;border:1px solid var(--border-color);border-left:4px solid transparent;position:relative;background:var(--card-bg);border-radius:12px;overflow:hidden}.patient-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a}.patient-card.selected{border-left-color:var(--primary);background:var(--bg-secondary)}.checkbox-area{color:var(--text-light);cursor:pointer;padding:.25rem;transition:color .2s;display:flex;flex-shrink:0}.checkbox-area:hover,.checkbox-area.checked{color:var(--primary)}.patient-avatar{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:10px;font-size:1.1rem;font-weight:600;color:#fff;flex-shrink:0}.patient-info{flex:1;min-width:0;overflow:hidden}.patient-info h3{font-size:.95rem;margin-bottom:.3rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-contact{display:flex;flex-wrap:wrap;gap:.4rem}.info-pill{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;color:var(--text-secondary);background:var(--bg-secondary);padding:.2rem .5rem;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:160px}.patient-actions{display:flex;align-items:center;flex-shrink:0;margin-left:auto}.delete-btn-icon{background:#fee2e2;color:#ef4444;border:1px solid #fecaca;width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}[data-theme=dark] .delete-btn-icon{background:#ef444426;color:#f87171;border-color:#ef44444d}.delete-btn-icon:hover{background:#ef4444;color:#fff!important;border-color:#ef4444}[data-theme=dark] .delete-btn-icon:hover{background:#ef4444;color:#fff!important}@media (max-width: 768px){.patients-list-page{padding:1rem 0 6rem}.patients-list-page .container{padding:0 .75rem}.page-header{margin-bottom:1rem}.page-header h1{font-size:1.2rem}.page-header p{font-size:.8rem}.actions-bar{padding:.5rem;margin-bottom:1rem}.search-wrapper{flex:1 1 100%;min-width:100%;padding:.5rem .75rem}.select-all-btn,.checkbox-area{display:none}.bulk-delete-btn{width:100%;justify-content:center}}@media (max-width: 480px){.patients-list-page{padding:.75rem 0 5.5rem}.patients-list-page .container{padding:0 .5rem}.page-header{margin-bottom:.75rem}.page-header h1{font-size:1.1rem}.page-header p{font-size:.75rem}.actions-bar{padding:.4rem;margin-bottom:.75rem;border-radius:10px}.search-wrapper{padding:.4rem .6rem;border-radius:6px}.search-wrapper input{font-size:.85rem}.search-wrapper svg{width:16px;height:16px}.list-header{margin-bottom:.5rem}.count-badge{font-size:.7rem;padding:.15rem .5rem}.patients-list{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.patient-card{flex-direction:column;align-items:center;text-align:center;padding:.75rem .5rem;gap:.4rem;border-radius:12px;border-left:none;border-top:3px solid transparent}.patient-card.selected{border-left-color:transparent;border-top-color:var(--primary)}.patient-avatar{width:44px;height:44px;font-size:1.1rem;border-radius:12px}.patient-info{width:100%;text-align:center}.patient-info h3{font-size:.8rem;margin-bottom:.3rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-contact{flex-direction:column;align-items:center;gap:.2rem}.info-pill{font-size:.6rem;padding:.15rem .4rem;gap:.2rem;max-width:100%;justify-content:center}.info-pill svg{width:10px;height:10px;flex-shrink:0}.info-pill.email{display:none}.patient-actions{position:absolute;top:.4rem;right:.4rem}.delete-btn-icon{width:26px;height:26px;border-radius:6px}.delete-btn-icon svg{width:12px;height:12px}}@media (max-width: 528px) and (max-height: 758px){.select-all-btn,.checkbox-area{display:none!important}.patients-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.patient-card{flex-direction:column;align-items:center;justify-content:flex-start;text-align:center;padding:1.8rem .5rem .5rem;gap:.25rem;border-left:none;border-top:3px solid transparent;min-height:140px}.patient-card.selected{border-top-color:var(--primary)}.patient-avatar{width:40px;height:40px;font-size:1rem;border-radius:10px}.patient-info{width:100%;overflow:hidden}.patient-info h3{font-size:.75rem;margin-bottom:.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.patient-contact{display:flex!important;flex-direction:column;align-items:center;gap:.15rem}.info-pill{display:inline-flex!important;font-size:.55rem;padding:.1rem .25rem;gap:.15rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.info-pill svg{width:8px;height:8px;flex-shrink:0}.patient-actions{position:absolute;top:.3rem;right:.3rem}.delete-btn-icon{width:24px;height:24px;border-radius:5px}.delete-btn-icon svg{width:11px;height:11px}}.patient-details{padding:1.5rem;position:sticky;top:2rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;height:fit-content}@media (max-width: 1024px){.patient-details{position:static;margin-top:2rem}}.details-header{display:flex;align-items:flex-start;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.details-avatar{width:64px;height:64px;background:linear-gradient(135deg,#10b981,#059669);border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;color:#fff;flex-shrink:0}.details-title{flex:1}.details-title h2{font-size:1.25rem;margin-bottom:.5rem;color:var(--text-primary)}.badges{display:flex;gap:.5rem;flex-wrap:wrap}.badge{padding:.25rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600}.badge-primary{background:#e0f2fe;color:#0284c7}.badge-outline{border:1px solid var(--border-color);color:var(--text-secondary)}.delete-patient-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:.5rem;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.delete-patient-btn:hover{background:#fee2e2;color:#dc2626;border-color:#fee2e2}.details-info{display:flex;flex-direction:column;gap:1rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-color);margin-bottom:1.5rem}.info-item{display:flex;align-items:center;gap:.75rem;color:var(--text-primary);font-size:.95rem}.info-item svg{color:var(--text-secondary)}.appointments-history h3{font-size:1rem;margin-bottom:1rem;color:var(--text-primary)}.history-list{display:flex;flex-direction:column;gap:.75rem;max-height:400px;overflow-y:auto}.history-item{padding:1rem;background:var(--bg-secondary);border-radius:12px;border:1px solid transparent;transition:border-color .2s}.history-item:hover{border-color:var(--border-color)}.history-date{display:flex;justify-content:space-between;font-size:.85rem;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.history-time{color:var(--text-secondary);font-weight:400}.history-details{display:flex;align-items:center;gap:.5rem}.status-dot{width:8px;height:8px;border-radius:50%}.status-dot.completed{background:#10b981}.status-dot.cancelled{background:#ef4444}.status-dot.booked{background:#3b82f6}.status-dot.pending{background:#f59e0b}.history-notes{margin-top:.5rem;font-size:.85rem;color:var(--text-secondary);background:var(--card-bg);padding:.5rem;border-radius:6px}.manage-announcements{padding:2.5rem 0;min-height:calc(100vh - 70px);background-color:var(--bg-primary)}.manage-announcements .page-header{margin-bottom:3rem;display:flex;flex-direction:column;gap:1rem}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:all .2s ease;padding:.5rem 1rem;background:var(--bg-secondary);border-radius:99px;align-self:flex-start;border:1px solid var(--border-color)}.back-link:hover{color:var(--primary);border-color:var(--primary);transform:translate(-2px)}.management-grid{display:grid;grid-template-columns:380px 1fr;gap:2.5rem;align-items:start}@media (max-width: 1024px){.management-grid{grid-template-columns:1fr}}.create-section,.announcement-item{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transition:all .3s ease}.create-section{padding:2rem;position:sticky;top:2rem}.create-section h2{font-size:1.25rem;margin-bottom:1.5rem;color:var(--text-primary);font-weight:600;display:flex;align-items:center;gap:.5rem}.create-section .form-group{margin-bottom:1.5rem}.create-section label{display:block;margin-bottom:.5rem;font-weight:500;font-size:.9rem;color:var(--text-secondary)}.create-section input,.create-section textarea{width:100%;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);color:var(--text-primary);font-size:.95rem;transition:all .2s;outline:none;font-family:inherit}.create-section input:focus,.create-section textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #0ea5e926;background:var(--bg-primary)}.create-section textarea{resize:vertical;min-height:100px}.flavor-options{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.75rem;background:var(--bg-secondary);padding:.35rem;border-radius:12px}.flavor-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.35rem;padding:.875rem .5rem;border:1px solid transparent;background:transparent;border-radius:10px;cursor:pointer;font-size:.85rem;font-weight:500;transition:all .2s;color:var(--text-secondary)}.flavor-btn:hover{background:var(--card-bg);color:var(--text-primary);transform:translateY(-1px)}.flavor-btn.selected{background:var(--card-bg);box-shadow:0 2px 4px #0000000d;font-weight:600}.flavor-btn.info.selected{color:#0284c7;border-color:#e0f2fe}html.dark .flavor-btn.info.selected{color:#38bdf8;background:#0ea5e926}.flavor-btn.warning.selected{color:#ca8a04;border-color:#fef9c3}html.dark .flavor-btn.warning.selected{color:#facc15;background:#eab30826}.flavor-btn.urgent.selected{color:#dc2626;border-color:#fee2e2}html.dark .flavor-btn.urgent.selected{color:#f87171;background:#ef444426}.list-section h2{font-size:1.25rem;margin-bottom:1.5rem;color:var(--text-primary);font-weight:600}.announcements-grid{display:grid;gap:1.25rem}.announcement-item{border-left:5px solid transparent;padding:1.5rem;margin-left:0}.announcement-item:hover{transform:translateY(-2px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.announcement-item.inactive{opacity:.7;filter:grayscale(.8);background:var(--bg-secondary)}.announcement-item h3{font-size:1.15rem;margin-bottom:.5rem;color:var(--text-primary);font-weight:600}.announcement-item p{color:var(--text-secondary);font-size:1rem;margin-bottom:1.25rem;line-height:1.6}.item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.item-actions{display:flex;gap:.75rem}.icon-btn{background:var(--bg-secondary);border:1px solid var(--border-color);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.icon-btn:hover{background-color:var(--hover-bg);color:var(--primary);border-color:var(--primary)}.icon-btn.delete:hover{background-color:#fef2f2;color:#ef4444;border-color:#ef4444}html.dark .icon-btn.delete:hover{background-color:#ef444433}.flavor-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .85rem;border-radius:99px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.flavor-badge.info{background:#e0f2fe;color:#0369a1}html.dark .flavor-badge.info{background:#0ea5e933;color:#7dd3fc}.flavor-badge.warning{background:#fef9c3;color:#a16207}html.dark .flavor-badge.warning{background:#eab30833;color:#fde047}.flavor-badge.urgent{background:#fee2e2;color:#b91c1c}html.dark .flavor-badge.urgent{background:#ef444433;color:#fca5a5}.announcement-item.info{border-left-color:#0ea5e9}.announcement-item.warning{border-left-color:#eab308}.announcement-item.urgent{border-left-color:#ef4444}.item-footer{font-size:.85rem;color:var(--text-light);display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;border-top:1px solid var(--border-color)}.header-content{display:flex;align-items:center;gap:1.25rem}.header-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 6px -1px #0000001a}.header-icon.global{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.header-icon.dashboard{background:linear-gradient(135deg,#10b981,#047857)}.header-content h1{font-size:1.8rem;font-weight:700;color:var(--text-primary);margin:0 0 .25rem}@media (max-width: 768px){.manage-announcements{padding:1rem 0}.manage-announcements .page-header{margin-bottom:1.5rem}.header-content{flex-direction:column;align-items:flex-start;gap:.75rem}.header-content h1{font-size:1.5rem}.header-icon{width:48px;height:48px}.create-section{position:static;padding:1.25rem}.flavor-options{grid-template-columns:1fr;grid-template-columns:repeat(3,1fr)}.flavor-btn{padding:.6rem .25rem;font-size:.75rem}.item-header{flex-direction:column;align-items:flex-start;gap:.5rem}.item-actions{align-self:flex-end;margin-top:0;width:100%;justify-content:flex-end}.announcement-item,.create-section{max-width:100%;overflow-x:hidden;box-sizing:border-box}.create-section input,.create-section textarea{max-width:100%;box-sizing:border-box}}.landing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:800px;margin:0 auto}.selection-card{display:flex;align-items:center;gap:1.5rem;background:var(--card-bg);padding:2rem;border-radius:16px;border:1px solid var(--border-color);text-decoration:none;transition:all .3s ease;box-shadow:0 4px 6px -1px #0000001a}.selection-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 10px 15px -3px #0000001a}.card-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:#fff}.selection-card.global .card-icon{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.selection-card.dashboard .card-icon{background:linear-gradient(135deg,#10b981,#047857)}.card-content{flex:1}.card-content h3{color:var(--text-primary);font-size:1.25rem;margin-bottom:.5rem;font-weight:600}.card-content p{color:var(--text-secondary);font-size:.95rem;line-height:1.5;margin:0}.arrow-icon{color:var(--text-light);transition:transform .2s}.selection-card:hover .arrow-icon{transform:translate(4px);color:var(--primary)}@media (max-width: 768px){.landing-grid{grid-template-columns:1fr;gap:1rem}.selection-card{padding:1.5rem;gap:1rem}.card-icon{width:48px;height:48px}.card-icon svg{width:24px;height:24px}.card-content h3{font-size:1.1rem}}.subtitle{color:var(--text-secondary);margin:0;font-size:1rem;line-height:1.5}.location-badge{font-size:.75rem;padding:.25rem .75rem;border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-color);font-weight:500;display:inline-flex;align-items:center;gap:.4rem}html.dark .announcement-item:not(.inactive){background:linear-gradient(145deg,var(--card-bg),rgba(255,255,255,.02))}.status-text{font-weight:500;font-size:.85rem}.status-text.active{color:#10b981}.status-text.inactive{color:var(--text-light)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}a{text-decoration:none;color:inherit}ul,ol{list-style:none}:root{--primary-50: #ECFDF5;--primary-100: #D1FAE5;--primary-200: #A7F3D0;--primary-300: #6EE7B7;--primary-400: #34D399;--primary-500: #10B981;--primary-600: #059669;--primary-700: #047857;--primary-800: #065F46;--primary-900: #064E3B;--glow-color: rgba(16, 185, 129, .5);--glow-strong: rgba(16, 185, 129, .8);--accent: #14B8A6;--accent-light: #2DD4BF;--gray-50: #F9FAFB;--gray-100: #F3F4F6;--gray-200: #E5E7EB;--gray-300: #D1D5DB;--gray-400: #9CA3AF;--gray-500: #6B7280;--gray-600: #4B5563;--gray-700: #374151;--gray-800: #1F2937;--gray-900: #111827;--success: #10B981;--warning: #F59E0B;--error: #EF4444;--info: #3B82F6;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .12);--shadow-glow: 0 0 30px var(--glow-color);--shadow-glow-strong: 0 0 50px var(--glow-strong);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-2xl: 28px;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .4s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-toast: 600;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--mobile-nav-height: 64px;--header-height: 72px}[data-theme=light]{--bg-primary: #FFFFFF;--bg-secondary: #F8FAFC;--bg-tertiary: #F1F5F9;--bg-gradient: linear-gradient(135deg, #FFFFFF 0%, #ECFDF5 50%, #F0FDF4 100%);--text-primary: #0F172A;--text-secondary: #334155;--text-muted: #64748B;--text-body: #475569;--border-color: #E2E8F0;--card-bg: #FFFFFF;--card-bg-glass: rgba(255, 255, 255, .8);--input-bg: #FFFFFF;--nav-bg: rgba(255, 255, 255, .85);--nav-border: rgba(226, 232, 240, .8)}[data-theme=dark]{--bg-primary: #0A0F1A;--bg-secondary: #111827;--bg-tertiary: #1E293B;--bg-gradient: linear-gradient(135deg, #0A0F1A 0%, #0D1B2A 50%, #1A2744 100%);--text-primary: #F8FAFC;--text-secondary: #CBD5E1;--text-muted: #94A3B8;--text-body: #E2E8F0;--border-color: rgba(148, 163, 184, .2);--card-bg: rgba(30, 41, 59, .7);--card-bg-glass: rgba(30, 41, 59, .6);--input-bg: #1E293B;--nav-bg: rgba(10, 15, 26, .9);--nav-border: rgba(148, 163, 184, .1);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 25px rgba(0, 0, 0, .5);--shadow-xl: 0 20px 40px rgba(0, 0, 0, .6);--shadow-glow: 0 0 40px rgba(16, 185, 129, .3);--shadow-glow-strong: 0 0 60px rgba(16, 185, 129, .5)}body{background:var(--bg-gradient);background-attachment:fixed;color:var(--text-body)}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:700;line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3rem)}h2{font-size:clamp(1.5rem,4vw,2.25rem)}h3{font-size:clamp(1.25rem,3vw,1.5rem)}h4{font-size:1.125rem}h5{font-size:1rem}h6{font-size:.875rem}p{color:var(--text-body);margin-bottom:var(--space-4)}.text-gradient{background:linear-gradient(135deg,var(--primary-400) 0%,var(--primary-600) 50%,var(--accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);font-weight:600;font-size:.95rem;cursor:pointer;border:none;transition:all var(--transition-base);text-align:center;white-space:nowrap;position:relative;overflow:hidden}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--primary-500) 0%,var(--primary-600) 100%);color:#fff;box-shadow:0 4px 15px #10b98166}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-400) 0%,var(--primary-500) 100%);transform:translateY(-3px);box-shadow:0 8px 30px #10b98180,var(--shadow-glow)}.btn-secondary{background:transparent;color:var(--primary-500);border:2px solid var(--primary-500)}.btn-secondary:hover:not(:disabled){background:var(--primary-500);color:#fff;box-shadow:var(--shadow-glow)}.btn-outline{background:transparent;color:var(--text-primary);border:2px solid var(--border-color)}.btn-outline:hover:not(:disabled){border-color:var(--primary-500);color:var(--primary-500);background:#10b9811a}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--primary-500)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:1rem;border-radius:var(--radius-xl)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:.85rem}.btn-icon{padding:var(--space-3);border-radius:var(--radius-full)}.card{background:var(--card-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:all var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#10b9814d}.card-glass{background:var(--card-bg-glass);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.card-glow:hover{box-shadow:var(--shadow-glow)}.form-group{margin-bottom:var(--space-5)}.form-label{display:block;margin-bottom:var(--space-2);font-weight:600;color:var(--text-secondary);font-size:.9rem}.form-input{width:100%;padding:var(--space-3) var(--space-4);background:var(--input-bg);border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:1rem;color:var(--text-primary);transition:all var(--transition-fast)}.form-input:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 4px #10b98126,var(--shadow-glow)}.form-input::placeholder{color:var(--text-muted)}.form-input.error{border-color:var(--error)}.form-error{color:var(--error);font-size:.85rem;margin-top:var(--space-1)}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2364748B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px;padding-right:44px}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.grid{display:grid}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}@media (max-width: 768px){.md\:grid-cols-1{grid-template-columns:1fr}}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.py-4{padding-block:var(--space-4)}.py-8{padding-block:var(--space-8)}.py-12{padding-block:var(--space-12)}.px-4{padding-inline:var(--space-4)}.px-6{padding-inline:var(--space-6)}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.text-sm{font-size:.875rem}.text-lg{font-size:1.125rem}.text-xl{font-size:1.25rem}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes glow{0%,to{box-shadow:0 0 20px #10b9814d}50%{box-shadow:0 0 40px #10b98199}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-slideUp{animation:slideUp .6s ease-out}.animate-slideIn{animation:slideIn .6s ease-out}.animate-pulse{animation:pulse 2s infinite}.animate-spin{animation:spin 1s linear infinite}.animate-glow{animation:glow 2s ease-in-out infinite}.animate-float{animation:float 3s ease-in-out infinite}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:.75rem;font-weight:600}.badge-primary{background:#10b98126;color:var(--primary-500);border:1px solid rgba(16,185,129,.3)}.badge-success{background:#10b98126;color:#059669}.badge-warning{background:#f59e0b26;color:#d97706}.badge-error{background:#ef444426;color:#dc2626}#root{min-height:100vh;display:flex;flex-direction:column}.app-layout{display:flex;flex-direction:column;min-height:100vh}.main-content{flex:1}@media (max-width: 768px){.main-content{padding-bottom:calc(var(--mobile-nav-height) + var(--space-4))}}.section{padding:var(--space-16) 0}.section-title{text-align:center;margin-bottom:var(--space-10)}.section-title h2{margin-bottom:var(--space-3)}.section-title p{color:var(--text-muted);max-width:600px;margin:0 auto}.spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top-color:var(--primary-500);border-radius:50%;animation:spin 1s linear infinite}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0f1ae6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-backdrop);padding:var(--space-4);animation:fadeIn .2s ease-out}.modal{background:var(--card-bg);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:var(--radius-2xl);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;border:1px solid var(--border-color);box-shadow:var(--shadow-xl);animation:slideUp .3s ease-out}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between}.modal-body{padding:var(--space-6)}.modal-footer{padding:var(--space-6);border-top:1px solid var(--border-color);display:flex;gap:var(--space-3);justify-content:flex-end}.hide-mobile{display:block}.show-mobile{display:none}@media (max-width: 768px){.hide-mobile{display:none}.show-mobile{display:block}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}:focus-visible{outline:2px solid var(--primary-500);outline-offset:2px}@media (max-width: 768px){.btn,.form-input,.form-select,a{min-height:44px}}
