@font-face {
  font-family: Roboto;
  src: url("fonts/Roboto-Variable.0db2a8485c8f.ttf") format("truetype");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
:root {
  --color-deep-ultramarine: #033241;
  --color-green: #65B32E;
  --color-yellow: #FFED00;
  --color-black: #1D1D1B;
  --color-white: #FEFEFE;
  --color-graphite: #445055;
  --color-sand: #E0D7CC;
  --color-leaf-green: #097857;
  --color-orange: #E28E04;
  --color-rust-red: #B13507;
  --color-cyan: #009ED4;
  --color-dark-green: #18470F;
  --color-page: color-mix(in srgb, var(--color-sand) 16%, var(--color-white));
  --color-border: color-mix(in srgb, var(--color-graphite) 22%, var(--color-white));
  --color-soft-green: color-mix(in srgb, var(--color-green) 12%, var(--color-white));
  --color-soft-dark: color-mix(in srgb, var(--color-deep-ultramarine) 7%, var(--color-white));
  --color-shadow: color-mix(in srgb, var(--color-deep-ultramarine) 7%, transparent);
  --font-family: Roboto, Arial, sans-serif;
  --font-xs: .8125rem;
  --font-sm: .9rem;
  --font-base: 1rem;
  --font-lg: 1.25rem;
  --font-title: clamp(1.7rem, 3.5vw, 2.4rem);
  --weight-normal: 400;
  --weight-medium: 500;
  --weight-heading: 600;
  --line-height: 1.6;
  --space-xs: .4rem;
  --space-sm: .75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --radius-sm: .35rem;
  --radius-md: .75rem;
  --radius-lg: 2.2rem;
  --radius-hero: 3.5rem;
  --touch-target: 46px;
  --content-width: 76rem;
  --form-width: 38rem;
  --tile-min: 15.5rem;
  --panel-shadow: 0 .3rem 1.4rem var(--color-shadow);
  --nexus-surface:
    radial-gradient(circle at 84% 16%, color-mix(in srgb, var(--color-cyan) 24%, transparent) 0, transparent 31%),
    linear-gradient(122deg, #022d3a 0%, var(--color-deep-ultramarine) 50%, #0b5260 100%);
}
html { scrollbar-gutter: stable; }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; background: var(--color-page); color: var(--color-black); font: var(--weight-normal) var(--font-base)/var(--line-height) var(--font-family); }
.local-staging-banner { position: sticky; z-index: 30; top: 0; padding: .32rem var(--space-lg); background: #fff4cf; color: #654c00; border-bottom: 1px solid #e8cf7a; font-size: .75rem; font-weight: var(--weight-heading); letter-spacing: .035em; text-align: center; }
a { color: var(--color-deep-ultramarine); text-underline-offset: .22em; }
header { padding: var(--space-lg) max(var(--space-lg), calc((100vw - var(--content-width))/2)); background: var(--color-deep-ultramarine); color: var(--color-white); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--space-md) var(--space-xl); }
header a { color: var(--color-white); text-decoration: none; }
.brand { font-size: var(--font-lg); font-weight: var(--weight-heading); white-space: nowrap; }
.nexus-brand { display: inline-flex; align-items: center; gap: .65rem; letter-spacing: .01em; }
.nexus-logo { display: inline-grid; flex: 0 0 auto; min-width: 0; min-height: 0; place-items: center; color: currentColor; }
.nexus-logo img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.nexus-wordmark { display: block; width: 100%; height: 100%; object-fit: contain; }
.nexus-brand__mark { width: 2rem; height: 2rem; }
.nexus-brand__wordmark { width: 6.4rem; height: auto; }
nav { display: flex; align-items: center; gap: var(--space-sm) var(--space-lg); flex-wrap: wrap; }
nav > a { display: inline-flex; align-items: center; min-height: var(--touch-target); font-size: var(--font-sm); }
header nav > a:hover { text-decoration: underline; text-decoration-color: var(--color-green); }
header nav > a[aria-current=page] { color: var(--color-green); text-decoration: underline; text-underline-offset: .5rem; }
main { width: 100%; max-width: var(--content-width); flex: 1; margin: var(--space-2xl) auto; padding: 0 var(--space-lg); }
h1, h2, h3 { color: var(--color-deep-ultramarine); font-weight: var(--weight-heading); line-height: 1.25; }
h1 { font-size: var(--font-title); margin-top: 0; margin-bottom: var(--space-md); }
h2 { font-size: var(--font-lg); }
p { margin-top: 0; }
.nexus-hero.nexus-hero {
  position: relative;
  isolation: isolate;
  display: grid;
  height: clamp(12.75rem, 16vw, 14rem);
  align-content: stretch;
  margin-bottom: 1.5rem;
  padding: clamp(1.7rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--color-cyan) 18%, transparent);
  border-radius: 1rem 3rem 1rem 3rem;
  background: var(--nexus-surface);
  color: var(--color-white);
  box-shadow: 0 1.15rem 2.8rem color-mix(in srgb, var(--color-deep-ultramarine) 18%, transparent);
}
.nexus-hero.nexus-hero::before {
  position: absolute;
  z-index: -1;
  inset: auto -8% -78% 42%;
  height: 130%;
  border: 1px solid color-mix(in srgb, var(--color-white) 10%, transparent);
  border-radius: 50%;
  content: "";
  transform: rotate(-8deg);
}
.nexus-hero__back { position: absolute; z-index: 2; top: .85rem; left: clamp(1.7rem, 4vw, 3rem); margin: 0; }
.nexus-hero__back a { display: inline-flex; align-items: center; min-height: 2rem; color: color-mix(in srgb, var(--color-white) 78%, var(--color-cyan)); font-size: var(--font-sm); font-weight: var(--weight-medium); text-decoration: none; }
.nexus-hero__back a:hover { color: var(--color-white); text-decoration: underline; }
.nexus-hero__content { display: flex; align-items: center; gap: clamp(.7rem, 1.6vw, 1.2rem); min-width: 0; margin-top: 0; }
.nexus-hero__copy { position: relative; z-index: 1; min-width: 0; max-width: 54rem; }
.nexus-hero__wordmark { width: clamp(11.5rem, 23vw, 16rem); height: auto; }
.nexus-hero .nexus-hero__claim,
.nexus-hero .nexus-hero__page-title { margin: .65rem 0 0; color: color-mix(in srgb, var(--color-white) 92%, transparent); font-size: clamp(.95rem, 1.6vw, 1.08rem); font-weight: 500; line-height: 1.4; }
.nexus-hero .nexus-hero__page-title { letter-spacing: .045em; text-transform: uppercase; }
.nexus-hero .nexus-hero__developer { position: absolute; right: clamp(1.7rem, 4vw, 3rem); bottom: 1.2rem; margin: 0; color: color-mix(in srgb, var(--color-white) 62%, transparent); font-size: .72rem; letter-spacing: .015em; }
.nexus-hero__logo { width: 150px; height: 150px; }
.page-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--space-md); margin-bottom: var(--space-xl); }
.page-heading--actions { justify-content: flex-end; }
.eyebrow { font-size: var(--font-xs); letter-spacing: .11em; color: var(--color-graphite); font-weight: var(--weight-medium); }
.eyebrow::before { content: ""; display: inline-block; width: .6rem; height: .6rem; background: var(--color-yellow); margin-right: var(--space-sm); }
.panel { background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-sm) var(--radius-lg) var(--radius-sm) var(--radius-lg); padding: var(--space-xl); box-shadow: var(--panel-shadow); }
.narrow { max-width: var(--form-width); margin-inline: auto; }
.grid { display: grid; grid-template-columns: repeat(auto-fit,minmax(min(100%,var(--tile-min)),1fr)); gap: var(--space-lg); }
.dashboard-grid.nexus-app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.15rem; }
.nexus-welcome { margin: 2rem 0 1.25rem; }
.nexus-welcome p { margin-bottom: .25rem; color: var(--color-graphite); font-size: 1rem; }
.nexus-welcome h2 { margin: 0; font-size: clamp(1.45rem, 2.3vw, 1.8rem); }
.nexus-app-card { min-width: 0; }
.nexus-app-card__link {
  display: grid;
  grid-template-columns: 4.5rem minmax(0, 1fr) 2.5rem;
  gap: 1.15rem;
  align-items: center;
  min-height: 10.25rem;
  height: 100%;
  padding: 1.4rem;
  border: 1px solid color-mix(in srgb, var(--color-graphite) 13%, var(--color-white));
  border-radius: .85rem 1.7rem .85rem 1.7rem;
  background: #fff;
  box-shadow: 0 .25rem .9rem color-mix(in srgb, var(--color-deep-ultramarine) 5%, transparent);
  color: var(--color-black);
  text-decoration: none;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.nexus-app-card__link:hover, .nexus-app-card__link:focus-within { border-color: color-mix(in srgb, var(--color-cyan) 32%, var(--color-border)); box-shadow: 0 .4rem 1.1rem color-mix(in srgb, var(--color-deep-ultramarine) 7%, transparent); transform: translateY(-1px); }
.nexus-app-card__link:focus-visible { outline: 2px solid color-mix(in srgb, var(--color-cyan) 64%, var(--color-white)); outline-offset: 2px; }
.nexus-app-card__link--management { grid-template-columns: 4.5rem minmax(0, 1fr) auto; }
.nexus-app-card__copy { display: grid; min-width: 0; gap: .28rem; }
.nexus-app-card__title { overflow-wrap: anywhere; color: var(--color-deep-ultramarine); font-size: 1.12rem; font-weight: 650; line-height: 1.25; }
.nexus-app-card__description { overflow-wrap: anywhere; color: var(--color-graphite); font-size: .88rem; line-height: 1.45; }
.nexus-app-card__meta { margin-top: .2rem; overflow-wrap: anywhere; color: color-mix(in srgb, var(--color-graphite) 76%, var(--color-white)); font-size: .72rem; font-weight: 550; letter-spacing: .04em; text-transform: uppercase; }
.nexus-app-card__arrow { display: inline-grid; place-items: center; width: 2.35rem; height: 2.35rem; border: 1px solid color-mix(in srgb, var(--color-deep-ultramarine) 16%, var(--color-border)); border-radius: 50%; background: var(--color-soft-dark); color: var(--color-deep-ultramarine); }
.nexus-app-card__arrow svg { width: 1.1rem; height: 1.1rem; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.nexus-app-card__manage-action { display: inline-flex; align-items: center; justify-content: center; min-height: 2.35rem; padding: .45rem .75rem; border: 1px solid color-mix(in srgb, var(--color-deep-ultramarine) 16%, var(--color-border)); border-radius: var(--radius-md); background: var(--color-soft-dark); color: var(--color-deep-ultramarine); font-size: var(--font-sm); font-weight: var(--weight-medium); text-decoration: none; }
.nexus-app-card__manage-action:hover, .nexus-app-card__manage-action:focus-visible { border-color: color-mix(in srgb, var(--color-cyan) 32%, var(--color-border)); background: color-mix(in srgb, var(--color-cyan) 8%, var(--color-white)); }
.app-icon, .nexus-app-card__icon { display: inline-grid; place-items: center; width: 4.5rem; height: 4.5rem; overflow: hidden; }
.app-icon { background: var(--color-soft-dark); border-radius: var(--radius-sm) var(--radius-lg) var(--radius-sm) var(--radius-sm); }
.nexus-app-card__icon { border: 1px solid color-mix(in srgb, var(--color-cyan) 16%, var(--color-border)); border-radius: .7rem 1.4rem .7rem 1.4rem; background: color-mix(in srgb, var(--color-cyan) 8%, var(--color-white)); }
.app-icon img, .nexus-app-card__icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.muted, .helptext { color: var(--color-graphite); }
.helptext { display: block; font-size: var(--font-sm); margin-top: var(--space-xs); }
label { display: block; font-weight: var(--weight-medium); margin-bottom: var(--space-xs); }
input, select, textarea { width: 100%; min-height: var(--touch-target); padding: var(--space-sm); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-black); font: inherit; }
input[type=checkbox] { width: 1.15rem; min-height: 1.15rem; margin-right: var(--space-xs); vertical-align: middle; accent-color: var(--color-leaf-green); }
select[multiple] { min-height: 12rem; }
fieldset { border: 0; padding: 0; }
button, .button { display: inline-flex; align-items: center; justify-content: center; min-height: var(--touch-target); padding: var(--space-sm) var(--space-lg); border: 0; border-radius: var(--radius-sm) var(--radius-md) var(--radius-sm) var(--radius-md); background: var(--color-green); color: var(--color-deep-ultramarine); font: var(--weight-medium) var(--font-base)/1.35 var(--font-family); cursor: pointer; text-decoration: none; }
button:hover, .button:hover { background: var(--color-leaf-green); color: var(--color-white); }
button.secondary { background: var(--color-soft-dark); color: var(--color-deep-ultramarine); }
.user-page-heading { align-items: center; margin-bottom: 1.25rem; }
.user-page-heading h1 { margin-bottom: 0; }
.user-page-actions { justify-content: flex-end; margin-top: -.25rem; }
.user-create-button, .user-search-button { border: 1px solid var(--color-border); background: var(--color-soft-dark); color: var(--color-deep-ultramarine); }
.user-create-button:hover, .user-search-button:hover { border-color: var(--color-deep-ultramarine); background: color-mix(in srgb, var(--color-deep-ultramarine) 12%, var(--color-white)); color: var(--color-deep-ultramarine); }
.user-search { max-width: 34rem; margin-bottom: 1.5rem; }
.user-search > div { align-items: stretch; }
.user-search-button { min-width: 7rem; }
.user-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: 1fr; gap: 1rem; align-items: stretch; }
.user-card { position: relative; display: grid; grid-template-rows: 3.5rem 4.5rem 2rem 8.5rem 2.625rem; gap: .75rem; height: 100%; min-height: 27.125rem; padding: 1.15rem; overflow: visible; }
.user-card-identity { display: grid; grid-template-columns: 3rem minmax(0, 1fr); align-items: center; gap: .75rem; min-width: 0; }
.user-avatar { display: inline-grid; place-items: center; width: 3rem; height: 3rem; border: 1px solid color-mix(in srgb, var(--color-deep-ultramarine) 16%, var(--color-border)); border-radius: 50%; background: var(--color-soft-dark); color: var(--color-deep-ultramarine); font-size: .9rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.user-card-account { min-width: 0; }
.user-card-username-line { display: flex; align-items: center; gap: .45rem; min-width: 0; }
.user-card h2 { min-width: 0; margin: 0; overflow: hidden; color: var(--color-deep-ultramarine); font-size: 1.075rem; font-weight: 650; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.user-card-caption { display: block; margin-top: .15rem; color: var(--color-graphite); font-size: .72rem; }
.user-self-badge { flex: 0 0 auto; padding: .08rem .4rem; border-radius: 2rem; background: color-mix(in srgb, var(--color-cyan) 10%, var(--color-white)); color: var(--color-deep-ultramarine); font-size: .68rem; font-weight: 650; }
.user-card-profile { display: grid; grid-template-rows: 1.45rem 2.75rem; min-width: 0; padding-top: .25rem; border-top: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent); }
.user-card-profile p { min-width: 0; margin: 0; }
.user-name { overflow: hidden; color: var(--color-black); font-size: .875rem; font-weight: 550; line-height: 1.45rem; text-overflow: ellipsis; white-space: nowrap; }
.user-email { align-self: start; overflow-wrap: anywhere; color: var(--color-graphite); font-size: .775rem; line-height: 1.3; }
.user-field-empty { color: color-mix(in srgb, var(--color-graphite) 55%, var(--color-white)); }
.user-card-badges { display: flex; align-items: center; gap: .4rem; min-width: 0; }
.user-role-badge, .user-status-badge { display: inline-flex; align-items: center; justify-content: center; min-height: 1.65rem; padding: .18rem .55rem; border-radius: 2rem; font-size: .68rem; font-weight: 650; line-height: 1; letter-spacing: .025em; text-transform: uppercase; white-space: nowrap; }
.user-role-badge { overflow: hidden; border: 1px solid var(--color-border); background: var(--color-soft-dark); color: var(--color-deep-ultramarine); text-overflow: ellipsis; }
.user-status-badge.is-active { background: var(--color-soft-green); color: var(--color-dark-green); }
.user-status-badge.is-inactive { background: var(--color-soft-dark); color: var(--color-graphite); }
.user-card-primary-actions { display: grid; grid-template-rows: repeat(3, 2.5rem); align-content: start; gap: .5rem; }
.user-card-primary-actions form { display: contents; margin: 0; }
.user-primary-action, .user-card-primary-actions button.user-primary-action { width: 100%; height: 2.5rem; min-height: 2.5rem; padding: .4rem .65rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-soft-dark); color: var(--color-deep-ultramarine); box-shadow: none; font-size: .8rem; font-weight: 600; line-height: 1; white-space: nowrap; }
.user-primary-action:hover, .user-card-primary-actions button.user-primary-action:hover { border-color: var(--color-deep-ultramarine); background: color-mix(in srgb, var(--color-deep-ultramarine) 12%, var(--color-white)); color: var(--color-deep-ultramarine); }
.user-card-primary-actions button.user-primary-action:disabled { border-color: var(--color-border); background: var(--color-soft-dark); color: var(--color-graphite); cursor: not-allowed; opacity: .48; }
.user-card-more { position: relative; align-self: end; }
.user-card-more summary { display: flex; align-items: center; justify-content: space-between; width: 100%; height: 2.625rem; padding: .35rem .7rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-graphite); cursor: pointer; font-size: .78rem; font-weight: 550; list-style: none; }
.user-card-more summary::-webkit-details-marker { display: none; }
.user-card-more summary strong { color: var(--color-deep-ultramarine); font-size: 1.1rem; line-height: 1; }
.user-card-more[open] summary { border-color: color-mix(in srgb, var(--color-deep-ultramarine) 45%, var(--color-border)); color: var(--color-deep-ultramarine); }
.user-card-menu { position: absolute; z-index: 20; inset: calc(100% + .4rem) 0 auto auto; display: grid; width: min(17rem, calc(100vw - 2rem)); padding: .4rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); box-shadow: 0 .75rem 2rem color-mix(in srgb, var(--color-deep-ultramarine) 16%, transparent); }
.user-card-menu form { margin: 0; }
.user-menu-item, .user-card-menu button.user-menu-item { display: flex; align-items: center; justify-content: flex-start; width: 100%; min-height: 2.4rem; padding: .45rem .65rem; border: 0; border-radius: .25rem; background: transparent; color: var(--color-deep-ultramarine); font-size: .8rem; font-weight: 500; line-height: 1.25; text-align: left; text-decoration: none; }
.user-menu-item:hover, .user-card-menu button.user-menu-item:hover { background: var(--color-soft-dark); color: var(--color-deep-ultramarine); }
.user-card-menu button.user-menu-warning { color: #765200; }
.user-card-menu button.user-menu-warning:hover { background: #fff7dc; color: #765200; }
.user-menu-danger { margin-top: .35rem; padding-top: .35rem; border-top: 1px solid var(--color-border); }
.user-menu-danger .user-menu-item { color: var(--color-rust-red); }
.user-menu-danger .user-menu-item:hover { background: color-mix(in srgb, var(--color-rust-red) 8%, var(--color-white)); color: var(--color-rust-red); }
.compact-button { min-height: 1.75rem; padding: .2rem .58rem; border-radius: var(--radius-sm); font-size: .85rem; }
.button-success { background: color-mix(in srgb, var(--color-green) 10%, var(--color-white)); border: 1px solid var(--color-green); color: var(--color-deep-ultramarine); }
.button-success:hover { background: color-mix(in srgb, var(--color-green) 28%, var(--color-white)); border-color: var(--color-leaf-green); color: var(--color-deep-ultramarine); }
.button-warning { background: color-mix(in srgb, var(--color-yellow) 10%, var(--color-white)); border: 1px solid var(--color-yellow); color: var(--color-deep-ultramarine); }
.button-warning:hover { background: color-mix(in srgb, var(--color-yellow) 28%, var(--color-white)); border-color: #e1d200; color: var(--color-deep-ultramarine); }
.confirmation-actions { display: flex; flex-wrap: wrap; gap: var(--space-sm); }
.button-outline { border: 1px solid var(--color-deep-ultramarine); background: transparent; color: var(--color-deep-ultramarine); }
.button-outline:hover { background: var(--color-deep-ultramarine); color: var(--color-white); }
.button-danger { background: color-mix(in srgb, var(--color-rust-red) 10%, var(--color-white)); border: 1px solid var(--color-rust-red); color: var(--color-rust-red); }
.button-danger:hover { background: var(--color-rust-red); color: var(--color-white); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--color-leaf-green); outline-offset: 3px; }
header a:focus-visible, header button:focus-visible { outline-color: var(--color-yellow); }
.errorlist { color: var(--color-rust-red); padding-left: var(--space-lg); }
.notice { padding: var(--space-md); border-left: 4px solid var(--color-green); background: var(--color-soft-green); }
.search { margin-bottom: var(--space-xl); max-width: 40rem; }
.search > div { display: flex; gap: var(--space-sm); }
.action-form { margin-top: var(--space-sm); }
.table-scroll { overflow-x: auto; max-width: 100%; background: var(--color-white); border: 1px solid var(--color-border); border-radius: var(--radius-md); }
table { border-collapse: collapse; width: 100%; min-width: 45rem; }
th, td { text-align: left; padding: var(--space-md); border-bottom: 1px solid var(--color-border); vertical-align: top; }
th { background: var(--color-soft-dark); color: var(--color-deep-ultramarine); font-weight: var(--weight-medium); }
pre { white-space: pre-wrap; overflow-wrap: anywhere; max-width: 24rem; }
code, article h2, article p { overflow-wrap: anywhere; }
.pagination { display: flex; gap: var(--space-md); flex-wrap: wrap; margin-top: var(--space-lg); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.skip-link { position: absolute; left: var(--space-md); top: -10rem; background: var(--color-white); padding: var(--space-md); z-index: 5; }
.skip-link:focus { top: var(--space-md); }
.portal-footer { width: 100%; max-width: var(--content-width); margin: auto auto 0; padding: var(--space-lg); text-align: right; color: var(--color-graphite); font-size: var(--font-xs); }
.login-layout { display: grid; grid-template-columns: 1fr 1fr; max-width: 62rem; margin: var(--space-2xl) auto; overflow: hidden; border: 1px solid color-mix(in srgb, var(--color-cyan) 18%, transparent); border-radius: var(--radius-sm) var(--radius-hero) var(--radius-sm) var(--radius-hero); background: var(--nexus-surface); box-shadow: 0 1.15rem 2.8rem color-mix(in srgb, var(--color-deep-ultramarine) 18%, transparent); }
.login-intro { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: var(--space-2xl); color: var(--color-white); }
.login-intro::before { position: absolute; z-index: -1; inset: auto -24% -58% 30%; height: 105%; border: 1px solid color-mix(in srgb, var(--color-white) 10%, transparent); border-radius: 50%; content: ""; transform: rotate(-8deg); }
.login-brand { display: flex; align-items: center; gap: 1.625rem; margin-bottom: 1.15rem; }
.login-brand__logo { width: 5rem; height: 5rem; }
.login-brand__wordmark { width: clamp(11.5rem, 23vw, 16rem); height: auto; }
.login-intro > p { max-width: 25rem; margin-bottom: 0; color: color-mix(in srgb, var(--color-white) 82%, transparent); }
.login-panel { padding: var(--space-2xl); background: var(--color-white); }
.login-panel button { width: 100%; }
@media (max-width: 800px) {
  header { align-items: flex-start; }
  header nav { width: 100%; gap: var(--space-xs) var(--space-md); }
  main { margin-top: var(--space-xl); }
  .login-layout { grid-template-columns: 1fr; margin-block: var(--space-md); }
  .login-intro, .login-panel { padding: var(--space-xl); }
  .nexus-hero__content, .login-brand { gap: 1.25rem; }
  .nexus-hero__logo, .login-brand__logo { width: 4.5rem; height: 4.5rem; }
  .login-brand__wordmark { width: clamp(10.5rem, 40vw, 14rem); }
  .login-intro p:last-child { margin-bottom: 0; }
}
@media (max-width: 1000px) {
  .nexus-hero__logo { width: 108px; height: 108px; }
  .application-management-grid { grid-template-columns: 1fr; }
  .user-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .dashboard-grid.nexus-app-grid { grid-template-columns: 1fr; }
  .nexus-app-card__link { min-height: 9.25rem; }
}
@media (max-width: 600px) {
  .nexus-hero.nexus-hero { height: 15.5rem; padding: 1.35rem; border-radius: .75rem 1.8rem .75rem 1.8rem; }
  .nexus-hero__back { top: .55rem; left: 1.35rem; }
  .nexus-hero__content { align-items: center; gap: 1rem; margin-top: 2.9rem; }
  .nexus-hero__wordmark { width: clamp(10rem, 45vw, 12rem); }
  .nexus-hero__logo { width: 80px; height: 80px; }
  .nexus-hero .nexus-hero__developer { position: static; justify-self: start; margin: 1.1rem 0 0; padding-top: .7rem; border-top: 1px solid color-mix(in srgb, var(--color-white) 12%, transparent); font-size: .68rem; }
  .user-grid { grid-template-columns: 1fr; }
  .user-card-menu { inset: auto 0 calc(100% + .4rem) auto; }
}
@media (max-width: 480px) {
  main { padding-inline: var(--space-md); }
  header { padding: var(--space-md); }
  .nexus-hero__logo { width: 80px; height: 80px; }
  .login-brand { gap: 1rem; }
  .login-brand__logo { width: 4rem; height: 4rem; }
  .nexus-app-card__link { grid-template-columns: 3.6rem minmax(0, 1fr) 2.1rem; gap: .85rem; padding: 1.1rem; }
  .nexus-app-card__link--management { grid-template-columns: 3.6rem minmax(0, 1fr); }
  .nexus-app-card__link--management .nexus-app-card__manage-action { grid-column: 2; justify-self: start; }
  .nexus-app-card__icon { width: 3.6rem; height: 3.6rem; border-radius: .6rem 1.1rem .6rem 1.1rem; }
  .nexus-app-card__arrow { width: 2.05rem; height: 2.05rem; }
  .panel { padding: var(--space-lg); }
  .search > div { flex-wrap: wrap; }
  .search button { width: 100%; }
  .portal-footer { text-align: center; padding-inline: var(--space-md); }
  .page-heading h1 { margin-bottom: 0; }
  .user-page-heading .user-create-button { width: 100%; }
}
p:has(> input[type=checkbox]) { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: center; gap: var(--space-sm); }
p:has(> input[type=checkbox]) > label { display: flex; align-items: center; min-height: var(--touch-target); margin: 0; }
p:has(> input[type=checkbox]) > input { flex: 0 0 1.15rem; }
label:has(> input[type=checkbox]) { display: flex; align-items: center; gap: var(--space-sm); min-height: var(--touch-target); }

/* Compact user administration: one responsive list and a contextual editor. */
main:has(.user-management) { max-width: 92rem; }
.user-management { margin-top: 1.4rem; }
.user-toolbar { display: grid; grid-template-columns: minmax(18rem, 1.7fr) minmax(10rem, .55fr) minmax(10rem, .55fr) auto; gap: 1rem; align-items: center; margin-bottom: 1.35rem; }
.user-search-field { display: flex; align-items: center; gap: .6rem; min-height: 3.25rem; padding: 0 .85rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); }
.user-search-field span { color: var(--color-deep-ultramarine); font-size: 1.55rem; line-height: 1; }
.user-search-field input { min-width: 0; min-height: 0; padding: 0; border: 0; outline: 0; }
.user-toolbar select { min-height: 3.25rem; }
.user-create-button { justify-self: end; min-width: 13.25rem; min-height: 3.25rem; border-color: color-mix(in srgb, var(--color-cyan) 38%, var(--color-deep-ultramarine)); background: var(--color-deep-ultramarine); color: var(--color-white); }
.user-create-button:hover { background: var(--color-cyan); color: var(--color-deep-ultramarine); }
.user-management-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.user-management-layout:has(.user-editor:not([hidden])) { grid-template-columns: minmax(0, 1fr) minmax(25rem, 26.5rem); }
.user-list-summary { margin-bottom: .85rem; color: var(--color-deep-ultramarine); font-size: 1.1rem; font-weight: 650; }
.user-table-wrap { overflow: visible; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }
.user-table { min-width: 0; table-layout: fixed; }
.user-table th { padding: .95rem 1.25rem; background: color-mix(in srgb, var(--color-soft-dark) 72%, var(--color-white)); font-size: .78rem; }
.user-table th button { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; color: inherit; font: inherit; }
.user-table td { padding: .78rem 1.25rem; vertical-align: middle; color: var(--color-deep-ultramarine); }
.user-table th:nth-child(1) { width: 24%; }.user-table th:nth-child(2) { width: 27%; }.user-table th:nth-child(3) { width: 16%; }.user-table th:nth-child(4) { width: 13%; }.user-table th:nth-child(5) { width: 160px; }
.user-table tbody tr { height: 4.25rem; }.user-table tbody tr:hover { background: color-mix(in srgb, var(--color-cyan) 6%, var(--color-white)); }.user-table tbody tr.is-selected { background: color-mix(in srgb, var(--color-cyan) 10%, var(--color-white)); }
.user-table td strong { display: inline-block; overflow: hidden; max-width: calc(100% - 3rem); text-overflow: ellipsis; vertical-align: middle; white-space: nowrap; }.user-table td small { display: block; overflow: hidden; color: var(--color-graphite); font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }.user-table td:nth-child(2) { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-status-dot { display: inline-block; width: .65rem; height: .65rem; margin-right: .4rem; border-radius: 50%; background: var(--color-graphite); }.user-status-dot.is-active { background: #2fad40; }.user-status-dot.is-inactive { background: #8a9a98; }
.user-table td.user-row-actions { display: table-cell; vertical-align: middle; }.user-row-actions-inner { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; }.user-row-actions .compact-button { min-width: 7.5rem; }.user-row-more { position: relative; }.user-row-more summary { display: grid; place-items: center; width: 2.45rem; height: 2.45rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-deep-ultramarine); cursor: pointer; font-size: 1.25rem; font-weight: 700; line-height: 1; list-style: none; }.user-row-more summary::-webkit-details-marker { display: none; }.user-row-more .user-card-menu { inset: calc(100% + .35rem) 0 auto auto; }
.user-empty-state { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; }.user-pagination button { min-height: 2rem; padding: .3rem .65rem; border: 1px solid var(--color-border); background: var(--color-white); color: var(--color-deep-ultramarine); }
.user-editor { position: sticky; top: 1rem; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); box-shadow: 0 1rem 2.5rem color-mix(in srgb, var(--color-deep-ultramarine) 12%, transparent); }.user-editor[hidden] { display: none; }
.user-editor-header { display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 1.25rem .8rem; }.user-editor-header h2 { margin: 0; color: var(--color-deep-ultramarine); font-size: 1.2rem; }.user-editor-close { min-height: 2rem; padding: 0 .3rem; border: 0; background: transparent; color: var(--color-deep-ultramarine); font-size: 2rem; }.user-editor-tabs { display: grid; grid-template-columns: 1fr 1fr; margin: 0 1.25rem; border-bottom: 1px solid var(--color-border); }.user-editor-tabs button { min-height: 2.5rem; border: 0; border-bottom: 2px solid transparent; border-radius: 0; background: transparent; color: var(--color-graphite); font-size: .9rem; }.user-editor-tabs button.is-active { border-color: var(--color-cyan); color: var(--color-deep-ultramarine); font-weight: 650; }.user-editor form { display: grid; gap: .85rem; padding: 1.15rem 1.25rem 1.25rem; }.user-editor-field { margin: 0; }.user-editor-field label { color: var(--color-graphite); font-size: .82rem; }.user-editor-field input, .user-editor-field select { min-height: 2.65rem; }.user-editor-field ul { margin: .28rem 0 0; color: var(--color-rust-red); font-size: .78rem; }.user-editor-field small { display: block; margin-top: .28rem; color: var(--color-graphite); font-size: .74rem; }.user-editor-field ul#id_permissions, .user-editor-field ul#id_hellmann { display: grid; gap: .4rem; padding: 0; list-style: none; }.user-editor-footer { display: flex; justify-content: flex-end; gap: .65rem; margin-top: .35rem; }.user-editor-footer button { min-width: 7.5rem; }.user-editor-feedback { min-height: 1.1rem; margin: 0; color: var(--color-dark-green); font-size: .8rem; }.user-editor-spinner { width: .7rem; height: .7rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: presentation-create-spin .7s linear infinite; }
@media (max-width: 980px) { .user-toolbar { grid-template-columns: minmax(15rem, 1fr) minmax(9rem, .6fr) minmax(9rem, .6fr); }.user-create-button { grid-column: 1 / -1; justify-self: end; }.user-management-layout:has(.user-editor:not([hidden])) { grid-template-columns: minmax(0, 1fr); }.user-editor { position: static; }.user-management-layout:has(.user-editor:not([hidden])) .user-list-region { display: none; } }
@media (max-width: 640px) { .user-toolbar { grid-template-columns: 1fr; gap: .65rem; }.user-create-button { width: 100%; justify-self: stretch; }.user-table-wrap { overflow-x: visible; border: 0; background: transparent; }.user-table, .user-table tbody, .user-table tr, .user-table td { display: block; width: 100%; }.user-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }.user-table tbody { display: grid; gap: .7rem; }.user-table tbody tr { height: auto; padding: .9rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); }.user-table td { display: grid; grid-template-columns: 6.7rem minmax(0, 1fr); gap: .5rem; padding: .25rem 0; border: 0; overflow-wrap: anywhere; white-space: normal; }.user-table td::before { content: attr(data-label); color: var(--color-graphite); font-size: .76rem; font-weight: 650; }.user-table td:nth-child(2) { overflow: visible; text-overflow: clip; white-space: normal; }.user-table td.user-row-actions { display: block; margin-top: .3rem; }.user-table td.user-row-actions::before { display: none; }.user-row-actions-inner { justify-content: flex-end; }.user-row-actions .compact-button { min-height: 2.6rem; }.user-row-more summary { width: 2.6rem; height: 2.6rem; }.user-row-more .user-card-menu { position: fixed; top: auto; right: 1rem; bottom: 1rem; left: 1rem; width: auto; }.user-empty-state { align-items: flex-start; flex-direction: column; }.user-editor-footer { flex-wrap: wrap; }.user-editor-footer button { flex: 1 1 7.5rem; min-height: 2.7rem; } }

