/* ══════════════════════════════════════════════════════
 *  place/pages/auth/login.php 전용 스타일
 *  /place/css/place-auth-login.css
 *  ※ 원본 인라인 규칙 그대로 이관 (시각 동일성 우선)
 * ══════════════════════════════════════════════════════ */

        * { margin:0; padding:0; box-sizing:border-box; }
        body { font-family:-apple-system, BlinkMacSystemFont, 'Pretendard', sans-serif;
               background:#f8faf9; min-height:100vh; display:flex; align-items:center; justify-content:center; padding:20px; }

        .login-container { width:420px; max-width:100%; }
        .login-logo { text-align:center; margin-bottom:24px; }
        .login-logo h1 { font-size:var(--fs-24); font-weight:800; color:var(--place-primary); }
        .login-logo p { font-size:var(--fs-14); color:var(--place-ink-60); margin-top:4px; }

        .login-card { background:var(--place-paper); border-radius:16px; box-shadow:0 4px 24px rgba(0,0,0,.06);
                      padding:32px; }

        .form-group { margin-bottom:16px; }
        .form-group label { display:block; font-size:var(--fs-13); font-weight:600; color:var(--place-ink-70); margin-bottom:4px; }
        .form-group input { width:100%; padding:10px 14px; border:1px solid var(--place-border-input); border-radius:8px;
                           font-size:var(--fs-14); transition:border .2s, box-shadow .2s; }
        .form-group input:focus { outline:none; border-color:var(--place-primary); box-shadow:0 0 0 3px rgba(5,150,105,.1); }
        .form-group .error { font-size:var(--fs-12); color:var(--place-danger-700); margin-top:4px; display:none; }

        .btn-login { width:100%; padding:12px; border:none; border-radius:8px; font-size:var(--fs-15);
                     font-weight:600; cursor:pointer; background:var(--place-primary); color:var(--place-paper); margin-top:8px; transition:background .2s; }
        .btn-login:hover { background:var(--place-primary-dark); }
        .btn-login:disabled { background:var(--place-ink-30); cursor:not-allowed; }

        .login-links { text-align:center; padding-top:16px; font-size:var(--fs-13); color:var(--place-ink-60); }
        .login-links a { color:var(--place-primary); text-decoration:none; font-weight:600; }
        .login-links a:hover { text-decoration:underline; }

        .toast { position:fixed; top:20px; left:50%; transform:translateX(-50%); padding:12px 24px;
                 border-radius:8px; font-size:var(--fs-14); font-weight:500; z-index:9999;
                 box-shadow:0 4px 20px rgba(0,0,0,.15); transition:opacity .3s; opacity:0; pointer-events:none; }
        .toast.show { opacity:1; }
        .toast.error { background:var(--place-danger-50); color:var(--place-danger-800); border:1px solid var(--place-danger-200); }
        .toast.success { background:var(--place-primary-light); color:#065f46; border:1px solid #a5b4fc; }

        .divider { text-align:center; color:var(--place-ink-hint); font-size:var(--fs-12); margin:20px 0; position:relative; }
        .divider::before, .divider::after { content:''; position:absolute; top:50%; width:40%; height:1px; background:var(--place-ink-15); }
        .divider::before { left:0; }
        .divider::after { right:0; }
    
