.desktop-nav{transition:width .32s cubic-bezier(.32,.72,0,1)!important;will-change:width}.desktop-nav-item{transition:background .2s ease,transform .12s cubic-bezier(.25,.46,.45,.94)!important}.desktop-nav-item:active{transform:scale(.96)}.desktop-nav-icon{transition:font-size .28s cubic-bezier(.32,.72,0,1),color .2s ease!important}.desktop-nav-label{overflow:hidden;white-space:nowrap;transition:opacity .24s cubic-bezier(.32,.72,0,1),max-width .32s cubic-bezier(.32,.72,0,1),transform .28s cubic-bezier(.32,.72,0,1);opacity:1;max-width:180px;transform:translate(0)}.desktop-nav.collapsed .desktop-nav-label{opacity:0;max-width:0;transform:translate(8px);pointer-events:none}[dir=ltr] .desktop-nav.collapsed .desktop-nav-label{transform:translate(-8px)}.desktop-nav-header-text{overflow:hidden;white-space:nowrap;transition:opacity .24s cubic-bezier(.32,.72,0,1),max-width .32s cubic-bezier(.32,.72,0,1);opacity:1;max-width:160px}.desktop-nav.collapsed .desktop-nav-header-text{opacity:0;max-width:0}@keyframes navItemFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.desktop-nav-item{animation:navItemFadeIn .35s cubic-bezier(.32,.72,0,1) backwards}.desktop-nav-item:nth-child(1){animation-delay:.02s}.desktop-nav-item:nth-child(2){animation-delay:.05s}.desktop-nav-item:nth-child(3){animation-delay:.08s}.desktop-nav-item:nth-child(4){animation-delay:.11s}.desktop-nav-item:nth-child(5){animation-delay:.14s}.desktop-nav-item:nth-child(6){animation-delay:.17s}.desktop-nav-item{position:relative}.desktop-nav-item .nav-active-bar{position:absolute;inset-inline-end:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:#20a368;border-radius:2px;transition:height .28s cubic-bezier(.32,.72,0,1)}.desktop-nav-item.active .nav-active-bar{height:60%}.desktop-nav-toggle{transition:background .2s ease,transform .2s cubic-bezier(.32,.72,0,1)!important}.desktop-nav-toggle:active{transform:scale(.9)}.desktop-logout-modal{--width: min(420px, calc(100vw - 32px) );--max-width: 420px;--height: auto;--border-radius: 18px}@media(min-width:1024px){.desktop-logout-modal{--width: min(460px, calc(100vw - 72px) );--max-width: 460px;--border-radius: 20px}}@media(prefers-reduced-motion:reduce){.desktop-nav,.desktop-nav-item,.desktop-nav-icon,.desktop-nav-label,.desktop-nav-header-text{transition-duration:.01ms!important;animation:none!important}}.update-prompt{position:fixed;bottom:80px;left:16px;right:16px;z-index:99998;animation:slideUp .3s ease-out}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.update-prompt-content{background:linear-gradient(135deg,#20a368,#1c8f5b);border-radius:16px;padding:16px;display:flex;align-items:center;gap:12px;box-shadow:0 8px 32px #20a3684d;max-width:500px;margin:0 auto}.update-prompt-icon{width:40px;height:40px;border-radius:50%;background:#fff3;display:flex;align-items:center;justify-content:center;flex-shrink:0}.update-prompt-icon ion-icon{font-size:22px;color:#fff}.update-prompt-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.update-prompt-title{font-size:14px;font-weight:600;color:#fff}.update-prompt-message{font-size:12px;color:#ffffffd9}.update-prompt-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.update-btn{--background: white;--color: #20a368;--border-radius: 8px;--padding-start: 12px;--padding-end: 12px;font-weight:600;font-size:13px;height:36px}.update-dismiss{background:#fff3;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s}.update-dismiss:hover{background:#ffffff4d}.update-dismiss ion-icon{font-size:18px;color:#fff}@media(max-width:480px){.update-prompt{left:12px;right:12px;bottom:72px}.update-prompt-content{padding:12px}.update-prompt-title{font-size:13px}.update-prompt-message{font-size:11px}}@media(min-width:1024px){.update-prompt{bottom:24px;left:auto;right:24px;max-width:400px}}.beta-announcement-banner{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(135deg,#20a368,#1a8a57);color:#fff;padding:10px 16px;font-size:14px;position:fixed;top:0;left:0;right:0;z-index:99999;box-shadow:0 2px 8px #20a3684d;height:44px;box-sizing:border-box}body.has-beta-banner ion-tabs{margin-top:44px}body.has-beta-banner ion-tab-bar{position:fixed!important;bottom:0!important;left:0!important;right:0!important;z-index:99998!important}body.has-beta-banner ion-router-outlet{margin-bottom:0}.beta-banner-content{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}.beta-banner-icon{font-size:20px;flex-shrink:0;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.beta-banner-text{font-weight:500;text-align:center;line-height:1.4}.beta-banner-close{background:#fff3;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s ease;flex-shrink:0;margin-inline-start:12px}.beta-banner-close:hover{background:#ffffff4d}.beta-banner-close ion-icon{font-size:18px;color:#fff}[dir=rtl] .beta-banner-content{flex-direction:row-reverse}body.dark .beta-announcement-banner{background:linear-gradient(135deg,#1a8a57,#156b45)}@media(max-width:480px){.beta-announcement-banner{padding:8px 12px;font-size:13px}.beta-banner-icon{font-size:18px}.beta-banner-close{width:24px;height:24px}.beta-banner-close ion-icon{font-size:16px}}@media(min-width:1024px){.beta-announcement-banner{padding:12px 24px;font-size:15px}.beta-banner-icon{font-size:22px}}.permission-modal{--width: 90%;--max-width: 380px;--height: auto;--border-radius: 20px}.permission-content{padding:24px 20px;background:var(--ion-background-color, #fff)}@media(min-width:1024px){.permission-modal{--width: min(520px, calc(100vw - 72px) );--max-width: 520px;--height: auto;--max-height: calc(100dvh - 64px) ;--border-radius: 20px}.permission-content{padding:32px}}body.dark .permission-content{background:#1c1c1e}.permission-header{text-align:center;margin-bottom:24px}.permission-icon-main{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,#20a36826,#20a3680d);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 14px}.permission-header h2{font-size:20px;font-weight:700;color:var(--ion-text-color, #050505);margin:0 0 8px}.permission-header p{font-size:14px;color:#65676b;margin:0;line-height:1.5}body.dark .permission-header p{color:#a0a0a5}.permission-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.permission-item{display:flex;align-items:center;gap:12px;padding:14px;background:#f5f5f7;border-radius:12px;transition:all .2s ease}body.dark .permission-item{background:#2c2c2e}.permission-item.granted{background:#20a3681a}.permission-item.denied{background:#ff3b3014}body.dark .permission-item.granted{background:#20a36826}body.dark .permission-item.denied{background:#ff3b301f}.permission-item-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.permission-item-icon ion-icon{font-size:20px;color:#fff}.permission-item-icon.notification{background:linear-gradient(135deg,#ff6b6b,#ee5a5a)}.permission-item-icon.location{background:linear-gradient(135deg,#1877f2,#1565d8)}.permission-item-info{flex:1;min-width:0}.permission-item-info h3{font-size:15px;font-weight:600;color:var(--ion-text-color, #050505);margin:0 0 2px}.permission-item-info p{font-size:12px;color:#65676b;margin:0;line-height:1.4}body.dark .permission-item-info p{color:#a0a0a5}.perm-status-badge{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;padding:3px 8px;border-radius:12px;margin-top:4px}.perm-status-badge.granted{color:#20a368;background:#20a36826}.perm-status-badge.denied{color:#ff3b30;background:#ff3b301f}.perm-status-icon{font-size:14px}.perm-status-icon.granted{color:#20a368}.perm-status-icon.denied{color:#ff3b30}.permission-requesting{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 20px;text-align:center}.permission-spinner{width:48px;height:48px;color:#20a368;margin-bottom:16px}.permission-requesting p{font-size:15px;color:#65676b;margin:0}body.dark .permission-requesting p{color:#a0a0a5}.permission-actions{text-align:center}.permission-continue-btn{--background: linear-gradient(135deg, #20a368 0%, #1c8f5b 100%);--border-radius: 12px;--box-shadow: 0 4px 12px rgba(32, 163, 104, .25);height:48px;font-weight:600;font-size:16px;margin-bottom:10px}.permission-skip-btn{background:none;border:none;color:#8e8e93;font-size:14px;padding:8px 16px;cursor:pointer}.permission-skip-btn:active{opacity:.7}.permission-note{font-size:11px;color:#8e8e93;margin:0;line-height:1.4}.permission-header{animation:fadeIn .3s ease}.permission-item{animation:fadeIn .3s ease;animation-fill-mode:both}.permission-item:nth-child(1){animation-delay:.1s}.permission-item:nth-child(2){animation-delay:.15s}.permission-actions{animation:fadeIn .3s ease .2s;animation-fill-mode:both}.onboarding-page{--onboarding-bg: #ffffff;--onboarding-text: #021a32;--onboarding-secondary: #65676b;--onboarding-primary: #20a368;--onboarding-dot: #dadde1}body.dark .onboarding-page{--onboarding-bg: #18191a;--onboarding-text: #e4e6eb;--onboarding-secondary: #b0b3b8;--onboarding-dot: #3e4042}.onboarding-content{--background: var(--onboarding-bg)}.onboarding-layout{min-height:100%;display:flex;flex-direction:column;position:relative;direction:inherit}.skip-btn{position:absolute;top:calc(env(safe-area-inset-top,20px) + 12px);inset-inline-end:16px;background:#ffffffe6;border:none;font-size:14px;font-weight:600;color:var(--onboarding-text);cursor:pointer;padding:8px 16px;border-radius:20px;z-index:10;transition:all .2s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.skip-btn:hover{background:#fff;transform:scale(1.05)}.onboarding-image-section{flex:1;display:flex;align-items:center;justify-content:center;min-height:50vh;background:linear-gradient(180deg,#021a32,#0a4d6e,#1a6b8a);position:relative;overflow:hidden}.onboarding-image-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 70%,rgba(32,163,104,.15) 0%,transparent 50%),radial-gradient(circle at 70% 30%,rgba(252,211,108,.1) 0%,transparent 50%);animation:rotateGradient 20s linear infinite}@keyframes rotateGradient{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.onboarding-image-wrapper{position:relative;z-index:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:40px}.onboarding-image{width:100%;max-width:300px;height:auto;max-height:280px;object-fit:contain;filter:drop-shadow(0 20px 40px rgba(0,0,0,.3));animation:floatImage 4s ease-in-out infinite}@keyframes floatImage{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-15px) scale(1.02)}}.onboarding-content-section{padding:32px 24px;padding-bottom:calc(32px + env(safe-area-inset-bottom,20px));display:flex;flex-direction:column;gap:24px;background:var(--onboarding-bg)}.onboarding-dots{display:flex;justify-content:center;gap:10px}.onboarding-dot{width:10px;height:10px;border-radius:5px;background:var(--onboarding-dot);border:0;padding:0;cursor:pointer;transition:all .3s ease}.onboarding-dot.active{width:32px;background:var(--onboarding-primary)}.onboarding-text{text-align:center;direction:inherit;animation:fadeInUp .4s ease}.onboarding-welcome{color:var(--onboarding-primary)!important;font-size:14px!important;font-weight:700;margin-bottom:10px!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.onboarding-text h1{font-size:26px;font-weight:700;color:var(--onboarding-text);margin:0 0 12px;line-height:1.3}.onboarding-text p{font-size:16px;color:var(--onboarding-secondary);line-height:1.6;max-width:320px;margin:0 auto}.onboarding-actions{padding-top:8px}.next-btn{--background: linear-gradient(135deg, #20a368 0%, #1c8f5b 100%);--border-radius: 16px;--box-shadow: 0 8px 24px rgba(32, 163, 104, .35);height:56px;font-weight:600;font-size:17px;transition:transform .2s ease,box-shadow .2s ease}.next-btn:hover{transform:translateY(-2px);--box-shadow: 0 12px 32px rgba(32, 163, 104, .4)}.next-btn ion-icon{font-size:20px}@media(min-width:768px){.onboarding-layout{max-width:600px;margin:0 auto}.onboarding-image{max-width:350px;max-height:320px}.onboarding-text h1{font-size:32px}.onboarding-text p{font-size:17px;max-width:400px}.onboarding-content-section{padding:40px;padding-bottom:calc(40px + env(safe-area-inset-bottom,20px))}}@media(max-width:374px){.onboarding-image-section{min-height:45vh}.onboarding-image-wrapper{padding:30px}.onboarding-image{max-width:220px;max-height:200px}.onboarding-text h1{font-size:22px}.onboarding-text p{font-size:14px}.onboarding-content-section{padding:24px 20px;gap:20px}.next-btn{height:52px;font-size:16px}}@media(max-height:600px)and (orientation:landscape){.onboarding-layout{flex-direction:row}.onboarding-image-section{flex:1;min-height:100%}.onboarding-image-wrapper{padding:20px}.onboarding-image{max-width:200px;max-height:180px}.onboarding-content-section{flex:1;padding:20px;justify-content:center}.skip-btn{top:12px}}body.dark .skip-btn{background:#242526e6;color:var(--onboarding-text)}body.dark .skip-btn:hover{background:#242526}body.dark .onboarding-image-section{background:linear-gradient(180deg,#0a1520,#0a3d62,#0d4a6e)}body.dark .next-btn{--box-shadow: 0 8px 24px rgba(32, 163, 104, .25)}body.dark .next-btn:hover{--box-shadow: 0 12px 32px rgba(32, 163, 104, .3)}@media(min-width:1024px){.onboarding-layout{flex-direction:row;max-width:100%;height:100vh}.onboarding-image-section{flex:1;min-height:100%;border-radius:0}.onboarding-image-wrapper{padding:60px}.onboarding-image{max-width:400px;max-height:380px}.onboarding-content-section{flex:1;padding:60px;justify-content:center;max-width:600px}.skip-btn{top:32px;inset-inline-end:32px;padding:10px 20px;font-size:15px}.onboarding-dots{gap:12px}.onboarding-dot{width:12px;height:12px;border-radius:6px}.onboarding-dot.active{width:40px}.onboarding-text h1{font-size:36px;margin-bottom:16px}.onboarding-text p{font-size:18px;max-width:420px;line-height:1.7}.next-btn{height:60px;font-size:18px;--border-radius: 18px;max-width:400px;margin:0 auto}.next-btn ion-icon{font-size:22px}}@media(min-width:1440px){.onboarding-image-wrapper{padding:80px}.onboarding-image{max-width:480px;max-height:440px}.onboarding-content-section{padding:80px;max-width:700px}.onboarding-text h1{font-size:42px}.onboarding-text p{font-size:20px;max-width:480px}.next-btn{height:64px;font-size:19px;max-width:450px}}.recommendations-section{margin:16px 0;padding:0 16px;background:transparent}.recommendations-section{--rec-bg: #ffffff;--rec-text: #050505;--rec-secondary: #65676b;--rec-border: #e4e6eb}body.dark .recommendations-section{--rec-bg: #242526;--rec-text: #e4e6eb;--rec-secondary: #b0b3b8;--rec-border: #3e4042}.recommendations-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.recommendations-header h3{display:flex;align-items:center;gap:8px;font-size:18px;font-weight:600;color:var(--rec-text, #050505);margin:0}body.dark .recommendations-header h3{color:var(--rec-text, #e4e6eb)!important}.recommendations-header h3 ion-icon{font-size:20px;color:var(--ion-color-primary)}.recommendations-header .view-all-btn{display:flex;align-items:center;gap:4px;background:none;border:none;color:var(--ion-color-primary);font-size:14px;font-weight:500;cursor:pointer;padding:4px 8px;border-radius:8px;transition:background-color .2s}.recommendations-header .view-all-btn:hover{background-color:var(--ion-color-primary-tint)}.recommendations-header .view-all-btn ion-icon{font-size:16px}.recommendations-scroll{display:flex;gap:12px;overflow-x:auto;padding:8px 0 16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.recommendations-scroll::-webkit-scrollbar{display:none}.recommendation-card{flex:0 0 auto;width:200px;background:var(--rec-bg, #ffffff);border-radius:16px;padding:12px;box-shadow:0 2px 8px #00000014;cursor:pointer;transition:transform .2s,box-shadow .2s;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;border:1px solid var(--rec-border, #e4e6eb)}.recommendation-card:active{transform:scale(.98)}@media(hover:hover){.recommendation-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001f}}body.dark .recommendation-card{background:var(--rec-bg, #242526)!important;box-shadow:0 2px 8px #0000004d;border-color:var(--rec-border, #3e4042)!important}body.dark .recommendation-card:hover{box-shadow:0 4px 12px #0006}.recommendation-card.skeleton{display:flex;flex-direction:row;gap:12px;align-items:flex-start}.recommendation-avatar{position:relative;width:56px;height:56px;flex-shrink:0;margin:0 auto 4px}.recommendation-avatar img{width:100%;height:100%;border-radius:12px;object-fit:cover}.recommendation-avatar .avatar-initial{width:100%;height:100%;border-radius:12px;background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-primary-shade));color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:600}.recommendation-avatar .top-rated-badge{position:absolute;top:-4px;right:-4px;font-size:14px;background:#fff;border-radius:50%;padding:2px;box-shadow:0 1px 3px #0003}[dir=rtl] .recommendation-avatar .top-rated-badge{right:auto;left:-4px}.recommendation-info{text-align:center;flex:1;min-width:0}.recommendation-info .teacher-name{font-size:14px;font-weight:600;color:var(--rec-text, #050505);margin:0 0 4px;width:100%;display:block;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dark .recommendation-info .teacher-name{color:var(--rec-text, #e4e6eb)!important}.recommendation-info .teacher-rating{display:flex;align-items:center;justify-content:center;gap:4px;font-size:13px;color:var(--rec-secondary, #65676b);margin-bottom:4px}body.dark .recommendation-info .teacher-rating{color:var(--rec-secondary, #b0b3b8)!important}.recommendation-info .teacher-rating ion-icon{color:#ffc107;font-size:14px}.recommendation-info .teacher-rating .rating-count{font-size:12px;color:#8e8e93}body.dark .recommendation-info .teacher-rating .rating-count{color:#b0b3b8}.recommendation-info .teacher-price{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;font-weight:600;color:var(--ion-color-primary);margin-bottom:8px}.recommendation-info .teacher-price .online-icon{font-size:14px;color:var(--ion-color-success)}.recommendation-reasons{display:flex;flex-wrap:wrap;gap:4px;justify-content:center}.recommendation-reasons .reason-tag{font-size:10px;padding:2px 6px;background:#f0f2f5;color:var(--rec-secondary, #65676b);border-radius:4px;white-space:nowrap}body.dark .recommendation-reasons .reason-tag{background:#3e4042!important;color:var(--rec-text, #e4e6eb)!important}@media(max-width:480px){.recommendations-section{padding:0 12px}.recommendation-card{width:160px;padding:10px}.recommendation-avatar{width:48px;height:48px}.recommendation-avatar .avatar-initial{font-size:20px}.recommendation-info .teacher-name{font-size:13px}.recommendation-info .teacher-rating{font-size:12px}.recommendation-info .teacher-price{font-size:13px}}@media(min-width:768px){.recommendations-scroll{flex-wrap:wrap;overflow-x:visible;justify-content:flex-start}.recommendation-card{width:calc(33.333% - 8px);max-width:220px}}@media(min-width:1024px){.recommendation-card{width:calc(25% - 9px);max-width:240px}}.featured-carousel{margin:20px 0;padding:0 16px}.featured-carousel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.featured-carousel-header h3{display:flex;align-items:center;gap:8px;font-size:20px;font-weight:700;color:#050505;margin:0}body.dark .featured-carousel-header h3{color:#e4e6eb!important}.featured-carousel-header h3 ion-icon{font-size:22px;color:var(--ion-color-warning)}.featured-category-tabs{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;padding:4px 0;scrollbar-width:none;-ms-overflow-style:none}.featured-category-tabs::-webkit-scrollbar{display:none}.category-tab{display:flex;align-items:center;gap:6px;padding:8px 16px;border:none;border-radius:20px;background:var(--ion-color-light);color:var(--ion-color-medium);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.category-tab ion-icon{font-size:16px}.category-tab:hover{background:var(--ion-color-light-shade)}.category-tab.active{background:var(--tab-color, var(--ion-color-primary));color:#fff}.category-tab.active ion-icon{color:#fff}.featured-carousel-container{position:relative}.carousel-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:10;width:40px;height:40px;border:none;border-radius:50%;background:#fffffff2;box-shadow:0 2px 8px #00000026;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;opacity:0}.featured-carousel-container:hover .carousel-arrow{opacity:1}.carousel-arrow:hover{background:#fff;box-shadow:0 4px 12px #0003;transform:translateY(-50%) scale(1.05)}.carousel-arrow.prev{left:-8px}.carousel-arrow.next{right:-8px}.carousel-arrow ion-icon{font-size:20px;color:var(--ion-color-dark)}.featured-carousel-scroll{display:flex;gap:16px;overflow-x:auto;padding:10px 4px 18px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.featured-carousel-scroll::-webkit-scrollbar{display:none}.featured-teacher-card{flex:0 0 auto;width:280px;background:#fff;border-radius:20px;padding:16px;box-shadow:0 4px 16px #00000014;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease;scroll-snap-align:start;position:relative;overflow:hidden;border:1px solid #e4e6eb}.featured-teacher-card:active{transform:scale(.98)}@media(hover:hover){.featured-teacher-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}}.featured-teacher-card.skeleton{min-height:200px}body.dark .featured-teacher-card{background:#242526!important;box-shadow:0 4px 16px #0000004d;border-color:#3e4042}body.dark .featured-teacher-card:hover{box-shadow:0 8px 24px #0006}.featured-teacher-card .premium-badge{position:absolute;top:12px;right:12px;display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:4px 8px;border-radius:12px;z-index:2}[dir=rtl] .featured-teacher-card .premium-badge{right:auto;left:12px}.featured-teacher-card .premium-badge ion-icon{font-size:12px}.category-badge{position:absolute;top:12px;left:12px;width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;z-index:2}[dir=rtl] .category-badge{left:auto;right:12px}.category-badge ion-icon{font-size:18px;color:#fff}.featured-teacher-photo{width:80px;height:80px;margin:24px auto 12px;border-radius:50%;overflow:hidden;border:3px solid var(--ion-color-light);box-shadow:0 4px 12px #0000001a}.featured-teacher-photo img{width:100%;height:100%;object-fit:cover}.featured-teacher-photo .avatar-initial{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-primary-shade));color:#fff;font-size:32px;font-weight:600}.featured-teacher-info{text-align:center}.featured-teacher-info .teacher-name{font-size:16px;font-weight:600;color:#050505;margin:0 0 4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dark .featured-teacher-info .teacher-name{color:#e4e6eb!important}.featured-teacher-info .teacher-subjects{font-size:13px;color:#65676b;margin:0 0 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body.dark .featured-teacher-info .teacher-subjects{color:#b0b3b8!important}.featured-teacher-info .teacher-meta{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}.featured-teacher-info .teacher-rating{display:flex;align-items:center;gap:4px;font-size:14px;font-weight:600;color:#050505}body.dark .featured-teacher-info .teacher-rating{color:#e4e6eb!important}.featured-teacher-info .teacher-rating ion-icon{color:#ffc107;font-size:16px}.featured-teacher-info .teacher-price{font-size:14px;font-weight:600;color:var(--ion-color-primary)}.featured-teacher-info .online-icon{font-size:16px;color:var(--ion-color-success)}.featured-carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:12px}.carousel-dot{width:8px;height:8px;border:none;border-radius:50%;background:var(--ion-color-light-shade);cursor:pointer;padding:0;transition:all .3s ease}.carousel-dot:hover{background:var(--ion-color-medium)}.carousel-dot.active{width:24px;border-radius:4px;background:var(--ion-color-primary)}body.dark .carousel-dot{background:#3e4042}body.dark .carousel-dot:hover{background:#5e5f60}body.dark .carousel-arrow{background:#242526f2}body.dark .carousel-arrow:hover{background:#3a3b3c}body.dark .carousel-arrow ion-icon{color:#e4e6eb}body.dark .category-tab{background:#3a3b3c;color:#e4e6eb}body.dark .category-tab:hover{background:#4e4f50}body.dark .category-tab.active{color:#fff}body.dark .featured-teacher-photo{border-color:#3e4042}@media(max-width:480px){.featured-carousel{padding:0 12px}.featured-carousel-header h3{font-size:18px}.featured-teacher-card{width:240px;padding:12px}.featured-teacher-photo{width:64px;height:64px}.featured-teacher-photo .avatar-initial{font-size:26px}.featured-teacher-info .teacher-name{font-size:15px}.carousel-arrow{width:36px;height:36px}.carousel-arrow ion-icon{font-size:18px}.category-tab{padding:6px 12px;font-size:13px}}@media(min-width:768px){.featured-carousel-scroll{flex-wrap:wrap;overflow-x:visible;justify-content:flex-start}.featured-teacher-card{width:calc(33.333% - 11px);max-width:300px}.carousel-arrow,.featured-carousel-dots{display:none}}@media(min-width:1024px){.featured-teacher-card{width:calc(25% - 12px);max-width:320px}}@keyframes slideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.featured-teacher-card{animation:slideIn .3s ease-out}:root{--sk-bg: #f2f2f7;--sk-card: #ffffff;--sk-border: rgba(0, 0, 0, .06);--sk-shimmer-base: #e8e8ed;--sk-shimmer-highlight: rgba(255, 255, 255, .85);--sk-radius-sm: 8px;--sk-radius-md: 12px;--sk-radius-lg: 16px;--sk-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 4px 12px rgba(0, 0, 0, .04);--sk-gap: 12px}body.dark{--sk-bg: #000000;--sk-card: #1c1c1e;--sk-border: rgba(255, 255, 255, .08);--sk-shimmer-base: #2a2a2c;--sk-shimmer-highlight: rgba(255, 255, 255, .07);--sk-shadow: 0 1px 2px rgba(0, 0, 0, .45)}.sk-shimmer{position:relative;overflow:hidden;background-color:var(--sk-shimmer-base);isolation:isolate}.sk-shimmer:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--sk-shimmer-highlight) 50%,transparent 100%);transform:translate(-100%);animation:sk-shimmer 1.4s cubic-bezier(.4,0,.2,1) infinite}[dir=rtl] .sk-shimmer:after{animation-name:sk-shimmer-rtl}@keyframes sk-shimmer{to{transform:translate(100%)}}@keyframes sk-shimmer-rtl{0%{transform:translate(100%)}to{transform:translate(-100%)}}@media(prefers-reduced-motion:reduce){.sk-shimmer:after{animation:none;background:var(--sk-shimmer-highlight);opacity:.4;transform:none}}.sk-page{background:var(--sk-bg);min-height:100%}.sk-page-header{display:flex;align-items:center;gap:12px;padding:14px 16px}.sk-page-body{padding:12px 16px 32px;display:flex;flex-direction:column;gap:16px}.sk-section{background:var(--sk-card);border-radius:var(--sk-radius-md);padding:16px;box-shadow:var(--sk-shadow);border:1px solid var(--sk-border)}.sk-stats-row{display:grid;gap:10px}.sk-stat-card{background:var(--sk-card);border:1px solid var(--sk-border);border-radius:var(--sk-radius-md);padding:14px;display:flex;flex-direction:column;align-items:center;text-align:center;box-shadow:var(--sk-shadow);min-height:92px}.sk-stat-icon{margin-bottom:4px}.sk-dashboard{display:flex;flex-direction:column;gap:20px;padding:16px}.sk-dashboard-header{padding:4px 0}.sk-dashboard-section{background:var(--sk-card);border:1px solid var(--sk-border);border-radius:var(--sk-radius-lg);padding:16px;box-shadow:var(--sk-shadow);display:flex;flex-direction:column;gap:14px}.sk-dashboard-section-header{display:flex;align-items:center;justify-content:space-between}.sk-list{background:var(--sk-card);border-radius:var(--sk-radius-md);border:1px solid var(--sk-border);overflow:hidden;box-shadow:var(--sk-shadow)}.sk-list--bare{background:transparent;border:0;box-shadow:none;padding:0}.sk-list-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--sk-border)}.sk-list-item:last-child{border-bottom:0}.sk-list--bare .sk-list-item{padding:12px 0;border-bottom-color:var(--sk-border)}.sk-list-content{flex:1;min-width:0}.sk-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}@media(max-width:480px){.sk-card-grid{grid-template-columns:1fr}}.sk-card{background:var(--sk-card);border:1px solid var(--sk-border);border-radius:var(--sk-radius-lg);overflow:hidden;box-shadow:var(--sk-shadow);display:flex;flex-direction:column}.sk-card-cover{border-radius:0!important}.sk-card-body{padding:14px;display:flex;flex-direction:column;gap:6px}.sk-card-row{display:flex;gap:12px;align-items:center}.sk-profile{display:flex;flex-direction:column;gap:16px;padding:16px}.sk-profile-hero{background:var(--sk-card);border:1px solid var(--sk-border);border-radius:var(--sk-radius-lg);padding:20px;display:flex;align-items:center;gap:16px;box-shadow:var(--sk-shadow)}.sk-profile-hero-info{flex:1;min-width:0}.sk-profile-bio{background:var(--sk-card);border:1px solid var(--sk-border);border-radius:var(--sk-radius-md);padding:16px;box-shadow:var(--sk-shadow)}.sk-detail{display:flex;flex-direction:column;gap:16px;padding:16px}.sk-detail-cover{border-radius:var(--sk-radius-lg)!important}.sk-detail-header{background:var(--sk-card);border:1px solid var(--sk-border);border-radius:var(--sk-radius-md);padding:16px;box-shadow:var(--sk-shadow)}.sk-detail-meta{display:flex;gap:8px;flex-wrap:wrap}.sk-detail-body{background:var(--sk-card);border:1px solid var(--sk-border);border-radius:var(--sk-radius-md);padding:16px;box-shadow:var(--sk-shadow)}.sk-chat{display:flex;flex-direction:column;gap:12px;padding:16px}.sk-chat-row{display:flex;align-items:flex-end;gap:8px}.sk-chat-row.sent{justify-content:flex-end}.sk-chat-row.received{justify-content:flex-start}.sk-chat-bubble{max-width:78%}.sk-form{display:flex;flex-direction:column;gap:16px;padding:16px;background:var(--sk-card);border-radius:var(--sk-radius-md);box-shadow:var(--sk-shadow);border:1px solid var(--sk-border)}.sk-form-row{display:flex;flex-direction:column}.skeleton-card,.skeleton-list-item,.skeleton-profile,.skeleton-course-detail,.skeleton-chat,.skeleton-dashboard{background:var(--sk-card)}.home-page{--bg: #f6f7f9;--card: #ffffff;--text: #0e1726;--secondary: #6b7280;--border: #e8eaed;--hover: #f2f3f5;--primary: #20a368;--primary-dark: #1c8f5b;--gold: #c59d5f;--navy: #021a32;--navy-2: #0a3d62;--green-gradient: linear-gradient(135deg, #20a368 0%, #1c8f5b 100%);--navy-gradient: linear-gradient(135deg, #021a32 0%, #0a3d62 100%)}body.dark .home-page{--bg: #000000;--card: #14161a;--text: #f2f3f5;--secondary: #9aa0a6;--border: #2a2d31;--hover: #1e2126}.home-page-content{--background: var(--bg)}.home-header{position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top,0px);background:#f6f7f9b8;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-bottom:1px solid var(--border)}body.dark .home-header{background:#0009}.home-header-inner{display:flex;align-items:center;gap:10px;max-width:1200px;margin:0 auto;padding:10px 16px}.home-header-logo{width:34px;height:34px;object-fit:contain;flex-shrink:0;cursor:pointer}.home-search-pill{flex:1;min-width:0;display:flex;align-items:center;gap:8px;height:42px;padding:0 14px;background:var(--card);border:1px solid var(--border);border-radius:21px;cursor:text;transition:border-color .18s ease,box-shadow .18s ease}.home-search-pill:focus-within{box-shadow:none}.home-search-icon{font-size:19px;color:var(--secondary);flex-shrink:0}.home-search-pill input{flex:1;min-width:0;border:none;background:transparent;outline:none;font-size:15px;color:var(--text);caret-color:var(--primary)}.home-search-pill input::placeholder{color:var(--secondary);opacity:.8}.home-header-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.home-icon-btn{position:relative;width:42px;height:42px;border-radius:50%;border:none;background:transparent;color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .18s ease,transform .12s ease}.home-icon-btn:hover{background:var(--hover)}.home-icon-btn:active{transform:scale(.92)}.home-icon-btn ion-icon{font-size:24px}.home-profile-btn{overflow:hidden}.home-profile-btn img{width:34px;height:34px;border-radius:50%;object-fit:cover}.home-profile-btn ion-icon{font-size:30px;color:var(--secondary)}.home-badge{position:absolute;top:4px;inset-inline-end:4px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ff3b30;color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center;border:2px solid var(--bg)}.home-layout{--layout-pad: 16px;max-width:1200px;margin:0 auto;padding:4px var(--layout-pad) 24px}.home-welcome{padding:16px 2px 4px}.home-welcome h1{font-size:26px;font-weight:800;letter-spacing:-.5px;color:var(--text);margin:0;line-height:1.2}.home-welcome p{font-size:14px;color:var(--secondary);margin:6px 0 0}.feature-hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--navy-gradient);border-radius:22px;padding:24px;margin:16px 0 8px;cursor:pointer;box-shadow:0 12px 30px #021a322e;transition:transform .2s ease,box-shadow .2s ease}.feature-hero:hover{transform:none}@media(hover:hover){.feature-hero:hover{transform:translateY(-2px);box-shadow:0 18px 40px #021a323d}}.feature-hero:after{content:"";position:absolute;inset-block:0;inset-inline-end:0;width:45%;background:radial-gradient(circle at 80% 30%,rgba(32,163,104,.28) 0%,transparent 65%);pointer-events:none}.feature-hero-body{position:relative;z-index:1;max-width:420px}.feature-hero-label{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--gold);background:#c59d5f29;padding:5px 11px;border-radius:20px;margin-bottom:12px}.feature-hero-label ion-icon{font-size:14px}.feature-hero-body h2{font-size:22px;font-weight:800;color:#fff;margin:0 0 6px;line-height:1.25}.feature-hero-body p{font-size:14px;color:#ffffffbf;margin:0 0 16px;line-height:1.5}.feature-hero-cta{display:inline-flex;align-items:center;gap:8px;background:var(--green-gradient);color:#fff;font-size:14px;font-weight:700;padding:11px 20px;border-radius:12px;box-shadow:0 6px 18px #20a36859}.feature-hero-cta ion-icon{font-size:17px}.feature-hero-stats{position:relative;z-index:1;display:flex;flex-direction:column;gap:16px;text-align:center;flex-shrink:0}.feature-hero-stats>div{display:flex;flex-direction:column}.feature-hero-stats span{font-size:24px;font-weight:800;color:#fff;letter-spacing:-.5px}.feature-hero-stats small{font-size:11px;color:#ffffffa6;font-weight:600;margin-top:2px}.shelf-header{display:flex;justify-content:space-between;align-items:center;margin:26px 0 14px}.shelf-header h2{font-size:19px;font-weight:800;letter-spacing:-.3px;color:var(--text);margin:0}.shelf-viewall{display:inline-flex;align-items:center;gap:3px;font-size:14px;font-weight:600;color:var(--primary);background:none;border:none;cursor:pointer;padding:8px 0;min-height:40px}.shelf-viewall:hover{opacity:.8}.shelf-viewall ion-icon{font-size:16px}.categories-row{display:flex;gap:10px;overflow-x:auto;overflow-y:hidden;margin-inline:calc(-1 * var(--layout-pad));padding:10px var(--layout-pad) 14px;scroll-padding-inline:var(--layout-pad);scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;overscroll-behavior-x:contain}.categories-row::-webkit-scrollbar{display:none}.category-tile{flex:0 0 auto;min-width:84px;display:flex;flex-direction:column;align-items:center;gap:9px;padding:14px 12px;background:var(--card);border:1px solid var(--border);border-radius:16px;cursor:pointer;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.category-tile:active{transform:scale(.97)}@media(hover:hover){.category-tile:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:0 8px 22px #021a3214}}.category-tile-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--hover)}.category-tile-icon ion-icon{font-size:24px}.category-tile-name{font-size:12.5px;font-weight:600;color:var(--text);white-space:nowrap}.tutor-shelf{display:flex;gap:12px;overflow-x:auto;overflow-y:hidden;margin-inline:calc(-1 * var(--layout-pad));padding:12px var(--layout-pad) 18px;scroll-padding-inline:var(--layout-pad);scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;scroll-snap-type:x proximity;overscroll-behavior-x:contain}.tutor-shelf::-webkit-scrollbar{display:none}.tutor-card{flex:0 0 158px;width:158px;background:var(--card);border:1px solid var(--border);border-radius:18px;padding:18px 14px 16px;cursor:pointer;scroll-snap-align:start;display:flex;flex-direction:column;align-items:center;text-align:center;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;-webkit-tap-highlight-color:transparent}.tutor-card:active{transform:scale(.98)}@media(hover:hover){.tutor-card:hover{transform:translateY(-3px);border-color:var(--primary);box-shadow:0 10px 26px #021a321a}}.tutor-avatar{position:relative;width:64px;height:64px;border-radius:50%;overflow:hidden;background:var(--green-gradient);display:flex;align-items:center;justify-content:center;margin:0 0 12px}.tutor-avatar img{width:100%;height:100%;object-fit:cover}.tutor-avatar .initial{font-size:24px;font-weight:700;color:#fff}.tutor-online-dot{position:absolute;bottom:0;inset-inline-end:0;width:20px;height:20px;border-radius:50%;background:var(--card);border:2px solid var(--card);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0003}.tutor-online-dot ion-icon{font-size:11px;color:var(--primary)}.tutor-name{font-size:15px;font-weight:700;color:var(--text);margin:0 0 3px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-subjects{font-size:12.5px;color:var(--secondary);margin:0 0 12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tutor-footer{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}.tutor-rating{display:inline-flex;align-items:center;gap:3px;font-size:12.5px;font-weight:700;color:var(--text)}.tutor-rating ion-icon{font-size:13px;color:var(--gold)}.tutor-price{font-size:12.5px;font-weight:700;color:var(--primary);background:#20a3681a;padding:4px 10px;border-radius:8px;white-space:nowrap}.home-empty{text-align:center;padding:44px 24px}.home-empty-icon{width:60px;height:60px;border-radius:16px;background:var(--hover);display:flex;align-items:center;justify-content:center;margin:0 auto 14px}.home-empty-icon ion-icon{font-size:26px;color:var(--secondary)}.home-empty p{font-size:15px;color:var(--secondary);margin:0}.refresh-indicator{position:absolute;top:calc(env(safe-area-inset-top,0px) + 64px);left:50%;z-index:30;width:40px;height:40px;border-radius:50%;background:var(--card);box-shadow:0 4px 16px #00000026;display:flex;align-items:center;justify-content:center;transition:opacity .2s ease;pointer-events:none}.refresh-indicator ion-spinner{width:22px;height:22px;color:var(--primary)}.refresh-indicator.refreshing{animation:spin-fade .4s ease}@keyframes spin-fade{0%{opacity:.5}to{opacity:1}}.feature-hero,.category-tile,.tutor-card{animation:fadeIn .3s ease both}@media(prefers-reduced-motion:reduce){.feature-hero,.category-tile,.tutor-card{animation:none}}@media(min-width:768px){.home-header-inner{padding:12px 24px}.home-header-logo{width:38px;height:38px}.home-search-pill{height:46px}.home-layout{--layout-pad: 24px;padding:4px var(--layout-pad) 32px}.home-welcome h1{font-size:30px}.feature-hero{padding:32px}.feature-hero-body h2{font-size:26px}.feature-hero-stats{flex-direction:row;gap:28px}.feature-hero-stats span{font-size:26px}.tutor-card{flex:0 0 180px;width:180px}.tutor-avatar{width:68px;height:68px}.category-tile{min-width:92px}}@media(min-width:1024px){.home-welcome h1{font-size:34px}.feature-hero{padding:40px;border-radius:26px}.feature-hero-body{max-width:55%}.feature-hero-body h2{font-size:30px}.feature-hero-body p{font-size:16px}.feature-hero-stats{gap:40px}.feature-hero-stats span{font-size:30px}.shelf-header h2{font-size:22px}.tutor-card{flex:0 0 200px;width:200px;padding:16px}.tutor-avatar{width:64px;height:64px}.tutor-name{font-size:15.5px}.category-tile{min-width:100px;padding:16px}.category-tile-icon{width:52px;height:52px}.category-tile-icon ion-icon{font-size:27px}}@media(min-width:1440px){.home-header-inner,.home-layout{max-width:1360px}.tutor-card{flex:0 0 220px;width:220px}}@media(max-width:374px){.home-welcome h1{font-size:22px}.feature-hero{padding:20px}.feature-hero-stats{display:none}.tutor-card{flex:0 0 150px;width:150px}}.login-page{--login-bg: #ffffff;--login-text: #1c1e21;--login-secondary: #65676b;--login-border: #dddfe2;--login-primary: #1877f2;--login-green: #42b72a;--login-accent: #20a368;--login-danger: #ff3b30;--login-placeholder: #8e8e93;--login-field-height: 48px;--login-btn-height: 50px;--login-form-max-width: 340px;--login-logo-size: 84px;--login-content-pad-top: 60px;--login-content-pad-bottom: 56px;--login-form-gap: 14px;--login-radius: 12px}body.dark .login-page{--login-bg: #18191a;--login-text: #e4e6eb;--login-secondary: #b0b3b8;--login-border: #3e4042;--login-placeholder: #b0b3b8}.login-content{--background: var(--login-bg)}.login-header{position:absolute;top:calc(env(safe-area-inset-top,20px) + 12px);inset-inline-start:16px;z-index:10}.login-back-btn{--padding-start: 8px;--padding-end: 8px;margin:0}.login-back-btn ion-icon{font-size:clamp(22px,3vw,28px);color:var(--login-text)}.login-layout{min-height:100%;display:flex;flex-direction:column;align-items:center;padding:0 24px;padding-top:calc(env(safe-area-inset-top,20px) + var(--login-content-pad-top));padding-bottom:calc(env(safe-area-inset-bottom,20px) + var(--login-content-pad-bottom))}.login-logo-section{display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(20px,5vh,48px)}.login-logo{width:var(--login-logo-size);height:var(--login-logo-size);display:flex;align-items:center;justify-content:center;transition:width .2s ease,height .2s ease}.login-logo img{width:100%;height:100%;object-fit:contain}.login-brand{margin-top:12px;text-align:center}.brand-name{font-size:clamp(20px,2.4vw,28px);font-weight:700;color:var(--login-text)}.login-form{width:100%;max-width:var(--login-form-max-width);display:flex;flex-direction:column;gap:var(--login-form-gap)}.login-page .form-group{display:flex;flex-direction:column;gap:4px}.login-page .input-wrapper{background:var(--ui-surface-muted, #f5f5f7);border:1px solid var(--ui-border, #d9d9df);border-radius:var(--login-radius);overflow:hidden;min-height:var(--login-field-height);transition:border-color .15s ease,box-shadow .15s ease}body.dark .login-page .input-wrapper{background:var(--ui-surface-muted, #29292d);border-color:var(--ui-border, #3a3a40)}.login-page .input-wrapper:focus-within{border-color:var(--login-border);box-shadow:none}.login-page .input-wrapper.has-error{border-color:var(--login-danger)}.login-page .input-wrapper.has-error:focus-within{box-shadow:none}.login-page .password-wrapper{position:relative;display:flex;align-items:center}.login-page .password-wrapper .form-input{flex:1;min-width:0}.login-page .password-toggle{background:transparent;border:none;padding:0 12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--login-placeholder);flex:0 0 auto}.login-page .password-toggle ion-icon{font-size:20px}.login-page .form-input{--background: transparent;--padding-start: 16px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--placeholder-color: var(--login-placeholder);--placeholder-opacity: 1;--color: var(--login-text);--border-width: 0;--border-color: transparent;--border-style: none;--border-radius: 0;--highlight-height: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-height:var(--login-field-height);font-size:16px;caret-color:var(--login-accent)}.login-page .form-input::part(native){min-height:var(--login-field-height);text-align:center!important;padding-block:0;padding-inline:18px!important;background:transparent;border:0;border-radius:0;box-shadow:none}.login-page .form-input::part(placeholder){text-align:center;opacity:1}.login-page .form-input::part(native)::-webkit-contacts-auto-fill-button,.login-page .form-input::part(native)::-webkit-credentials-auto-fill-button,.login-page .form-input::part(native)::-ms-clear,.login-page .form-input::part(native)::-ms-reveal{display:none!important;visibility:hidden!important;pointer-events:none!important;width:0!important;margin:0!important}.login-page .form-error{font-size:12px;color:var(--login-danger);padding-inline-start:4px;margin:0}.login-page .general-error{text-align:center;font-size:14px;color:var(--login-danger);padding:12px;background:#ff3b301a;border-radius:8px;margin:4px 0}body.dark .login-page .general-error{background:#ff3b3026}.login-page .login-btn,.login-page .create-account-btn,.login-page .google-signin-btn{--padding-start: 0;--padding-end: 0;--border-radius: 8px;display:block;width:100%;max-width:100%;min-height:var(--login-btn-height);height:var(--login-btn-height);font-weight:600;font-size:16px;margin-inline:0}.login-btn{--background: var(--login-accent);--box-shadow: none;margin-top:4px}.create-account-btn{--border-color: var(--login-accent);--border-width: 1px;--color: var(--login-accent);--background: transparent;--background-hover: rgba(32, 163, 104, .1);margin-top:8px}body.dark .login-btn{--background: var(--login-primary)}body.dark .create-account-btn{--border-color: var(--login-green);--color: var(--login-green)}.forgot-password-link{text-align:center;padding:14px 0}.forgot-password-link span{font-size:15px;font-weight:500;color:var(--login-text);cursor:pointer;transition:opacity .2s}.forgot-password-link span:hover{opacity:.7}.login-divider{display:flex;align-items:center;text-align:center;margin:16px 0}.login-divider:before,.login-divider:after{content:"";flex:1;border-bottom:1px solid var(--login-border)}.login-divider span{padding:0 12px;font-size:13px;color:var(--login-secondary);white-space:nowrap}.login-page .google-signin-btn{--background: #ffffff;--color: #3c4043;--box-shadow: 0 1px 3px rgba(0, 0, 0, .08);font-weight:500;font-size:15px;border:1px solid #dadce0}.login-page .google-signin-btn ion-icon{font-size:20px;margin-inline-end:8px}.login-page .google-signin-btn:hover{--background: #f8f9fa}body.dark .login-page .google-signin-btn{--background: #3a3b3c;--color: #e4e6eb;border-color:#4e4f50}body.dark .login-page .google-signin-btn:hover{--background: #4e4f50}.forgot-modal{--border-radius: 20px 20px 0 0}.forgot-modal-content{padding:24px 20px;padding-bottom:calc(env(safe-area-inset-bottom,20px) + 20px)}.forgot-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.forgot-modal-header h2{font-size:20px;font-weight:700;color:var(--login-text);margin:0}.forgot-modal-header ion-icon{font-size:26px;color:var(--login-secondary);cursor:pointer}.forgot-modal-content>p{font-size:14px;color:var(--login-secondary);line-height:1.5;margin:0 0 20px}.forgot-submit-btn{--background: var(--login-primary);--border-radius: 24px;height:50px;font-weight:600;font-size:16px;margin-top:16px}.forgot-cancel-btn{margin:4px 0 0;min-height:44px;--color: var(--login-secondary);font-weight:600}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.login-logo-section{animation:fadeIn .3s ease}.login-form{animation:fadeIn .3s ease .05s;animation-fill-mode:both}@media(prefers-reduced-motion:reduce){.login-logo-section,.login-form{animation:none}}body.keyboard-open .login-layout{padding-bottom:300px}.login-page .form-input:focus-within{scroll-margin-bottom:150px}body.keyboard-open .login-content{--overflow: auto}@media(max-height:740px){.login-page{--login-content-pad-top: 40px;--login-content-pad-bottom: 20px;--login-logo-size: 60px;--login-form-gap: 10px}.forgot-password-link{padding:8px 0}}@media(max-width:374px){.login-page{--login-content-pad-top: 40px;--login-logo-size: 50px}.login-layout{padding:0 20px;padding-top:calc(env(safe-area-inset-top,20px) + var(--login-content-pad-top))}.login-logo-section{margin-bottom:28px}}@media(min-width:768px){.login-page{--login-content-pad-top: 100px;--login-form-max-width: 400px}}@media(min-width:1024px){.login-page{--login-content-pad-top: 64px;--login-field-height: 52px;--login-btn-height: 52px;--login-form-max-width: 400px;--login-form-gap: 12px;--login-radius: 12px}.login-layout{justify-content:flex-start}.forgot-password-link{padding:14px 0}.login-page .form-error{font-size:13px}.login-page .general-error{font-size:15px;padding:14px;border-radius:12px}.forgot-modal{--width: min(560px, calc(100vw - 48px) );--max-width: 560px;--height: auto;--max-height: calc(100dvh - 48px) ;--border-radius: 20px}.forgot-modal-content{padding:32px 28px}.forgot-modal-header h2{font-size:24px}.forgot-modal-content>p{font-size:15px}.forgot-submit-btn{height:54px;font-size:17px;--border-radius: 28px}}@media(min-width:1440px){.login-page{--login-content-pad-top: 72px;--login-form-max-width: 420px}}.institute-form-card{background:var(--register-card, #ffffff);border:1px solid var(--register-border, #dadde1);border-radius:16px;padding:20px;margin-bottom:16px;box-sizing:border-box}.institute-form{display:flex;flex-direction:column;gap:14px}.institute-form .section-header{margin-top:8px;margin-bottom:-4px}.institute-form .section-header:first-child{margin-top:0}.institute-form .section-title{font-size:13px;font-weight:600;color:#20a368}.institute-form .form-group{display:flex;flex-direction:column;gap:6px}.institute-form .form-group label{font-size:14px;font-weight:500;color:var(--register-text, #050505);padding-inline-start:4px}.institute-form .form-group label .optional-label{font-weight:400;color:var(--register-secondary, #65676b);font-size:12px}.institute-form .input-wrapper{background:var(--app-surface-muted, #f5f5f5);border:1px solid var(--app-border, #e0e0e0);border-radius:12px;overflow:hidden;transition:border-color .2s ease,box-shadow .2s ease}.institute-form .input-wrapper:focus-within{box-shadow:none}.institute-form .input-wrapper.has-error{border-color:#ff3b30}.institute-form .password-wrapper{display:flex;align-items:center}.institute-form .password-wrapper .form-input{flex:1}.institute-form .password-toggle{background:transparent;border:none;padding:0 12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#8e8e93}.institute-form .password-toggle ion-icon{font-size:20px}.institute-form .textarea-wrapper{min-height:80px}body.dark .institute-form .input-wrapper{background:var(--app-surface-muted, #3a3b3c);border-color:var(--app-border, #4e4f50)}.institute-form .form-input{--background: transparent !important;--padding-start: 16px;--padding-end: 16px;--padding-top: 0;--padding-bottom: 0;--placeholder-color: #8e8e93;--placeholder-opacity: 1;--color: var(--register-text, #050505);--border-width: 0 !important;--border-color: transparent !important;--border-style: none !important;--highlight-color-focused: transparent !important;--highlight-color-valid: transparent !important;--highlight-color-invalid: transparent !important;--border-radius: 0 !important;font-size:16px;min-height:50px;width:100%;box-sizing:border-box}.institute-form .form-input,.institute-form .form-input.ion-touched,.institute-form .form-input.ion-valid,.institute-form .form-input.ion-invalid{--border-width: 0 !important;--border-color: transparent !important;--highlight-height: 0 !important;border:none!important;box-shadow:none!important}body.dark .institute-form .form-input{--placeholder-color: #b0b3b8;--color: var(--register-text, #e4e6eb)}.institute-form .form-textarea{--background: transparent !important;--padding-start: 16px;--padding-end: 16px;--padding-top: 12px;--padding-bottom: 12px;--placeholder-color: #8e8e93;--placeholder-opacity: 1;--color: var(--register-text, #050505);--border-width: 0 !important;font-size:16px;width:100%;box-sizing:border-box}body.dark .institute-form .form-textarea{--placeholder-color: #b0b3b8;--color: var(--register-text, #e4e6eb)}.institute-form .form-select{--background: var(--app-surface-muted, #f5f5f5);--padding-start: 16px;--padding-end: 16px;--padding-top: 14px;--padding-bottom: 14px;font-size:16px;border-radius:12px;border:1px solid var(--app-border, #e0e0e0);min-height:50px;width:100%;box-sizing:border-box}body.dark .institute-form .form-select{--background: var(--app-surface-muted, #3a3b3c);border-color:var(--app-border, #4e4f50)}.institute-form .general-error{text-align:center;font-size:14px;color:#ff3b30;padding:12px;background:#ff3b301a;border-radius:10px;margin:0}body.dark .institute-form .general-error{background:#ff3b3026}.institute-submit-btn{--background: #20a368;--border-radius: 8px;--box-shadow: none;--padding-start: 0;--padding-end: 0;display:block;width:100%!important;max-width:100%!important;min-height:50px;height:50px;font-weight:600;font-size:16px;margin-top:8px;margin-inline:0!important}body.dark .institute-form-card{background:var(--register-card, #242526);border-color:var(--register-border, #3e4042)}body.dark .institute-form .section-title{color:#20a368}body.dark .institute-form .form-group label{color:var(--register-text, #e4e6eb)}body.dark .institute-form .form-group label .optional-label{color:var(--register-secondary, #b0b3b8)}.welcome-promo-modal{--width: 90%;--max-width: 400px;--height: auto;--border-radius: 20px}.welcome-promo-modal::part(content){position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.welcome-promo-content{padding:32px 24px;text-align:center;position:relative;background:var(--ion-background-color)}@media(min-width:1024px){.welcome-promo-modal{--width: min(560px, calc(100vw - 72px) );--max-width: 560px;--height: auto;--max-height: calc(100dvh - 64px) ;--border-radius: 24px}.welcome-promo-content{padding:40px 36px}}.welcome-promo-content .close-btn{position:absolute;top:12px;right:12px;background:transparent;border:none;font-size:24px;color:var(--ion-color-medium);cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center}[dir=rtl] .welcome-promo-content .close-btn{right:auto;left:12px}.welcome-promo-content .close-btn:hover{background:var(--ion-color-light)}.welcome-promo-content .promo-icon{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--ion-color-primary),var(--ion-color-secondary));display:flex;align-items:center;justify-content:center;margin:0 auto 20px;animation:bounce 2s infinite}.welcome-promo-content .promo-icon ion-icon{font-size:40px;color:#fff}.welcome-promo-content h2{font-size:24px;font-weight:700;margin:0 0 8px;color:var(--ion-text-color)}.welcome-promo-content .subtitle{font-size:14px;color:var(--ion-color-medium);margin:0 0 24px}.welcome-promo-content .promo-details{background:var(--ion-color-light);border-radius:12px;padding:20px;margin-bottom:24px}.welcome-promo-content .description{font-size:16px;line-height:1.6;color:var(--ion-text-color);margin:0}.welcome-promo-content .error-message{color:var(--ion-color-danger);font-size:14px;margin-bottom:16px}.welcome-promo-content .promo-actions{display:flex;flex-direction:column;gap:8px}.welcome-promo-content .claim-btn{--background: linear-gradient(135deg, var(--ion-color-primary), var(--ion-color-secondary));--border-radius: 12px;font-weight:600;height:48px}.welcome-promo-content .skip-btn{--color: var(--ion-color-medium);font-size:14px}.welcome-promo-content .claimed-state{padding:40px 0}.welcome-promo-content .success-icon{width:100px;height:100px;margin:0 auto 24px}.welcome-promo-content .success-icon ion-icon{font-size:100px;color:var(--ion-color-success);animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.welcome-promo-content .claimed-state h2{color:var(--ion-color-success)}.register-page{--ios-bg: #f2f2f7;--ios-card: #ffffff;--ios-label: #1c1c1e;--ios-secondary-label: #6c6c70;--ios-separator: rgba(60, 60, 67, .13);--ios-placeholder: #8e8e93;--ios-track: rgba(118, 118, 128, .12);--register-primary: #20a368;--register-danger: #ff3b30;--register-success: #34c759;--register-warning: #ff9500;--register-bg: var(--ios-bg);--register-card: var(--ios-card);--register-text: var(--ios-label);--register-secondary: var(--ios-secondary-label);--register-separator: var(--ios-separator);--register-placeholder: var(--ios-placeholder);--register-radius-lg: 14px;--register-radius-md: 10px;--register-row-pad-x: 16px;--register-row-pad-y: 12px;--register-btn-height: 50px;--register-section-gap: 28px;--register-layout-max-width: none;--register-layout-pad-x: 20px;--register-layout-pad-top: env(safe-area-inset-top, 20px)}body.dark .register-page{--register-bg: #000000;--register-card: #1c1c1e;--register-text: #ffffff;--register-secondary: #98989f;--register-separator: rgba(84, 84, 88, .6);--register-placeholder: #98989f;--ios-track: rgba(118, 118, 128, .24)}.register-content{--background: var(--register-bg)}.register-layout{min-height:100%;max-width:var(--register-layout-max-width);margin:0 auto;display:flex;flex-direction:column;padding:0 var(--register-layout-pad-x);padding-top:var(--register-layout-pad-top);padding-bottom:calc(env(safe-area-inset-bottom,20px) + 56px)}.register-header{position:relative;display:flex;align-items:center;min-height:48px;padding:8px 0 20px}.register-back-btn{position:relative;z-index:1;--padding-start: 0;--padding-end: 8px;margin:0}.register-back-btn ion-icon{font-size:24px;color:var(--register-primary)}.register-header-title{position:absolute;inset-inline:0;text-align:center;font-size:17px;font-weight:600;color:var(--register-text);margin:0;pointer-events:none}.role-selector{margin-bottom:var(--register-section-gap)}.role-segment{--background: var(--ios-track);border:none;border-radius:var(--register-radius-md);padding:2px}.role-segment ion-segment-button{--background-checked: var(--register-card);--indicator-color: var(--register-card);--indicator-box-shadow: 0 1px 3px rgba(0, 0, 0, .15);--color: var(--register-secondary);--color-checked: var(--register-text);min-height:40px;font-size:13px;font-weight:500;letter-spacing:0;--border-radius: 8px;--indicator-transition: transform .2s cubic-bezier(.4, 0, .2, 1)}.register-form-card{background:var(--register-card);border-radius:var(--register-radius-lg);padding:0 var(--register-row-pad-x);margin-bottom:20px;box-shadow:0 1px 2px #0000000a,0 8px 24px #0000000a}body.dark .register-form-card{box-shadow:none}.register-form{display:flex;flex-direction:column}.register-page .form-group{display:flex;flex-direction:column;gap:4px;padding:var(--register-row-pad-y) 0;border-bottom:1px solid var(--register-separator);position:relative;transition:background-color .15s ease}.register-page .form-group:last-child{border-bottom:none}.register-page .form-group:focus-within{background:color-mix(in srgb,var(--register-primary) 6%,transparent);margin:0 calc(-1 * var(--register-row-pad-x));padding-inline:var(--register-row-pad-x);border-radius:8px}.register-page .form-group label{display:flex;align-items:center;font-size:13px;font-weight:500;color:var(--register-secondary)}.register-page .form-group label .optional-label{font-weight:400;color:var(--register-secondary);opacity:.75;font-size:12px;margin-inline-start:4px}.register-page .form-group:has(.input-wrapper.has-error),.register-page .form-group:has(.form-select.ion-invalid){background:color-mix(in srgb,var(--register-danger) 6%,transparent);margin:0 calc(-1 * var(--register-row-pad-x));padding-inline:var(--register-row-pad-x);border-radius:8px}.register-page .form-group:has(.input-wrapper.has-success){background:color-mix(in srgb,var(--register-success) 6%,transparent);margin:0 calc(-1 * var(--register-row-pad-x));padding-inline:var(--register-row-pad-x);border-radius:8px}.register-page .input-wrapper{background:transparent;border:none;border-radius:0;min-height:24px}.register-page .password-wrapper{display:flex;align-items:center}.register-page .password-wrapper .form-input{flex:1;min-width:0}.register-page .password-toggle{background:transparent;border:none;padding:0 0 0 12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--register-placeholder);flex:0 0 auto}.register-page .password-toggle ion-icon{font-size:20px}.register-page .form-input{--background: transparent;--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;--placeholder-color: var(--register-placeholder);--placeholder-opacity: 1;--color: var(--register-text);--border-width: 0;--border-color: transparent;--border-style: none;--border-radius: 0;--highlight-height: 0;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;min-height:24px;font-size:16px;caret-color:var(--register-primary)}.register-page .form-input::part(native){display:flex;align-items:center;min-height:24px;padding:0;background:transparent;background-image:none;border:0;border-radius:0;box-shadow:none;overflow:hidden;-webkit-appearance:none;appearance:none}.register-page .form-input::part(placeholder){opacity:1}.register-page .form-input::part(native)::-webkit-contacts-auto-fill-button,.register-page .form-input::part(native)::-webkit-credentials-auto-fill-button,.register-page .form-input::part(native)::-webkit-caps-lock-indicator,.register-page .form-input::part(native)::-webkit-search-cancel-button,.register-page .form-input::part(native)::-webkit-search-decoration,.register-page .form-input::part(native)::-webkit-textfield-decoration-container,.register-page .form-input::part(native)::-ms-clear,.register-page .form-input::part(native)::-ms-reveal{display:none!important;visibility:hidden!important;pointer-events:none!important;width:0!important;height:0!important;margin:0!important}.register-page .form-select{--background: transparent;--border-width: 0;--border-radius: 0;--border-color: transparent;--border-style: none;--box-shadow: none;--padding-start: 0;--padding-end: 0;--placeholder-color: var(--register-placeholder);--placeholder-opacity: 1;--color: var(--register-text);display:flex;align-items:center;width:100%;font-size:16px;min-height:24px}.register-page .form-select::part(icon){color:var(--register-placeholder);opacity:1}.register-page .form-error{font-size:12px;color:var(--register-danger);margin:0}.register-page .form-success{font-size:12px;color:var(--register-success);margin:0}.register-page .form-hint{font-size:12px;color:var(--register-secondary);margin:0 0 4px;line-height:1.4}.register-page .general-error{text-align:center;font-size:14px;color:var(--register-danger);padding:12px;background:color-mix(in srgb,var(--register-danger) 10%,transparent);border-radius:var(--register-radius-md);margin:4px 0 0}.register-submit-btn,.register-page .google-signin-btn{--padding-start: 0;--padding-end: 0;--border-radius: var(--register-radius-lg);--box-shadow: none;display:block;width:100%;max-width:100%;min-height:var(--register-btn-height);height:var(--register-btn-height);font-weight:600;font-size:16px;margin-inline:0;transition:transform .1s ease,opacity .1s ease}.register-submit-btn{--background: var(--register-primary);--background-activated: var(--register-primary);margin-top:var(--register-section-gap);box-shadow:0 4px 14px color-mix(in srgb,var(--register-primary) 35%,transparent)}.register-submit-btn:active,.register-page .google-signin-btn:active{transform:scale(.98);opacity:.9}.register-divider{display:flex;align-items:center;text-align:center;margin:20px 0}.register-divider:before,.register-divider:after{content:"";flex:1;border-bottom:1px solid var(--register-separator)}.register-divider span{padding:0 12px;font-size:13px;color:var(--register-secondary);white-space:nowrap}.register-page .google-signin-btn{--background: var(--register-card);--color: var(--register-text);font-weight:500;font-size:15px;border:1px solid var(--register-separator)}.register-page .google-signin-btn ion-icon{font-size:20px;margin-inline-end:8px}.register-page .google-signin-btn:hover{--background: color-mix(in srgb, var(--register-text) 4%, var(--register-card))}.login-link{text-align:center;font-size:15px;color:var(--register-secondary);margin:0;padding:20px 0 12px}.login-link span{color:var(--register-primary);font-weight:600;cursor:pointer;transition:opacity .2s}.login-link span:hover{opacity:.7}.role-note{text-align:center;font-size:13px;color:var(--register-secondary);padding:12px 20px;background:color-mix(in srgb,var(--register-warning) 12%,transparent);border-radius:var(--register-radius-md);margin:0;line-height:1.5}.subjects-select-alert .alert-checkbox-icon,ion-alert .alert-checkbox-icon{border-radius:4px!important}.subjects-select-alert .alert-checkbox-icon.checkbox-checked,ion-alert .alert-checkbox-icon.checkbox-checked{border-radius:4px!important}.subjects-select-alert .alert-head{text-align:center}.subjects-select-alert .alert-title{font-size:18px;font-weight:600}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.role-selector{animation:fadeSlideUp .4s ease}.register-form-card{animation:fadeSlideUp .4s ease .08s;animation-fill-mode:both}.login-link{animation:fadeSlideUp .4s ease .16s;animation-fill-mode:both}@media(prefers-reduced-motion:reduce){.role-selector,.register-form-card,.login-link{animation:none}.register-submit-btn,.register-page .google-signin-btn{transition:none}}body.keyboard-open .register-layout{padding-bottom:300px}.register-page .form-group:focus-within{scroll-margin-bottom:150px}body.keyboard-open .register-content{--overflow: auto}@media(max-width:374px){.register-page{--register-row-pad-x: 14px}.role-segment ion-segment-button{font-size:11px;min-height:38px}}@media(min-width:768px){.register-page{--register-layout-max-width: 480px;--register-layout-pad-top: 40px}.register-layout{padding-bottom:calc(env(safe-area-inset-bottom,20px) + 40px)}}@media(min-width:1024px){.register-page{--register-layout-max-width: 520px;--register-layout-pad-x: 40px;--register-layout-pad-top: 60px;--register-btn-height: 54px;--register-radius-lg: 16px;--register-row-pad-x: 20px;--register-row-pad-y: 14px;--register-section-gap: 32px}.register-header-title{font-size:19px}.register-back-btn ion-icon{font-size:26px}.role-segment ion-segment-button{min-height:44px;font-size:14px}.register-page .form-group label{font-size:14px}.register-page .form-input,.register-page .form-select{font-size:17px}.register-page .form-error,.register-page .form-success,.register-page .form-hint{font-size:13px}.register-page .general-error{font-size:15px;padding:14px}.login-link{font-size:16px}.role-note{font-size:14px;padding:14px 24px}}@media(min-width:1440px){.register-page{--register-layout-max-width: 560px;--register-layout-pad-x: 60px;--register-layout-pad-top: 80px;--register-btn-height: 58px}.register-layout{padding-bottom:calc(env(safe-area-inset-bottom,20px) + 80px)}}.search-page{--sp-gap-xs: 6px;--sp-gap-sm: 10px;--sp-gap-md: 16px;--sp-gap-lg: 24px;--sp-gap-xl: 32px;--sp-radius-sm: 10px;--sp-radius-md: 14px;--sp-radius-lg: 18px;--sp-radius-pill: 999px;--sp-border: var(--app-border, #d1d1d6);--sp-border-strong: var(--app-border, #aeaeb2);--sp-surface: var(--app-surface, #ffffff);--sp-surface-tint: var(--app-surface-muted, #f5f5f7);--sp-text: var(--app-text, #1c1c1e);--sp-text-muted: var(--app-text-muted, #65676b);--sp-primary: var(--ion-color-primary, #3880ff);--sp-primary-contrast: var(--ion-color-primary-contrast, #fff);--sp-primary-tint: color-mix(in srgb, var(--sp-primary) 12%, transparent);--sp-shadow: 0 1px 2px rgba(0, 0, 0, .04), 0 8px 20px -8px rgba(0, 0, 0, .12);--sp-transition: .16s ease}@media(prefers-reduced-motion:reduce){.search-page *{transition-duration:.01ms!important;animation-duration:.01ms!important}}.search-page-content{--background: var(--ion-background-color, #f6f7f9)}.search-layout{padding:var(--sp-gap-md) var(--sp-gap-md) var(--sp-gap-xl);display:flex;flex-direction:column;gap:var(--sp-gap-lg);max-width:720px;margin-inline:auto}.search-page button{font:inherit;color:inherit}.refresh-indicator{position:absolute;top:12px;inset-inline-start:50%;z-index:20;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--sp-surface);border-radius:50%;box-shadow:var(--sp-shadow);transition:opacity var(--sp-transition),transform var(--sp-transition);pointer-events:none}.search-page-title h1{margin:0;font-size:22px;font-weight:700;color:var(--sp-text)}.search-header{position:relative}.search-input-wrapper{display:flex;align-items:center;gap:var(--sp-gap-sm);height:48px;padding-inline:var(--sp-gap-md);background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius-pill);transition:border-color var(--sp-transition),box-shadow var(--sp-transition)}.search-input-wrapper:focus-within{border-color:var(--sp-primary);box-shadow:0 0 0 3px var(--sp-primary-tint)}.search-input-icon{font-size:19px;color:var(--sp-text-muted);flex-shrink:0}.search-input-wrapper input{flex:1;min-width:0;height:100%;border:none;outline:none;background:transparent;font-size:15px;color:var(--sp-text);text-align:start}.search-input-wrapper input::placeholder{color:var(--sp-text-muted)}.clear-search-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:none;border-radius:50%;color:var(--sp-text-muted);flex-shrink:0;cursor:pointer}.clear-search-btn:hover{color:var(--sp-text);background:var(--sp-surface-tint)}.clear-search-btn ion-icon{font-size:20px}.recent-searches-dropdown{position:absolute;inset-inline:0;top:calc(100% + 8px);z-index:30;background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius-md);box-shadow:var(--sp-shadow);overflow:hidden;padding-block:var(--sp-gap-xs)}.dropdown-header{display:flex;align-items:center;gap:var(--sp-gap-xs);padding:var(--sp-gap-sm) var(--sp-gap-md);font-size:12px;font-weight:600;color:var(--sp-text-muted)}.recent-search-item{width:100%;display:flex;align-items:center;gap:var(--sp-gap-sm);padding:var(--sp-gap-sm) var(--sp-gap-md);border:none;background:none;text-align:start;font-size:14px;color:var(--sp-text);cursor:pointer;transition:background var(--sp-transition)}.recent-search-item:hover{background:var(--sp-surface-tint)}.recent-search-item ion-icon{font-size:16px;color:var(--sp-text-muted);flex-shrink:0}.section-title{margin:0 0 var(--sp-gap-sm);font-size:15px;font-weight:600;color:var(--sp-text)}.recently-viewed-scroll{display:flex;gap:var(--sp-gap-md);overflow-x:auto;scroll-snap-type:x proximity;padding-block:2px var(--sp-gap-xs);margin-inline:calc(var(--sp-gap-xs) * -1);padding-inline:var(--sp-gap-xs);scrollbar-width:none}.recently-viewed-scroll::-webkit-scrollbar{display:none}.recently-viewed-card{scroll-snap-align:start;flex-shrink:0;width:76px;display:flex;flex-direction:column;align-items:center;gap:6px;border:none;background:none;padding:4px;cursor:pointer}.rv-avatar{width:60px;height:60px;border-radius:50%;overflow:hidden;background:var(--sp-surface-tint);border:1px solid var(--sp-border);display:flex;align-items:center;justify-content:center}.rv-avatar img{width:100%;height:100%;object-fit:cover}.rv-avatar .initial{font-size:20px;font-weight:600;color:var(--sp-text-muted)}.rv-name{font-size:12px;font-weight:500;color:var(--sp-text);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rv-rating{display:flex;align-items:center;gap:3px;font-size:11px;color:var(--sp-text-muted)}.rv-rating ion-icon{font-size:12px;color:var(--ion-color-warning, #ffc409)}.search-section-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:4px;background:var(--sp-surface-tint);border-radius:var(--sp-radius-pill)}.search-section-tabs::-webkit-scrollbar{display:none}.section-tab{flex-shrink:0;min-height:38px;padding-inline:var(--sp-gap-md);border:none;border-radius:var(--sp-radius-pill);background:transparent;color:var(--sp-text-muted);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--sp-transition),color var(--sp-transition)}.section-tab.active{background:var(--sp-surface);color:var(--sp-primary);box-shadow:var(--sp-shadow)}.categories-scroll{display:flex;gap:var(--sp-gap-sm);overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding-block:2px}.categories-scroll::-webkit-scrollbar{display:none}.no-subjects-text{font-size:14px;color:var(--sp-text-muted)}.category-chip{scroll-snap-align:start;flex-shrink:0;display:inline-flex;align-items:center;gap:6px;height:38px;padding-inline:var(--sp-gap-md);border:1px solid var(--sp-border);border-radius:var(--sp-radius-pill);background:var(--sp-surface);color:var(--sp-text);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--sp-transition),border-color var(--sp-transition),color var(--sp-transition)}.category-chip .emoji{font-size:15px;line-height:1}.category-chip.active{background:var(--sp-primary);border-color:var(--sp-primary);color:var(--sp-primary-contrast);box-shadow:0 2px 6px color-mix(in srgb,var(--sp-primary) 32%,transparent)}.mode-filter-tabs{display:flex;gap:var(--sp-gap-sm)}.mode-tab{flex:1;min-height:36px;border:1px solid var(--sp-border);border-radius:var(--sp-radius-sm);background:var(--sp-surface);color:var(--sp-text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--sp-transition),border-color var(--sp-transition),color var(--sp-transition)}.mode-tab.active{background:var(--sp-primary-tint);border-color:var(--sp-primary);color:var(--sp-primary)}.availability-filter-section{display:flex;flex-direction:column;gap:var(--sp-gap-sm)}.availability-filter-header{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--sp-text-muted)}.availability-filter-header ion-icon{font-size:15px}.availability-filter-buttons{display:flex;flex-wrap:wrap;gap:var(--sp-gap-sm)}.availability-btn{min-height:36px;padding-inline:var(--sp-gap-md);border:1px solid var(--sp-border);border-radius:var(--sp-radius-pill);background:var(--sp-surface);color:var(--sp-text);font-size:13px;font-weight:500;cursor:pointer;transition:background var(--sp-transition),border-color var(--sp-transition),color var(--sp-transition)}.availability-btn.active{background:var(--sp-primary);border-color:var(--sp-primary);color:var(--sp-primary-contrast)}.results-count{font-size:13px;font-weight:500;color:var(--sp-text-muted)}.search-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--sp-gap-xs);padding:var(--sp-gap-xl) var(--sp-gap-md)}.search-empty-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--sp-surface-tint);margin-bottom:var(--sp-gap-sm)}.search-empty-icon ion-icon{font-size:26px;color:var(--sp-text-muted)}.search-empty h3{margin:0;font-size:16px;font-weight:600;color:var(--sp-text)}.search-empty p{margin:0;font-size:13px;color:var(--sp-text-muted);max-width:32ch}.search-suggestions{margin-top:var(--sp-gap-md);width:100%}.suggestions-title{margin:0 0 var(--sp-gap-sm);font-size:12px;font-weight:600;color:var(--sp-text-muted)}.suggestions-list{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--sp-gap-sm)}.suggestion-btn{min-height:36px;padding-inline:var(--sp-gap-md);border:1px solid var(--sp-primary);border-radius:var(--sp-radius-pill);background:var(--sp-primary-tint);color:var(--sp-primary);font-size:13px;font-weight:600;cursor:pointer;transition:background var(--sp-transition)}.suggestion-btn:hover{background:var(--sp-primary);color:var(--sp-primary-contrast)}.search-section+.search-section{margin-top:var(--sp-gap-lg)}.teachers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--sp-gap-md)}.teacher-card{display:flex;flex-direction:column;gap:var(--sp-gap-sm);padding:var(--sp-gap-md);background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius-lg);cursor:pointer;transition:border-color var(--sp-transition),transform var(--sp-transition),box-shadow var(--sp-transition)}.teacher-card:focus-visible{outline:2px solid var(--sp-primary);outline-offset:2px}@media(hover:hover){.teacher-card:hover{border-color:var(--sp-border-strong);box-shadow:var(--sp-shadow);transform:translateY(-2px)}}.teacher-avatar{position:relative;width:64px;height:64px;border-radius:50%;overflow:visible}.teacher-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.teacher-avatar .initial{width:100%;height:100%;border-radius:50%;background:var(--sp-surface-tint);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:var(--sp-text-muted)}.featured-badge{position:absolute;bottom:-2px;inset-inline-end:-2px;width:22px;height:22px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--ion-color-warning, #ffc409);color:var(--ion-color-warning-contrast, #000);border:2px solid var(--sp-surface)}.featured-badge ion-icon{font-size:12px}.teacher-info{display:flex;flex-direction:column;gap:4px;min-width:0}.teacher-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-gap-sm)}.teacher-name{margin:0;font-size:14px;font-weight:600;color:var(--sp-text);display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.priority-badge{flex-shrink:0;padding:2px 8px;border-radius:var(--sp-radius-pill);background:color-mix(in srgb,var(--ion-color-warning, #ffc409) 20%,transparent);color:var(--ion-color-warning-shade, #b58500);font-size:10px;font-weight:700}.teacher-price{flex-shrink:0;font-size:14px;font-weight:700;color:var(--sp-primary);white-space:nowrap}.teacher-price .currency{font-size:11px;font-weight:500}.teacher-subjects{margin:0;font-size:12px;color:var(--sp-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teacher-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-gap-sm);margin-top:2px}.teacher-rating{display:flex;align-items:center;gap:3px;font-size:12px;color:var(--sp-text-muted)}.teacher-rating ion-icon{font-size:13px;color:var(--ion-color-warning, #ffc409)}.rating-value{font-weight:600;color:var(--sp-text)}.teacher-modes{display:flex;gap:6px}.mode-icon{font-size:15px}.mode-icon.online{color:var(--ion-color-success, #2dd36f)}.mode-icon.in-person{color:var(--sp-primary)}.teacher-next-available{display:flex;align-items:center;gap:4px;margin-top:4px;padding:4px 8px;width:fit-content;border-radius:var(--sp-radius-sm);background:var(--sp-surface-tint);font-size:11px;font-weight:500;color:var(--sp-text-muted)}.teacher-next-available ion-icon{font-size:12px}.course-results-list,.institutes-list{display:flex;flex-direction:column;gap:var(--sp-gap-sm)}.institute-card{display:flex;align-items:center;gap:var(--sp-gap-md);width:100%;padding:var(--sp-gap-sm) var(--sp-gap-md);background:var(--sp-surface);border:1px solid var(--sp-border);border-radius:var(--sp-radius-md);cursor:pointer;text-align:start;transition:border-color var(--sp-transition),box-shadow var(--sp-transition),transform var(--sp-transition)}.institute-card:focus-visible{outline:2px solid var(--sp-primary);outline-offset:2px}@media(hover:hover){.institute-card:hover{border-color:var(--sp-border-strong);box-shadow:var(--sp-shadow);transform:translateY(-1px)}}.institute-avatar{flex-shrink:0;width:52px;height:52px;border-radius:50%;overflow:hidden;background:var(--sp-surface-tint);display:flex;align-items:center;justify-content:center}.institute-avatar img{width:100%;height:100%;object-fit:cover}.institute-avatar .initial{font-size:18px;font-weight:600;color:var(--sp-text-muted)}.institute-info{min-width:0;display:flex;flex-direction:column;gap:4px}.institute-name{margin:0;font-size:14px;font-weight:600;color:var(--sp-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.institute-meta{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--sp-text-muted)}.institute-meta ion-icon{font-size:13px;color:var(--ion-color-warning, #ffc409)}@media(max-width:360px){.search-layout{padding-inline:var(--sp-gap-sm)}.teachers-grid{grid-template-columns:repeat(auto-fill,minmax(135px,1fr))}}.teacher-profile-page{--bg: #f5f5f7;--card: #ffffff;--text: #1c1c1e;--secondary: #8e8e93;--border: #e5e5ea;--hover: #f9f9fb;--primary: #20a368;--primary-light: rgba(32, 163, 104, .08)}body.dark .teacher-profile-page{--bg: #000000;--card: #1c1c1e;--text: #f5f5f7;--secondary: #98989d;--border: #38383a;--hover: #2c2c2e;--primary-light: rgba(48, 209, 88, .12)}.teacher-profile-content{--background: var(--bg)}.teacher-profile-layout{max-width:680px;margin:0 auto;padding:0 16px 120px}.profile-back-header{display:flex;align-items:center;padding:12px 0;margin-bottom:8px}.back-btn{--padding-start: 0;--padding-end: 8px;display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin:0}.back-btn ion-icon{font-size:22px;color:var(--primary)}.profile-back-header h1{flex:1;margin:0;font-size:18px;font-weight:600;color:var(--text);text-align:center;padding-inline-start:0;padding-inline-end:44px}.teacher-hero-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:24px 20px;text-align:center;margin-bottom:16px}.teacher-avatar-wrapper{position:relative;display:inline-block}.teacher-avatar-large{width:100px;height:100px;border-radius:50%;overflow:hidden;background:var(--primary-light);box-shadow:0 2px 12px #0000001a}.teacher-avatar-large img{width:100%;height:100%;object-fit:cover}.teacher-avatar-large .avatar-initial{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:44px;font-weight:600;color:var(--primary);background:var(--primary-light)}.verified-badge{position:absolute;bottom:4px;right:4px;width:28px;height:28px;border-radius:50%;background:var(--card);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000001a}.verified-badge ion-icon{font-size:20px;color:#34c759}.teacher-hero-info{margin-top:16px}.teacher-hero-info h2{margin:0 0 8px;font-size:24px;font-weight:700;color:var(--text)}.teacher-rating-row{display:flex;align-items:center;justify-content:center;gap:6px;margin-bottom:12px}.stars-container{display:flex;align-items:center;gap:2px}.stars-container ion-icon{font-size:16px}.stars-container ion-icon.filled{color:#fcd36c}.stars-container ion-icon.empty{color:#e0e0e0}.rating-value{font-size:15px;font-weight:600;color:var(--text)}.rating-count{font-size:14px;color:var(--secondary)}.teacher-subjects-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.subject-chip{padding:6px 14px;background:var(--primary-light);border-radius:16px;font-size:13px;font-weight:500;color:var(--primary)}.teacher-price-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.price-info{flex:1}.price-amount{font-size:28px;font-weight:700;color:var(--primary)}.price-unit{font-size:14px;font-weight:400;color:var(--secondary)}.teaching-modes{display:flex;gap:12px;margin-top:8px}.mode-badge{display:flex;align-items:center;gap:4px;font-size:13px;color:var(--secondary)}.mode-badge ion-icon{font-size:16px}.mode-badge.online ion-icon{color:#34c759}.mode-badge.in-person ion-icon{color:#007aff}.book-btn{--border-radius: 12px;--background: var(--primary);height:48px;font-weight:600;font-size:15px;min-width:120px}.teacher-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.teacher-profile-page .stat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px 12px;text-align:center}.teacher-profile-page .stat-value{display:block;font-size:22px;font-weight:700;color:var(--text);margin-bottom:4px}body.dark .teacher-profile-page .stat-value{color:#fff!important}.teacher-profile-page .stat-label{font-size:12px;color:var(--secondary)}body.dark .teacher-profile-page .stat-label{color:#b0b3b8!important}body.dark .teacher-profile-page .stat-card{background:#242526!important;border-color:#3e4042!important}.teacher-tabs{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:6px;margin-bottom:16px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.teacher-tabs ion-segment{--background: transparent;touch-action:manipulation}.teacher-tabs ion-segment-button{--indicator-color: var(--primary);--indicator-box-shadow: none;--border-radius: 10px;min-height:40px;font-size:14px;font-weight:500;touch-action:pan-y;-webkit-tap-highlight-color:transparent;transition:background-color .15s ease;pointer-events:auto;user-select:none;-webkit-user-select:none}.teacher-section{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:12px}.section-title{font-size:16px;font-weight:600;color:var(--text);margin:0 0 12px;display:flex;align-items:center;gap:8px}.section-title ion-icon{font-size:20px;color:var(--primary)}.bio-text{font-size:15px;line-height:1.7;color:var(--secondary);margin:0}.chips-container{display:flex;flex-wrap:wrap;gap:8px}.info-chip{padding:8px 14px;background:var(--bg);border:1px solid var(--border);border-radius:20px;font-size:13px;font-weight:500;color:var(--text)}.location-text{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--secondary)}.location-text ion-icon{font-size:18px;color:#007aff}.reviews-list{display:flex;flex-direction:column;gap:12px}.review-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:16px}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:8px}.reviewer-name{font-size:15px;font-weight:600;color:var(--text)}.review-date{font-size:12px;color:var(--secondary)}.review-stars{display:flex;gap:2px;margin-bottom:8px}.review-stars ion-icon{font-size:14px}.review-comment{font-size:14px;line-height:1.6;color:var(--secondary);margin:0}.empty-reviews{text-align:center;padding:40px 20px}.empty-reviews ion-icon{font-size:48px;color:var(--border);margin-bottom:12px}.empty-reviews p{font-size:15px;color:var(--secondary);margin:0}.bottom-actions{position:fixed;bottom:0;left:0;right:0;padding:12px 16px;padding-bottom:calc(12px + env(safe-area-inset-bottom,12px));background:#ffffffeb;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid rgba(0,0,0,.08);display:flex;gap:10px;z-index:100}body.dark .bottom-actions{background:#1c1c1eeb!important;border-top-color:#ffffff0f!important}.bottom-actions ion-button{flex:1;--border-radius: 12px;height:48px;font-weight:600;font-size:14px}.bottom-actions .message-btn{--border-color: var(--border);--color: var(--text)}.bottom-actions .book-btn{--background: var(--primary)}.own-profile-notice{flex:1;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:12px;padding:14px;font-size:14px;color:var(--secondary)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px}.loading-container ion-spinner{width:40px;height:40px;color:var(--primary)}.error-container{text-align:center;padding:60px 24px}.error-icon{width:80px;height:80px;border-radius:50%;background:#ff3b301a;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.error-icon ion-icon{font-size:40px;color:#ff3b30}.error-icon.offline{background:#ff95001a}.error-icon.offline ion-icon{color:#ff9500}.error-container h3{font-size:18px;font-weight:600;color:var(--text);margin:0 0 8px}.error-container p{font-size:15px;color:var(--secondary);margin:0 0 20px}@media(min-width:768px){.teacher-profile-layout{padding:0 24px 120px}.teacher-hero-card{padding:28px}.teacher-avatar-large{width:110px;height:110px}.teacher-stats-row{gap:16px}.teacher-profile-page .stat-card{padding:20px 16px}.teacher-profile-page .stat-value{font-size:26px}}@media(max-width:374px){.teacher-avatar-large{width:80px;height:80px}.teacher-hero-info h2{font-size:20px}.price-amount{font-size:24px}.teacher-stats-row{gap:8px}.teacher-profile-page .stat-card{padding:12px 8px}.teacher-profile-page .stat-value{font-size:18px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.teacher-hero-card{animation:fadeInUp .4s ease}body.dark .teacher-avatar-large{box-shadow:0 2px 12px #0000004d}body.dark .verified-badge{background:var(--card)}body.dark .teacher-hero-card{background:#242526!important;border-color:#3e4042!important}body.dark .teacher-hero-info h2{color:#fff!important}body.dark .teacher-price-card,body.dark .teacher-section{background:#242526!important;border-color:#3e4042!important}body.dark .section-title{color:#fff!important}body.dark .bio-text{color:#b0b3b8!important}body.dark .info-chip{background:#3a3b3c!important;border-color:#4e4f50!important;color:#e4e6eb!important}body.dark .teacher-tabs,body.dark .review-card{background:#242526!important;border-color:#3e4042!important}body.dark .reviewer-name{color:#fff!important}body.dark .review-comment{color:#b0b3b8!important}.media-gallery-section{margin-bottom:16px}.plan-info-banner{display:flex;align-items:center;gap:12px;padding:12px 16px;background:var(--primary-light);border-radius:12px;margin-bottom:16px}.plan-badge{padding:4px 10px;background:var(--primary);color:#fff;border-radius:16px;font-size:12px;font-weight:600}.plan-desc{font-size:13px;color:var(--secondary)}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.media-item{position:relative;aspect-ratio:1;border-radius:12px;overflow:hidden;cursor:pointer;background:var(--bg)}.media-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.media-item:hover img{transform:scale(1.05)}.media-overlay{position:absolute;inset:0;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.media-item:hover .media-overlay{opacity:1}.media-overlay ion-icon{font-size:32px;color:#fff}.video-play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#0006}.video-play-icon ion-icon{font-size:48px;color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.media-label{position:absolute;bottom:0;left:0;right:0;padding:8px;background:linear-gradient(transparent,#000000b3);color:#fff;font-size:11px;text-align:center}.empty-media{grid-column:span 3;text-align:center;padding:40px 20px}.empty-media ion-icon{font-size:48px;color:var(--border);margin-bottom:12px}.empty-media p{font-size:14px;color:var(--secondary);margin:0}.media-modal-overlay{position:fixed;inset:0;background:#000000e6;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .2s ease}.media-modal-content{position:relative;max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center}.media-modal-close{position:absolute;top:-40px;right:0;width:36px;height:36px;border-radius:50%;border:none;background:#fff3;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .2s;z-index:10}.media-modal-close:hover{background:#ffffff4d}.media-modal-close ion-icon{font-size:24px}.media-modal-image{max-width:100%;max-height:80vh;border-radius:12px;object-fit:contain}.media-modal-video{max-width:100%;max-height:80vh;border-radius:12px}.media-modal-caption{margin-top:16px;color:#fff;font-size:14px;text-align:center}@media(min-width:768px){.media-grid{grid-template-columns:repeat(4,1fr);gap:12px}.empty-media{grid-column:span 4}}@media(max-width:374px){.media-grid{grid-template-columns:repeat(2,1fr);gap:6px}.empty-media{grid-column:span 2}.plan-info-banner{flex-direction:column;align-items:flex-start;gap:8px}}@media(min-width:1024px){.teacher-profile-layout{max-width:900px;padding:0 40px 140px}.profile-back-header{padding:16px 0;margin-bottom:12px}.profile-back-header h1{font-size:20px}.back-btn ion-icon{font-size:24px}.teacher-hero-card{padding:36px 32px;border-radius:20px;margin-bottom:20px}.teacher-avatar-large{width:130px;height:130px}.teacher-avatar-large .avatar-initial{font-size:52px}.verified-badge{width:32px;height:32px}.verified-badge ion-icon{font-size:24px}.teacher-hero-info h2{font-size:28px}.stars-container ion-icon{font-size:18px}.rating-value{font-size:17px}.rating-count{font-size:15px}.subject-chip{padding:8px 18px;font-size:14px;border-radius:20px}.teacher-price-card{padding:24px;border-radius:20px;margin-bottom:20px}.price-amount{font-size:32px}.price-unit{font-size:15px}.teaching-modes{gap:16px;margin-top:10px}.mode-badge{font-size:14px}.mode-badge ion-icon{font-size:18px}.book-btn{height:52px;font-size:16px;min-width:140px;--border-radius: 14px}.teacher-stats-row{gap:20px;margin-bottom:20px}.teacher-profile-page .stat-card{padding:24px 20px;border-radius:18px;transition:transform .2s ease,box-shadow .2s ease}.teacher-profile-page .stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.teacher-profile-page .stat-value{font-size:28px}.teacher-profile-page .stat-label{font-size:13px}.teacher-tabs{padding:8px;border-radius:18px;margin-bottom:20px}.teacher-tabs ion-segment-button{min-height:44px;font-size:15px;--border-radius: 12px}.teacher-section{padding:24px;border-radius:20px;margin-bottom:16px}.section-title{font-size:18px;margin-bottom:16px}.section-title ion-icon{font-size:22px}.bio-text{font-size:16px;line-height:1.8}.chips-container{gap:10px}.info-chip{padding:10px 18px;font-size:14px;border-radius:24px}.location-text{font-size:15px}.location-text ion-icon{font-size:20px}.reviews-list{gap:16px}.review-card{padding:20px;border-radius:18px}.reviewer-name{font-size:16px}.review-date{font-size:13px}.review-stars ion-icon{font-size:16px}.review-comment{font-size:15px;line-height:1.7}.empty-reviews{padding:60px 40px}.empty-reviews ion-icon{font-size:56px}.empty-reviews p{font-size:16px}.bottom-actions{padding:16px 40px;padding-bottom:calc(16px + env(safe-area-inset-bottom,16px));max-width:900px;left:50%;transform:translate(-50%);border-radius:20px 20px 0 0}.bottom-actions ion-button{height:54px;font-size:16px;--border-radius: 14px}.own-profile-notice{padding:16px;font-size:15px;border-radius:14px}.loading-container{min-height:50vh}.loading-container ion-spinner{width:48px;height:48px}.error-container{padding:80px 40px}.error-icon{width:100px;height:100px}.error-icon ion-icon{font-size:48px}.error-container h3{font-size:22px}.error-container p{font-size:16px}.media-grid{grid-template-columns:repeat(4,1fr);gap:12px}.media-item{border-radius:16px}.empty-media{grid-column:span 4;padding:60px 40px}.empty-media ion-icon{font-size:56px}.empty-media p{font-size:15px}.plan-info-banner{padding:16px 20px;border-radius:16px}.plan-badge{font-size:13px;padding:6px 14px}.plan-desc{font-size:14px}}@media(min-width:1440px){.teacher-profile-layout{max-width:1000px;padding:0 60px 160px}.teacher-hero-card{padding:44px 40px}.teacher-avatar-large{width:150px;height:150px}.teacher-hero-info h2{font-size:32px}.price-amount{font-size:36px}.teacher-profile-page .stat-value{font-size:32px}.bottom-actions{max-width:1000px}}.teacher-crud-panel{margin:24px 0;padding:20px;background:var(--ion-card-background, #ffffff);border-radius:18px;box-shadow:0 1px 2px #0000000f,0 4px 12px #0000000a;border:1px solid rgba(0,0,0,.04)}body.dark .teacher-crud-panel{background:#1c1c1e;border-color:#ffffff0f;box-shadow:0 1px 2px #0006}.teacher-crud-title{margin:0 0 16px;font-size:17px;font-weight:700;color:var(--ion-text-color, #1c1c1e);letter-spacing:-.3px}body.dark .teacher-crud-title{color:#f2f2f7}.teacher-crud-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}@media(max-width:480px){.teacher-crud-grid{grid-template-columns:repeat(2,1fr)}}.teacher-crud-action{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:14px 8px;background:#00000006;border:none;border-radius:14px;cursor:pointer;transition:transform .18s cubic-bezier(.32,.72,0,1),background .18s;min-height:92px;font-family:inherit}body.dark .teacher-crud-action{background:#ffffff0a}.teacher-crud-action:hover{background:#0000000d}body.dark .teacher-crud-action:hover{background:#ffffff14}.teacher-crud-action:active{transform:scale(.96)}.teacher-crud-icon{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;color:#fff;font-size:22px;box-shadow:0 2px 6px #0000001f}.teacher-crud-icon ion-icon{font-size:22px}.teacher-crud-label{font-size:12px;font-weight:600;color:var(--ion-text-color, #1c1c1e);text-align:center;line-height:1.25;letter-spacing:-.1px}body.dark .teacher-crud-label{color:#f2f2f7}.settings-page-fb{--fb-bg: #f0f2f5;--fb-card: #ffffff;--fb-text: #050505;--fb-secondary: #65676b;--fb-border: #dadde1;--fb-hover: #f2f2f2;--fb-active: #e7f3ff;--fb-primary: #1877f2}body.dark .settings-page-fb{--fb-bg: #18191a;--fb-card: #242526;--fb-text: #e4e6eb;--fb-secondary: #b0b3b8;--fb-border: #3e4042;--fb-hover: #3a3b3c;--fb-active: #263951}.settings-content-fb{--background: var(--fb-bg)}.settings-layout{max-width:680px;margin:0 auto;padding:0 16px}.settings-main{padding:16px 0 0}.settings-header-fb{margin-bottom:20px}.settings-header-fb h1{font-size:28px;font-weight:700;color:var(--fb-text);margin:0}.main-search{display:flex;align-items:center;gap:12px;background:var(--fb-card);border:1px solid var(--fb-border);border-radius:24px;padding:12px 16px;margin-bottom:20px}.main-search ion-icon{color:var(--fb-secondary);font-size:20px;flex-shrink:0}.main-search input{flex:1;border:none;background:transparent;font-size:16px;color:var(--fb-text);outline:none}.main-search input::placeholder{color:var(--fb-secondary)}.profile-card-fb{display:flex;align-items:center;gap:14px;background:var(--fb-card);border:1px solid var(--fb-border);border-radius:12px;padding:16px;margin-bottom:24px;cursor:pointer;transition:all .2s}.profile-card-fb:hover{background:var(--fb-hover)}.profile-avatar-fb{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#20a368,#1c8f5b);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 2px 8px #667eea4d}.profile-avatar-fb img{width:100%;height:100%;object-fit:cover}.profile-avatar-fb ion-icon{font-size:28px;color:#fff}.profile-info-fb{flex:1;min-width:0}.profile-name-fb{display:block;font-size:17px;font-weight:600;color:var(--fb-text);margin-bottom:2px}.profile-email-fb{display:block;font-size:14px;color:var(--fb-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chevron{font-size:20px;color:var(--fb-secondary);flex-shrink:0}.edit-btn{width:40px;height:40px;border-radius:50%;background:var(--fb-bg);border:1px solid var(--fb-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s;flex-shrink:0}.edit-btn:hover{background:var(--fb-hover)}.edit-btn ion-icon{font-size:18px;color:var(--fb-secondary)}.welcome-auth-card{background:var(--fb-card);border:1px solid var(--fb-border);border-radius:16px;padding:20px;margin-bottom:24px;overflow:hidden}.welcome-header{display:flex;align-items:center;gap:14px;margin-bottom:18px}.welcome-icon{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#20a368,#1c8f5b);display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px #20a36840}.welcome-icon ion-icon{font-size:28px;color:#fff}.welcome-text{flex:1}.welcome-text h3{font-size:18px;font-weight:700;color:var(--fb-text);margin:0 0 4px}.welcome-text p{font-size:14px;color:var(--fb-secondary);margin:0;line-height:1.4}.welcome-actions{display:flex;flex-direction:row;gap:10px}.welcome-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 8px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s;border:none;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.welcome-btn ion-icon{font-size:18px}.welcome-btn.primary{background:linear-gradient(135deg,#20a368,#1c8f5b);color:#fff;box-shadow:0 4px 12px #20a3684d}.welcome-btn.primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #20a36866}.welcome-btn.secondary{background:var(--fb-bg);color:var(--fb-text);border:1px solid var(--fb-border)}.welcome-btn.secondary:hover{background:var(--fb-hover);transform:translateY(-2px)}body.dark .welcome-btn.primary:hover{box-shadow:0 6px 16px #20a36880}body.dark .welcome-btn.secondary:hover{background:var(--fb-hover)}.quick-access{margin-bottom:28px}.quick-access h3{font-size:17px;font-weight:600;color:var(--fb-text);margin:0 0 14px}.quick-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.quick-card{background:var(--fb-card);border:1px solid var(--fb-border);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s}.quick-card:hover{box-shadow:0 2px 12px #00000014;transform:translateY(-2px)}.quick-icon{font-size:32px;display:block;margin-bottom:10px}.quick-card h4{font-size:15px;font-weight:600;color:var(--fb-text);margin:0 0 4px}.quick-card p{font-size:13px;color:var(--fb-secondary);margin:0;line-height:1.4}.settings-section-fb{margin-bottom:24px}.settings-section-fb h3{font-size:15px;font-weight:600;color:var(--fb-secondary);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px 4px}.settings-card{background:var(--fb-card);border:1px solid var(--fb-border);border-radius:12px;overflow:hidden;margin-bottom:8px}.settings-card.danger{border-color:#e539354d}.setting-row{display:flex;align-items:center;gap:14px;padding:14px 16px}.setting-row.clickable{cursor:pointer;transition:background .2s}.setting-row.clickable:hover{background:var(--fb-hover)}.settings-language-button{width:100%;border:0;background:transparent;color:inherit;font:inherit;text-align:inherit}.setting-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.setting-icon ion-icon{font-size:20px;color:#fff}.setting-icon.blue{background:#1877f2}.setting-icon.purple{background:#9c27b0}.setting-icon.red{background:#e53935}.setting-icon.green{background:#43a047}.setting-icon.orange{background:#fb8c00}.setting-icon.teal{background:#00897b}.setting-icon.gray{background:#757575}.setting-info{flex:1;min-width:0}.setting-label{display:block;font-size:16px;font-weight:500;color:var(--fb-text)}.setting-label.danger{color:#e53935}.setting-desc{display:block;font-size:13px;color:var(--fb-secondary);margin-top:2px;line-height:1.3}.setting-value{font-size:15px;color:var(--fb-secondary);flex-shrink:0;margin-inline-end:4px}.settings-footer-fb{text-align:center;padding:24px 0}.settings-footer-fb p{margin:0;font-size:13px;color:var(--fb-secondary)}.fb-modal{--width: 90%;--max-width: 420px;--height: auto;--border-radius: 16px}.fb-modal.bottom-sheet{--width: 100%;--max-width: 100%;--height: auto;--max-height: calc(100dvh - 16px) ;--border-radius: 20px 20px 0 0;align-items:flex-end}.fb-modal.bottom-sheet::part(content){margin:0;border-radius:20px 20px 0 0;max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain}.bottom-sheet .modal-content-fb{box-sizing:border-box;max-height:calc(100dvh - 16px);overflow-y:auto;overscroll-behavior:contain;padding:12px 20px max(32px,env(safe-area-inset-bottom))}.bottom-sheet-handle{width:40px;height:5px;background:#c4c4c4;border-radius:3px;margin:8px auto 20px}body.dark .bottom-sheet-handle{background:#5c5c5c}.fb-modal-large{--max-height: 80vh}.modal-content-fb{background:var(--fb-card);padding:24px 20px}.modal-content-fb h2{font-size:20px;font-weight:700;color:var(--fb-text);margin:0 0 20px;text-align:center}.modal-scrollable{max-height:70vh;overflow-y:auto}.language-list{display:flex;flex-direction:column;gap:8px}.language-option{display:flex;width:100%;border:0;align-items:center;justify-content:space-between;padding:14px 16px;background:var(--fb-bg);border-radius:10px;cursor:pointer;font-size:16px;color:var(--fb-text);font:inherit;text-align:inherit;transition:background .2s}.language-option:hover{background:var(--fb-hover)}.language-option.selected{background:var(--fb-active)}.language-option ion-icon{color:var(--fb-primary);font-size:22px}.contact-list{display:flex;flex-direction:column;gap:10px}.contact-option{display:flex;align-items:center;gap:14px;padding:14px;background:var(--fb-bg);border-radius:10px;cursor:pointer;transition:all .2s}.contact-option:hover{background:var(--fb-hover)}.contact-option .contact-icon{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.contact-option .contact-icon ion-icon{font-size:22px;color:#fff}.contact-option .contact-icon.blue{background:#1877f2}.contact-option .contact-icon.green{background:#25d366}.contact-option .contact-icon.teal{background:#00897b}.contact-option h4{font-size:16px;font-weight:600;color:var(--fb-text);margin:0}.contact-option p{font-size:14px;color:var(--fb-secondary);margin:4px 0 0}.privacy-content h3{font-size:16px;font-weight:600;color:var(--fb-text);margin:0 0 8px}.privacy-content p{font-size:14px;color:var(--fb-secondary);line-height:1.6;margin:0 0 20px}.privacy-content p:last-child{margin-bottom:0}.about-modal{text-align:center}.about-logo{width:72px;height:72px;border-radius:18px;background:linear-gradient(135deg,#20a368,#1c8f5b);display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 16px;box-shadow:0 6px 20px #667eea4d}.about-modal h2{margin-bottom:4px!important}.about-version{font-size:14px;color:var(--fb-secondary);margin:0 0 20px}.about-desc{font-size:15px;color:var(--fb-secondary);line-height:1.6;margin:0 0 24px}.about-footer{font-size:13px;color:var(--fb-secondary)}.logout-modal-content{text-align:center}.logout-icon{width:64px;height:64px;border-radius:50%;background:#e539351a;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.logout-icon ion-icon{font-size:32px;color:#e53935}.logout-modal-content h2{margin-bottom:8px!important}.logout-desc{font-size:15px;color:var(--fb-secondary);line-height:1.5;margin:0 0 24px}.logout-actions{display:flex;gap:12px}.logout-actions ion-button{flex:1;--border-radius: 12px;height:48px;font-weight:600}.logout-actions .cancel-btn{--border-color: var(--fb-border);--color: var(--fb-text)}.logout-actions .logout-btn{--background: #e53935}@media(min-width:768px){.settings-layout{padding:0 24px}.settings-main{padding:24px 0 60px}.settings-header-fb h1{font-size:32px}.quick-cards{grid-template-columns:repeat(4,1fr)}.quick-card{padding:20px}.quick-icon{font-size:36px}.fb-modal.bottom-sheet{--width: min(620px, calc(100vw - 48px) );--max-width: 620px;--height: auto;--max-height: calc(100dvh - 48px) ;--border-radius: 20px;align-items:center}.fb-modal.bottom-sheet::part(content){margin:0;border-radius:20px;box-shadow:0 20px 56px #0003}.bottom-sheet .modal-content-fb{padding:32px}.bottom-sheet .modal-scrollable{max-height:calc(100dvh - 128px)}.bottom-sheet-handle{display:none}}@media(min-width:1024px){.settings-layout{max-width:800px;padding:0 40px}.settings-main{padding:32px 0 80px}.settings-header-fb{margin-bottom:28px}.settings-header-fb h1{font-size:36px}.main-search{padding:14px 20px;border-radius:28px;margin-bottom:24px}.main-search input{font-size:17px}.profile-card-fb{padding:20px;border-radius:16px;margin-bottom:28px}.profile-card-fb:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001a}.profile-avatar-fb{width:64px;height:64px}.profile-name-fb{font-size:18px}.profile-email-fb{font-size:15px}.welcome-auth-card{padding:24px;border-radius:20px;margin-bottom:28px}.welcome-icon{width:64px;height:64px}.welcome-text h3{font-size:20px}.welcome-text p{font-size:15px}.welcome-btn{padding:14px 12px;font-size:14px;border-radius:12px}.quick-access{margin-bottom:32px}.quick-access h3{font-size:18px;margin-bottom:16px}.quick-cards{gap:16px}.quick-card{padding:24px;border-radius:16px}.quick-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.quick-icon{font-size:40px;margin-bottom:14px}.quick-card h4{font-size:16px}.quick-card p{font-size:14px}.settings-section-fb{margin-bottom:28px}.settings-section-fb h3{font-size:16px;margin-bottom:14px}.settings-card{border-radius:16px;margin-bottom:10px}.setting-row{padding:16px 20px}.setting-icon{width:44px;height:44px}.setting-icon ion-icon{font-size:22px}.setting-label{font-size:17px}.setting-desc{font-size:14px}.setting-value{font-size:16px}.settings-footer-fb{padding:32px 0}.settings-footer-fb p{font-size:14px}.fb-modal{--max-width: 500px}.modal-content-fb{padding:28px 24px}.modal-content-fb h2{font-size:22px;margin-bottom:24px}.language-option{padding:16px 20px;font-size:17px;border-radius:12px}.contact-option{padding:16px;border-radius:12px}.contact-option .contact-icon{width:48px;height:48px}.contact-option h4{font-size:17px}.contact-option p{font-size:15px}}@media(min-width:1440px){.settings-layout{max-width:900px;padding:0 60px}.settings-main{padding:40px 0 100px}.settings-header-fb h1{font-size:40px}.quick-cards{gap:20px}.quick-card{padding:28px}}@media(max-width:374px){.settings-header-fb h1{font-size:24px}.quick-cards{grid-template-columns:1fr}.quick-card{display:flex;align-items:center;gap:14px;padding:14px}.quick-icon{font-size:28px;margin-bottom:0}.quick-card h4,.quick-card p{text-align:start}.profile-avatar-fb{width:48px;height:48px}.profile-avatar-fb ion-icon{font-size:24px}.setting-icon{width:36px;height:36px}.setting-icon ion-icon{font-size:18px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.settings-card{animation:fadeIn .25s ease}.quick-card{animation:fadeIn .3s ease;animation-fill-mode:both}.quick-card:nth-child(1){animation-delay:.05s}.quick-card:nth-child(2){animation-delay:.1s}.quick-card:nth-child(3){animation-delay:.15s}.quick-card:nth-child(4){animation-delay:.2s}body.dark .quick-card:hover{box-shadow:0 4px 16px #0000004d}body.dark .profile-card-fb:hover{box-shadow:0 4px 12px #0000004d}body.dark .about-logo{box-shadow:0 6px 20px #0006}.permission-badge{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:14px;font-weight:600;flex-shrink:0}.permission-badge.granted{background:#34c75920;color:#34c759}.permission-badge.denied{background:#ff3b3020;color:#ff3b30}.permission-badge.prompt,.permission-badge.unavailable{background:#ff950020;color:#ff9500}.delete-account-modal{text-align:center}.delete-icon{width:80px;height:80px;border-radius:50%;background:#ff3b301a;display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.delete-icon ion-icon{font-size:40px;color:#ff3b30}.delete-warning{color:var(--fb-secondary);font-size:14px;line-height:1.5;margin-bottom:16px;text-align:start}.delete-list{text-align:start;padding-inline-start:20px;margin:0 0 20px;color:var(--fb-secondary);font-size:13px;line-height:1.8}.delete-list li{margin-bottom:4px}.delete-confirm-text{color:var(--fb-text);font-size:14px;font-weight:600;margin-bottom:12px;text-align:start}.delete-confirm-input{--background: var(--fb-hover);--border-radius: 12px;--padding-start: 16px;--padding-end: 16px;--padding-top: 12px;--padding-bottom: 12px;font-size:16px;text-align:center;letter-spacing:2px;font-weight:600;margin-bottom:20px;border:2px solid var(--fb-border);border-radius:12px}.delete-confirm-input:focus-within{border-color:#ff3b30}.delete-actions{display:flex;gap:12px}.delete-actions .cancel-btn{flex:1;--border-radius: 12px;--border-color: var(--fb-border);--color: var(--fb-text);height:48px;font-weight:600}.delete-actions .delete-btn{flex:1;--border-radius: 12px;--background: #ff3b30;height:48px;font-weight:600}.delete-actions .delete-btn:disabled{--background: #ff3b3050;opacity:.6}.danger-zone-section{margin-top:40px;padding-top:20px;border-top:1px dashed rgba(229,57,53,.3)}.danger-zone-warning{display:flex;align-items:center;gap:10px;background:#ff3b3014;border:1px solid rgba(255,59,48,.2);border-radius:10px;padding:12px 16px;margin-bottom:12px}.danger-zone-warning ion-icon{font-size:20px;color:#ff3b30;flex-shrink:0}.danger-zone-warning span{font-size:13px;color:#ff3b30;font-weight:500}body.dark .danger-zone-warning{background:#ff3b301f;border-color:#ff3b3040}body.dark .danger-zone-section{border-top-color:#ff3b3033}.app-page-header{--aph-bg: #f5f5f7;--aph-card: #ffffff;--aph-text: #1c1c1e;--aph-border: rgba(0, 0, 0, .06);display:flex;align-items:center;gap:12px;padding:12px 16px;position:sticky;top:0;z-index:20;background:var(--aph-bg);padding-top:calc(12px + env(safe-area-inset-top,0px))}body.dark .app-page-header{--aph-bg: #000000;--aph-card: #1c1c1e;--aph-text: #f5f5f7;--aph-border: rgba(255, 255, 255, .08)}.app-page-header-back{flex-shrink:0;width:40px;height:40px;border-radius:50%;border:none;background:var(--aph-card);color:var(--aph-text);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 3px #0000000f,0 4px 12px #0000000a;transition:transform .2s cubic-bezier(.32,.72,0,1),background .2s ease}.app-page-header-back:hover{background:var(--aph-border)}.app-page-header-back:active{transform:scale(.92)}.app-page-header-back ion-icon{font-size:20px}.app-page-header-title{flex:1;min-width:0;margin:0;font-size:20px;font-weight:700;letter-spacing:-.3px;color:var(--aph-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-page-header-trailing{flex-shrink:0;display:flex;align-items:center;gap:8px;min-width:40px;justify-content:flex-end}@media(min-width:768px){.app-page-header{padding-inline:24px;max-width:900px;margin:0 auto;width:100%}.app-page-header-title{font-size:22px}}@media(min-width:1024px){.app-page-header{padding-inline:32px;max-width:1000px}.app-page-header-back{width:44px;height:44px}.app-page-header-back ion-icon{font-size:22px}.app-page-header-title{font-size:24px}}.course-search-page{--bg: #f0f2f5;--card: #ffffff;--text: #050505;--secondary: #65676b;--border: #dadde1;--hover: #f2f2f2;--primary: #20a368;--primary-light: rgba(32, 163, 104, .1)}body.dark .course-search-page{--bg: #18191a;--card: #242526;--text: #e4e6eb;--secondary: #b0b3b8;--border: #3e4042;--hover: #3a3b3c;--primary-light: rgba(32, 163, 104, .2)}.course-search-content{--background: var(--bg);--overflow-scroll: hidden}.course-search-content::part(scroll){overscroll-behavior:none}.course-search-layout{max-width:900px;margin:0 auto;padding:0 16px 100px;background:var(--bg);min-height:100%}.search-header-sticky{position:sticky;top:0;z-index:10;background:var(--bg);margin:0 -16px;padding:16px;padding-top:calc(16px + env(safe-area-inset-top,0px))}.search-input-container{display:flex;align-items:center;gap:12px;background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 16px;transition:all .2s ease}.search-input-container:focus-within{box-shadow:none}.search-icon{font-size:20px;color:var(--secondary);flex-shrink:0}.search-input{flex:1;border:none;background:transparent;font-size:16px;color:var(--text);outline:none}.search-input::placeholder{color:var(--secondary)}.filter-chips-row{display:flex;flex-direction:column;gap:12px;padding:16px 0}.filter-chip-group{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}.filter-chip-group::-webkit-scrollbar{display:none}.filter-chip{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--card);border:1px solid var(--border);border-radius:20px;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease;white-space:nowrap;flex-shrink:0}.filter-chip:hover{background:var(--hover)}.filter-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.filter-chip.mode.active{background:#34c759;border-color:#34c759}.advanced-filters-row{display:flex;align-items:center;gap:10px;padding-bottom:12px;flex-wrap:wrap}.advanced-filter-btn{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--card);border:1px solid var(--border);border-radius:10px;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease}.advanced-filter-btn:hover{background:var(--hover)}.advanced-filter-btn.active{background:var(--primary);border-color:var(--primary);color:#fff}.advanced-filter-btn .chevron{font-size:16px;transition:transform .2s ease}.advanced-filter-btn .chevron.open{transform:rotate(180deg)}.clear-filters-btn{display:flex;align-items:center;gap:4px;padding:8px 12px;background:#ff3b30;border:none;border-radius:10px;font-size:13px;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease}.clear-filters-btn:hover{background:#e53935}.active-filter-badge{padding:6px 12px;background:#34c759;border-radius:16px;font-size:12px;font-weight:500;color:#fff}.filters-panel{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:20px;margin-bottom:16px;animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.filter-section{margin-bottom:20px}.filter-section:last-child{margin-bottom:0}.filter-label{display:block;font-size:14px;font-weight:600;color:var(--text);margin-bottom:10px}.price-range-inputs{display:flex;align-items:center;gap:12px}.price-input{flex:1;padding:10px 14px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:14px;color:var(--text);outline:none;transition:border-color .2s}.price-input:focus{border-color:var(--primary)}.price-separator{color:var(--secondary);font-weight:500}.verified-toggle{display:flex;align-items:center;gap:6px;padding:10px 16px;background:var(--bg);border:1px solid var(--border);border-radius:10px;font-size:14px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease}.verified-toggle:hover{background:var(--hover)}.verified-toggle.active{background:#34c759;border-color:#34c759;color:#fff}.category-chips{display:flex;flex-wrap:wrap;gap:8px}.category-chip{padding:8px 14px;background:var(--bg);border:1px solid var(--border);border-radius:20px;font-size:13px;font-weight:500;color:var(--text);cursor:pointer;transition:all .2s ease}.category-chip:hover{background:var(--hover)}.category-chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.results-header{display:flex;align-items:center;gap:8px;padding:8px 0 16px}.filter-spinner{width:16px;height:16px;color:var(--primary)}.results-count{font-size:14px;color:var(--secondary)}.results-list{display:flex;flex-direction:column;gap:12px}.skeleton-card{margin:0;border-radius:12px;border:1px solid var(--border);box-shadow:none}.skeleton-card ion-card-content{padding:16px}.skeleton-content{display:flex;gap:12px}.skeleton-avatar{width:60px;height:60px;border-radius:12px}.skeleton-info{flex:1}.skeleton-title{width:70%;height:18px;margin-bottom:8px;border-radius:4px}.skeleton-subtitle{width:50%;height:14px;margin-bottom:8px;border-radius:4px}.skeleton-meta{width:40%;height:14px;border-radius:4px}.empty-state{text-align:center;padding:60px 24px}.empty-icon{width:80px;height:80px;border-radius:20px;background:var(--hover);display:flex;align-items:center;justify-content:center;margin:0 auto 20px}.empty-icon ion-icon{font-size:36px;color:var(--secondary)}.empty-state h3{font-size:18px;font-weight:600;color:var(--text);margin:0 0 8px}.empty-state p{font-size:15px;color:var(--secondary);margin:0}@media(min-width:768px){.course-search-layout{padding:0 24px 100px}.search-header-sticky{margin:0 -24px;padding-left:24px;padding-right:24px}.filter-chips-row{flex-direction:row;flex-wrap:wrap}.filters-panel{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.filter-section{margin-bottom:0}.filter-section:last-child{grid-column:span 2}}@media(max-width:374px){.filter-chip{padding:8px 12px;font-size:13px}.advanced-filter-btn{padding:6px 10px;font-size:13px}}body.dark .skeleton-card{background:var(--card)}body.dark .filters-panel{box-shadow:0 4px 16px #0000004d}@media(min-width:1024px){.course-search-layout{max-width:1200px;padding:0 40px 100px;margin:0 auto}.search-header-sticky{margin:0 -40px;padding:20px 40px;padding-top:calc(20px + env(safe-area-inset-top,0px));display:flex;justify-content:center}.search-input-container{max-width:600px;width:100%;padding:14px 20px;border-radius:16px;background:var(--card)}.search-icon{font-size:22px}.search-input{font-size:17px}.filter-chips-row{padding:20px 0;gap:16px;justify-content:center;align-items:center}.filter-chip-group{justify-content:center;flex-wrap:wrap;overflow-x:visible;gap:10px}.filter-chip{padding:12px 20px;font-size:15px;border-radius:24px}.advanced-filters-row{justify-content:center;gap:12px;padding-bottom:16px}.advanced-filter-btn{padding:10px 18px;font-size:15px;border-radius:12px}.clear-filters-btn{padding:10px 16px;font-size:14px;border-radius:12px}.active-filter-badge{padding:8px 16px;font-size:13px}.filters-panel{max-width:800px;margin:0 auto 20px;padding:24px;border-radius:20px;grid-template-columns:repeat(3,1fr)}.filter-section:last-child{grid-column:span 3}.filter-label{font-size:15px;margin-bottom:12px}.price-input{padding:12px 16px;font-size:15px;border-radius:12px}.verified-toggle{padding:12px 20px;font-size:15px;border-radius:12px}.category-chip{padding:10px 18px;font-size:14px;border-radius:24px}.results-header{padding:12px 0 20px;justify-content:center}.results-count{font-size:15px}.results-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.skeleton-card{border-radius:16px}.skeleton-card ion-card-content{padding:20px}.empty-state{padding:80px 40px}.empty-icon{width:100px;height:100px;border-radius:24px}.empty-icon ion-icon{font-size:44px}.empty-state h3{font-size:22px}.empty-state p{font-size:16px}}@media(min-width:1440px){.course-search-layout{max-width:1400px;padding:0 60px 100px}.search-header-sticky{margin:0 -60px;padding:24px 60px}.search-input-container{max-width:700px}.filters-panel{max-width:900px}.results-list{grid-template-columns:repeat(3,1fr);gap:20px}}.not-found-content{--background: linear-gradient(180deg, #f8f9fa 0%, #ffffff 100%)}body.dark .not-found-content{--background: linear-gradient(180deg, #021a32 0%, #0a3d62 100%)}.not-found-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100%;padding:40px 24px;text-align:center}.not-found-illustration{position:relative;margin-bottom:32px}.not-found-number{display:flex;align-items:center;justify-content:center;gap:8px}.digit{font-size:80px;font-weight:800;color:#021a32;line-height:1;animation:bounce 2s ease-in-out infinite}body.dark .digit{color:#fff}.digit:nth-child(1){animation-delay:0s}.digit:nth-child(3){animation-delay:.4s}.digit.zero{position:relative;width:70px;height:90px;background:linear-gradient(135deg,#20a368,#1c8f5b);border-radius:50%;display:flex;align-items:center;justify-content:center;animation:pulse 2s ease-in-out infinite;animation-delay:.2s}.zero-inner{width:30px;height:40px;background:#f8f9fa;border-radius:50%}body.dark .zero-inner{background:#021a32}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.not-found-decoration{position:absolute;inset:0;pointer-events:none}.floating-shape{position:absolute;border-radius:50%;opacity:.3;animation:float 4s ease-in-out infinite}.shape-1{width:20px;height:20px;background:#fcd36c;top:-10px;left:20%;animation-delay:0s}.shape-2{width:14px;height:14px;background:#20a368;bottom:10px;right:15%;animation-delay:1s}.shape-3{width:10px;height:10px;background:#c59d5f;top:30%;right:5%;animation-delay:2s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-15px) rotate(180deg)}}.not-found-text{margin-bottom:32px}.not-found-title{font-size:24px;font-weight:700;color:#021a32;margin:0 0 12px}body.dark .not-found-title{color:#fff}.not-found-description{font-size:15px;color:#6c757d;margin:0;max-width:300px;line-height:1.5}body.dark .not-found-description{color:#a0a0a5}.not-found-actions{width:100%;max-width:300px;display:flex;flex-direction:column;gap:12px}.not-found-btn{--border-radius: 12px;font-weight:600;height:48px}.not-found-btn.primary{--background: linear-gradient(135deg, #20a368 0%, #1c8f5b 100%);--box-shadow: 0 4px 12px rgba(32, 163, 104, .3)}.not-found-btn.secondary{--border-color: #20a368;--color: #20a368;--background: transparent}body.dark .not-found-btn.secondary{--border-color: #2db876;--color: #2db876;--background: transparent}.not-found-btn.back{--color: #6c757d;margin-top:8px}body.dark .not-found-btn.back{--color: #a0a0a5}.not-found-help{font-size:12px;color:#8e8e93;margin-top:32px;max-width:280px}body.dark .not-found-help{color:#6c757d}@media(min-width:768px){.digit{font-size:120px}.digit.zero{width:100px;height:130px}.zero-inner{width:45px;height:60px}.not-found-title{font-size:28px}.not-found-description{font-size:16px;max-width:400px}.not-found-actions{max-width:350px}}[dir=rtl] .not-found-btn ion-icon[slot=start]{margin-left:8px;margin-right:0}:root{--ion-color-primary: #0054e9;--ion-color-primary-rgb: 0, 84, 233;--ion-color-primary-contrast: #fff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #004acd;--ion-color-primary-tint: #1a65eb;--ion-color-secondary: #0163aa;--ion-color-secondary-rgb: 1, 99, 170;--ion-color-secondary-contrast: #fff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #015796;--ion-color-secondary-tint: #1a73b3;--ion-color-tertiary: #6030ff;--ion-color-tertiary-rgb: 96, 48, 255;--ion-color-tertiary-contrast: #fff;--ion-color-tertiary-contrast-rgb: 255, 255, 255;--ion-color-tertiary-shade: #542ae0;--ion-color-tertiary-tint: #7045ff;--ion-color-success: #2dd55b;--ion-color-success-rgb: 45, 213, 91;--ion-color-success-contrast: #000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #28bb50;--ion-color-success-tint: #42d96b;--ion-color-warning: #ffc409;--ion-color-warning-rgb: 255, 196, 9;--ion-color-warning-contrast: #000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0ac08;--ion-color-warning-tint: #ffca22;--ion-color-danger: #c5000f;--ion-color-danger-rgb: 197, 0, 15;--ion-color-danger-contrast: #fff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #ad000d;--ion-color-danger-tint: #cb1a27;--ion-color-light: #f4f5f8;--ion-color-light-rgb: 244, 245, 248;--ion-color-light-contrast: #000;--ion-color-light-contrast-rgb: 0, 0, 0;--ion-color-light-shade: #d7d8da;--ion-color-light-tint: #f5f6f9;--ion-color-medium: #636469;--ion-color-medium-rgb: 99, 100, 105;--ion-color-medium-contrast: #fff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #57585c;--ion-color-medium-tint: #737478;--ion-color-dark: #222428;--ion-color-dark-rgb: 34, 36, 40;--ion-color-dark-contrast: #fff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #1e2023;--ion-color-dark-tint: #383a3e}html.ios{--ion-default-font: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Roboto", sans-serif}html.md{--ion-default-font: "Roboto", "Helvetica Neue", sans-serif}html{--ion-dynamic-font: -apple-system-body;--ion-font-family: var(--ion-default-font)}body{background:var(--ion-background-color);color:var(--ion-text-color)}body.backdrop-no-scroll{overflow:hidden}html.ios ion-modal.modal-card ion-header ion-toolbar:first-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:first-of-type,html.ios ion-modal ion-footer ion-toolbar:first-of-type,html.ios ion-footer.modal-footer-moving ion-toolbar:first-of-type{padding-top:6px}html.ios ion-modal.modal-card ion-header ion-toolbar:last-of-type,html.ios ion-modal.modal-sheet ion-header ion-toolbar:last-of-type{padding-bottom:6px}html.ios ion-modal ion-toolbar,html.ios .modal-footer-moving ion-toolbar{padding-right:calc(var(--ion-safe-area-right) + 8px);padding-left:calc(var(--ion-safe-area-left) + 8px)}@media screen and (min-width:768px){html.ios ion-modal.modal-card:first-of-type{--backdrop-opacity: .18}}ion-modal.modal-default.show-modal~ion-modal.modal-default{--backdrop-opacity: 0;--box-shadow: none}html.ios ion-modal.modal-card .ion-page{border-top-left-radius:var(--border-radius)}.ion-color-primary{--ion-color-base: var(--ion-color-primary, #0054e9) !important;--ion-color-base-rgb: var(--ion-color-primary-rgb, 0, 84, 233) !important;--ion-color-contrast: var(--ion-color-primary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-primary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-primary-shade, #004acd) !important;--ion-color-tint: var(--ion-color-primary-tint, #1a65eb) !important}.ion-color-secondary{--ion-color-base: var(--ion-color-secondary, #0163aa) !important;--ion-color-base-rgb: var(--ion-color-secondary-rgb, 1, 99, 170) !important;--ion-color-contrast: var(--ion-color-secondary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-secondary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-secondary-shade, #015796) !important;--ion-color-tint: var(--ion-color-secondary-tint, #1a73b3) !important}.ion-color-tertiary{--ion-color-base: var(--ion-color-tertiary, #6030ff) !important;--ion-color-base-rgb: var(--ion-color-tertiary-rgb, 96, 48, 255) !important;--ion-color-contrast: var(--ion-color-tertiary-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-tertiary-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-tertiary-shade, #542ae0) !important;--ion-color-tint: var(--ion-color-tertiary-tint, #7045ff) !important}.ion-color-success{--ion-color-base: var(--ion-color-success, #2dd55b) !important;--ion-color-base-rgb: var(--ion-color-success-rgb, 45, 213, 91) !important;--ion-color-contrast: var(--ion-color-success-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-success-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-success-shade, #28bb50) !important;--ion-color-tint: var(--ion-color-success-tint, #42d96b) !important}.ion-color-warning{--ion-color-base: var(--ion-color-warning, #ffc409) !important;--ion-color-base-rgb: var(--ion-color-warning-rgb, 255, 196, 9) !important;--ion-color-contrast: var(--ion-color-warning-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-warning-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-warning-shade, #e0ac08) !important;--ion-color-tint: var(--ion-color-warning-tint, #ffca22) !important}.ion-color-danger{--ion-color-base: var(--ion-color-danger, #c5000f) !important;--ion-color-base-rgb: var(--ion-color-danger-rgb, 197, 0, 15) !important;--ion-color-contrast: var(--ion-color-danger-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-danger-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-danger-shade, #ad000d) !important;--ion-color-tint: var(--ion-color-danger-tint, #cb1a27) !important}.ion-color-light{--ion-color-base: var(--ion-color-light, #f4f5f8) !important;--ion-color-base-rgb: var(--ion-color-light-rgb, 244, 245, 248) !important;--ion-color-contrast: var(--ion-color-light-contrast, #000) !important;--ion-color-contrast-rgb: var(--ion-color-light-contrast-rgb, 0, 0, 0) !important;--ion-color-shade: var(--ion-color-light-shade, #d7d8da) !important;--ion-color-tint: var(--ion-color-light-tint, #f5f6f9) !important}.ion-color-medium{--ion-color-base: var(--ion-color-medium, #636469) !important;--ion-color-base-rgb: var(--ion-color-medium-rgb, 99, 100, 105) !important;--ion-color-contrast: var(--ion-color-medium-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-medium-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-medium-shade, #57585c) !important;--ion-color-tint: var(--ion-color-medium-tint, #737478) !important}.ion-color-dark{--ion-color-base: var(--ion-color-dark, #222428) !important;--ion-color-base-rgb: var(--ion-color-dark-rgb, 34, 36, 40) !important;--ion-color-contrast: var(--ion-color-dark-contrast, #fff) !important;--ion-color-contrast-rgb: var(--ion-color-dark-contrast-rgb, 255, 255, 255) !important;--ion-color-shade: var(--ion-color-dark-shade, #1e2023) !important;--ion-color-tint: var(--ion-color-dark-tint, #383a3e) !important}.ion-page{inset:0;display:flex;position:absolute;flex-direction:column;justify-content:space-between;contain:layout size style;z-index:0}ion-modal>.ion-page{position:relative;contain:layout style;height:100%}.split-pane-visible>.ion-page.split-pane-main{position:relative}ion-route,ion-route-redirect,ion-router,ion-select-option,ion-nav-controller,ion-menu-controller,ion-action-sheet-controller,ion-alert-controller,ion-loading-controller,ion-modal-controller,ion-picker-controller,ion-popover-controller,ion-toast-controller,.ion-page-hidden{display:none!important}.can-go-back>ion-header ion-back-button{display:block}html.plt-ios.plt-hybrid,html.plt-ios.plt-pwa{--ion-statusbar-padding: 20px}@supports (padding-top: 20px){html{--ion-safe-area-top: var(--ion-statusbar-padding)}}@supports (padding-top: env(safe-area-inset-top)){html{--ion-safe-area-top: env(safe-area-inset-top);--ion-safe-area-bottom: env(safe-area-inset-bottom);--ion-safe-area-left: env(safe-area-inset-left);--ion-safe-area-right: env(safe-area-inset-right)}}ion-card.ion-color .ion-inherit-color,ion-card-header.ion-color .ion-inherit-color{color:inherit}.menu-content{transform:translateZ(0)}.menu-content-open{cursor:pointer;touch-action:manipulation;pointer-events:none;overflow-y:hidden}.menu-content-open ion-content{--overflow: hidden}.menu-content-open .ion-content-scroll-host{overflow:hidden}.ios .menu-content-reveal{box-shadow:-8px 0 42px #00000014}[dir=rtl].ios .menu-content-reveal{box-shadow:8px 0 42px #00000014}.md .menu-content-reveal,.md .menu-content-push{box-shadow:4px 0 16px #0000002e}ion-accordion-group.accordion-group-expand-inset>ion-accordion:first-of-type{border-top-left-radius:8px;border-top-right-radius:8px}ion-accordion-group.accordion-group-expand-inset>ion-accordion:last-of-type{border-bottom-left-radius:8px;border-bottom-right-radius:8px}ion-accordion-group>ion-accordion:last-of-type ion-item[slot=header]{--border-width: 0px}ion-accordion.accordion-animated>[slot=header] .ion-accordion-toggle-icon{transition:.3s transform cubic-bezier(.25,.8,.5,1)}@media(prefers-reduced-motion:reduce){ion-accordion .ion-accordion-toggle-icon{transition:none!important}}ion-accordion.accordion-expanding>[slot=header] .ion-accordion-toggle-icon,ion-accordion.accordion-expanded>[slot=header] .ion-accordion-toggle-icon{transform:rotate(180deg)}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-previous ion-item[slot=header]{--border-width: 0px;--inner-border-width: 0px}ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanding:first-of-type,ion-accordion-group.accordion-group-expand-inset.md>ion-accordion.accordion-expanded:first-of-type{margin-top:0}ion-input input::-webkit-date-and-time-value{text-align:start}.ion-datetime-button-overlay{--width: fit-content;--height: fit-content}.ion-datetime-button-overlay ion-datetime.datetime-grid{width:320px;min-height:320px}[ion-last-focus],header[tabindex="-1"]:focus,[role=banner][tabindex="-1"]:focus,main[tabindex="-1"]:focus,[role=main][tabindex="-1"]:focus,h1[tabindex="-1"]:focus,[role=heading][aria-level="1"][tabindex="-1"]:focus{outline:none}.popover-viewport:has(>ion-content){overflow:hidden}@supports not selector(:has(> ion-content)){.popover-viewport{overflow:hidden}}audio,canvas,progress,video{vertical-align:baseline}audio:not([controls]){display:none;height:0}b,strong{font-weight:700}img{max-width:100%}hr{height:1px;border-width:0;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}label,input,select,textarea{font-family:inherit;line-height:normal}textarea{overflow:auto;height:auto;font:inherit;color:inherit}textarea::placeholder{padding-left:2px}form,input,optgroup,select{margin:0;font:inherit;color:inherit}html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}a,a div,a span,a ion-icon,a ion-label,button,button div,button span,button ion-icon,button ion-label,.ion-tappable,[tappable],[tappable] div,[tappable] span,[tappable] ion-icon,[tappable] ion-label,input,textarea{touch-action:manipulation}a ion-label,button ion-label{pointer-events:none}button{padding:0;border:0;border-radius:0;font-family:inherit;font-style:inherit;font-variant:inherit;line-height:1;text-transform:none;cursor:pointer;-webkit-appearance:button}[tappable]{cursor:pointer}a[disabled],button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}*{box-sizing:border-box;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}html{width:100%;height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}html.ion-ce body{display:block}html.plt-pwa{height:100vh}body{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin:0;padding:0;position:fixed;width:100%;max-width:100%;height:100%;max-height:100%;transform:translateZ(0);text-rendering:optimizeLegibility;overflow:hidden;touch-action:manipulation;-webkit-user-drag:none;-ms-content-zooming:none;word-wrap:break-word;overscroll-behavior-y:none;-webkit-text-size-adjust:none;text-size-adjust:none}html{font-family:var(--ion-font-family)}@supports (-webkit-touch-callout: none){html{font:var(--ion-dynamic-font, 16px var(--ion-font-family))}}a{background-color:transparent;color:var(--ion-color-primary, #0054e9)}h1,h2,h3,h4,h5,h6{margin-top:16px;margin-bottom:10px;font-weight:500;line-height:1.2}h1{margin-top:20px;font-size:1.625rem}h2{margin-top:18px;font-size:1.5rem}h3{font-size:1.375rem}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}small{font-size:75%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}.ion-no-padding{--padding-start: 0;--padding-end: 0;--padding-top: 0;--padding-bottom: 0;padding:0}.ion-padding{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-top{--padding-top: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px)}.ion-padding-start{--padding-start: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px)}.ion-padding-end{--padding-end: var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-padding-bottom{--padding-bottom: var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-vertical{--padding-top: var(--ion-padding, 16px);--padding-bottom: var(--ion-padding, 16px);padding-top:var(--ion-padding, 16px);padding-bottom:var(--ion-padding, 16px)}.ion-padding-horizontal{--padding-start: var(--ion-padding, 16px);--padding-end: var(--ion-padding, 16px);-webkit-padding-start:var(--ion-padding, 16px);padding-inline-start:var(--ion-padding, 16px);-webkit-padding-end:var(--ion-padding, 16px);padding-inline-end:var(--ion-padding, 16px)}.ion-no-margin{--margin-start: 0;--margin-end: 0;--margin-top: 0;--margin-bottom: 0;margin:0}.ion-margin{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-top{--margin-top: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px)}.ion-margin-start{--margin-start: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px)}.ion-margin-end{--margin-end: var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-margin-bottom{--margin-bottom: var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-vertical{--margin-top: var(--ion-margin, 16px);--margin-bottom: var(--ion-margin, 16px);margin-top:var(--ion-margin, 16px);margin-bottom:var(--ion-margin, 16px)}.ion-margin-horizontal{--margin-start: var(--ion-margin, 16px);--margin-end: var(--ion-margin, 16px);-webkit-margin-start:var(--ion-margin, 16px);margin-inline-start:var(--ion-margin, 16px);-webkit-margin-end:var(--ion-margin, 16px);margin-inline-end:var(--ion-margin, 16px)}.ion-float-left{float:left!important}.ion-float-right{float:right!important}.ion-float-start{float:left!important}:host-context([dir=rtl]) .ion-float-start{float:right!important}[dir=rtl] .ion-float-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-start:dir(rtl){float:right!important}}.ion-float-end{float:right!important}:host-context([dir=rtl]) .ion-float-end{float:left!important}[dir=rtl] .ion-float-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-end:dir(rtl){float:left!important}}@media(min-width:576px){.ion-float-sm-left{float:left!important}.ion-float-sm-right{float:right!important}.ion-float-sm-start{float:left!important}:host-context([dir=rtl]) .ion-float-sm-start{float:right!important}[dir=rtl] .ion-float-sm-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-sm-start:dir(rtl){float:right!important}}.ion-float-sm-end{float:right!important}:host-context([dir=rtl]) .ion-float-sm-end{float:left!important}[dir=rtl] .ion-float-sm-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-sm-end:dir(rtl){float:left!important}}}@media(min-width:768px){.ion-float-md-left{float:left!important}.ion-float-md-right{float:right!important}.ion-float-md-start{float:left!important}:host-context([dir=rtl]) .ion-float-md-start{float:right!important}[dir=rtl] .ion-float-md-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-md-start:dir(rtl){float:right!important}}.ion-float-md-end{float:right!important}:host-context([dir=rtl]) .ion-float-md-end{float:left!important}[dir=rtl] .ion-float-md-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-md-end:dir(rtl){float:left!important}}}@media(min-width:992px){.ion-float-lg-left{float:left!important}.ion-float-lg-right{float:right!important}.ion-float-lg-start{float:left!important}:host-context([dir=rtl]) .ion-float-lg-start{float:right!important}[dir=rtl] .ion-float-lg-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-lg-start:dir(rtl){float:right!important}}.ion-float-lg-end{float:right!important}:host-context([dir=rtl]) .ion-float-lg-end{float:left!important}[dir=rtl] .ion-float-lg-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-lg-end:dir(rtl){float:left!important}}}@media(min-width:1200px){.ion-float-xl-left{float:left!important}.ion-float-xl-right{float:right!important}.ion-float-xl-start{float:left!important}:host-context([dir=rtl]) .ion-float-xl-start{float:right!important}[dir=rtl] .ion-float-xl-start{float:right!important}@supports selector(:dir(rtl)){.ion-float-xl-start:dir(rtl){float:right!important}}.ion-float-xl-end{float:right!important}:host-context([dir=rtl]) .ion-float-xl-end{float:left!important}[dir=rtl] .ion-float-xl-end{float:left!important}@supports selector(:dir(rtl)){.ion-float-xl-end:dir(rtl){float:left!important}}}.ion-text-center{text-align:center!important}.ion-text-justify{text-align:justify!important}.ion-text-start{text-align:start!important}.ion-text-end{text-align:end!important}.ion-text-left{text-align:left!important}.ion-text-right{text-align:right!important}.ion-text-nowrap{white-space:nowrap!important}.ion-text-wrap{white-space:normal!important}@media(min-width:576px){.ion-text-sm-center{text-align:center!important}.ion-text-sm-justify{text-align:justify!important}.ion-text-sm-start{text-align:start!important}.ion-text-sm-end{text-align:end!important}.ion-text-sm-left{text-align:left!important}.ion-text-sm-right{text-align:right!important}.ion-text-sm-nowrap{white-space:nowrap!important}.ion-text-sm-wrap{white-space:normal!important}}@media(min-width:768px){.ion-text-md-center{text-align:center!important}.ion-text-md-justify{text-align:justify!important}.ion-text-md-start{text-align:start!important}.ion-text-md-end{text-align:end!important}.ion-text-md-left{text-align:left!important}.ion-text-md-right{text-align:right!important}.ion-text-md-nowrap{white-space:nowrap!important}.ion-text-md-wrap{white-space:normal!important}}@media(min-width:992px){.ion-text-lg-center{text-align:center!important}.ion-text-lg-justify{text-align:justify!important}.ion-text-lg-start{text-align:start!important}.ion-text-lg-end{text-align:end!important}.ion-text-lg-left{text-align:left!important}.ion-text-lg-right{text-align:right!important}.ion-text-lg-nowrap{white-space:nowrap!important}.ion-text-lg-wrap{white-space:normal!important}}@media(min-width:1200px){.ion-text-xl-center{text-align:center!important}.ion-text-xl-justify{text-align:justify!important}.ion-text-xl-start{text-align:start!important}.ion-text-xl-end{text-align:end!important}.ion-text-xl-left{text-align:left!important}.ion-text-xl-right{text-align:right!important}.ion-text-xl-nowrap{white-space:nowrap!important}.ion-text-xl-wrap{white-space:normal!important}}.ion-text-uppercase{text-transform:uppercase!important}.ion-text-lowercase{text-transform:lowercase!important}.ion-text-capitalize{text-transform:capitalize!important}@media(min-width:576px){.ion-text-sm-uppercase{text-transform:uppercase!important}.ion-text-sm-lowercase{text-transform:lowercase!important}.ion-text-sm-capitalize{text-transform:capitalize!important}}@media(min-width:768px){.ion-text-md-uppercase{text-transform:uppercase!important}.ion-text-md-lowercase{text-transform:lowercase!important}.ion-text-md-capitalize{text-transform:capitalize!important}}@media(min-width:992px){.ion-text-lg-uppercase{text-transform:uppercase!important}.ion-text-lg-lowercase{text-transform:lowercase!important}.ion-text-lg-capitalize{text-transform:capitalize!important}}@media(min-width:1200px){.ion-text-xl-uppercase{text-transform:uppercase!important}.ion-text-xl-lowercase{text-transform:lowercase!important}.ion-text-xl-capitalize{text-transform:capitalize!important}}.ion-align-content-start{align-content:flex-start!important}.ion-align-content-end{align-content:flex-end!important}.ion-align-content-center{align-content:center!important}.ion-align-content-between{align-content:space-between!important}.ion-align-content-around{align-content:space-around!important}.ion-align-content-stretch{align-content:stretch!important}@media(min-width:576px){.ion-align-content-sm-start{align-content:flex-start!important}.ion-align-content-sm-end{align-content:flex-end!important}.ion-align-content-sm-center{align-content:center!important}.ion-align-content-sm-between{align-content:space-between!important}.ion-align-content-sm-around{align-content:space-around!important}.ion-align-content-sm-stretch{align-content:stretch!important}}@media(min-width:768px){.ion-align-content-md-start{align-content:flex-start!important}.ion-align-content-md-end{align-content:flex-end!important}.ion-align-content-md-center{align-content:center!important}.ion-align-content-md-between{align-content:space-between!important}.ion-align-content-md-around{align-content:space-around!important}.ion-align-content-md-stretch{align-content:stretch!important}}@media(min-width:992px){.ion-align-content-lg-start{align-content:flex-start!important}.ion-align-content-lg-end{align-content:flex-end!important}.ion-align-content-lg-center{align-content:center!important}.ion-align-content-lg-between{align-content:space-between!important}.ion-align-content-lg-around{align-content:space-around!important}.ion-align-content-lg-stretch{align-content:stretch!important}}@media(min-width:1200px){.ion-align-content-xl-start{align-content:flex-start!important}.ion-align-content-xl-end{align-content:flex-end!important}.ion-align-content-xl-center{align-content:center!important}.ion-align-content-xl-between{align-content:space-between!important}.ion-align-content-xl-around{align-content:space-around!important}.ion-align-content-xl-stretch{align-content:stretch!important}}.ion-align-items-start{align-items:start!important}.ion-align-items-end{align-items:end!important}.ion-align-items-center{align-items:center!important}.ion-align-items-stretch{align-items:stretch!important}.ion-align-items-baseline{align-items:baseline!important}@media(min-width:576px){.ion-align-items-sm-start{align-items:start!important}.ion-align-items-sm-end{align-items:end!important}.ion-align-items-sm-center{align-items:center!important}.ion-align-items-sm-stretch{align-items:stretch!important}.ion-align-items-sm-baseline{align-items:baseline!important}}@media(min-width:768px){.ion-align-items-md-start{align-items:start!important}.ion-align-items-md-end{align-items:end!important}.ion-align-items-md-center{align-items:center!important}.ion-align-items-md-stretch{align-items:stretch!important}.ion-align-items-md-baseline{align-items:baseline!important}}@media(min-width:992px){.ion-align-items-lg-start{align-items:start!important}.ion-align-items-lg-end{align-items:end!important}.ion-align-items-lg-center{align-items:center!important}.ion-align-items-lg-stretch{align-items:stretch!important}.ion-align-items-lg-baseline{align-items:baseline!important}}@media(min-width:1200px){.ion-align-items-xl-start{align-items:start!important}.ion-align-items-xl-end{align-items:end!important}.ion-align-items-xl-center{align-items:center!important}.ion-align-items-xl-stretch{align-items:stretch!important}.ion-align-items-xl-baseline{align-items:baseline!important}}.ion-align-self-start{align-self:start!important}.ion-align-self-end{align-self:end!important}.ion-align-self-center{align-self:center!important}.ion-align-self-stretch{align-self:stretch!important}.ion-align-self-baseline{align-self:baseline!important}.ion-align-self-auto{align-self:auto!important}@media(min-width:576px){.ion-align-self-sm-start{align-self:start!important}.ion-align-self-sm-end{align-self:end!important}.ion-align-self-sm-center{align-self:center!important}.ion-align-self-sm-stretch{align-self:stretch!important}.ion-align-self-sm-baseline{align-self:baseline!important}.ion-align-self-sm-auto{align-self:auto!important}}@media(min-width:768px){.ion-align-self-md-start{align-self:start!important}.ion-align-self-md-end{align-self:end!important}.ion-align-self-md-center{align-self:center!important}.ion-align-self-md-stretch{align-self:stretch!important}.ion-align-self-md-baseline{align-self:baseline!important}.ion-align-self-md-auto{align-self:auto!important}}@media(min-width:992px){.ion-align-self-lg-start{align-self:start!important}.ion-align-self-lg-end{align-self:end!important}.ion-align-self-lg-center{align-self:center!important}.ion-align-self-lg-stretch{align-self:stretch!important}.ion-align-self-lg-baseline{align-self:baseline!important}.ion-align-self-lg-auto{align-self:auto!important}}@media(min-width:1200px){.ion-align-self-xl-start{align-self:start!important}.ion-align-self-xl-end{align-self:end!important}.ion-align-self-xl-center{align-self:center!important}.ion-align-self-xl-stretch{align-self:stretch!important}.ion-align-self-xl-baseline{align-self:baseline!important}.ion-align-self-xl-auto{align-self:auto!important}}.ion-justify-content-start{justify-content:flex-start!important}.ion-justify-content-end{justify-content:flex-end!important}.ion-justify-content-center{justify-content:center!important}.ion-justify-content-between{justify-content:space-between!important}.ion-justify-content-around{justify-content:space-around!important}.ion-justify-content-evenly{justify-content:space-evenly!important}@media(min-width:576px){.ion-justify-content-sm-start{justify-content:flex-start!important}.ion-justify-content-sm-end{justify-content:flex-end!important}.ion-justify-content-sm-center{justify-content:center!important}.ion-justify-content-sm-between{justify-content:space-between!important}.ion-justify-content-sm-around{justify-content:space-around!important}.ion-justify-content-sm-evenly{justify-content:space-evenly!important}}@media(min-width:768px){.ion-justify-content-md-start{justify-content:flex-start!important}.ion-justify-content-md-end{justify-content:flex-end!important}.ion-justify-content-md-center{justify-content:center!important}.ion-justify-content-md-between{justify-content:space-between!important}.ion-justify-content-md-around{justify-content:space-around!important}.ion-justify-content-md-evenly{justify-content:space-evenly!important}}@media(min-width:992px){.ion-justify-content-lg-start{justify-content:flex-start!important}.ion-justify-content-lg-end{justify-content:flex-end!important}.ion-justify-content-lg-center{justify-content:center!important}.ion-justify-content-lg-between{justify-content:space-between!important}.ion-justify-content-lg-around{justify-content:space-around!important}.ion-justify-content-lg-evenly{justify-content:space-evenly!important}}@media(min-width:1200px){.ion-justify-content-xl-start{justify-content:flex-start!important}.ion-justify-content-xl-end{justify-content:flex-end!important}.ion-justify-content-xl-center{justify-content:center!important}.ion-justify-content-xl-between{justify-content:space-between!important}.ion-justify-content-xl-around{justify-content:space-around!important}.ion-justify-content-xl-evenly{justify-content:space-evenly!important}}.ion-flex-row{flex-direction:row!important}.ion-flex-row-reverse{flex-direction:row-reverse!important}.ion-flex-column{flex-direction:column!important}.ion-flex-column-reverse{flex-direction:column-reverse!important}@media(min-width:576px){.ion-flex-sm-row{flex-direction:row!important}.ion-flex-sm-row-reverse{flex-direction:row-reverse!important}.ion-flex-sm-column{flex-direction:column!important}.ion-flex-sm-column-reverse{flex-direction:column-reverse!important}}@media(min-width:768px){.ion-flex-md-row{flex-direction:row!important}.ion-flex-md-row-reverse{flex-direction:row-reverse!important}.ion-flex-md-column{flex-direction:column!important}.ion-flex-md-column-reverse{flex-direction:column-reverse!important}}@media(min-width:992px){.ion-flex-lg-row{flex-direction:row!important}.ion-flex-lg-row-reverse{flex-direction:row-reverse!important}.ion-flex-lg-column{flex-direction:column!important}.ion-flex-lg-column-reverse{flex-direction:column-reverse!important}}@media(min-width:1200px){.ion-flex-xl-row{flex-direction:row!important}.ion-flex-xl-row-reverse{flex-direction:row-reverse!important}.ion-flex-xl-column{flex-direction:column!important}.ion-flex-xl-column-reverse{flex-direction:column-reverse!important}}.ion-wrap{flex-wrap:wrap!important}.ion-nowrap{flex-wrap:nowrap!important}.ion-wrap-reverse{flex-wrap:wrap-reverse!important}.ion-flex-wrap{flex-wrap:wrap!important}.ion-flex-nowrap{flex-wrap:nowrap!important}.ion-flex-wrap-reverse{flex-wrap:wrap-reverse!important}@media(min-width:576px){.ion-flex-sm-wrap{flex-wrap:wrap!important}.ion-flex-sm-nowrap{flex-wrap:nowrap!important}.ion-flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}}@media(min-width:768px){.ion-flex-md-wrap{flex-wrap:wrap!important}.ion-flex-md-nowrap{flex-wrap:nowrap!important}.ion-flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}}@media(min-width:992px){.ion-flex-lg-wrap{flex-wrap:wrap!important}.ion-flex-lg-nowrap{flex-wrap:nowrap!important}.ion-flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}}@media(min-width:1200px){.ion-flex-xl-wrap{flex-wrap:wrap!important}.ion-flex-xl-nowrap{flex-wrap:nowrap!important}.ion-flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}}.ion-flex-1{flex:1!important}.ion-flex-auto{flex:auto!important}.ion-flex-initial{flex:initial!important}.ion-flex-none{flex:none!important}@media(min-width:576px){.ion-flex-sm-1{flex:1!important}.ion-flex-sm-auto{flex:auto!important}.ion-flex-sm-initial{flex:initial!important}.ion-flex-sm-none{flex:none!important}}@media(min-width:768px){.ion-flex-md-1{flex:1!important}.ion-flex-md-auto{flex:auto!important}.ion-flex-md-initial{flex:initial!important}.ion-flex-md-none{flex:none!important}}@media(min-width:992px){.ion-flex-lg-1{flex:1!important}.ion-flex-lg-auto{flex:auto!important}.ion-flex-lg-initial{flex:initial!important}.ion-flex-lg-none{flex:none!important}}@media(min-width:1200px){.ion-flex-xl-1{flex:1!important}.ion-flex-xl-auto{flex:auto!important}.ion-flex-xl-initial{flex:initial!important}.ion-flex-xl-none{flex:none!important}}.ion-flex-grow-0{flex-grow:0!important}.ion-flex-grow-1{flex-grow:1!important}.ion-flex-shrink-0{flex-shrink:0!important}.ion-flex-shrink-1{flex-shrink:1!important}@media(min-width:576px){.ion-flex-sm-grow-0{flex-grow:0!important}.ion-flex-sm-grow-1{flex-grow:1!important}.ion-flex-sm-shrink-0{flex-shrink:0!important}.ion-flex-sm-shrink-1{flex-shrink:1!important}}@media(min-width:768px){.ion-flex-md-grow-0{flex-grow:0!important}.ion-flex-md-grow-1{flex-grow:1!important}.ion-flex-md-shrink-0{flex-shrink:0!important}.ion-flex-md-shrink-1{flex-shrink:1!important}}@media(min-width:992px){.ion-flex-lg-grow-0{flex-grow:0!important}.ion-flex-lg-grow-1{flex-grow:1!important}.ion-flex-lg-shrink-0{flex-shrink:0!important}.ion-flex-lg-shrink-1{flex-shrink:1!important}}@media(min-width:1200px){.ion-flex-xl-grow-0{flex-grow:0!important}.ion-flex-xl-grow-1{flex-grow:1!important}.ion-flex-xl-shrink-0{flex-shrink:0!important}.ion-flex-xl-shrink-1{flex-shrink:1!important}}.ion-order-first{order:-1!important}.ion-order-0{order:0!important}.ion-order-1{order:1!important}.ion-order-2{order:2!important}.ion-order-3{order:3!important}.ion-order-4{order:4!important}.ion-order-5{order:5!important}.ion-order-6{order:6!important}.ion-order-7{order:7!important}.ion-order-8{order:8!important}.ion-order-9{order:9!important}.ion-order-10{order:10!important}.ion-order-11{order:11!important}.ion-order-12{order:12!important}.ion-order-last{order:13!important}@media(min-width:576px){.ion-order-sm-first{order:-1!important}.ion-order-sm-0{order:0!important}.ion-order-sm-1{order:1!important}.ion-order-sm-2{order:2!important}.ion-order-sm-3{order:3!important}.ion-order-sm-4{order:4!important}.ion-order-sm-5{order:5!important}.ion-order-sm-6{order:6!important}.ion-order-sm-7{order:7!important}.ion-order-sm-8{order:8!important}.ion-order-sm-9{order:9!important}.ion-order-sm-10{order:10!important}.ion-order-sm-11{order:11!important}.ion-order-sm-12{order:12!important}.ion-order-sm-last{order:13!important}}@media(min-width:768px){.ion-order-md-first{order:-1!important}.ion-order-md-0{order:0!important}.ion-order-md-1{order:1!important}.ion-order-md-2{order:2!important}.ion-order-md-3{order:3!important}.ion-order-md-4{order:4!important}.ion-order-md-5{order:5!important}.ion-order-md-6{order:6!important}.ion-order-md-7{order:7!important}.ion-order-md-8{order:8!important}.ion-order-md-9{order:9!important}.ion-order-md-10{order:10!important}.ion-order-md-11{order:11!important}.ion-order-md-12{order:12!important}.ion-order-md-last{order:13!important}}@media(min-width:992px){.ion-order-lg-first{order:-1!important}.ion-order-lg-0{order:0!important}.ion-order-lg-1{order:1!important}.ion-order-lg-2{order:2!important}.ion-order-lg-3{order:3!important}.ion-order-lg-4{order:4!important}.ion-order-lg-5{order:5!important}.ion-order-lg-6{order:6!important}.ion-order-lg-7{order:7!important}.ion-order-lg-8{order:8!important}.ion-order-lg-9{order:9!important}.ion-order-lg-10{order:10!important}.ion-order-lg-11{order:11!important}.ion-order-lg-12{order:12!important}.ion-order-lg-last{order:13!important}}@media(min-width:1200px){.ion-order-xl-first{order:-1!important}.ion-order-xl-0{order:0!important}.ion-order-xl-1{order:1!important}.ion-order-xl-2{order:2!important}.ion-order-xl-3{order:3!important}.ion-order-xl-4{order:4!important}.ion-order-xl-5{order:5!important}.ion-order-xl-6{order:6!important}.ion-order-xl-7{order:7!important}.ion-order-xl-8{order:8!important}.ion-order-xl-9{order:9!important}.ion-order-xl-10{order:10!important}.ion-order-xl-11{order:11!important}.ion-order-xl-12{order:12!important}.ion-order-xl-last{order:13!important}}.ion-hide,.ion-hide-up,.ion-hide-down{display:none!important}@media(min-width:576px){.ion-hide-sm-up{display:none!important}}@media(max-width:575.98px){.ion-hide-sm-down{display:none!important}}@media(min-width:768px){.ion-hide-md-up{display:none!important}}@media(max-width:767.98px){.ion-hide-md-down{display:none!important}}@media(min-width:992px){.ion-hide-lg-up{display:none!important}}@media(max-width:991.98px){.ion-hide-lg-down{display:none!important}}@media(min-width:1200px){.ion-hide-xl-up{display:none!important}}@media(max-width:1199.98px){.ion-hide-xl-down{display:none!important}}.ion-display-none{display:none!important}@media(min-width:576px){.ion-display-sm-none{display:none!important}}@media(min-width:768px){.ion-display-md-none{display:none!important}}@media(min-width:992px){.ion-display-lg-none{display:none!important}}@media(min-width:1200px){.ion-display-xl-none{display:none!important}}.ion-display-inline{display:inline!important}@media(min-width:576px){.ion-display-sm-inline{display:inline!important}}@media(min-width:768px){.ion-display-md-inline{display:inline!important}}@media(min-width:992px){.ion-display-lg-inline{display:inline!important}}@media(min-width:1200px){.ion-display-xl-inline{display:inline!important}}.ion-display-inline-block{display:inline-block!important}@media(min-width:576px){.ion-display-sm-inline-block{display:inline-block!important}}@media(min-width:768px){.ion-display-md-inline-block{display:inline-block!important}}@media(min-width:992px){.ion-display-lg-inline-block{display:inline-block!important}}@media(min-width:1200px){.ion-display-xl-inline-block{display:inline-block!important}}.ion-display-block{display:block!important}@media(min-width:576px){.ion-display-sm-block{display:block!important}}@media(min-width:768px){.ion-display-md-block{display:block!important}}@media(min-width:992px){.ion-display-lg-block{display:block!important}}@media(min-width:1200px){.ion-display-xl-block{display:block!important}}.ion-display-flex{display:flex!important}@media(min-width:576px){.ion-display-sm-flex{display:flex!important}}@media(min-width:768px){.ion-display-md-flex{display:flex!important}}@media(min-width:992px){.ion-display-lg-flex{display:flex!important}}@media(min-width:1200px){.ion-display-xl-flex{display:flex!important}}.ion-display-inline-flex{display:inline-flex!important}@media(min-width:576px){.ion-display-sm-inline-flex{display:inline-flex!important}}@media(min-width:768px){.ion-display-md-inline-flex{display:inline-flex!important}}@media(min-width:992px){.ion-display-lg-inline-flex{display:inline-flex!important}}@media(min-width:1200px){.ion-display-xl-inline-flex{display:inline-flex!important}}.ion-display-grid{display:grid!important}@media(min-width:576px){.ion-display-sm-grid{display:grid!important}}@media(min-width:768px){.ion-display-md-grid{display:grid!important}}@media(min-width:992px){.ion-display-lg-grid{display:grid!important}}@media(min-width:1200px){.ion-display-xl-grid{display:grid!important}}.ion-display-inline-grid{display:inline-grid!important}@media(min-width:576px){.ion-display-sm-inline-grid{display:inline-grid!important}}@media(min-width:768px){.ion-display-md-inline-grid{display:inline-grid!important}}@media(min-width:992px){.ion-display-lg-inline-grid{display:inline-grid!important}}@media(min-width:1200px){.ion-display-xl-inline-grid{display:inline-grid!important}}.ion-display-table{display:table!important}@media(min-width:576px){.ion-display-sm-table{display:table!important}}@media(min-width:768px){.ion-display-md-table{display:table!important}}@media(min-width:992px){.ion-display-lg-table{display:table!important}}@media(min-width:1200px){.ion-display-xl-table{display:table!important}}.ion-display-table-cell{display:table-cell!important}@media(min-width:576px){.ion-display-sm-table-cell{display:table-cell!important}}@media(min-width:768px){.ion-display-md-table-cell{display:table-cell!important}}@media(min-width:992px){.ion-display-lg-table-cell{display:table-cell!important}}@media(min-width:1200px){.ion-display-xl-table-cell{display:table-cell!important}}.ion-display-table-row{display:table-row!important}@media(min-width:576px){.ion-display-sm-table-row{display:table-row!important}}@media(min-width:768px){.ion-display-md-table-row{display:table-row!important}}@media(min-width:992px){.ion-display-lg-table-row{display:table-row!important}}@media(min-width:1200px){.ion-display-xl-table-row{display:table-row!important}}:root{--ion-color-primary: #20a368;--ion-color-primary-rgb: 32, 163, 104;--ion-color-primary-contrast: #ffffff;--ion-color-primary-contrast-rgb: 255, 255, 255;--ion-color-primary-shade: #1c8f5b;--ion-color-primary-tint: #36ac77;--ion-color-secondary: #021a32;--ion-color-secondary-rgb: 2, 26, 50;--ion-color-secondary-contrast: #ffffff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #02172c;--ion-color-secondary-tint: #1b3147;--ion-color-tertiary: #fcd36c;--ion-color-tertiary-rgb: 252, 211, 108;--ion-color-tertiary-contrast: #021a32;--ion-color-tertiary-contrast-rgb: 2, 26, 50;--ion-color-tertiary-shade: #deba5f;--ion-color-tertiary-tint: #fcd77b;--ion-color-success: #34c759;--ion-color-success-rgb: 52, 199, 89;--ion-color-success-contrast: #ffffff;--ion-color-success-contrast-rgb: 255, 255, 255;--ion-color-success-shade: #2eb04e;--ion-color-success-tint: #48cd6a;--ion-color-warning: #ff9f0a;--ion-color-warning-rgb: 255, 159, 10;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e08c09;--ion-color-warning-tint: #ffa923;--ion-color-danger: #ff3b30;--ion-color-danger-rgb: 255, 59, 48;--ion-color-danger-contrast: #ffffff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #e0342a;--ion-color-danger-tint: #ff4f45;--ion-color-light: #f2f2f7;--ion-color-light-rgb: 242, 242, 247;--ion-color-light-contrast: #1c1c1e;--ion-color-light-contrast-rgb: 28, 28, 30;--ion-color-light-shade: #d5d5da;--ion-color-light-tint: #f3f3f8;--ion-color-medium: #8e8e93;--ion-color-medium-rgb: 142, 142, 147;--ion-color-medium-contrast: #ffffff;--ion-color-medium-contrast-rgb: 255, 255, 255;--ion-color-medium-shade: #7d7d81;--ion-color-medium-tint: #99999e;--ion-color-dark: #1c1c1e;--ion-color-dark-rgb: 28, 28, 30;--ion-color-dark-contrast: #ffffff;--ion-color-dark-contrast-rgb: 255, 255, 255;--ion-color-dark-shade: #191919;--ion-color-dark-tint: #333335;--mualemna-navy: #021a32;--mualemna-green: #20a368;--mualemna-gold: #fcd36c;--mualemna-bronze: #c59d5f;--mualemna-gradient: linear-gradient(135deg, #021a32 0%, #0a3d62 100%);--mualemna-gradient-green: linear-gradient(135deg, #20a368 0%, #1c8f5b 100%);--ion-background-color: #f2f2f7;--ion-background-color-rgb: 242, 242, 247;--ion-text-color: #1c1c1e;--ion-text-color-rgb: 28, 28, 30;--ion-border-color: #c6c6c8;--ion-card-background: #ffffff;--ion-item-background: #ffffff;--ion-toolbar-background: #f8f8f8;--ion-tab-bar-background: #f8f8f8;--app-surface: #ffffff;--app-surface-rgb: 255, 255, 255;--app-surface-muted: #f5f5f7;--app-text: #1c1c1e;--app-text-muted: #65676b;--app-border: #d1d1d6;--app-focus-ring: rgba(32, 163, 104, .2);--app-control-radius: 12px;--app-control-height: 48px;--app-control-padding: 12px}body.dark{--ion-color-primary: #30d158;--ion-color-primary-rgb: 48, 209, 88;--ion-color-primary-contrast: #000000;--ion-color-primary-contrast-rgb: 0, 0, 0;--ion-color-primary-shade: #2ab84d;--ion-color-primary-tint: #45d669;--ion-color-secondary: #1b3147;--ion-color-secondary-rgb: 27, 49, 71;--ion-color-secondary-contrast: #ffffff;--ion-color-secondary-contrast-rgb: 255, 255, 255;--ion-color-secondary-shade: #182b3e;--ion-color-secondary-tint: #324659;--ion-color-tertiary: #ffd60a;--ion-color-tertiary-rgb: 255, 214, 10;--ion-color-tertiary-contrast: #000000;--ion-color-tertiary-contrast-rgb: 0, 0, 0;--ion-color-tertiary-shade: #e0bc09;--ion-color-tertiary-tint: #ffda23;--ion-color-success: #30d158;--ion-color-success-rgb: 48, 209, 88;--ion-color-success-contrast: #000000;--ion-color-success-contrast-rgb: 0, 0, 0;--ion-color-success-shade: #2ab84d;--ion-color-success-tint: #45d669;--ion-color-warning: #ffd60a;--ion-color-warning-rgb: 255, 214, 10;--ion-color-warning-contrast: #000000;--ion-color-warning-contrast-rgb: 0, 0, 0;--ion-color-warning-shade: #e0bc09;--ion-color-warning-tint: #ffda23;--ion-color-danger: #ff453a;--ion-color-danger-rgb: 255, 69, 58;--ion-color-danger-contrast: #ffffff;--ion-color-danger-contrast-rgb: 255, 255, 255;--ion-color-danger-shade: #e03d33;--ion-color-danger-tint: #ff584e;--ion-color-dark: #f2f2f7;--ion-color-dark-rgb: 242, 242, 247;--ion-color-dark-contrast: #1c1c1e;--ion-color-dark-contrast-rgb: 28, 28, 30;--ion-color-dark-shade: #d5d5da;--ion-color-dark-tint: #f3f3f8;--ion-color-medium: #98989d;--ion-color-medium-rgb: 152, 152, 157;--ion-color-medium-contrast: #000000;--ion-color-medium-contrast-rgb: 0, 0, 0;--ion-color-medium-shade: #86868a;--ion-color-medium-tint: #a2a2a7;--ion-color-light: #2c2c2e;--ion-color-light-rgb: 44, 44, 46;--ion-color-light-contrast: #ffffff;--ion-color-light-contrast-rgb: 255, 255, 255;--ion-color-light-shade: #272728;--ion-color-light-tint: #414143;--ion-background-color: #000000;--ion-background-color-rgb: 0, 0, 0;--ion-text-color: #ffffff;--ion-text-color-rgb: 255, 255, 255;--ion-border-color: #38383a;--ion-card-background: #1c1c1e;--ion-item-background: #1c1c1e;--ion-toolbar-background: #1c1c1e;--ion-tab-bar-background: #1c1c1e;--app-surface: #1c1c1e;--app-surface-rgb: 28, 28, 30;--app-surface-muted: #2c2c2e;--app-text: #f5f5f7;--app-text-muted: #aeaeb2;--app-border: #48484a;--app-focus-ring: rgba(48, 209, 88, .28)}body.dark ion-content{--background: #000000}body.dark ion-list{background:#1c1c1e}body.dark ion-item{--background: #1c1c1e;--color: #ffffff}body.dark ion-card{--background: #1c1c1e;--color: #ffffff}body.dark ion-tab-bar{--background: rgba(28, 28, 30, .94);border-top:.5px solid rgba(255,255,255,.08)}html,body{height:100%;margin:0;padding:0;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html{background:var(--ion-background-color);color-scheme:light}body{background:var(--ion-background-color);color:var(--app-text)}.route-loading{display:grid;min-height:100%;place-items:center;color:var(--ion-color-primary)}body.dark{color-scheme:dark}ion-app{background:var(--ion-background-color);color:var(--app-text)}#root{height:100%}ion-app{height:100%}ion-app{font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,SF Pro Text,Helvetica Neue,Segoe UI,system-ui,sans-serif;letter-spacing:-.01em}ion-card{border-radius:16px;box-shadow:0 1px 3px #0000000a,0 4px 12px #0000000a;margin:0;transition:transform .2s cubic-bezier(.25,.46,.45,.94),box-shadow .2s cubic-bezier(.25,.46,.45,.94)}body.dark ion-card{box-shadow:0 1px 3px #0003,0 4px 12px #00000026}ion-button{--border-radius: 12px;--padding-top: 12px;--padding-bottom: 12px;font-weight:600;font-size:15px;letter-spacing:-.2px;transition:transform .15s cubic-bezier(.25,.46,.45,.94),opacity .15s ease}ion-button:active{transform:scale(.97);opacity:.9}ion-button[fill=clear]:active{transform:scale(.95)}ion-input,ion-textarea,ion-select{box-sizing:border-box;width:100%;--color: var(--app-text);--placeholder-color: var(--app-text-muted);--placeholder-opacity: .72;--highlight-color-focused: transparent;--highlight-color-valid: transparent;--highlight-color-invalid: transparent;--highlight-height: 0;font-size:16px}ion-input[fill=solid],ion-textarea[fill=solid],ion-select[fill=solid]{--background: var(--app-surface-muted);--color: var(--app-text);--placeholder-color: var(--app-text-muted);--border-radius: var(--app-control-radius);overflow:hidden}ion-input.ion-focused,ion-textarea.ion-focused,ion-select.ion-focused{--highlight-color-focused: transparent !important;--highlight-height: 0 !important}ion-textarea{min-height:96px}ion-textarea::part(native){min-height:72px;resize:vertical}input,textarea,ion-input,ion-textarea{caret-color:var(--ion-color-primary)!important}ion-input input,ion-textarea textarea{caret-color:var(--ion-color-primary)!important}input::-webkit-contacts-auto-fill-button,input::-webkit-credentials-auto-fill-button,input::-ms-clear,input::-ms-reveal{display:none!important;visibility:hidden!important}ion-item{--border-radius: 0;--padding-start: 16px;--padding-end: 16px;--inner-padding-end: 0;--min-height: 48px;font-size:16px}ion-chip{--border-radius: 20px;font-size:13px;font-weight:500;height:32px;transition:transform .15s ease,opacity .15s ease}ion-chip:active{transform:scale(.95)}ion-tab-bar{--background: rgba(248, 248, 248, .92);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid rgba(0,0,0,.08);padding-bottom:env(safe-area-inset-bottom,0px);height:auto;min-height:50px}body.dark ion-tab-bar{--background: rgba(28, 28, 30, .92);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:.5px solid rgba(255,255,255,.06)}ion-tab-button{--color: #8e8e93;--color-selected: var(--ion-color-primary);font-size:10px;transition:transform .15s ease}ion-tab-button:active{transform:scale(.9)}ion-tab-button ion-icon{font-size:24px;margin-bottom:2px}ion-tab-button ion-label{font-size:10px;font-weight:500}ion-toolbar{--background: rgba(248, 248, 248, .92);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);--border-width: 0;--padding-start: 16px;--padding-end: 16px}body.dark ion-toolbar{--background: rgba(28, 28, 30, .92)}ion-title{font-size:17px;font-weight:600;letter-spacing:-.3px}ion-modal{--border-radius: 12px;--backdrop-opacity: .32;--background: var(--app-surface);--box-shadow: 0 10px 30px rgba(0, 0, 0, .16)}ion-modal ion-toolbar{--background: var(--ion-card-background)}ion-modal::part(content){background:var(--app-surface);color:var(--app-text);overflow:hidden}ion-popover{--background: var(--app-surface);--color: var(--app-text);--box-shadow: 0 12px 32px rgba(0, 0, 0, .18)}ion-datetime{--background: var(--app-surface);--title-color: var(--app-text);--wheel-highlight-background: rgba(var(--ion-color-primary-rgb), .14);--wheel-highlight-border-radius: 12px;--wheel-fade-background-rgb: var(--app-surface-rgb);border-radius:var(--app-control-radius);color:var(--app-text)}ion-datetime-button::part(native){min-height:var(--app-control-height);border:1px solid var(--app-border);border-radius:var(--app-control-radius);background:var(--app-surface-muted);color:var(--app-text)}ion-searchbar{--border-radius: 12px;--box-shadow: none;--background: var(--ion-color-light);--placeholder-opacity: .5;--icon-color: var(--ion-color-medium);padding:0}body.dark ion-searchbar{--background: #2c2c2e}ion-segment{--background: var(--ion-color-light);border-radius:9px;min-height:32px}ion-segment-button{--border-radius: 7px;--indicator-color: var(--ion-card-background);--indicator-box-shadow: 0 1px 3px rgba(0, 0, 0, .08);--color: var(--ion-color-medium);--color-checked: var(--ion-text-color);font-size:13px;font-weight:500;min-height:28px;letter-spacing:-.1px}ion-badge{--padding-start: 7px;--padding-end: 7px;--padding-top: 3px;--padding-bottom: 3px;font-size:11px;font-weight:600;border-radius:6px;letter-spacing:.1px}ion-alert{--width: min(420px, calc(100vw - 32px) );--max-width: 420px;--background: var(--app-surface);--color: var(--app-text);--backdrop-opacity: .44;--button-color: var(--ion-color-primary)}ion-alert::part(content),ion-alert::part(wrapper){border:1px solid var(--app-border);border-radius:18px;box-shadow:0 18px 56px #00000038}ion-alert::part(message){color:var(--app-text-muted);line-height:1.45}ion-alert::part(button){min-height:44px;font-weight:600}ion-action-sheet{--background: var(--app-surface);--color: var(--app-text);--button-color: var(--app-text);--backdrop-opacity: .44}ion-action-sheet::part(group){border:1px solid var(--app-border);border-radius:18px 18px 0 0;overflow:hidden}ion-action-sheet::part(button){min-height:50px;font-weight:500}ion-toast.app-notice-toast{--background: var(--app-surface);--color: var(--app-text);--button-color: var(--ion-color-primary);--border-radius: 14px;--box-shadow: 0 10px 32px rgba(0, 0, 0, .2);--max-width: min(520px, calc(100vw - 32px) );font-size:15px;line-height:1.4}ion-toast.app-notice-toast::part(container){border:1px solid var(--app-border)}ion-action-sheet{--backdrop-opacity: .4}ion-skeleton-text{--border-radius: 8px;--background: var(--ion-color-light);--background-rgb: var(--ion-color-light-rgb)}ion-content{--padding-top: 0;--background: var(--ion-background-color)}ion-content::part(scroll){-webkit-overflow-scrolling:touch;scroll-behavior:smooth}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}ion-router-outlet{contain:layout size style}.ion-page{will-change:transform,opacity}.ion-page-invisible{opacity:0}.ion-page-hidden{display:none!important}ion-router-outlet>.ion-page{position:absolute;inset:0}ion-page:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--ion-toolbar-background);z-index:9999;pointer-events:none}body.dark ion-page:before{background:var(--ion-toolbar-background)}ion-tab-bar{padding-bottom:env(safe-area-inset-bottom,0px)}body.keyboard-open ion-tab-bar{display:none!important}body.keyboard-open input:focus,body.keyboard-open textarea:focus{scroll-margin-bottom:100px}@media(min-width:1024px){ion-button{--padding-start: 24px;--padding-end: 24px}ion-card:hover{transform:translateY(-2px);box-shadow:0 8px 28px #00000014}body.dark ion-card:hover{box-shadow:0 8px 28px #0000004d}ion-modal{--backdrop-opacity: .5}}@media(min-width:1024px){ion-button:focus-visible,ion-chip:focus-visible,ion-card:focus-visible,ion-item:focus-visible{outline:2px solid var(--ion-color-primary);outline-offset:2px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media print{ion-tab-bar,.desktop-nav,ion-button[fill=clear],ion-fab{display:none!important}ion-card{box-shadow:none;border:1px solid #ddd}}:root{--container-max-width: 100%;--content-max-width: 1400px;--content-padding: 16px;--content-padding-mobile: 16px;--content-padding-tablet: 24px;--content-padding-desktop: 32px;--card-border-radius: 14px;--grid-columns: 1;--grid-gap: 12px;--nav-height: 84px;--header-height: 56px;--nav-collapsed-width: 60px;--nav-expanded-width: 240px;--nav-max-expanded-width: 280px;--nav-transition: .25s ease;--font-size-hero: 24px;--font-size-title: 20px;--font-size-subtitle: 17px;--font-size-body: 15px;--font-size-caption: 13px;--font-size-small: 11px}@media(max-width:374px){:root{--content-padding: 12px;--grid-gap: 10px;--font-size-hero: 22px;--font-size-title: 18px;--font-size-subtitle: 15px;--font-size-body: 14px;--font-size-caption: 12px;--font-size-small: 10px}ion-content{--padding-start: 12px;--padding-end: 12px}ion-card{border-radius:12px}ion-button{--padding-start: 12px;--padding-end: 12px;font-size:14px}ion-chip{height:30px!important;font-size:12px!important;padding:4px 10px!important}ion-avatar{width:44px!important;height:44px!important}ion-searchbar{--height: 40px;font-size:14px}ion-tab-bar{height:70px!important;padding-bottom:12px!important}ion-tab-button ion-icon{font-size:20px!important}ion-tab-button ion-label{font-size:9px!important}}@media(min-width:768px){:root{--container-max-width: 100%;--content-padding: 32px;--grid-columns: 2;--grid-gap: 16px;--font-size-hero: 32px;--font-size-title: 24px;--font-size-subtitle: 18px}}@media(min-width:1024px){:root{--container-max-width: 100%;--content-padding: 40px;--grid-columns: 3;--grid-gap: 20px;--font-size-hero: 40px;--font-size-title: 28px;--font-size-subtitle: 20px}}@media(min-width:1440px){:root{--container-max-width: 1400px;--nav-expanded-width: 280px;--grid-columns: 4}}.responsive-container{width:100%;max-width:var(--container-max-width);margin:0 auto}@media(min-width:1440px){.responsive-container{padding-left:calc((100% - var(--container-max-width)) / 2 + var(--content-padding));padding-right:calc((100% - var(--container-max-width)) / 2 + var(--content-padding))}}.responsive-content{width:100%;max-width:var(--content-max-width, 1400px);margin:0 auto;padding:0 var(--content-padding-mobile, 16px)}@media(min-width:768px){.responsive-content{padding:0 var(--content-padding-tablet, 24px)}}@media(min-width:1024px){.responsive-content{padding:0 var(--content-padding-desktop, 32px)}}@media(min-width:1440px){.responsive-content{max-width:var(--content-max-width, 1400px)}}.responsive-grid{display:grid;grid-template-columns:repeat(var(--grid-columns),1fr);gap:var(--grid-gap)}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--grid-gap)}@media(min-width:768px){.grid-2{grid-template-columns:repeat(4,1fr)}}.grid-3{display:grid;grid-template-columns:repeat(1,1fr);gap:var(--grid-gap)}@media(min-width:768px){.grid-3{grid-template-columns:repeat(3,1fr)}}.cards-grid{display:grid;grid-template-columns:1fr;gap:12px}@media(min-width:768px){.cards-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media(min-width:1024px){.cards-grid{grid-template-columns:repeat(3,1fr);gap:20px}}@media(min-width:1440px){.cards-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:1023px){ion-tabs ion-content{--offset-bottom: 0px !important}.desktop-nav{display:none!important}}@media(min-width:1024px){ion-app,ion-page{overflow-x:hidden!important}ion-router-outlet{margin-right:60px!important;transition:margin-right .25s ease;overflow-x:hidden!important}ion-router-outlet.nav-expanded{margin-right:240px!important}ion-content{--padding-bottom: 0 !important;overflow-x:hidden!important}}@media(min-width:1440px){ion-router-outlet.nav-expanded{margin-right:280px!important}}@media(min-width:1024px){ion-tab-bar{display:none!important}.desktop-nav{display:flex!important;position:fixed!important;top:0!important;right:0!important;height:100vh!important;background:var(--ion-background-color, #fff)!important;border-left:1px solid var(--ion-border-color, #e5e5ea)!important;flex-direction:column!important;padding:0!important;z-index:20!important;box-shadow:-1px 0 8px #00000014!important}body.dark .desktop-nav{background:#1c1c1e!important;border-left-color:#3a3a3c!important;box-shadow:-1px 0 8px #0000003d!important}}@media(max-width:1023px){.desktop-nav{display:none!important}}@media(min-width:1024px)and (max-width:1279px){:root{--content-padding: 24px;--font-size-hero: 28px;--font-size-title: 22px}.cards-grid{grid-template-columns:repeat(2,1fr)!important;gap:14px}.dashboard-stats{grid-template-columns:repeat(2,1fr);gap:12px}.hero-section{padding:40px 24px 50px}}.hero-section{padding:40px 20px 50px;border-radius:0 0 28px 28px}@media(min-width:768px){.hero-section{padding:60px 40px 70px;border-radius:0 0 40px 40px;max-width:var(--container-max-width);margin:0 auto}}@media(min-width:1024px){.hero-section{padding:80px 60px 100px;display:flex;align-items:center;justify-content:space-between}.hero-content{max-width:50%}.hero-stats{display:flex;gap:40px}}.search-header{padding:12px 16px 8px;position:sticky;top:0;z-index:10;background:var(--ion-background-color, #fff)}@media(min-width:768px){.search-header{padding:16px 24px 12px;max-width:var(--container-max-width);margin:0 auto}.search-header ion-searchbar{max-width:500px}}@media(min-width:1024px){.search-header{display:flex;align-items:center;gap:24px;padding:20px 32px 16px}.search-header ion-searchbar{flex:1;max-width:600px}.filter-chips{display:flex;gap:8px;flex-wrap:nowrap;overflow:visible}}.search-header-container{background:var(--ion-background-color, #fff)}.search-input{max-width:600px}@media(min-width:1024px){.search-header-container{display:flex;align-items:center;gap:24px}.search-input{flex:1;max-width:600px}}.filter-chips{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.filter-chips::-webkit-scrollbar{display:none}@media(min-width:1024px){.filter-chips{overflow-x:visible;flex-wrap:nowrap}}.dashboard-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}@media(min-width:768px){.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:16px;padding:20px 24px;max-width:var(--container-max-width);margin:0 auto}}@media(min-width:1024px){.dashboard-stats{gap:24px;padding:24px 32px}}.dashboard-content{padding:0 16px 100px}@media(min-width:768px){.dashboard-content{padding:0 24px 40px;max-width:var(--container-max-width);margin:0 auto}}@media(min-width:1024px){.dashboard-content{padding:0 32px 40px;display:grid;grid-template-columns:2fr 1fr;gap:24px}}.admin-layout{display:flex;flex-direction:column}@media(min-width:1024px){.admin-layout{flex-direction:row}.admin-sidebar{width:260px;position:fixed;right:0;top:0;height:100vh;background:var(--ion-background-color, #fff);border-left:1px solid var(--ion-border-color, #e5e5ea);padding:20px;overflow-y:auto}.admin-main{flex:1;margin-right:260px;padding:24px 32px}}.admin-table{display:none}.admin-cards{display:block}@media(min-width:1024px){.admin-table{display:block;width:100%;border-collapse:collapse;background:var(--ion-card-background, #fff);border-radius:12px;overflow:hidden}.admin-table th,.admin-table td{padding:14px 16px;text-align:right;border-bottom:1px solid var(--ion-border-color, #e5e5ea)}.admin-table th{background:#f8f8f8;font-weight:600;font-size:13px;color:#8e8e93}.admin-table tr:hover{background:#f8f8fa}.admin-cards{display:none}}.form-container{padding:16px}@media(min-width:768px){.form-container{max-width:600px;margin:0 auto;padding:24px}}@media(min-width:1024px){.form-container{max-width:700px;padding:32px}.form-row{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}}ion-modal{--width: 100%;--height: 100%;--border-radius: 0}ion-modal::part(content){max-width:100vw}@media(min-width:768px){ion-modal{--width: min(680px, calc(100vw - 48px) );--max-width: 680px;--height: min(82vh, 760px);--max-height: calc(100dvh - 48px) ;--border-radius: 20px}ion-modal:not(.modal-fullscreen)::part(content){border:1px solid var(--app-border);box-shadow:0 12px 32px #00000029}ion-modal.modal-large{--width: min(920px, calc(100vw - 48px) );--max-width: 920px}ion-modal.modal-fullscreen{--width: 100%;--max-width: none;--height: 100%;--max-height: none;--border-radius: 0}}@media(min-width:1024px){ion-modal{--width: min(760px, calc(100vw - 72px) );--max-width: 760px;--height: min(82vh, 780px);--max-height: calc(100dvh - 64px) }ion-modal.modal-large{--width: min(1040px, calc(100vw - 96px) );--max-width: 1040px}ion-modal::part(content){margin-inline-end:0!important}body.nav-expanded ion-modal::part(content){margin-inline-end:0!important}ion-modal.modal-fullscreen::part(content){margin-inline-end:0!important}}@media(min-width:1440px){body.nav-expanded ion-modal::part(content){margin-inline-end:0!important}}.profile-header{padding:24px 16px;text-align:center}@media(min-width:768px){.profile-header{display:flex;align-items:center;gap:24px;text-align:right;padding:32px 24px;max-width:var(--container-max-width);margin:0 auto}.profile-avatar{width:120px!important;height:120px!important}}@media(min-width:1024px){.profile-header{padding:40px 32px}.profile-avatar{width:150px!important;height:150px!important}}.booking-list{display:flex;flex-direction:column;gap:12px}@media(min-width:768px){.booking-list{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}}@media(min-width:1024px){.booking-list{grid-template-columns:repeat(3,1fr)}}.text-hero{font-size:var(--font-size-hero);font-weight:700;line-height:1.2}.text-title{font-size:var(--font-size-title);font-weight:600;line-height:1.3}.text-subtitle{font-size:var(--font-size-subtitle);font-weight:500}.text-body{font-size:var(--font-size-body);line-height:1.5}.text-caption{font-size:var(--font-size-caption);color:#8e8e93}.hide-mobile{display:none}@media(min-width:768px){.hide-mobile{display:block}}.hide-desktop{display:block}@media(min-width:1024px){.hide-desktop{display:none}}.show-desktop{display:none}@media(min-width:1024px){.show-desktop{display:block}}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.section-padding{padding:16px}@media(min-width:768px){.section-padding{padding:24px}}@media(min-width:1024px){.section-padding{padding:32px}}@media(min-width:1024px){::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#c7c7cc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8e8e93}body.dark ::-webkit-scrollbar-thumb{background:#48484a}body.dark ::-webkit-scrollbar-thumb:hover{background:#636366}}@media(min-width:1024px){.hover-lift{transition:transform .2s ease,box-shadow .2s ease}.hover-lift:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}ion-card[button]:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}ion-chip:hover{opacity:.85}ion-button:hover{opacity:.9}}.safe-area-top{padding-top:env(safe-area-inset-top,0)}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom,0)}.fullscreen-page{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;height:100dvh!important}ion-page.fullscreen-page,ion-page.fullscreen-page ion-content{--background: transparent}ion-page.fullscreen-page ion-content::part(scroll){padding:0!important}@media(min-width:1024px){.safe-area-top,.safe-area-bottom{padding-top:0;padding-bottom:0}}@media(max-width:767px){ion-button{min-height:44px}ion-item{--min-height: 48px}ion-chip{min-height:36px}*{-webkit-text-size-adjust:100%;text-size-adjust:100%}ion-content{-webkit-overflow-scrolling:touch}ion-page,ion-content{overflow-x:hidden}ion-card[button],ion-item[button],ion-chip{-webkit-tap-highlight-color:rgba(0,0,0,.1)}body.dark ion-card[button],body.dark ion-item[button],body.dark ion-chip{-webkit-tap-highlight-color:rgba(255,255,255,.1)}}@media(min-width:390px)and (max-width:430px){:root{--content-padding: 18px;--font-size-hero: 26px}}@media(min-width:430px)and (max-width:767px){:root{--content-padding: 20px;--font-size-hero: 28px;--grid-gap: 14px}ion-avatar{width:52px!important;height:52px!important}}@supports (padding-top: env(safe-area-inset-top)){ion-header{padding-top:env(safe-area-inset-top)}ion-tab-bar{padding-bottom:env(safe-area-inset-bottom)}ion-modal ion-header{padding-top:env(safe-area-inset-top)}ion-modal ion-footer{padding-bottom:env(safe-area-inset-bottom)}}ion-content{--background: var(--ion-background-color, #f2f2f7)}body.dark ion-content{--background: #000}@media screen and (display-mode:standalone){ion-header{padding-top:24px}}@media(max-width:896px)and (orientation:landscape){.hero-section{padding:24px 20px 32px!important}ion-tab-bar{height:56px!important;padding-bottom:4px!important}ion-tab-button ion-label{display:none}.cards-grid{grid-template-columns:repeat(2,1fr)!important}}@media(hover:none)and (pointer:coarse){.hover-lift:hover{transform:none;box-shadow:0 2px 8px #00000014}ion-card[button]:hover{transform:none}ion-card[button]:active{transform:scale(.98);opacity:.9}ion-chip:active{opacity:.7}ion-button:active{opacity:.8}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){ion-card{box-shadow:0 .5px #0000000a,0 2px 8px #0000000f}ion-item{--border-width: .5px}}@media(max-width:767px){body.dark{--ion-background-color: #000;--ion-card-background: #1c1c1e;--ion-item-background: #1c1c1e}body.dark ion-content{--background: #000}body.dark ion-card{box-shadow:0 1px 3px #0000004d}}ion-card,ion-chip,ion-button,.hover-lift{will-change:transform;transform:translateZ(0);backface-visibility:hidden}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}ion-card[button]:active{transform:none}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}[lang=ar],[dir=rtl]{font-feature-settings:"kern" 1;letter-spacing:0}ion-card-content h2,ion-card-content h3,ion-card-content h4{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}ion-card-content [style*="display: flex"]>*,ion-card-content [style*="display:flex"]>*{min-width:0}ion-chip{flex-shrink:0;white-space:nowrap}ion-badge{flex-shrink:0;white-space:nowrap}ion-item ion-label h2,ion-item ion-label h3,ion-item ion-label p{overflow:hidden;text-overflow:ellipsis}[dir=rtl] .carousel-arrow.prev{left:auto;right:-8px}[dir=rtl] .carousel-arrow.next{right:auto;left:-8px}.refresh-indicator{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-50px) scale(.5);z-index:9999;width:44px;height:44px;border-radius:50%;background:#fff;box-shadow:0 2px 16px #00000026;display:flex;align-items:center;justify-content:center;pointer-events:none;transition:transform .15s ease-out,opacity .15s ease-out;will-change:transform,opacity}body.dark .refresh-indicator{background:#2c2c2e;box-shadow:0 2px 16px #00000080}.refresh-indicator.refreshing{transform:translate(-50%) translateY(0) scale(1)!important;opacity:1!important;transition:transform .2s ease-out}.refresh-indicator ion-spinner{width:24px;height:24px;color:#20a368}@supports (padding-top: env(safe-area-inset-top)){.refresh-indicator{top:calc(20px + env(safe-area-inset-top))}}ion-refresher{display:none!important}ion-refresher-content{display:none!important}
