    :root {
      --feat-ink-900: #07111f;
      --feat-ink-800: #0f1c31;
      --feat-ink-700: #18304e;
      --feat-sky-100: #eef6ff;
      --feat-sky-200: #dce9f5;
      --feat-line: #d8e4ef;
      --feat-text: #0f172a;
      --feat-muted: #5f6f82;
      --feat-success: #0f766e;
      --feat-primary: #1d4ed8;
      --feat-grad: linear-gradient(135deg, #081120 0%, #0f1c31 52%, #163a63 100%);
      --feat-card-grad: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(247, 250, 253, 0.98) 100%);
    }

    html,
    body,
    body.login-page {
      min-height: 100vh;
      font-family: 'Inter', sans-serif;
    }

    html {
      background: #081120;
    }

    body.login-page {
      position: relative;
      margin: 0;
      background: var(--feat-grad);
      color: var(--feat-text);
      overflow-x: hidden;
    }
body.login-page::before {
      content: "";
      position: fixed;
      inset: 0;
      z-index: 0;
      background: transparent;
      pointer-events: none;
    }

    body.login-page.feat-auth-has-bg {
      background: #081120;
    }

    body.login-page.feat-auth-has-bg::before {
      background:
        linear-gradient(90deg, rgba(8, 17, 32, 0.10) 0%, rgba(8, 17, 32, 0.28) 100%),
        url("/assets/img/auth/login.png") center center / cover no-repeat;
    }

    .feat-auth-shell {
      position: relative;
      z-index: 1;
      width: min(560px, calc(100vw - 32px));
      margin: 2.5rem auto;
    }

    .feat-auth-stage {
      width: 100%;
    }

    .card,
    .login-card-body,
    .card-body {
      border-radius: 1.5rem !important;
    }

    .card {
      padding: 0;
      border: 1px solid rgba(216, 228, 239, 0.9);
      background: transparent;
      box-shadow: 0 28px 55px rgba(7, 17, 31, 0.18);
    }

    .card > .card-header:first-child {
      border-top-left-radius: 1.5rem !important;
      border-top-right-radius: 1.5rem !important;
    }

    .card > .card-body:last-child,
    .card > .login-card-body:last-child {
      border-bottom-left-radius: 1.5rem !important;
      border-bottom-right-radius: 1.5rem !important;
    }

    .tp-auth-card {
      background: #fff !important;
      overflow: hidden;
    }

    .tp-auth-card-head {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 1rem 1.25rem 0.95rem;
      background: linear-gradient(135deg, #05091d 0%, #0b1236 52%, #07102c 100%);
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .tp-auth-card-head__brand {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      text-decoration: none !important;
    }

    .tp-auth-card-head__logo {
      width: 188px;
      max-width: min(188px, 100%);
      height: auto;
      display: block;
      object-fit: contain;
      filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.18));
    }

    .login-card-body {
      padding: 1.35rem 1.35rem 1.2rem;
      background: rgba(255, 255, 255, 0.96);
    }

    .auth-form-header {
      border-top-left-radius: 1.5rem !important;
      border-top-right-radius: 1.5rem !important;
      overflow: hidden;
    }

    .auth-form-header__title {
      display: none !important;
    }

    .login-box-msg {
      margin-bottom: 1rem;
      color: var(--feat-muted);
      text-align: center;
    }

    .feat-auth-logo {
      display: flex;
      justify-content: center;
      align-items: center;
      margin: 0 0 1rem;
    }

    .feat-auth-logo__link {
      display: inline-flex;
      align-items: center;
      gap: 0.45rem;
      text-decoration: none !important;
    }

    .feat-auth-logo__img {
      width: 76px;
      max-width: 76px;
      height: auto;
      display: block;
    }

    .feat-auth-logo__wordmark {
      color: #081120;
      font-size: 1.28rem;
      font-weight: 800;
      letter-spacing: 0.08em;
      white-space: nowrap;
    }

    .bg-feat,
    .btn.bg-feat,
    .btn.btn-primary,
    .btn-primary {
      border: 0 !important;
      color: #fff !important;
      background: linear-gradient(135deg, var(--feat-ink-800) 0%, var(--feat-primary) 100%) !important;
      box-shadow: 0 16px 28px rgba(29, 78, 216, 0.22);
    }

    .bg-feat:hover,
    .btn.bg-feat:hover,
    .btn.btn-primary:hover,
    .btn-primary:hover {
      filter: brightness(1.03);
    }

    .bg-feat:focus,
    .btn.bg-feat:focus,
    .btn.btn-primary:focus,
    .btn-primary:focus {
      box-shadow: 0 0 0 0.18rem rgba(29, 78, 216, 0.18) !important;
    }

    .feat-auth-stage .btn,
    .feat-auth-stage .form-control {
      min-height: 46px;
      border-radius: 0.9rem;
    }

    .feat-auth-stage .form-control {
      border-color: var(--feat-line);
      box-shadow: none;
    }

    .feat-auth-stage .form-control:focus {
      border-color: rgba(29, 78, 216, 0.5) !important;
      box-shadow: 0 0 0 0.18rem rgba(29, 78, 216, 0.12) !important;
    }

    .feat-auth-stage .input-group {
      margin-bottom: 0.75rem !important;
    }

    .feat-auth-stage .input-group-text,
    .feat-auth-stage .js-toggle-password {
      border-color: var(--feat-line);
      background: var(--feat-sky-100);
      color: var(--feat-muted);
    }

    .feat-auth-stage .js-toggle-password:hover {
      background: #e5edf6;
      color: var(--feat-ink-800);
    }

    .icheck-indigo > input:first-child:checked + input[type=hidden] + label::before,
    .icheck-indigo > input:first-child:checked + label::before {
      background-color: var(--feat-ink-800);
      border-color: var(--feat-ink-800);
    }

    .azul-feat {
      color: var(--feat-ink-800) !important;
    }

    a.azul-feat:hover {
      color: var(--feat-primary) !important;
    }

    .feat-auth-stage .alert {
      border-radius: 1rem;
    }

    .feat-auth-stage .text-muted,
    .feat-auth-stage a.text-muted {
      color: var(--feat-muted) !important;
    }

    .feat-auth-stage a.text-muted:hover {
      color: var(--feat-ink-800) !important;
    }

    @media (max-width: 991.98px) {
      .feat-auth-shell {
        width: min(540px, calc(100vw - 28px));
        margin: 1.75rem auto;
      }

    }

    @media (max-width: 575.98px) {
      .feat-auth-shell {
        width: calc(100vw - 20px);
        margin: 1rem auto;
      }

      .login-card-body {
        padding: 1.05rem 0.95rem 0.9rem;
      }

      .tp-auth-card-head {
        padding: 0.9rem 1rem 0.85rem;
      }

      .tp-auth-card-head__logo {
        width: 164px;
        max-width: min(164px, 100%);
      }
    }

    #feat-cookie-banner {
      position: fixed;
      left: 16px;
      right: 16px;
      bottom: 16px;
      z-index: 9999;
    }

    #feat-cookie-banner .box {
      max-width: 980px;
      margin: 0 auto;
      display: flex;
      gap: 12px;
      align-items: center;
      justify-content: space-between;
      flex-wrap: wrap;
      padding: 14px;
      border-radius: 16px;
      background: rgba(7, 17, 31, 0.96);
      color: #fff;
      box-shadow: 0 18px 50px rgba(0, 0, 0, 0.35);
    }

    #feat-cookie-banner .text {
      font-size: 13px;
      line-height: 1.45;
      opacity: 0.95;
    }

    #feat-cookie-banner a {
      color: #fff;
      text-decoration: underline;
    }

    #feat-cookie-banner .actions {
      display: flex;
      gap: 8px;
      align-items: center;
    }

    #feat-cookie-banner .btn {
      padding: 9px 12px;
      border-radius: 12px;
      border: 1px solid rgba(255, 255, 255, 0.25);
      background: rgba(255, 255, 255, 0.08);
      color: #fff;
      font-weight: 800;
      cursor: pointer;
    }

    #feat-cookie-banner .btn.primary {
      border: none;
      background: linear-gradient(135deg, var(--feat-ink-800) 0%, var(--feat-primary) 100%);
    }

