:root {
  --background: #f3f5f7;
  --blue: #172554;
  --red-action-1: #b42318;
  --orange-action-1: #9a6700;
  --green-action-1: #166534;
  --red-action-2: #b42318;
}

.bg-background { background-color: var(--background); }
.bg-blue { background-color: var(--blue); }
.bg-red-action-1 { background-color: var(--red-action-1); }
.bg-orange-action-1 { background-color: var(--orange-action-1); }
.bg-green-action-1 { background-color: var(--green-action-1); }
.bg-red-action-2 { background-color: var(--red-action-2); }

.text-blue { color: var(--blue); }
.text-red-action-1 { color: var(--red-action-1); }
.text-orange-action-1 { color: var(--orange-action-1); }
.text-green-action-1 { color: var(--green-action-1); }
.text-red-action-2 { color: var(--red-action-2); }

.drop-shadow,
.inner-shadow { box-shadow: none; }

/* Loading Overlay */
.loading-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.8);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.3s;
}

.loading-spinner {
    border: 8px solid #e5e7eb;
    border-top: 8px solid var(--blue); /* Blue */
    border-radius: 50%;
    width: 60px;
    height: 60px;
    animation: spin 1s linear infinite;
}

/* Standalone entry and policy pages use the same operational system as the
   app shell, without the legacy soft-card and glow treatments. */
.fs-static-page {
  min-height: 100vh;
  background: var(--background);
  color: #18212b;
  font-family: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

.fs-auth-card,
.fs-policy-content {
  background: #ffffff;
  border: 1px solid #cdd5df;
  border-radius: 4px;
  box-shadow: none;
}

.fs-static-page input {
  min-height: 44px;
  border-color: #cdd5df;
  border-radius: 4px;
  background: #ffffff;
  color: #18212b;
}

.fs-static-page input:focus {
  border-color: #1d4ed8;
  box-shadow: 0 0 0 3px rgba(29, 78, 216, 0.22);
  outline: none;
}

.fs-static-page button[type="submit"] {
  min-height: 44px;
  border-radius: 4px;
  background: var(--blue);
  box-shadow: none;
}

.fs-policy-header {
  background: var(--blue);
  box-shadow: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}
