/* SSO Login Page Styles — Corporate Minimal */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  background: #f5f5f5;
  display: flex; align-items: center; justify-content: center; min-height: 100vh;
}
.app { width: 100%; display: flex; align-items: center; justify-content: center; min-height: 100vh; }
.container { text-align: center; }
.content { background: #fff; box-shadow: 0 2px 20px rgba(0,0,0,0.08); padding: 60px 80px; border-radius: 16px; }
.loading { text-align: center; }
.spinner {
  border: 5px solid #e5e5e5; border-top: 5px solid #111;
  border-radius: 50%; width: 56px; height: 56px;
  animation: spin 1s linear infinite; margin: 0 auto 24px;
}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.loading p { font-size: 1rem; color: #555; margin-top: 8px; }
.loading p:first-of-type { font-size: 1.3rem; font-weight: 700; color: #111; }
.unauthenticated, .authenticated { text-align: center; }
.info-card, .user-card { margin-bottom: 20px; }
.info-card h2, .info-card h3 { font-size: 1.4rem; margin-bottom: 10px; color: #111; }
.info-card p { margin-top: 8px; font-size: 0.95rem; color: #555; }
.error-message { background: #fef2f2; border: 1px solid #fecaca; color: #991b1b; padding: 16px 24px; border-radius: 10px; margin-bottom: 20px; font-size: 0.95rem; }
.btn { padding: 14px 32px; border-radius: 10px; border: none; font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.2s; }
.btn-login { background: #111; color: #fff; }
.btn-login:hover { background: #333; box-shadow: 0 4px 16px rgba(0,0,0,0.12); }
