.language-selector{display:flex;gap:.25rem;background-color:#f8f9fa;border-radius:8px;padding:.25rem}.language-selector__button{background:none;border:none;padding:.5rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:#666;min-width:44px;min-height:36px}.language-selector__button:hover{background-color:#e9ecef;color:#333}.language-selector__button.active{background-color:#007bff;color:#fff}.language-selector__button.active:hover{background-color:#0056b3}.header{background-color:#fff;border-bottom:1px solid #e0e0e0;padding:1rem;position:sticky;top:0;z-index:100}.header__content{display:flex;align-items:center;justify-content:space-between;max-width:100%}.header__back-button{background:none;border:none;font-size:1.5rem;padding:.5rem;cursor:pointer;color:#007bff;min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.header__back-button:hover{background-color:#f8f9fa;border-radius:50%}.header__title{font-size:1.25rem;font-weight:600;color:#333;margin:0;flex:1;text-align:center;padding:0 1rem}@media (max-width: 480px){.header__title{font-size:1rem}}.form-field{margin-bottom:1rem}.form-field__label{display:block;font-size:.875rem;font-weight:500;color:#333;margin-bottom:.5rem}.form-field__required{color:#dc3545;margin-left:.25rem}.form-field__input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;transition:border-color .2s ease,box-shadow .2s ease;min-height:44px;box-sizing:border-box}.form-field__input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.form-field__input--error{border-color:#dc3545}.form-field__input--error:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc354540}.form-field__error{display:block;font-size:.75rem;color:#dc3545;margin-top:.25rem}.button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:none;border-radius:8px;font-family:inherit;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;box-sizing:border-box}.button:disabled{opacity:.6;cursor:not-allowed}.button--contained{background-color:#007bff;color:#fff}.button--contained:hover:not(:disabled){background-color:#0056b3}.button--outlined{background-color:transparent;color:#007bff;border:2px solid #007bff}.button--outlined:hover:not(:disabled){background-color:#007bff;color:#fff}.button--text{background-color:transparent;color:#007bff}.button--text:hover:not(:disabled){background-color:#007bff1a}.button--small{padding:.5rem 1rem;font-size:.875rem;min-height:36px}.button--medium{padding:.75rem 1.5rem;font-size:1rem;min-height:44px}.button--large{padding:1rem 2rem;font-size:1.125rem;min-height:52px}.button--full-width{width:100%}.button__icon,.button__spinner{display:flex;align-items:center;justify-content:center}.button__spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.button__text{display:flex;align-items:center}.card{background-color:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.card__content{padding:1.5rem}.card__actions{padding:1rem 1.5rem;border-top:1px solid #e9ecef;display:flex;gap:1rem;justify-content:flex-end}.select{margin-bottom:1rem}.select__label{display:block;font-size:.875rem;font-weight:500;color:#333;margin-bottom:.5rem}.select__required{color:#dc3545;margin-left:.25rem}.select__input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:8px;font-size:1rem;background-color:#fff;transition:border-color .2s ease,box-shadow .2s ease;min-height:44px;box-sizing:border-box;cursor:pointer}.select__input:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.select__input--error{border-color:#dc3545}.select__input--error:focus{border-color:#dc3545;box-shadow:0 0 0 2px #dc354540}.select__error{display:block;font-size:.75rem;color:#dc3545;margin-top:.25rem}.container{max-width:600px;margin:0 auto;padding:2rem 1rem;min-height:calc(100vh - 80px);display:flex;flex-direction:column}@media (max-width: 768px){.container{padding:1rem .5rem}}.progress-stepper{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;padding:1rem;flex-wrap:wrap;gap:.5rem}.progress-stepper__step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1;min-width:80px}.progress-stepper__circle{width:40px;height:40px;border-radius:50%;background-color:#e9ecef;color:#6c757d;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;margin-bottom:.5rem;transition:all .2s ease}.progress-stepper__circle--active{background-color:#007bff;color:#fff}.progress-stepper__label{font-size:.75rem;color:#6c757d;text-align:center;transition:color .2s ease}.progress-stepper__label--active{color:#007bff;font-weight:500}.progress-stepper__line{position:absolute;top:20px;left:50%;width:100%;height:2px;background-color:#e9ecef;z-index:-1;transition:background-color .2s ease}.progress-stepper__line--active{background-color:#007bff}@media (max-width: 768px){.progress-stepper{flex-direction:column;gap:1rem}.progress-stepper__step{flex-direction:row;width:100%;justify-content:flex-start;text-align:left}.progress-stepper__circle{margin-bottom:0;margin-right:1rem}.progress-stepper__line{display:none}}.offline-sync{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404;padding:.75rem 1rem;position:sticky;top:0;z-index:98;animation:slideDown .3s ease-out}.offline-sync--offline{background-color:#f8d7da;border-color:#f5c6cb;color:#721c24}.offline-sync__content{display:flex;align-items:center;justify-content:space-between;max-width:100%;gap:1rem}.offline-sync__info{display:flex;align-items:center;gap:.75rem;flex:1}.offline-sync__icon{font-size:1.25rem;animation:pulse 2s infinite}.offline-sync__text{flex:1}.offline-sync__text strong{display:block;font-size:.875rem;margin-bottom:.25rem}.offline-sync__text p{font-size:.75rem;margin:0;opacity:.8}.offline-sync__button{flex-shrink:0;font-size:.75rem;padding:.5rem 1rem;min-height:32px}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 480px){.offline-sync__content{flex-direction:column;align-items:flex-start;gap:.5rem}.offline-sync__button{width:100%}}.notification{position:fixed;top:1rem;right:1rem;left:1rem;z-index:1000;border-radius:8px;padding:1rem;box-shadow:0 4px 12px #00000026;animation:slideIn .3s ease-out}.notification--success{background-color:#d4edda;border:1px solid #c3e6cb;color:#155724}.notification--error{background-color:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.notification--warning{background-color:#fff3cd;border:1px solid #ffeaa7;color:#856404}.notification--info{background-color:#d1ecf1;border:1px solid #bee5eb;color:#0c5460}.notification__content{display:flex;align-items:center;gap:.75rem}.notification__icon{font-size:1.25rem;flex-shrink:0}.notification__message{flex:1;font-size:.875rem;line-height:1.4}.notification__close{background:none;border:none;font-size:1.5rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s ease}.notification__close:hover{background-color:#0000001a}@keyframes slideIn{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@media (min-width: 768px){.notification{max-width:400px;left:auto}}.layout{min-height:100vh;display:flex;flex-direction:column;background-color:#f5f5f5}.layout__main{flex:1;padding:0;overflow-x:hidden}@media (min-width: 768px){.layout{max-width:480px;margin:0 auto;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0;background-color:#fff}}.home{min-height:calc(100vh - 80px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.home__content{width:100%;max-width:400px;text-align:center}.home__hero{margin-bottom:3rem}.home__icon{font-size:4rem;margin-bottom:1.5rem}.home__title{font-size:1.75rem;font-weight:600;color:#333;margin-bottom:.5rem}.home__subtitle{font-size:1.125rem;color:#666;margin-bottom:1rem}.home__description{font-size:1rem;color:#888;line-height:1.5}.home__actions{display:flex;flex-direction:column;gap:1rem}.home__button{padding:1rem 2rem;border-radius:12px;font-size:1.125rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-height:56px;border:none;display:flex;align-items:center;justify-content:center;gap:.5rem}.home__button-icon{font-size:1.25rem}.home__button--primary{background-color:#007bff;color:#fff}.home__button--primary:hover{background-color:#0056b3;transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.home__button--secondary{background-color:#f8f9fa;color:#333;border:2px solid #e9ecef}.home__button--secondary:hover{background-color:#e9ecef;border-color:#dee2e6;transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}@media (max-width: 480px){.home{padding:1rem}.home__title{font-size:1.5rem}.home__subtitle{font-size:1rem}}.personal-info-form{max-width:500px;margin:0 auto;padding:1rem}.personal-info-form__section{margin-bottom:2rem}.personal-info-form__section h3{font-size:1.25rem;font-weight:600;color:#333;margin-bottom:1rem;padding-bottom:.5rem;border-bottom:2px solid #e9ecef}.personal-info-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.personal-info-form__actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #e9ecef}.personal-info-form__button{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-height:44px;min-width:120px}.personal-info-form__button--primary{background-color:#007bff;color:#fff}.personal-info-form__button--primary:hover:not(:disabled){background-color:#0056b3}.personal-info-form__button--primary:disabled{background-color:#6c757d;cursor:not-allowed}.personal-info-form__button--secondary{background-color:#f8f9fa;color:#333;border:2px solid #e9ecef}.personal-info-form__button--secondary:hover{background-color:#e9ecef}@media (max-width: 768px){.personal-info-form{padding:.5rem}.personal-info-form__row{grid-template-columns:1fr}.personal-info-form__actions{flex-direction:column-reverse}.personal-info-form__button{width:100%}}.camera-capture{width:100%;max-width:400px;margin:0 auto}.camera-capture__container{display:flex;flex-direction:column;align-items:center;gap:1rem}.camera-capture__video-container{position:relative;width:100%;max-width:320px;aspect-ratio:4/3;border-radius:12px;overflow:hidden;background-color:#000}.camera-capture__video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.camera-capture__overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}.camera-capture__face-guide{position:relative;width:200px;height:250px}.camera-capture__face-outline{width:100%;height:100%;border:3px solid rgba(255,255,255,.8);border-radius:50%/60% 60% 40% 40%;box-shadow:0 0 0 9999px #0000004d}.camera-capture__instructions{text-align:center;padding:0 1rem}.camera-capture__instructions p{color:#666;font-size:.875rem;margin:0}.camera-capture__controls{display:flex;justify-content:center;align-items:center;gap:1rem;padding:1rem}.camera-capture__capture-button{width:80px;height:80px;border:4px solid #007bff;border-radius:50%;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.camera-capture__capture-button:hover{border-color:#0056b3;transform:scale(1.05)}.camera-capture__capture-button:disabled{border-color:#ccc;cursor:not-allowed;transform:none}.camera-capture__capture-inner{width:60px;height:60px;background-color:#007bff;border-radius:50%;transition:all .2s ease}.camera-capture__capture-button:hover .camera-capture__capture-inner{background-color:#0056b3}.camera-capture__capture-button:disabled .camera-capture__capture-inner{background-color:#ccc}.camera-capture__button{padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-height:44px}.camera-capture__button--primary{background-color:#007bff;color:#fff}.camera-capture__button--primary:hover{background-color:#0056b3}.camera-capture__button--secondary{background-color:#f8f9fa;color:#333;border:2px solid #e9ecef}.camera-capture__button--secondary:hover{background-color:#e9ecef}.camera-capture__permission{text-align:center;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem}.camera-capture__icon{font-size:4rem;margin-bottom:1rem}.camera-capture__permission h3{margin:0;color:#333}.camera-capture__permission p{color:#666;margin:0}.camera-capture__preview{display:flex;flex-direction:column;align-items:center;gap:1rem}.camera-capture__preview-image{width:100%;max-width:320px;border-radius:12px;transform:scaleX(-1)}.camera-capture__error{color:#dc3545;font-size:.875rem;text-align:center;padding:.5rem;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:8px;margin-top:1rem}@media (max-width: 480px){.camera-capture__video-container{max-width:280px}.camera-capture__face-guide{width:160px;height:200px}.camera-capture__capture-button{width:70px;height:70px}.camera-capture__capture-inner{width:50px;height:50px}}.registration{padding:1rem;min-height:calc(100vh - 80px)}.registration__content{max-width:600px;margin:0 auto}.registration__title{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:2rem;text-align:center}.registration__step-content{margin-top:2rem}.registration__camera-step,.registration__confirmation-step{display:flex;flex-direction:column;align-items:center;gap:2rem}.registration__step-header{text-align:center;max-width:400px}.registration__step-header h2{font-size:1.25rem;font-weight:600;color:#333;margin-bottom:.5rem}.registration__step-header p{color:#666;margin:0}.registration__step-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.registration__button{padding:.75rem 2rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;min-height:44px;min-width:120px}.registration__button--primary{background-color:#007bff;color:#fff}.registration__button--primary:hover:not(:disabled){background-color:#0056b3}.registration__button--primary:disabled{background-color:#6c757d;cursor:not-allowed}.registration__button--secondary{background-color:#f8f9fa;color:#333;border:2px solid #e9ecef}.registration__button--secondary:hover:not(:disabled){background-color:#e9ecef}.registration__summary{display:flex;flex-direction:column;gap:1.5rem;max-width:400px;width:100%}.registration__summary-section{background-color:#f8f9fa;border-radius:8px;padding:1rem}.registration__summary-section h3{font-size:1rem;font-weight:600;color:#333;margin-bottom:.75rem;border-bottom:1px solid #e9ecef;padding-bottom:.5rem}.registration__summary-section p{margin:.25rem 0;font-size:.875rem;color:#555}.registration__face-preview{width:150px;height:120px;object-fit:cover;border-radius:8px;margin:.5rem 0;border:2px solid #e9ecef}@media (max-width: 768px){.registration{padding:.5rem}.registration__step-actions{flex-direction:column-reverse;width:100%}.registration__button{width:100%}.registration__summary{max-width:100%}}.update{padding:1rem;min-height:calc(100vh - 80px)}.update__content{max-width:600px;margin:0 auto}.update__title{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:2rem;text-align:center}.update__step-content{margin-top:1rem}.update__step{padding:1rem}.update__step h2{font-size:1.25rem;font-weight:600;color:#333;margin-bottom:.5rem;text-align:center}.update__step p{color:#666;text-align:center;margin-bottom:1.5rem}.update__actions{display:flex;gap:1rem;justify-content:center;margin-top:2rem;flex-wrap:wrap}.update__user-info{background-color:#f8f9fa;border-radius:8px;padding:1rem;margin:1rem 0}.update__info-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e9ecef;font-size:.875rem}.update__info-row:last-child{border-bottom:none}.update__info-row strong{color:#333;min-width:80px}.update__success{text-align:center}.update__success-icon{font-size:4rem;margin-bottom:1rem}.update__verification-result{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:1rem;margin:1rem 0}.update__verification-result p{margin:.25rem 0;font-size:.875rem;color:#155724;text-align:left}@media (max-width: 768px){.update{padding:.5rem}.update__actions{flex-direction:column;width:100%}.update__actions .button{width:100%}.update__info-row{flex-direction:column;align-items:flex-start;gap:.25rem}}.camera-test{padding:2rem 1rem;min-height:calc(100vh - 80px)}.camera-test__content{max-width:500px;margin:0 auto}.camera-test__title{font-size:1.5rem;font-weight:600;color:#333;margin-bottom:2rem;text-align:center}.camera-test__result{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.camera-test__captured{text-align:center}.camera-test__captured h3{margin-bottom:1rem;color:#333}.camera-test__image{max-width:300px;width:100%;border-radius:12px;box-shadow:0 4px 12px #0000001a}.camera-test__processing{text-align:center;padding:1rem;background-color:#f8f9fa;border-radius:8px}.camera-test__detection{background-color:#d4edda;border:1px solid #c3e6cb;border-radius:8px;padding:1rem;text-align:center}.camera-test__detection h3{margin-bottom:.5rem;color:#155724}.camera-test__detection p{margin:.25rem 0;color:#155724;font-size:.875rem}.camera-test__reset{background-color:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;cursor:pointer;transition:background-color .2s ease}.camera-test__reset:hover{background-color:#0056b3}.app{min-height:100vh;display:flex;flex-direction:column}@media (max-width: 768px){.app{padding:0}}@media (min-width: 769px){.app{max-width:480px;margin:0 auto;border-left:1px solid #e0e0e0;border-right:1px solid #e0e0e0}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;color:#333;background-color:#f5f5f5}#root{min-height:100vh}h1{font-size:1.75rem;font-weight:600;margin-bottom:1rem}h2{font-size:1.5rem;font-weight:500;margin-bottom:.75rem}h3{font-size:1.25rem;font-weight:500;margin-bottom:.5rem}p{margin-bottom:1rem}button{font-family:inherit;font-size:1rem;border:none;border-radius:8px;padding:12px 24px;cursor:pointer;transition:all .2s ease;min-height:44px}button:disabled{opacity:.6;cursor:not-allowed}input,select,textarea{font-family:inherit;font-size:1rem;border:1px solid #ddd;border-radius:8px;padding:12px;width:100%;min-height:44px}input:focus,select:focus,textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 0 2px #007bff40}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{padding:1rem;max-width:100%}@media (min-width: 768px){.container{padding:2rem}}
