:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}#root{margin:0;padding:0;min-height:100vh}.app{min-height:100vh;background-color:#f8f9fa}.app-content{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (prefers-reduced-motion: no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.invitation-register{min-height:calc(100vh - 80px);background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif}.form-container,.loading-container,.error-container,.success-container{background:#fff;border-radius:20px;box-shadow:0 25px 70px #0003;max-width:750px;width:100%;padding:3rem;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.form-container h1{font-size:2rem;font-weight:700;color:#1a202c;margin:0 0 2rem;text-align:center;letter-spacing:-.5px}.invitation-info{background:linear-gradient(135deg,#667eea15,#764ba215);border-left:4px solid #667eea;padding:1.5rem;border-radius:12px;margin:0 0 2rem;box-shadow:0 2px 8px #667eea1a}.invitation-info h2{font-size:1.375rem;font-weight:600;color:#1a202c;margin:0 0 .75rem}.course-description{color:#4a5568;margin:.5rem 0 0;line-height:1.6;font-size:.9375rem}.invitation-info>div{background:#fff;padding:.875rem 1rem;border-radius:8px;margin-top:.875rem;font-size:.8125rem;color:#718096;border:1px solid #e2e8f0}.form-section{margin-bottom:2.5rem;padding-bottom:2rem;border-bottom:2px solid #f7fafc}.form-section:last-of-type{border-bottom:none;padding-bottom:0;margin-bottom:0}.form-section h3{font-size:1.25rem;font-weight:600;color:#1a202c;margin:0 0 1.5rem;display:flex;align-items:center;gap:.75rem;letter-spacing:-.3px}.form-section h3:before{content:"";display:inline-block;width:5px;height:24px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:3px;box-shadow:0 2px 4px #667eea4d}.form-group{margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.form-group label{display:block;font-weight:600;color:#2d3748;margin-bottom:.625rem;font-size:.9375rem;letter-spacing:-.2px}.required{color:#e53e3e;margin-left:.25rem;font-weight:700}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=date],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:.875rem 1.125rem;border:2px solid #e2e8f0;border-radius:10px;font-size:.9375rem;color:#2d3748;transition:all .2s cubic-bezier(.4,0,.2,1);background:#fff;box-sizing:border-box;font-family:inherit}.form-group input:hover:not(:disabled):not(.readonly-field),.form-group textarea:hover:not(:disabled),.form-group select:hover:not(:disabled){border-color:#cbd5e0}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 4px #667eea1f;transform:translateY(-1px)}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0aec0;font-weight:400}.readonly-field{background:linear-gradient(135deg,#f7fafc,#edf2f7)!important;color:#4a5568!important;cursor:not-allowed;border-color:#cbd5e0!important;font-weight:500!important}.readonly-field:hover{border-color:#cbd5e0!important}.field-note{display:block;font-size:.8125rem;color:#718096;margin-top:.5rem;font-style:italic}.checkbox-group{margin:2rem 0 1.5rem;background:#f7fafc;padding:1.25rem;border-radius:10px;border:2px solid #e2e8f0;transition:all .2s ease}.checkbox-group:has(input:checked){background:linear-gradient(135deg,#667eea08,#764ba208);border-color:#667eea}.checkbox-label{display:flex;align-items:flex-start;gap:.875rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:22px;height:22px;margin-top:.125rem;cursor:pointer;accent-color:#667eea;flex-shrink:0;border-radius:6px}.checkbox-label span{color:#2d3748;line-height:1.7;font-size:.9375rem}.checkbox-label a{color:#667eea;text-decoration:none;font-weight:600;border-bottom:1px solid transparent;transition:border-color .2s ease}.checkbox-label a:hover{border-bottom-color:#667eea}.error-message{background:linear-gradient(135deg,#fff5f5,#fed7d7);border-left:4px solid #e53e3e;color:#c53030;padding:1.125rem 1.25rem;border-radius:10px;margin-bottom:1.5rem;font-size:.9375rem;line-height:1.6;font-weight:500;box-shadow:0 2px 8px #e53e3e26}.form-actions{margin-top:2.5rem}.submit-button{width:100%;padding:1.125rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:1.0625rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;gap:.625rem;box-shadow:0 6px 20px #667eea66;letter-spacing:.3px;text-transform:uppercase;font-size:.9375rem}.submit-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 25px #667eea80}.submit-button:active:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 15px #667eea66}.submit-button:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 4px 12px #667eea33}.loading-container{text-align:center;padding:4rem 2rem}.loading-spinner{width:48px;height:48px;border:5px solid #e2e8f0;border-top:5px solid #667eea;margin:0 auto 1.5rem}.loading-container p{color:#4a5568;font-size:1.0625rem;margin-top:1rem;font-weight:500}.error-container{text-align:center;padding:2.5rem}.error-container h1{color:#e53e3e;margin-bottom:1.25rem;font-size:1.875rem}.error-container .error-message{text-align:left;margin:1.5rem 0}.help-text{color:#718096;font-size:.9375rem;line-height:1.7;margin-top:1.5rem}.help-text details{margin-top:1.25rem;padding:1.25rem;background:#f7fafc;border-radius:10px;border:1px solid #e2e8f0}.help-text summary{font-weight:600;color:#2d3748;cursor:pointer;padding:.5rem}.help-text summary:hover{color:#667eea}.help-text code{display:block;background:#edf2f7;padding:.75rem;border-radius:6px;font-size:.8125rem;margin:.75rem 0;word-break:break-all;font-family:Courier New,monospace;border:1px solid #cbd5e0}.success-container{text-align:center;padding:2.5rem}.success-container h1{color:#38a169;margin-bottom:1.25rem;font-size:2rem}.success-container h1:before{content:"✓";display:block;font-size:3.5rem;margin-bottom:.5rem;color:#38a169}.success-container>p{color:#4a5568;font-size:1.0625rem;line-height:1.7;margin-bottom:2rem}.next-steps{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:12px;padding:2rem;text-align:left;margin-top:2rem;border:2px solid #e2e8f0}.next-steps h2{font-size:1.25rem;color:#1a202c;margin:0 0 1.25rem;font-weight:600}.next-steps li{padding:.875rem 0 .875rem 2.25rem;position:relative;color:#4a5568;line-height:1.6;font-size:.9375rem}.next-steps li:before{content:"✓";position:absolute;left:0;top:.875rem;width:24px;height:24px;background:#38a169;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.875rem}@media (max-width: 768px){.invitation-register{padding:1.25rem}.form-container,.loading-container,.error-container,.success-container{padding:2rem 1.5rem;border-radius:16px}.form-container h1{font-size:1.625rem}.form-row{grid-template-columns:1fr;gap:0}.form-section{margin-bottom:2rem;padding-bottom:1.75rem}.form-section h3{font-size:1.125rem}.form-group label{font-size:.875rem}.form-group input,.form-group textarea,.form-group select{font-size:1rem;padding:.875rem 1rem}.checkbox-label span{font-size:.875rem}.submit-button{padding:1rem 1.5rem;font-size:.875rem}.invitation-info{padding:1.25rem}.invitation-info h2{font-size:1.1875rem}}@media (max-width: 480px){.form-container,.loading-container,.error-container,.success-container{padding:1.5rem 1.25rem}.form-container h1{font-size:1.5rem;margin-bottom:1.5rem}.form-section{margin-bottom:1.75rem;padding-bottom:1.5rem}.form-group{margin-bottom:1.25rem}.form-section h3{font-size:1.0625rem;margin-bottom:1.25rem}.invitation-info h2{font-size:1.125rem}}@keyframes inputFocus{0%{box-shadow:0 0 #667eea66}to{box-shadow:0 0 0 4px #667eea1f}}html{scroll-behavior:smooth}.form-container::-webkit-scrollbar{width:8px}.form-container::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.form-container::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:10px}.form-container::-webkit-scrollbar-thumb:hover{background:#a0aec0}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.form-container h1{font-size:1.875rem;font-weight:700;color:#1a202c;margin:0 0 .5rem;text-align:center}.invitation-info{background:#f7fafc;border-left:4px solid #667eea;padding:1.25rem;border-radius:8px;margin:1.5rem 0}.invitation-info h2{font-size:1.25rem;font-weight:600;color:#2d3748;margin:0 0 .5rem}.course-description{color:#4a5568;margin:.5rem 0 0;line-height:1.6}.registration-form{margin-top:2rem}.form-section{margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid #e2e8f0}.form-section:last-of-type{border-bottom:none;padding-bottom:0}.form-section h3{font-size:1.125rem;font-weight:600;color:#2d3748;margin:0 0 1.25rem;display:flex;align-items:center;gap:.5rem}.form-section h3:before{content:"";display:inline-block;width:4px;height:20px;background:#667eea;border-radius:2px}.form-group{margin-bottom:1.25rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group label{display:block;font-weight:500;color:#2d3748;margin-bottom:.5rem;font-size:.9375rem}.required{color:#e53e3e;margin-left:.25rem}.form-group input[type=text],.form-group input[type=email],.form-group input[type=tel],.form-group input[type=date],.form-group input[type=number],.form-group textarea,.form-group select{width:100%;padding:.75rem 1rem;border:2px solid #e2e8f0;border-radius:8px;font-size:.9375rem;color:#2d3748;transition:all .2s ease;background:#fff;box-sizing:border-box}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.form-group input::placeholder,.form-group textarea::placeholder{color:#a0aec0}.readonly-field{background-color:#f7fafc!important;color:#4a5568!important;cursor:not-allowed;border-color:#cbd5e0!important}.field-note{display:block;font-size:.8125rem;color:#718096;margin-top:.375rem}.checkbox-group{margin:1.5rem 0}.checkbox-label{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:20px;height:20px;margin-top:.125rem;cursor:pointer;accent-color:#667eea;flex-shrink:0}.checkbox-label span{color:#2d3748;line-height:1.6;font-size:.9375rem}.checkbox-label a{color:#667eea;text-decoration:none;font-weight:500}.checkbox-label a:hover{text-decoration:underline}.error-message{background-color:#fff5f5;border-left:4px solid #e53e3e;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1.5rem;font-size:.9375rem;line-height:1.5}.form-actions{margin-top:2rem}.submit-button{width:100%;padding:1rem 2rem;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem;box-shadow:0 4px 12px #667eea4d}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #667eea66}.submit-button:active:not(:disabled){transform:translateY(0)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.loading-container{text-align:center;padding:3rem 2rem}.loading-spinner,.button-spinner{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top:4px solid #667eea;margin:0 auto 1rem}.loading-container p{color:#4a5568;font-size:1rem;margin-top:1rem}.error-container{text-align:center;padding:2rem}.error-container h1{color:#e53e3e;margin-bottom:1rem}.error-container .error-message{background-color:#fff5f5;border-left:4px solid #e53e3e;color:#c53030;padding:1rem;border-radius:8px;margin:1.5rem 0;text-align:left}.help-text{color:#718096;font-size:.9375rem;line-height:1.6;margin-top:1.5rem}.help-text details{margin-top:1rem;padding:1rem;background:#f7fafc;border-radius:8px}.help-text summary{font-weight:600;color:#2d3748;cursor:pointer}.help-text code{display:block;background:#edf2f7;padding:.5rem;border-radius:4px;font-size:.8125rem;margin:.5rem 0;word-break:break-all}.success-container{text-align:center;padding:2rem}.success-container h1{color:#38a169;margin-bottom:1rem}.success-container>p{color:#4a5568;font-size:1rem;line-height:1.6;margin-bottom:2rem}.next-steps{background:#f7fafc;border-radius:8px;padding:1.5rem;text-align:left;margin-top:2rem}.next-steps h2{font-size:1.125rem;color:#2d3748;margin:0 0 1rem}.next-steps ul{list-style:none;padding:0;margin:0}.next-steps li{padding:.75rem 0 .75rem 1.75rem;position:relative;color:#4a5568;line-height:1.5}.next-steps li:before{content:"✓";position:absolute;left:0;color:#38a169;font-weight:700;font-size:1.125rem}@media (max-width: 768px){.invitation-register{padding:1rem}.form-container,.loading-container,.error-container,.success-container{padding:1.5rem;border-radius:12px}.form-container h1{font-size:1.5rem}.form-row{grid-template-columns:1fr;gap:0}.form-section h3{font-size:1rem}.form-group label{font-size:.875rem}.form-group input,.form-group textarea,.form-group select{font-size:1rem;padding:.875rem 1rem}.checkbox-label{font-size:.875rem}.submit-button{padding:.875rem 1.5rem;font-size:.9375rem}.invitation-info{padding:1rem}.invitation-info h2{font-size:1.125rem}}@media (max-width: 480px){.form-container,.loading-container,.error-container,.success-container{padding:1.25rem}.form-container h1{font-size:1.375rem}.form-section{margin-bottom:1.5rem;padding-bottom:1.5rem}.form-group{margin-bottom:1rem}}@media (prefers-color-scheme: dark){.invitation-register{background:linear-gradient(135deg,#1a202c,#2d3748)}}.page-container{width:100%;max-width:1200px;margin:0 auto;padding:var(--spacing-4)}.page-header{margin-bottom:var(--spacing-8);padding-bottom:var(--spacing-4);border-bottom:1px solid var(--gray-200)}.page-header h1{font-size:var(--font-size-3xl);font-weight:700;color:var(--gray-900);margin:0 0 var(--spacing-2) 0;line-height:1.2}.page-header p{color:var(--gray-600);font-size:var(--font-size-lg);margin:0;line-height:1.5}@media (max-width: 768px){.page-container{padding:var(--spacing-3)}.page-header{margin-bottom:var(--spacing-6)}.page-header h1{font-size:var(--font-size-2xl)}.page-header p{font-size:var(--font-size-base)}}.page-content{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--gray-200);overflow:hidden}.form-container{background:#fff;border-radius:var(--radius-xl);box-shadow:var(--shadow-md);border:1px solid var(--gray-200);padding:var(--spacing-8);margin-bottom:var(--spacing-6)}.form-section{margin-bottom:var(--spacing-8)}.form-section:last-child{margin-bottom:0}.form-section h3{font-size:var(--font-size-xl);font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-6);padding-bottom:var(--spacing-3);border-bottom:2px solid var(--gray-100)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--spacing-6);margin-bottom:var(--spacing-6)}.form-group{display:flex;flex-direction:column}.form-group label{font-size:var(--font-size-sm);font-weight:600;color:var(--gray-700);margin-bottom:var(--spacing-2);line-height:1.4}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--spacing-3) var(--spacing-4);border:1px solid var(--gray-300);border-radius:var(--radius-md);font-size:var(--font-size-base);line-height:1.5;transition:var(--transition-normal);background-color:#fff}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-500);box-shadow:0 0 0 3px #3b82f61a}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:var(--error-500);box-shadow:0 0 0 3px #ef44441a}.form-group .error-message{font-size:var(--font-size-sm);color:var(--error-500);margin-top:var(--spacing-1)}@media (max-width: 768px){.form-container{padding:var(--spacing-6);margin-bottom:var(--spacing-4)}.form-row{grid-template-columns:1fr;gap:var(--spacing-4)}.form-section{margin-bottom:var(--spacing-6)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);padding:var(--spacing-3) var(--spacing-6);font-size:var(--font-size-base);font-weight:500;line-height:1;border:1px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-normal);text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--primary-500);color:#fff;border-color:var(--primary-500)}.btn-primary:hover:not(:disabled){background-color:var(--primary-600);border-color:var(--primary-600)}.btn-secondary{background-color:#fff;color:var(--gray-700);border-color:var(--gray-300)}.btn-secondary:hover:not(:disabled){background-color:var(--gray-50);border-color:var(--gray-400)}.btn-success{background-color:var(--success-500);color:#fff;border-color:var(--success-500)}.btn-danger{background-color:var(--error-500);color:#fff;border-color:var(--error-500)}.btn-small{padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm)}.btn-large{padding:var(--spacing-4) var(--spacing-8);font-size:var(--font-size-lg)}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-12);text-align:center}.loading-spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top:3px solid var(--primary-500);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:var(--spacing-4)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-text{font-size:var(--font-size-lg);color:var(--gray-600);font-weight:500}.empty-state{text-align:center;padding:var(--spacing-12);background:#fff;border-radius:var(--radius-lg);border:1px solid var(--gray-200);margin:var(--spacing-6) 0}.empty-state-icon{font-size:3rem;margin-bottom:var(--spacing-4);opacity:.6}.empty-state h3{font-size:var(--font-size-xl);font-weight:600;color:var(--gray-900);margin-bottom:var(--spacing-2)}.empty-state p{font-size:var(--font-size-base);color:var(--gray-600);margin-bottom:var(--spacing-2);line-height:1.6}.empty-state-hint{font-size:var(--font-size-sm);color:var(--gray-500)}.placeholder-content{text-align:center;padding:var(--spacing-12) var(--spacing-8);max-width:500px;margin:0 auto}.placeholder-content h2{color:var(--gray-700);font-size:var(--font-size-2xl);font-weight:600;margin:0 0 var(--spacing-4) 0}.placeholder-content p{color:var(--gray-600);font-size:var(--font-size-lg);margin:0 0 var(--spacing-6) 0;line-height:1.6}.placeholder-content ul{text-align:left;color:var(--gray-600);line-height:1.8}.placeholder-content li{margin-bottom:.5rem}@media (max-width: 768px){.page-header h1{font-size:1.5rem}.page-header p{font-size:1rem}.placeholder-content{padding:2rem 1rem}.placeholder-content h2{font-size:1.25rem}.placeholder-content p{font-size:1rem}}.main-navigation{background:#fff;border-bottom:2px solid #e9ecef;box-shadow:0 2px 4px #0000001a;position:sticky;top:0;z-index:1000}.nav-container{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem}.nav-brand{font-size:1.5rem;font-weight:700}.nav-brand a{color:#007bff;text-decoration:none;transition:color .2s ease}.nav-brand a:hover{color:#0056b3}.nav-links{display:flex;gap:2rem;align-items:center}.nav-link{color:#495057;text-decoration:none;font-weight:500;padding:.5rem 1rem;border-radius:6px;transition:all .2s ease;position:relative}.nav-link:hover{color:#007bff;background-color:#f8f9fa}.nav-link.active{color:#007bff;background-color:#e7f3ff;font-weight:600}.nav-link.active:after{content:"";position:absolute;bottom:-1rem;left:50%;transform:translate(-50%);width:4px;height:4px;background-color:#007bff;border-radius:50%}@media (max-width: 768px){.nav-container{flex-direction:column;gap:1rem;padding:1rem}.nav-links{gap:1rem}.nav-link{padding:.75rem 1rem;text-align:center;min-width:120px}.nav-link.active:after{bottom:-.5rem}}@media (max-width: 480px){.nav-links{flex-direction:column;width:100%}.nav-link{width:100%}}
