.auth-body{min-height:100dvh;background:radial-gradient(circle at 8% 0,rgba(13,101,61,.17),transparent 30%),radial-gradient(circle at 100% 100%,rgba(184,137,45,.10),transparent 27%),#eef3f0}
.auth-page{min-height:100dvh;padding:22px;display:grid;place-items:center}
.auth-shell{width:min(1060px,100%);min-height:650px;border:1px solid #cfddd4;border-radius:30px;background:#fff;box-shadow:0 28px 70px rgba(12,38,22,.17);overflow:hidden;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)}
.auth-presentation{position:relative;padding:34px 38px;background:linear-gradient(145deg,#032719,#064228 58%,#0a5b37);color:#fff;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.auth-presentation::before{content:"";position:absolute;width:390px;height:390px;right:-220px;top:-200px;border:1px solid rgba(255,255,255,.10);border-radius:50%}
.auth-presentation::after{content:"";position:absolute;width:220px;height:220px;left:-130px;bottom:-130px;border:1px solid rgba(255,255,255,.08);border-radius:50%}
.auth-presentation__top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:14px}
.auth-logo{min-width:0;display:flex;align-items:center;gap:10px}
.auth-logo>span,.auth-mobile-brand>span{width:48px;height:48px;flex:0 0 48px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.12);display:grid;place-items:center;font-size:.82rem;font-weight:950;box-shadow:0 10px 24px rgba(0,0,0,.14)}
.auth-logo strong,.auth-logo small{display:block}
.auth-logo strong{font-size:1rem}
.auth-logo small{font-size:.57rem;color:#cce0d3}
.auth-secure-badge{min-height:34px;padding:0 10px;border:1px solid rgba(255,255,255,.15);border-radius:999px;background:rgba(255,255,255,.08);display:inline-flex;align-items:center;gap:6px;font-size:.52rem;font-weight:850;white-space:nowrap}
.auth-secure-badge .ui-icon{width:15px;height:15px}
.auth-pitch{position:relative;z-index:1;height:250px;margin:24px 0;border:2px solid rgba(255,255,255,.22);border-radius:28px;background:linear-gradient(90deg,rgba(255,255,255,.035) 50%,rgba(0,0,0,.035) 50%);overflow:hidden}
.auth-pitch::before{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:2px solid rgba(255,255,255,.20)}
.auth-pitch__line{position:absolute;inset:20% 0;border-top:2px solid rgba(255,255,255,.15);border-bottom:2px solid rgba(255,255,255,.15)}
.auth-pitch__circle{position:absolute;left:50%;top:50%;width:92px;height:92px;border:2px solid rgba(255,255,255,.20);border-radius:50%;transform:translate(-50%,-50%)}
.auth-pitch__ball{position:absolute;left:50%;top:50%;font-size:2.8rem;transform:translate(-50%,-50%);filter:drop-shadow(0 9px 14px rgba(0,0,0,.22))}
.auth-pitch__reservation{position:absolute;min-width:150px;padding:9px 10px;border:1px solid rgba(255,255,255,.17);border-radius:14px;background:rgba(255,255,255,.12);box-shadow:0 10px 25px rgba(0,0,0,.13);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.auth-pitch__reservation b,.auth-pitch__reservation small{display:block}
.auth-pitch__reservation b{font-size:.7rem}
.auth-pitch__reservation small{font-size:.49rem;color:#d9e8df}
.auth-pitch__reservation--one{left:18px;top:20px}
.auth-pitch__reservation--two{right:18px;bottom:20px}
.auth-presentation__copy{position:relative;z-index:1}
.auth-kicker{display:block;margin-bottom:7px;color:#9dccb2;font-size:.55rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}
.auth-presentation__copy h1{max-width:600px;margin-bottom:10px;font-size:clamp(1.85rem,3.5vw,2.8rem);line-height:1.03;letter-spacing:-.052em}
.auth-presentation__copy p{max-width:610px;margin:0;color:#d6e6dc;font-size:.72rem}
.auth-benefits{display:flex;flex-wrap:wrap;gap:7px;margin-top:15px}
.auth-benefits span{min-height:31px;padding:0 9px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(255,255,255,.07);display:inline-flex;align-items:center;gap:6px;font-size:.51rem;font-weight:800}
.auth-benefits .ui-icon{width:15px;height:15px}

.auth-form-panel{padding:44px clamp(30px,5vw,54px);display:flex;flex-direction:column;justify-content:center}
.auth-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:25px}
.auth-mobile-brand>span{background:linear-gradient(145deg,#032719,#0a5b37);color:#fff;border:0}
.auth-mobile-brand strong,.auth-mobile-brand small{display:block}
.auth-mobile-brand strong{font-size:1rem}
.auth-mobile-brand small{font-size:.58rem;color:#6b7a70}
.auth-form-heading{margin-bottom:19px}
.auth-form-heading .auth-kicker{color:#0b6740}
.auth-form-heading h2{margin-bottom:5px;font-size:1.65rem;line-height:1.08;letter-spacing:-.04em}
.auth-form-heading p{margin:0;color:#6d7c72;font-size:.66rem}
.auth-error{margin-bottom:13px;padding:10px;border:1px solid #efd2d7;border-radius:15px;background:#fff7f8;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px}
.auth-error>span{width:36px;height:36px;border-radius:12px;background:#fcecef;color:#b43b49;display:grid;place-items:center}
.auth-error strong,.auth-error p{display:block;margin:0}
.auth-error strong{font-size:.62rem;color:#9e3340}
.auth-error p{font-size:.54rem;color:#7f5d62}
.auth-form{display:grid;gap:13px}
.auth-form label{display:grid;gap:6px;color:#354a3d;font-size:.64rem;font-weight:850}
.auth-input{position:relative}
.auth-input>i{position:absolute;left:13px;top:50%;width:20px;height:20px;color:#688077;display:grid;place-items:center;transform:translateY(-50%);pointer-events:none}
.auth-input>i .ui-icon{width:19px;height:19px}
.auth-input input{min-height:52px;padding:11px 86px 11px 43px;border:1px solid #cddbd2;border-radius:15px;background:#fbfcfb;color:#17251d;font-size:.72rem;outline:none;transition:.16s ease}
.auth-input input:not([type=password]){padding-right:13px}
.auth-input input:focus{border-color:#78aa8b;background:#fff;box-shadow:0 0 0 4px rgba(11,103,64,.10)}
.auth-input button{position:absolute;right:6px;top:6px;bottom:6px;min-width:73px;border:0;border-radius:10px;background:#edf3ef;color:#0b6740;font-size:.53rem;font-weight:900;cursor:pointer}
.auth-submit{min-height:54px;margin-top:3px;border:1px solid rgba(3,40,25,.14);border-radius:16px;background:linear-gradient(145deg,#032719,#0a5b37);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font-size:.7rem;font-weight:950;box-shadow:0 11px 24px rgba(3,40,25,.18);cursor:pointer;transition:.16s ease}
.auth-submit:hover{transform:translateY(-1px);box-shadow:0 14px 28px rgba(3,40,25,.22)}
.auth-submit:disabled{opacity:.7;transform:none;cursor:wait}
.auth-submit .ui-icon{width:19px;height:19px}
.auth-access-note{margin-top:16px;padding:10px;border:1px solid #dce7e0;border-radius:15px;background:#f7faf8;display:grid;grid-template-columns:36px minmax(0,1fr);align-items:center;gap:9px}
.auth-access-note>span{width:36px;height:36px;border-radius:12px;background:#e8f2ec;color:#0b6740;display:grid;place-items:center}
.auth-access-note strong,.auth-access-note p{display:block;margin:0}
.auth-access-note strong{font-size:.6rem}
.auth-access-note p{font-size:.51rem;color:#6c7c72}
.auth-footer{margin-top:17px;padding-top:12px;border-top:1px solid #e3eae6;color:#849087;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:.5rem}

@media(max-width:880px){
  .auth-page{padding:0}
  .auth-shell{min-height:100dvh;border:0;border-radius:0;grid-template-columns:1fr}
  .auth-presentation{display:none}
  .auth-form-panel{width:min(520px,100%);margin:auto;padding:36px 24px calc(30px + env(safe-area-inset-bottom,0px))}
  .auth-mobile-brand{display:flex}
}

@media(max-width:430px){
  .auth-form-panel{padding:26px 18px calc(24px + env(safe-area-inset-bottom,0px))}
  .auth-mobile-brand{margin-bottom:22px}
  .auth-form-heading h2{font-size:1.45rem}
  .auth-input input{font-size:16px}
  .auth-footer{flex-direction:column;align-items:flex-start;gap:3px}
}

@media(max-height:700px) and (min-width:881px){
  .auth-shell{min-height:590px}
  .auth-pitch{height:190px;margin:18px 0}
  .auth-form-panel{padding-block:28px}
}

@media(prefers-reduced-motion:reduce){.auth-input input,.auth-submit{transition:none!important}}
