*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:#f8fafc}
.main-container{display:flex;min-height:100vh;position:relative}
.mobile-bg{position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,#dbeafe 0%,#e0e7ff 50%,#f3e8ff 100%);z-index:0}
.desktop-left{display:none;width:50%;position:relative;background:linear-gradient(135deg,#dbeafe 0%,#f0f4ff 50%,#faf5ff 100%);overflow:hidden;align-items:center;justify-content:center}
@keyframes falling-items {
0%{transform:translateY(-100px) rotateZ(0deg);opacity:0}
10%{opacity:1}
90%{opacity:1}
100%{transform:translateY(calc(100vh + 100px)) rotateZ(360deg);opacity:0}
}
@keyframes falling-items-slow {
0%{transform:translateY(-120px) rotateZ(0deg) scale(0.8);opacity:0}
15%{opacity:1;transform:translateY(0px) rotateZ(45deg) scale(1)}
85%{opacity:1}
100%{transform:translateY(calc(100vh + 120px)) rotateZ(405deg) scale(0.8);opacity:0}
}
@keyframes falling-small {
0%{transform:translateY(-60px) rotateZ(0deg);opacity:0}
20%{opacity:.7}
80%{opacity:.7}
100%{transform:translateY(calc(100vh + 60px)) rotateZ(720deg);opacity:0}
}
@keyframes floating {
0%,100%{transform:translateY(0) rotate(0deg)}
50%{transform:translateY(-20px) rotate(5deg)}
}
@keyframes waveMove {
0%{transform:translateX(0)}
100%{transform:translateX(-50%)}
}
.falling-element{position:absolute;animation:falling-items infinite linear;display:flex;align-items:center;justify-content:center}
.falling-shape{position:absolute;background:rgba(255,255,255,0.6);border-radius:20px;box-shadow:0 4px 6px -1px rgba(0,0,0,0.1);backdrop-filter:blur(8px);border:1px solid rgba(99,102,241,0.1);animation:falling-items-slow infinite ease-in-out;display:flex;align-items:center;justify-content:center}
.falling-shape::before{content:'';width:64px;height:64px;background:linear-gradient(135deg,#a855f7,#3b82f6);border-radius:16px}
.falling-dot{position:absolute;background:rgba(255,255,255,0.4);border-radius:8px;box-shadow:0 1px 3px 0 rgba(0,0,0,0.1);animation:falling-small infinite linear}
.falling-element img{animation:floating 6s ease-in-out infinite}
.welcome-block{position:relative;width:600px;max-width:3xl;background:rgba(255,255,255,0);backdrop-filter:blur(8px);border-radius:24px;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1);padding:32px;height:820px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;margin:0 auto}
.welcome-content{position:relative;z-index:10;text-align:center}
.welcome-logo{width:250px;height:250px;flex-shrink:0;margin:0 auto 48px;border-radius:24px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent;box-shadow:none}
.welcome-title{font-size:2.25rem;font-weight:700;margin-bottom:24px;background:linear-gradient(to right,#2563eb,#4f46e5);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2;text-shadow:0 1px 2px rgba(0,0,0,0.1)}
.welcome-subtitle{font-size:1.125rem;color:#475569;line-height:1.6;font-weight:500}
.welcome-block::before{content:'';position:absolute;inset:0;border-radius:24px;background:linear-gradient(135deg,#dbeafe,#e0e7ff,#faf5ff);opacity:.7;pointer-events:none}
.welcome-block::after{content:'';position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:rgba(59,130,246,0);border-radius:50%;filter:blur(32px);pointer-events:none}
.welcome-waves{position:absolute;bottom:0;left:0;width:100%;height:78px;pointer-events:none}
.wave{position:absolute;bottom:0;left:0;width:200%;height:500%;animation:waveMove 10s linear infinite;opacity:.85}
.wave svg{width:100%;height:100%;display:block}
.wave2{position:absolute;bottom:0;left:0;width:200%;height:400%;animation:waveMove 7s linear infinite reverse;opacity:1}
.wave2 svg{width:100%;height:100%;display:block}
.form-container{width:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:24px;background:transparent;position:relative;z-index:5;min-height:100vh}
.language-selector{position:fixed!important;top:20px!important;right:20px!important;display:flex;gap:8px;z-index:9999;background:rgba(255,255,255,0.95);padding:6px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,0.1)}
.language-btn{padding:8px 16px;border:none;background:transparent;border-radius:6px;font-size:14px;font-weight:600;color:#6b7280;cursor:pointer;transition:all .2s ease}
.language-btn:hover{background:rgba(59,130,246,0.1);color:#3b82f6}
.language-btn.active{background:#3b82f6;color:#fff}
.form-wrapper{width:100%;max-width:28rem}
.mobile-form-container{background:rgba(255,255,255,0.85);border-radius:20px;padding:30px;box-shadow:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);border:1px solid rgba(255,255,255,0.2);width:100%}
.form-title{font-size:1.5rem;font-weight:700;color:#2563eb;text-align:center;margin-bottom:32px}
.tabs-container{display:flex;border-bottom:1px solid #e5e7eb;margin-bottom:32px;flex-wrap:wrap;gap:10px;justify-content:center}
.tab-button{margin-right:32px;padding-bottom:12px;font-size:14px;font-weight:500;color:#6b7280;background:none;border:none;cursor:pointer;transition:all .3s ease;border-bottom:2px solid transparent;flex:1;min-width:100px;text-align:center}
.tab-button.active{color:#2563eb;border-bottom-color:#2563eb}
.tab-button:hover{color:#374151}
.form-group{margin-bottom:24px}
.form-label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:8px}
.form-input{width:100%;padding:12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;transition:all .3s ease;background:#fff}
.form-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}
.password-container{position:relative;width:100%}
.password-input{width:100%;padding:12px 48px 12px 16px;border:1px solid #d1d5db;border-radius:8px;font-size:16px;transition:all .3s ease;background:#fff}
.password-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,0.1)}
.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;color:#6b7280;padding:4px}
.password-toggle:hover{color:#374151}
.forgot-password{text-align:right;margin-top:8px;width:100%}
.forgot-password a{color:#3b82f6;text-decoration:none;font-size:14px}
.forgot-password a:hover{text-decoration:underline}
.btn-primary{width:100%;padding:12px 16px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}
.btn-primary:hover{background:#2563eb}
.btn-primary:disabled{opacity:.5;cursor:not-allowed}
.divider{height:1px;background:#e5e7eb;margin:32px 0}
.btn-secondary{width:100%;padding:12px 16px;background:#fff;color:#3b82f6;border:1px solid #3b82f6;border-radius:8px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}
.btn-secondary:hover{background:#f8fafc}
.info-block{display:flex;align-items:flex-start;padding:12px;background:#f9fafb;border-radius:8px;margin-top:16px;width:100%}
.info-icon{width:16px;height:16px;color:#6b7280;margin-right:12px;margin-top:2px;flex-shrink:0}
.info-text{font-size:12px;color:#6b7280;line-height:1.5}
.egov-steps{margin-bottom:24px}
.egov-steps-container{display:flex;flex-direction:column;gap:8px}
.egov-step-title{font-size:14px;color:#374151;font-weight:500;line-height:1.6}
.egov-step-app{font-size:14px;color:#3b82f6;font-weight:600}
.egov-arrow{display:none}
.qr-container{display:flex;justify-content:center;margin-bottom:24px}
.qr-placeholder{width:320px;height:320px;background:#f3f4f6;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:14px}
.file-upload{margin-bottom:24px}
.file-upload-area{display:block;width:100%;max-width:48rem;padding:40px 20px;border:2px dashed #d1d5db;border-radius:8px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff}
.file-upload-area:hover{border-color:#3b82f6;background:#f8fafc}
.file-upload-area.has-file{border-color:#10b981;background:#f0fdf4}
.file-upload-icon{width:40px;height:40px;color:#6b7280;margin-bottom:12px}
.file-upload-text{font-size:16px;font-weight:500;color:#374151;margin-bottom:4px}
.file-upload-text.file-selected{color:#10b981}
.file-upload-subtext{font-size:14px;color:#6b7280}
.file-upload-input{display:none}
.hidden{display:none}
.notification-container{position:fixed;top:20px;right:20px;z-index:1000}
.flash-message{background:#fff;border-radius:8px;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);margin-bottom:12px;padding:16px;border-left:4px solid #3b82f6;transform:translateX(100%);transition:transform .3s ease}
.flash-message.show{transform:translateX(0)}
.flash-message.flash-success{border-left-color:#10b981;background:#f0fdf4;color:#065f46}
.flash-message.flash-error{border-left-color:#ef4444;background:#fef2f2;color:#991b1b}
.flash-message.flash-warning{border-left-color:#f59e0b;background:#fffbeb;color:#92400e}
.flash-message.flash-info{border-left-color:#3b82f6;background:#eff6ff;color:#1e40af}
.flash-content{display:flex;align-items:center;gap:12px}
.flash-close{background:none;border:none;font-size:18px;cursor:pointer;color:#6b7280;margin-left:auto}
@media (min-width: 1024px) {
.mobile-bg{display:none}
.desktop-left{display:flex}
.form-container{width:50%;background:#fff;display:flex;align-items:center;justify-content:center;padding:40px}
.mobile-form-container{background:transparent;backdrop-filter:none;box-shadow:none;border-radius:0;margin:0;padding:0;border:none}
.form-wrapper{width:100%;max-width:28rem}
}
@media (max-width: 1023px) {
.desktop-left{display:none}
.mobile-bg{display:block}
.form-container{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:20px}
.mobile-form-container{width:100%;max-width:28rem;margin:0 auto}
.form-wrapper{width:100%}
.mobile-input{width:100%!important;max-width:none!important}
.mobile-button{width:100%!important;max-width:none!important}
.mobile-tab-container{flex-wrap:wrap;gap:10px;justify-content:center}
.mobile-tab{flex:1;min-width:100px;text-align:center;padding:12px 8px;font-size:14px}
.mobile-form-container h1{text-align:center}
}
.egov-steps{margin-bottom:24px}
.egov-steps-container{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.egov-step{display:flex;flex-direction:column;min-width:120px}
.egov-step-title{font-size:12px;color:#6b7280;margin-bottom:4px}
.egov-step-app{font-size:14px;color:#3b82f6;font-weight:600}
.egov-arrow{color:#9ca3af;font-size:14px}
.qr-container{display:flex;justify-content:center;margin-bottom:24px}
.qr-placeholder{width:320px;height:320px;background:#f3f4f6;border:2px dashed #d1d5db;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:14px}
.file-upload{margin-bottom:24px}
.file-upload-area{display:block;width:100%;max-width:48rem;padding:40px 20px;border:2px dashed #d1d5db;border-radius:8px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fff}
.file-upload-area:hover{border-color:#3b82f6;background:#f8fafc}
.file-upload-area.has-file{border-color:#10b981;background:#f0fdf4}
.file-upload-content{display:flex;flex-direction:column;align-items:center;gap:8px}
.file-upload-icon{width:40px;height:40px;color:#6b7280}
.file-upload-text{font-size:16px;font-weight:500;color:#374151}
.file-upload-text.file-selected{color:#10b981}
.file-upload-subtext{font-size:14px;color:#6b7280}
.file-upload-input{display:none}