body.login-page::before,
    body.hold-transition.login-page::before,
    body.login-page.feat-auth-page::before,
    body.login-page.feat-auth-has-bg::before,
    body.hold-transition.login-page.feat-auth-has-bg::before,
    body.login-page.feat-auth-page.feat-auth-has-bg::before {
      content: none !important;
      display: none !important;
      background: none !important;
      opacity: 0 !important;
    }

    body.login-page .content-wrapper,
    body.login-page .wrapper,
    body.login-page .login-box,
    body.login-page .feat-auth-shell {
      background-color: transparent !important;
    }

html,
body.login-page.feat-auth-has-bg {
  background: #081120 url("/assets/img/auth/login.png") center center / cover no-repeat fixed !important;
  background-size: cover !important;
}

body.login-page.feat-auth-has-bg {
  background-color: transparent !important;
}

body.login-page.feat-auth-has-bg::before,
body.hold-transition.login-page.feat-auth-has-bg::before,
body.login-page.feat-auth-page.feat-auth-has-bg::before {
  content: none !important;
  display: none !important;
  background: none !important;
  opacity: 0 !important;
}

body.login-page .content-wrapper,
body.login-page .wrapper,
body.login-page .login-box,
body.login-page .feat-auth-shell {
  background-color: transparent !important;
}
