/* Core Navigation's top bar (`.top-bar`) only shows itself when its tools/context/actions regions are non-empty -- but with no blocks placed there, the regions still contain whitespace text nodes from the Twig loop scaffolding, which defeats the `:not(:empty)` check. Result: an empty top bar renders anyway, with the page content pushed down to make room for it. We only use the Gin sidebar (the left icon rail), so force the phantom bar off and collapse the space it would otherwise reserve. */ .top-bar { display: none !important; } .top-bar ~ .dialog-off-canvas-main-canvas { margin-block-start: 0 !important; } /* Drupal status messages: fixed top-right, out of document flow, so they never shift the page layout the way the default in-flow placement does -- and shrunk to a fraction of Gin's default size, which is sized for a single full-width flash banner on an admin form, not a toast for frequent background feedback here. Targets both the real region ([data-drupal-messages], present once a message is queued on a normal page load) and the JS-only fallback container ([data-drupal-messages-fallback], used when Drupal.Message.add() -- our own MessageCommand-driven AJAX messages included -- has no region to attach to). Auto-dismiss timing for non-error messages is handled in admin-chrome.js. */ [data-drupal-messages], [data-drupal-messages-fallback] { position: fixed !important; top: 0.75rem; right: 0.75rem; left: auto !important; width: auto; max-width: 22rem; z-index: 1000; } [data-drupal-messages] .messages-list__wrapper, [data-drupal-messages] .messages__wrapper, [data-drupal-messages-fallback] .messages-list__wrapper, [data-drupal-messages-fallback] .messages__wrapper { display: flex; flex-direction: column; gap: 0.4rem; } [data-drupal-messages] .messages, [data-drupal-messages-fallback] .messages { padding: 0.5rem 0.6rem; font-size: 0.78rem; line-height: 1.3; border-radius: 6px; } [data-drupal-messages] .messages__header, [data-drupal-messages-fallback] .messages__header { margin-block-end: 0.15rem; margin-inline-end: 1.1em; } [data-drupal-messages] .messages__header::before, [data-drupal-messages-fallback] .messages__header::before { width: 1rem !important; height: 1rem !important; } [data-drupal-messages] .messages__title, [data-drupal-messages-fallback] .messages__title { font-size: 0.78rem; } [data-drupal-messages] .messages__title, [data-drupal-messages] .messages__content, [data-drupal-messages-fallback] .messages__title, [data-drupal-messages-fallback] .messages__content { margin-inline-start: 1.4rem; } [data-drupal-messages] .button--dismiss, [data-drupal-messages-fallback] .button--dismiss { height: 20px !important; width: 20px !important; margin: 0.3rem !important; } [data-drupal-messages] .button--dismiss .icon-close, [data-drupal-messages-fallback] .button--dismiss .icon-close { mask-size: 11px 11px !important; }