/* ====== GLOBAL STYLES ====== */ * { box-sizing: border-box; } /* ====== HEADER - DEFAULT/DESKTOP (1920px and above) ====== */ .header-bar { background: #0D1B2A !important; box-shadow: 0 2px 0 rgba(255,255,255,.04); display: flex !important; align-items: center !important; justify-content: space-between; min-height: 82px; padding: 14px 40px !important; position: fixed; top: 0; z-index: 2002; width: 100%; } .header-bar .brand { display: inline-flex; align-items: center; gap: 16px; cursor: pointer; flex-shrink: 0; } .header-bar .brand__logo-img { background: #fff; width: 74px; height: 74px; padding: 8px; border-radius: 50%; box-shadow: 0 4px 10px rgba(0,0,0,.25); object-fit: contain; } .header-bar .brand__name { font-family: Roliana; font-size: 2.5rem; font-weight: 300; letter-spacing: 2.5px; color: #fff; text-shadow: 0 2px 4px rgba(0,0,0,.35); display: flex; align-items: center; white-space: nowrap; } .header-bar .brand__name strong { color: #3AB8A9; font-weight: 300; } /* Main Navigation - Desktop */ .header__nav { display: flex !important; align-items: center; justify-content: center; gap: 12px !important; margin: 0 auto !important; white-space: nowrap; position: relative; z-index: 1001; } .nav-link--icon { display: inline-flex; align-items: center; gap: 8px; font-size: 18px; letter-spacing: 0.8px; font-weight: 700; color: #fff; opacity: .92; text-decoration: none; padding: 10px 16px; position: relative; transition: .25s ease; height: 46px; line-height: 1; cursor: pointer; border-radius: 6px; } .nav-link--icon i { font-size: 15px; opacity: .95; } .nav-link--icon:hover { color: #3AB8A9; opacity: 1; background: rgba(58, 184, 169, 0.1); } .nav-link--icon::after { content: ""; position: absolute; left: 8px; right: 8px; bottom: 2px; height: 2px; background: linear-gradient(90deg, #3AB8A9, #D4A755); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; border-radius: 2px; } .nav-link--icon:hover::after, .nav-link--icon.active::after { transform: scaleX(1); } .nav-link--icon.active { color: #3AB8A9; } .nav-link--icon.disabled, .nav-link--icon[aria-disabled="true"] { pointer-events: none; opacity: 0.5; cursor: not-allowed; } /* Header Actions - Desktop */ .header__actions { display: flex; align-items: center; justify-content: flex-end; gap: 16px; margin: 0 !important; flex-shrink: 0; } .btn-signup, .btn-signin { border-radius: 10px; font-size: 15px; padding: 10px 20px; font-weight: 600; letter-spacing: .5px; line-height: 1; cursor: pointer; transition: all 0.3s ease; white-space: nowrap; } .btn-signup { background: #3AB8A9; color: #0D1B2A; border: none; box-shadow: 0 4px 10px -2px rgba(58,184,169,.4); } .btn-signup:hover { filter: brightness(1.08); transform: translateY(-1px); border: 2px solid #D4A755; } .btn-signin { background: #0D1B2A; color: #fff; border: 2px solid #3AB8A9; } .btn-signin:hover { background: #1B2635; transform: translateY(-1px); border-color: #D4A755; } /* User Display - Desktop */ .user-display { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; background-color: #3AB8A9; color: #0D1B2A; border-radius: 50%; font-weight: bold; font-size: 16px; cursor: default; border: 3px solid #ffffff; transition: all 0.2s ease; flex-shrink: 0; } .user-display:hover { border: 3px solid #D4A755; transform: scale(1.05); } /* ====== SUB-NAVIGATION STYLES ====== */ .nav-item-wrapper { position: relative; display: inline-block; } .nav-item-wrapper:hover .nav-link--icon:not(.disabled) { color: #3AB8A9; } .nav-item-wrapper:hover .nav-link--icon:not(.disabled)::after { transform: scaleX(1); } /* Enhanced Role Sub Navigation Styles - RESTORED TO ORIGINAL */ .sub-nav { position: absolute; top: 100%; left: 0; background: #0D1B2A; border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 16px 0; min-width: 280px; box-shadow: 0 12px 32px rgba(0,0,0,.5); backdrop-filter: blur(14px); z-index: 1000; animation: subnavFadeIn 0.2s ease-out; } .role-submenu { margin-bottom: 8px; overflow: hidden; } .role-submenu:last-child { margin-bottom: 0; } .role-header { display: flex !important; align-items: center; gap: 12px; background: rgba(58, 184, 169, 0.1); border-left: 3px solid #3AB8A9; font-weight: 700 !important; color: #3AB8A9 !important; margin: 4px 0; cursor: pointer; } .role-header:hover { background: rgba(58, 184, 169, 0.15) !important; color: #5EC8BA !important; } .role-options { padding-left: 20px; animation: slideDown 0.3s ease-out; } .sub-nav-link { display: flex; align-items: center; gap: 12px; padding: 10px 16px; color: #e5e7eb; text-decoration: none; font-size: 14px; font-weight: 600; letter-spacing: 0.5px; transition: all 0.25s ease; border: none; background: none; width: 100%; text-align: left; cursor: pointer; border-bottom: 1px solid rgba(255,255,255,0.05); white-space: nowrap; position: relative; } .sub-nav-link:last-child { border-bottom: none; } .sub-nav-link:hover:not(.disabled) { background: rgba(58, 184, 169, 0.08); color: #3AB8A9; transform: translateX(4px); } .sub-nav-link i { font-size: 14px; width: 16px; text-align: center; } .role-header i { color: #3AB8A9; } .sub-nav-link.disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; } .sub-nav-link.disabled:hover { background: none; color: #e5e7eb; transform: none; } /* Progress indicator styles */ .completed-check { color: #00ff88; font-weight: bold; margin-left: auto; font-size: 12px; } .step-lock { margin-left: auto; font-size: 12px; opacity: 0.7; } /* Completed step styling */ .sub-nav-link.completed { background: rgba(0, 255, 136, 0.05); border-left: 2px solid #00ff88; } /* Chevron rotation for expanded menu */ .fa-chevron-right { transition: transform 0.3s ease; margin-left: auto; } .rotated { transform: rotate(90deg); } /* Progress Indicator */ .progress-indicator { margin: 8px 16px 16px; background: rgba(255,255,255,0.1); border-radius: 10px; height: 6px; overflow: hidden; position: relative; } .progress-bar { height: 100%; background: linear-gradient(90deg, #3AB8A9, #D4A755); transition: width 0.5s ease; border-radius: 10px; } /* ====== CHATBOT STYLES - RESTORED TO ORIGINAL ====== */ .chatbot-toggle { position: fixed; bottom: 24px; right: 24px; width: 60px; height: 60px; border-radius: 50%; background: #ffffff; color: #0D1B2A; font-size: 1.4rem; cursor: pointer; box-shadow: 0 8px 25px rgba(58, 184, 169, 0.4); transition: all 0.3s ease; z-index: 1000; display: flex; align-items: center; justify-content: center; animation: pulse 2s infinite; border: 7px solid #3ab8a9; } .chatbot-toggle:hover { transform: scale(1.1); box-shadow: 0 12px 30px rgba(58, 184, 169, 0.6); animation: none; } @keyframes pulse { 0% { box-shadow: 0 8px 25px rgba(58, 184, 169, 0.4); } 50% { box-shadow: 0 8px 30px rgba(58, 184, 169, 0.7); } 100% { box-shadow: 0 8px 25px rgba(58, 184, 169, 0.4); } } .chatbot-modal { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); display: flex; align-items: flex-end; justify-content: flex-end; z-index: 2000; backdrop-filter: blur(4px); padding: 20px; } .chatbot-container { background: linear-gradient(135deg, #0f1522 0%, #1a2438 100%); border-radius: 20px; width: 380px; height: 600px; border: 1px solid rgba(255, 255, 255, 0.15); box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5); display: flex; flex-direction: column; overflow: hidden; animation: chatbotSlideUp 0.3s ease-out; } @keyframes chatbotSlideUp { from { opacity: 0; transform: translateY(20px) scale(0.95); } to { opacity: 1; transform: translateY(0) scale(1); } } .chatbot-header { background: linear-gradient(135deg, rgba(58, 184, 169, 0.15), rgba(58, 184, 169, 0.05)); padding: 20px; border-bottom: 1px solid rgba(255, 255, 255, 0.1); display: flex; align-items: center; justify-content: space-between; backdrop-filter: blur(10px); } .chatbot-header__left { display: flex; align-items: center; gap: 12px; } .chatbot-avatar { width: 45px; height: 45px; border-radius: 50%; background: linear-gradient(135deg, #3AB8A9, #D4A755); display: flex; align-items: center; justify-content: center; color: #0D1B2A; font-size: 1.2rem; box-shadow: 0 4px 12px rgba(58, 184, 169, 0.3); } .chatbot-header__titles h3 { color: #3AB8A9; margin: 0 0 4px 0; font-size: 1.2rem; font-weight: 600; } .chatbot-header__titles p { color: #9aa6b5; margin: 0; font-size: 0.85rem; } .close-chatbot { background: rgba(255, 255, 255, 0.1); border: 1px solid rgba(255, 255, 255, 0.2); color: #3AB8A9; font-size: 1.2rem; cursor: pointer; padding: 8px; border-radius: 8px; transition: all 0.3s ease; width: 36px; height: 36px; display: flex; align-items: center; justify-content: center; } .close-chatbot:hover { background: #3AB8A9; color: #0D1B2A; transform: scale(0.95); } .chatbot-body { flex: 1; display: flex; flex-direction: column; overflow: hidden; } .chat-messages { flex: 1; padding: 20px; overflow-y: auto; display: flex; flex-direction: column; gap: 16px; background: rgba(255, 255, 255, 0.02); } .message { display: flex; gap: 12px; max-width: 85%; animation: messageSlideIn 0.3s ease-out; } .message.user-message { align-self: flex-end; flex-direction: row-reverse; } .message.bot-message { align-self: flex-start; } .message-avatar { width: 36px; height: 36px; border-radius: 50%; overflow: hidden; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border: 2px solid rgba(58, 184, 169, 0.3); background: rgba(58, 184, 169, 0.15); } .message-avatar img, img.message-avatar { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: 50%; } .user-message .message-avatar { background: rgba(0, 255, 136, 0.2); color: #00ff88; border-color: rgba(0, 255, 136, 0.3); } /* Chat message UI fixes */ .chat-messages .message { align-items: flex-start; } img.message-avatar { width: 40px; height: 40px; border-radius: 50%; object-fit: cover; display: block; border: 2px solid rgba(58, 184, 169, 0.28); box-shadow: 0 2px 6px rgba(0,0,0,0.15); } .message-content { max-width: calc(100% - 56px); word-wrap: break-word; white-space: normal; margin-top: 2px; } .message-content p { color: #e5e7eb; margin: 0 0 6px 0; } .message-content p:last-child { margin-bottom: 0; } .quick-questions { padding: 16px 20px; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; background: rgba(255, 255, 255, 0.02); border-top: 1px solid rgba(255, 255, 255, 0.1); } .quick-question-btn { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 12px 16px; color: #e5e7eb; font-size: 0.8rem; cursor: pointer; transition: all 0.3s ease; text-align: center; line-height: 1.3; font-weight: 500; } .quick-question-btn:hover { background: rgba(58, 184, 169, 0.1); border-color: #3AB8A9; transform: translateY(-2px); color: #3AB8A9; } .chat-input-container { padding: 16px 20px; border-top: 1px solid rgba(255, 255, 255, 0.1); display: flex; gap: 12px; background: rgba(255, 255, 255, 0.02); } .chat-input { flex: 1; background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.1); border-radius: 12px; padding: 14px 16px; color: #fff; font-size: 0.9rem; transition: all 0.3s ease; font-family: inherit; } .chat-input:focus { outline: none; border-color: #3AB8A9; background: rgba(255, 255, 255, 0.08); box-shadow: 0 0 0 2px rgba(58, 184, 169, 0.2); } .chat-input::placeholder { color: #9aa6b5; } .send-button { background: linear-gradient(135deg, #3AB8A9, #D4A755); border: none; border-radius: 12px; padding: 14px 20px; color: #0D1B2A; font-weight: 600; cursor: pointer; transition: all 0.3s ease; display: flex; align-items: center; gap: 8px; min-width: 60px; justify-content: center; } .send-button:hover { background: linear-gradient(135deg, #D4A755, #3AB8A9); transform: translateY(-1px); box-shadow: 0 4px 12px rgba(58, 184, 169, 0.3); } .chat-messages::-webkit-scrollbar { width: 6px; } .chat-messages::-webkit-scrollbar-track { background: rgba(255, 255, 255, 0.05); border-radius: 3px; } .chat-messages::-webkit-scrollbar-thumb { background: #3AB8A9; border-radius: 3px; } .chat-messages::-webkit-scrollbar-thumb:hover { background: #5EC8BA; } @keyframes messageSlideIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* ====== HAMBURGER MENU STYLES ====== */ .mobile-menu-toggle { display: none; background: none; border: none; color: #fff; font-size: 1.5rem; cursor: pointer; padding: 8px; align-items: center; justify-content: center; order: 2; margin-left: 10px; z-index: 1003; } /* Mobile Navigation Overlay */ .mobile-nav-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(13, 27, 42, 0.98); z-index: 3000; flex-direction: column; padding: 80px 20px 20px; box-sizing: border-box; overflow-y: auto; } .mobile-nav { display: flex; flex-direction: column; gap: 0; } .mobile-nav-link { display: flex; align-items: center; gap: 12px; padding: 16px; color: #fff; text-decoration: none; font-size: 16px; border-bottom: 1px solid rgba(255,255,255,0.1); cursor: pointer; } .mobile-nav-link i { width: 20px; text-align: center; font-size: 16px; } .close-mobile-nav { position: absolute; top: 20px; right: 20px; background: none; border: none; color: #fff; font-size: 1.8rem; cursor: pointer; padding: 10px; z-index: 3001; } /* Mobile Submenu */ .mobile-submenu { padding-left: 20px; background: rgba(0,0,0,0.2); animation: slideDown 0.3s ease-out; } .mobile-auth-buttons { display: none; flex-direction: column; gap: 12px; padding: 20px 16px; margin-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); } .mobile-btn { width: 100%; justify-content: center; padding: 12px !important; font-size: 15px !important; } .mobile-user-info { display: none; padding: 20px 16px; margin-top: 20px; border-top: 1px solid rgba(255,255,255,0.1); } .mobile-user-display { display: flex; align-items: center; gap: 15px; margin-bottom: 15px; } .mobile-user-name { color: #fff; font-weight: 600; font-size: 16px; } /* ====== RESPONSIVE BREAKPOINTS ====== */ /* ====== 1. 1366px and below (Small Laptops) ====== */ @media (max-width: 1366px) { .header-bar { padding: 12px 32px !important; min-height: 75px; } .header-bar .brand__logo-img { width: 60px; height: 60px; padding: 6px; } .header-bar .brand__name { font-size: 1.8rem; letter-spacing: 2px; } .nav-link--icon { font-size: 14px; padding: 9px 14px; height: 42px; gap: 6px; } .nav-link--icon i { font-size: 14px; } .header__nav { gap: 10px !important; } .btn-signup, .btn-signin { font-size: 14px; padding: 9px 18px; } .user-display { width: 42px; height: 42px; font-size: 15px; } .chatbot-toggle { width: 55px; height: 55px; font-size: 1.3rem; border-width: 6px; } } /* ====== 2. 1024px and below (Tablets Landscape) ====== */ @media (max-width: 1024px) { .header-bar { flex-wrap: wrap; min-height: auto; padding: 10px 24px !important; gap: 15px; } .header-bar .brand { flex: 0 0 auto; order: 1; } .header-bar .brand__logo-img { width: 55px; height: 55px; padding: 5px; } .header-bar .brand__name { font-size: 1.7rem; letter-spacing: 1.5px; } .header__actions { order: 2; flex: 1; justify-content: flex-end; } .header__nav { order: 3; flex: 1 1 100%; margin-top: 10px !important; justify-content: center; gap: 8px !important; } .nav-link--icon { font-size: 13px; padding: 8px 12px; height: 38px; gap: 5px; } .nav-link--icon i { font-size: 13px; } .btn-signup, .btn-signin { font-size: 13px; padding: 8px 16px; } .user-display { width: 38px; height: 38px; font-size: 14px; border-width: 2px; } .chatbot-toggle { width: 50px; height: 50px; font-size: 1.2rem; border-width: 5px; } .chatbot-container { width: 350px; height: 550px; } /* Subnav centers on smaller screens */ .sub-nav { left: 50%; transform: translateX(-50%); min-width: 260px; } } /* ====== 3. 768px and below (Tablets Portrait & Mobile) ====== */ @media (max-width: 768px) { .header-bar { padding: 8px 16px !important; min-height: 65px; } /* Hide desktop navigation */ .header__nav { display: none !important; } /* Show mobile menu toggle */ .mobile-menu-toggle { display: flex !important; } .header-bar .brand { order: 1; gap: 12px; } .header-bar .brand__logo-img { width: 48px; height: 48px; padding: 4px; } .header-bar .brand__name { font-size: 1.5rem; letter-spacing: 1px; } .header__actions { order: 3; flex: 1; justify-content: flex-end; gap: 12px; } .btn-signup, .btn-signin { font-size: 13px; padding: 7px 14px; } .user-display { width: 36px; height: 36px; font-size: 13px; border-width: 2px; } /* Mobile Navigation Overlay */ .mobile-nav-overlay { display: flex !important; } /* Hide regular header actions inside mobile menu */ .mobile-nav-overlay .header__actions { display: none; } /* Show mobile auth/user sections only in mobile menu */ .mobile-auth-buttons, .mobile-user-info { display: flex; } /* Hide subnav on mobile */ .sub-nav { display: none; } .nav-item-wrapper:hover .sub-nav { display: none; } .chatbot-toggle { width: 50px; height: 50px; font-size: 1.2rem; bottom: 20px; right: 20px; border-width: 4px; } .chatbot-container { width: 95%; max-width: 380px; height: 80vh; max-height: 600px; } .chatbot-modal { padding: 10px; align-items: flex-end; } } /* ====== 4. 480px and below (Mobile Phones) ====== */ @media (max-width: 480px) { .header-bar { padding: 6px 12px !important; min-height: 60px; } .header-bar .brand { gap: 10px; } .header-bar .brand__logo-img { width: 42px; height: 42px; padding: 3px; } .header-bar .brand__name { font-size: 1.3rem; letter-spacing: 0.8px; } .mobile-menu-toggle { font-size: 1.3rem; padding: 6px; } .header__actions { gap: 8px; } .btn-signup, .btn-signin { font-size: 12px; padding: 6px 12px; } .user-display { width: 34px; height: 34px; font-size: 12px; border-width: 2px; } .mobile-nav-overlay { padding: 70px 16px 16px; } .mobile-nav-link { padding: 14px; font-size: 15px; } .chatbot-toggle { width: 45px; height: 45px; font-size: 1.1rem; bottom: 16px; right: 16px; border-width: 3px; } .chatbot-container { width: 100%; height: 85vh; border-radius: 16px 16px 0 0; } .chatbot-modal { padding: 0; align-items: flex-end; } .quick-questions { grid-template-columns: 1fr; padding: 12px; } .chat-input-container { padding: 12px; } } /* ====== 5. 360px and below (Very Small Phones) ====== */ @media (max-width: 360px) { .header-bar { padding: 5px 10px !important; min-height: 55px; } .header-bar .brand__logo-img { width: 38px; height: 38px; padding: 2px; } .header-bar .brand__name { font-size: 1.1rem; letter-spacing: 0.5px; } .mobile-menu-toggle { font-size: 1.2rem; padding: 5px; margin-left: 5px; } .btn-signup, .btn-signin { font-size: 11px; padding: 5px 10px; } .user-display { width: 32px; height: 32px; font-size: 11px; } .mobile-nav-overlay { padding: 60px 12px 12px; } .mobile-nav-link { padding: 12px; font-size: 14px; } .mobile-nav-link i { font-size: 14px; } .chatbot-toggle { width: 40px; height: 40px; font-size: 1rem; bottom: 12px; right: 12px; border-width: 3px; } } /* ====== ORIENTATION SPECIFIC ====== */ /* Tablet Portrait (768x1024) */ @media (max-width: 768px) and (orientation: portrait) { .header-bar { min-height: 62px; } .chatbot-container { height: 70vh; max-height: 500px; } } /* Tablet Landscape (1024x768) */ @media (max-width: 1024px) and (orientation: landscape) { .header-bar { min-height: 70px; } .header__nav { gap: 6px !important; } .nav-link--icon { font-size: 12px; padding: 7px 10px; } .chatbot-container { height: 85vh; max-height: 450px; } } /* ====== ANIMATIONS ====== */ @keyframes subnavFadeIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } } @keyframes slideDown { from { opacity: 0; max-height: 0; } to { opacity: 1; max-height: 500px; } } @keyframes popupAppear { from { opacity: 0; transform: scale(0.9) translateY(-20px); } to { opacity: 1; transform: scale(1) translateY(0); } } /* ====== BODY SCROLL MANAGEMENT ====== */ .body-scrollable { overflow: auto !important; } .modal-backdrop ~ * { overflow: hidden !important; } /* ====== AUTH MODAL STYLES - FIXED POSITIONING ====== */ /* Add these to app.component.css at the end of the file */ .modal-backdrop { position: fixed !important; top: 2px !important; left: 0 !important; width: 100% !important; height: 100% !important; background: rgba(0, 0, 0, 0.7) !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 3000 !important; -webkit-backdrop-filter: blur(4px) !important; backdrop-filter: blur(4px) !important; padding: 20px !important; } /* .modal-panel { position: relative !important; border-radius: 22px !important; background: #0D1B2A !important; color: #e5e7eb !important; padding: 2rem !important; animation: panelIn .35s cubic-bezier(.16, 1, .3, 1) !important; max-width: 90% !important; max-height: 90vh !important; overflow-y: auto !important; }*/ /* .modal-panel--white { background: transparent !important; color: #111 !important; }*/ /*.modal-close { position: absolute !important; top: 16px !important; right: 16px !important; background: rgba(255, 255, 255, 0.1) !important; border: 1px solid rgba(255, 255, 255, 0.2) !important; color: #3AB8A9 !important; font-size: 1.2rem !important; cursor: pointer !important; padding: 8px !important; border-radius: 8px !important; transition: all 0.3s ease !important; width: 36px !important; height: 36px !important; display: flex !important; align-items: center !important; justify-content: center !important; z-index: 10 !important; }*/ .modal-close:hover { background: #3AB8A9 !important; color: #0D1B2A !important; transform: scale(0.95) !important; } /* Specific styles for auth modal container */ /*.auth-modal-container { background: white !important; border-radius: 14px !important; overflow: hidden !important; padding: 0 !important; max-width: 800px !important; width: 90% !important; }*/ /* Responsive adjustments */ @media (max-width: 768px) { .modal-backdrop { padding: 10px !important; } .modal-panel { padding: 1.5rem !important; } .auth-modal-container { width: 95% !important; max-width: 400px !important; } } @media (max-width: 480px) { .modal-panel { padding: 1rem !important; } .auth-modal-container { width: 100% !important; max-height: 90vh !important; } } /* Auth modal content */ .auth-modal-content { width: 100%; height: 100%; } /* Ensure sign-in/sign-up components fill the modal */ .auth-modal-content app-sign-in, .auth-modal-content app-sign-up { display: block; width: 100%; height: 100%; } /* Signout Popup Styles with Tick Animation */ .signout-popup { background: white; border-radius: 16px; box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15); width: 30%; text-align: center; overflow: hidden; padding: 0; } .signout-popup__content { padding: 3rem 2rem 2rem; } /* Tick Animation Styles */ .tick-animation { display: flex; justify-content: center; align-items: center; margin-bottom: 2rem; } .tick-circle { width: 45px; height: 45px; position: relative; } .tick-svg { width: 100%; height: 100%; } .tick-circle-bg { fill: none; stroke: #3AB8A9; stroke-width: 8px; } .tick-path { stroke: #3AB8A9; stroke-width: 7px; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 100; stroke-dashoffset: 100; animation: drawTick 0.8s ease-in-out 0.3s forwards; } @keyframes drawTick { to { stroke-dashoffset: 0; } } /* Animate the circle background */ .tick-circle-bg { stroke-dasharray: 283; stroke-dashoffset: 283; animation: drawCircle 0.6s ease-in-out forwards; } @keyframes drawCircle { to { stroke-dashoffset: 0; } } .signout-popup__title { font-size: 1.5rem; font-weight: 600; color: #1f2937; margin: 0 0 1rem 0; line-height: 1.4; } .signout-popup__thankyou { font-size: 1.1rem; color: #6b7280; margin: 0; font-weight: 500; } .signout-popup__footer { padding: 1.5rem 2rem; background: #3AB8A9; border-top: 1px solid #e5e7eb; } .signout-popup__powered-by { font-size: 0.8rem; color: #ffffffba; text-transform: uppercase; letter-spacing: 1px; margin-bottom: 0.5rem; font-weight: 500; } .signout-popup__logo { display: flex; align-items: center; justify-content: center; gap: 0.5rem; } .signout-popup__logo-img { height: 20px; width: auto; } .signout-popup__brand-name { font-weight: 700; color: #ffffff; font-size: 1rem; } /* Ensure popup is centered */ .popup-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); display: flex; justify-content: center; align-items: center; z-index: 10000; } .popup-container { animation: popupFadeIn 0.4s ease-out; } @keyframes popupFadeIn { from { opacity: 0; transform: scale(0.8) translateY(-10px); } to { opacity: 1; transform: scale(1) translateY(0); } } /* Optional: Add scale animation to the tick circle */ .tick-circle { animation: scaleIn 0.5s ease-out; } @keyframes scaleIn { 0% { transform: scale(0); } 70% { transform: scale(1.1); } 100% { transform: scale(1); } }