/* loading.css v6 */

@layer loading {

@keyframes _ld_spin   { to { transform: rotate(360deg); } }
@keyframes _ld_in     { from{opacity:0;} to{opacity:1;} }
@keyframes _ld_out    { from{opacity:1;} to{opacity:0;} }
@keyframes _ld_notif_in  { from{opacity:0;transform:translateY(-14px);} to{opacity:1;transform:translateY(0);} }
@keyframes _ld_notif_out { from{opacity:1;transform:translateY(0);}     to{opacity:0;transform:translateY(-14px);} }

:root { --clp-top: 0px; }

#clp-overlay {
  position:fixed; top:var(--clp-top); left:0; right:0; bottom:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:22px; background:var(--fv-surface-page); z-index:var(--fv-z-overlay);
  contain:strict;
}
#clp-overlay[hidden]  { display:none!important; }
#clp-overlay.entering { will-change:opacity; animation:_ld_in  0.14s ease-out forwards; }
#clp-overlay.leaving  { will-change:opacity; animation:_ld_out 0.18s ease-in  forwards; pointer-events:none; }

#clp-overlay .clp-spinner {
  width:68px; height:68px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  will-change:transform; isolation:isolate; contain:size style;
}
#clp-overlay .clp-spinner svg { width:100%; height:100%; overflow:visible; display:block; }
#clp-overlay .clp-track       { stroke:#e8f5ef; stroke-width:3.5; fill:none; }
#clp-overlay .clp-arc {
  stroke: var(--fv-brand-teal-light);
  stroke-width:3.5; stroke-linecap:round; stroke-dasharray:88 132; fill:none;
  transform-box:fill-box; transform-origin:center;
  will-change:transform; animation:_ld_spin 0.8s linear infinite;
}

#clp-overlay .clp-text   { display:flex; flex-direction:column; align-items:center; gap:6px; contain:layout style; }
#clp-overlay .clp-msg    { font-size:16px; font-weight:var(--fv-font-semibold); color:#3c4043; text-align:center; line-height:1.4; min-width:100px; min-height:1.4em; }
#clp-overlay .clp-sub    { font-size:13px; font-weight:400; color:#9aa0a6; text-align:center; line-height:1.4; }
#clp-overlay .clp-sub:empty { display:none; }

#content-loading-overlay, #instant-loading-overlay {
  position:fixed; inset:0; display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,0.96); z-index:var(--fv-z-overlay);
  opacity:1; transition:opacity 0.18s ease; contain:strict;
}
#content-loading-overlay[hidden], #instant-loading-overlay[hidden],
#content-loading-overlay.hidden,  #instant-loading-overlay.hidden { display:none!important; opacity:0; pointer-events:none; }

#content-loading-overlay .fg, #content-loading-overlay .svg-fg, #instant-loading-overlay .spinner-svg-fg {
  transform-box:fill-box; transform-origin:center;
  will-change:transform; animation:_ld_spin 0.9s linear infinite;
}

.notification {
  position:fixed; top:20px; right:20px; padding:12px 14px; border-radius:var(--fv-radius-sm);
  box-shadow:0 2px 10px rgba(0,0,0,0.08); z-index:var(--fv-z-toast);
  opacity:0; animation:_ld_notif_in 0.22s ease-out forwards;
  display:flex; align-items:flex-start; gap:10px;
  max-width:320px; font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
.notification-success { background:#1e8e3e; color:#fff; }
.notification-error   { background:#d93025; color:#fff; }
.notification-warning { background:#f29900; color:#fff; }
.notification-info    { background:#1a73e8; color:#fff; }
.notification-loading { background:#5f6368; color:#fff; }

.notification-icon              { font-size:15px; flex-shrink:0; line-height:1.3; }
.notification-message-container { flex:1; display:flex; flex-direction:column; gap:2px; }
.notification-title             { font-size:13px; font-weight:var(--fv-font-semibold); line-height:1.3; }
.notification-content           { font-size:13px; opacity:0.9; word-break:break-word; line-height:1.4; }
.notification-close             { background:none; border:none; color:inherit; font-size:17px; cursor:pointer; padding:0; width:18px; height:18px; display:flex; align-items:center; justify-content:center; flex-shrink:0; opacity:0.6; margin-top:1px; }
.notification-close:hover       { opacity:1; }
.notification-loading .notification-icon { display:inline-block; animation:_ld_spin 1s linear infinite; }
.notification-slideout { animation:_ld_notif_out 0.22s ease-in forwards; }

@media (prefers-reduced-motion:reduce) {
  #clp-overlay.entering, #clp-overlay.leaving { animation:none; will-change:auto; }
  #clp-overlay .clp-arc { animation:none; }
  #content-loading-overlay .fg, #content-loading-overlay .svg-fg, #instant-loading-overlay .spinner-svg-fg { animation:none; }
  .notification { animation:none; opacity:1; }
  .notification-slideout { animation:none; opacity:0; }
  .notification-loading .notification-icon { animation:none; }
}

} /* end @layer loading */