/* =============================================================================
   LPS License Manager — Base overrides & framework glue
   Small, global bits that sit on top of the foundation.
   ============================================================================= */

h1:focus,
h2:focus,
h3:focus { outline: none; }

/* Blazor validation states */
.valid.modified:not([type=checkbox]) { outline: 1px solid var(--lm-success); }
.invalid { outline: 1px solid var(--lm-danger); }
.validation-message { color: var(--lm-danger); font-size: .8125rem; }

/* -----------------------------------------------------------------------------
   Blazor error UI
   -------------------------------------------------------------------------- */
#blazor-error-ui {
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: .85rem 2.5rem .85rem 1.25rem;
    color: #fff;
    background: var(--lm-gray-900);
    border-top: 3px solid var(--lm-danger);
    box-shadow: 0 -4px 16px rgba(15, 23, 42, .2);
    z-index: 2000;
    font-size: .9rem;
}
#blazor-error-ui .reload {
    color: var(--lm-primary-light);
    font-weight: 600;
    text-decoration: underline;
}
#blazor-error-ui .dismiss {
    position: absolute;
    right: 1rem;
    top: .65rem;
    cursor: pointer;
    color: rgba(255, 255, 255, .7);
}
#blazor-error-ui .dismiss:hover { color: #fff; }

.blazor-error-boundary {
    background: var(--lm-danger);
    padding: 1rem 1rem 1rem 1.25rem;
    color: #fff;
    border-radius: var(--lm-radius);
}
.blazor-error-boundary::after { content: "An error has occurred."; }

/* -----------------------------------------------------------------------------
   Skip link (accessibility)
   -------------------------------------------------------------------------- */
.skip-link {
    position: absolute;
    top: -60px;
    left: 1rem;
    z-index: 2000;
    padding: .6rem 1rem;
    color: #fff;
    background: var(--lm-primary);
    border-radius: 0 0 var(--lm-radius) var(--lm-radius);
    box-shadow: var(--lm-shadow-lg);
    transition: top var(--lm-transition);
}
.skip-link:focus { top: 0; color: #fff; text-decoration: none; }
