/* Implements docs/design/landlord-line-auth-preview for the Email, LINE and Google flows. */
body.landlord-auth { background:#f4f1eb; color:#202a25; font-family:Arial,"Noto Sans TC",sans-serif; line-height:1.65; }
.landlord-auth *, .landlord-auth *::before, .landlord-auth *::after { box-sizing:border-box; }
.landlord-auth a { color:#0f766e; }
.landlord-auth button, .landlord-auth input { font:inherit; touch-action:manipulation; }
.landlord-auth button { cursor:pointer; }
.landlord-auth a:focus-visible, .landlord-auth button:focus-visible, .landlord-auth input:focus-visible { outline:3px solid #b17b36; outline-offset:4px; }
.landlord-auth-header { max-width:1200px; margin:auto; padding:28px 32px; display:flex; align-items:center; justify-content:space-between; gap:16px; }
.landlord-auth .landlord-auth-brand { display:flex; align-items:center; gap:10px; color:#202a25; text-decoration:none; font-size:20px; letter-spacing:-.5px; white-space:nowrap; }
.landlord-auth-header__right { display:flex; align-items:center; gap:16px; }
.landlord-auth-header__right>span { font-size:12px; color:#6f7971; }
.landlord-auth .landlord-auth-page { display:grid; grid-template-columns:minmax(0,1fr) 450px; align-items:start; justify-items:stretch; gap:90px; width:100%; max-width:1120px; min-height:0; margin:26px auto 60px; padding:0 24px; }
.landlord-auth-aside { padding-top:32px; min-width:0; }
.landlord-auth-eyebrow { font-size:10px; letter-spacing:2px; color:#0f766e; font-weight:700; }
.landlord-auth-aside h2 { font-size:39px; line-height:1.5; letter-spacing:-1.3px; margin:18px 0; }
.landlord-auth-intro { font-size:15px; color:#66746a; }
.landlord-auth-illustration { position:relative; margin:36px 0 30px; padding-right:28px; }
.landlord-auth-paper { background:#e4e8df; border:1px solid #cad2c4; padding:22px; border-radius:8px; transform:rotate(-2deg); }
.landlord-auth-paper__top { display:flex; justify-content:space-between; font-size:12px; border-bottom:1px solid #cbd2c5; padding-bottom:15px; }
.landlord-auth-paper__top span { font-size:9px; color:#0f766e; }
.landlord-auth-paper__row { display:flex; gap:16px; padding-top:17px; align-items:center; }
.landlord-auth-paper__row>span { font-size:12px; color:#78907f; }
.landlord-auth-paper__row strong { display:block; font-size:14px; }
.landlord-auth-paper__row small { display:block; color:#69796c; font-size:11px; }
.landlord-auth-identity { position:relative; margin:-2px -20px 0 55px; padding:15px; background:#fffdf8; border:1px solid #ddd7cd; border-radius:6px; font-size:12px; box-shadow:0 8px 20px #273d2410; }
.landlord-auth-identity span { color:#0f766e; margin-right:10px; }
.landlord-auth-side-note { font-size:12px; color:#728074; }
.landlord-auth .auth-panel { width:100%; min-height:500px; background:#fffdf8; border:1px solid #ddd7cd; border-radius:12px; padding:28px 34px 34px; }
.landlord-auth .auth-panel h1, .landlord-auth .auth-panel h2 { font-size:27px; line-height:1.4; letter-spacing:-.5px; margin:0 0 12px; }
.landlord-auth .auth-panel p { margin:0 0 18px; }
.landlord-auth .auth-panel .landlord-auth-step { color:#0f766e; font-size:11px; letter-spacing:1px; margin-bottom:12px; }
.landlord-auth .auth-panel .landlord-auth-description { font-size:14px; color:#69766d; margin-bottom:26px; }
.landlord-auth .auth-field { margin:12px 0; font-size:13px; }
.landlord-auth .auth-field input { padding:12px; border:1px solid #cdd2c5; border-radius:5px; background:white; margin-top:7px; color:#24382a; font-size:15px; }
.landlord-auth .auth-field label { margin:0; }
.landlord-auth .auth-actions { margin-top:0; }
.landlord-auth .auth-actions input, .landlord-auth .landlord-auth-primary, .landlord-auth .landlord-auth-secondary, .landlord-auth .line-login-button { width:100%; display:block; text-align:center; padding:13px 14px; min-height:48px; border-radius:6px; border:0; font-weight:700; text-decoration:none; font-size:14px; }
.landlord-auth .auth-actions input, .landlord-auth .landlord-auth-primary { background:#0f766e; color:#fff; }
.landlord-auth .landlord-auth-secondary { background:transparent; border:1px solid #d6d9cd; color:#344a3d; margin-top:12px; }
.landlord-auth .line-login-button { background:#06c755; color:#fff; }
.landlord-auth .line-login-button:hover { background:#05b34c; }
.landlord-auth .landlord-auth-primary:hover, .landlord-auth .auth-actions input:hover { background:#0b655e; }
.landlord-auth-form-link { text-align:right; margin:0 0 12px; font-size:12px; }
.landlord-auth .line-login-divider { display:flex; align-items:center; gap:12px; color:#8a9188; font-size:11px; margin:23px 0; }
.landlord-auth .line-login-divider::before, .landlord-auth .line-login-divider::after { content:""; height:1px; flex:1; background:#e0e0d7; }
.landlord-auth .auth-panel .line-login-disclosure { font-size:12px; color:#707c72; margin-top:12px; }
.landlord-auth-foot { border-top:1px solid #e4e2d9; padding-top:20px; margin-top:24px; font-size:12px; color:#728074; }
.landlord-auth .landlord-auth-foot p { margin-top:12px; }
.landlord-auth .landlord-auth-text-button { border:0; padding:0; background:transparent; color:#0f766e; font-size:13px; text-decoration:underline; min-height:30px; }
.landlord-auth-notice { padding:12px 15px; font-size:13px; border-radius:5px; margin-bottom:20px; background:#e9ede3; color:#3c5b44; overflow-wrap:anywhere; }
.landlord-auth-notice--alert { color:#a04030; background:#fff0e9; }
@media(max-width:950px) { .landlord-auth .landlord-auth-page { gap:35px; grid-template-columns:minmax(0,1fr) 420px; } .landlord-auth-aside h2 { font-size:31px; } }
@media(max-width:760px) { .landlord-auth-header { padding:22px 20px; } .landlord-auth-header__right>span { display:none; } .landlord-auth .landlord-auth-page { display:block; margin:0 auto 30px; padding:0 16px; max-width:480px; } .landlord-auth-aside { display:none; } .landlord-auth .auth-panel { padding:26px 23px; min-height:0; } .landlord-auth .auth-panel h1, .landlord-auth .auth-panel h2 { font-size:25px; } .landlord-auth .auth-field input { font-size:16px; } }

.landlord-auth .public-locale-switcher__link--active { color:#fff; }
.landlord-auth .auth-links { font-size:13px; }

.landlord-auth-aside p { margin:0 0 18px; }

.landlord-auth-document { scroll-behavior:auto; scroll-padding-top:0; }
.landlord-auth-profile { display:flex; align-items:center; gap:12px; background:#f0f3eb; border:1px solid #dde4d5; border-radius:6px; padding:14px; margin:20px 0; overflow-wrap:anywhere; }
.landlord-auth-profile strong, .landlord-auth-profile small { display:block; }
.landlord-auth-profile strong { font-size:14px; }
.landlord-auth-profile small { font-size:11px; color:#687b6a; }
.landlord-auth-avatar { display:grid; place-items:center; width:39px; height:39px; flex-shrink:0; border-radius:50%; color:#2c6448; background:#d4e3d6; }
.landlord-auth-list-row { border-top:1px solid #e0e0d7; padding:13px 0; font-size:13px; display:flex; justify-content:space-between; gap:15px; }
.landlord-auth-list-row span { color:#748174; }
.landlord-auth-list-row strong { overflow-wrap:anywhere; min-width:0; text-align:right; }
.landlord-auth-check { display:flex; align-items:start; gap:10px; font-size:12px; margin:20px 0; }
.landlord-auth-check input { width:auto; margin-top:5px; }
.landlord-auth button:disabled, .landlord-auth input:disabled { cursor:default; opacity:.55; }

.landlord-auth-social-buttons { display:grid; gap:14px; }
.landlord-auth-social-buttons form { margin:0; }
.landlord-auth .google-login-button {
  width:100%;
  height:48px;
  padding:0 14px;
  margin:0;
  border:1px solid #747775;
  border-radius:6px;
  background:#fff;
  color:#1f1f1f;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  font-size:14px;
  font-weight:500;
}
.landlord-auth .google-login-button img { flex:none; object-fit:contain; }
.landlord-auth .google-login-button:hover { background:#f3f5f6; }
.landlord-auth .auth-field label { font-weight:700; }

.landlord-auth .google-login-button:disabled {
  cursor: not-allowed;
}

.landlord-auth .google-login-button:disabled:hover {
  background: #fff;
}

.google-login-unavailable {
  margin: 0;
  color: var(--auth-muted, #66706a);
  font-size: 12px;
  line-height: 1.5;
}

.landlord-auth-static-label {
  display: block;
  font-weight: 700;
}

.landlord-auth-static-email {
  margin: 8px 0 0;
  overflow-wrap: anywhere;
}

/* Shared brand artwork keeps its original aspect ratio. */
.brand-logo { display: block; width: 180px; max-width: 100%; height: auto; }