/* Application management: compact list and contextual editor. */
.user-editor-application-access { display: grid; border-top: 1px solid var(--color-border); }
.user-editor-application-row { display: flex; align-items: center; justify-content: space-between; gap: .75rem; min-height: 2.85rem; border-bottom: 1px solid var(--color-border); color: var(--color-deep-ultramarine); font-size: .88rem; }
.user-editor-application-row strong { font-weight: 600; }
.user-editor-application-row > span { color: var(--color-graphite); font-size: .8rem; }
.user-editor-application-row input[type="checkbox"] { width: 2.5rem; height: 1.35rem; margin: 0; accent-color: var(--color-cyan); }
main:has(.application-management) { max-width: 92rem; }
.application-management { margin-top: 1.4rem; }
.application-toolbar { display: grid; grid-template-columns: minmax(18rem, 1.7fr) minmax(10rem, .55fr) minmax(10rem, .55fr) auto; gap: 1rem; align-items: center; margin-bottom: 1.35rem; }
.application-search-field { display: flex; align-items: center; gap: .6rem; min-height: 3.25rem; padding: 0 .85rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); }
.application-search-field span { color: var(--color-deep-ultramarine); font-size: 1.55rem; line-height: 1; }.application-search-field input { min-width: 0; min-height: 0; padding: 0; border: 0; outline: 0; }
.application-toolbar select { min-height: 3.25rem; }.application-create-button { justify-self: end; min-width: 13.25rem; min-height: 3.25rem; border-color: color-mix(in srgb, var(--color-cyan) 38%, var(--color-deep-ultramarine)); background: var(--color-deep-ultramarine); color: var(--color-white); }.application-create-button:hover { background: var(--color-cyan); color: var(--color-deep-ultramarine); }
.application-management-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; align-items: start; }.application-management-layout:has(.application-editor:not([hidden])) { grid-template-columns: minmax(0, 1fr) minmax(26.25rem, 28.75rem); }
.application-list-controls { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: .85rem; }.application-list-summary { color: var(--color-deep-ultramarine); font-size: 1.1rem; font-weight: 650; }
.application-sort-actions { display: flex; align-items: center; gap: .5rem; }.application-sort-actions span { display: inline-flex; gap: .5rem; }.application-sort-actions [hidden] { display: none !important; }
.application-table-wrap { overflow: visible; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); }.application-table { min-width: 0; table-layout: fixed; }.application-table th { padding: .95rem 1rem; background: color-mix(in srgb, var(--color-soft-dark) 72%, var(--color-white)); font-size: .78rem; }.application-table td { padding: .7rem 1rem; vertical-align: middle; color: var(--color-deep-ultramarine); }.application-table th:nth-child(1) { width: 38%; }.application-table th:nth-child(2) { width: 12%; }.application-table th:nth-child(3) { width: 13%; }.application-table th:nth-child(4) { width: 15%; }.application-table th:nth-child(5) { width: 160px; }.application-table tbody tr { height: 4.25rem; }.application-table tbody tr:hover { background: color-mix(in srgb, var(--color-cyan) 6%, var(--color-white)); }.application-table tbody tr.is-selected { background: color-mix(in srgb, var(--color-cyan) 10%, var(--color-white)); }
.application-cell-name { display: flex; align-items: center; min-width: 0; gap: .8rem; }.application-cell-name strong { min-width: 0; overflow-wrap: break-word; color: var(--color-deep-ultramarine); line-height: 1.28; }.application-list-icon { flex: 0 0 2.45rem; width: 2.45rem; height: 2.45rem; border-radius: .55rem; background: color-mix(in srgb, var(--color-cyan) 8%, var(--color-white)); }.application-list-icon img { display: block; width: 100%; height: 100%; object-fit: contain; }.application-status-dot { display: inline-block; width: .65rem; height: .65rem; margin-right: .4rem; border-radius: 50%; background: #8a9a98; }.application-status-dot.is-active { background: #2fad40; }
.application-table td.application-row-actions { display: table-cell; vertical-align: middle; }.application-row-actions-inner { display: flex; align-items: center; justify-content: flex-end; gap: .5rem; }.application-row-actions .compact-button { min-width: 7.5rem; }.application-row-more { position: relative; }.application-row-more summary { display: grid; place-items: center; width: 2.45rem; height: 2.45rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); color: var(--color-deep-ultramarine); cursor: pointer; font-size: 1.25rem; font-weight: 700; line-height: 1; list-style: none; }.application-row-more summary::-webkit-details-marker { display: none; }.application-card-menu { position: absolute; z-index: 30; inset: calc(100% + .35rem) 0 auto auto; display: grid; width: min(13rem, calc(100vw - 2rem)); padding: .4rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); box-shadow: 0 .75rem 2rem color-mix(in srgb, var(--color-deep-ultramarine) 16%, transparent); }.application-card-menu form { margin: 0; }.application-menu-item { width: 100%; min-height: 2.4rem; border: 0; border-radius: .25rem; background: transparent; color: var(--color-deep-ultramarine); text-align: left; }.application-menu-item:hover { background: var(--color-soft-dark); }.application-empty-state { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.35rem 0; }

