/*
 * Grizat Design System v1 — Authentication
 * DS1-D: presentation only. Authentication behavior remains in auth.php.
 */
.ps-auth-card{width:100%;max-width:400px;margin-inline:auto;font-family:var(--grizat-font)}
.ps-auth-field{margin-bottom:var(--grizat-space-4)}
.ps-auth-block{margin-bottom:var(--grizat-space-4)}
.ps-auth-block-sm{margin-bottom:var(--grizat-space-2)}
.ps-auth-block-lg{margin-bottom:var(--grizat-space-5)}
.ps-auth-label{display:block;margin-bottom:var(--grizat-space-1);font-size:13px;line-height:1.4}
.ps-auth-control{box-sizing:border-box;width:100%;min-height:var(--grizat-control-height);padding:var(--grizat-space-2) var(--grizat-space-3);border:1px solid var(--grizat-public-border-strong);border-radius:var(--grizat-radius-sm);background:var(--grizat-public-surface);color:var(--grizat-public-text);font:inherit;transition:border-color var(--grizat-motion-fast),box-shadow var(--grizat-motion-fast)}
.ps-auth-control--password{padding-right:60px}
.ps-auth-control:focus{outline:none;border-color:var(--grizat-accent);box-shadow:var(--grizat-focus-ring)}
.ps-auth-password{position:relative}
.ps-auth-password-toggle{position:absolute;top:50%;right:var(--grizat-space-3);padding:0;border:0;background:none;color:var(--grizat-public-text-muted);font-size:var(--grizat-text-xs);line-height:1;cursor:pointer;user-select:none;transform:translateY(-50%)}
.ps-auth-submit{width:100%;min-height:var(--grizat-control-height);padding:var(--grizat-space-2) var(--grizat-space-3);border:0;border-radius:var(--grizat-radius-sm);background:#222;color:#fff;font-family:var(--grizat-font);font-size:var(--grizat-text-sm);font-weight:700;cursor:pointer}
.ps-auth-google{box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:var(--grizat-space-3);width:100%;min-height:var(--grizat-control-height);padding:var(--grizat-space-2) var(--grizat-space-3);border:1px solid var(--grizat-public-border-strong);border-radius:var(--grizat-radius-sm);background:var(--grizat-public-surface);color:#3C4043;font-size:var(--grizat-text-sm);font-weight:500;text-align:center;text-decoration:none}
.ps-auth-google-icon{flex-shrink:0}
.ps-auth-divider{display:flex;align-items:center;gap:var(--grizat-space-3);margin-bottom:var(--grizat-space-4)}
.ps-auth-divider-line{flex:1;height:1px;background:var(--grizat-public-border)}
.ps-auth-divider-label,.ps-auth-forgot-link{color:var(--grizat-public-text-muted);font-size:var(--grizat-text-xs)}
.ps-auth-forgot{margin-bottom:var(--grizat-space-5);text-align:right}
.ps-auth-forgot-link{text-decoration:none}
.ps-auth-footer{margin-top:var(--grizat-space-4);font-size:13px;text-align:center}
.ps-auth-copy{margin-bottom:var(--grizat-space-4);font-size:var(--grizat-text-sm)}
.ps-auth-hint{margin-top:var(--grizat-space-1);color:var(--grizat-public-text-muted);font-size:var(--grizat-text-xs)}
.ps-auth-notice{padding:var(--grizat-space-3);border-radius:var(--grizat-radius-sm);font-size:var(--grizat-text-sm);line-height:1.5}
.ps-auth-notice--error{background:#FFF0F0;color:#B42318}
.ps-auth-notice--success{background:#F0FFF4;color:#16733B}
@media(max-width:480px){.ps-auth-card{max-width:100%}}


/* ============================================================
 * Pre-launch auth layout — keep forms readable on wide screens.
 * ============================================================ */
body .ps-auth-card {
  box-sizing: border-box;
  width: min(100%, 560px) !important;
  max-width: 560px !important;
  margin: 28px auto 48px !important;
  padding: 28px 30px;
  border: 1px solid var(--grizat-public-border);
  border-radius: var(--grizat-radius-lg);
  background: var(--grizat-public-surface);
}
@media (max-width: 620px) {
  body .ps-auth-card {
    width: 100% !important;
    max-width: 100% !important;
    margin: 16px auto 32px !important;
    padding: 20px 16px;
  }
}
