/* ============================================
   Smith Tax Services — Corporate Match Theme
   ============================================ */

:root {
  --dark: #1A1A1A;
  --deep-blue: #003366;
  --bright-blue: #1A73E8;
  --light-gray: #F5F5F5;
  --white: #FFFFFF;
  --radius: 8px;
  --shadow: 0 4px 12px rgba(0,0,0,0.08);
}

/* Global page background */
body {
  background: var(--light-gray);
  font-family: "Inter", "Segoe UI", sans-serif;
  color: var(--dark);
  margin: 0;
  padding: 0;
}

/* Centered auth container */
.auth-card {
  width: 100%;
  max-width: 420px;
  margin: 80px auto;
  background: var(--white);
  padding: 32px;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

/* Headings */
.auth-card h1 {
  color: var(--deep-blue);
  font-size: 26px;
  margin-bottom: 20px;
  font-weight: 600;
}

/* Input fields */
.auth-card input {
  width: 100%;
  padding: 12px;
  margin-bottom: 16px;
  border: 1px solid #ccc;
  border-radius: var(--radius);
  font-size: 15px;
  box-sizing: border-box;
}

/* Buttons */
button,
.auth-btn {
  width: 100%;
  padding: 12px;
  background: var(--deep-blue);
  color: var(--white);
  border: none;
  border-radius: var(--radius);
  font-size: 16px;
  cursor: pointer;
  transition: background 0.2s ease;
}

button:hover,
.auth-btn:hover {
  background: var(--bright-blue);
}

/* Links */
a {
  color: var(--bright-blue);
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Alerts */
.alert {
  padding: 12px;
  border-radius: var(--radius);
  margin-bottom: 16px;
  font-size: 14px;
}

.alert-success {
  background: #e6f4ea;
  color: #0f5132;
}

.alert-error {
  background: #fdecea;
  color: #842029;
}

.portal-header {
    width: 100%;
    background: var(--deep-blue);
    padding: 16px;
    color: var(--white);
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 40px;
}

.gif-center {
    display: flex;
    justify-content: center;
    width: 100%;
}

.gif-small {
    width: 200px !important;
    height: 200px !important;
    object-fit: contain;
    display: block;
}
