/* Shared site hierarchy; native links support keyboard and open-in-new-tab. */
.swa-heading { min-width: 0; flex: 1; display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 0 .5rem; }
.swa-heading > h1 { grid-column: 1 / -1; }
.swa-breadcrumb ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0 .25rem; list-style: none; margin: 0; padding: 0; }
.swa-breadcrumb li { display: flex; align-items: center; }
.swa-breadcrumb li + li::before { content: ''; width: .4rem; height: .4rem; border-top: 1px solid #52617a; border-right: 1px solid #52617a; transform: rotate(45deg); margin: 0 .6rem 0 .2rem; }
.swa-breadcrumb a, .site-home { display: inline-flex; align-items: center; min-height: 44px; padding: 0 .25rem; color: #43536e; font-size: .875rem; font-weight: 600; text-decoration: none; }
.swa-breadcrumb a.swa-home, .site-home { color: #24324a; font-size: 1.125rem; font-weight: 700; }
.swa-breadcrumb a:hover, .site-home:hover { text-decoration: underline; }
.swa-breadcrumb a:focus-visible, .site-home:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; border-radius: 3px; }
.header .swa-heading h1 { color: #43536e; font-size: .875rem; margin: .2rem .25rem 0; }
.header:has(.swa-heading) { align-items: center; gap: .75rem; }

.swa-logoff { min-height:44px; padding:.5rem .5rem; border:0; border-radius:4px; background:transparent; color:#52617a; cursor:pointer; font:inherit; font-size:.875rem; white-space:nowrap; }
.swa-logoff:hover { background:#edf1f7; text-decoration:underline; }
.swa-login { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:.5rem 1rem; border-radius:6px; background:#2455ce; color:#fff; font-weight:600; text-decoration:none; }
.swa-login:hover { background:#1944ad; }
.swa-login:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.swa-access-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem 1rem; }
.swa-return { display:inline-flex; align-items:center; min-height:44px; color:#43536e; }
.swa-logoff:focus-visible, .swa-logoff-dialog button:focus-visible { outline:3px solid #2563eb; outline-offset:2px; }
.swa-logoff-dialog { max-width: min(30rem, calc(100vw - 3rem)); padding:1.5rem; border:1px solid #b9c7dd; border-radius:10px; color:#24324a; }
.swa-logoff-dialog::backdrop { background:rgb(0 0 0 / .45); }
.swa-logoff-dialog form { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:.75rem; }
.swa-logoff-dialog button { min-height:44px; padding:.5rem 1rem; cursor:pointer; }
