.auth-entry-button { display:inline-flex; align-items:center; gap:7px; border:0; border-radius:10px; padding:10px 12px; background:transparent; color:#667369; font:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:160ms ease; }
.auth-entry-button:hover,.auth-entry-button.is-signed-in { background:rgba(255,255,255,.72); color:#14271b; }
.auth-entry-button svg,.auth-logo svg { fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.7; }
.auth-entry-button svg { width:17px; height:17px; }
.auth-modal-open { overflow:hidden; }
.auth-overlay { position:fixed; z-index:1000; inset:0; display:grid; place-items:center; padding:20px; background:rgba(11,23,16,.48); backdrop-filter:blur(7px); }
.auth-overlay[hidden] { display:none; }
.auth-dialog { position:relative; width:min(100%,430px); max-height:calc(100vh - 40px); overflow:auto; border:1px solid rgba(20,39,27,.12); border-radius:22px; background:#fbfdf9; box-shadow:0 26px 80px rgba(6,24,13,.3); }
.auth-dialog-content { padding:37px 36px 32px; }
.auth-close { position:absolute; top:14px; right:15px; width:33px; height:33px; border:0; border-radius:50%; background:transparent; color:#667369; font-size:26px; line-height:1; cursor:pointer; }
.auth-close:hover { background:#edf2eb; color:#14271b; }
.auth-logo { display:grid; width:45px; height:45px; place-items:center; border-radius:14px; background:#17643a; color:white; }
.auth-logo svg { width:24px; height:24px; }
.auth-eyebrow { margin:22px 0 7px; color:#17643a; font-size:11px; font-weight:850; letter-spacing:.13em; }
.auth-dialog h2 { margin:0; color:#14271b; font-size:27px; letter-spacing:-.04em; }
.auth-copy { margin:11px 0 21px; color:#667369; font-size:14px; line-height:1.65; }
.auth-copy strong { color:#14271b; word-break:break-all; }
.auth-tabs { display:grid; grid-template-columns:1fr 1fr; gap:4px; margin:0 0 18px; padding:4px; border-radius:12px; background:#edf2eb; }
.auth-tabs button { border:0; border-radius:9px; padding:9px; background:transparent; color:#667369; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.auth-tabs button.is-active { background:white; color:#14271b; box-shadow:0 2px 8px rgba(20,39,27,.09); }
.auth-form { display:grid; gap:13px; }
.auth-form label { display:grid; gap:7px; color:#324437; font-size:12px; font-weight:800; }
.auth-form input { width:100%; border:1px solid rgba(20,39,27,.17); border-radius:10px; outline:0; padding:12px; background:white; color:#14271b; font:inherit; font-size:14px; transition:border-color 160ms ease, box-shadow 160ms ease; }
.auth-form input:focus { border-color:#17643a; box-shadow:0 0 0 3px rgba(23,100,58,.12); }
#authOtp { text-align:center; letter-spacing:.34em; font-size:20px; font-weight:800; }
.auth-submit { width:100%; margin-top:5px; border:0; border-radius:11px; padding:13px; background:#14271b; color:white; font:inherit; font-size:14px; font-weight:850; cursor:pointer; transition:160ms ease; }
.auth-submit:hover { background:#17643a; transform:translateY(-1px); }
.auth-submit:disabled { cursor:wait; opacity:.68; transform:none; }
.auth-secondary { background:#17643a; }
.auth-text-button { display:block; width:max-content; max-width:100%; margin:13px auto 0; border:0; padding:4px; background:transparent; color:#17643a; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.auth-alert { margin:0 0 14px; border-radius:10px; padding:10px 12px; background:#e7f3e9; color:#185d31; font-size:13px; line-height:1.5; }
.auth-alert.is-error { background:#fff0ef; color:#9d3130; }
.auth-privacy,.auth-config-note { margin:17px 0 0; color:#7b887f; font-size:12px; line-height:1.6; }
.auth-config-note { border-radius:10px; padding:11px; background:#f0f4ed; color:#58685d; }
.auth-config-note code { color:#17643a; font-weight:800; }
@media (max-width:720px) { .auth-entry-button span { display:none; } .auth-entry-button { padding:10px; } .auth-dialog-content { padding:32px 23px 25px; } }
