/* Tugume login page. Layout only - form ids/names are untouched. */
body.tg-login-body { background: linear-gradient(135deg, #eef0ff 0%, #f6f3ff 100%); min-height: 100vh; }
body.tg-login-body header { display: none; }
body.tg-login-body .container-fluid { padding: 0; }

.tg-page { min-height: 100vh; display: flex; align-items: center; justify-content: center; padding: 32px 16px; font-family: Poppins, "Segoe UI", Arial, sans-serif; color: #141b3d; }
.tg-shell { display: flex; width: 100%; max-width: 1180px; min-height: 740px; background: #fff; border-radius: 28px; overflow: hidden; box-shadow: 0 24px 70px rgba(70, 60, 160, .16); }

.tg-form-panel { flex: 0 0 42%; max-width: 42%; padding: 48px 52px; display: flex; flex-direction: column; justify-content: center; background: #fff; }
.tg-logo { display: block; align-self: flex-start; height: 54px; width: auto; max-width: 100%; margin: 0 0 40px 0; }
.tg-eyebrow { font-size: 12px; letter-spacing: 3px; text-transform: uppercase; color: #5b3fd6; margin: 0 0 12px; font-weight: 500; }
.tg-title { font-size: 34px; line-height: 1.15; font-weight: 700; color: #141b3d; margin: 0 0 10px; }
.tg-sub { color: #6b7194; font-size: 16px; margin: 0 0 28px; }

.tg-alert { margin-bottom: 16px; }

.tg-field { display: flex; align-items: center; gap: 14px; border: 1px solid #dcdff0; border-radius: 12px; padding: 10px 16px; background: #fff; margin-bottom: 4px; transition: border-color .15s, box-shadow .15s; }
.tg-field:focus-within { border-color: #6a4df0; box-shadow: 0 0 0 3px rgba(106, 77, 240, .14); }
.tg-field > i { color: #6b7194; font-size: 18px; width: 20px; text-align: center; }
.tg-field .tg-input-wrap { flex: 1; min-width: 0; }
.tg-field label { display: block; font-size: 13px; color: #141b3d; margin: 0; line-height: 1.2; }
.tg-field input { border: 0; outline: 0; width: 100%; padding: 2px 0 0; font-size: 15px; color: #141b3d; background: transparent; box-shadow: none; }
.tg-field input::placeholder { color: #9aa0bd; }
.tg-field .tg-toggle { cursor: pointer; color: #6b7194; }
.tg-form-group { margin-bottom: 14px; }
.tg-form-group .invalid-feedback { display: block; font-size: 13px; margin-top: 4px; }

.tg-row { display: flex; justify-content: space-between; align-items: center; margin: 10px 0 22px; font-size: 14px; }
.tg-row label { margin: 0; cursor: pointer; color: #3a4166; }
.tg-row a { color: #5b3fd6; }

.tg-btn { width: 100%; border: 0; border-radius: 10px; padding: 16px; font-size: 17px; font-weight: 500; color: #fff; background: linear-gradient(90deg, #5468ff 0%, #8b4dff 100%); cursor: pointer; box-shadow: 0 10px 24px rgba(107, 77, 240, .28); }
.tg-btn:hover { filter: brightness(1.05); }

.tg-legal { color: #6b7194; font-size: 13px; margin: 26px 0 0; }
.tg-legal a { color: #4b32c3; text-decoration: underline; }
.tg-divider { display: block; position: static !important; top: auto !important; right: auto !important; width: 100% !important; height: 0; background: none; border: 0; border-top: 1px solid #e6e8f4; margin: 26px 0 22px 0 !important; }
.tg-signup { text-align: center; color: #6b7194; font-size: 15px; margin: 0; }
.tg-signup a, .tg-accent { color: #5b3fd6; }

.tg-hero-panel { flex: 1; min-height: 420px; background: #f1f0ff url("../images/login-hero.jpg") center top / cover no-repeat; }

@media (max-width: 991px) {
  .tg-shell { flex-direction: column; min-height: 0; }
  .tg-form-panel { flex: none; max-width: none; padding: 36px 28px; }
  .tg-hero-panel { flex: none; min-height: 0; aspect-ratio: 1183 / 1330; }
}
