/* SMART SYSTEMS Future Signal — quiet, accessible and non-blocking notifications. */
#futureSignalStack{position:fixed;inset-inline-start:18px;bottom:18px;z-index:30050;display:grid;gap:9px;width:min(390px,calc(100vw - 28px));pointer-events:none}
.future-signal{--signal:#1681e8;position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;overflow:hidden;padding:12px 13px;border:1px solid color-mix(in srgb,var(--signal) 24%,#dce5ef);border-radius:15px;background:color-mix(in srgb,#fff 96%,var(--signal) 4%);color:#112744;box-shadow:0 18px 45px rgba(4,25,58,.16),0 3px 9px rgba(4,25,58,.06);pointer-events:auto;animation:futureSignalIn .25s cubic-bezier(.22,1,.36,1) both;backdrop-filter:blur(12px)}
.future-signal[data-type="success"]{--signal:#079455}.future-signal[data-type="warning"]{--signal:#d97706}.future-signal[data-type="error"]{--signal:#d92d20}.future-signal[data-closing="true"]{animation:futureSignalOut .18s ease both}
.future-signal-orb{width:13px;height:13px;border-radius:50%;background:var(--signal);box-shadow:0 0 0 6px color-mix(in srgb,var(--signal) 13%,transparent),0 0 18px color-mix(in srgb,var(--signal) 35%,transparent)}
.future-signal-copy{display:grid;gap:3px;line-height:1.5}.future-signal-copy b{font-size:12.5px}.future-signal-copy span{font-size:11.5px;color:#5e7087;overflow-wrap:anywhere}.future-signal-close{width:32px;height:32px;border:0;border-radius:9px;background:transparent;color:#64748b;font:700 20px/1 Arial;cursor:pointer}.future-signal-close:hover{background:#eaf0f7;color:#183759}.future-signal-progress{position:absolute;inset-inline:0;bottom:0;height:3px;background:color-mix(in srgb,var(--signal) 12%,transparent)}.future-signal-progress i{display:block;height:100%;background:var(--signal);transform-origin:right;animation:futureSignalProgress var(--signal-duration,5s) linear both}
@keyframes futureSignalIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes futureSignalOut{to{opacity:0;transform:translateY(7px) scale(.985)}}@keyframes futureSignalProgress{to{transform:scaleX(0)}}
@media(max-width:520px){#futureSignalStack{inset-inline:14px;width:auto;bottom:14px}.future-signal{padding:11px}}
@media(prefers-reduced-motion:reduce){.future-signal,.future-signal-progress i{animation:none}.future-signal-progress{display:none}}
body.ui-dark .future-signal{background:color-mix(in srgb,#10233f 94%,var(--signal) 6%);color:#eef6ff;border-color:color-mix(in srgb,var(--signal) 35%,#31445d)}body.ui-dark .future-signal-copy span{color:#b8c5d5}
