  body.theme-light{
    background:#f3f3f3 !important;
    color:#0b3232 !important;
  }

  .main-public{
    max-width:none !important;
    margin:0 !important;
    padding:0 !important;
    min-height:calc(100vh - 96px) !important;
    background:#f3f3f3 !important;
  }

  .login-shell{
    min-height:calc(100vh - 96px);
    display:grid;
    grid-template-columns:1.02fr .98fr;
    background:#f3f3f3;
  }

  .login-left{
    background:#f3f3f3;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    padding:70px 40px 70px 110px;
  }

  .login-copy{
    width:100%;
    max-width:720px;
  }

  .login-copy__eyebrow{
    margin:0 0 18px;
    color:#8c8c8c;
    font-size:18px;
    font-weight:500;
    letter-spacing:.2px;
  }

  .login-copy h1{
    margin:0 0 28px;
    color:#082e2d;
    font-size:74px;
    line-height:.98;
    font-weight:300;
    letter-spacing:-2px;
  }

  .login-copy h1 span{
    display:block;
    margin-top:16px;
    color:#43c463;
  }

  .login-copy p{
    margin:0 0 36px;
    max-width:660px;
    color:#8f8f8f;
    font-size:21px;
    line-height:1.7;
    font-weight:400;
  }

  .login-demo{
    display:grid;
    gap:8px;
    margin-top:24px;
    color:#7d7d7d;
    font-size:15px;
    line-height:1.5;
  }

  .login-demo strong{
    color:#0b3232;
  }

  .login-right{
    background:#ececec;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:50px 40px;
  }

  .login-card{
    width:100%;
    max-width:520px;
    background:#ffffff;
    border:1px solid #e8e8e8;
    box-shadow:0 20px 60px rgba(0,0,0,.08);
    padding:38px 34px 32px;
  }

  .login-card h2{
    margin:0 0 24px;
    color:#082e2d;
    font-size:34px;
    line-height:1.1;
    font-weight:700;
  }

  .login-error{
    margin:0 0 18px;
    padding:14px 16px;
    border:1px solid #f1b7b7;
    background:#fff3f3;
    color:#b42318;
    font-size:14px;
    line-height:1.45;
  }

  .login-form{
    display:grid;
    gap:18px;
  }

  .login-field{
    display:grid;
    gap:8px;
  }

  .login-label{
    color:#4a5d5d;
    font-size:14px;
    font-weight:700;
  }

  .login-input{
    width:100%;
    height:58px;
    padding:0 16px;
    border:1px solid #d9dfdf;
    background:#fff;
    color:#0b3232;
    font-size:15px;
    outline:none;
    border-radius:0;
    box-shadow:none;
  }

  .login-input:focus{
    border-color:#43c463;
    box-shadow:0 0 0 3px rgba(67,196,99,.12);
  }

  .login-submit{
    margin-top:6px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:190px;
    min-height:66px;
    padding:18px 34px;
    border:none;
    background:#062f2e;
    color:#fff;
    font-size:17px;
    font-weight:600;
    letter-spacing:.4px;
    text-transform:uppercase;
    cursor:pointer;
  }

  .login-submit:hover{
    filter:brightness(.95);
  }

  .login-card__footer{
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid #ececec;
    color:#8a8a8a;
    font-size:14px;
    line-height:1.6;
  }

  .login-card__footer strong{
    display:block;
    margin-bottom:8px;
    color:#0b3232;
    font-size:15px;
  }

  @media (max-width: 1180px){
    .login-left{
      padding:60px 28px 60px 60px;
    }

    .login-copy h1{
      font-size:60px;
    }

    .login-copy p{
      font-size:18px;
    }
  }

  @media (max-width: 980px){
    .login-shell{
      grid-template-columns:1fr;
    }

    .login-left{
      padding:48px 22px 22px;
    }

    .login-copy h1{
      font-size:48px;
      line-height:1.02;
    }

    .login-copy p{
      font-size:17px;
      line-height:1.6;
    }

    .login-right{
      padding:20px 22px 40px;
    }

    .login-card{
      max-width:100%;
      padding:30px 22px 24px;
    }

    .login-card h2{
      font-size:28px;
    }
  }

  @media (max-width: 640px){
    .login-copy h1{
      font-size:40px;
    }

    .login-copy p{
      font-size:16px;
    }

    .login-submit{
      width:100%;
      min-width:0;
      min-height:60px;
      font-size:16px;
    }
  }
