:root { --primary-gradient: linear-gradient(135deg, #d7ba75 0%, #b89a5c 50%, #f5e1b8 100%); --card-bg: rgba(255, 255, 255, 0.95); --section-bg: linear-gradient(135deg, rgba(255,255,255,0.9) 0%, rgba(250,248,240,0.95) 100%); }
body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; background: var(--primary-gradient); background-attachment: fixed; min-height: 100vh; position: relative; overflow-x: hidden; }
body::before { content: ''; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: radial-gradient(circle at 20% 30%, rgba(215, 186, 117, 0.3) 0%, transparent 50%), radial-gradient(circle at 80% 70%, rgba(255, 255, 255, 0.1) 0%, transparent 50%), radial-gradient(circle at 40% 80%, rgba(245, 225, 184, 0.2) 0%, transparent 50%); pointer-events: none; z-index: -1; }
.main-container { background: var(--card-bg); backdrop-filter: blur(20px); border-radius: 30px; box-shadow: 0 25px 50px rgba(0,0,0,0.15), 0 0 0 1px rgba(255,255,255,0.2), inset 0 1px 0 rgba(255,255,255,0.3); border: 1px solid rgba(255,255,255,0.2); overflow: hidden; position: relative; }
.main-container::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.8), transparent); }
.form-header { background: var(--primary-gradient); color: white; position: relative; overflow: hidden; }
.form-header::before { content: ''; position: absolute; top: -50%; left: -50%; width: 200%; height: 200%; background: radial-gradient(circle, rgba(255,255,255,0.1) 1px, transparent 1px); background-size: 30px 30px; animation: float 20s linear infinite; opacity: 0.3; }
@keyframes float { 0% { transform: translate(-50px, -50px) rotate(0deg); } 100% { transform: translate(-50px, -50px) rotate(360deg); } }
.form-header h1 { font-size: 3rem; text-shadow: 0 4px 20px rgba(0,0,0,0.3); font-weight: 700; position: relative; z-index: 2; }
.form-header p { font-size: 1.2rem; opacity: 0.95; position: relative; z-index: 2; font-weight: 300; }
.section-card { background: var(--section-bg); border-radius: 20px; border: 1px solid rgba(255,255,255,0.3); box-shadow: 0 8px 32px rgba(0,0,0,0.06), inset 0 1px 0 rgba(255,255,255,0.6); position: relative; backdrop-filter: blur(10px); transition: all 0.4s ease; }
.section-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: var(--primary-gradient); border-radius: 20px 20px 0 0; }
.section-card:hover { transform: translateY(-5px); box-shadow: 0 15px 40px rgba(215, 186, 117, 0.3), inset 0 1px 0 rgba(255,255,255,0.8); }
.section-title { font-size: 1.6rem; color: #2d2b1f; font-weight: 600; position: relative; display: flex; align-items: center; gap: 15px; }
.section-title::before { content: ''; width: 35px; height: 35px; background: linear-gradient(135deg, #d7ba75, #b89a5c); border-radius: 12px; position: relative; box-shadow: 0 4px 15px rgba(215, 186, 117, 0.3); }
.section-title::after { content: '✨'; position: absolute; left: 8px; font-size: 1rem; animation: sparkle 2s ease-in-out infinite; }
@keyframes sparkle { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.7; transform: scale(1.1); } }
.form-control, .form-select { border: 2px solid rgba(226, 232, 240, 0.8); border-radius: 15px; padding: 15px 20px; font-size: 1rem; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(10px); }
.form-control:focus, .form-select:focus { border-color: #d7ba75; box-shadow: 0 0 0 0.25rem rgba(215, 186, 117, 0.1), 0 8px 25px rgba(215, 186, 117, 0.15); transform: translateY(-2px); background: rgba(255, 255, 255, 1); }
.form-control:hover, .form-select:hover { border-color: rgba(215, 186, 117, 0.4); transform: translateY(-1px); }
.form-label { font-weight: 600; color: #444; margin-bottom: 8px; }
.required { color: #c0392b; }
.file-upload-wrapper { position: relative; }
.file-upload-input { opacity: 0; position: absolute; z-index: -1; }
.file-upload-label { display: block; padding: 20px 25px; border: 2px dashed rgba(215, 186, 117, 0.4); border-radius: 15px; text-align: center; cursor: pointer; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); background: linear-gradient(135deg, rgba(215, 186, 117, 0.05) 0%, rgba(248, 250, 255, 0.8) 100%); font-weight: 500; color: #4a4a3f; position: relative; overflow: hidden; }
.file-upload-label::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.6), transparent); transition: left 0.6s ease; }
.file-upload-label:hover { background: var(--primary-gradient); color: white; border-color: #d7ba75; transform: translateY(-3px); box-shadow: 0 10px 25px rgba(215, 186, 117, 0.3); }
.file-upload-label:hover::before { left: 100%; }
.form-check { background: rgba(255, 255, 255, 0.7); border-radius: 12px; padding: 12px 16px; margin-bottom: 10px; transition: all 0.3s ease; border: 2px solid transparent; }
.form-check:hover { background: rgba(215, 186, 117, 0.05); border-color: rgba(215, 186, 117, 0.2); transform: translateY(-1px); }
.form-check-input { width: 20px; height: 20px; margin-top: 0; }
.form-check-input:checked { background-color: #d7ba75; border-color: #d7ba75; }
.form-check-input:checked + .form-check-label { color: #b89a5c; font-weight: 600; }
.otp-container { display: flex; gap: 10px; align-items: flex-end; }
.otp-container .form-control { flex: 1; }
.btn-otp { background: linear-gradient(135deg, #d7ba75, #b89a5c); border: none; color: white; padding: 15px 25px; border-radius: 15px; font-weight: 600; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 4px 15px rgba(215, 186, 117, 0.3); position: relative; overflow: hidden; white-space: nowrap; }
.btn-otp::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.3), transparent); transition: left 0.6s ease; }
.btn-otp:hover { transform: translateY(-3px); box-shadow: 0 8px 25px rgba(215, 186, 117, 0.4); background: linear-gradient(135deg, #b89a5c, #f5e1b8); color: white; }
.btn-otp:hover::before { left: 100%; }
.declaration-box { background: linear-gradient(135deg, rgba(255, 243, 205, 0.8), rgba(255, 248, 220, 0.9)); border: 2px solid rgba(215, 186, 117, 0.3); border-radius: 20px; padding: 30px; position: relative; backdrop-filter: blur(10px); box-shadow: 0 8px 25px rgba(215, 186, 117, 0.1); }
.declaration-box::before { content: '⚠️'; position: absolute; top: -15px; left: 30px; background: linear-gradient(135deg, #d7ba75, #b89a5c); width: 35px; height: 35px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; box-shadow: 0 4px 15px rgba(215, 186, 117, 0.3); }
.declaration-text { font-size: 1rem; color: #7a6530; line-height: 1.6; }
.btn-submit { background: var(--primary-gradient); border: none; border-radius: 20px; padding: 20px; font-size: 1.3rem; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; position: relative; overflow: hidden; transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 10px 30px rgba(215, 186, 117, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.3); color: white; }
.btn-submit::before { content: ''; position: absolute; top: 0; left: -100%; width: 100%; height: 100%; background: linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent); transition: left 0.8s ease; }
.btn-submit:hover { transform: translateY(-5px) scale(1.02); box-shadow: 0 20px 40px rgba(215, 186, 117, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.4); background: linear-gradient(135deg, #b89a5c 0%, #f5e1b8 50%, #d7ba75 100%); color: white; }
.btn-submit:hover::before { left: 100%; }
.btn-submit:active { transform: translateY(-3px) scale(1.01); }
@media (max-width: 768px) { .form-header h1 { font-size: 2rem; } .otp-container { flex-direction: column; align-items: stretch; } }
.logo { padding: 0; }
