/* EGKits Base Styles (Public) - scoped
   Apply via body class `egk-app` (already added in index.html) */
.egk-app *, .egk-app *::before, .egk-app *::after { box-sizing: border-box; }
.egk-app html, .egk-app body, .egk-app #app { height: 100%; }
.egk-app body { margin: 0; }

.egk-app { color: var(--egk-text-primary); line-height: 1.5; background-color: var(--egk-bg-primary); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.egk-app a { color: var(--egk-color-primary); text-decoration: none; }
.egk-app a:hover { text-decoration: underline; }

.egk-app :focus-visible { border-radius: var(--egk-radius-sm);
 box-shadow: var(--egk-focus-ring); }

/* MudBlazor form fields already indicate focus on the field wrapper (the
   outlined fieldset border). Text controls always match :focus-visible, so
   without this exception the native <input>/<textarea> inside every field
   paints a second ring INSIDE the field — a "duplicated border" on each
   focused control. */
.egk-app .mud-input .mud-input-slot:focus-visible,
.egk-app .mud-input .mud-input-root:focus-visible,
.egk-app .mud-input > input:focus-visible,
.egk-app .mud-input > textarea:focus-visible {
 box-shadow: none;
 outline: none; }

.egk-app .sr-only { position: absolute;
 overflow: hidden;
 width: 1px; height: 1px;
 margin: -1px; padding: 0;
 border: 0; clip: rect(0,0,0,0); white-space: nowrap; }
.egk-app .container { width: min(100% - 2rem, 1200px); margin-inline: auto; }