/* Shared management tables: scoped to User, Application and KPI site administration. */
.user-table,.application-table,.sites-management-table{font-size:16px}.user-table th,.application-table th,.sites-management-table th{height:44px;padding:0 16px;vertical-align:middle;background:#eef3f2;font-size:16px}.user-table td,.application-table td,.sites-management-table td{min-height:64px;padding:12px 16px;vertical-align:middle}.user-table tbody tr,.application-table tbody tr,.sites-management-table tbody tr{height:64px}.user-table .compact-button,.application-table .compact-button,.sites-management-table .button{box-sizing:border-box;width:120px;min-width:120px;height:40px;min-height:40px;padding:0}.user-table th:last-child,.application-table th:last-child,.sites-management-table th:last-child,.user-table td:last-child,.application-table td:last-child,.sites-management-table td:last-child{text-align:center}.user-table th:last-child,.application-table th:last-child,.sites-management-table th:last-child{width:160px}.user-row-actions-inner,.application-row-actions-inner,.sites-table-actions{justify-content:center}.management-status-dot{display:inline-block;width:.6rem;height:.6rem;margin-right:.45rem;border-radius:50%;background:#9aaab0}.management-status-dot.is-active{background:#2fad40}.management-action-heading{text-align:center!important}.user-editor-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.75rem;border-top:1px solid var(--color-border);font-size:.85rem}.user-editor-actions a,.user-editor-actions button{color:var(--color-deep-ultramarine)}.user-editor-actions .user-editor-danger{color:var(--color-rust-red)}
.application-editor { position: sticky; top: 1rem; overflow: hidden; border: 1px solid var(--color-border); border-radius: var(--radius-md); background: var(--color-white); box-shadow: 0 1rem 2.5rem color-mix(in srgb, var(--color-deep-ultramarine) 12%, transparent); }.application-editor[hidden] { display: none; }.application-editor-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: 1rem 1rem 0; }.application-editor-header h2 { margin: 0; color: var(--color-deep-ultramarine); font-size: 1.2rem; }.application-editor-header-actions { display: inline-flex; align-items: center; gap: .7rem; }.application-editor-close { display: grid; place-items: center; width: 2rem; height: 2rem; min-height: 2rem; padding: 0; border: 0; background: transparent; color: var(--color-deep-ultramarine); font-size: 2rem; line-height: 1; }.application-active-toggle { display: inline-flex; align-items: center; gap: .45rem; color: var(--color-graphite); font-size: .9rem; line-height: 1.5rem; white-space: nowrap; cursor: pointer; }.application-active-toggle input { box-sizing: border-box; flex: 0 0 2.75rem; appearance: none; width: 2.75rem; height: 1.5rem; min-height: 1.5rem; margin: 0; padding: 0; border: 1px solid #93a5aa; border-radius: 999px; background: #9caab0; cursor: pointer; overflow: hidden; transition: background .15s ease; }.application-active-toggle input::after { display: block; width: 1.125rem; height: 1.125rem; margin: .125rem; border-radius: 50%; background: var(--color-white); box-shadow: 0 1px 2px rgba(20,35,35,.2); content: ""; transition: transform .15s ease; }.application-active-toggle input:checked { border-color: #2fad40; background: #2fad40; }.application-active-toggle input:checked::after { transform: translateX(1.125rem); }.application-editor form { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; padding: 1rem; }.application-editor-field { display: grid; grid-template-columns: minmax(0, 1fr); gap: .3rem; margin: 0; }.application-editor-field label { color: var(--color-graphite); font-size: .82rem; font-weight: 600; }.application-editor-field input:not([type="checkbox"]), .application-editor-field select, .application-editor-field textarea { box-sizing: border-box; width: 100%; min-height: 2.5rem; height: 2.5rem; padding: 0 .75rem; font-size: 1rem; line-height: 1.2; }.application-editor-field select { padding-right: 2.5rem; text-overflow: ellipsis; }.application-editor-field textarea { min-height: 4.75rem; height: auto; padding-top: .55rem; padding-bottom: .55rem; line-height: 1.35; resize: vertical; }.application-editor-field--new_tab { display: flex; grid-template-columns: none; align-items: center; gap: .55rem; min-height: 1.5rem; }.application-editor-field--new_tab input { width: 1.15rem; height: 1.15rem; margin: 0; }.application-editor-field--new_tab label { font-size: .86rem; font-weight: 500; }.application-icon-select-row { display: grid; grid-template-columns: 3rem minmax(0, 1fr); align-items: center; gap: .75rem; }.application-editor-icon { display: grid; place-items: center; box-sizing: border-box; width: 3rem; height: 3rem; border: 1px solid var(--color-border); border-radius: .35rem; background: color-mix(in srgb, var(--color-cyan) 8%, var(--color-white)); }.application-editor-icon img { display: block; width: 2rem; height: 2rem; object-fit: contain; }.application-editor-field ul { margin: 0; color: var(--color-rust-red); font-size: .78rem; }.application-editor-field small { display: block; margin-top: 0; color: var(--color-graphite); font-size: .74rem; }.application-editor-field--icon small { display: none; }.application-editor-feedback { min-height: 0; margin: 0; color: var(--color-dark-green); font-size: .8rem; }.application-editor-feedback:empty { display: none; }.application-editor-footer { display: flex; justify-content: flex-end; gap: .5rem; margin-top: .25rem; padding-top: .75rem; border-top: 1px solid var(--color-border); }.application-editor-footer button { min-width: 7.5rem; }.application-editor-spinner { display: inline-block; width: .7rem; height: .7rem; margin-right: .3rem; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: presentation-create-spin .7s linear infinite; }.application-editor-spinner[hidden] { display: none; }.application-table tr.is-sortable { cursor: grab; }.application-sort-controls { display: inline-flex; gap: .25rem; margin-left: .5rem; }.application-sort-controls button { min-width: 1.7rem; min-height: 1.7rem; padding: 0; border: 1px solid var(--color-border); background: var(--color-white); color: var(--color-deep-ultramarine); }
@media (max-width: 980px) { .application-toolbar { grid-template-columns: minmax(15rem, 1fr) minmax(9rem, .6fr) minmax(9rem, .6fr); }.application-create-button { grid-column: 1 / -1; justify-self: end; }.application-management-layout:has(.application-editor:not([hidden])) { grid-template-columns: minmax(0, 1fr); }.application-editor { position: static; }.application-management-layout:has(.application-editor:not([hidden])) .application-list-region { display: none; } }
@media (max-width: 640px) { .application-toolbar { grid-template-columns: 1fr; gap: .65rem; }.application-create-button { width: 100%; justify-self: stretch; }.application-list-controls { align-items: flex-start; flex-direction: column; }.application-table-wrap { overflow: visible; border: 0; background: transparent; }.application-table, .application-table tbody, .application-table tr, .application-table td { display: block; width: 100%; }.application-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }.application-table tbody { display: grid; gap: .7rem; }.application-table tbody tr { height: auto; padding: .9rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); }.application-table td { display: grid; grid-template-columns: 6.8rem minmax(0, 1fr); gap: .5rem; padding: .25rem 0; border: 0; overflow-wrap: break-word; }.application-table td::before { content: attr(data-label); color: var(--color-graphite); font-size: .76rem; font-weight: 650; }.application-table td.application-row-actions { display: block; margin-top: .3rem; }.application-table td.application-row-actions::before { display: none; }.application-row-actions-inner { justify-content: flex-end; }.application-row-actions .compact-button, .application-row-more summary { min-height: 2.6rem; }.application-row-more summary { width: 2.6rem; height: 2.6rem; }.application-card-menu { position: fixed; top: auto; right: 1rem; bottom: 1rem; left: 1rem; width: auto; }.application-editor-footer { flex-wrap: wrap; }.application-editor-footer button { flex: 1 1 7.5rem; min-height: 2.7rem; } }

