:root{font-family:Inter,system-ui;color:#14213a;background:#0e1b31}*{box-sizing:border-box}body{margin:0}main{min-height:100vh;display:grid;grid-template-columns:1fr 480px;gap:7vw;align-items:center;max-width:1200px;margin:auto;padding:48px}.brand{color:white}.brand p{color:#70e2c1;letter-spacing:.2em;font-weight:800}.brand h1{font-size:54px;line-height:1.05;max-width:650px}.brand span{color:#b7c4d8;font-size:18px}.auth-card{background:white;border-radius:24px;padding:30px;box-shadow:0 30px 80px #0005}.tabs{display:flex;background:#edf1f7;border-radius:12px;padding:4px}.tabs button{flex:1;border:0;padding:10px;border-radius:9px;background:transparent;font-weight:700}.tabs .active{background:white;box-shadow:0 2px 9px #17233d18}.view{display:none;gap:14px;margin-top:24px}.view.active{display:grid}label{display:grid;gap:6px;font-size:13px;font-weight:700}input{padding:12px;border:1px solid #ccd5e2;border-radius:9px;font:inherit}form>button{border:0;border-radius:9px;padding:12px;background:#116e59;color:white;font-weight:800}.link{background:transparent;color:#2860a8}#status{min-height:22px;color:#9c3b3b}@media(max-width:800px){main{grid-template-columns:1fr;padding:24px}.brand h1{font-size:38px}}

/* Auth language selector */
.language{
    position:fixed;
    top:24px;
    right:28px;
    z-index:20;

    height:42px;
    min-width:150px;

    padding:0 38px 0 14px;

    border:1px solid rgba(255,255,255,.16);
    border-radius:11px;

    background:#172a46;
    color:#e8eef7;

    font-size:13px;
    font-weight:600;

    cursor:pointer;
    outline:none;

    box-shadow:
        0 8px 24px rgba(0,0,0,.12);

    transition:
        border-color .15s ease,
        background .15s ease,
        box-shadow .15s ease;
}

.language:hover{
    background:#213654;
    border-color:rgba(94,224,188,.55);
}

.language:focus{
    border-color:#5ee0bc;
    box-shadow:
        0 0 0 3px rgba(94,224,188,.12),
        0 8px 24px rgba(0,0,0,.12);
}

.language option{
    background:#fff;
    color:#17243a;
}

@media(max-width:720px){
    .language{
        top:14px;
        right:14px;
        min-width:135px;
        height:38px;
        font-size:12px;
    }
}

/* CatchGrow brand */
.catchgrow-auth-logo{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 24px;
  color:#fff;
  font-size:24px;
  font-weight:800;
  letter-spacing:-.5px;
}

.catchgrow-auth-mark{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:linear-gradient(145deg,#4c8dff,#5b6dff 55%,#39d98a);
  color:#fff;
  font-size:23px;
  font-weight:900;
  box-shadow:0 8px 25px rgba(76,141,255,.25);
}

/* CatchGrow authentication branding */
.catchgrow-brand{
  display:flex;
  align-items:center;
  gap:13px;
  margin:0 0 28px;
  color:#fff;
  font-size:27px;
  font-weight:800;
  letter-spacing:-.7px;
}

.catchgrow-brand-mark{
  width:48px;
  height:48px;
  display:grid;
  place-items:center;
  flex:0 0 48px;
  border-radius:14px;
  background:linear-gradient(145deg,#4c8dff 0%,#5b6dff 55%,#39d98a 100%);
  color:#fff;
  font-size:25px;
  line-height:1;
  font-weight:900;
  box-shadow:0 10px 28px rgba(76,141,255,.28);
}

/* Google authentication */
.google-auth-btn{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    min-height:44px;
    padding:11px 14px;
    border:1px solid #ccd5e2;
    border-radius:9px;
    background:#fff;
    color:#14213a;
    font-weight:700;
    text-decoration:none;
    transition:border-color .15s ease,box-shadow .15s ease,background .15s ease
}
.google-auth-btn:hover{
    background:#f8fafc;
    border-color:#aeb9c8;
    box-shadow:0 2px 8px #17233d12
}
.google-g{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:20px;
    height:20px;
    font-size:18px;
    font-weight:800;
    color:#4285f4
}
.auth-divider{
    display:flex;
    align-items:center;
    gap:12px;
    color:#7b8798;
    font-size:12px;
    font-weight:600
}
.auth-divider:before,
.auth-divider:after{
    content:"";
    flex:1;
    height:1px;
    background:#e1e6ee
}
