:root{--primary: #00FF00;--primary-dark: #00CC00;--success: #10b981;--success-dark: #059669;--warning: #f59e0b;--danger: #ef4444;--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gradient-primary: linear-gradient(135deg, #00FF00 0%, #00CC00 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition: all .3s cubic-bezier(.4, 0, .2, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;background:linear-gradient(135deg,#f8fafc,#f0f9ff);color:var(--gray-800);min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.registration-container{max-width:1400px;margin:0 auto;padding:2rem 1.5rem 4rem}.main-content-wrapper{display:grid;grid-template-columns:3fr 1fr;gap:2rem;align-items:start;margin-top:2rem}.packages-grid-container{width:100%}.packages-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2rem}.custom-plan-column{position:sticky;top:2rem;height:fit-content}.package-card-ref{background:#fff;border-radius:var(--radius-xl);padding:2rem;border:1px solid var(--gray-200);display:flex;flex-direction:column;transition:var(--transition);height:100%;position:relative;box-shadow:var(--shadow-sm)}.package-card-ref:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:var(--shadow-xl)}.package-card-ref.selected{border-color:var(--primary);background:linear-gradient(135deg,#eff6ff,#f8fafc);box-shadow:0 0 0 1px var(--primary),var(--shadow-lg)}.popular-badge-ref{font-size:.8rem;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.04em;display:flex;align-items:center;gap:.3rem;--f: .6em;position:absolute;top:0;right:0;line-height:1.8;padding-inline:1.2lh;padding-bottom:var(--f);border-image:conic-gradient(#0008 0,#0008 0) 51%/var(--f);clip-path:polygon(100% calc(100% - var(--f)),100% 100%,calc(100% - var(--f)) calc(100% - var(--f)),var(--f) calc(100% - var(--f)),0 100%,0 calc(100% - var(--f)),999px calc(100% - var(--f) - 999px),calc(100% - 999px) calc(100% - var(--f) - 999px));transform:translate(calc((1 - cos(45deg))*100%),-100%) rotate(45deg);transform-origin:0% 100%;background-color:#0a0;z-index:12;transition:transform .25s ease,box-shadow .25s ease,filter .25s ease}.popular-badge-ref:hover{transform:translate(calc((1 - cos(45deg))*100%),-100%) rotate(44deg) scale(1.05);filter:brightness(1.05)}@media (max-width: 768px){.popular-badge-ref{font-size:.65rem;--f: .4em}}.discount-badge-ref{font-size:.65rem;font-weight:700;color:#fff;--c: #8FBE00;padding:.4em .8em;aspect-ratio:1;display:grid;place-content:center;text-align:center;position:absolute;left:15px;top:15px;z-index:5;width:fit-content;box-sizing:border-box;text-transform:uppercase;letter-spacing:.02em;transition:all .2s ease}.discount-badge-ref:before{content:"";position:absolute;z-index:-1;inset:50% 0 auto;aspect-ratio:1;background:color-mix(in srgb,var(--c),#000 35%);clip-path:polygon(calc(100%/3) 0,calc(200%/3) 0,100% 90%,calc(200%/3) 100%,calc(100%/3) 0,calc(200%/3) 0,calc(100%/3) 100%,0 90%);width:100%;height:100%}.discount-badge-ref:after{content:"";position:absolute;z-index:-1;top:0;right:0;bottom:0;left:0;background:radial-gradient(35% 35%,#0000 96%,#0003 97%,#0003 99%,#0000) var(--c);clip-path:polygon(100% 50%,89.66% 55.22%,98.3% 62.94%,86.96% 65.31%,93.3% 75%,81.73% 74.35%,85.36% 85.36%,74.35% 81.73%,75% 93.3%,65.31% 86.96%,62.94% 98.3%,55.22% 89.66%,50% 100%,44.78% 89.66%,37.06% 98.3%,34.69% 86.96%,25% 93.3%,25.65% 81.73%,14.64% 85.36%,18.27% 74.35%,6.7% 75%,13.04% 65.31%,1.7% 62.94%,10.34% 55.22%,0% 50%,10.34% 44.78%,1.7% 37.06%,13.04% 34.69%,6.7% 25%,18.27% 25.65%,14.64% 14.64%,25.65% 18.27%,25% 6.7%,34.69% 13.04%,37.06% 1.7%,44.78% 10.34%,50% 0%,55.22% 10.34%,62.94% 1.7%,65.31% 13.04%,75% 6.7%,74.35% 18.27%,85.36% 14.64%,81.73% 25.65%,93.3% 25%,86.96% 34.69%,98.3% 37.06%,89.66% 44.78%)}.discount-badge-ref:hover{filter:brightness(1.05)}@media (max-width: 768px){.discount-badge-ref{font-size:.7rem;padding:.25em .6em}}.package-title-ref{font-size:1.25rem;font-weight:700;margin-top:1.5rem;margin-bottom:1rem;color:var(--gray-800);text-align:center}.package-price-ref{background:var(--gray-50);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1.5rem;text-align:center}.final-price-ref{font-size:1.75rem;font-weight:800;color:var(--primary);margin:.5rem 0;display:block;white-space:nowrap}.original-price-ref{font-size:.875rem;color:var(--gray-600);text-decoration:line-through}.savings-text-ref{font-size:.75rem;font-weight:600;color:var(--success);background:#f0fdf4;padding:.25rem .5rem;border-radius:var(--radius-sm);display:inline-block;margin-top:.5rem}.period-ref{font-size:.65rem;color:var(--gray-600);margin-top:.5rem;font-weight:500}.package-features-ref{list-style:none;margin:0 0 1.5rem;padding:0;flex:1}.package-features-ref li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:var(--gray-700);font-size:.875rem;line-height:1.4}.package-features-ref li:before{content:"✓";color:var(--success);font-weight:700;flex-shrink:0}.btn-ref{padding:.875rem 1.5rem;border-radius:var(--radius-lg);border:none;font-weight:600;font-size:.9375rem;cursor:pointer;transition:var(--transition);display:inline-flex;align-items:center;justify-content:center;gap:.5rem;position:relative;overflow:hidden}.btn-primary-ref{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary-ref:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary-ref{background:#fff;color:var(--gray-700);border:2px solid var(--gray-300)}.btn-secondary-ref:hover{background:var(--gray-50);border-color:var(--gray-400);transform:translateY(-2px)}.select-package-btn{width:100%;margin-top:auto}.custom-plan-modal{width:100%}.custom-plan-modal-dialog{position:static;background:transparent;padding:0;border-radius:0}.custom-plan-modal-close{display:none}.custom-plan-card{background:#fff;border-radius:var(--radius-xl);padding:1.5rem;border:1px solid var(--gray-200);box-shadow:var(--shadow-lg);display:block}.fly-dot{position:fixed;width:20px;height:20px;border-radius:999px;background:#39ff14;box-shadow:0 0 0 12px #39ff142e,0 0 24px #39ff1459;z-index:10000;pointer-events:none}.fly-text{position:fixed;padding:.35rem .6rem;background:#39ff14;color:#0f172a;border-radius:999px;font-size:.75rem;font-weight:700;box-shadow:0 6px 16px #39ff1459;z-index:10001;pointer-events:none;white-space:nowrap}.custom-plan-title{font-size:1.25rem;font-weight:700;color:var(--gray-800);margin-bottom:.5rem;text-align:center}.custom-plan-subtitle{font-size:.875rem;color:var(--gray-600);margin-bottom:1.5rem;line-height:1.5;text-align:center}.custom-form-group{margin-bottom:1rem}.custom-form-group label{display:block;font-size:.875rem;font-weight:600;color:var(--gray-700);margin-bottom:.375rem}.custom-form-input{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:.9375rem;transition:var(--transition);background:#fff}.custom-form-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #00ff001a}.custom-price-display{background:var(--gray-50);border-radius:var(--radius-lg);padding:1.25rem;margin:1.5rem 0}.custom-price-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;font-size:.875rem}.custom-price-item span:first-child{white-space:nowrap}.custom-price-item span:last-child{white-space:nowrap}.custom-price-item span:first-child{color:var(--gray-600)}.custom-price-item span:last-child{font-weight:600;color:var(--gray-800)}.custom-price-total{display:flex;justify-content:space-between;align-items:center;padding-top:.75rem;margin-top:.75rem;border-top:2px solid var(--gray-200);font-size:1.125rem;font-weight:700;color:var(--primary)}.custom-plan-note{font-size:.75rem;color:var(--gray-600);text-align:center;line-height:1.4;margin-top:1rem;font-style:italic}.service-toggle{display:flex;justify-content:center;gap:.5rem;position:relative;margin-bottom:2rem}.service-option{position:relative;padding:.875rem 1.5rem;border-radius:var(--radius-lg);background:var(--gray-100);border:2px solid var(--gray-300);color:var(--gray-700);font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);min-width:180px;text-align:center;box-shadow:var(--shadow-sm);display:flex;align-items:center;justify-content:center;gap:.5rem;overflow:hidden;flex-shrink:0;font-size:.95rem}.service-option:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(16,185,129,.1),transparent);transition:left .5s}.service-option:hover:before{left:100%}.service-option:hover{border-color:var(--success);transform:translateY(-3px) scale(1.02);box-shadow:var(--shadow-lg)}.service-option.active{background:var(--gradient-success);color:#fff;border-color:transparent;box-shadow:0 0 0 3px #10b98133,var(--shadow-lg);transform:translateY(-2px) scale(1.02)}.service-option.active:before{background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.service-option i{font-size:1.1rem;opacity:.8;transition:opacity .3s ease}.service-option:hover i,.service-option.active i{opacity:1}.duration-section{margin-bottom:2rem;text-align:center}.duration-heading{font-size:1.25rem;font-weight:700;color:var(--gray-800);margin-bottom:1.25rem}#durationSelector{display:inline-flex!important;justify-content:center!important;align-items:center;gap:.5rem;padding:.375rem;border-radius:999px;background:#fff;border:1px solid var(--gray-200);box-shadow:0 8px 20px -12px #00000040;flex-wrap:nowrap!important}.duration-pill{position:relative;padding:.625rem 1.25rem;border-radius:999px;background:transparent;border:1px solid transparent;color:var(--gray-700);font-weight:600;cursor:pointer;transition:all .2s ease;min-width:120px;text-align:center;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;flex-shrink:0}.duration-pill.selected,.duration-pill.active{background:#39ff14;color:#0f172a;box-shadow:0 6px 14px -8px #0006,0 0 0 3px #39ff1459;transform:translateY(-1px)}.duration-pill.selected:after,.duration-pill.active:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:inherit;border:2px solid rgba(57,255,20,.7);pointer-events:none}.duration-icon{font-size:.95rem;opacity:.85;transition:opacity .2s ease}.duration-pill.selected .duration-icon,.duration-pill.active .duration-icon{opacity:1}.duration-text{font-size:.9rem;white-space:nowrap}.popular-badge{display:none!important}.text-center{text-align:center;margin-bottom:2rem}.text-center h2{font-size:2rem;font-weight:700;margin-bottom:.5rem;color:var(--gray-800)}.text-center p{font-size:1rem;color:var(--gray-600);max-width:600px;margin:0 auto;line-height:1.6}.progress-container{margin-bottom:2rem}.progress-steps{display:flex;justify-content:center;gap:3rem}.progress-step{display:flex;flex-direction:column;align-items:center;position:relative}.step-number{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#fff;border:2px solid var(--gray-300);color:var(--gray-600);font-weight:600;font-size:.875rem;margin-bottom:.5rem;transition:var(--transition)}.step-number.active{border-color:var(--primary);background:var(--primary);color:#fff;transform:scale(1.1)}.step-number.completed{border-color:var(--success);background:var(--success);color:#fff}.step-label{font-size:.75rem;font-weight:500;color:var(--gray-600);text-align:center;white-space:nowrap}.step-label.active{color:var(--primary);font-weight:600}.step-label.completed{color:var(--success)}.form-actions{display:flex;gap:1rem;justify-content:center;align-items:center;flex-wrap:wrap}@media (max-width: 1024px){.main-content-wrapper{grid-template-columns:1fr;gap:2rem}.custom-plan-column{position:relative;top:unset;order:2;max-width:600px;margin:0 auto}.packages-grid{order:1}}@media (max-width: 1024px){.packages-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.registration-container{padding:1.5rem 1rem 3rem}.packages-grid{grid-template-columns:1fr;gap:1rem}.progress-steps{gap:1.5rem}.duration-toggle-group,.service-toggle{gap:.5rem}.service-option{min-width:160px;font-size:.9rem;padding:.75rem 1.25rem}.duration-pill{min-width:90px;font-size:.8rem;padding:.5rem .75rem}.text-center h2{font-size:1.75rem}.package-card-ref{padding:1.5rem}.package-title-ref{font-size:1.125rem}.final-price-ref{font-size:1.5rem}.app-name{display:none}.form-actions{flex-direction:column;gap:.75rem;align-items:stretch}.form-actions .btn-ref{width:100%;margin-left:0!important;margin-right:0!important;justify-content:center}.custom-plan-modal{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;z-index:10050;align-items:center;justify-content:center;padding:1rem}.custom-plan-modal.is-open{display:flex}.custom-plan-modal-dialog{width:100%;max-width:520px;background:#fff;border-radius:var(--radius-xl);padding:1rem;box-shadow:var(--shadow-xl);position:relative}.custom-plan-modal-close{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:999px;border:1px solid var(--gray-200);background:#fff;color:var(--gray-700);cursor:pointer;position:absolute;top:.5rem;right:.5rem;box-shadow:var(--shadow-sm)}.custom-plan-modal-close:hover{background:var(--gray-50)}}@media (max-width: 480px){.step-number{width:32px;height:32px;font-size:.75rem}.step-label{font-size:.6875rem}.progress-steps{gap:1rem}.btn-ref{padding:.75rem 1.25rem;font-size:.875rem}.custom-plan-card{padding:1.25rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.content-section.active{animation:fadeIn .3s ease-out}.alert-message{position:relative;display:flex;align-items:center;gap:1rem;padding:1.25rem 1.5rem;margin-bottom:2rem;border-radius:var(--radius-xl);font-weight:500;font-size:1rem;line-height:1.5;box-shadow:var(--shadow-lg);border:1px solid transparent;animation:alertSlideIn .5s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all .3s cubic-bezier(.4,0,.2,1);max-width:800px;margin-left:auto;margin-right:auto}.alert-message.success{background:linear-gradient(135deg,#10b9811a,#0596691a);border-color:#10b98133;color:var(--success-dark)}.alert-message.success:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-success);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.alert-message.info{background:linear-gradient(135deg,#2563eb1a,#1d4ed81a);border-color:#2563eb33;color:var(--primary-dark)}.alert-message.info:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-primary);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.alert-message.warning{background:linear-gradient(135deg,#f59e0b1a,#d977061a);border-color:#f59e0b33;color:#92400e}.alert-message.warning:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(135deg,#f59e0b,#d97706);border-radius:var(--radius-xl) 0 0 var(--radius-xl)}.alert-message i{font-size:1.25rem;flex-shrink:0;opacity:.9}.alert-message.success i{color:var(--success)}.alert-message.info i{color:var(--primary)}.alert-message.warning i{color:var(--warning)}.alert-message span{flex:1;font-weight:600}.alert-message .alert-close{background:none;border:none;color:currentColor;cursor:pointer;padding:.25rem;border-radius:var(--radius-md);font-size:1.125rem;line-height:1;opacity:.7;transition:all .2s ease;flex-shrink:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.alert-message .alert-close:hover{opacity:1;background:#fff3;transform:scale(1.1)}.alert-message .alert-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}@keyframes alertSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes alertSlideOut{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(-20px) scale(.95)}}.alert-message:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}@media (max-width: 768px){.alert-message{padding:1rem 1.25rem;margin-bottom:1.5rem;font-size:.9375rem;gap:.75rem}.alert-message i{font-size:1.125rem}.alert-message span{font-weight:500}}@media (max-width: 480px){.alert-message{padding:.875rem 1rem;margin-bottom:1.25rem;font-size:.875rem;gap:.5rem}.alert-message i{font-size:1rem}}.hidden{display:none!important}.visible{display:block!important}.w-full{width:100%}.mt-4{margin-top:1rem}.mb-4{margin-bottom:1rem}.text-center{text-align:center}.flex{display:flex}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.exam-mascot{position:fixed;bottom:2rem;right:2rem;z-index:50;pointer-events:none;animation:mascotFloat 3s ease-in-out infinite}.exam-mascot i{color:var(--primary);font-size:2.5rem;filter:drop-shadow(0 4px 12px rgba(37,99,235,.2))}@keyframes mascotFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(5deg)}}.btn-ref.loading{position:relative;color:transparent!important}.btn-ref.loading:after{content:"";position:absolute;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading{position:fixed;top:0;left:0;width:100%;height:100%;background:#fffffff2;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;justify-content:center;align-items:center;z-index:9999;transition:opacity .3s ease,visibility .3s ease}.loading.hidden{opacity:0;visibility:hidden}.absolute{position:absolute}.inline-block{display:inline-block}.loader{display:flex;margin:.25em 0}.w-2{width:.5em}.dash{animation:dashArray 2s ease-in-out infinite,dashOffset 2s linear infinite}.spin{animation:spinDashArray 2s ease-in-out infinite,spin 8s ease-in-out infinite,dashOffset 2s linear infinite;transform-origin:center}@keyframes dashArray{0%{stroke-dasharray:0 1 359 0}50%{stroke-dasharray:0 359 1 0}to{stroke-dasharray:359 1 0 0}}@keyframes spinDashArray{0%{stroke-dasharray:270 90}50%{stroke-dasharray:0 360}to{stroke-dasharray:270 90}}@keyframes dashOffset{0%{stroke-dashoffset:365}to{stroke-dashoffset:5}}@keyframes spin{0%{rotate:0deg}12.5%,25%{rotate:270deg}37.5%,50%{rotate:540deg}62.5%,75%{rotate:810deg}87.5%,to{rotate:1080deg}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:var(--radius-sm)}.auth-required-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0009;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;opacity:0;visibility:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-required-modal:not(.hidden){opacity:1;visibility:visible}.auth-required-content{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:500px;width:90%;max-height:90vh;overflow-y:auto;transform:scale(.9) translateY(20px);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.auth-required-modal:not(.hidden) .auth-required-content{transform:scale(1) translateY(0)}.auth-required-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--gray-200);background:linear-gradient(135deg,var(--gray-50) 0%,white 100%);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.auth-required-title{font-size:1.25rem;font-weight:700;color:var(--gray-800);margin:0;display:flex;align-items:center;gap:.75rem}.auth-required-title i{color:var(--warning);font-size:1.5rem}.auth-required-close{background:none;border:none;font-size:1.5rem;color:var(--gray-500);cursor:pointer;padding:.25rem;border-radius:var(--radius-md);transition:all .2s ease;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.auth-required-close:hover{background:var(--gray-100);color:var(--gray-700);transform:scale(1.1)}.auth-required-body{padding:2rem}.auth-required-message{font-size:1rem;color:var(--gray-700);line-height:1.6;margin-bottom:2rem;text-align:center}.auth-required-actions{display:flex;flex-direction:column;gap:1rem}.auth-required-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:var(--radius-lg);font-weight:600;font-size:.9375rem;text-decoration:none;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:2px solid transparent;position:relative;overflow:hidden;text-align:center}.auth-required-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.auth-required-btn:hover:before{left:100%}.auth-required-btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.auth-required-btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.auth-required-btn-secondary{background:#fff;color:var(--gray-700);border-color:var(--gray-300);box-shadow:var(--shadow-sm)}.auth-required-btn-secondary:hover{background:var(--gray-50);border-color:var(--gray-400);transform:translateY(-2px);box-shadow:var(--shadow-md)}.auth-required-btn i{font-size:1rem}@media (max-width: 768px){.auth-required-content{width:95%;margin:1rem}.auth-required-header{padding:1.25rem 1.5rem}.auth-required-title{font-size:1.125rem}.auth-required-body{padding:1.5rem}.auth-required-message{font-size:.9375rem;margin-bottom:1.5rem}.auth-required-actions{gap:.75rem}.auth-required-btn{padding:.75rem 1.25rem;font-size:.875rem}}@media (max-width: 480px){.auth-required-header{padding:1rem 1.25rem}.auth-required-title{font-size:1rem;gap:.5rem}.auth-required-title i{font-size:1.25rem}.auth-required-body{padding:1.25rem}.auth-required-message{font-size:.875rem}.auth-required-btn{padding:.6875rem 1rem;font-size:.8125rem}}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-required-modal:not(.hidden) .auth-required-content{animation:modalSlideIn .3s cubic-bezier(.4,0,.2,1)}.auth-required-modal{-webkit-overflow-scrolling:touch}.auth-required-close:focus-visible,.auth-required-btn:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
