*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);min-height:100vh;overflow-x:hidden}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.login-card{background:rgba(255,255,255,.95);backdrop-filter:blur(20px);border-radius:24px;box-shadow:0 20px 40px rgba(0,0,0,.1);border:1px solid rgba(255,255,255,.2);overflow:hidden}.brand-section{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;padding:3rem;position:relative;overflow:hidden}.brand-section::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><defs><pattern id="grain" patternUnits="userSpaceOnUse" width="100" height="100"><circle cx="25" cy="25" r="1" fill="%23ffffff" opacity="0.1"/><circle cx="75" cy="75" r="1" fill="%23ffffff" opacity="0.1"/><circle cx="50" cy="10" r="1" fill="%23ffffff" opacity="0.1"/></pattern></defs><rect width="100" height="100" fill="url(%23grain)"/></svg>')}.brand-logo{width:60px;height:60px;background:rgba(255,255,255,.2);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:28px;margin-bottom:1.5rem;border:2px solid rgba(255,255,255,.3)}.feature-item{display:flex;align-items:center;gap:16px;margin-bottom:20px;padding:12px 0}.feature-icon{width:40px;height:40px;background:rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}.auth-section{padding:3rem;background:#fff}.nav-pills .nav-link{border-radius:12px;padding:12px 24px;font-weight:500;transition:all .3s ease;border:2px solid transparent}.nav-pills .nav-link.active{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;border-color:transparent}.nav-pills .nav-link:not(.active){color:#6c757d;background:#f8f9fa}.nav-pills .nav-link:not(.active):hover{background:#e9ecef;color:#495057}.form-control{border-radius:12px;border:2px solid #e9ecef;padding:12px 16px;font-size:15px;transition:all .3s ease;background:#fafbfc}.form-control:focus{border-color:#667eea;box-shadow:0 0 0 .2rem rgba(102,126,234,.25);background:#fff}.btn-primary{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);border:none;border-radius:12px;padding:12px 24px;font-weight:600;font-size:15px;transition:all .3s ease}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(102,126,234,.4)}.btn-outline-primary{border:2px solid rgba(255,255,255,.3);color:#fff;border-radius:12px;padding:12px 24px;font-weight:600;transition:all .3s ease;background:0 0}.btn-outline-primary:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.5);color:#fff}.dashboard-container{background:#f8fafc;min-height:100vh;font-family:Inter,sans-serif}.sidebar{width:280px;background:#fff;border-right:1px solid #e2e8f0;transition:all .3s ease;height:100vh;position:fixed;z-index:1000;box-shadow:4px 0 10px rgba(0,0,0,.05)}.sidebar.collapsed{width:80px}.sidebar-header{padding:24px;border-bottom:1px solid #e2e8f0;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff}.sidebar-brand-logo{width:40px;height:40px;background:rgba(255,255,255,.2);border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px}.sidebar-nav{padding:24px 16px}.nav-item{margin-bottom:8px}.nav-link{display:flex;align-items:center;gap:16px;padding:16px 20px;border-radius:12px;color:#64748b;text-decoration:none;transition:all .3s ease;font-weight:500;font-size:15px}.nav-link:hover{background:#f1f5f9;color:#334155;transform:translateX(4px)}.nav-link.active{background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;box-shadow:0 4px 12px rgba(102,126,234,.3)}.nav-link i{font-size:18px;width:20px;text-align:center}.main-content{margin-left:280px;transition:margin-left .3s ease;min-height:100vh;background:#f8fafc}.main-content.expanded{margin-left:80px}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:24px 32px;box-shadow:0 1px 3px rgba(0,0,0,.05)}.dashboard-content{padding:32px}.stat-card{background:#fff;border-radius:16px;padding:28px;box-shadow:0 1px 3px rgba(0,0,0,.05);border:1px solid #e2e8f0;transition:all .3s ease;position:relative;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px rgba(0,0,0,.1)}.stat-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(135deg,#667eea 0,#764ba2 100%)}.stat-icon{width:56px;height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;margin-bottom:16px}.stat-value{font-size:2.5rem;font-weight:700;color:#1e293b;margin-bottom:4px}.stat-label{color:#64748b;font-size:14px;font-weight:500;margin-bottom:8px}.stat-change{color:#059669;font-size:13px;font-weight:600}.card{border-radius:16px;border:1px solid #e2e8f0;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:all .3s ease}.card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08)}.card-header{background:#fafbfc;border-bottom:1px solid #e2e8f0;padding:20px 24px;border-radius:16px 16px 0 0}.card-body{padding:24px}.alert-item{background:#f8fafc;border-radius:12px;padding:16px 20px;margin-bottom:12px;border-left:4px solid #e2e8f0;transition:all .3s ease}.alert-item:hover{background:#f1f5f9;border-left-color:#667eea}.appointment-item{border:1px solid #e2e8f0;border-radius:12px;padding:20px;margin-bottom:12px;transition:all .3s ease;background:#fff}.appointment-item:hover{border-color:#667eea;box-shadow:0 2px 8px rgba(102,126,234,.1)}.quick-action-btn{height:100px;border:2px solid #e2e8f0;border-radius:16px;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-decoration:none;color:#64748b;transition:all .3s ease;font-weight:500}.quick-action-btn:hover{border-color:#667eea;color:#667eea;transform:translateY(-4px);box-shadow:0 8px 25px rgba(102,126,234,.15)}.quick-action-btn i{font-size:28px}.badge{border-radius:8px;font-weight:600;font-size:11px;padding:6px 12px}.btn{border-radius:10px;font-weight:500;transition:all .3s ease;font-size:14px}.btn-outline-secondary{border:2px solid #e2e8f0;color:#64748b}.btn-outline-secondary:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.user-section{padding:24px;border-top:1px solid #e2e8f0;background:#fafbfc}.user-avatar{width:40px;height:40px;background:linear-gradient(135deg,#667eea 0,#764ba2 100%);color:#fff;border-radius:12px;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px}.d-none{display:none!important}.d-block{display:block!important}@media (max-width:768px){.sidebar{transform:translateX(-100%)}.sidebar.show{transform:translateX(0)}.main-content{margin-left:0}.login-card{margin:1rem}.auth-section,.brand-section{padding:2rem}}@keyframes fadeInUp{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.stat-card{animation:fadeInUp .6s ease-out}.stat-card:first-child{animation-delay:.1s}.stat-card:nth-child(2){animation-delay:.2s}.stat-card:nth-child(3){animation-delay:.3s}.stat-card:nth-child(4){animation-delay:.4s}