body.auth{min-height:100vh;padding-bottom:0}
body.auth::before{opacity:.4}
.au{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);min-height:100vh}
.au__brand{background:var(--ink);color:var(--ply);position:relative;overflow:hidden;padding:34px clamp(26px,3.4vw,54px);display:flex;flex-direction:column}
.au__brand::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.4;background-image:linear-gradient(rgba(252,251,246,.055) 1px,transparent 1px);background-size:100% 34px}
.au__brand>*{position:relative;z-index:1}
.au__brand .mark b{color:var(--ply)}
.au__brand .mark span{color:var(--yellow)}
.au__mid{margin:auto 0;padding:38px 0;max-width:30rem}
.au__mid h1{font-size:clamp(1.9rem,3vw,2.7rem);line-height:1.06;margin:18px 0 16px}
.au__mid h1 em{font-style:normal;color:var(--yellow)}
.au__mid p{color:rgba(252,251,246,.72);font-size:1rem;line-height:1.7}
.au__nota{background:var(--ply);color:var(--ink);width:min(292px,100%);margin-top:30px;padding:18px 18px 10px;position:relative;filter:drop-shadow(0 16px 30px rgba(0,0,0,.35))}
.au__nota::before,.au__nota::after{content:"";position:absolute;left:0;right:0;height:9px;background:var(--ply)}
.au__nota::before{top:-9px;-webkit-mask:radial-gradient(circle at 6px 9px,transparent 6px,#000 6.5px) 0 0/12px 9px repeat-x;mask:radial-gradient(circle at 6px 9px,transparent 6px,#000 6.5px) 0 0/12px 9px repeat-x}
.au__nota::after{bottom:-9px;-webkit-mask:radial-gradient(circle at 6px 0,transparent 6px,#000 6.5px) 0 0/12px 9px repeat-x;mask:radial-gradient(circle at 6px 0,transparent 6px,#000 6.5px) 0 0/12px 9px repeat-x}
.au__nota h2{font-family:var(--f-display);font-size:.98rem;text-align:center;letter-spacing:-.02em}
.au__nota .k{text-align:center;font-family:var(--f-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.au__nota .rule{border-top:1.5px dashed var(--line);margin:12px 0}
.au__nota ul{list-style:none;display:grid;gap:9px;font-family:var(--f-mono);font-size:.73rem}
.au__nota li{display:flex;justify-content:space-between;gap:10px;color:var(--ink-2)}
.au__nota li b{color:var(--green);flex:none}
.au__nota .ft{text-align:center;font-family:var(--f-mono);font-size:.58rem;letter-spacing:.12em;color:var(--muted);padding:11px 0 4px}
.au__legal{font-size:.78rem;color:rgba(252,251,246,.55);display:flex;flex-wrap:wrap;gap:5px 14px}
.au__legal a{color:rgba(252,251,246,.8);border-bottom:1.5px solid transparent}
.au__legal a:hover{color:var(--yellow);border-bottom-color:var(--yellow)}
.au__pane{display:flex;flex-direction:column;padding:26px clamp(20px,3vw,48px) 40px}
.au__top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:auto}
.au__back{font-size:.86rem;font-weight:600;color:var(--ink-2);display:inline-flex;align-items:center;gap:7px}
.au__back svg{width:15px;height:15px;transform:rotate(180deg)}
.au__back:hover{color:var(--green)}
.au__help{font-size:.83rem;color:var(--muted)}
.au__help a{color:var(--green);font-weight:600;border-bottom:1.5px solid var(--green-pale)}
.au__help a:hover{border-color:var(--green)}
.au__card{width:min(392px,100%);margin:26px auto;background:var(--ply);border:1.5px solid var(--ink);border-radius:var(--radius-lg);box-shadow:8px 8px 0 var(--yellow);padding:clamp(17px,2.3vw,24px)}
.au__card--wide{width:min(560px,100%)}
.au__card--pink{box-shadow:8px 8px 0 var(--pink)}
.au__card--green{box-shadow:8px 8px 0 var(--green-pale)}
.au__foot{margin-top:auto;text-align:center;font-size:.78rem;color:var(--muted)}
.au__tabs{display:flex;gap:4px;background:var(--paper);border:1.5px solid var(--line);border-radius:100px;padding:4px;margin-bottom:20px}
.au__tabs a{flex:1;padding:8px 6px;border-radius:100px;font-size:.78rem;font-weight:600;color:var(--ink-2);transition:.2s;text-align:center}
.au__tabs a[aria-selected=true]{background:var(--ink);color:var(--ply)}
.au__tabs a:hover:not([aria-selected=true]){color:var(--ink)}
.au__head{margin-bottom:16px}
.au__head h2{font-size:1.24rem;margin-bottom:5px}
.au__head p{font-size:.82rem;color:var(--muted);line-height:1.52}
.au form{display:grid;gap:10px}
.fld label{display:block;font-size:.77rem;font-weight:600;margin-bottom:5px}
.fld label em{font-style:normal;color:var(--red)}
.fld label small{font-weight:600;color:var(--muted)}
.fld .wrap-in{position:relative;display:block}
.fld input{width:100%;font:inherit;font-size:.86rem;padding:9px 12px;border:1.5px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);transition:border-color .18s,background .18s}
.fld input:focus{outline:none;border-color:var(--green);background:var(--ply)}
.fld input::placeholder{color:var(--muted)}
.fld .has-btn input{padding-right:42px}
.fld input:disabled{color:var(--muted);background:var(--paper-2)}
.eye{position:absolute;right:5px;top:50%;transform:translateY(-50%);width:31px;height:31px;border-radius:8px;display:grid;place-items:center;color:var(--muted)}
.eye:hover{background:var(--paper-2);color:var(--ink)}
.eye svg{width:17px;height:17px}
.eye .off{display:none}
.eye[aria-pressed=true] .on{display:none}
.eye[aria-pressed=true] .off{display:block}
.fld .hint{font-size:.78rem;color:var(--muted);margin-top:6px;line-height:1.5}
.fld .err{font-size:.78rem;color:var(--red);margin-top:6px;font-weight:600;display:none}
.fld.is-bad input{border-color:var(--red);background:#fdf1ee}
.fld.is-bad .err{display:block}
.fld.is-ok input{border-color:var(--green)}
.rowline{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:-2px}
.check{display:flex;gap:9px;align-items:flex-start;font-size:.86rem;color:var(--ink-2);line-height:1.55;cursor:pointer}
.check input{width:18px;height:18px;flex:none;margin-top:1px;accent-color:var(--green)}
.check a{color:var(--green);font-weight:600;border-bottom:1.5px solid var(--green-pale)}
.linkish{font-size:.85rem;font-weight:600;color:var(--green)}
.linkish:hover{text-decoration:underline}
.pw{margin-top:9px}
.pw__bar{display:flex;gap:4px}
.pw__bar i{flex:1;height:5px;border-radius:3px;background:var(--paper-2);transition:background .25s}
.pw__l{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-top:7px;display:block}
.pw[data-s="1"] .pw__bar i:nth-child(-n+1){background:var(--red)}
.pw[data-s="2"] .pw__bar i:nth-child(-n+2){background:#e0a33a}
.pw[data-s="3"] .pw__bar i:nth-child(-n+3){background:var(--yellow)}
.pw[data-s="4"] .pw__bar i{background:var(--green)}
.formerr{background:#fdf1ee;border:1.5px solid var(--red);color:#8c2e1d;border-radius:12px;padding:11px 14px;font-size:.85rem;font-weight:600;display:none}
.formerr.show{display:block}
.formerr a{color:var(--green);text-decoration:underline}
.formok{background:var(--green-pale);border:1.5px solid var(--green);color:#12442f;border-radius:12px;padding:11px 14px;font-size:.85rem;font-weight:600;display:none}
.formok.show{display:block}
.formnote{background:var(--yellow-pale);border:1.5px solid #e3c868;color:#6f5206;border-radius:12px;padding:11px 14px;font-size:.85rem;font-weight:600}
.formnote a{color:var(--green);text-decoration:underline}
.caps{font-size:.76rem;color:#8a6708;background:var(--yellow-pale);border:1.5px solid #e3c868;border-radius:8px;padding:5px 10px;margin-top:7px;display:none}
.caps.show{display:block}
.sep{display:flex;align-items:center;gap:12px;margin:4px 0;color:var(--muted);font-family:var(--f-mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase}
.sep::before,.sep::after{content:"";flex:1;height:2px;background-image:radial-gradient(circle,var(--line) 1.5px,transparent 1.6px);background-size:10px 2px}
.swapline{text-align:center;font-size:.88rem;color:var(--muted);margin-top:18px}
.swapline a{font-weight:700;color:var(--green)}
.swapline a:hover{text-decoration:underline}
.trust{list-style:none;display:grid;gap:8px;margin-top:20px;padding-top:16px;border-top:1.5px dashed var(--line)}
.trust li{display:flex;gap:9px;font-size:.81rem;color:var(--muted);line-height:1.5}
.trust svg{width:15px;height:15px;color:var(--green);flex:none;margin-top:2px}
.auth-google-form{display:none}
.auth-google-box{display:grid;gap:10px;min-width:0}
.auth-google-button{min-height:44px;display:flex;justify-content:center;width:100%;max-width:100%;min-width:0;overflow:hidden}
.auth-google-button>div{width:100%!important;max-width:100%!important;min-width:0!important}
.auth-google-button iframe{width:100%!important;max-width:100%!important;min-width:0!important}
.auth-google-fallback{width:100%;border:1.5px solid var(--line);border-radius:12px;background:var(--ply);padding:11px 14px;font-weight:700;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:9px}
.auth-google-fallback svg{width:18px;height:18px}
.au .btn{padding:10px 17px;font-size:.86rem}
@media(max-width:940px){
  .au{grid-template-columns:1fr;min-height:0}
  .au__brand{padding:22px 22px 34px}
  .au__brand::before{content:"";position:absolute;left:0;right:0;bottom:0;height:9px;background:var(--paper);z-index:2;-webkit-mask:radial-gradient(circle at 7px 9px,transparent 6.5px,#000 7px) 0 0/14px 9px repeat-x;mask:radial-gradient(circle at 7px 9px,transparent 6.5px,#000 7px) 0 0/14px 9px repeat-x}
  .au__mid{margin:22px 0 0;padding:0}
  .au__mid h1{font-size:1.72rem}
  .au__mid p{font-size:.93rem}
  .au__nota,.au__legal{display:none}
  .au__pane{padding:18px 16px 32px;min-width:0;overflow-x:hidden}
  .au__card{width:min(392px,calc(100vw - 38px));max-width:100%;margin:22px auto 26px}
}
@media(max-width:480px){
  .au__top{gap:8px}
  .au__back,.au__help{font-size:.82rem}
  .au__help .lbl{display:none}
  .au__pane{padding:14px 12px 28px}
  .au__card{width:calc(100vw - 32px);padding:16px 15px;box-shadow:5px 5px 0 var(--yellow);border-radius:18px}
  .au__card--pink{box-shadow:5px 5px 0 var(--pink)}
  .au__card--green{box-shadow:5px 5px 0 var(--green-pale)}
  .au__tabs{gap:3px;padding:3px;margin-bottom:17px}
  .au__tabs a{font-size:.74rem;padding:7px 4px}
  .au__top{align-items:flex-start}
  .au__help{margin-left:auto}
}
@media(max-width:360px){
  .au__pane{padding-inline:10px}
  .au__card{width:calc(100vw - 28px);padding:15px 13px}
  .au__tabs a{font-size:.7rem}
  .check{font-size:.8rem}
}
@media(prefers-reduced-motion:no-preference){.au__card{animation:auIn .34s var(--ease) both}}
@keyframes auIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
