/* ShiftManifest: maintenance notice banner.
   The strip the banner client (/maintenance-banner.js) mounts at the
   very top of the app when /maintenance.json reports an active
   notice. Info wears the app's locked deep green; warning takes the
   app's amber treatment. Colors ride the pages' own theme tokens so
   the strip follows the light/dark theme like everything else. */
.maint-banner{box-sizing:border-box;display:flex;align-items:center;gap:.75rem;width:100%;padding:.7rem 1rem;background:var(--green-dark,#0a3524);color:var(--on-green,#eaf5ec);border-bottom:1px solid var(--green,#1e6b4f);font:600 14px/1.45 "Public Sans",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif}
.maint-banner-warning{background:var(--amber-bg,#fdf0d5);color:var(--amber-ink,#8a5a00);border-bottom-color:var(--amber-line,#ecd28f)}
.maint-banner-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:2px solid currentColor;font-size:13px;font-weight:800;line-height:1}
.maint-banner-text{flex:1;margin:0;overflow-wrap:anywhere}
.maint-banner-link{flex:none;color:inherit;text-decoration:underline;text-underline-offset:2px}
.maint-banner-close{flex:none;appearance:none;background:transparent;border:0;color:inherit;font-size:20px;line-height:1;padding:.15rem .4rem;cursor:pointer;border-radius:6px}
.maint-banner-close:hover{background:rgba(255,255,255,.12)}
