:root {
  --navy: #0f172a;
  --royal: #2563eb;
  --royal-mid: #1d4ed8;
  --gold: #f59e0b;
  --gold-light: #fef3c7;
  --white: #ffffff;
  --slate: #64748b;
  --muted: #94a3b8;
  --border: #e2e8f0;
  --surface: #ffffff;
  --surface-hover: #f8fafc;
  --text-main: #334155;
  --heading: #0f172a;
  
  --success: #10b981;
  --error: #ef4444;
  --warn: #f59e0b;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;font-size:16px;}
body{font-family:'DM Sans',sans-serif;background-color:#f8fafc;color:var(--text-main);min-height:100vh;position:relative;overflow-x:hidden;}
/* Removed heavy dark mode radial gradients in favor of a clean, bright aesthetic */
a{color:inherit;text-decoration:none;transition:all 0.3s;}

/* Layout Base */
.page-wrap{max-width:940px;margin:0 auto;padding:40px 20px;}
.main{position:relative;z-index:10;padding:16px 14px 70px;max-width:680px;margin:0 auto;}

/* Header Elements */
.portal-header{position:relative;z-index:10;background:var(--white);border:1px solid var(--border);border-radius:24px;padding:20px;display:flex;align-items:center;gap:16px;margin-bottom:20px;box-shadow:0 4px 6px -1px rgb(0 0 0 / 0.05), 0 2px 4px -2px rgb(0 0 0 / 0.05);}
.portal-logo{width:60px;height:60px;border-radius:20px;display:flex;align-items:center;justify-content:center;font-size:30px;background:var(--surface-hover);color:var(--royal);flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,0.1);overflow:hidden;}
.portal-logo img{width:100%;height:100%;object-fit:cover;}
.portal-details{flex:1;}
.portal-details h1, .portal-title h1{font-family:'Cormorant Garamond',serif;font-size:24px;color:var(--heading);margin-bottom:4px;letter-spacing:0.5px;font-weight:700;}
.portal-details p, .portal-title p{font-size:13px;color:var(--slate);line-height:1.6;}
.portal-nav{margin-left:auto;display:flex;gap:8px;flex-shrink:0;}
.nav-btn{padding:8px 14px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;color:var(--slate);border:1px solid var(--border);background:var(--surface);transition:all .2s;white-space:nowrap;cursor:pointer;}
.nav-btn:hover{background:var(--surface-hover);color:var(--heading);}
.nav-btn.primary{background:var(--royal);color:var(--white);border:none;box-shadow:0 4px 6px rgba(37,99,235,0.2);}
.nav-btn.primary:hover{background:var(--royal-mid);}

/* Tickers & Banners */
.news-ticker{background:var(--white);border:1px solid var(--border);border-radius:999px;padding:8px 12px;display:flex;align-items:center;gap:16px;overflow:hidden;margin-bottom:24px;box-shadow:0 1px 3px rgba(0,0,0,0.05);}
.ticker-label{flex-shrink:0;background:var(--gold);color:var(--white);font-size:11px;font-weight:800;padding:6px 14px;border-radius:999px;text-transform:uppercase;letter-spacing:1px;}
.ticker-track{overflow:hidden;flex:1;}
.ticker-text{display:inline-block;white-space:nowrap;color:var(--heading);font-size:14px;animation:ticker 35s linear infinite;font-weight:500;}
@keyframes ticker{0%{transform:translateX(100%);}100%{transform:translateX(-100%);}}
.ad-banner{position:relative;z-index:10;background:var(--surface-hover);padding:10px 20px;text-align:center;font-size:13px;color:var(--slate);border-bottom:1px solid var(--border);}
.ad-banner a{color:var(--royal);font-weight:700;text-decoration:underline;}

/* Closed Wrapper */
.closed-wrap{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;padding:32px 16px;text-align:center;}
.closed-card{background:var(--white);border:1px solid var(--border);border-radius:24px;max-width:480px;width:100%;padding:40px 30px;box-shadow:0 10px 15px -3px rgba(0,0,0,0.1);}
.closed-icon{width:68px;height:68px;border-radius:50%;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 16px;color:var(--error);}
.closed-card h2{font-family:'Cormorant Garamond',serif;font-size:26px;color:var(--heading);margin-bottom:10px;font-weight:700;}
.closed-card p{font-size:14px;color:var(--slate);line-height:1.7;margin-bottom:18px;}

/* Progress Wrapper */
.progress-wrap{position:relative;z-index:10;padding:14px 14px 0;display:flex;justify-content:center;margin-bottom:10px;}
.steps{display:flex;align-items:center;background:var(--white);border:1px solid var(--border);border-radius:50px;padding:6px;box-shadow:0 1px 3px rgba(0,0,0,0.05);}
.step{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:40px;color:var(--slate);font-size:12px;font-weight:600;transition:all .3s;}
.step.active{background:var(--royal);color:var(--white);box-shadow:0 4px 6px rgba(37,99,235,0.2);}
.step.done{color:var(--success);}
.step-num{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;background:var(--surface-hover);color:var(--slate);}
.step.active .step-num{background:rgba(255,255,255,.25);color:var(--white);}
.step.done .step-num{background:var(--success);color:var(--white);}
.step-sep{width:16px;height:1px;background:var(--border);flex-shrink:0;}

/* Main Forms */
.form-hero{position:relative;background:transparent;padding:32px 24px 10px;border-bottom:1px solid var(--border);}
.form-hero.light-ish{background:var(--surface-hover);border-radius:18px;border:1px solid var(--border);margin-bottom:14px;}
.fh-kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#eff6ff;color:var(--royal);font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:12px;border:1px solid #bfdbfe;}
.fh-title, .form-hero h2{font-family:'Cormorant Garamond',serif;font-size:32px;color:var(--heading);margin-bottom:12px;font-weight:700;}
.fh-desc, .form-hero p{font-size:14px;line-height:1.7;color:var(--slate);max-width:720px;}
.form-card{background:var(--white);border:1px solid var(--border);border-radius:28px;overflow:hidden;box-shadow:0 10px 25px -5px rgba(0,0,0,0.05);margin-bottom:20px;}
.card-top{padding:18px 24px;background:var(--surface-hover);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;}
.card-top-icon{width:40px;height:40px;border-radius:12px;background:var(--white);display:flex;align-items:center;justify-content:center;font-size:18px;border:1px solid var(--border);box-shadow:0 1px 2px rgba(0,0,0,0.05);}
.card-top h2{font-family:'Cormorant Garamond',serif;font-size:20px;color:var(--heading);font-weight:700;}
.card-top p{font-size:12px;color:var(--slate);margin-top:2px;}
.form-body{padding:24px;display:grid;gap:20px;}

/* Grid layouts */
.form-row, .grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.form-row.single, .grid-1{grid-template-columns:1fr;}

/* Field Elements */
.fgroup{margin-bottom:16px;}
.fgroup-title{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--royal);padding:6px 12px;background:#eff6ff;border-left:3px solid var(--royal);border-radius:0 6px 6px 0;margin-bottom:14px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:13px;font-weight:600;color:var(--heading);letter-spacing:0.3px;}
.field label .req{color:var(--error);}
.field input[type=text],.field input[type=email],.field input[type=number],.field input[type=date],.field input[type=tel],.field input[type=file],.field textarea,.field select,.search-input{width:100%;padding:14px 16px;border:1px solid #cbd5e1;border-radius:14px;background:var(--white);color:var(--heading);font-size:14px;outline:none;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.02);}
.field textarea{min-height:130px;resize:vertical;}
.field select option{background:var(--white);color:var(--heading);}
.field input:focus,.field select:focus,.field textarea:focus,.search-input:focus{border-color:var(--royal);background:var(--white);box-shadow:inset 0 1px 2px rgba(0,0,0,0.02), 0 0 0 3px rgba(37,99,235,0.15);transform:translateY(-1px);}
.field input:hover,.field select:hover,.field textarea:hover{border-color:var(--slate);}
.field input[readonly]{background:#f1f5f9;color:var(--slate);cursor:not-allowed;}
.field.has-error input,.field.has-error select{border-color:var(--error);box-shadow:0 0 0 3px rgba(239,68,68,0.1);}
.field .hint{font-size:12px;color:var(--slate);margin-top:-2px;}
.field .err-msg{font-size:12px;color:var(--error);display:none;}
.field.has-error .err-msg{display:block;}

/* Edu Toggle / Custom Radios */
.edu-toggle-wrap{display:flex;flex-direction:column;gap:10px;}
.search-radio{display:flex;gap:12px;margin-bottom:14px;flex-wrap:wrap;}
.radio-option, .edu-opt-card{display:flex;align-items:center;gap:12px;padding:14px 18px;border:1px solid #cbd5e1;border-radius:14px;cursor:pointer;transition:all .3s;background:var(--white);}
.radio-option:hover, .edu-opt-card:hover{background:var(--surface-hover);border-color:var(--slate);}
.edu-opt input[type=radio]{position:absolute;opacity:0;}
.edu-opt input:checked + .edu-opt-card{background:#eff6ff;border-color:var(--royal);box-shadow:inset 0 0 0 1px var(--royal);}
.edu-opt-text .et{font-size:15px;font-weight:600;color:var(--heading);}
.edu-opt-text .es{font-size:12px;color:var(--slate);margin-top:2px;}
.edu-opt-icon{font-size:22px;flex-shrink:0;}

/* Upload Zones */
.upload-zone{border:2px dashed #cbd5e1;border-radius:14px;padding:24px;text-align:center;cursor:pointer;transition:all .3s;background:var(--surface-hover);position:relative;}
.upload-zone.req-zone{border-color:rgba(239,68,68,0.4);}
.upload-zone:hover,.upload-zone.drag{border-color:var(--royal);background:#eff6ff;}
.upload-zone input[type=file]{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.photo-wrap{display:flex;gap:16px;align-items:stretch;}
.photo-zone{flex:1;}
.photo-thumb{width:120px;height:140px;flex-shrink:0;border:1px solid #cbd5e1;border-radius:14px;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.photo-thumb img{width:100%;height:100%;object-fit:contain;}
.photo-thumb .placeholder{font-size:32px;color:var(--muted);}
.file-preview{display:none;align-items:center;padding:12px 16px;background:var(--white);border:1px solid #cbd5e1;border-radius:10px;margin-top:12px;}
.file-preview.show{display:flex;}
.file-preview .file-name{flex:1;margin-left:12px;font-size:13.5px;color:var(--heading);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:'JetBrains Mono', monospace;}
.remove-file{background:none;border:none;color:var(--error);cursor:pointer;font-size:16px;}
.upload-icon{font-size:28px;margin-bottom:8px;color:var(--slate);}
.upload-text{font-size:13px;color:var(--slate);}
.upload-text strong{color:var(--royal);}
.upload-limit{font-size:11px;color:var(--muted);margin-top:4px;}

/* Buttons */
.action-group, .form-footer{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:10px;}
.form-footer{padding:0 24px 24px;justify-content:space-between;border-top:1px solid var(--border);margin-top:0;}
.btn, .btn-next, .btn-submit, .btn-search, .btn-dup-dl, .btn-dup-email, .rc-btn-pdf, .rc-btn-email{padding:14px 26px;border-radius:14px;border:none;background:var(--royal);color:var(--white);font-size:15px;font-weight:700;cursor:pointer;box-shadow:0 4px 6px rgba(37,99,235,0.2);transition:all 0.3s;letter-spacing:0.5px;display:inline-flex;align-items:center;gap:8px;}
.btn:hover, .btn-next:hover, .btn-submit:hover, .btn-search:hover, .btn-dup-dl:hover, .btn-dup-email:hover, .rc-btn-pdf:hover, .rc-btn-email:hover{transform:translateY(-2px);box-shadow:0 6px 12px rgba(37,99,235,0.3);background:var(--royal-mid);}
.btn:active{transform:translateY(-1px);}
.btn-dup-email:disabled{opacity:.65;cursor:not-allowed;transform:none;box-shadow:none;background:#94a3b8;}

.btn-prev, .btn-edit, .btn-dup-close, .btn-suc.outline{padding:14px 20px;border-radius:14px;border:1px solid #cbd5e1;background:var(--white);color:var(--heading);font-size:14px;font-weight:600;cursor:pointer;transition:all .3s;}
.btn-prev:hover, .btn-edit:hover, .btn-dup-close:hover{background:var(--surface-hover);border-color:var(--slate);}

/* Alerts */
.alert{border-radius:14px;padding:16px;font-size:14px;border:1px solid var(--border);background:var(--white);}
.alert.success{background:#ecfdf5;color:#065f46;border-color:#a7f3d0;}
.alert.error{background:#fef2f2;color:#991b1b;border-color:#fecaca;}

/* Duplicates */
.dup-box{display:none;background:#fffbeb;border:1px solid #fde68a;border-radius:14px;overflow:hidden;margin:0 24px 20px;}
.dup-hdr{background:#fef3c7;padding:12px 18px;color:#92400e;font-weight:700;font-size:14px;display:flex;align-items:center;gap:8px;}
.dup-body{padding:16px 18px;}
.dup-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid #fde68a;border-radius:10px;overflow:hidden;margin-bottom:14px;background:var(--white);}
.dup-row{padding:10px 14px;border-bottom:1px solid #fde68a;border-right:1px solid #fde68a;font-size:13px;}
.dup-row:nth-child(even){border-right:none;}
.dup-row:nth-last-child(-n+2){border-bottom:none;}
.dup-row .dl{font-size:11px;font-weight:700;text-transform:uppercase;color:#b45309;letter-spacing:.5px;}
.dup-row .dl.gold{color:#92400e;}
.dup-row .dv{font-size:14px;font-weight:600;color:var(--heading);margin-top:2px;}
.dup-row .dv.ref{font-family:'JetBrains Mono',monospace;color:var(--royal);}

/* Duplicate inline status */
.aadhar-status{display:none;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 10px;border-radius:20px;margin-top:6px;border:1px solid transparent;}
.aadhar-status.checking{display:flex;background:#e0f2fe;color:#0369a1;border-color:#bae6fd;}
.aadhar-status.ok{display:flex;background:#ecfdf5;color:#065f46;border-color:#a7f3d0;}
.aadhar-status.dup{display:flex;background:#fef2f2;color:#991b1b;border-color:#fecaca;}

/* Modals */
#previewModal{display:none;position:fixed;inset:0;z-index:2000;background:rgba(15,23,42,0.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);overflow-y:auto;padding:20px;}
#previewModal.show{display:flex;align-items:center;justify-content:center;}
.modal-card, .success-card{background:var(--white);border:1px solid var(--border);border-radius:24px;width:100%;max-width:680px;overflow:hidden;box-shadow:0 25px 50px -12px rgba(0,0,0,0.25);animation:popIn .4s cubic-bezier(0.16, 1, 0.3, 1);margin:auto;}
@keyframes popIn{from{transform:scale(0.95) translateY(20px);opacity:0}to{transform:none;opacity:1}}
.modal-hdr{padding:20px 24px;background:var(--surface-hover);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;}
.modal-hdr h2{font-family:'Cormorant Garamond',serif;font-size:22px;font-weight:700;color:var(--heading);}
.modal-hdr p{font-size:13px;color:var(--slate);}
.modal-close{background:var(--white);border:1px solid var(--border);color:var(--slate);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.modal-close:hover{background:#fef2f2;color:var(--error);border-color:#fecaca;}
.modal-body{padding:24px;}
.pv-sec{margin-bottom:20px;}
.pv-sec-title{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--royal);padding-bottom:8px;border-bottom:1px solid var(--border);margin-bottom:12px;}
.pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pv-row .pl{font-size:12px;color:var(--slate);font-weight:500;}
.pv-row .pv{font-size:14px;color:var(--heading);font-weight:600;margin-top:2px;word-break:break-word;}
.pv-photo-area{display:flex;gap:16px;align-items:flex-start;margin-bottom:16px;}
.pv-photo{width:90px;height:110px;border:2px solid var(--border);border-radius:12px;overflow:hidden;flex-shrink:0;background:var(--surface-hover);display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--muted);}
.pv-photo img{width:100%;height:100%;object-fit:cover;}
.modal-ftr{padding:16px 24px;background:var(--surface-hover);border-top:1px solid var(--border);display:flex;gap:12px;justify-content:flex-end;flex-wrap:wrap;}
.modal-ftr label { color: var(--heading) !important; font-weight: 500; }

/* Success Form Wrappers */
.success-wrap{display:none;position:fixed;inset:0;z-index:3000;background:rgba(15,23,42,0.8);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:20px;overflow-y:auto;}
.success-wrap.show{display:flex;}
.suc-icon{width:70px;height:70px;border-radius:50%;background:#ecfdf5;color:#10b981;display:flex;align-items:center;justify-content:center;font-size:32px;margin:0 auto 16px;box-shadow:0 4px 6px rgba(16,185,129,.1);}
.success-card{padding:32px;text-align:center;}
.success-card h2{margin-bottom:8px;color:var(--heading);}
.success-card .sub{font-size:14px;color:var(--slate);margin-bottom:16px;}
.suc-ref-wrap{background:var(--surface-hover);border:1px solid var(--border);border-radius:12px;padding:16px;margin-bottom:16px;}
.suc-ref-label{font-size:11px;color:var(--slate);text-transform:uppercase;letter-spacing:1px;}
.suc-ref-no{font-family:'JetBrains Mono',monospace;font-size:20px;font-weight:700;color:var(--royal);letter-spacing:2px;margin-top:4px;}

/* Track Pages specific overwrites */
.rc-header{padding:14px 20px;display:flex;align-items:center;gap:12px;background:var(--surface-hover);border-bottom:1px solid var(--border);}
.rc-header.Pending{background:#fffbeb; border-bottom:1px solid #fde68a;}
.rc-header.Under_Review,.rc-header.Under\.Review{background:#e0f2fe; border-bottom:1px solid #bae6fd;}
.rc-header.Approved{background:#ecfdf5; border-bottom:1px solid #a7f3d0;}
.rc-header.Rejected{background:#fef2f2; border-bottom:1px solid #fecaca;}
.status-text{font-size:15px;font-weight:700;color:var(--heading);}
.rc-header.Pending .status-text{color:#92400e;}
.rc-header.Under_Review .status-text,.rc-header.Under\.Review .status-text{color:#0369a1;}
.rc-header.Approved .status-text{color:#065f46;}
.rc-header.Rejected .status-text{color:#991b1b;}

.status-text .ref{font-family:'JetBrains Mono',monospace;font-size:13px;color:var(--slate);margin-left:10px;padding:4px 8px;background:var(--white);border:1px solid var(--border);border-radius:6px;}
.rc-body{padding:16px 20px;background:var(--white);}
.rc-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}
.rc-row .rl{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--slate);}
.rc-row .rv{font-size:14px;font-weight:600;color:var(--heading);margin-top:4px;}
.result-card{border:1px solid var(--border);border-radius:16px;background:var(--white);margin-bottom:16px;overflow:hidden;box-shadow:0 4px 6px -1px rgba(0,0,0,0.05);}

/* Spinners */
.spinner-overlay{display:none;position:fixed;inset:0;z-index:4000;background:rgba(255,255,255,.9);backdrop-filter:blur(4px);align-items:center;justify-content:center;flex-direction:column;gap:16px;}
.spinner-overlay.show{display:flex;}
.spinner{width:48px;height:48px;border-radius:50%;border:4px solid #e2e8f0;border-top-color:var(--royal);animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}
.spinner-text{color:var(--heading);font-size:15px;font-weight:600;letter-spacing:0.5px;}

/* Responsive Media Queries */
@media(max-width:768px){
  .portal-header{flex-direction:column;align-items:flex-start;border-radius:20px;}
  .form-row, .grid-2{grid-template-columns:1fr;}
  .pv-grid{grid-template-columns:1fr;}
  .form-body, .form-hero{padding:20px;}
  .dup-grid{grid-template-columns:1fr;}
  .dup-row:nth-child(even){border-right:none;}
  .modal-card{margin:10px;}
}

/* --- FOOTER --- */
.contact-footer{margin-top:40px;padding:32px 20px;text-align:center;display:flex;flex-direction:column;gap:16px;color:var(--slate);font-size:13.5px;max-width:800px;margin-left:auto;margin-right:auto;}
.contact-footer a{color:var(--slate);text-decoration:none;transition:color 0.2s;}
.contact-footer a:hover{color:var(--royal);}
.cf-contact{display:flex;flex-wrap:wrap;justify-content:center;gap:16px;}
.cf-contact span{display:inline-flex;align-items:center;gap:6px;}
.cf-legal{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;border-top:1px solid #e2e8f0;padding-top:24px;}
.cf-links{display:flex;gap:16px;}
@media(max-width:768px){.cf-legal{flex-direction:column;gap:12px;text-align:center;justify-content:center;}}
