.alarm-notification-region {
    position: fixed;
    top: var(--alarm-toast-top, 88px);
    right: 18px;
    width: 366px;
    max-width: calc(100vw - 36px);
    max-height: calc(100vh - var(--alarm-toast-top, 88px) - 18px);
    overflow-y: auto;
    z-index: 1040;
    pointer-events: none;
    color: var(--arcs-text);
    font-family: var(--arcs-font-sans);
    font-size: 14px;
}
.alarm-notification-region[hidden], .alarm-notification-region [hidden] { display: none !important; }
.alarm-notification-stack { display: grid; gap: 12px; }
.alarm-notification-toast {
    pointer-events: auto;
    background: var(--arcs-surface);
    border: 1px solid var(--arcs-border);
    border-left: 4px solid var(--arcs-danger);
    border-radius: 9px;
    box-shadow: var(--arcs-shadow-sm);
    padding: 12px 14px;
    overflow-wrap: anywhere;
}
.alarm-notification-heading { display: flex; align-items: center; gap: 8px; margin-bottom: 5px; }
.alarm-notification-icon {
    display: grid; place-items: center; width: 27px; height: 27px; flex-shrink: 0;
    border-radius: 7px; background: var(--arcs-alert-soft); color: var(--arcs-danger);
}
.alarm-notification-type { font-size: 12px; font-weight: 600; color: var(--arcs-danger); }
.alarm-notification-dismiss {
    display: grid; place-items: center; flex-shrink: 0; margin-left: auto;
    width: 32px; height: 32px; padding: 0; border: 0; border-radius: 6px;
    background: transparent; color: var(--arcs-text-muted); font: inherit; font-size: 22px;
    cursor: pointer;
}
.alarm-notification-dismiss:hover { background: var(--arcs-surface-muted); }
.alarm-notification-toast h2 { margin: 0 0 6px; font-size: 17px; line-height: 1.35; font-weight: 600; color: var(--arcs-heading); }
.alarm-notification-device { margin: 0; font-weight: 600; }
.alarm-notification-location { margin: 2px 0 0; font-size: 12px; color: var(--arcs-text-muted); }
.alarm-notification-time { display: flex; gap: 7px; align-items: flex-start; margin-top: 9px; font-size: 12px; color: var(--arcs-text-muted); }
.alarm-notification-time > i { margin-top: 3px; }
.alarm-notification-time time { font-variant-numeric: tabular-nums; }
.alarm-notification-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.alarm-notification-actions a {
    display: inline-flex; align-items: center; gap: 7px; padding: 7px 10px;
    border: 1px solid var(--arcs-border); border-radius: 6px; font-size: 12px; font-weight: 600;
    text-decoration: none; color: var(--arcs-accent); background: var(--arcs-surface-muted);
}
.alarm-notification-actions a:hover { border-color: var(--arcs-accent); }
.alarm-notification-actions .alarm-notification-report { border-color: transparent; background: transparent; color: var(--arcs-text-muted); }
.alarm-notification-dismiss:focus-visible, .alarm-notification-actions a:focus-visible,
.alarm-notification-more a:focus-visible { outline: 3px solid var(--arcs-accent); outline-offset: 2px; }
.alarm-notification-more, .alarm-notification-failure {
    pointer-events: auto; padding: 10px 14px; margin-top: 10px; border: 1px solid var(--arcs-border);
    border-radius: 8px; background: var(--arcs-surface); color: var(--arcs-text-muted); font-size: 12px;
}
.alarm-notification-more a { color: var(--arcs-accent); font-weight: 600; }
.alarm-notification-announcement {
    position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden;
    clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
@media (max-width: 575px) {
    .alarm-notification-region { left: 12px; right: 12px; width: auto; max-width: none; }
    .alarm-notification-dismiss { width: 44px; height: 44px; }
    .alarm-notification-actions a { min-height: 44px; }
    .alarm-notification-toast { padding: 10px 12px; }
}
@media print { .alarm-notification-region { display: none !important; } }
