/* Account entry shares YardMate's editorial green/ivory identity, not a yard view. */
.account-signin { --auth-green:#173f32; --auth-paper:#faf8f3; --auth-gold:#c1a778; display:grid; grid-template-columns:minmax(0,1.07fr) minmax(400px,.93fr); min-height:100svh; padding:0; background:var(--auth-paper); color:var(--auth-green); align-items:stretch; }
.signin-story { position:relative; display:flex; flex-direction:column; overflow:hidden; padding:42px clamp(36px,5vw,82px) 28px; background:var(--auth-green); color:#f7f3e8; }
.signin-wordmark { display:flex; gap:12px; align-items:center; color:inherit; text-decoration:none; font-family:Georgia,serif; font-size:27px; position:relative; z-index:1; }
.signin-wordmark svg { width:35px; height:42px; fill:none; stroke:var(--auth-gold); stroke-width:1.5; stroke-linecap:round; stroke-linejoin:round; }
.signin-story-copy { position:relative; z-index:1; padding:clamp(70px,13vh,145px) 0 130px; max-width:610px; }
.signin-eyebrow { font-family:system-ui,sans-serif; font-size:11px; line-height:1.7; letter-spacing:.14em; font-weight:600; color:#d2c1a1; margin-bottom:30px; }
.signin-story-copy h1 { font-family:Georgia,'Times New Roman',serif; font-size:clamp(44px,4.7vw,76px); line-height:1.07; font-weight:400; letter-spacing:-.035em; margin:0 0 27px; white-space:pre-line; }
.signin-story-copy>p:last-child { max-width:340px; color:#d8e1d6; font-size:16px; line-height:1.8; }
.signin-monogram { position:absolute; inset-inline-end:-88px; inset-block-end:28px; width:400px; height:400px; opacity:.09; transform:rotate(-8deg); }
.signin-monogram svg { width:100%; height:100%; fill:none; stroke:#f7f3e8; stroke-width:.45; stroke-linecap:round; stroke-linejoin:round; }
.signin-story-footer { position:relative; z-index:1; display:flex; gap:20px; justify-content:space-between; margin-top:auto; padding-top:20px; border-top:1px solid #52695b; font-size:11px; line-height:1.5; color:#d3dcca; }
.signin-story-footer span:last-child { letter-spacing:.14em; color:#d2c1a1; }
.signin-panel { display:flex; flex-direction:column; min-width:0; padding:34px clamp(24px,4vw,68px) 26px; }
.signin-toolbar { display:flex; justify-content:flex-end; align-items:center; gap:16px; }
.signin-toolbar select { width:auto; min-width:115px; max-width:100%; min-height:42px; border:1px solid #dcded4; background:transparent; color:#314f41; border-radius:6px; padding:8px 10px; font-size:13px; }
.signin-mobile-brand { display:none; }
.signin-content { width:100%; max-width:392px; margin:auto; padding:58px 0 40px; }
.signin-kicker { color:#7b715c; font-size:10px; font-weight:650; letter-spacing:.12em; margin-bottom:15px; }
.signin-content h2 { font-family:Georgia,'Times New Roman',serif; font-size:34px; font-weight:400; line-height:1.16; letter-spacing:-.025em; margin:0 0 12px; }
.signin-intro { font-size:14px; line-height:1.6; color:#5a6a60; margin-bottom:27px; }
.signin-providers { display:grid; gap:12px; }
.signin-provider { position:relative; display:flex; align-items:center; justify-content:center; gap:13px; width:100%; min-height:54px; padding:12px 18px; border-radius:7px; border:1px solid transparent; font-family:system-ui,sans-serif; font-size:14px; font-weight:600; line-height:1.45; transition:background .15s,border-color .15s; }
.signin-provider svg { width:19px; height:19px; flex-shrink:0; fill:none; stroke:currentColor; stroke-width:1.6; }
.provider-apple { background:#171917; color:#fff; }
.provider-apple svg { fill:currentColor; stroke:none; }
.provider-google { background:#fff; border-color:#d5d9d1; color:#253b2f; }
.provider-email { background:var(--auth-green); color:#fff; }
.signin-provider:not(:disabled):hover { filter:brightness(.96); }
.signin-provider:disabled { cursor:not-allowed; opacity:.48; }
.provider-icon { display:inline-flex; align-items:center; justify-content:center; width:20px; font-size:19px; line-height:1; }
.google-letter { font-weight:750; font-family:Arial,sans-serif; }
.signin-email-form { margin-top:18px; display:grid; gap:9px; }
.signin-email-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px; font-size:14px; }
.signin-email-heading button,.signin-link { border:0; background:transparent; color:#385b46; min-height:44px; padding:8px 0; font-size:12px; text-decoration:underline; text-underline-offset:4px; }
.signin-email-form label { font-size:12px; font-weight:600; margin-top:6px; }
.signin-email-form input { width:100%; min-width:0; min-height:49px; padding:11px 13px; border:1px solid #bac8bc; border-radius:6px; background:#fff; color:#173f32; font:16px system-ui,sans-serif; }
.signin-email-form input:focus { outline:2px solid #58795e; outline-offset:2px; }
.signin-email-form>.signin-provider { margin-top:9px; }
.signin-message { margin-top:16px; font-size:13px; line-height:1.65; color:#2e5a3b; overflow-wrap:anywhere; }
.signin-message.is-error { color:#8a302b; }
.signin-setup { margin-top:21px; padding:14px 16px; background:#eee9dc; border-radius:5px; font-size:11px; line-height:1.65; color:#645840; }
.signin-setup strong { display:block; margin-bottom:4px; font-weight:650; }
.signin-setup p { margin:0; }
.signin-review { margin-top:18px; }
.signin-review p { font-size:11px; color:#687564; margin-bottom:9px; }
.signin-review-button { width:100%; min-height:46px; border:1px dashed #819a7e; border-radius:6px; background:transparent; color:#2e503d; font-size:13px; font-weight:600; }
.signin-permissions { margin-top:24px; color:#5f685c; font-size:11px; line-height:1.75; }
.signin-footer { display:flex; gap:25px; justify-content:center; padding-top:15px; font-size:11px; }
.signin-footer a { color:#5a6a60; text-decoration:none; min-height:36px; display:flex; align-items:center; }
.account-signin [hidden] { display:none!important; }
html[dir="rtl"] .signin-story-copy h1,html[dir="rtl"] .signin-content h2 { font-family:Tahoma,Arial,sans-serif; letter-spacing:0; line-height:1.5; }
html[dir="rtl"] .signin-eyebrow,html[dir="rtl"] .signin-kicker { letter-spacing:0; }
@media(max-width:850px) { .account-signin { grid-template-columns:minmax(0,1fr); } .signin-story { display:none; } .signin-panel { min-height:100svh; padding:22px 26px max(18px,env(safe-area-inset-bottom)); } .signin-toolbar { justify-content:space-between; } .signin-mobile-brand { display:block; font:25px Georgia,serif; } .signin-content { padding:64px 0 36px; } }
@media(max-width:380px) { .signin-panel { padding-inline:20px; } .signin-content h2 { font-size:29px; } .signin-provider { font-size:13px; } }
@media(prefers-reduced-motion:reduce) { .signin-provider { transition:none; } }

.password-visibility { justify-self: start; min-height: 44px; padding: 8px 12px; border: 1px solid #897664; border-radius: 6px; background: #fffdf9; color: #3e2e20; font: inherit; cursor: pointer; }
.password-visibility:hover { background: #f0e7db; }
.password-visibility:focus-visible { outline: 3px solid #6d4d32; outline-offset: 3px; }
@media print { .password-visibility { display: none; } }