/* Final shared management-table alignment. Scoped so dashboard cards stay untouched. */
.user-table tbody td,.application-table tbody td,.sites-management-table tbody td{background:var(--color-white)}
.user-table th:last-child,.user-table td:last-child,.application-table th:last-child,.application-table td:last-child,.sites-management-table th:last-child,.sites-management-table td:last-child{box-sizing:border-box;width:160px;text-align:center}
.user-row-actions-inner,.application-row-actions-inner,.sites-table-actions{display:flex;width:100%;align-items:center;justify-content:center}
.user-table .compact-button,.application-table .compact-button,.sites-management-table .button.secondary{box-sizing:border-box;width:120px;min-width:120px;height:40px;min-height:40px;padding:0;border:1px solid color-mix(in srgb,var(--color-deep-ultramarine) 20%,var(--color-border));border-radius:8px;background:color-mix(in srgb,var(--color-cyan) 7%,var(--color-white));box-shadow:none;color:var(--color-deep-ultramarine);font:inherit;font-size:16px;line-height:1}
.user-table .compact-button:hover,.application-table .compact-button:hover,.sites-management-table .button.secondary:hover{border-color:color-mix(in srgb,var(--color-deep-ultramarine) 42%,var(--color-border));background:color-mix(in srgb,var(--color-cyan) 13%,var(--color-white));box-shadow:none}
.user-table .compact-button:focus-visible,.application-table .compact-button:focus-visible,.sites-management-table .button.secondary:focus-visible,.user-table th button:focus-visible,.sites-management-table th button:focus-visible{outline:2px solid var(--color-cyan);outline-offset:3px}
.user-table th button,.sites-management-table th button{display:inline-flex;align-items:center;gap:6px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:inherit;font:inherit;line-height:1.2;text-decoration:none}
.management-sort-icon{display:inline-block;line-height:1}
.user-table th:nth-child(5),.user-table td:nth-child(5),.application-table th:nth-child(5),.application-table td:nth-child(5){width:160px}
.user-table,.application-table,.sites-management-table{width:100%;table-layout:fixed}
.management-action-column{width:160px}
@media (min-width: 641px){
  .user-table,.application-table{display:block;width:100%}
  .user-table thead,.user-table tbody,.application-table thead,.application-table tbody{display:block;width:100%}
  .user-table colgroup,.application-table colgroup{display:none}
  .user-table thead tr,.user-table tbody tr{display:grid;grid-template-columns:minmax(180px,25fr) minmax(300px,42fr) minmax(130px,20fr) minmax(100px,13fr) 160px;width:100%}
  .application-table thead tr,.application-table tbody tr{display:grid;grid-template-columns:minmax(240px,60fr) minmax(80px,12fr) minmax(70px,10fr) minmax(100px,18fr) 160px;width:100%}
  .user-table th,.user-table td,.application-table th,.application-table td{box-sizing:border-box;width:auto!important;min-width:0}
}

