    /* LOGIN MODAL */
    .modal-overlay {
      position: fixed;
      inset: 0;
      background: rgba(13, 71, 161, .55);
      backdrop-filter: blur(10px);
      z-index: 2000;
      display: flex;
      align-items: center;
      justify-content: center;
      opacity: 0;
      pointer-events: none;
      transition: opacity .3s
    }

    .modal-overlay.open {
      opacity: 1;
      pointer-events: all
    }

    .modal {
      background: white;
      border-radius: 24px;
      width: min(440px, 92vw);
      overflow: hidden;
      position: relative;
      transform: scale(.93) translateY(16px);
      transition: transform .35s, opacity .35s;
      box-shadow: 0 24px 64px rgba(13, 71, 161, .25)
    }

    .modal-overlay.open .modal {
      transform: scale(1) translateY(0)
    }

    /* Gradient header band */
    .modal-header-band {
      background: linear-gradient(135deg, #0D47A1, #1565C0 55%, #1E88E5);
      padding: 1.8rem 2rem 1.5rem;
      position: relative;
      overflow: hidden;
      text-align: center
    }

    .modal-header-band::before {
      content: '';
      position: absolute;
      right: -30px;
      top: -30px;
      width: 110px;
      height: 110px;
      border-radius: 50%;
      background: rgba(245, 124, 0, .2);
      pointer-events: none
    }

    .modal-header-band::after {
      content: '';
      position: absolute;
      left: -20px;
      bottom: -20px;
      width: 80px;
      height: 80px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .07);
      pointer-events: none
    }

    .modal-brand {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 10px;
      position: relative;
      z-index: 1;
      margin-bottom: .4rem
    }

    .modal-brand img {
      height: 34px;
      border-radius: 6px
    }

    .modal-brand span {
      font-family: var(--font-head);
      font-weight: 800;
      font-size: 1.15rem;
      color: #fff
    }

    .modal-header-band p {
      font-size: .82rem;
      color: rgba(255, 255, 255, .78);
      position: relative;
      z-index: 1
    }

    .modal-body {
      padding: 1.8rem 2rem 2rem
    }

    .modal-close {
      position: absolute;
      top: .9rem;
      right: .9rem;
      width: 30px;
      height: 30px;
      border-radius: 50%;
      background: rgba(255, 255, 255, .18);
      border: none;
      cursor: pointer;
      display: flex;
      align-items: center;
      justify-content: center;
      color: rgba(255, 255, 255, .9);
      transition: all .2s;
      z-index: 10
    }

    .modal-close:hover {
      background: rgba(255, 255, 255, .32);
      color: #fff
    }

    .modal-logo {
      display: none
    }

    .modal-tabs {
      display: flex;
      background: var(--gray-100);
      border-radius: 12px;
      padding: 4px;
      margin-bottom: 1.5rem
    }

    .modal-tab {
      flex: 1;
      text-align: center;
      padding: .6rem;
      border-radius: 9px;
      cursor: pointer;
      font-family: var(--font-head);
      font-weight: 700;
      font-size: .88rem;
      color: var(--gray-500);
      transition: all .3s
    }

    .modal-tab.active {
      background: white;
      color: var(--blue);
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08)
    }

    .modal-form {
      display: flex;
      flex-direction: column;
      gap: 1rem
    }

    .modal-form {
      display: flex;
      flex-direction: column;
      gap: .75rem
    }

    .modal-input {
      padding: .82rem 1rem;
      border: 1.5px solid var(--gray-200);
      border-radius: 11px;
      font-family: var(--font-body);
      font-size: .9rem;
      outline: none;
      transition: all .2s;
      color: var(--gray-900);
      background: #F8FAFF
    }

    .modal-input:focus {
      border-color: var(--blue);
      background: #fff;
      box-shadow: 0 0 0 3px rgba(21, 101, 192, 0.1)
    }

    .modal-input::placeholder {
      color: #a0b0cc
    }

    .modal-btn {
      padding: .9rem;
      background: linear-gradient(135deg, #1565C0, #1E88E5);
      color: white;
      border: none;
      border-radius: 12px;
      font-family: var(--font-head);
      font-weight: 700;
      cursor: pointer;
      transition: all .3s;
      font-size: .95rem;
      box-shadow: 0 4px 14px rgba(21, 101, 192, .25)
    }

    .modal-btn:hover {
      background: linear-gradient(135deg, #E65100, #F57C00);
      box-shadow: 0 6px 20px rgba(245, 124, 0, .4)
    }

    .modal-divider {
      text-align: center;
      color: var(--gray-500);
      font-size: .82rem;
      position: relative
    }

    .modal-divider::before,
    .modal-divider::after {
      content: '';
      position: absolute;
      top: 50%;
      width: 40%;
      height: 1px;
      background: var(--gray-200)
    }

    .modal-divider::before {
      left: 0
    }

    .modal-divider::after {
      right: 0
    }

    .forgot {
      text-align: right;
      font-size: .82rem;
      color: var(--blue);
      cursor: pointer
    }

