@import url('https://fonts.googleapis.com/css2?family=Hind:wght@400;500;600;700&display=swap');
.admin-access, .member-access, .member-area { font-family: 'Hind', 'Nirmala UI', sans-serif; }
.admin-access { min-height: 100svh; background: radial-gradient(circle at 8% 12%, #dcecff 0, transparent 34%), radial-gradient(circle at 93% 85%, #ffe0e8 0, transparent 36%), #f3f7fd; }
.admin-access form { min-height: 100svh; display: flex; align-items: center; justify-content: center; padding: 24px; }
.admin-login-shell { display: grid; grid-template-columns: minmax(0, 0.88fr) minmax(0, 1fr); width: min(1080px, 100%); min-height: min(640px, calc(100svh - 48px)); overflow: hidden; border: 1px solid #dce5f2; border-radius: 30px; background: #fff; box-shadow: 0 30px 85px rgba(27, 45, 91, .14); }
.admin-login-story { position: relative; display: flex; flex-direction: column; justify-content: space-between; min-width: 0; padding: clamp(26px, 4vw, 50px); overflow: hidden; background: radial-gradient(circle at 92% 22%, #596ba5 0, transparent 29%), radial-gradient(circle at 12% 86%, #364b80 0, transparent 33%), linear-gradient(145deg, #142653, #263d75); color: #fff; }
.admin-login-story::after { content: ''; position: absolute; right: -105px; bottom: -180px; width: 420px; height: 420px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 44px rgba(255,255,255,.035), 0 0 0 102px rgba(255,255,255,.025); pointer-events: none; }
.admin-login-brand { position: relative; z-index: 1; display: inline-flex; width: fit-content; align-items: center; padding: 7px 12px; border-radius: 14px; background: #fff; }
.admin-login-brand img { display: block; width: 112px; height: 68px; object-fit: contain; }
.admin-login-story__content { position: relative; z-index: 1; padding: 28px 0; }
.admin-login-story__tag { display: inline-block; margin-bottom: 20px; color: #ffbdcd; font-size: 12px; font-weight: 700; letter-spacing: .22em; }
.admin-login-story h2 { margin: 0 0 18px; color: #fff; font-size: clamp(34px, 4vw, 54px); line-height: 1.2; }
.admin-login-story h2 em { color: #ff9db8; font-style: normal; }
.admin-login-story p { max-width: 340px; margin-bottom: 26px; color: #dbe4fa; font-size: 17px; line-height: 1.55; }
.admin-login-story__features { display: flex; flex-wrap: wrap; gap: 9px; }
.admin-login-story__features span { display: inline-flex; align-items: center; gap: 8px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.23); border-radius: 9px; background: rgba(255,255,255,.08); font-size: 14px; font-weight: 600; }
.admin-login-story__features b { color: #ffadbf; font-size: 12px; }
.admin-login-story__foot { position: relative; z-index: 1; color: #bbc9e9; font-size: 13px; }
.admin-login-card { display: flex; align-items: center; min-width: 0; padding: clamp(28px, 5vw, 64px); background: radial-gradient(circle at 100% 0, #fff3f5, transparent 37%), #fff; }
.admin-login-card__inner { width: min(100%, 420px); margin: auto; }
.admin-login-card .admin-eyebrow { color: #df3e68; }
.admin-login-card h1 { margin: 9px 0 6px; font-size: clamp(32px, 3.4vw, 46px); line-height: 1.22; }
.admin-login-card p { margin-bottom: 25px; color: #607088; font-size: 17px; line-height: 1.5; }
.admin-login-card .admin-field { margin-bottom: 16px; gap: 6px; }
.admin-login-card .admin-field label { color: #283c70; font-size: 16px; }
.admin-login-card .admin-field input { min-height: 52px; padding: 10px 15px; border-color: #d5e0ee; border-radius: 11px; background: #f3f7fd; }
.admin-login-card .admin-field input::placeholder { color: #7e8da6; opacity: 1; }
.admin-password { position: relative; }
.admin-login-card .admin-password input { padding-right: 58px; }
.admin-password__toggle { position: absolute; top: 50%; right: 8px; display: grid; place-items: center; width: 42px; height: 42px; padding: 0; transform: translateY(-50%); border: 0; border-radius: 9px; background: transparent; color: #4b6088; cursor: pointer; }
.admin-password__toggle:hover, .admin-password__toggle:focus-visible { background: #e5edf8; color: #d73364; }
.admin-password__toggle svg { width: 22px; height: 22px; }
.admin-captcha__challenge { display: flex; align-items: center; gap: 12px; margin-bottom: 8px; }
.admin-captcha__challenge img { width: 190px; height: 54px; border: 1px solid #d5e0ee; border-radius: 10px; }
.admin-captcha__refresh { color: #d73364; font-size: 14px; font-weight: 700; text-decoration: underline; }
.admin-login-submit { width: 100%; min-height: 52px; margin-top: 8px; border-radius: 11px; background: linear-gradient(105deg, #ed3f70, #fa6679); box-shadow: 0 12px 24px rgba(242,69,112,.2); font-size: 17px; }
.admin-login-footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 25px; color: #435e8a; font-size: 15px; font-weight: 700; }
.admin-login-footer a:hover, .admin-login-footer a:focus-visible { color: #dc315f; text-decoration: underline; }
@media (min-width: 761px) and (max-height: 800px) {
  .admin-login-card { padding: 30px 46px; }
  .admin-login-card h1 { font-size: 38px; }
  .admin-login-card p { margin-bottom: 14px; }
  .admin-login-card .admin-field { margin-bottom: 11px; }
  .admin-login-card .admin-field input { min-height: 46px; }
  .admin-captcha__challenge img { height: 48px; }
  .admin-login-submit { min-height: 48px; margin-top: 2px; }
  .admin-login-footer { margin-top: 16px; }
}
@media (max-width: 760px) {
  .admin-access form { align-items: flex-start; padding: 14px; }
  .admin-login-shell { grid-template-columns: 1fr; min-height: 0; border-radius: 22px; }
  .admin-login-story { min-height: 120px; padding: 16px 22px; }
  .admin-login-story__content { padding: 8px 0 0; }
  .admin-login-story__tag { margin: 0; }
  .admin-login-story h2, .admin-login-story p, .admin-login-story__features, .admin-login-story__foot { display: none; }
  .admin-login-brand img { width: 82px; height: 48px; }
  .admin-login-card { padding: 26px 22px 30px; }
}
@media (max-height: 600px) and (min-width: 761px) {
  .admin-access form { padding: 12px; }
  .admin-login-shell { min-height: calc(100svh - 24px); }
  .admin-login-story { padding: 24px 32px; }
  .admin-login-brand img { height: 48px; }
  .admin-login-story h2 { font-size: 36px; }
  .admin-login-story p { margin-bottom: 12px; font-size: 15px; }
  .admin-login-card { padding: 22px 36px; }
  .admin-login-card p { margin-bottom: 12px; }
  .admin-login-card .admin-field { margin-bottom: 10px; }
  .admin-login-card .admin-field input { min-height: 44px; }
  .admin-captcha__challenge img { height: 46px; }
  .admin-login-submit { min-height: 46px; }
  .admin-login-footer { margin-top: 14px; }
}
.member-access .login-page { background: radial-gradient(circle at 5% 20%, #dfeeff, transparent 38%), radial-gradient(circle at 45% 85%, #fce5ed, transparent 35%), #f4f8ff; isolation: isolate; }
.member-access .log-reg-inner { border-radius: 24px; box-shadow: 0 20px 60px rgba(32,54,102,.1); }
.member-access .login-page__logo { max-height: 95px; width: auto; }
.member-access .login-page__otp-notice { padding: 16px; border-radius: 12px; background: #eff4fb; color: #435573; line-height: 1.6; }
.member-access .login-page .top-menu-area .logo { padding: 8px 0; }
.member-access .login-page__logo { max-height: 64px; }
.member-access .login-page .log-reg-inner { width: 100%; max-width: none; margin: 4px auto 16px; padding: 24px 30px; }
.member-access .login-page .log-reg-inner .section-header.inloginp { margin-bottom: 24px; }
.member-access .login-page .log-reg-inner .section-header.inloginp .title { margin: 0; font-size: clamp(25px, 2.5vw, 34px); line-height: 1.25; }
.member-access .login-page .login-switch { margin-bottom: 16px; }
.member-access .login-page .form-group { margin-bottom: 12px; }
.member-access .login-page .form-group label { margin-bottom: 4px; font-size: 15px; line-height: 1.4; }
.member-access .login-page .log-reg-inner .main-content .form-group .my-form-control { height: 46px; padding: 0 16px; }
.member-access .login-page .login-btn { min-height: 46px; padding: 10px 20px !important; }
.member-access .login-page__signup { margin-top: 14px; }
.member-access .login-image-caption { position: absolute; left: 8%; right: 8%; bottom: 6%; padding: 18px 22px; border-left: 3px solid #ff7d9c; border-radius: 0 14px 14px 0; background: rgba(23,37,67,.76); color: #fff; }
.member-access .login-image-caption span { display: block; color: #ffc3d1; font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.member-access .login-image-caption p { margin: 5px 0 0; color: #fff; font-size: clamp(19px, 2vw, 27px); font-weight: 600; line-height: 1.3; }
.member-access .login-page .login-switch { background: #edf2f9; }
.member-access .login-page .log-reg-inner .main-content .form-group .my-form-control { background: #f3f7fd; border-color: #d8e3f2; }
.member-access .login-page .forgot-link { color: #6d7f97; font-size: 13px; }
.member-access .login-page .log-reg-inner { position: relative; overflow: hidden; background: radial-gradient(circle at 98% 0, rgba(255, 213, 226, .55), transparent 29%), radial-gradient(circle at 0 100%, rgba(207, 227, 255, .48), transparent 32%), #fff; }
.member-access .login-page .log-reg-inner::before { content: ''; position: absolute; top: 0; left: 0; width: 128px; height: 4px; border-radius: 0 0 8px 0; background: linear-gradient(90deg, #f24570, #ffb16a); }
.member-access .login-page .section-header.inloginp { position: relative; z-index: 1; text-align: left; }
.member-access .login-page__eyebrow { display: inline-flex; align-items: center; gap: 9px; margin-bottom: 16px; color: #b3345a; font-size: 13px; font-weight: 700; letter-spacing: .03em; }
.member-access .login-page__eyebrow span { width: 9px; height: 9px; border-radius: 50%; background: #f24570; box-shadow: 0 0 0 5px #fde7ee; }
.member-access .login-page .log-reg-inner .section-header.inloginp .title { max-width: 15ch; font-size: clamp(29px, 2.8vw, 43px); line-height: 1.2; }
.member-access .login-page__intro { margin: 14px 0 0; color: #61718d; font-size: 17px; line-height: 1.55; }
.member-access .login-page .login-page__password-form { position: relative; z-index: 1; padding: clamp(20px, 2vw, 30px); border: 1px solid #e2eaf5; border-radius: 22px; background: rgba(247, 250, 255, .92); box-shadow: 0 14px 34px rgba(27, 48, 91, .06); }
.member-access .login-page .login-page__password-form [role="alert"]:not(:empty) { display: block; margin-bottom: 14px; padding: 9px 12px; border-radius: 10px; background: #fff1f5; font-size: 14px; }
.member-access .login-page .login-page__password-form .form-group { margin-bottom: 18px; }
.member-access .login-page .login-page__password-form .form-group label { color: #243865; font-weight: 700; }
.member-access .login-page .log-reg-inner .main-content .form-group .my-form-control { height: 52px; background: #fff; border: 1px solid #cfdced; box-shadow: 0 2px 4px rgba(25, 49, 91, .025); }
.member-access .login-page .log-reg-inner .main-content .form-group .my-form-control:focus { border-color: #f24570; background: #fff; box-shadow: 0 0 0 4px rgba(242, 69, 112, .12); }
.member-access .login-page .login-btn { min-height: 52px; margin-top: 8px; border-radius: 12px; background: linear-gradient(105deg, #ed3a6b, #ff735f); box-shadow: 0 12px 23px rgba(242, 69, 112, .18); font-weight: 700; transition: transform .2s ease, box-shadow .2s ease; }
.member-access .login-page .login-btn:hover { transform: translateY(-2px); box-shadow: 0 16px 26px rgba(242, 69, 112, .24); background: linear-gradient(105deg, #da2e5c, #f76552); }
.member-access .login-page__signup { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #60718d; font-size: 16px; }
.member-access .login-page__signup a { white-space: nowrap; }
@media (min-width: 992px) {
  .member-access .login-page { display: flex; flex-direction: column; min-height: 100svh; }
  .member-access .login-page > .container { display: flex; flex: 1; }
  .member-access .login-page > .container > .row { flex: 1; align-items: stretch; }
  .member-access .login-page > .container > .row > .col-lg-6 { display: flex; }
  .member-access .login-page .log-reg-inner { display: flex; flex-direction: column; flex: 1; min-height: 100%; margin: 0; padding: clamp(26px, 3vw, 46px); border-radius: 26px 26px 0 0; }
  .member-access .login-page .log-reg-inner .main-content { display: flex; flex-direction: column; flex: 1; }
  .member-access .login-page .login-page__password-form { margin: auto 0; }
  .member-access .login-page__signup { margin: 0; padding-top: 18px; border-top: 1px solid #e1e8f4; }
}
@media (min-width: 768px) and (max-width: 991.98px) {
  .member-access .login-page .image.image-log { display: block; position: absolute; width: 42%; height: 100vh; }
  .member-access .login-page .container > .row > .col-lg-6 { flex: 0 0 58%; max-width: 58%; }
  .member-access .login-page .log-reg-inner { padding: 22px; }
}
@media (min-width: 992px) and (min-height: 700px) {
  .member-access .login-page { min-height: 100vh; }
  .member-access .login-page .image.image-log { height: 100vh; }
}
@media (min-width: 768px) and (max-height: 700px) {
  .member-access .login-page .top-menu-area .logo { padding: 4px 0; }
  .member-access .login-page__logo { max-height: 46px; }
  .member-access .login-page .log-reg-inner { margin: 0 auto 8px; padding: 16px 26px; }
  .member-access .login-page .log-reg-inner .section-header.inloginp { margin-bottom: 18px; }
  .member-access .login-page .log-reg-inner .section-header.inloginp .title { font-size: 27px; }
  .member-access .login-page .login-switch { margin-bottom: 9px; }
  .member-access .login-page .switch-option { padding: 7px 0; }
  .member-access .login-page .form-group { margin-bottom: 8px; }
  .member-access .login-page .log-reg-inner .main-content .form-group .my-form-control { height: 42px; }
  .member-access .login-page #passwordDiv .mb-3 { margin-bottom: 8px !important; }
  .member-access .login-page .login-btn { min-height: 42px; }
  .member-access .login-page__signup { margin-top: 8px; }
}
@media (min-width: 992px) and (max-height: 700px) {
  .member-access .login-page .log-reg-inner { margin: 0; }
  .member-access .login-page__signup { margin-top: 0; }
}
@media (max-width: 767.98px) {
  .member-access .login-page .top-menu-area .logo { text-align: center; }
  .member-access .login-page .top-menu-area .row > div { width: 100%; }
  .member-access .login-page .log-reg-inner .section-header.inloginp .title { max-width: none; font-size: clamp(27px, 6vw, 35px); }
  .member-access .login-page .login-page__password-form { padding: 20px; }
  .member-access .login-page__signup { padding-top: 18px; border-top: 1px solid #e1e8f4; }
}
@media (max-width: 575px) { .member-access .login-page .log-reg-inner { margin: 4px auto 20px; padding: 22px 18px; } }
@media (max-width: 390px) { .member-access .login-page__signup { align-items: flex-start; flex-direction: column; gap: 2px; } }
@media (prefers-reduced-motion: reduce) { .member-access .login-page .login-btn { transition: none; } }
.member-access .login-page input:focus-visible, .admin-access input:focus-visible { outline: 3px solid #f8a9c0; outline-offset: 2px; }
.member-area .header__bottom { background: #f8fbff; }
.member-area .dd-navbar__logo { width: 84px; height: 76px; object-fit: contain; }
.member-area .pageheader { background-image: linear-gradient(110deg, #203666, #5a4777) !important; }
.member-area .user-dashboard-page { background: radial-gradient(circle at 10% 15%, #e1eeff, transparent 36%), #f6f9fe; }
.member-area .user-dashboard-page .info-card { border: 1px solid #e1e9f5; border-radius: 18px; box-shadow: 0 14px 35px rgba(32,54,102,.06); }
.member-area .dashboard-partner-summary { margin: 14px 0 4px; padding: 13px 15px; border: 1px solid #f4d9e3; border-radius: 14px; background: linear-gradient(130deg,#fff5f8,#f6f9ff); }
.member-area .dashboard-partner-summary__status { margin: 0; color: #203666; }
.member-area .dashboard-partner-summary__status i { margin-right: 6px; color: #f24570; }
.member-area .dashboard-partner-summary__expectations { margin-top: 10px; padding-top: 10px; border-top: 1px solid #f0dfe6; }
.member-area .dashboard-partner-summary__expectations > strong { color: #203666; font-size: 14px; }
.member-area .dashboard-partner-text { margin: 4px 0 0; color: #4c5e7b; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; }
@media (max-width: 991px) { .member-area .dd-navbar__logo { width: 65px; height: 58px; } }
