*{box-sizing:border-box;margin:0;padding:0}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#2c3e50;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}.progress-container{margin-bottom:3rem}.progress-bar{width:100%;height:8px;background-color:#e0e0e0;border-radius:4px;overflow:hidden;margin-bottom:2rem}.progress-fill{height:100%;background:linear-gradient(90deg,#4a90e2,#357abd);transition:width .3s ease}.progress-steps{display:flex;justify-content:space-between;gap:1rem}.progress-step{flex:1;display:flex;flex-direction:column;align-items:center;gap:.5rem}.step-number{width:40px;height:40px;border-radius:50%;background-color:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:600;transition:all .3s ease}.progress-step.active .step-number{background-color:#4a90e2;color:#fff;transform:scale(1.1);box-shadow:0 4px 12px #4a90e24d}.progress-step.completed .step-number{background-color:#27ae60;color:#fff}.step-label{font-size:.85rem;color:#666;text-align:center;font-weight:500}.progress-step.active .step-label{color:#4a90e2;font-weight:600}.progress-step.completed .step-label{color:#27ae60}@media (max-width: 768px){.step-label{font-size:.75rem}.step-number{width:32px;height:32px;font-size:.9rem}}.language-switcher{display:inline-flex;align-items:center;gap:.5rem}.language-switcher-label{font-size:.875rem;color:#555;font-weight:500}.language-switcher select{padding:.375rem .5rem;border-radius:6px;border:1px solid #ccc;background:#fff;font-size:.875rem;cursor:pointer}.language-switcher select:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.form-input select{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;background-color:#fff;cursor:pointer}.form-input select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-input select.error{border-color:#e74c3c}.step-actions{display:flex;gap:1rem;justify-content:flex-end}.form-input{display:flex;flex-direction:column;margin-bottom:1.5rem}.form-input label{font-weight:500;margin-bottom:.5rem;color:#333;font-size:.95rem}.form-input .required{color:#e74c3c;margin-left:.25rem}.form-input input,.form-input select{padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;background-color:#fff}.form-input input:focus,.form-input select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-input input.error,.form-input select.error{border-color:#e74c3c}.form-input .error-message{color:#e74c3c;font-size:.85rem;margin-top:.25rem}.section-title{font-size:1.3rem;color:#34495e;margin-bottom:.5rem;font-weight:600;margin-top:1.5rem}.section-description{font-size:.9rem;color:#95a5a6;margin-bottom:1rem}.form-content{margin-bottom:2rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:0}@media (max-width: 768px){.form-row{grid-template-columns:1fr}}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #4a90e266}.btn-secondary:hover{background-color:#d5dbdb}.checkbox-container{margin:1rem 0 1.5rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;font-size:1rem;color:#2c3e50;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:1.25rem;height:1.25rem;cursor:pointer;accent-color:#4a90e2}.checkbox-label span{font-weight:500}.step-title{font-size:2rem;color:#2c3e50;margin-bottom:.5rem;font-weight:700}.step-description{font-size:1.1rem;color:#7f8c8d;margin-bottom:2rem}.review-content{margin-bottom:2rem}.review-section{background-color:#f8f9fa;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:2px solid #e9ecef}.review-section-title{font-size:1.3rem;color:#2c3e50;margin-bottom:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.review-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.review-item{display:flex;flex-direction:column;gap:.25rem}.review-item.full-width{grid-column:1 / -1}.review-label{font-size:.85rem;color:#7f8c8d;font-weight:500}.review-value{font-size:1rem;color:#2c3e50;font-weight:500}@media (max-width: 768px){.review-grid{grid-template-columns:1fr}.review-item.full-width{grid-column:1}}.step-actions{display:flex;gap:1rem;justify-content:space-between}.btn-primary{background:linear-gradient(135deg,#27ae60,#229954);color:#fff;box-shadow:0 4px 12px #27ae604d}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #27ae6066}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{background-color:#ecf0f1;color:#2c3e50}.btn-secondary:hover:not(:disabled){background-color:#d5dbdb}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.payment-step{max-width:600px;margin:0 auto}.payment-step h2{font-size:24px;font-weight:600;margin-bottom:8px;color:#1a1a1a}.payment-subtitle{font-size:14px;color:#666;margin-bottom:24px}.error-message{background-color:#fee;border-left:4px solid #dc3545;padding:12px 16px;margin-bottom:20px;border-radius:4px;display:flex;align-items:flex-start;gap:12px}.error-icon{font-size:18px;flex-shrink:0}.payment-form{display:flex;flex-direction:column;gap:24px}.payment-element-container{border:1px solid #e0e0e0;border-radius:8px;padding:16px;background-color:#f9f9f9}.payment-amount{background-color:#f0f4ff;border-left:4px solid #0066cc;padding:16px;border-radius:4px}.payment-amount p{margin:0;color:#1a1a1a;font-size:14px}.payment-amount p strong{color:#000;font-weight:600}.payment-amount p:first-child{font-size:16px;margin-bottom:8px}.amount-note{color:#666;font-style:italic}.payment-actions{display:flex;gap:12px;justify-content:flex-end}.payment-security{background-color:#f0f9ff;border:1px solid #b3e5fc;padding:16px;border-radius:4px;margin-top:16px}.payment-security p{margin:0;font-size:14px;color:#01579b}.step-container{animation:fadeIn .5s ease-in}.success-container{text-align:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-icon{font-size:5rem;margin-bottom:1rem;animation:bounce 1s ease-in-out}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.step-title{font-size:2rem;color:#27ae60;margin-bottom:.5rem;font-weight:700}.step-description{font-size:1.1rem;color:#7f8c8d;margin-bottom:3rem;max-width:600px;margin-left:auto;margin-right:auto}.success-details{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.success-card{background:linear-gradient(135deg,#f8f9fa,#fff);border-radius:12px;padding:2rem;border:2px solid #e9ecef;transition:all .3s ease}.success-card:hover{transform:translateY(-5px);box-shadow:0 8px 20px #0000001a}.success-card-icon{font-size:2.5rem;margin-bottom:1rem}.success-card h3{font-size:1.2rem;color:#2c3e50;margin-bottom:.5rem;font-weight:600}.success-card p{font-size:.95rem;color:#7f8c8d;line-height:1.5}.step-actions{display:flex;gap:1rem;justify-content:center}.step-actions.centered{justify-content:center}.application-id-section{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:2px solid #4caf50;border-radius:12px;padding:1.5rem;margin:2rem auto;max-width:500px}.application-id-label{font-size:.9rem;color:#2e7d32;font-weight:600;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.application-id-value{font-size:1.5rem;font-weight:700;color:#1b5e20;font-family:Courier New,monospace;letter-spacing:1px;margin-bottom:.5rem}.application-id-note{font-size:.85rem;color:#558b2f;font-style:italic;margin:0}.btn{padding:.875rem 2rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-primary{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff;box-shadow:0 4px 12px #4a90e24d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #4a90e266}.btn-secondary{background:linear-gradient(135deg,#95a5a6,#7f8c8d);color:#fff;box-shadow:0 4px 12px #7f8c8d4d}.btn-secondary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #7f8c8d66}@media (max-width: 768px){.success-details{grid-template-columns:1fr}}.visa-application-container{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:2rem}.visa-application-header{text-align:center;color:#fff;margin-bottom:3rem}.main-title{font-size:3rem;font-weight:800;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.2)}.main-subtitle{font-size:1.3rem;opacity:.95}.form-container{max-width:900px;margin:0 auto;background:#fff;border-radius:16px;padding:3rem;box-shadow:0 10px 40px #0003}.error-banner{background-color:#fee;border:2px solid #e74c3c;border-radius:8px;padding:1rem;margin-bottom:2rem;color:#c0392b;display:flex;align-items:center;gap:.75rem;animation:shake .5s}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-10px)}75%{transform:translate(10px)}}.error-icon{font-size:1.5rem}@media (max-width: 768px){.visa-application-container{padding:1rem}.main-title{font-size:2rem}.main-subtitle{font-size:1rem}.form-container{padding:2rem 1.5rem}}@media (max-width: 480px){.form-container{padding:1.5rem 1rem}}.visa-application-topbar{display:flex;justify-content:flex-end;padding:.75rem 0 .25rem}.form-checkbox{margin-bottom:1.5rem}.form-checkbox label{display:flex;align-items:center;cursor:pointer;font-weight:500;color:#2c3e50}.form-checkbox input[type=checkbox]{width:20px;height:20px;margin-right:10px;cursor:pointer;accent-color:#4a90e2}.checkbox-label{font-size:1rem}.checkbox-label .required{color:#e74c3c;margin-left:4px}.form-textarea{margin-bottom:1.5rem}.form-textarea label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.form-textarea textarea{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease;resize:vertical}.form-textarea textarea:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-textarea textarea.error{border-color:#e74c3c}.form-textarea .error-message{display:block;margin-top:.5rem;color:#e74c3c;font-size:.875rem}.form-textarea .required{color:#e74c3c;margin-left:4px}.country-search-selector{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.country-search-selector>label{font-weight:600;color:#333}.country-search-row{display:flex;gap:.5rem;align-items:stretch}.country-search-input-wrap{position:relative;flex:1}.country-search-input-wrap input{width:100%;padding:.625rem .75rem;border:1px solid #ccc;border-radius:6px;font-size:1rem;box-sizing:border-box}.country-search-input-wrap input:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb26}.country-search-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;margin:0;padding:0;list-style:none;background:#fff;border:1px solid #ddd;border-radius:6px;max-height:220px;overflow-y:auto;z-index:10;box-shadow:0 4px 12px #00000014}.country-search-dropdown li{padding:.5rem .75rem;cursor:pointer}.country-search-dropdown li:hover,.country-search-dropdown li.highlighted{background:#eef4ff}.country-search-add{white-space:nowrap}.country-search-add:disabled{opacity:.5;cursor:not-allowed}.country-search-selected{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.375rem}.country-search-selected li{display:flex;justify-content:space-between;align-items:center;padding:.5rem .75rem;background:#f5f7fb;border:1px solid #e3e7ef;border-radius:6px}.country-search-remove{background:transparent;color:#b3261e;border:none;cursor:pointer;font-weight:600;padding:.25rem .5rem}.country-search-remove:hover{text-decoration:underline}.subsection-title{font-size:1.3rem;color:#2c3e50;margin:2rem 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e0e0e0;font-weight:600}.spouse-section,.companion-section{background:#f8f9fa;padding:1.5rem;border-radius:8px;margin:1.5rem 0;border:1px solid #e0e0e0}.companion-section{margin-bottom:1rem}.travel-history-checkboxes .form-checkbox{margin-bottom:.75rem}.travel-history-checkboxes .form-checkbox label{align-items:flex-start;gap:.625rem}.travel-history-checkboxes .form-checkbox input[type=checkbox]{width:20px;height:20px;flex-shrink:0;margin-top:.125rem;margin-right:0}.travel-history-checkboxes .checkbox-label{font-size:1rem;line-height:1.4}.form-file-upload{margin-bottom:1.5rem}.form-file-upload label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.file-upload-note{font-size:.85rem;color:#7f8c8d;margin-bottom:.5rem}.form-file-upload input[type=file]{width:100%;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:all .3s ease}.form-file-upload input[type=file]:hover{border-color:#4a90e2}.form-file-upload input[type=file]:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-file-upload input[type=file].error{border-color:#e74c3c}.form-file-upload .error-message{display:block;margin-top:.5rem;color:#e74c3c;font-size:.875rem}.form-file-upload .required{color:#e74c3c;margin-left:4px}.form-multi-select{margin-bottom:1.5rem}.form-multi-select label{display:block;margin-bottom:.5rem;font-weight:500;color:#2c3e50}.multi-select-note{font-size:.85rem;color:#7f8c8d;margin-bottom:.5rem}.form-multi-select select{width:100%;min-height:150px;padding:.875rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;font-family:inherit;transition:all .3s ease}.form-multi-select select:focus{outline:none;border-color:#4a90e2;box-shadow:0 0 0 3px #4a90e21a}.form-multi-select select.error{border-color:#e74c3c}.form-multi-select option{padding:8px}.form-multi-select option:checked{background:linear-gradient(135deg,#4a90e2,#357abd);color:#fff}.form-multi-select .error-message{display:block;margin-top:.5rem;color:#e74c3c;font-size:.875rem}.form-multi-select .required{color:#e74c3c;margin-left:4px}.admin-dashboard{max-width:1400px;margin:0 auto;padding:40px 20px;background-color:#f5f5f5;min-height:100vh}.admin-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:40px;border-radius:8px;margin-bottom:30px;box-shadow:0 4px 6px #0000001a}.admin-header h1{margin:0 0 10px;font-size:2.5rem;font-weight:700}.admin-subtitle{margin:10px 0 0;font-size:1.1rem;opacity:.9;font-weight:500}.admin-controls{background:#fff;padding:20px;border-radius:8px;margin-bottom:20px;box-shadow:0 2px 4px #0000000d}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:1rem;color:#333;-webkit-user-select:none;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.applications-list{display:flex;flex-direction:column;gap:15px}.no-applications{background:#fff;padding:40px;border-radius:8px;text-align:center;color:#999;font-size:1.1rem;box-shadow:0 2px 4px #0000000d}.application-card{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:box-shadow .3s ease}.application-card:hover{box-shadow:0 4px 12px #00000026}.application-header{padding:20px;background:linear-gradient(to right,#fafafa,#f0f0f0);border-bottom:2px solid #e0e0e0;display:flex;justify-content:space-between;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s ease}.application-header:hover{background:linear-gradient(to right,#f0f0f0,#e5e5e5)}.application-title h3{margin:0 0 5px;font-size:1.3rem;font-weight:600;color:#333}.application-id{font-size:.85rem;color:#999;font-family:Courier New,monospace;word-break:break-all}.application-summary{display:flex;align-items:center;gap:30px;min-width:300px;justify-content:flex-end}.completion-status{display:flex;flex-direction:column;align-items:flex-end;gap:5px}.completion-percent{font-size:1rem;font-weight:600;color:#667eea}.empty-fields{font-size:.9rem;color:#999;transition:color .2s ease}.empty-fields.has-empty{color:#ff6b6b;font-weight:600}.expand-icon{font-size:1.2rem;color:#667eea;transition:transform .3s ease;font-weight:700}.application-details{padding:30px;background:#fafafa;border-top:1px solid #e0e0e0}.quick-info{background:#fff;padding:20px;border-radius:6px;margin-bottom:30px;border-left:4px solid #667eea}.info-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f0f0f0;font-size:.95rem}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:600;color:#666;min-width:150px}.info-row .value{color:#333;word-break:break-word;max-width:600px;text-align:right}.info-row .value.empty{color:#ff6b6b;font-weight:600;font-style:italic}.section-details{margin-top:20px}.section-details h4{font-size:1.2rem;font-weight:600;color:#333;margin:30px 0 15px;padding-bottom:10px;border-bottom:2px solid #667eea}.section-details h5{font-size:1rem;font-weight:600;color:#555;margin:20px 0 10px;padding-left:10px;border-left:3px solid #764ba2}.fields-table{background:#fff;border-radius:6px;overflow:hidden;margin-bottom:20px;border:1px solid #e0e0e0}.field-row{display:flex;padding:12px 15px;border-bottom:1px solid #f0f0f0;font-size:.9rem;align-items:flex-start;transition:background-color .2s ease}.field-row:last-child{border-bottom:none}.field-row:hover{background-color:#f9f9f9}.field-row.empty-field{background-color:#fff5f5}.field-row.empty-field:hover{background-color:#ffecec}.field-name{font-weight:600;color:#666;min-width:220px;flex-shrink:0;font-family:Courier New,monospace;font-size:.85rem;text-transform:capitalize}.field-value{color:#333;word-break:break-word;flex:1;padding-left:15px;line-height:1.4}.field-value.empty-value{color:#ff6b6b;font-weight:600;font-style:italic}.error-banner{background-color:#fff3cd;border:1px solid #ffc107;border-radius:4px;padding:15px;margin-bottom:20px;color:#856404;display:flex;align-items:center;gap:10px}.error-icon{font-size:1.2rem}@media (max-width: 768px){.admin-header{padding:20px}.admin-header h1{font-size:1.8rem}.application-header{flex-direction:column;align-items:flex-start;gap:15px}.application-summary{width:100%;justify-content:space-between;min-width:auto}.application-details{padding:15px}.field-row{flex-direction:column;gap:5px}.field-name{min-width:auto}.field-value{padding-left:0}}#root{width:100%}
