/* Shared hierarchy for the desktop rail and the mobile tile workspace. */
@media (min-width: 1101px) {
  :root { --console-rail-width: 232px; --shell-rail-width: 232px; }
  body .app-rail { width: var(--shell-rail-width); }
  body .app-rail .rail-navigation { display: block; overflow-y: auto; overflow-x: hidden; min-height: 0; flex: 1; padding: 6px 8px 12px; }
  body .app-rail .rail-item { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; align-items: center; gap: 10px; min-height: 43px; height: auto; padding: 10px 12px; border-radius: 7px; text-align: left; width: 100%; }
  body .app-rail .rail-label { max-width: none; width: auto; text-align: left; white-space: normal; overflow-wrap: break-word; line-height: 1.3; font-size: calc(13px * var(--ignis-font-scale, 1)); }
  body .app-rail .rail-icon { width: 22px; height: 22px; margin: 0; }
  body .app-rail .rail-release-link { display: flex; align-items: center; gap: 10px; padding: 14px 20px; }
}
body .rail-group { padding: 4px 0 7px; }
body .rail-group-title { color: #b9d2dc; font-size: 10px; font-weight: 700; line-height: 1.5; text-transform: uppercase; letter-spacing: .07em; margin: 12px 12px 5px; }
body .app-rail .rail-item:focus-visible, body .app-rail .rail-release-link:focus-visible { outline: 2px solid white !important; outline-offset: -3px !important; }
.mobile-workspace-group { margin-top: 22px; }
.mobile-workspace-group h3 { font-size: .95rem; margin: 0 0 10px; color: var(--console-text,#244452); }
.civil-protection-hub { max-width: 1200px; margin: auto; padding: clamp(16px,3vw,36px); }
.civil-protection-grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,280px),1fr)); gap: 18px; margin: 24px 0; }
.civil-protection-card { display: flex; flex-direction: column; padding: 24px; border: 1px solid #bacdd6; border-radius: 12px; background: var(--console-panel,#fff); color: inherit; text-decoration: none; min-width: 0; }
.civil-protection-card h2 { font-size: 1.15rem; margin: 0 0 12px; }.civil-protection-card p { flex: 1; }
.civil-protection-card:focus-visible { outline: 3px solid #1784ac; outline-offset: 3px; }
.civil-protection-hub aside { padding: 20px; border: 1px solid #bacdd6; border-radius: 12px; }
.feature-matrix { max-width: 1600px; margin: auto; padding: clamp(16px,3vw,32px); }
.feature-matrix header p { max-width: 85ch; }.feature-matrix .matrix-filters { display: flex; flex-wrap: wrap; gap: 16px; align-items: end; padding: 20px; border: 1px solid #b7cbd5; border-radius: 12px; margin: 22px 0; }
.matrix-filters label { display: grid; gap: 8px; flex: 1 1 220px; }.matrix-filters input,.matrix-filters select { width: 100%; min-height: 44px; }
.matrix-table-wrap { overflow-x: auto; }.matrix-table { border-collapse: collapse; width: 100%; }.matrix-table th,.matrix-table td { padding: 16px; text-align: left; vertical-align: top; border-bottom: 1px solid #becfd8; }.matrix-table th { background: var(--console-panel-muted,#edf3f6); }.matrix-table small { display: block; margin-top: 8px; line-height: 1.5; }
.matrix-status { display: inline-block; font-weight: 700; border: 1px solid currentColor; border-radius: 6px; padding: 4px 8px; font-size: .85rem; }
@media (max-width: 700px) { .matrix-table thead { position: absolute; clip-path: inset(50%); width: 1px; height: 1px; overflow: hidden; }.matrix-table,.matrix-table tbody,.matrix-table tr,.matrix-table td { display: block; width: 100%; }.matrix-table tr { border: 1px solid #b7cbd5; border-radius: 12px; margin: 16px 0; overflow: hidden; }.matrix-table td { border: 0; padding: 10px 16px; }.matrix-table td[data-label]::before { content: attr(data-label); display: block; font-size: .8rem; font-weight: 700; margin-bottom: 6px; } }

@media screen and (max-width: 1100px) {
  body.ignis-app-body .rail-navigation { display: block; overflow-y: auto; min-height: 0; }
  body.ignis-app-body .rail-group { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; padding-bottom: 16px; }
  body.ignis-app-body .rail-group-title { grid-column: 1 / -1; margin: 8px 2px 0; color: #d4e5ed; }
  body.ignis-app-body .rail-group .rail-item { width: 100%; min-width: 0; margin: 0; }
}

@media screen and (min-width: 1101px) {
  body.ignis-app-body .module-flyout .flyout-panel:not([hidden]) { grid-template-columns: repeat(3,minmax(0,1fr)) !important; min-width: 0; max-width: none; padding: 12px; gap: 8px; }
  body.ignis-app-body .module-flyout .flyout-column { padding: 14px; }
  body.ignis-app-body .module-flyout .flyout-link { display: flex !important; flex-direction: row !important; align-items: center; justify-content: start; gap: 10px; min-height: 44px !important; padding: 10px !important; text-align: left; }
  body.ignis-app-body .module-flyout .flyout-link-icon { flex: 0 0 22px; margin: 0; }
  body.ignis-app-body .module-flyout .flyout-link-content { min-width: 0; }
}
body .module-flyout :is(.flyout-link,.flyout-back,.flyout-close):focus-visible { outline: 2px solid white !important; outline-offset: -3px !important; }

@media screen and (max-width: 1100px) {
  body .module-flyout :is(.flyout-link,.flyout-back,.flyout-close):focus-visible { outline-color: #28b4e8 !important; }
}

.feature-matrix caption { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
body.ignis-app-body .feature-matrix .matrix-filters :is(input,select,button) { min-height: 44px; }
@media screen and (max-width: 700px) {
  .feature-matrix .matrix-filters { display: grid; grid-template-columns: minmax(0,1fr); }
  .feature-matrix .matrix-filters label { min-width: 0; }
  .feature-matrix .matrix-filters .primary-button { width: 100%; }
}
body.ignis-app-body .feature-matrix .matrix-filters .primary-button { background: #06699f !important; border-color: #06699f !important; color: #fff !important; font-size: 14px; font-weight: 600; padding: 10px 18px; }
body.ignis-app-body .feature-matrix .matrix-filters .primary-button:focus-visible { outline: 3px solid #06699f; outline-offset: 3px; }
@media screen and (max-width: 1100px) {
  body.ignis-app-body .rail-group .rail-item { background: var(--mobile-panel,#fff) !important; color: var(--mobile-text,#173c4d) !important; }
  body.ignis-app-body .rail-group .rail-item :is(.rail-label,.rail-icon) { color: var(--mobile-text,#173c4d) !important; }
  body.ignis-app-body .module-flyout .flyout-link :is(strong,small) { color: var(--mobile-text,#173c4d) !important; }
}
@media screen and (min-width: 1101px) {
  body.ignis-app-body .app-rail .rail-item:is(.is-active,.is-open,[aria-expanded="true"]) { background: #0c6686 !important; box-shadow: inset 3px 0 0 #59c8ed; }
}
:root[data-theme="dark"] .ignis-app-body .global-breadcrumbs [data-breadcrumb-label] { color: #c6d8e4 !important; }
:root[data-theme="dark"] .ignis-app-body .global-breadcrumbs a[data-breadcrumb-label] { color: #83cfff !important; }