/* Systemverwaltung: deliberately scoped, shared portal controls remain unchanged. */
.system-management{max-width:76rem}.system-tabs{display:flex;gap:1.5rem;margin:0 0 2rem;border-bottom:1px solid var(--color-border)}.system-tabs a{min-height:3rem;padding:.85rem 1rem .7rem;color:var(--color-graphite);font-weight:600;text-decoration:none}.system-tabs a[aria-current=page]{border-bottom:3px solid var(--color-deep-ultramarine);color:var(--color-deep-ultramarine)}.system-settings-card{max-width:42rem;padding:1.75rem}.system-settings-card h2{margin-top:0;font-size:1.6rem}.system-field{display:grid;gap:.35rem;margin:0 0 1.5rem}.system-field small{color:var(--color-graphite)}.system-input-unit{display:grid;grid-template-columns:minmax(0,1fr) 6.5rem;max-width:38rem}.system-input-unit input{height:44px;min-height:44px;border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.system-input-unit>span{display:grid;place-items:center;height:44px;border:1px solid var(--color-border);border-left:0;border-radius:0 var(--radius-sm) var(--radius-sm) 0;background:var(--color-soft-dark);color:var(--color-graphite)}.system-field-error{color:var(--color-rust-red);font-size:.85rem}.system-settings-actions{display:flex;align-items:center;gap:.75rem}.system-primary{min-height:44px;border:1px solid color-mix(in srgb,var(--color-cyan) 38%,var(--color-deep-ultramarine));background:var(--color-deep-ultramarine);color:var(--color-white)}.system-primary:hover{background:var(--color-cyan);color:var(--color-deep-ultramarine)}.system-primary:disabled{opacity:.6;cursor:not-allowed}.system-audit-note{margin:0 0 1rem;color:var(--color-deep-ultramarine)}.system-audit-search{display:flex;gap:.75rem;max-width:42rem;margin-bottom:1.25rem}.system-audit-search input{height:44px;min-height:44px}.system-audit-table-wrap{overflow-x:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-white)}.system-audit-table{width:100%;min-width:54rem;border-collapse:collapse;table-layout:fixed;font-size:16px}.system-audit-table th{height:44px;padding:0 16px;background:#eef3f2;color:var(--color-deep-ultramarine);text-align:left}.system-audit-table td{min-height:64px;padding:12px 16px;vertical-align:middle;background:var(--color-white);border-top:1px solid var(--color-border)}.system-audit-table th:nth-child(1){width:12%}.system-audit-table th:nth-child(2){width:14%}.system-audit-table th:nth-child(3){width:24%}.system-audit-table th:nth-child(4){width:34%}.system-audit-table th:nth-child(5){width:16%}.system-audit-table small{display:block;color:var(--color-graphite)}.system-audit-details{margin-top:.35rem}.system-audit-details summary{color:var(--color-deep-ultramarine);cursor:pointer}.system-audit-details pre{max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap}.system-pagination{display:flex;justify-content:space-between;gap:1rem;margin-top:1rem;color:var(--color-graphite)}.system-pagination a,.system-pagination strong{display:inline-flex;min-width:2rem;min-height:2rem;align-items:center;justify-content:center;margin-left:.25rem;padding:0 .55rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);text-decoration:none}.system-pagination strong{background:var(--color-deep-ultramarine);color:var(--color-white)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}@media(max-width:640px){.system-tabs{gap:.25rem;margin-bottom:1.25rem}.system-tabs a{padding-inline:.65rem}.system-settings-card{padding:1rem}.system-input-unit{max-width:none}.system-audit-search{flex-direction:column}.system-audit-search .system-primary{width:100%}.system-pagination{align-items:flex-start;flex-direction:column}.system-audit-table{min-width:44rem}}
