*{box-sizing:border-box}
html,body{min-height:100%;margin:0}
body{font-family:var(--auth-font);background:var(--auth-background);color:var(--auth-white)}
a{color:inherit}
.pg-auth{position:relative;min-height:100vh;min-height:100svh;overflow:hidden;display:flex;justify-content:center;padding:max(26px,env(safe-area-inset-top)) 20px max(22px,env(safe-area-inset-bottom))}
.pg-auth-bg{position:fixed;inset:-18px;z-index:0;background-image:var(--auth-bg-image);background-position:var(--auth-bg-position);background-size:cover;background-repeat:no-repeat;filter:blur(var(--auth-blur)) saturate(.9);transform:scale(var(--auth-bg-scale))}
.pg-auth-bg:after{content:"";position:absolute;inset:0;background:rgba(3,25,30,var(--auth-overlay))}
.pg-auth-glow{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(circle at 50% 24%,rgba(255,255,255,.18),transparent 29%),linear-gradient(180deg,rgba(21,79,114,.10),rgba(0,19,27,.15))}
.pg-auth-shell{position:relative;z-index:2;width:min(100%,var(--auth-content-width));min-height:calc(100vh - 52px);min-height:calc(100svh - 52px);display:flex;flex-direction:column;align-items:center}
.pg-auth-logo{width:min(var(--auth-logo-width),72vw);height:145px;display:flex;align-items:center;justify-content:center;margin:4px auto 8px}
.pg-auth-logo img{display:block;max-width:100%;max-height:140px;object-fit:contain;filter:drop-shadow(0 8px 16px rgba(0,24,45,.34))}
.pg-auth-logo-fallback{font-size:30px;font-weight:900;letter-spacing:.02em;text-shadow:0 3px 12px rgba(0,0,0,.35)}
.pg-auth-intro{text-align:center;width:100%;text-shadow:0 2px 12px rgba(0,25,43,.32)}
.pg-auth-intro h1{font-size:clamp(28px,7vw,var(--auth-title-size));line-height:1.05;margin:12px 0 18px;font-weight:800;letter-spacing:-.035em}
.pg-auth-intro p{width:min(100%,510px);margin:0 auto;font-size:clamp(14px,3.4vw,var(--auth-subtitle-size));line-height:1.42;font-weight:450;color:var(--auth-muted)}
.pg-auth-form-wrap{width:100%;margin-top:clamp(42px,8vh,84px)}
.pg-alert{padding:12px 15px;border-radius:16px;margin:0 0 14px;border:1px solid rgba(255,255,255,.26);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);font-size:14px;line-height:1.45;box-shadow:0 12px 32px rgba(0,25,40,.15)}
.pg-alert-error{background:rgba(121,20,38,.72)}
.pg-alert-warning{background:rgba(105,77,12,.68)}
.pg-alert-success{background:rgba(12,101,72,.70)}
.pg-field{display:block;margin:0 0 20px}
.pg-field-label{display:block;font-size:clamp(17px,3vw,22px);font-weight:750;margin:0 0 9px;text-shadow:0 2px 8px rgba(0,28,40,.38)}
.pg-input-wrap{position:relative;display:block}
.pg-input-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%);width:27px;height:27px;opacity:.57;color:#526d7e;pointer-events:none}
.pg-input-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.pg-input{width:100%;height:72px;border:1px solid rgba(255,255,255,.9);border-radius:var(--auth-field-radius);padding:0 62px 0 66px;background:var(--auth-field);color:var(--auth-field-text);font-size:18px;font-weight:600;outline:none;box-shadow:inset 0 0 22px rgba(168,206,225,.26),0 8px 22px rgba(0,35,54,.15);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:.2s ease}
.pg-input::placeholder{color:#7c93a3;font-weight:550;opacity:.8}
.pg-input:focus{border-color:#9ef8dc;box-shadow:0 0 0 4px rgba(53,224,190,.20),inset 0 0 22px rgba(168,206,225,.20),0 10px 28px rgba(0,35,54,.17)}
.pg-password-toggle{position:absolute;right:15px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#5d7889;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:19px;display:grid;place-items:center}
.pg-auth-btn,.pg-auth-secondary{width:min(100%,410px);min-height:72px;border-radius:var(--auth-button-radius);margin-left:auto;margin-right:auto;display:flex;align-items:center;justify-content:center;text-align:center;font:inherit;font-size:clamp(18px,3.2vw,24px);font-weight:800;text-decoration:none;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
.pg-auth-btn{border:0;color:white;background:linear-gradient(115deg,var(--auth-green-1),var(--auth-green-2));box-shadow:0 12px 30px rgba(13,210,176,.24),inset 0 1px rgba(255,255,255,.4);text-shadow:0 1px 2px rgba(0,82,68,.16)}
.pg-auth-btn:hover{filter:brightness(1.04);transform:translateY(-1px)}
.pg-auth-secondary{min-height:60px;border:2px solid var(--auth-teal);color:var(--auth-teal);background:rgba(9,57,58,.30);box-shadow:inset 0 0 20px rgba(0,0,0,.08),0 10px 25px rgba(0,34,42,.12);backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);margin-top:13px}
.pg-auth-help{text-align:center;margin:14px auto 0;width:min(100%,500px);font-size:12px;line-height:1.5;color:rgba(255,255,255,.76)}
.pg-auth-footer{margin-top:auto;padding-top:26px;text-align:center;color:rgba(255,255,255,.62);font-size:11px;line-height:1.4;text-shadow:0 1px 4px rgba(0,0,0,.3)}
@media (max-width:600px){.pg-auth{padding-left:18px;padding-right:18px}.pg-auth-shell{min-height:calc(100svh - 45px)}.pg-auth-logo{height:112px;width:min(215px,59vw);margin-top:0}.pg-auth-logo img{max-height:108px}.pg-auth-intro h1{margin-top:8px;margin-bottom:14px}.pg-auth-form-wrap{margin-top:38px}.pg-input{height:64px;border-radius:19px;font-size:16px;padding-left:60px}.pg-input-icon{left:20px;width:25px;height:25px}.pg-field{margin-bottom:18px}.pg-auth-btn{min-height:64px;width:min(88%,390px)}.pg-auth-secondary{min-height:58px;width:min(88%,390px)}}
@media (max-height:760px) and (min-width:500px){.pg-auth-logo{height:92px}.pg-auth-logo img{max-height:90px}.pg-auth-intro h1{font-size:38px;margin:4px 0 10px}.pg-auth-intro p{font-size:17px}.pg-auth-form-wrap{margin-top:28px}.pg-field{margin-bottom:13px}.pg-input{height:56px}.pg-auth-btn{min-height:56px}.pg-auth-secondary{min-height:52px}.pg-auth-footer{padding-top:14px}}
