
:root{--green:#073f31;--green2:#0d5d45;--gold:#d9a83d;--cream:#f7f4ea;--ink:#13352b;--muted:#708078;--line:#dfe6df;--white:#fff;--shadow:0 18px 50px rgba(9,66,48,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;background:#f5f7f3;color:var(--ink)}
a{color:inherit}.auth-page{min-height:100vh;padding:34px;background:radial-gradient(circle at 85% 10%,rgba(217,168,61,.15),transparent 28%),linear-gradient(135deg,#f8f5ec,#eef4ed)}
.auth-brand img{width:235px;max-width:60vw}.auth-card{width:min(1120px,100%);margin:26px auto;background:rgba(255,255,255,.92);border:1px solid #e7e5dc;border-radius:28px;box-shadow:var(--shadow);overflow:hidden}
.auth-grid{display:grid;grid-template-columns:.9fr 1.1fr;min-height:640px}.auth-visual{background:linear-gradient(rgba(3,49,37,.82),rgba(3,49,37,.88)),url("../../assets/images/slide-map-my-land.png") center/cover;color:#fff;padding:58px;display:flex;flex-direction:column;justify-content:flex-end}
.auth-visual h1{font-family:Georgia,serif;font-size:54px;line-height:.98;margin:0 0 18px;font-weight:500}.auth-visual h1 span{color:#efc65d}.auth-visual p{max-width:480px;line-height:1.6;color:#dce8e3}
.auth-form{padding:54px}.auth-form h2{font-family:Georgia,serif;font-size:40px;margin:0 0 10px}.auth-form .sub{color:var(--muted);margin-bottom:30px}
label{display:block;font-size:12px;font-weight:800;letter-spacing:.04em;margin:0 0 7px}.field{margin-bottom:16px}.field input,.field select,.field textarea{width:100%;padding:14px 15px;border:1px solid #dce4dc;border-radius:13px;background:#fff;font:inherit;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:#73a38f;box-shadow:0 0 0 4px rgba(13,93,69,.08)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:13px;padding:14px 18px;font-weight:850;cursor:pointer;text-decoration:none}.btn-primary{background:var(--green);color:#fff}.btn-gold{background:var(--gold);color:#17372c}.btn-soft{background:#edf4f0;color:var(--green)}.btn-danger{background:#fff0ef;color:#982d2b;border:1px solid #f2cbc8}.btn-block{width:100%}
.alert{padding:13px 15px;border-radius:12px;margin-bottom:18px;font-size:14px}.alert-error{background:#fff0ef;color:#932e2d}.alert-success{background:#e9f6ee;color:#17613e}.tiny{font-size:12px;color:var(--muted)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:260px 1fr}.sidebar{position:sticky;top:0;height:100vh;background:linear-gradient(180deg,#063d30,#052d25);color:#eaf3ef;padding:25px 19px;display:flex;flex-direction:column}.app-brand img{width:200px;filter:brightness(1.7)}.role-pill{margin:22px 0 18px;padding:9px 12px;border:1px solid rgba(239,198,93,.32);border-radius:999px;color:#efc65d;font-size:12px;font-weight:850;text-align:center}
.sidebar nav{display:grid;gap:6px}.sidebar nav a,.sidebar-foot a{text-decoration:none;padding:12px 13px;border-radius:11px;color:#d7e4df;font-weight:650}.sidebar nav a:hover,.sidebar-foot a:hover{background:rgba(255,255,255,.08);color:#fff}.sidebar-foot{margin-top:auto;display:grid;gap:4px}
.app-main{min-width:0}.app-top{height:74px;background:#fff;border-bottom:1px solid #e6ebe7;display:flex;align-items:center;justify-content:space-between;padding:0 30px;position:sticky;top:0;z-index:20}.app-top small{display:block;color:#9a7a27;font-size:10px;font-weight:900;letter-spacing:.13em}.app-top strong{display:block;margin-top:3px}.status-dot{width:11px;height:11px;border-radius:50%;background:#27a261;box-shadow:0 0 0 5px #ddf3e7}.mobile-menu-toggle{display:none}
.content{padding:30px;max-width:1500px;width:100%;margin:auto}.page-title{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:24px}.page-title h1{font-family:Georgia,serif;font-size:38px;margin:0}.page-title p{color:var(--muted);margin:6px 0 0}
.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric{background:#fff;border:1px solid #e2e8e3;border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(18,54,43,.04)}.metric small{color:var(--muted);font-weight:700}.metric strong{display:block;font-size:30px;margin-top:8px}.metric span{font-size:12px;color:#4d7464}
.panel{background:#fff;border:1px solid #e2e8e3;border-radius:20px;box-shadow:0 10px 32px rgba(18,54,43,.05);padding:22px;margin-bottom:20px}.panel h2{font-family:Georgia,serif;margin:0 0 16px;font-size:25px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.table-wrap{overflow:auto}.data-table{width:100%;border-collapse:collapse;min-width:760px}.data-table th,.data-table td{text-align:left;padding:12px 10px;border-bottom:1px solid #edf0ed;font-size:13px}.data-table th{color:#6c7c74;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.tag{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eef5f1;color:#0c5c43;font-size:11px;font-weight:800}.tag.pending{background:#fff5d9;color:#8f6a12}.tag.rejected{background:#fff0ef;color:#983230}.tag.active{background:#e5f6eb;color:#176640}
.toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:16px}.toolbar input,.toolbar select{padding:10px 12px;border:1px solid #dce4dc;border-radius:10px}
.progress-steps{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0}.progress-steps span{padding:10px;border-radius:10px;background:#edf1ed;color:#728078;font-size:11px;font-weight:800;text-align:center}.progress-steps span.on{background:#0b5b43;color:#fff}
.step{display:none}.step.active{display:block}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.form-grid .span-2{grid-column:span 2}.upload-zone{border:1.5px dashed #b8c9c0;border-radius:16px;padding:20px;background:#f8fbf9}.parse-status{margin-top:10px;font-size:12px;color:#587268}.photo-preview{width:110px;height:110px;border-radius:50%;object-fit:cover;background:#edf1ee;border:4px solid #fff;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.dashboard-card{background:linear-gradient(145deg,#0a4a38,#0d654a);color:#fff;border-radius:20px;padding:24px}.dashboard-card h3{margin:0 0 10px;font-family:Georgia,serif;font-size:28px}.dashboard-card p{color:#d7e6df;line-height:1.5}.dashboard-card .btn{background:#efc65d;color:#13372b}
.empty{padding:38px;text-align:center;color:#7b8a83;border:1px dashed #d7e0d9;border-radius:16px}
@media(max-width:1050px){.metric-grid{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:1fr 1fr}.auth-grid{grid-template-columns:1fr}.auth-visual{min-height:320px}.app-shell{grid-template-columns:220px 1fr}}
@media(max-width:760px){.app-shell{display:block}.sidebar{position:fixed;z-index:50;left:-280px;width:260px;transition:.2s}.menu-open .sidebar{left:0}.mobile-menu-toggle{display:block;border:0;background:none;font-size:22px}.content{padding:20px}.app-top{padding:0 18px}.metric-grid,.grid-2,.grid-3,.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}.auth-page{padding:16px}.auth-form{padding:30px 22px}.auth-visual{padding:34px}.auth-visual h1{font-size:42px}.page-title{align-items:start;flex-direction:column}.progress-steps{grid-template-columns:1fr}.progress-steps span{display:none}.progress-steps span.on{display:block}}


/* Aadhaar front + back upload / preview */
.aadhaar-upload-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}
.aadhaar-preview-wrap{
  min-height:230px;
  margin-top:12px;
  border:1px solid #dce5de;
  border-radius:14px;
  background:
    linear-gradient(45deg,#f3f5f2 25%,transparent 25%),
    linear-gradient(-45deg,#f3f5f2 25%,transparent 25%),
    linear-gradient(45deg,transparent 75%,#f3f5f2 75%),
    linear-gradient(-45deg,transparent 75%,#f3f5f2 75%);
  background-size:20px 20px;
  background-position:0 0,0 10px,10px -10px,-10px 0;
  display:grid;
  place-items:center;
  overflow:hidden;
  color:#7b8a83;
  font-size:12px;
  text-align:center;
  padding:10px;
}
.aadhaar-preview{
  width:100%;
  height:220px;
  object-fit:contain;
  display:none;
  border-radius:10px;
  background:rgba(255,255,255,.86);
}
.aadhaar-pair-status{
  margin:14px 2px 0;
  padding:11px 13px;
  border-radius:10px;
  background:#eef5f1;
  color:#3c6555;
  font-weight:650;
}

/* Eye icon on every password field */
.password-wrap{
  position:relative;
  width:100%;
}
.password-wrap>input{
  padding-right:48px !important;
}
.password-eye{
  position:absolute;
  right:8px;
  top:50%;
  transform:translateY(-50%);
  width:36px;
  height:36px;
  border:0;
  border-radius:10px;
  display:grid;
  place-items:center;
  cursor:pointer;
  background:transparent;
  color:#4d6c60;
  font-size:19px;
}
.password-eye:hover,
.password-eye:focus-visible{
  background:#edf4f0;
  color:#07513b;
  outline:none;
}
.password-eye.showing{
  background:#e6f2ec;
  color:#07513b;
}
@media(max-width:760px){
  .aadhaar-upload-grid{grid-template-columns:1fr}
  .aadhaar-preview-wrap{min-height:190px}
  .aadhaar-preview{height:180px}
}
