﻿/* AMMN Portal â€” Global App Styles */
/* Docs: docs/dev/LANDING.md */
/* Design tokens centralized in css/theme.tokens.css */

/* ==============================================================
   GLOBAL RESETS
   ============================================================== */
*,
*::before,
*::after {
margin: 0;
padding: 0;
box-sizing: border-box;
}

html,
body {
margin: 0;
padding: 0;
font-family: var(--font-body);
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

h1:focus {
outline: none;
}

/* ==============================================================
   BLAZOR VALIDATION
   ============================================================== */
.valid.modified:not([type=checkbox]) {
outline: 1px solid var(--success);
}

.invalid {
outline: 1px solid var(--error);
}

.validation-message {
color: var(--error);
}

/* ==============================================================
   BLAZOR ERROR BOUNDARY
   ============================================================== */
.blazor-error-boundary {
background: var(--error);
padding: 1rem;
color: var(--n0);
}

.blazor-error-boundary::after {
content: "An error has occurred.";
}
