*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,"Noto Sans Devanagari",sans-serif;background:#f4f7fb;color:#172033}.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#082f49,#0d5c7d 55%,#168aad);color:#fff;padding:24px 5%;display:flex;align-items:center;gap:18px;box-shadow:0 5px 25px #082f4926}.hero:after{content:"";position:absolute;width:320px;height:320px;border:50px solid #ffffff0d;border-radius:50%;right:-100px;top:-170px}.brand{width:64px;height:64px;border-radius:18px;background:#ffffff18;border:1px solid #ffffff40;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:22px;letter-spacing:1px}.hero h1{margin:0;font-size:29px}.hero p{margin:5px 0 0;color:#d9f3ff}.hero a{position:relative;z-index:2;color:#fff;text-decoration:none;border:1px solid #ffffff50;padding:10px 16px;border-radius:10px}.admin-btn{margin-left:auto;background:#ffffff12}.container{max-width:1220px;margin:32px auto;padding:0 18px}.intro{text-align:center;margin:8px 0 28px}.eyebrow{color:#0d6a8f;font-weight:800;letter-spacing:1px;font-size:13px}.intro h2{font-size:34px;margin:7px 0}.intro p{color:#687386}.filters{display:grid;grid-template-columns:1fr 180px 180px auto auto;gap:10px;background:#fff;padding:14px;border-radius:15px;box-shadow:0 8px 30px #1720330b;margin-bottom:32px}.filters input,.filters select,.filters button{padding:13px;border:1px solid #dce2ea;border-radius:10px;font-size:15px}.filters input:focus,.filters select:focus{outline:2px solid #8bd4ec;border-color:#0d6a8f}.filters button{background:#0d5c7d;color:#fff;border:0;font-weight:700;cursor:pointer}.reset{display:flex;align-items:center;justify-content:center;text-decoration:none;color:#0d5c7d;border:1px solid #dce2ea;border-radius:10px;padding:0 15px}.committee-section{margin:42px 0}.section-title{display:flex;align-items:center;gap:12px;margin-bottom:18px}.section-title h2{margin:0;font-size:23px}.section-title .line{height:3px;flex:1;background:linear-gradient(90deg,#0d5c7d,transparent);border-radius:4px}.level-badge{background:#e5f5fa;color:#0d5c7d;padding:7px 12px;border-radius:30px;font-size:12px;font-weight:800}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:20px}.card{background:#fff;border:1px solid #e8edf3;border-radius:18px;overflow:hidden;box-shadow:0 8px 28px #1720330b;transition:.2s}.card:hover{transform:translateY(-4px);box-shadow:0 15px 35px #17203316} .photo{height:280px;background:linear-gradient(135deg,#eaf4f8,#dcebf1);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:10px}.photo img{width:100%;height:100%;object-fit:contain;object-position:center;background:#eaf4f8;display:block;border-radius:12px}.avatar{width:108px;height:108px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#0d5c7d;color:#fff;font-size:43px;font-weight:800;border:6px solid #ffffffaa;box-shadow:0 10px 25px #0d5c7d33}.card-body{padding:19px}.card h3{margin:0 0 7px;font-size:20px}.designation{display:inline-block;background:#edf8fb;color:#0d5c7d;padding:6px 9px;border-radius:7px;font-weight:700;font-size:13px}.meta{margin-top:14px;color:#667085;font-size:13px;line-height:1.7}.view{display:block;margin-top:15px;text-align:center;background:#f1f8fa;color:#0d5c7d;padding:10px;border-radius:9px;text-decoration:none;font-weight:800}.empty{text-align:center;background:#fff;padding:45px;border-radius:15px;color:#667085}footer{margin-top:55px;background:#082f49;color:#c9e8f3;text-align:center;padding:28px}.profile-wrap{max-width:1000px;margin:45px auto;padding:0 18px}.profile{background:#fff;border-radius:22px;padding:32px;display:grid;grid-template-columns:320px 1fr;gap:38px;box-shadow:0 15px 45px #17203312}.profile-photo{height:380px;background:linear-gradient(135deg,#eaf4f8,#dcebf1);border-radius:18px;overflow:hidden;display:flex;align-items:center;justify-content:center}.profile-photo img{width:100%;height:100%;object-fit:contain;object-position:center;background:#eaf4f8;display:block}.avatar.big{width:180px;height:180px;font-size:70px}.profile-info h2{font-size:34px;margin:5px 0 8px}.profile-info h3{color:#0d5c7d;margin:0 0 25px}.profile-info p{padding:10px 0;border-bottom:1px solid #eef1f4}.bio{margin-top:20px;padding:18px;background:#f6f9fb;border-radius:12px;line-height:1.7}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#082f49,#0d6a8f)}.login-box{background:#fff;padding:38px;border-radius:22px;width:min(420px,92%);box-shadow:0 20px 60px #0003;display:flex;flex-direction:column;gap:14px}.login-box .brand{margin:auto;background:#0d5c7d;color:#fff}.login-box h2{text-align:center}.login-box input{padding:13px;border:1px solid #d6dce5;border-radius:9px;font-size:15px}.login-box button,.member-form button,.password-form button{background:#0d5c7d;color:white;border:0;border-radius:9px;padding:13px;cursor:pointer;font-weight:800}.login-box a{text-align:center;color:#0d5c7d}.admin-head{background:#082f49;color:#fff;padding:18px 5%;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 20px #0002}.admin-head a{color:#fff;text-decoration:none;margin-left:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.stats>div{background:#fff;border:1px solid #e7edf2;border-radius:16px;padding:22px;box-shadow:0 8px 25px #17203309}.stats b{font-size:34px;color:#0d5c7d;display:block}.stats span{color:#667085}.admin-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:24px}.admin-actions a{background:#fff;padding:22px;border-radius:15px;text-decoration:none;color:#0d5c7d;font-weight:800;border:1px solid #e7edf2}.table-wrap{overflow:auto;background:#fff;border-radius:15px;box-shadow:0 8px 25px #17203309}table{border-collapse:collapse;width:100%}th,td{padding:13px;border-bottom:1px solid #edf0f3;text-align:left;white-space:nowrap}th{background:#f5f8fa;color:#506070}.thumb{width:52px;height:52px;object-fit:cover;border-radius:50%}.member-form,.password-form{background:#fff;padding:28px;border-radius:18px;box-shadow:0 8px 30px #1720330b}.member-form{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.member-form label,.password-form label{display:flex;flex-direction:column;gap:7px;font-weight:700}.member-form input,.member-form select,.member-form textarea,.password-form input{padding:12px;border:1px solid #d6dce5;border-radius:9px;font-size:15px}.member-form .full,.member-form button{grid-column:1/-1}.edit-photo{width:120px;height:120px;object-fit:cover;border-radius:12px}.password-form{max-width:520px;margin:30px auto}.password-form h2{margin-top:0}.password-form button{width:100%;margin-top:8px}.success{background:#dcfce7;color:#166534;padding:11px;border-radius:9px}.error{background:#fee2e2;color:#991b1b;padding:11px;border-radius:9px}.hint{font-size:13px;color:#667085}@media(max-width:900px){.filters{grid-template-columns:1fr 1fr}.filters input:first-child{grid-column:1/-1}.stats{grid-template-columns:1fr 1fr}.admin-actions{grid-template-columns:1fr 1fr}.profile{grid-template-columns:1fr}.profile-photo{height:330px}}@media(max-width:600px){.hero{flex-wrap:wrap}.admin-btn{margin-left:0}.filters,.member-form{grid-template-columns:1fr}.filters input:first-child{grid-column:auto}.stats,.admin-actions{grid-template-columns:1fr}.hero h1{font-size:23px}.intro h2{font-size:28px}.profile{padding:20px}.profile-info h2{font-size:27px}}

.photo .avatar{flex:none}.profile-photo{padding:12px}.profile-photo img{border-radius:14px}

.upload-preview{width:140px;height:180px;object-fit:contain;object-position:center;background:#eef4f7;border-radius:12px;margin-top:8px;border:1px solid #dce5eb}

/* FINAL INDEX MEMBER PHOTO FIX */
.photo-frame{
  width:100%;
  height:300px;
  padding:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:linear-gradient(135deg,#eef6f9,#dcecf2);
  border-bottom:1px solid #e6edf1;
}
.photo-frame .member-photo{
  width:100%;
  height:100%;
  max-width:100%;
  max-height:100%;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
  background:#eef6f9;
  border-radius:12px;
}
.photo-frame .avatar{
  width:115px;
  height:115px;
  flex:0 0 115px;
}
@media(max-width:600px){
  .photo-frame{height:270px;padding:12px}
}
