:root{--primary-dark: #1a3a5c;--primary: #2a5a8a;--primary-light: #e8f0f8;--gold: #c9a84c;--gold-light: rgba(201, 168, 76, .2);--success: #10b981;--success-bg: #f0fdf4;--danger: #ef4444;--danger-bg: #fee2e2;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 20px rgba(26, 58, 92, .15);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .06);--shadow-btn: 0 4px 12px rgba(26, 58, 92, .3);--radius-lg: 24px;--radius-md: 16px;--radius-sm: 10px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:#f1f5f9;color:var(--gray-800);-webkit-font-smoothing:antialiased}.app-container{max-width:1200px;margin:0 auto;padding:0 20px 20px;min-height:100vh;display:flex;flex-direction:column}.app-header{background:linear-gradient(135deg,var(--primary-dark) 0%,var(--primary) 100%);padding:16px 24px;margin:20px 0 28px;border-radius:var(--radius-md);border-bottom:4px solid var(--gold);box-shadow:var(--shadow-md)}.header-content{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px}.header-logo-wrapper{display:flex;align-items:center;gap:16px}.header-logo{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--gold);box-shadow:0 4px 10px #0000004d;transition:transform .3s ease;background:#fff}.header-logo:hover{transform:scale(1.05) rotate(-2deg)}.header-content h1{color:#fff;font-size:26px;font-weight:700;letter-spacing:-.5px;margin:0;line-height:1.2;text-shadow:0 2px 4px rgba(0,0,0,.2)}.header-content h1 span{color:var(--gold)}.subtitle{color:#fffc;font-size:11px;letter-spacing:2px;text-transform:uppercase;margin-top:2px;font-weight:400}.badge{background:var(--gold-light);color:var(--gold);padding:6px 18px;border-radius:30px;font-size:13px;font-weight:600;border:1px solid rgba(201,168,76,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:pulse-badge 2.5s infinite;white-space:nowrap}@keyframes pulse-badge{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.97)}}.header-right{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.btn-logout{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:#fff;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-logout:hover{background:#ffffff40;transform:scale(1.05)}.main-content{flex:1;display:flex;flex-direction:column;gap:8px}.dropzone{background:#fff;border:2px dashed var(--gray-300);border-radius:var(--radius-lg);padding:40px 24px;text-align:center;cursor:pointer;transition:all .25s ease;box-shadow:var(--shadow-sm)}.dropzone:hover{border-color:var(--primary);background:var(--gray-50)}.dropzone.active{border-color:var(--primary);background:var(--primary-light);transform:scale(1.01)}.dropzone.has-file{border-style:solid;border-color:var(--success);background:var(--success-bg)}.dropzone-content{display:flex;flex-direction:column;align-items:center;gap:6px}.dropzone-icon{font-size:44px;line-height:1;color:var(--primary)}.dropzone-content h3{font-size:20px;font-weight:600;color:var(--gray-800);margin:0}.dropzone-content p{font-size:15px;color:var(--gray-500);margin:0}.browse-link{color:var(--primary);font-weight:600;text-decoration:underline;cursor:pointer}.file-types{font-size:13px;color:var(--gray-400);margin-top:2px!important}.file-info{display:flex;align-items:center;flex-wrap:wrap;gap:12px;justify-content:center;width:100%}.file-icon{font-size:28px}.file-name{font-weight:600;color:var(--gray-800);font-size:16px;word-break:break-all}.file-size{font-size:14px;color:var(--gray-500)}.progress-bar{width:100%;max-width:280px;height:6px;background:var(--gray-200);border-radius:4px;position:relative;overflow:hidden;margin-top:4px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),var(--gold));border-radius:4px;transition:width .25s ease}.progress-text{font-size:13px;margin-left:8px;color:var(--gray-600)}.parsing-indicator{display:flex;align-items:center;gap:10px;font-size:15px;font-weight:500;color:var(--primary);margin-top:6px}.spinner{display:inline-block;width:22px;height:22px;border:2.5px solid var(--gray-200);border-top:2.5px solid var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn-reset{margin-top:12px;background:none;border:none;color:var(--danger);font-size:14px;font-weight:500;cursor:pointer;opacity:.7;transition:opacity .2s}.btn-reset:hover{opacity:1;text-decoration:underline}.photo-upload-section{margin:16px 0 20px}.photo-upload-container{display:flex;align-items:center;gap:24px;padding:16px 24px;background:#fff;border-radius:var(--radius-md);border:1px solid var(--gray-200);flex-wrap:wrap;box-shadow:var(--shadow-sm)}.photo-upload-container label{font-weight:600;color:var(--gray-700);display:block;margin-bottom:4px;font-size:15px}.photo-upload-container input[type=file]{font-size:14px;padding:4px 0}.photo-upload-container small{display:block;font-size:12px;color:var(--gray-400)}.photo-preview-wrapper{display:flex;align-items:center;gap:14px;margin-left:auto}.photo-preview{width:64px;height:64px;border-radius:50%;object-fit:cover;border:3px solid var(--primary);box-shadow:0 2px 8px #00000014}.photo-preview-wrapper button{background:none;border:none;color:var(--danger);font-size:13px;font-weight:600;cursor:pointer;transition:color .2s}.photo-preview-wrapper button:hover{color:#dc2626;text-decoration:underline}.form-section{background:#fff;border-radius:var(--radius-lg);padding:28px 32px 32px;box-shadow:var(--shadow-lg);border:1px solid var(--gray-200);margin-top:4px}.form-section h2{font-size:24px;font-weight:700;color:var(--gray-900);margin-bottom:2px}.form-hint{font-size:15px;color:var(--gray-500);margin-bottom:24px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 24px}.full-width{grid-column:1 / -1}.form-group{display:flex;flex-direction:column;gap:4px}.form-group label{font-size:13px;font-weight:600;color:var(--gray-700);display:block;margin-bottom:0}.form-group input,.form-group select{width:100%;padding:10px 14px;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:var(--radius-sm);font-size:15px;font-family:inherit;color:var(--gray-800);transition:border-color .2s,box-shadow .2s,background .2s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--primary);background:#fff;box-shadow:0 0 0 3px #2a5a8a1a}.form-group input.readonly-field{background:var(--gray-100);cursor:not-allowed;color:var(--gray-600);border-color:var(--gray-200)}.form-group input::placeholder{color:var(--gray-400)}.form-group small{display:block;margin-top:4px;font-size:12px;color:var(--gray-400)}.age-calc{color:var(--primary)!important;font-weight:600!important}.form-actions{display:flex;gap:14px;margin-top:28px;padding-top:22px;border-top:1px solid var(--gray-200);flex-wrap:wrap}.btn-submit{background:linear-gradient(135deg,var(--primary-dark),var(--primary));color:#fff;padding:12px 36px;border:none;border-radius:var(--radius-sm);font-weight:600;font-size:16px;cursor:pointer;transition:all .25s ease;flex:1;min-width:160px;box-shadow:var(--shadow-btn);font-family:inherit}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #1a3a5c66}.btn-submit:active:not(:disabled){transform:translateY(0)}.btn-submit:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-clear{background:transparent;border:1px solid var(--gray-200);padding:12px 28px;border-radius:var(--radius-sm);font-weight:600;font-size:15px;color:var(--gray-600);cursor:pointer;transition:all .2s ease;font-family:inherit}.btn-clear:hover{background:var(--gray-100);border-color:var(--gray-300);color:var(--gray-800)}.success-message{margin-top:20px;padding:14px 20px;background:var(--success-bg);border:1px solid var(--success);border-radius:var(--radius-sm);color:#065f46;font-weight:500;text-align:center;animation:fadeInUp .4s ease}.error-message{margin-bottom:16px;padding:12px 16px;background:var(--danger-bg);border:1px solid var(--danger);border-radius:var(--radius-sm);color:#b91c1c;font-weight:500;text-align:center}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.app-footer{margin-top:40px;padding:20px 0 10px;border-top:1px solid var(--gray-200);text-align:center;font-size:14px;color:var(--gray-400)}.password-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a3a5c,#2a5a8a,#1a3a5c);padding:20px}.password-box{background:#fff;border-radius:30px;padding:48px 40px 36px;max-width:440px;width:100%;text-align:center;box-shadow:0 25px 50px #0000004d;animation:fadeInUp .6s ease}.password-box h1{font-size:28px;font-weight:700;color:#1a3a5c;margin:4px 0 2px}.password-box h1 span{color:#c9a84c}.password-logo-wrapper{display:flex;justify-content:center;margin-bottom:8px}.password-logo{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #c9a84c;box-shadow:0 4px 15px #1a3a5c4d}.password-subtitle{font-size:11px;letter-spacing:2px;color:#666;text-transform:uppercase;margin-bottom:20px}.password-lock-icon{font-size:48px;margin-bottom:12px}.password-box h2{font-size:22px;font-weight:600;color:#1e293b;margin-bottom:6px}.password-desc{font-size:14px;color:#64748b;margin-bottom:24px}.password-form{display:flex;flex-direction:column;gap:12px}.password-input{padding:14px 18px;font-size:16px;border:2px solid #e2e8f0;border-radius:12px;outline:none;transition:border-color .3s;text-align:center;letter-spacing:4px}.password-input:focus{border-color:#2a5a8a;box-shadow:0 0 0 3px #2a5a8a1a}.password-error{color:#ef4444;font-size:13px;font-weight:500;margin:0}.password-btn{padding:14px;background:linear-gradient(135deg,#1a3a5c,#2a5a8a);color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #1a3a5c4d}.password-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #1a3a5c66}.password-footer{font-size:12px;color:#94a3b8;margin-top:20px}@media (max-width: 1024px){.app-container{padding:0 16px 16px}.header-content h1{font-size:22px}.header-logo{width:48px;height:48px}}@media (max-width: 768px){.app-header{padding:16px;margin:12px 0 20px;border-radius:var(--radius-sm)}.header-content{flex-direction:column;align-items:center;text-align:center}.header-logo-wrapper{flex-direction:column;align-items:center;gap:8px}.badge{font-size:12px;padding:4px 16px}.header-right{flex-direction:column;align-items:center;gap:8px}.form-section{padding:20px 16px;border-radius:var(--radius-md)}.form-grid{grid-template-columns:1fr;gap:14px}.dropzone{padding:28px 16px}.dropzone-content h3{font-size:17px}.photo-upload-container{flex-direction:column;align-items:stretch;padding:16px}.photo-preview-wrapper{margin-left:0;justify-content:center}.form-actions{flex-direction:column}.btn-submit{min-width:auto;width:100%;padding:14px}.btn-clear{width:100%;text-align:center}.header-content h1{font-size:20px}.password-box{padding:32px 24px 28px}.password-box h1{font-size:22px}.password-logo{width:64px;height:64px}}@media (max-width: 480px){.header-content h1{font-size:18px}.subtitle{font-size:10px}.header-logo{width:40px;height:40px}.file-name{font-size:14px}.form-section h2{font-size:20px}}:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}#root{width:100%;margin:0 auto}
