.cent{flex-direction:column;justify-content:center;align-items:center;height:80vh;display:flex}.video-call-container{background:#000;width:100vw;height:100vh;position:relative}.recording-controls{z-index:9999;color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:rgba(0,0,0,.9);border:1px solid rgba(255,255,255,.1);border-radius:8px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;display:flex;position:absolute;top:20px;right:20px;box-shadow:0 4px 12px rgba(0,0,0,.4)}.recording-indicator{background-color:#f44;border-radius:50%;width:8px;height:8px;animation:1.5s infinite pulse}.success-indicator{background-color:#22c55e;border-radius:50%;width:8px;height:8px}.status-text{font-weight:500}.status-text-success{color:#22c55e;font-weight:500}.processing-icon{color:#fa0}.transcripting-icon{color:#3b82f6}.record-button{color:#fff;cursor:pointer;background-color:#22c55e;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.record-button:hover{background-color:#16a34a;transform:translateY(-1px)}.stop-button{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.stop-button:hover{background-color:#dc2626;transform:translateY(-1px)}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.thankyou-fullscreen{z-index:9999;background:linear-gradient(135deg,#22c55e 0%,#16a34a 30%,#059669 70%,#047857 100%);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0;overflow:hidden}.thankyou-content{text-align:center;color:#fff;z-index:10;max-width:600px;padding:2rem;animation:1s ease-out contentFadeIn}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.success-animation{margin-bottom:2rem;display:inline-block;position:relative}.success-icon{color:#fff;filter:drop-shadow(0 4px 20px rgba(255,255,255,.3));animation:2s ease-in-out infinite iconBounce}@keyframes iconBounce{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-10px)scale(1.05)}}.pulse-ring{border:3px solid rgba(255,255,255,.3);border-radius:50%;width:120px;height:120px;animation:2s infinite pulseRing;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@keyframes pulseRing{0%{opacity:1;transform:translate(-50%,-50%)scale(.8)}to{opacity:0;transform:translate(-50%,-50%)scale(1.5)}}.thankyou-title{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin:0 0 1rem;font-size:3rem;font-weight:800;line-height:1.2;display:flex}.brand-name{background:linear-gradient(45deg,#fbbf24,#f59e0b);-webkit-text-fill-color:transparent;text-shadow:0 2px 10px rgba(251,191,36,.3);-webkit-background-clip:text;background-clip:text}.heart-icon{color:#fbbf24;animation:1.5s ease-in-out infinite heartBeat}@keyframes heartBeat{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.thankyou-subtitle{opacity:.95;margin:0 0 1rem;font-size:1.5rem;font-weight:600}.thankyou-description{opacity:.9;max-width:500px;margin:0 auto 3rem;font-size:1.125rem;line-height:1.6}.countdown-section{flex-direction:column;align-items:center;gap:1rem;margin:2rem 0;display:flex}.countdown-circle{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(255,255,255,.1);border:3px solid rgba(255,255,255,.3);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;animation:1s ease-in-out infinite countdownPulse;display:flex;position:relative}@keyframes countdownPulse{0%,to{transform:scale(1);box-shadow:0 0 rgba(255,255,255,.4)}50%{transform:scale(1.05);box-shadow:0 0 0 10px rgba(255,255,255,0)}}.countdown-number{color:#fff;font-size:2rem;font-weight:800}.countdown-text{opacity:.8;margin:0;font-size:1rem}.dashboard-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:#fff;cursor:pointer;background:rgba(255,255,255,.15);border:2px solid rgba(255,255,255,.3);border-radius:50px;align-items:center;gap:.75rem;margin:2rem auto 0;padding:1rem 2rem;font-size:1.125rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 8px 32px rgba(0,0,0,.1)}.dashboard-button:hover{background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.5);transform:translateY(-3px);box-shadow:0 12px 40px rgba(0,0,0,.2)}.dashboard-button:active{transform:translateY(-1px)}.background-animation{z-index:1;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.floating-shape{background:rgba(255,255,255,.1);border-radius:50%;animation:6s ease-in-out infinite float;position:absolute}.shape-1{width:80px;height:80px;animation-delay:0s;top:20%;left:15%}.shape-2{width:120px;height:120px;animation-delay:2s;top:70%;right:20%}.shape-3{width:60px;height:60px;animation-delay:4s;top:40%;right:10%}.shape-4{width:100px;height:100px;animation-delay:1s;bottom:20%;left:10%}@keyframes float{0%,to{opacity:.5;transform:translateY(0)rotate(0)}50%{opacity:.8;transform:translateY(-20px)rotate(180deg)}}@media (max-width:768px){.thankyou-content{padding:1rem}.thankyou-title{flex-direction:column;gap:.25rem;font-size:2.25rem}.thankyou-subtitle{font-size:1.25rem}.thankyou-description{margin-bottom:2rem;font-size:1rem}.countdown-circle{width:60px;height:60px}.countdown-number{font-size:1.5rem}.dashboard-button{padding:.875rem 1.5rem;font-size:1rem}}@media (max-width:480px){.thankyou-title{font-size:1.875rem}.success-icon{width:60px;height:60px}.pulse-ring{width:90px;height:90px}}.call-ended-container{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.thank-you-message{text-align:center;background:#fff;border-radius:20px;width:100%;max-width:500px;padding:3rem 2rem;animation:.6s ease-out slideIn;box-shadow:0 20px 60px rgba(0,0,0,.1)}@keyframes slideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.thank-you-icon{margin-bottom:1.5rem;font-size:4rem;animation:1s ease-in-out bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.thank-you-message h1{color:#1f2937;margin-top:0;margin-bottom:1rem;font-size:2rem;font-weight:700}.thank-you-message p{color:#6b7280;margin-bottom:.75rem;font-size:1.125rem;line-height:1.6}.redirect-text{font-style:italic;color:#9ca3af!important;margin-top:1rem!important;font-size:1rem!important}.return-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:12px;margin-top:1.5rem;padding:1rem 2rem;font-size:1rem;font-weight:600;transition:all .3s;box-shadow:0 4px 16px rgba(34,197,94,.3)}.return-button:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(34,197,94,.4)}.return-button:active{transform:translateY(0)}@media (max-width:768px){.call-ended-container{padding:1rem}.thank-you-message{padding:2rem 1.5rem}.thank-you-message h1{font-size:1.75rem}.thank-you-message p{font-size:1rem}.thank-you-icon{font-size:3rem}}.video-call-container{width:100vw;height:100vh;position:relative;overflow:hidden}.jitsi-container{width:100%;height:100%}.doctor-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:300px;margin:10px;padding:20px;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 12px rgba(0,0,0,.08)}.doctor-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.12)}.doctor-header{margin-bottom:15px}.doctor-role{color:#1a202c;text-transform:capitalize;margin:0;font-size:20px;font-weight:700}.doctor-info{margin-bottom:20px}.doctor-name{color:#2d3748;margin:8px 0 4px;font-size:16px;font-weight:600}.doctor-email{color:#4a5568;margin:4px 0;font-size:14px}.appointment-btn{color:#fff;cursor:pointer;background:#06f;border:none;border-radius:8px;width:100%;padding:12px 16px;font-weight:600;transition:background-color .2s}.appointment-btn:hover:not(:disabled){background:#0052cc}.appointment-btn:disabled{cursor:not-allowed;background:#a0aec0}.incoming-call-card{background:#fff;border:2px solid #f56565;border-radius:12px;width:350px;padding:20px;animation:2s infinite pulse-glow;box-shadow:0 4px 20px rgba(245,101,101,.2)}@keyframes pulse-glow{0%,to{box-shadow:0 4px 20px rgba(245,101,101,.2)}50%{box-shadow:0 6px 30px rgba(245,101,101,.4)}}.call-alert{align-items:center;margin-bottom:15px;display:flex}.call-icon{margin-right:10px;font-size:24px}.call-title{color:#c53030;margin:0;font-size:18px;font-weight:700}.call-details{margin-bottom:20px}.meeting-id{background:#f7fafc;border:1px solid #e2e8f0;border-radius:4px;padding:8px;font-family:monospace;font-weight:600}.call-actions{gap:12px;display:flex}.accept-btn{color:#fff;cursor:pointer;background:#48bb78;border:none;border-radius:8px;flex:1;padding:12px 16px;font-weight:600;transition:background-color .2s}.accept-btn:hover{background:#38a169}.dismiss-btn{color:#fff;cursor:pointer;background:#e53e3e;border:none;border-radius:8px;flex:1;padding:12px 16px;font-weight:600;transition:background-color .2s}.dismiss-btn:hover{background:#c53030}.patient-portal-container,.doctor-portal-container{box-sizing:border-box;background:#fff;width:100vw;min-height:100vh;margin:0;padding:100px 2rem 2rem;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;overflow-x:hidden}.portal-header{text-align:center;margin-bottom:2rem;position:relative;overflow:hidden}.portal-title{color:#1a202c;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0;font-size:2.5rem;font-weight:700}.listening-animation{z-index:999;background:linear-gradient(90deg,transparent,#2dff7a,transparent);border-radius:2px;width:100%;height:4px;animation:1s ease-in-out infinite listeningPulse;position:fixed;top:60px;left:0;right:0;overflow:hidden}@keyframes listeningPulse{0%{transform:translate(-100%)}to{transform:translate(100%)}}.status-bar{background:0 0;justify-content:center;gap:2rem;margin-bottom:2rem;padding:1.5rem;display:flex}.status-item{align-items:center;gap:.75rem;display:flex}.status-label{color:#4a5568;font-size:.9rem;font-weight:600}.status-indicator{align-items:center;gap:.5rem;display:flex}.status-dot{border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite statusPulse;position:relative}.status-dot-connected{background:#48bb78;box-shadow:0 0 rgba(72,187,120,.7)}.status-dot-disconnected{background:#f56565;box-shadow:0 0 rgba(245,101,101,.7)}.status-dot-warning{background:#fbb454;animation:1.5s ease-in-out infinite warningPulse;box-shadow:0 0 rgba(251,180,84,.7)}@keyframes statusPulse{0%{box-shadow:0 0 rgba(72,187,120,.7)}70%{box-shadow:0 0 0 8px rgba(72,187,120,0)}to{box-shadow:0 0 rgba(72,187,120,0)}}@keyframes warningPulse{0%{box-shadow:0 0 rgba(251,180,84,.7)}70%{box-shadow:0 0 0 8px rgba(251,180,84,0)}to{box-shadow:0 0 rgba(251,180,84,0)}}.status-text{color:#2d3748;font-size:.9rem;font-weight:500}.doctors-grid{grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem;max-width:1200px;margin-bottom:2rem;margin-left:auto;margin-right:auto;display:grid}.doctor-card-modern{background:#f0fdf4;border:1px solid #dcfce7;border-radius:20px;padding:1.5rem;transition:all .3s;position:relative;overflow:hidden;box-shadow:0 10px 25px -5px rgba(0,0,0,.1)}.doctor-card-modern:before{content:"";background:linear-gradient(90deg,#22c55e,#16a34a);width:100%;height:4px;position:absolute;top:0;left:0}.doctor-card-modern:hover{transform:translateY(-8px);box-shadow:0 20px 40px -10px rgba(0,0,0,.15)}.doctor-card-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.doctor-role-badge{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border-radius:12px;margin:0;padding:.5rem 1rem;font-size:.8rem;font-weight:600}.doctor-availability{color:#48bb78;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;display:flex}.availability-dot{background:#48bb78;border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite availabilityPulse}.availability-available{animation:2s ease-in-out infinite availabilityPulse;background:#48bb78!important}.availability-unavailable{animation:none;background:#f44!important}.availability-checking{animation:1s ease-in-out infinite checkingPulse;background:#fbb454!important}@keyframes availabilityPulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes checkingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.8)}}.doctor-info-section{align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.doctor-avatar{background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;display:flex}.doctor-initials{color:#fff;font-size:1.5rem;font-weight:700}.doctor-details{flex:1}.doctor-name-modern{color:#1a202c;margin:0 0 .25rem;font-size:1.25rem;font-weight:700}.doctor-email-modern{color:#718096;margin:0;font-size:.9rem}.appointment-btn-modern{color:#fff;cursor:pointer;background:linear-gradient(135deg,#22c55e 0%,#16a34a 100%);border:none;border-radius:12px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:1rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex;position:relative;overflow:hidden}.appointment-btn-modern:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 20px -5px rgba(34,197,94,.4)}.appointment-btn-disabled{cursor:not-allowed;background:#a0aec0;box-shadow:none!important;transform:none!important}.btn-loading-spinner{border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.no-requests-container{text-align:center;background:0 0;margin-bottom:2rem;padding:4rem 2rem}.no-requests-icon{opacity:.7;margin-bottom:1rem;font-size:4rem}.no-requests-title{color:#2d3748;margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.no-requests-message{color:#718096;max-width:400px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:1rem}.requests-stats{justify-content:center;gap:2rem;display:flex}.stat-item{flex-direction:column;align-items:center;gap:.25rem;display:flex}.stat-label{color:#718096;font-size:.8rem;font-weight:500}.stat-value{color:#22c55e;font-size:1.5rem;font-weight:700}.incoming-call-card-modern{background:#f0fdf4;border:2px solid #22c55e;border-radius:20px;max-width:600px;margin-bottom:2rem;margin-left:auto;margin-right:auto;padding:2rem;animation:.5s ease-out cardEntrance;box-shadow:0 20px 40px -10px rgba(0,0,0,.15)}@keyframes cardEntrance{0%{opacity:0;transform:translateY(50px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.call-alert-modern{text-align:center;margin-bottom:1.5rem;position:relative}.call-pulse-icon{margin-bottom:.5rem;font-size:3rem;animation:1s ease-in-out infinite callPulse;display:block}@keyframes callPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.call-title-modern{color:#1a202c;margin:0;font-size:1.5rem;font-weight:700}.call-details-modern{margin-bottom:2rem}.patient-info{background:#fff;border-radius:12px;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.patient-avatar{background:linear-gradient(135deg,#48bb78 0%,#38a169 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:50px;height:50px;display:flex}.patient-initials{color:#fff;font-size:1.2rem;font-weight:700}.patient-details h4{color:#1a202c;margin:0 0 .25rem;font-weight:600}.patient-details p{color:#718096;margin:0;font-size:.9rem}.request-time{text-align:center;margin-bottom:1rem}.request-time span{color:#718096;background:#fff;border-radius:8px;padding:.25rem .75rem;font-size:.8rem}.meeting-info{text-align:center;background:#fff;border-radius:12px;flex-direction:column;gap:.5rem;padding:1rem;display:flex}.meeting-label{color:#718096;font-size:.8rem;font-weight:500}.meeting-id-modern{color:#22c55e;background:#fff;border:1px solid #dcfce7;border-radius:8px;padding:.5rem 1rem;font-family:Courier New,monospace;font-weight:700}.call-actions-modern{gap:1rem;display:flex}.accept-btn-modern,.dismiss-btn-modern{cursor:pointer;border:none;border-radius:12px;flex:1;justify-content:center;align-items:center;gap:.5rem;padding:1rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex}.accept-btn-modern{color:#fff;background:linear-gradient(135deg,#48bb78 0%,#38a169 100%)}.accept-btn-modern:hover{transform:translateY(-2px);box-shadow:0 10px 20px -5px rgba(72,187,120,.4)}.dismiss-btn-modern{color:#718096;background:#fff;border:1px solid #dcfce7}.dismiss-btn-modern:hover{color:#4a5568;background:#f0fdf4}.btn-icon{font-size:1.1rem}.debug-section{text-align:center;margin-top:2rem}.debug-btn{color:#4a5568;cursor:pointer;background:0 0;border:1px solid #dcfce7;border-radius:8px;padding:.5rem 1rem;font-size:.8rem;transition:all .2s}.debug-btn:hover{color:#2d3748;background:#f0fdf4}@media (max-width:768px){.patient-portal-container,.doctor-portal-container{padding:1rem}.portal-title{font-size:2rem}.status-bar{flex-direction:column;gap:1rem}.doctors-grid{grid-template-columns:1fr}.call-actions-modern{flex-direction:column}}
