/* ========================================================
  Design tokens
  ======================================================= */
:root {
 /* Brand colors */
 --clr-primary:         #0078d4;
 --clr-primary-hover:   #005a9e;

 /* Greys & neutrals */
 --clr-text:            #333;
 --clr-subtitle:        #555;
 --clr-bg:              #f4f6f8;
 --clr-card-bg:         #ffffff;

 /* Error palette */
 --clr-error-bg:        #f8d7da;
 --clr-error-border:    #f5c6cb;
 --clr-error-text:      #721c24;
}

/* ========================================================
  Reset & base
  ======================================================= */
* {
 box-sizing: border-box;
 margin: 0;
 padding: 0;
}

body {
 font-family: Arial, sans-serif;
 background-color: var(--clr-bg);
 color: var(--clr-text);
 height: 100vh;
 display: flex;
 align-items: center;
 justify-content: center;
}

/* ========================================================
  Layout containers
  ======================================================= */
.login-container {
 width: 100%;
 max-width: 360px;
 padding: 20px;
}

.login-card {
 background: var(--clr-card-bg);
 border-radius: 8px;
 padding: 40px 20px;
 box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
 text-align: center;
}

/* ========================================================
  Typography
  ======================================================= */
.login-card h1 {
 font-size: 1.6rem;
 margin-bottom: 0.5rem;
 color: var(--clr-primary);
}

.login-card p {
 font-size: 0.9rem;
 margin-bottom: 2rem;
 color: var(--clr-subtitle);
}

/* ========================================================
  Components
  ======================================================= */
.btn-sso {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 background-color: var(--clr-primary);
 color: #fff;
 text-decoration: none;
 font-size: 1rem;
 padding: 12px 20px;
 border-radius: 4px;
 transition: background-color 0.2s;
}

.btn-sso .logo {
 height: 40px;
 width: auto;
 margin-right: 12px;
 display: inline-block;
 vertical-align: middle;
}

.btn-sso span {
 vertical-align: middle;
 font-size: 1.1rem;
}

.btn-sso:hover {
 background-color: var(--clr-primary-hover);
 color: #fff;
}

/* ========================================================
  Helpers
  ======================================================= */
.error-message {
 background-color: var(--clr-error-bg);
 color: var(--clr-error-text);
 padding: 15px;
 margin-bottom: 20px;
 border: 1px solid var(--clr-error-border);
 border-radius: 4px;
 text-align: center;
}