.snowfall-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.snowflake{position:absolute;top:-20px;color:#ffffffe6;text-shadow:0 0 5px rgba(255,255,255,.5);animation:snowfall linear infinite;will-change:transform}@keyframes snowfall{0%{transform:translateY(-20px) rotate(0)}to{transform:translateY(calc(100vh + 20px)) rotate(360deg)}}.snowflake:nth-child(5n){animation-timing-function:ease-in-out}.snowflake:nth-child(3n){animation-name:snowfall-sway}@keyframes snowfall-sway{0%{transform:translateY(-20px) translate(0) rotate(0)}25%{transform:translateY(25vh) translate(15px) rotate(90deg)}50%{transform:translateY(50vh) translate(-10px) rotate(180deg)}75%{transform:translateY(75vh) translate(20px) rotate(270deg)}to{transform:translateY(calc(100vh + 20px)) translate(0) rotate(360deg)}}.login-splash-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);display:flex;justify-content:center;align-items:center;z-index:10000;overflow:hidden}.splash-gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.25}.splash-orb-1{width:350px;height:350px;background:radial-gradient(circle,rgba(0,82,204,.9),transparent);top:-80px;right:-120px;animation:splash-pulse1 4s ease-in-out infinite}.splash-orb-2{width:280px;height:280px;background:radial-gradient(circle,rgba(61,153,255,.7),transparent);bottom:-80px;left:-80px;animation:splash-pulse2 4s ease-in-out infinite 1s}@keyframes splash-pulse1{0%,to{opacity:.25;transform:scale(1)}50%{opacity:.35;transform:scale(1.05)}}@keyframes splash-pulse2{0%,to{opacity:.2;transform:scale(1)}50%{opacity:.3;transform:scale(1.08)}}.splash-container{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px;color:#fff}.splash-anchor-icon{font-size:88px;margin-bottom:20px;opacity:0;transform:scale(.6);animation:splash-iconPop .6s cubic-bezier(.34,1.56,.64,1) forwards .1s}@keyframes splash-iconPop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}.splash-title{font-size:26px;font-weight:700;letter-spacing:-.5px;margin-bottom:6px;opacity:0;animation:splash-fadeUp .5s ease-out forwards .3s}.splash-subtitle{font-size:14px;color:#ffffffbf;margin-bottom:32px;opacity:0;animation:splash-fadeUp .5s ease-out forwards .45s}@keyframes splash-fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.splash-loading-dots{display:flex;gap:6px;opacity:0;animation:splash-fadeIn .4s ease-out forwards .6s}.splash-dot{width:8px;height:8px;background:rgba(255,255,255,.6);border-radius:50%;animation:splash-dotPulse 1.2s ease-in-out infinite}.splash-dot:nth-child(2){animation-delay:.15s}.splash-dot:nth-child(3){animation-delay:.3s}@keyframes splash-dotPulse{0%,60%,to{transform:scale(1);opacity:.4}30%{transform:scale(1.3);opacity:1}}@keyframes splash-fadeIn{0%{opacity:0}to{opacity:1}}.onboarding-container{display:flex;flex-direction:column;justify-content:space-between;align-items:center;height:100vh;background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);color:#fff;padding:40px 20px 60px;text-align:center;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica;overflow:hidden}.onboarding-content{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:100%}.onboarding-icon{font-size:88px;margin-bottom:32px;animation:iconBounce .6s ease-out}@keyframes iconBounce{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.onboarding-title{font-size:28px;font-weight:700;margin-bottom:12px;letter-spacing:-.5px;animation:slideUp .5s ease-out .1s both}.onboarding-description{font-size:16px;color:#ffffffd9;line-height:1.6;max-width:300px;margin-bottom:48px;animation:slideUp .5s ease-out .2s both}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-dots{display:flex;gap:8px;justify-content:center}.onboarding-dots .dot{width:8px;height:8px;background:rgba(255,255,255,.4);border-radius:50%;transition:all .3s ease}.onboarding-dots .dot.active{background:white;width:24px;border-radius:4px}.onboarding-buttons{display:flex;gap:12px;width:100%;justify-content:space-between;animation:slideUp .5s ease-out .3s both}.onboarding-skip{flex:1;padding:14px 20px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.4);color:#fff;font-size:16px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease}.onboarding-skip:active{background:rgba(255,255,255,.3)}.onboarding-next{flex:1;padding:14px 20px;background:white;color:#002966;font-size:16px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease}.onboarding-next:active{background:rgba(255,255,255,.9)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Helvetica Neue,sans-serif;background:#f3f4f6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#111827;-webkit-user-select:none;user-select:none}html::-webkit-scrollbar,body::-webkit-scrollbar{display:none}html,body{-ms-overflow-style:none;scrollbar-width:none}button{border:none;background:none;padding:0;margin:0;cursor:pointer;font:inherit;color:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}button::-moz-focus-inner{border:0;padding:0}button{transition:transform .15s cubic-bezier(.4,0,.2,1),background-color .15s ease}button:active:not(.email-copy-btn){transform:scale(.96)}.email-copy-btn,.phone-call-btn{background:linear-gradient(135deg,#0052cc 0%,#003d99 100%);color:#fff;border:none;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;width:100%;max-width:280px}.email-copy-btn:active,.phone-call-btn:active{transform:scale(.98);box-shadow:0 4px 12px #0052cc4d}img{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}button,a,[role=button]{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.page,.card{-webkit-user-select:none;user-select:none}*:focus-visible{outline:2px solid #0052cc;outline-offset:2px}.app-shell{display:flex;flex-direction:column;height:100vh}.app-header{height:64px;background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px;box-shadow:0 4px 12px #003d992e;position:fixed;top:0;left:0;right:0;z-index:20;-webkit-user-select:none;user-select:none}.app-logo{font-size:20px;font-weight:700;letter-spacing:-.5px;display:flex;align-items:center;gap:8px}.app-menu-button{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.15);color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .16s ease,background .16s ease}.app-menu-button:active{transform:scale(.94);background:rgba(255,255,255,.25)}.app-main{flex:1;overflow-y:auto;padding:84px 16px 180px;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;margin-top:0}.app-main::-webkit-scrollbar{display:none}.page{max-width:720px;margin:0 auto;animation:fadeInUp .35s ease-out}.stock-ticker-card{background:linear-gradient(135deg,#003d99 0%,#0052cc 100%);border-radius:16px;padding:20px;margin-bottom:24px;color:#fff;box-shadow:0 6px 20px #0052cc40;animation:slideInDown .5s cubic-bezier(.34,1.56,.64,1)}.stock-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.stock-company{display:flex;align-items:center;gap:12px}.stock-logo{font-size:32px;display:flex;align-items:center;justify-content:center}.stock-name-section{display:flex;flex-direction:column;gap:2px}.stock-company-name{font-size:16px;font-weight:700;margin:0;color:#fff}.stock-ticker-symbol{font-size:12px;margin:0;opacity:.9;color:#fffc}.stock-body{display:flex;flex-direction:column;gap:12px}.stock-price-section{display:flex;align-items:baseline;gap:12px}.stock-price{font-size:32px;font-weight:800;color:#fff;letter-spacing:-.5px}.stock-daily-change{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:700;padding:8px 12px;background:rgba(255,255,255,.2);border-radius:8px;color:#fff;width:fit-content}.stock-daily-change.up{background:rgba(16,185,129,.3);color:#d1fae5}.stock-daily-change.down{background:rgba(239,68,68,.3);color:#fecaca}.stock-info{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(255,255,255,.15)}.stock-updated{font-size:12px;margin:0;opacity:.85;color:#fffc}@keyframes slideInDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}.page-title{font-size:26px;font-weight:800;color:#111827;margin-bottom:6px;letter-spacing:-.4px}.page-subtitle{font-size:15px;color:#6b7280;margin-bottom:22px;line-height:1.5}.app-bottom-nav{position:fixed;bottom:0;left:0;right:0;height:80px;background:#ffffff;border-top:1px solid #e5e7eb;display:flex;justify-content:space-around;align-items:center;padding:8px 4px env(safe-area-inset-bottom,0);z-index:30;gap:4px}.nav-item{flex:1;height:auto;text-decoration:none;color:#6b7280;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:11px;font-weight:600;gap:2px;border-radius:9999px;padding:8px 4px;transition:background .18s ease,color .18s ease,transform .12s ease,box-shadow .12s ease;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;border:none;background:transparent;cursor:pointer}.nav-item:active{transform:scale(.92);background:rgba(0,82,204,.12);box-shadow:0 0 0 6px #0052cc0f}.nav-item-active{color:#0052cc;background:rgba(0,82,204,.08)}.nav-icon{font-size:22px}.nav-label{font-size:10px;letter-spacing:.3px}.menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeInBackdrop .3s cubic-bezier(.4,0,.2,1);z-index:90}.menu-drawer,.menu-drawer *{border-radius:0!important;-webkit-border-radius:0!important}.menu-drawer{position:fixed;top:0;right:0;bottom:0;width:76%;max-width:360px;background:#ffffff;box-shadow:-4px 0 24px #0003;display:flex;flex-direction:column;animation:slideInRight .3s cubic-bezier(.4,0,.2,1);z-index:91;overflow:hidden;-webkit-user-select:none;user-select:none}.menu-profile-header{background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);padding:32px 20px 24px;color:#fff}.menu-profile-avatar{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:28px;margin-bottom:12px;border:2px solid rgba(255,255,255,.3)}.menu-profile-name{font-size:18px;font-weight:700;margin-bottom:4px}.menu-profile-email{font-size:13px;opacity:.9}.menu-section{padding:14px 12px 18px;display:flex;flex-direction:column;gap:4px;flex:1;overflow-y:auto}.menu-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:#9ca3af;margin:10px 0 6px;padding:0 6px}.menu-link{width:100%;padding:12px 10px;display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:#1f2937;transition:background .16s ease,transform .1s ease;text-align:left;border:none;background:transparent;cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.menu-link:active{background:rgba(0,0,0,.08);transform:scale(.97)}.menu-link span:first-child{width:24px;text-align:center}.menu-link:hover{background:#f3f4f6}.menu-link:active{transform:scale(.97);background:#e5e7eb}.menu-separator{height:1px;background:#e5e7eb;margin:8px 6px}.logout-link{color:#dc2626!important}.logout-link:hover{background:#fee2e2!important}.logout-link:active{background:#fecaca!important}.card-grid{display:flex;flex-direction:column;gap:16px}.card{width:100%;border-radius:16px;padding:20px;background:#ffffff;border:1px solid rgba(15,23,42,.04);box-shadow:0 2px 10px #0f172a14;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease;position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#003d99,#0052cc);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}.card:hover{transform:translateY(-1px);box-shadow:0 6px 18px #0f172a2e;border-color:#0f172a1a}.card:hover:before{transform:scaleX(1)}.card:active{transform:translateY(0) scale(.98);box-shadow:0 2px 8px #0f172a1f}.card h2{font-size:20px;font-weight:700;margin-bottom:6px;color:#111827;display:flex;align-items:center;gap:10px;text-align:left}.card p{font-size:14px;color:#6b7280;line-height:1.6;text-align:left}.primary-button{border-radius:12px;border:none;background:linear-gradient(135deg,#003d99,#0052cc);color:#fff;padding:13px 22px;font-size:15px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #0052cc59;transition:transform .14s ease,box-shadow .14s ease;position:relative;overflow:hidden}.primary-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);transition:left .5s}.primary-button:hover:before{left:100%}.primary-button:active{transform:scale(.97);box-shadow:0 2px 8px #0052cc59}.event-list{list-style:none;margin-top:16px;display:flex;flex-direction:column;gap:12px}.event-item{display:flex;gap:16px;background:#ffffff;border-radius:14px;padding:16px;box-shadow:0 2px 8px #0f172a14;border:1px solid rgba(15,23,42,.04);transition:transform .16s ease,box-shadow .16s ease;cursor:pointer;position:relative;overflow:visible}.event-item:hover{transform:translateY(-1px);box-shadow:0 6px 16px #0f172a24}.event-item:active{transform:translateY(0) scale(.98)}.event-date{display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#003d99,#0052cc);color:#fff;min-width:64px;height:64px;border-radius:12px;font-weight:700;font-size:15px;text-align:center;box-shadow:0 4px 12px #0052cc4d}.event-info{flex:1;display:flex;flex-direction:column;justify-content:center;gap:4px}.event-title{font-size:16px;font-weight:700;color:#111827}.event-type{font-size:13px;color:#6b7280;display:inline-flex;align-items:center;gap:4px}.event-type:before{content:"•";color:#0052cc;font-size:16px}.event-actions{display:flex;gap:8px;align-items:center;position:relative;overflow:visible!important}.btn-calendar{font-size:20px;padding:8px 10px;border-radius:8px;background:rgba(0,82,204,.1);transition:background .2s ease,transform .2s ease;display:flex;align-items:center;justify-content:center;position:relative;overflow:visible!important}.btn-calendar:after{content:"+";position:absolute;bottom:-2px;right:-2px;width:20px;height:20px;background:#10b981;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;line-height:1;padding:0 0 2px;box-shadow:0 2px 6px #10b98166}.btn-calendar:active{background:rgba(0,82,204,.2);transform:scale(.95)}.event-arrow{font-size:24px;font-weight:700;color:#9ca3af;display:flex;align-items:center;flex-shrink:0}.menu-section{background:linear-gradient(135deg,rgba(30,58,138,.06) 0%,rgba(0,82,204,.06) 100%);border:1.5px solid rgba(0,82,204,.2);border-radius:12px}.menu-preview{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0}.menu-preview-item{padding:12px;background:white;border:1px solid rgba(0,82,204,.15);border-radius:8px;text-align:center;font-size:13px;font-weight:500;color:#1f2937;line-height:1.4}.menu-button{width:100%}.menu-image-container{width:100%;display:flex;justify-content:center;padding:16px 0;position:relative;z-index:2}.menu-image{width:100%;max-width:600px;border-radius:12px;box-shadow:0 4px 12px #0000001a;object-fit:contain}.download-menu-button{width:100%;padding:14px 16px;background:linear-gradient(135deg,#003d99 0%,#0052cc 100%);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px #0052cc59;transition:transform .16s ease,box-shadow .16s ease;-webkit-user-select:none;user-select:none;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1)}.download-menu-button:active{transform:scale(.97);box-shadow:0 2px 8px #0052cc40}.calendar-menu{position:absolute;bottom:-160px;right:0;background:#ffffff;border-radius:12px;box-shadow:0 10px 32px #0f172a40;overflow:hidden;z-index:9999;min-width:180px;animation:slideDown .2s ease-out;pointer-events:auto}.calendar-menu-portal{position:fixed;background:#ffffff;border-radius:12px;box-shadow:0 10px 32px #0f172a40;overflow:hidden;z-index:10000;min-width:180px;animation:slideDown .2s ease-out;pointer-events:auto}.calendar-menu-item{width:100%;padding:12px 16px;text-align:left;border:none;background:none;cursor:pointer;font-size:14px;height:44px;display:flex;align-items:center;color:#111827;transition:background .15s ease;border-bottom:1px solid rgba(15,23,42,.06)}.calendar-menu-item:last-child{border-bottom:1px solid transparent}.calendar-menu-item:hover{background:rgba(0,82,204,.08)}.calendar-menu-item:active{background:rgba(0,82,204,.15)}.calendar-button-container{position:relative;z-index:10}.calendar-menu.calendar-menu-absolute{position:absolute!important;bottom:100%!important;right:auto!important;left:50%!important;transform:translate(-50%)!important;margin-bottom:8px;z-index:1000;min-width:200px;animation:fadeInSoft .3s ease-out}@keyframes fadeInSoft{0%{opacity:0;transform:translate(-50%) translateY(4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.login-container{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);padding:20px}.login-card{background:#ffffff;border-radius:20px;padding:36px 26px 32px;max-width:420px;width:100%;box-shadow:0 18px 52px #0f172a8c;text-align:center;animation:fadeInUp .4s ease-out}.login-logo{font-size:52px;margin-bottom:18px;animation:scaleIn .55s cubic-bezier(.68,-.55,.265,1.55)}.login-title{font-size:24px;font-weight:800;color:#111827;margin-bottom:6px;letter-spacing:-.4px}.login-subtitle{font-size:14px;color:#6b7280;margin-bottom:26px}.login-form{display:flex;flex-direction:column;gap:14px}.login-form>div{display:flex;flex-direction:column;gap:6px}.login-error{font-size:13px;color:#dc2626;text-align:left;margin:0;font-weight:500}.login-input{width:100%;border:2px solid #e5e7eb;border-radius:12px;padding:12px 14px;font-size:15px;background:#f9fafb;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.login-input:focus{border-color:#0052cc;box-shadow:0 0 0 3px #0052cc29;background:#ffffff}.login-input::placeholder{color:#9ca3af}.login-microsoft-button{width:100%;border-radius:12px;border:2px solid #e5e7eb;background:#ffffff;color:#374151;padding:12px 14px;font-size:15px;font-weight:600;cursor:pointer;transition:background .16s ease,border-color .16s ease,transform .1s ease;margin-top:4px}.login-microsoft-button:hover{background:#f9fafb;border-color:#d1d5db}.login-microsoft-button:active{background:#f3f4f6;transform:scale(.98)}.login-continue-button{width:100%;border-radius:12px;border:none;background:linear-gradient(135deg,#003d99,#0052cc);color:#fff;padding:13px 14px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .14s ease,box-shadow .14s ease,opacity .12s ease;margin-top:10px;box-shadow:0 4px 12px #0052cc66}.login-continue-button:hover{box-shadow:0 6px 16px #0052cc73}.login-continue-button:active{transform:scale(.98);box-shadow:0 2px 8px #0052cc66}.login-continue-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.redirect-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:340px;gap:18px}.redirect-spinner{width:52px;height:52px;border:5px solid #e5e7eb;border-top-color:#0052cc;border-radius:9999px;animation:spin 1s linear infinite}.redirect-text{font-size:15px;color:#6b7280;text-align:center;font-weight:500;max-width:260px}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in-out}.loading-content{display:flex;flex-direction:column;align-items:center;gap:24px}.loading-spinner{width:72px;height:72px;border-radius:9999px;border:6px solid rgba(255,255,255,.35);border-top-color:#fff;animation:spin 1s linear infinite}.loading-text{font-size:18px;font-weight:600;color:#fff;text-align:center;max-width:280px}.welcome-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);display:flex;align-items:center;justify-content:center;z-index:9999;animation:fadeIn .3s ease-in-out forwards,fadeOut 1s ease-in-out 1.5s forwards}.welcome-content{display:flex;flex-direction:column;align-items:center;gap:20px}.checkmark-animation{width:96px;height:96px;border-radius:9999px;background:rgba(255,255,255,.2);display:flex;align-items:center;justify-content:center;font-size:56px;color:#fff;animation:scaleIn .5s cubic-bezier(.68,-.55,.265,1.55);border:3px solid rgba(255,255,255,.35)}.welcome-text{font-size:18px;font-weight:600;color:#fff;text-align:center;max-width:320px;line-height:1.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@keyframes fadeInBackdrop{0%{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}to{opacity:1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}}@keyframes slideOutRight{0%{transform:translate(0);opacity:1}to{transform:translate(100%);opacity:0}}.menu-backdrop.closing{animation:fadeOutBackdrop .3s cubic-bezier(.4,0,.2,1) forwards}.menu-drawer.closing{animation:slideOutRight .3s cubic-bezier(.4,0,.2,1) forwards}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fadeInBackdrop .3s cubic-bezier(.4,0,.2,1);z-index:100;-webkit-user-select:none;user-select:none}.modal-container{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:20px;z-index:101;-webkit-user-select:none;user-select:none}.modal-content{background:#ffffff;border-radius:24px;padding:32px 24px;max-width:360px;width:100%;display:flex;flex-direction:column;align-items:center;gap:16px;box-shadow:0 20px 60px #0f172a33;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none}.modal-icon{font-size:64px;margin-bottom:8px;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1)}.modal-title{font-size:22px;font-weight:700;color:#1f2937;text-align:center;margin:0}.modal-description{font-size:15px;color:#6b7280;text-align:center;line-height:1.6;margin:0}.modal-buttons{display:flex;gap:12px;width:100%;margin-top:8px}.modal-button{flex:1;padding:12px 16px;border-radius:12px;border:none;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none}.modal-button-secondary{background:#e5e7eb;color:#1f2937}.modal-button-secondary:active{transform:scale(.96);background:#d1d5db}.modal-button-danger{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff}.modal-button-danger:active{transform:scale(.96);background:linear-gradient(135deg,#b91c1c,#dc2626)}@keyframes fadeOutBackdrop{0%{opacity:1;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}to{opacity:0;backdrop-filter:blur(0px);-webkit-backdrop-filter:blur(0px)}}@keyframes fadeOutDown{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(20px) scale(.95)}}.modal-backdrop.closing{animation:fadeOutBackdrop .3s cubic-bezier(.4,0,.2,1) forwards}.modal-container.closing{pointer-events:none}.modal-content.closing{animation:fadeOutDown .3s cubic-bezier(.4,0,.2,1) forwards}.cancel-button{background:#f3f4f6;color:#6b7280}.cancel-button:active{background:#e5e7eb;transform:scale(.97)}.confirm-button{background:linear-gradient(135deg,#003d99,#0052cc);color:#fff;box-shadow:0 4px 14px #0052cc59}.confirm-button:active{transform:scale(.97);box-shadow:0 2px 8px #0052cc40}@keyframes slideInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.event-detail-page{padding-bottom:200px}.event-detail-page.christmas-theme{background:linear-gradient(180deg,#0a1628 0%,#122a4d 50%,#1a3a6e 100%);min-height:100vh;position:relative;margin:-20px -16px 0!important;padding:20px 16px 200px!important;width:calc(100% + 32px);max-width:none!important}.christmas-theme .back-button{color:#7dd3fc}.christmas-theme .back-button:active{color:#38bdf8}.christmas-theme .event-detail-header{background:linear-gradient(135deg,#0f4c81 0%,#1e6091 50%,#2a7ab8 100%);box-shadow:0 8px 32px #0000004d;position:relative;z-index:2}.christmas-theme .info-section{background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #00000026;position:relative;z-index:2}.christmas-theme .calendar-button-container{position:relative;z-index:2}.back-button{background:none;border:none;color:#0052cc;font-size:16px;font-weight:600;cursor:pointer;padding:8px 0;margin-bottom:24px;transition:color .2s ease;-webkit-tap-highlight-color:transparent}.back-button:active{color:#003d99}.event-detail-header{text-align:center;margin-bottom:32px;padding:24px;background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);border-radius:20px;color:#fff;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1)}.event-detail-icon{font-size:64px;margin-bottom:16px;display:inline-block;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1)}.event-detail-title{font-size:32px;font-weight:800;margin:0 0 8px;letter-spacing:-.5px}.event-detail-type{font-size:14px;opacity:.95;margin:0;letter-spacing:.5px}.event-detail-content{display:flex;flex-direction:column;gap:24px;position:relative;z-index:2}.info-section{background:#ffffff;border-radius:16px;padding:20px;border:1px solid #e5e7eb;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1)}.section-title{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 16px}.info-item{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid #f3f4f6}.info-item:last-child{border-bottom:none}.info-label{font-weight:600;color:#6b7280;font-size:14px;white-space:nowrap;flex-shrink:0}.info-value{font-size:15px;color:#1f2937;font-weight:500;word-wrap:break-word;word-break:break-word;flex:1 1 auto;text-align:right}.info-link{color:#0052cc;word-break:break-all}.agenda-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.agenda-list li{padding:12px;background:#f9fafb;border-radius:10px;font-size:15px;color:#374151;border-left:4px solid #0052cc}.section-description{font-size:15px;color:#4b5563;line-height:1.7;margin:0}.join-button{margin-top:8px;width:100%}.event-item.clickable{cursor:pointer;transition:all .2s ease}.event-item.clickable:active{transform:scale(.98);background:rgba(0,82,204,.05)}.event-arrow{color:#0052cc;font-size:18px;font-weight:600}.maps-button{width:100%;padding:14px 16px;border:2px solid #0052cc;border-radius:12px;background:transparent;color:#0052cc;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;margin:12px 0}.maps-button:active{background:rgba(0,82,204,.1);transform:scale(.98);border-color:#003d99;color:#003d99}.help-header{text-align:center;margin-bottom:32px;padding:24px 16px;background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);border-radius:16px;color:#fff}.help-title{font-size:32px;font-weight:800;margin:0 0 8px;letter-spacing:-.5px}.help-subtitle{font-size:15px;opacity:.95;margin:0;line-height:1.5}.help-section{margin-bottom:32px}.help-section-title{font-size:18px;font-weight:700;color:#111827;margin:0 0 16px;display:flex;align-items:center;gap:8px}.contact-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}@media (max-width: 640px){.contact-grid{grid-template-columns:1fr}}.contact-card{padding:16px;background:#f9fafb;border:1px solid rgba(0,82,204,.1);border-radius:12px;text-align:center;transition:all .2s ease}.contact-card:active{transform:scale(.98);background:rgba(0,82,204,.05)}.contact-icon{font-size:32px;margin-bottom:8px}.contact-title{font-size:14px;font-weight:600;color:#111827;margin:0 0 4px}.contact-description{font-size:12px;color:#6b7280;margin:0 0 8px}.contact-method{background:linear-gradient(135deg,#0052cc 0%,#003d99 100%);color:#fff;border:none;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;width:100%;max-width:280px;margin:8px auto 0;display:block}.contact-method:active{transform:scale(.98);box-shadow:0 4px 12px #0052cc4d}.faq-container{display:flex;flex-direction:column;gap:8px}.faq-item{border:1px solid rgba(0,82,204,.15);border-radius:10px;overflow:hidden;background:#ffffff}.faq-question{width:100%;padding:16px;background:#f9fafb;border:none;text-align:left;font-size:15px;font-weight:600;color:#111827;cursor:pointer;display:flex;align-items:center;gap:12px;transition:background .2s ease;-webkit-tap-highlight-color:transparent}.faq-question:active{background:rgba(0,82,204,.08)}.faq-icon{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:#0052cc;color:#fff;border-radius:6px;font-weight:700;font-size:16px;flex-shrink:0}.faq-answer{padding:0 16px 16px;background:#ffffff;animation:slideDown .3s ease-out}.faq-answer p{font-size:14px;color:#4b5563;line-height:1.6;margin:0}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tip-item{padding:12px;background:linear-gradient(135deg,rgba(0,82,204,.08) 0%,rgba(0,82,204,.04) 100%);border-left:4px solid #0052cc;border-radius:8px;display:flex;align-items:flex-start;gap:12px}.tip-icon{font-size:20px;flex-shrink:0;margin-top:2px}.tip-item p{font-size:14px;color:#374151;margin:0;line-height:1.5}.feedback-section{background:linear-gradient(135deg,#003d99 0%,#0052cc 100%);padding:24px;border-radius:16px;text-align:center;color:#fff}.feedback-section .help-section-title{color:#fff!important}.feedback-text{font-size:15px;line-height:1.6;margin:0 0 16px;opacity:1;color:#fff!important}.feedback-button{padding:14px 24px;background:#ffffff;color:#0052cc;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.feedback-button:active{transform:scale(.98);box-shadow:0 4px 12px #0052cc4d}.news-section{margin-top:32px;margin-bottom:40px}.news-title{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 16px}.news-reel{background:linear-gradient(135deg,rgba(0,45,102,.08) 0%,rgba(0,82,204,.08) 100%);border-radius:16px;padding:20px;border:1px solid #e5e7eb;margin-bottom:16px;overflow:hidden}.news-carousel{position:relative;height:100px;display:flex;align-items:center}.news-item{position:absolute;width:100%;height:100%;display:flex;gap:12px;align-items:center;opacity:0;transform:translate(100px);transition:opacity .5s cubic-bezier(.34,1.56,.64,1),transform .5s cubic-bezier(.34,1.56,.64,1)}.news-item.active{opacity:1;transform:translate(0);animation:slideInNews .5s cubic-bezier(.34,1.56,.64,1)}.news-item.prev{opacity:0;transform:translate(-100px)}.news-item.next{opacity:0;transform:translate(100px)}.news-emoji{font-size:36px;flex-shrink:0;animation:popIn .5s cubic-bezier(.34,1.56,.64,1)}.news-content{flex:1;min-width:0}.news-item-title{font-size:15px;font-weight:700;color:#1f2937;margin:0 0 4px;line-height:1.3;word-break:break-word}.news-date{font-size:12px;color:#9ca3af;margin:0}.news-controls{display:flex;align-items:center;justify-content:center;gap:20px}.news-nav-button{background:#ffffff;border:1px solid #e5e7eb;color:#0052cc;width:36px;height:36px;border-radius:50%;font-size:20px;font-weight:700;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}.news-nav-button:active{background:#f3f4f6;transform:scale(.95)}.news-dots{display:flex;gap:6px}.dot{width:8px;height:8px;border-radius:50%;background:#e5e7eb;cursor:pointer;transition:all .3s ease}.dot.active{background:#0052cc;width:24px;border-radius:4px;animation:expandDot .3s cubic-bezier(.34,1.56,.64,1)}@keyframes slideInNews{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes popIn{0%{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}@keyframes expandDot{0%{width:8px}to{width:24px}}.profile-header{display:flex;align-items:center;justify-content:space-between;padding:16px 0;margin-bottom:24px;border-bottom:1px solid #e5e7eb}.back-button{background:none;border:none;font-size:28px;color:#0052cc;cursor:pointer;padding:8px;margin-left:-8px;-webkit-tap-highlight-color:transparent;transition:all .2s ease}.back-button:active{transform:scale(.9)}.back-button-placeholder{width:44px}.profile-page-title{font-size:24px;font-weight:700;color:#1f2937;margin:0;text-align:center;flex:1}.profile-container{display:flex;flex-direction:column;gap:24px;margin-bottom:40px;animation:fadeInProfile .5s ease}@keyframes fadeInProfile{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-avatar-section{display:flex;justify-content:center;padding:32px 0;animation:slideInAvatarProfile .6s cubic-bezier(.34,1.56,.64,1)}@keyframes slideInAvatarProfile{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.profile-avatar-circle{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,#002966 0%,#0052cc 100%);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 24px #0052cc4d;position:relative}.profile-initials{font-size:48px;font-weight:700;color:#fff}.profile-avatar-badge{position:absolute;bottom:0;right:0;font-size:32px;background:#ffffff;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px #0000001a}.profile-info-card{background:linear-gradient(135deg,rgba(0,45,102,.05) 0%,rgba(0,82,204,.05) 100%);border:1px solid #e5e7eb;border-radius:16px;padding:24px;animation:slideInInfo .6s cubic-bezier(.34,1.56,.64,1) .1s both}@keyframes slideInInfo{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.profile-info-item{display:flex;flex-direction:column;gap:8px}.profile-label{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px}.profile-value{font-size:18px;font-weight:700;color:#1f2937;margin:0}.email-text{font-size:14px;word-break:break-all}.profile-divider{height:1px;background:#e5e7eb;margin:16px 0}.profile-status-card{background:linear-gradient(135deg,rgba(16,185,129,.08) 0%,rgba(5,150,105,.08) 100%);border:1px solid #d1fae5;border-radius:16px;padding:20px;animation:slideInInfo .6s cubic-bezier(.34,1.56,.64,1) .2s both}.status-header{display:flex;align-items:center;gap:12px;margin-bottom:12px}.status-icon{font-size:24px;background:#10b981;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.status-title{font-size:16px;font-weight:700;color:#059669;margin:0}.status-description{font-size:14px;color:#6b7280;margin:0 0 12px}.status-badges{display:flex;gap:8px;flex-wrap:wrap}.badge{background:#10b981;color:#fff;font-size:12px;font-weight:600;padding:6px 12px;border-radius:20px}.profile-actions{display:flex;gap:12px;flex-wrap:wrap}.action-button{flex:1;min-width:140px;padding:12px 16px;border:1px solid #e5e7eb;border-radius:12px;background:#ffffff;color:#1f2937;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s ease;-webkit-tap-highlight-color:transparent;animation:slideInInfo .6s cubic-bezier(.34,1.56,.64,1) .3s both}.action-button.primary{background:linear-gradient(135deg,#002966 0%,#0052cc 100%);border:none;color:#fff;box-shadow:0 4px 12px #0052cc4d}.action-button:active{transform:scale(.97)}.action-button.primary:active{box-shadow:0 2px 8px #0052cc33}.action-icon{font-size:18px}.profile-resources{animation:slideInInfo .6s cubic-bezier(.34,1.56,.64,1) .4s both}.resources-title{font-size:14px;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px}.resource-link{width:100%;padding:16px;border:1px solid #e5e7eb;border-radius:12px;background:#ffffff;cursor:pointer;display:flex;align-items:center;gap:12px;text-align:left;transition:all .2s ease;-webkit-tap-highlight-color:transparent;margin-bottom:10px}.resource-link:active{background:#f3f4f6;transform:scale(.98)}.resource-link span:first-child{font-size:24px;flex-shrink:0}.resource-link div{flex:1;min-width:0}.resource-name{font-size:14px;font-weight:600;color:#1f2937;margin:0 0 2px}.resource-desc{font-size:12px;color:#9ca3af;margin:0}.arrow{font-size:18px;color:#9ca3af;flex-shrink:0}.hub-hero{background:linear-gradient(135deg,#002966 0%,#0052cc 100%);border-radius:20px;padding:40px 24px;text-align:center;margin-bottom:32px;animation:slideInHero .6s cubic-bezier(.34,1.56,.64,1);box-shadow:0 12px 32px #0052cc4d}.hub-hero.sharepoint-hero{background:linear-gradient(135deg,#0052cc 0%,#003d99 100%)}.hub-hero.atlas-hero{background:linear-gradient(135deg,#002966 0%,#0052cc 100%)}.hub-hero.itrent-hero{background:linear-gradient(135deg,#0052cc 0%,#003d99 100%)}@keyframes slideInHero{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-icon{font-size:56px;margin-bottom:16px;display:inline-block;animation:popInHero .6s cubic-bezier(.34,1.56,.64,1)}@keyframes popInHero{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.hub-title{font-size:32px;font-weight:700;color:#fff;margin:0 0 8px}.hub-subtitle{font-size:15px;color:#ffffffe6;margin:0;line-height:1.4}.hub-features{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:32px}.feature-card{background:linear-gradient(135deg,rgba(0,45,102,.08) 0%,rgba(0,82,204,.08) 100%);border:1px solid #e5e7eb;border-radius:14px;padding:20px 16px;text-align:center;animation:slideInFeature .5s cubic-bezier(.34,1.56,.64,1) forwards;opacity:0;transform:translateY(20px);cursor:pointer;transition:all .2s ease}.feature-card:active{transform:scale(.97);background:rgba(0,82,204,.12)}@keyframes slideInFeature{to{opacity:1;transform:translateY(0)}}.feature-icon{font-size:32px;margin-bottom:8px;display:block}.feature-title{font-size:13px;font-weight:700;color:#1f2937;margin:0 0 4px}.feature-desc{font-size:11px;color:#9ca3af;margin:0}.hub-features .feature-card:nth-child(5){grid-column:1 / -1}.hub-primary-button{width:100%;padding:14px 20px;background:linear-gradient(135deg,#002966 0%,#0052cc 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 8px 16px #0052cc4d;transition:all .2s ease;-webkit-tap-highlight-color:transparent;animation:slideInButton .6s cubic-bezier(.34,1.56,.64,1) .2s both}@keyframes slideInButton{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.button-icon{font-size:18px}.hub-primary-button:active{transform:scale(.96);box-shadow:0 4px 8px #0052cc33}.hub-footer-note{text-align:center;font-size:12px;color:#9ca3af;margin-top:16px;margin-bottom:40px;animation:fadeInNote .6s ease .4s both}@keyframes fadeInNote{0%{opacity:0}to{opacity:1}}.guide-page{background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 100%)}.guide-hero{text-align:center;padding:40px 20px 32px;background:linear-gradient(135deg,#002966 0%,#003d99 50%,#0052cc 100%);border-radius:24px;color:#fff;margin-bottom:32px;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1)}.guide-hero-icon{font-size:72px;margin-bottom:16px;display:inline-block;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1)}.guide-title{font-size:36px;font-weight:800;margin:0 0 12px;letter-spacing:-.5px}.guide-subtitle{font-size:15px;opacity:.95;margin:0;letter-spacing:.3px}.guide-section{margin-bottom:32px;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1)}.guide-section-title{font-size:22px;font-weight:700;color:#1f2937;margin:0 0 8px}.guide-section-desc{font-size:14px;color:#6b7280;margin:0 0 16px;font-weight:500}.features-grid{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 640px){.features-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}.feature-card{background:#ffffff;border-radius:16px;padding:24px;text-align:center;box-shadow:0 2px 8px #00000014;border:1px solid rgba(0,82,204,.1);transition:transform .2s ease,box-shadow .2s ease;animation:slideInUp .5s cubic-bezier(.34,1.56,.64,1) forwards}.feature-card:active{transform:scale(.97);box-shadow:0 4px 16px #0052cc26}.features-grid .feature-card:nth-child(3){grid-column:1 / -1}.feature-icon-large{font-size:52px;margin-bottom:12px;display:inline-block}.feature-title{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 8px}.feature-description{font-size:14px;color:#6b7280;margin:0;line-height:1.6}.premium-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.premium-card{background:linear-gradient(135deg,rgba(240,253,250,.8) 0%,rgba(204,251,241,.8) 100%);border:2px solid rgba(16,185,129,.3);border-radius:20px;padding:28px;position:relative;overflow:hidden;animation:slideInUp .6s cubic-bezier(.34,1.56,.64,1) forwards}.premium-card:before{content:"";position:absolute;top:0;right:0;width:120px;height:120px;background:radial-gradient(circle,rgba(16,185,129,.1) 0%,transparent 70%);pointer-events:none}.premium-card:active{transform:scale(.98);border-color:#10b98180}.premium-grid .premium-card:nth-child(3){grid-column:1 / -1}.toast-notification{position:fixed;bottom:110px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;padding:12px 16px;border-radius:8px;box-shadow:0 8px 24px #10b9814d;font-size:14px;font-weight:500;z-index:99999;animation:slideUpAndFade 2.5s cubic-bezier(.34,1.56,.64,1) forwards;max-width:95%;text-align:center;pointer-events:none;line-height:1.4}@keyframes slideUpAndFade{0%{opacity:0;transform:translate(-50%) translateY(20px)}25%{opacity:1;transform:translate(-50%) translateY(0)}85%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(20px)}}.events-search-container{padding:12px 16px;background:white;border-bottom:1px solid #e5e7eb}.events-search-wrapper{position:relative;display:flex;align-items:center;background:#f3f4f6;border-radius:8px;padding:8px 12px;transition:background-color .2s ease}.search-icon{font-size:16px;margin-right:8px;flex-shrink:0}.events-search-input{flex:1;border:none;background:transparent;font-size:14px;padding:4px 0;color:#111827;outline:none;font-family:inherit;min-width:0}.events-search-input::placeholder{color:#9ca3af}.search-clear-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-left:4px;padding:0;background:rgba(107,114,128,.3);border-radius:4px;color:#6b7280;font-size:14px;flex-shrink:0;cursor:pointer;transition:all .15s ease}.search-clear-btn:active{transform:scale(.95);background:rgba(107,114,128,.5)}.events-no-results{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.no-results-icon{font-size:48px;margin-bottom:12px}.no-results-text{font-size:16px;font-weight:500;color:#374151;margin-bottom:8px}.no-results-hint{font-size:13px;color:#9ca3af}.settings-header{margin-bottom:24px}.settings-title{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.settings-subtitle{font-size:14px;color:#9ca3af;margin:0}.settings-section{margin-bottom:24px;background:white;border-radius:16px;border:1px solid #e5e7eb;overflow:hidden}.settings-section-title{font-size:14px;font-weight:700;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;padding:16px 16px 8px;margin:0;background:#f9fafb;border-bottom:1px solid #e5e7eb}.settings-item{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #f3f4f6;gap:12px}.settings-item:last-child{border-bottom:none}.settings-item-info{flex:1;min-width:0}.settings-item-title{font-size:15px;font-weight:600;color:#1f2937;margin:0 0 4px}.settings-item-description{font-size:13px;color:#9ca3af;margin:0}.toggle-switch{display:flex;align-items:center;cursor:pointer;position:relative;width:52px;height:32px;flex-shrink:0}.toggle-switch input{opacity:0;width:0;height:0;position:absolute}.toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background-color:#d1d5db;border-radius:16px;transition:background-color .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent}.toggle-slider:before{content:"";position:absolute;height:24px;width:24px;left:3px;bottom:2px;background-color:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #0000001a}.toggle-switch input:checked+.toggle-slider{background-color:#0052cc}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.settings-info-card{background:linear-gradient(135deg,rgba(0,82,204,.05) 0%,rgba(0,82,204,.02) 100%);border:1px solid rgba(0,82,204,.1);border-radius:12px;padding:16px}.settings-info-card .info-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0}.settings-info-card .info-label{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;flex-shrink:0}.settings-info-card .info-value{font-size:14px;font-weight:600;color:#1f2937;text-align:right}.info-divider{height:1px;background:rgba(0,82,204,.1);margin:8px 0}.demo-button{width:100%;padding:16px;background:linear-gradient(135deg,#10b981 0%,#059669 100%);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #10b9814d}.demo-button:active{transform:scale(.98);box-shadow:0 2px 6px #10b98133}.demo-hint{font-size:12px;color:#9ca3af;text-align:center;margin:8px 0 0}.settings-sound-demo{padding:12px 16px 16px;border-top:1px solid #f3f4f6}.demo-label{font-size:12px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.sound-demo-buttons{display:flex;gap:8px;flex-wrap:wrap}.sound-demo-btn{flex:1;min-width:60px;padding:10px 12px;background:linear-gradient(135deg,#f3f4f6 0%,#e5e7eb 100%);border:1px solid #d1d5db;border-radius:8px;font-size:12px;font-weight:600;color:#374151;cursor:pointer;transition:all .15s ease}.sound-demo-btn:active{transform:scale(.95);background:linear-gradient(135deg,#e5e7eb 0%,#d1d5db 100%)}.premium-icon{font-size:48px;margin-bottom:12px;display:inline-block}.premium-title{font-size:20px;font-weight:800;color:#047857;margin:0 0 8px;position:relative;z-index:1}.premium-desc{font-size:15px;color:#059669;margin:0 0 12px;line-height:1.6;position:relative;z-index:1}.premium-badge{display:inline-block;background:linear-gradient(135deg,#10b981,#059669);color:#fff;padding:6px 12px;border-radius:12px;font-size:12px;font-weight:700;position:relative;z-index:1}.capabilities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.capability-card{background:#ffffff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000014;border:1px solid rgba(0,82,204,.1);transition:transform .2s ease;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1) forwards}.capability-card:active{transform:scale(.97)}.capability-icon{font-size:40px;margin-bottom:8px;display:inline-block}.capability-title{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 6px}.capability-text{font-size:13px;color:#6b7280;margin:0;line-height:1.5}.tips-list{display:flex;flex-direction:column;gap:12px}.tip-item{background:linear-gradient(135deg,rgba(3,102,214,.05) 0%,rgba(0,82,204,.05) 100%);border:1px solid rgba(0,82,204,.15);border-radius:12px;padding:16px;display:flex;align-items:flex-start;gap:12px}.tip-icon{font-size:24px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;margin-top:2px}.tip-text{font-size:14px;color:#1f2937;font-weight:500;line-height:1.5;margin:0}.settings-guide-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.settings-guide-card{background:#ffffff;border-radius:16px;padding:20px;box-shadow:0 2px 8px #00000014;border:1px solid rgba(0,82,204,.1);transition:transform .2s ease;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1) forwards}.settings-guide-card:active{transform:scale(.97)}.settings-guide-icon{font-size:36px;margin-bottom:12px;display:inline-block}.settings-guide-title{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 8px}.settings-guide-desc{font-size:13px;color:#6b7280;margin:0;line-height:1.6}.install-card{background:#ffffff;border-radius:16px;padding:20px;margin-bottom:12px;box-shadow:0 2px 8px #00000014;border:1px solid rgba(0,82,204,.1)}.install-method{display:flex;gap:16px}.install-icon{font-size:48px;flex-shrink:0}.install-content{flex:1}.install-title{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 8px}.install-steps{font-size:13px;color:#6b7280;margin:0;line-height:1.8}.tips-card{background:linear-gradient(135deg,rgba(255,251,235,.6) 0%,rgba(254,243,224,.6) 100%);border:2px solid rgba(245,158,11,.3);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:16px}.tip-row{display:flex;gap:12px}.tip-number{flex-shrink:0;width:32px;height:32px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px}.tip-row p{font-size:14px;color:#78350f;margin:0;line-height:1.6}.support-card{background:#ffffff;border:1px solid #e5e7eb;border-radius:14px;padding:20px;margin-bottom:16px;text-align:center;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1)}.support-card:last-child{margin-bottom:0}.support-card-icon{font-size:32px;margin-bottom:12px;display:block}.support-card-title{font-size:16px;font-weight:700;color:#1f2937;margin:0 0 8px}.support-card-text{font-size:14px;color:#6b7280;margin:0 0 12px;line-height:1.6}.support-email-btn{background:linear-gradient(135deg,#0052cc 0%,#003d99 100%);color:#fff;border:none;border-radius:10px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent;user-select:none;-webkit-user-select:none;width:100%;max-width:280px}.support-email-btn:active{transform:scale(.98);box-shadow:0 4px 12px #0052cc4d}.calendar-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px;animation:fadeInOverlay .2s ease-out;-webkit-user-select:none;user-select:none}@keyframes fadeInOverlay{0%{opacity:0}to{opacity:1}}@keyframes fadeOutOverlay{0%{opacity:1}to{opacity:0}}.calendar-modal-overlay.closing{animation:fadeOutOverlay .2s ease-in forwards}.calendar-modal{background:#ffffff;border-radius:20px;padding:28px 24px;max-width:340px;width:100%;box-shadow:0 20px 60px #0000004d;text-align:center;animation:slideUpModal .35s cubic-bezier(.34,1.56,.64,1);-webkit-user-select:none;user-select:none}@keyframes slideUpModal{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes slideDownModal{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(40px) scale(.95)}}.calendar-modal.closing{animation:slideDownModal .2s ease-in forwards}.calendar-modal-icon{font-size:48px;margin-bottom:12px}.calendar-modal-title{font-size:20px;font-weight:700;color:#111827;margin-bottom:20px}.calendar-modal-event{background:linear-gradient(135deg,#f0f7ff 0%,#e8f0fe 100%);border-radius:14px;padding:16px;margin-bottom:24px;border:1px solid rgba(0,82,204,.1)}.calendar-modal-event-name{font-size:17px;font-weight:700;color:#002966;margin-bottom:12px}.calendar-modal-details{display:flex;flex-direction:column;gap:8px}.calendar-modal-detail{display:flex;align-items:center;gap:8px;font-size:14px;color:#4b5563}.calendar-modal-detail-icon{font-size:14px;flex-shrink:0}.calendar-modal-buttons{display:flex;gap:12px}.calendar-modal-btn{flex:1;padding:14px 16px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease;-webkit-tap-highlight-color:transparent}.calendar-modal-btn-cancel{background:#f3f4f6;color:#6b7280;border:1px solid #e5e7eb}.calendar-modal-btn-cancel:active{background:#e5e7eb;transform:scale(.97)}.calendar-modal-btn-add{background:linear-gradient(135deg,#002966 0%,#0052cc 100%);color:#fff;border:none;box-shadow:0 4px 12px #0052cc4d}.calendar-modal-btn-add:active{transform:scale(.97);box-shadow:0 2px 6px #0052cc33}.policy-header{text-align:center;margin-bottom:28px;padding:20px 0}.policy-title{font-size:28px;font-weight:700;color:#1f2937;margin:0 0 8px}.policy-date{font-size:13px;color:#9ca3af;margin:0}.policy-content{display:flex;flex-direction:column;gap:24px}.policy-section{background:#ffffff;border-radius:12px;padding:20px;border:1px solid #e5e7eb;animation:slideInUp .4s cubic-bezier(.34,1.56,.64,1)}.policy-section-title{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 12px}.policy-text{font-size:14px;color:#6b7280;line-height:1.7;margin:0}.policy-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.policy-list li{font-size:14px;color:#6b7280;line-height:1.6;padding-left:20px;position:relative}.policy-list li:before{content:"•";position:absolute;left:0;color:#0052cc;font-weight:700}.policy-contact{background:linear-gradient(135deg,rgba(0,82,204,.05) 0%,rgba(0,82,204,.02) 100%);border-left:4px solid #0052cc;padding:16px;border-radius:8px;margin-top:12px}.policy-contact p{font-size:14px;color:#374151;margin:8px 0;line-height:1.6}.policy-contact p:first-child{margin-top:0}.policy-contact p:last-child{margin-bottom:0}
