.o7-auth,.o7-auth *{box-sizing:border-box}
.o7-auth{width:400px;max-width:none;max-height:calc(100dvh - 32px);padding:0;border:1px solid #e2ddd2;border-radius:24px;background:#faf9f6;color:#252923;box-shadow:0 32px 100px #11130f40;overflow:auto;scrollbar-width:none;overscroll-behavior:contain;font-family:Manrope,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.o7-auth::backdrop{background:#151814b8;backdrop-filter:blur(7px)}
.o7-auth[open]{animation:o7-auth-in .2s ease-out}
.o7-auth__panel{position:relative;padding:36px}
.o7-auth button,.o7-auth input{font:inherit}
.o7-auth__close{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:40px;height:40px;padding:0;background:#efeee7;border:1px solid #deded4;border-radius:12px;color:#656b5e;cursor:pointer}
.o7-auth__close:hover{background:#e8e4d8;color:#b85417}


.o7-auth__tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;background:#eeede5;border:1px solid #e2e0d5;border-radius:13px;margin-bottom:26px}
.o7-auth__tabs button{border:0;background:transparent;color:#646b5d;border-radius:9px;min-height:44px;padding:8px;font-size:15px;font-weight:700;cursor:pointer}
.o7-auth__tabs button[aria-pressed="true"]{background:#292c25;color:#fffaf3;box-shadow:0 3px 9px #292c2512}
.o7-auth h2{font-size:30px;line-height:1.2;letter-spacing:-1px;margin:0 44px 26px 0;font-weight:750}
.o7-auth__form{display:grid;gap:18px}
.o7-auth [hidden]{display:none!important}
.o7-auth__form>label{display:block;font-size:15px;font-weight:600;line-height:1.5}
.o7-auth__form input:not([type="checkbox"]):not([type="hidden"]){display:block;width:100%;margin-top:7px;min-height:50px;padding:12px 14px;border:1px solid #dcded2;border-radius:11px;background:#fff;color:#252923;font-size:16px;line-height:1.5;outline:none}
.o7-auth__form input:focus{border-color:#c16a2f;box-shadow:0 0 0 3px #f374241c}
.o7-auth__form>.o7-auth__consent{display:flex;align-items:flex-start;gap:11px;font-size:14px;font-weight:400;color:#5f6759;line-height:1.65}
.o7-auth__consent input{flex:0 0 19px;width:19px;height:19px;margin:3px 0 0;accent-color:#c15a18;cursor:pointer}
.o7-auth__consent a{color:#994511;text-decoration:underline;text-underline-offset:3px}
.o7-auth__consent a:hover{color:#b04f12}
.o7-auth .o7-auth__submit{display:flex;align-items:center;justify-content:space-between;gap:18px;width:100%;min-height:52px;padding:13px 18px;border:1px solid #292c25;border-radius:12px;background:#292c25;color:#fffaf3;font-size:16px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.o7-auth__submit:hover{background:#41443b;color:#ff9b56}
.o7-auth__submit:disabled{opacity:.6;cursor:wait}
.o7-auth__status{font-size:14px;line-height:1.6;color:#6a7064;margin:10px 0 0}
.o7-auth__status:empty{display:none}
.o7-auth a:focus-visible,.o7-auth button:focus-visible{outline:3px solid #c16a2f;outline-offset:3px}
html.o7-auth-open{overflow:hidden}
@keyframes o7-auth-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:600px){.o7-auth{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:20px}.o7-auth__panel{padding:28px 22px}.o7-auth h2{font-size:27px}.o7-auth__tabs{margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.o7-auth[open]{animation:none}.o7-auth button{transition:none}}


/* v0.3.76: hide the scrollbar without clipping forms on short screens. */
.o7-auth::-webkit-scrollbar{display:none;width:0;height:0}

/* v0.3.82: login description and password visibility controls, without tooltips. */
.o7-auth__intro{font-size:16px;line-height:1.7;color:#6a7064;margin:0 0 24px}
.o7-auth__password>label{display:block;font-size:15px;font-weight:600;line-height:1.5}
.o7-auth__password-field{position:relative;margin-top:7px;min-width:0}
.o7-auth .o7-auth__form .o7-auth__password-field input{margin-top:0;padding-right:52px}
.o7-auth .o7-auth__password-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:9px;background:transparent;color:#707668;cursor:pointer}
.o7-auth .o7-auth__password-toggle svg{display:block;width:20px;height:20px}
.o7-auth .o7-auth__password-toggle:hover{background:#eeede5;color:#994511}
.o7-auth .o7-auth__password-toggle[aria-pressed="true"]{color:#994511}

/* 18px grid gap + 7px button margin = 25px before the submit action. */
.o7-auth__form>.o7-auth__submit{margin-top:7px}
