/* Current reference/login.html geometry and auth tokens; all styles remain external. */
.auth-screen{min-height:100vh;min-height:100svh;display:flex;flex-direction:column;color:var(--ink);line-height:1.5;isolation:isolate;--paper:var(--card);--accent-ink:var(--button-ink);--input-bg:var(--field);--input-line:var(--line);--input-ink:var(--ink);--bad:var(--error);--bad-bg:var(--error-bg)}
.auth-screen button,.auth-screen input{font:inherit;-webkit-tap-highlight-color:transparent}
.auth-screen button{touch-action:manipulation}
.auth-screen :focus-visible{outline:3px solid var(--accent);outline-offset:4px}
.auth-header{width:100%;max-width:1600px;margin:0 auto;display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:24px 48px;flex:none}
.auth-theme.btn{width:42px;height:42px;min-height:42px;padding:0;border-radius:999px;background:var(--card);font-size:.88rem;white-space:nowrap}
.auth-main{width:100%;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 24px 28px}
.auth-card{width:100%;max-width:var(--layout-auth-card-max);padding:30px 34px 0;border:1px solid var(--line);border-radius:var(--radius-auth-card);background:var(--card);box-shadow:var(--shadow);backdrop-filter:blur(14px)}
.auth-logo{display:block;width:210px;max-width:100%;height:70px;object-fit:contain;margin:0 auto 22px}
.auth-welcome{text-align:center;margin-bottom:26px}
.auth-welcome h1{font-size:var(--type-auth-heading);line-height:1.3;letter-spacing:-.025em;margin:0 0 8px;font-weight:700}
.auth-welcome p{margin:0;color:var(--muted);font-size:.97rem}
.auth-fields{margin:0;padding:0;border:0;min-width:0}
.auth-fields .ui-field{display:block;margin-bottom:16px}
.auth-fields .ui-field>label{display:block;font-size:.9rem;font-weight:600;margin-bottom:7px}
.auth-fields .ui-input-shell{min-height:var(--layout-auth-input-height-min);border-radius:10px}
.auth-fields .ui-input{padding:12px 13px;min-height:0;font-size:16px;line-height:24px;border-radius:10px}
.auth-fields .ui-input:focus{outline:none}
.auth-fields .ui-input::placeholder{color:var(--muted);opacity:.8}
.auth-fields .ui-field small{margin-top:6px;font-size:.78rem;line-height:1.6}
.auth-field-icon{width:21px;height:21px;margin-left:15px;flex:none;color:var(--muted);stroke-width:1.7}
.auth-password-toggle.btn{display:grid;place-items:center;flex:none;width:44px;height:44px;min-height:44px;margin-right:3px;padding:0;border:0;border-radius:8px;background:transparent;color:var(--muted)}
.auth-password-toggle.btn:hover{color:var(--ink);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.auth-password-toggle.btn svg{width:21px;height:21px;stroke-width:1.7}
.auth-submit.btn{gap:12px;width:100%;min-height:50px;padding:11px 18px;border:0;border-radius:10px;background:var(--button);color:var(--button-ink);font-size:1rem;font-weight:700}
.auth-submit.btn:hover:not(:disabled){background:var(--button-hover)}
.auth-submit.btn svg{width:21px;height:21px;stroke-width:1.8}
.auth-forgot-row{display:flex;justify-content:flex-end;margin:-8px 0 16px}
.auth-text-button.btn{padding:4px 0;min-height:36px;border:0;border-radius:4px;background:transparent;color:var(--accent);font-size:.84rem;font-weight:500}
.auth-text-button.btn:hover{text-decoration:underline;text-underline-offset:3px}
.auth-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:var(--muted);font-size:.75rem}
.auth-divider::before,.auth-divider::after{content:"";height:1px;flex:1;background:var(--line)}
.auth-google.btn{gap:12px;width:100%;min-height:52px;padding:12px 18px;border:1px solid #b8c1bc;border-radius:10px;background:#fff;color:#1f1f1f;font-size:.97rem;font-weight:500;box-shadow:0 1px 2px rgba(0,0,0,.03);transition:background .15s,box-shadow .15s}
.auth-google.btn:hover:not(:disabled){background:#f5f8f6;box-shadow:0 2px 8px rgba(0,0,0,.08)}
.google-red{fill:#EA4335}.google-blue{fill:#4285F4}.google-yellow{fill:#FBBC05}.google-green{fill:#34A853}
.auth-feedback{margin:14px 0 0;padding:12px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--field);font-size:.83rem;line-height:1.6}
.auth-card>.ui-alert{margin:14px 0 0}
.auth-setup-link.btn{display:flex;width:100%;gap:8px;min-height:44px;margin:8px 0 16px;padding:0;border:0;background:transparent;color:var(--accent);font-size:.88rem;font-weight:500;border-radius:8px}
.auth-setup-link.btn:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 7%,transparent)}
.auth-journey{display:flex;align-items:center;justify-content:center;gap:18px;margin:25px 0 0;padding:0;list-style:none;font-size:.86rem}
.auth-journey li{display:flex;align-items:center;gap:18px}
.auth-journey li+li::before{content:"";display:block;width:5px;height:5px;border-radius:50%;background:var(--dot)}
.auth-footer{max-width:320px;width:calc(100% - 48px);margin:0 auto;padding:14px 0 20px;text-align:center;border-top:1px solid var(--line);color:var(--muted);font-size:.73rem}
.auth-footer b{font-weight:500;color:var(--ink)}
.auth-backdrop{position:fixed;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,var(--glow),transparent 65%);--pond-water:#d1e6df;--pond-edge:#92b9a5;--bank:#e3eadb;--farm-line:#77a494;--farm-detail:#528671}
:root[data-theme="dark"] .auth-backdrop{--pond-water:#12342c;--pond-edge:#345c47;--bank:#17271c;--farm-line:#356859;--farm-detail:#55836a}
.auth-backdrop svg{width:100%;height:100%;position:absolute;inset:0}
.auth-backdrop::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 44%,var(--bg) 12%,transparent 68%)}
.auth-farm-bank{fill:var(--bank);stroke:var(--pond-edge);stroke-width:1}
.auth-farm-pond{fill:var(--pond-water);stroke:var(--pond-edge);stroke-width:1.5}
.auth-farm-water{fill:none;stroke:var(--farm-line);stroke-width:1;opacity:.55}
.auth-farm-machine{fill:var(--bank);stroke:var(--farm-detail);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.auth-farm-land{fill:none;stroke:var(--pond-edge);stroke-width:1;opacity:.3}
.auth-farm-tree{fill:var(--bank);stroke:var(--pond-edge);stroke-width:1}
.account-status{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin-top:20px}.account-status p{margin:0}.account-status a{color:var(--accent)}
@media(min-height:900px){.auth-main{padding-top:20px;padding-bottom:38px}.auth-card{padding-top:36px}.auth-welcome{margin-bottom:30px}.auth-journey{margin-top:30px}}
@media(max-width:600px){.auth-header{padding:16px 20px}.auth-theme.btn{width:40px;height:40px;min-height:40px;padding:0;font-size:.8rem}.auth-main{padding:12px 16px 24px;justify-content:flex-start}.auth-card{padding:26px 24px 0;border-radius:20px}.auth-logo{width:190px;height:64px;margin-bottom:18px}.auth-welcome h1{font-size:1.8rem}.auth-welcome{margin-bottom:24px}.auth-welcome p{font-size:.88rem}.auth-backdrop svg{opacity:.55}.auth-journey{gap:12px;font-size:.8rem}.auth-journey li{gap:12px}}
@media(max-width:360px){.auth-header{padding:12px 16px}.auth-card{padding:24px 18px 0}.auth-welcome h1{font-size:1.65rem}.auth-theme.btn{gap:6px}}
