@layer vuetify-components {
  .v-alert {
    display: grid;
    flex: 1 1;
    grid-template-areas: "prepend content append close" ". content . .";
    grid-template-columns: max-content auto max-content max-content;
    position: relative;
    padding: 16px;
    overflow: hidden;
    --v-border-color: currentColor;
  }
  .v-alert--absolute {
    position: absolute;
  }
  .v-alert--fixed {
    position: fixed;
  }
  .v-alert--sticky {
    position: sticky;
  }
  .v-alert {
    border-radius: 4px;
  }
  .v-alert--variant-plain, .v-alert--variant-outlined, .v-alert--variant-text, .v-alert--variant-tonal {
    background: transparent;
    color: inherit;
  }
  .v-alert--variant-plain {
    opacity: 0.62;
  }
  .v-alert--variant-plain:focus, .v-alert--variant-plain:hover {
    opacity: 1;
  }
  .v-alert--variant-plain .v-alert__overlay {
    display: none;
  }
  .v-alert--variant-elevated, .v-alert--variant-flat {
    background: rgb(var(--v-theme-surface-light));
    color: color-mix(in srgb, rgb(var(--v-theme-on-surface-light)) calc(var(--v-high-emphasis-opacity) * 100%), transparent);
  }
  .v-alert--variant-elevated {
    box-shadow: 0px 1px 2px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 1px 3px 1px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 2%, transparent);
  }
  .v-alert--variant-flat {
    box-shadow: 0px 0px 0px 0px rgba(var(--v-shadow-color), var(--v-shadow-key-opacity, 0.3)), 0px 0px 0px 0px rgba(var(--v-shadow-color), var(--v-shadow-ambient-opacity, 0.15));
    --v-elevation-overlay: color-mix(in srgb, var(--v-elevation-overlay-color) 0%, transparent);
  }
  .v-alert--variant-outlined {
    border: thin solid currentColor;
  }
  .v-alert--variant-text .v-alert__overlay {
    background: currentColor;
  }
  .v-alert--variant-tonal .v-alert__underlay {
    background: currentColor;
    opacity: var(--v-activated-opacity);
    border-radius: inherit;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    pointer-events: none;
  }
  .v-alert .v-alert__underlay {
    position: absolute;
  }
  .v-alert--prominent {
    grid-template-areas: "prepend content append close" "prepend content . .";
  }
  .v-alert.v-alert--border {
    --v-border-opacity: 0.38;
  }
  .v-alert.v-alert--border.v-alert--border-start {
    padding-inline-start: 24px;
  }
  .v-alert.v-alert--border.v-alert--border-end {
    padding-inline-end: 24px;
  }
  .v-alert--variant-plain {
    transition: 0.2s opacity cubic-bezier(0.4, 0, 0.2, 1);
  }
  .v-alert--density-default {
    padding-bottom: 16px;
    padding-top: 16px;
  }
  .v-alert--density-default.v-alert--border-top {
    padding-top: 24px;
  }
  .v-alert--density-default.v-alert--border-bottom {
    padding-bottom: 24px;
  }
  .v-alert--density-comfortable {
    padding-bottom: 12px;
    padding-top: 12px;
  }
  .v-alert--density-comfortable.v-alert--border-top {
    padding-top: 20px;
  }
  .v-alert--density-comfortable.v-alert--border-bottom {
    padding-bottom: 20px;
  }
  .v-alert--density-compact {
    padding-bottom: 8px;
    padding-top: 8px;
  }
  .v-alert--density-compact.v-alert--border-top {
    padding-top: 16px;
  }
  .v-alert--density-compact.v-alert--border-bottom {
    padding-bottom: 16px;
  }
  .v-alert:not(:has(.v-alert-title)) .v-alert__content {
    padding-block: calc((1.75rem - 1.5 * 1rem) / 2);
  }
  .v-alert__border {
    border-radius: inherit;
    bottom: 0;
    left: 0;
    opacity: var(--v-border-opacity);
    position: absolute;
    pointer-events: none;
    right: 0;
    top: 0;
    width: 100%;
  }
  .v-alert__border {
    border-color: currentColor;
    border-style: solid;
    border-width: 0;
  }
  .v-alert__border--border {
    border-width: 8px;
    box-shadow: none;
  }
  .v-alert--border-start .v-alert__border {
    border-inline-start-width: 8px;
  }
  .v-alert--border-end .v-alert__border {
    border-inline-end-width: 8px;
  }
  .v-alert--border-top .v-alert__border {
    border-top-width: 8px;
  }
  .v-alert--border-bottom .v-alert__border {
    border-bottom-width: 8px;
  }
  .v-alert__close {
    flex: 0 1 auto;
    grid-area: close;
  }
  .v-alert__close > .v-btn {
    margin-block: calc(-1 * (var(--v-btn-height) + 12px - 1.75rem) / 2);
  }
  .v-alert__content {
    align-self: center;
    grid-area: content;
    overflow: hidden;
  }
  .v-alert__content > :first-child {
    margin-top: 0;
  }
  .v-alert__content > :last-child {
    margin-bottom: 0;
  }
  .v-alert__append,
  .v-alert__close {
    margin-inline-start: 16px;
  }
  .v-alert__append {
    align-self: flex-start;
    grid-area: append;
  }
  .v-alert__append + .v-alert__close {
    margin-inline-start: 16px;
  }
  .v-alert__prepend {
    align-self: flex-start;
    display: flex;
    align-items: center;
    grid-area: prepend;
    margin-inline-end: 16px;
    min-height: 1.75rem;
  }
  .v-alert__prepend > .v-icon {
    font-size: 1.75rem;
    height: 1.75rem;
    width: 1.75rem;
  }
  .v-alert--prominent .v-alert__prepend {
    align-self: center;
  }
  .v-alert__underlay {
    grid-area: none;
    position: absolute;
  }
  .v-alert--border-start .v-alert__underlay {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .v-alert--border-end .v-alert__underlay {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .v-alert--border-top .v-alert__underlay {
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
  .v-alert--border-bottom .v-alert__underlay {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .v-alert-title {
    align-items: center;
    align-self: center;
    display: flex;
    font-size: 1.5rem;
    font-weight: 400;
    hyphens: auto;
    letter-spacing: normal;
    line-height: 1.75rem;
    overflow-wrap: normal;
    text-transform: none;
    word-break: normal;
    word-wrap: break-word;
  }
  @media (forced-colors: active) {
    .v-alert:not(.v-alert--variant-text, .v-alert--variant-plain) {
      border-style: solid;
    }
    .v-alert--variant-outlined, .v-alert--variant-tonal {
      border-width: medium;
    }
    .v-alert--variant-elevated, .v-alert--variant-flat {
      border-width: thick;
    }
  }
}