.disclaimer-modal-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.disclaimer-modal-content{background:#fff;border-radius:12px;padding:32px;max-width:600px;width:100%;box-shadow:0 8px 32px #0000004d;animation:disclaimer-modal-slide-in .3s ease-out}@keyframes disclaimer-modal-slide-in{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.disclaimer-modal-title{margin:0 0 24px;font-size:28px;font-weight:700;color:#1a1a1a;text-align:center}.disclaimer-modal-text{margin-bottom:32px;line-height:1.8;max-height:40vh;overflow-y:auto;border:1px solid #e5e7eb;border-radius:8px;padding:16px;background-color:#f9fafb}.disclaimer-modal-text p{margin:0 0 16px;font-size:18px;color:#333}.disclaimer-modal-text p:last-child{margin-bottom:0}.disclaimer-modal-buttons{display:flex;gap:16px;flex-wrap:wrap}.disclaimer-modal-button{flex:1;min-width:140px;padding:16px 24px;font-size:18px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:center}.disclaimer-modal-button:active{transform:scale(.98)}.disclaimer-modal-button--secondary{background-color:#6b7280;color:#fff}.disclaimer-modal-button--secondary:hover{background-color:#4b5563}.disclaimer-modal-button--secondary:focus{outline:3px solid #9ca3af;outline-offset:2px}.disclaimer-modal-button--primary{background-color:#2563eb;color:#fff}.disclaimer-modal-button--primary:hover{background-color:#1d4ed8}.disclaimer-modal-button--primary:focus{outline:3px solid #93c5fd;outline-offset:2px}.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;max-height:60vh;overflow-y:auto;padding:4px}.selection-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;padding:24px;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%}.selection-card:hover{border-color:#2563eb;background-color:#f0f9ff;transform:translateY(-2px);box-shadow:0 4px 12px #2563eb1a}.selection-card:focus{outline:3px solid #93c5fd;outline-offset:2px;border-color:#2563eb}.card-icon{font-size:48px;margin-bottom:16px}.card-label{font-size:18px;font-weight:600;color:#111827;margin-bottom:8px}.card-sublabel{font-size:14px;color:#6b7280}.language-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.language-card{padding:20px}.card-native-name{font-size:20px;font-weight:700;color:#111827;margin-bottom:4px}.card-english-name{font-size:14px;color:#6b7280}.back-button{background:none;border:none;font-size:24px;cursor:pointer;padding:8px;margin-right:16px;border-radius:50%;transition:background-color .2s;display:flex;align-items:center;justify-content:center}.back-button:hover{background-color:#f3f4f6}@media (max-width: 640px){.disclaimer-modal-content{padding:24px;max-width:100%}.disclaimer-modal-title{font-size:24px;margin-bottom:20px}.disclaimer-modal-text p{font-size:16px}.disclaimer-modal-buttons{flex-direction:column}.disclaimer-modal-button{width:100%;min-width:unset}.card-grid{grid-template-columns:1fr}.language-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 641px) and (max-width: 1024px){.disclaimer-modal-content{max-width:600px}.disclaimer-modal-button{padding:18px 28px;font-size:20px}}@media (prefers-contrast: high){.disclaimer-modal-overlay{background-color:#000000e6}.disclaimer-modal-content{border:2px solid #000}.disclaimer-modal-button,.selection-card{border:2px solid currentColor}}@media (prefers-reduced-motion: reduce){.disclaimer-modal-content{animation:none}.disclaimer-modal-button{transition:none}.disclaimer-modal-button:active{transform:none}.selection-card{transition:none}.selection-card:hover{transform:none}}@keyframes blob{0%{transform:translate(0) scale(1)}33%{transform:translate(30px,-50px) scale(1.1)}66%{transform:translate(-20px,20px) scale(.9)}to{transform:translate(0) scale(1)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.login-page{position:relative;display:flex;min-height:100vh;flex-direction:column;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(135deg,#667eea,#764ba2);font-family:Inter,Outfit,ui-sans-serif,system-ui,sans-serif}.login-blob{position:absolute;border-radius:9999px;filter:blur(60px);opacity:.5;animation:blob 7s infinite}.login-blob--1{width:20rem;height:20rem;background-color:#a78bfa;top:-4rem;left:-4rem;animation-delay:0s}.login-blob--2{width:20rem;height:20rem;background-color:#f472b6;top:-4rem;right:-4rem;animation-delay:2s}.login-blob--3{width:20rem;height:20rem;background-color:#818cf8;bottom:-4rem;left:50%;transform:translate(-50%);animation-delay:4s}.login-card-outer{position:relative;z-index:10;width:100%;max-width:28rem;padding:0 1rem;animation:fadeIn .6s ease-out forwards}.login-card{background:#ffffffb3;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.5);border-radius:1.5rem;padding:2.5rem 2rem;box-shadow:0 25px 50px -12px #00000040}.login-title{font-family:Outfit,Inter,sans-serif;font-size:2rem;font-weight:700;color:#1e1b4b;text-align:center;margin:0 0 .5rem;letter-spacing:-.025em}.login-subtitle{font-size:.9rem;color:#4b5563;text-align:center;margin:0 0 2rem}.login-error{margin-bottom:1.25rem;background-color:#fef2f2;border-left:4px solid #f87171;padding:.875rem 1rem;border-radius:0 .5rem .5rem 0}.login-error p{font-size:.875rem;color:#b91c1c;margin:0}.login-info{margin-bottom:1.25rem;background-color:#eff6ff;border-left:4px solid #60a5fa;padding:.875rem 1rem;border-radius:0 .5rem .5rem 0}.login-info p{font-size:.875rem;color:#1d4ed8;margin:0}.login-form{display:flex;flex-direction:column;gap:1rem;margin-bottom:1.25rem}.login-field{display:flex;flex-direction:column;gap:.375rem}.login-label{font-size:.8125rem;font-weight:600;color:#374151;letter-spacing:.01em}.login-input{width:100%;padding:.625rem .875rem;font-size:.9375rem;font-family:Inter,sans-serif;border:1.5px solid rgba(99,102,241,.25);border-radius:.625rem;background:#fffc;color:#111827;transition:border-color .15s ease,box-shadow .15s ease;box-sizing:border-box}.login-input:focus{outline:none;border-color:#6366f1;box-shadow:0 0 0 3px #6366f126}.login-input::placeholder{color:#9ca3af}.login-divider{display:flex;align-items:center;gap:.75rem;margin:1.25rem 0;color:#9ca3af;font-size:.8125rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#6366f133}.login-links{display:flex;flex-wrap:wrap;justify-content:center;gap:.25rem 1rem;margin-top:1.25rem}.login-link{background:none;border:none;padding:0;font-size:.8125rem;font-family:Inter,sans-serif;color:#4f46e5;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.login-link:hover{color:#3730a3}.login-button{display:flex;width:100%;align-items:center;justify-content:center;gap:.625rem;border-radius:.75rem;border:none;padding:.8rem 1.25rem;font-size:.9375rem;font-weight:600;font-family:Inter,sans-serif;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.login-button:active{transform:translateY(0)}.login-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-button--primary{color:#fff;background:linear-gradient(135deg,#4f46e5,#7c3aed);box-shadow:0 4px 15px #4f46e566}.login-button--primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #4f46e580}.login-button--primary:focus{outline:3px solid rgba(99,102,241,.5);outline-offset:2px}.login-button--google{color:#374151;background:#ffffffe6;border:1.5px solid rgba(99,102,241,.2);box-shadow:0 1px 4px #0000001a}.login-button--google:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000001f;background:#fff}.login-button-icon{width:1.125rem;height:1.125rem;flex-shrink:0}.auth-loading{display:flex;min-height:100vh;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.auth-spinner{width:3rem;height:3rem;border-radius:9999px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin .8s linear infinite}.schema-form{max-width:900px;margin:0 auto;padding:1rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:16px;line-height:1.5;color:#333}@media (min-width: 768px){.schema-form{padding:2rem}}.schema-form__header{margin-bottom:2rem}.schema-form__title{font-size:1.75rem;font-weight:700;margin:0 0 .5rem;color:#1a1a1a}@media (min-width: 768px){.schema-form__title{font-size:2.25rem}}.schema-form__description{font-size:1rem;color:#666;margin:0 0 1.5rem}.schema-form__progress{margin-top:1.5rem}.schema-form__progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden}.schema-form__progress-fill{height:100%;background-color:#4caf50;transition:width .3s ease}.schema-form__progress-text{font-size:.875rem;color:#666;margin:.5rem 0 0;text-align:center}.section{margin-bottom:3rem}.section__header{margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid #e0e0e0}.section__title{font-size:1.5rem;font-weight:600;margin:0 0 .5rem;color:#1a1a1a}.section__description{font-size:.95rem;color:#666;margin:0}.section__fields{display:flex;flex-direction:column;gap:1.5rem}.form-field{display:flex;flex-direction:column}.form-field__label{font-weight:600;margin-bottom:.5rem;color:#1a1a1a;font-size:.95rem}.form-field__required{color:#d32f2f;margin-left:.25rem}.form-field__help-inline{font-size:.875rem;color:#666;font-style:italic;margin-left:.25rem}.form-field__instructions{font-size:.875rem;color:#666;margin:.5rem 0 0}.form-field__example{font-size:.875rem;color:#888;margin:.25rem 0 0;font-style:italic}.form-field__error{font-size:.875rem;color:#d32f2f;margin:.5rem 0 0;font-weight:500}.form-field__warning{font-size:.875rem;color:#f57c00;background-color:#fff3e0;padding:.75rem;border-left:4px solid #f57c00;margin:.5rem 0 0}.form-field__input,.form-field__textarea,.form-field__select{width:100%;padding:.75rem;font-size:1rem;font-family:inherit;border:1px solid #ccc;border-radius:4px;background-color:#fff;transition:border-color .2s,box-shadow .2s}.form-field__input:focus,.form-field__textarea:focus,.form-field__select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 3px #4caf501a}.form-field__input:disabled,.form-field__textarea:disabled,.form-field__select:disabled{background-color:#f5f5f5;color:#999;cursor:not-allowed}.form-field__input--error,.form-field__textarea--error,.form-field__select--error{border-color:#d32f2f}.form-field__input--error:focus,.form-field__textarea--error:focus,.form-field__select--error:focus{box-shadow:0 0 0 3px #d32f2f1a}.form-field__textarea{resize:vertical;min-height:100px}.form-field--confirmed .form-field__input,.form-field--confirmed .form-field__textarea,.form-field--confirmed .form-field__select{border-color:#4caf50;background-color:#f1f8f4}.form-field__confirmed-badge{display:inline-block;margin-left:.5rem;padding:.125rem .5rem;background-color:#4caf50;color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;vertical-align:middle}.form-field__fieldset{border:none;padding:0;margin:0}.form-field__radio-group,.form-field__checkbox-group{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}@media (min-width: 768px){.form-field__radio-group,.form-field__checkbox-group{flex-direction:row;flex-wrap:wrap;gap:1rem}}.form-field__radio-label,.form-field__checkbox-label{display:flex;align-items:center;cursor:pointer;user-select:none}.form-field__radio-input,.form-field__checkbox-input{width:1.25rem;height:1.25rem;margin:0 .5rem 0 0;cursor:pointer}.form-field__radio-input:disabled,.form-field__checkbox-input:disabled{cursor:not-allowed;opacity:.5}.form-field__radio-text,.form-field__checkbox-text{font-size:.95rem}.form-field__input--date{max-width:200px}.schema-form__navigation{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid #e0e0e0}.schema-form__nav-button{padding:.875rem 1.5rem;font-size:1rem;font-weight:600;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s,transform .1s;font-family:inherit}.schema-form__nav-button:hover{transform:translateY(-1px)}.schema-form__nav-button:active{transform:translateY(0)}.schema-form__nav-button--prev{background-color:#f5f5f5;color:#333}.schema-form__nav-button--prev:hover{background-color:#e0e0e0}.schema-form__nav-button--next,.schema-form__nav-button--submit{background-color:#4caf50;color:#fff;margin-left:auto}.schema-form__nav-button--next:hover,.schema-form__nav-button--submit:hover{background-color:#45a049}.schema-form__nav-button--submit{background-color:#2196f3}.schema-form__nav-button--submit:hover{background-color:#1976d2}.schema-form__legal{margin-top:2rem;padding:1rem;background-color:#f9f9f9;border:1px solid #e0e0e0;border-radius:4px}.schema-form__legal-warning{font-size:.875rem;color:#666;margin:.5rem 0;line-height:1.6}.schema-form__legal-warning:first-child{margin-top:0}.schema-form__legal-warning:last-child{margin-bottom:0}.form-field--not-implemented,.form-field--unknown{padding:1rem;background-color:#fff3e0;border:1px solid #f57c00;border-radius:4px}.schema-form__pdf-download{margin-top:3rem;padding:2rem;background-color:#f8f9fa;border:2px dashed #dee2e6;border-radius:8px;text-align:center}.schema-form__download-button{padding:1rem 2rem;font-size:1.125rem;font-weight:600;color:#fff;background-color:#06c;border:none;border-radius:6px;cursor:pointer;transition:background-color .2s,transform .1s;box-shadow:0 2px 4px #0000001a}.schema-form__download-button:hover:not(:disabled){background-color:#0052a3;transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.schema-form__download-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 2px #0000001a}.schema-form__download-button:disabled{background-color:#6c757d;cursor:not-allowed;opacity:.7}.schema-form__download-help{margin-top:1rem;font-size:.875rem;color:#6c757d;max-width:600px;margin-left:auto;margin-right:auto}.field-highlight{animation:highlight-pulse 1.5s ease-in-out}@keyframes highlight-pulse{0%{box-shadow:0 0 #3b82f6b3;transform:scale(1)}50%{box-shadow:0 0 0 10px #3b82f600;transform:scale(1.02)}to{box-shadow:0 0 #3b82f600;transform:scale(1)}}input.field-highlight,textarea.field-highlight,select.field-highlight{border-color:#3b82f6}
