
:root{--deep:#123b30;--green:#17684d;--soft:#f6faf7;--line:#dce8e2;--ink:#15372c;--muted:#637a6f}
*{box-sizing:border-box}.auth-body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(ellipse at 51% 42%,#e5f3eb,transparent 49%),#f7faf8}
.auth-shell{min-height:100vh;padding:36px 18px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:24px}
.auth-brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--deep)}.auth-brand-mark{width:42px;height:42px;border-radius:12px;background:var(--green);display:grid;place-items:center;color:white}.auth-brand-type strong{font-weight:830;font-size:25px;letter-spacing:-1.5px;display:block;line-height:23px}.auth-brand-type small{font-size:9px;letter-spacing:4px;color:var(--muted);display:block;margin-left:2px;margin-top:6px}.auth-brand-type strong span{color:#c2a05c}
.auth-card{width:min(100%,440px);padding:36px 36px 30px;border:1px solid var(--line);border-radius:22px;box-shadow:0 16px 55px rgba(17,75,48,.07);background:#fff}
.auth-card h1{text-align:center;font-weight:800;letter-spacing:-.9px;font-size:27px;line-height:1.2;margin:0 0 8px;color:var(--deep)}.auth-intro{text-align:center;color:var(--muted);line-height:1.6;font-size:14px;margin:0 0 24px}
.auth-google,.auth-primary{width:100%;min-height:48px;display:flex;align-items:center;justify-content:center;gap:12px;border-radius:10px;text-decoration:none;font-size:14px;font-family:inherit;font-weight:750;cursor:pointer;transition:background .2s,transform .2s}
.auth-google{background:#fff;border:1px solid #cddbd3;color:var(--deep)}.auth-google:hover{background:#f6faf7}.auth-primary{border:0;color:#fff;background:var(--green)}.auth-primary:hover{background:#11563f}.auth-primary:disabled{opacity:.65;cursor:wait}
.auth-divider{display:flex;align-items:center;gap:14px;color:#819389;text-transform:uppercase;font-size:11px;letter-spacing:.12em;margin:23px 0}.auth-divider:before,.auth-divider:after{content:'';flex:1;height:1px;background:var(--line)}
.auth-form label{display:block;font-size:13px;font-weight:700;margin:0 0 7px}.auth-field{position:relative;margin-bottom:17px}.auth-field input{font:inherit;width:100%;height:46px;padding:0 13px;background:#fff;border:1px solid #cbdcd2;border-radius:9px;outline:0;color:var(--ink);font-size:14px}.auth-field input:focus{border-color:var(--green);box-shadow:0 0 0 3px #1a785018}.auth-field input[type=password]{padding-right:65px}.auth-reveal{position:absolute;right:6px;top:5px;border:0;background:transparent;color:var(--green);font-weight:650;font-size:12px;padding:11px 6px;cursor:pointer}
.auth-links{display:flex;align-items:center;justify-content:center;margin-top:18px;gap:6px;flex-wrap:wrap;color:var(--muted);font-size:13px}.auth-links a,.auth-secondary{font-weight:750;color:var(--green);text-decoration:none}.auth-secondary{display:block;text-align:center;margin-top:18px;font-size:13px}.auth-links a:hover,.auth-secondary:hover{text-decoration:underline}
.auth-message{font-size:13px;line-height:1.5;margin:14px 0 0;border-radius:9px;padding:12px 13px;border:1px solid transparent}.auth-message[hidden]{display:none}.auth-message.error{background:#fff4f3;color:#9b2c27;border-color:#f0d5d2}.auth-message.success{background:#eef8f2;color:#176049;border-color:#d6eadb}
.auth-back{font-size:13px;color:var(--muted);text-decoration:none;font-weight:650}.auth-back:hover{color:var(--green)}.auth-footer{max-width:440px;text-align:center;font-size:12px;color:var(--muted);line-height:1.6}
@media(max-width:500px){.auth-card{padding:29px 22px 25px;border-radius:17px}.auth-card h1{font-size:24px}.auth-shell{padding:26px 14px;gap:20px}}
