/* Shared layout tokens and UIkit adaptations; never loaded into Django Admin. */
.nexus-ui {
  --nexus-primary: #034c8c;
  --nexus-primary-hover: #023f73;
  --nexus-primary-soft: #e6f0f9;
  --nexus-focus: #012544;
  --nexus-text: #1a1a1a;
  --nexus-muted: #666666;
  --nexus-surface: #ffffff;
  --nexus-canvas: #f5f5f5;
  --nexus-border: #e0e0e0;
  --nexus-control-border: #b3b3b3;
  --nexus-error: #b71c35;
  --nexus-error-soft: #feebee;
  --nexus-success: #006c35;
  --nexus-success-soft: #e6f7ed;
  --nexus-warning: #765600;
  --nexus-warning-soft: #fff9e6;
  --nexus-space-1: .25rem;
  --nexus-space-2: .5rem;
  --nexus-space-3: .75rem;
  --nexus-space-4: 1rem;
  --nexus-space-5: 1.5rem;
  --nexus-space-6: 2rem;
  --nexus-space-7: 2.5rem;
  --nexus-radius-control: .375rem;
  --nexus-radius-panel: .625rem;
  --nexus-font-small: .875rem;
  --nexus-font-body: 1rem;
  --nexus-sidebar-width: 14rem;
  --nexus-content-width: 88rem;
  --nexus-form-width: 32rem;
  margin: 0;
  min-height: 100vh;
  background: var(--nexus-canvas);
  color: var(--nexus-text);
  font: var(--nexus-font-body)/1.5 system-ui, sans-serif;
}

.nexus-ui *, .nexus-ui *::before, .nexus-ui *::after { box-sizing: border-box; }
.nexus-ui a { color: var(--nexus-primary); }
.nexus-ui h1, .nexus-ui h2, .nexus-ui h3 {
  color: var(--nexus-text);
  font-family: inherit;
  font-weight: 650;
  line-height: 1.2;
  overflow-wrap: anywhere;
}
.nexus-ui h1 { font-size: clamp(1.625rem, 3vw, 2.25rem); margin: 0 0 var(--nexus-space-3); }
.nexus-ui h2 { font-size: 1.375rem; }
.nexus-ui h3 { font-size: 1.125rem; }
.nexus-ui :focus-visible { outline: 3px solid var(--nexus-focus); outline-offset: 3px; }
.nexus-ui .nexus-skip { position: absolute; left: var(--nexus-space-4); top: -8rem; z-index: 10; padding: var(--nexus-space-3); background: var(--nexus-surface); }
.nexus-ui .nexus-skip:focus { top: var(--nexus-space-4); }
.nexus-ui .nexus-shell { min-height: 100vh; }
.nexus-ui .nexus-shell--application { display: grid; grid-template-columns: var(--nexus-sidebar-width) minmax(0, 1fr); }
.nexus-ui .nexus-workspace { min-width: 0; }
.nexus-ui .nexus-sidebar { padding: var(--nexus-space-6) var(--nexus-space-5); border-right: 1px solid var(--nexus-border); background: var(--nexus-surface); }
.nexus-ui .nexus-brand { color: var(--nexus-text); font-size: 1.5rem; font-weight: 750; letter-spacing: -.04em; text-decoration: none; }
.nexus-ui .nexus-navigation { display: grid; gap: var(--nexus-space-2); margin-top: var(--nexus-space-6); }
.nexus-ui .nexus-navigation a { padding: var(--nexus-space-3); color: var(--nexus-muted); border-radius: var(--nexus-radius-control); font-size: var(--nexus-font-small); overflow-wrap: anywhere; }
.nexus-ui .nexus-navigation a:hover { background: var(--nexus-canvas); text-decoration: none; }
.nexus-ui .nexus-navigation a[aria-current="page"] { color: var(--nexus-primary); background: var(--nexus-primary-soft); font-weight: 600; }
.nexus-ui .nexus-topbar { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: var(--nexus-space-4); padding: var(--nexus-space-4) var(--nexus-space-7); background: var(--nexus-surface); border-bottom: 1px solid var(--nexus-border); }
.nexus-ui .nexus-account { display: flex; flex-wrap: wrap; align-items: center; gap: var(--nexus-space-4); min-width: 0; }
.nexus-ui .nexus-account-name { overflow-wrap: anywhere; min-width: 0; }
.nexus-ui .nexus-main { max-width: var(--nexus-content-width); margin-inline: auto; padding: var(--nexus-space-7); }
.nexus-ui .nexus-page-header { display: flex; align-items: flex-start; justify-content: space-between; flex-wrap: wrap; gap: var(--nexus-space-5); margin-bottom: var(--nexus-space-6); }
.nexus-ui .nexus-page-header > div { min-width: 0; }
.nexus-ui .nexus-page-header p { color: var(--nexus-muted); margin: 0; max-width: 65ch; }
.nexus-ui .nexus-page-actions { display: flex; flex-wrap: wrap; gap: var(--nexus-space-3); }
.nexus-ui .nexus-page-actions:empty { display: none; }
.nexus-ui .nexus-auth-brand { padding: var(--nexus-space-6); text-align: center; }
.nexus-ui .nexus-main--authentication { width: calc(100% - 2rem); max-width: var(--nexus-form-width); background: var(--nexus-surface); border: 1px solid var(--nexus-border); border-radius: var(--nexus-radius-panel); margin-bottom: var(--nexus-space-6); padding: var(--nexus-space-6); }
.nexus-ui .nexus-auth-footer { border-top: 1px solid var(--nexus-border); padding-top: var(--nexus-space-5); margin-top: var(--nexus-space-6); }
.nexus-ui .nexus-panel { padding: var(--nexus-space-5); margin-bottom: var(--nexus-space-5); border: 1px solid var(--nexus-border); border-radius: var(--nexus-radius-panel); background: var(--nexus-surface); }
.nexus-ui .nexus-project-row + .nexus-project-row { border-top: 1px solid var(--nexus-border); padding-top: var(--nexus-space-4); }
.nexus-ui .nexus-project-row h2 { font-size: 1.125rem; }
.nexus-ui .uk-table th, .nexus-ui .uk-table td { overflow-wrap: anywhere; }
.nexus-ui .nexus-notice { padding: var(--nexus-space-4); margin-bottom: var(--nexus-space-4); border-radius: var(--nexus-radius-control); color: var(--nexus-primary); background: var(--nexus-primary-soft); overflow-wrap: anywhere; }
.nexus-ui .nexus-notice--error { color: var(--nexus-error); background: var(--nexus-error-soft); }
.nexus-ui .nexus-notice--success { color: var(--nexus-success); background: var(--nexus-success-soft); }
.nexus-ui .nexus-notice--warning { color: var(--nexus-warning); background: var(--nexus-warning-soft); }
.nexus-ui .nexus-notice .errorlist { margin: 0; padding-left: var(--nexus-space-5); }
.nexus-ui .uk-button { border-radius: var(--nexus-radius-control); text-transform: none; font-weight: 600; white-space: normal; }
.nexus-ui .uk-button-primary { color: white; background: var(--nexus-primary); }
.nexus-ui .uk-button-primary:hover, .nexus-ui .uk-button-primary:focus { background: var(--nexus-primary-hover); }
.nexus-ui .uk-button-default { color: var(--nexus-text); border-color: var(--nexus-control-border); background: var(--nexus-surface); }
.nexus-ui .uk-button:disabled { color: var(--nexus-muted); background: var(--nexus-canvas); border-color: var(--nexus-border); }
.nexus-ui .uk-input, .nexus-ui .uk-select, .nexus-ui .uk-textarea { color: var(--nexus-text); border-color: var(--nexus-control-border); border-radius: var(--nexus-radius-control); }
.nexus-ui .uk-input:focus, .nexus-ui .uk-select:focus, .nexus-ui .uk-textarea:focus { border-color: var(--nexus-primary); background: var(--nexus-surface); }
.nexus-ui .nexus-field { margin-bottom: var(--nexus-space-5); overflow-wrap: anywhere; }
.nexus-ui .nexus-field label { display: block; font-size: var(--nexus-font-small); font-weight: 600; margin-bottom: var(--nexus-space-2); }
/* Bound Django fields retain their native widgets and accessible field groups. */
.nexus-ui .nexus-field :is(input:not([type="hidden"], [type="checkbox"], [type="radio"]), select, textarea) { display: block; width: 100%; max-width: 100%; min-height: 2.5rem; padding: var(--nexus-space-2) var(--nexus-space-3); font: inherit; color: var(--nexus-text); background: var(--nexus-surface); border: 1px solid var(--nexus-control-border); border-radius: var(--nexus-radius-control); }
.nexus-ui .nexus-field :is(input, select, textarea):focus { border-color: var(--nexus-primary); }
.nexus-ui .nexus-field :is(input, select, textarea):disabled { background: var(--nexus-canvas); color: var(--nexus-muted); }
.nexus-ui [aria-invalid="true"] { border-color: var(--nexus-error); }
.nexus-ui .nexus-field :is(input, select, textarea)[aria-invalid="true"] { border-color: var(--nexus-error); }
.nexus-ui .nexus-field .helptext { color: var(--nexus-muted); font-size: var(--nexus-font-small); margin-top: var(--nexus-space-2); }
.nexus-ui .nexus-field .errorlist { color: var(--nexus-error); font-size: var(--nexus-font-small); padding-left: var(--nexus-space-5); }
.nexus-ui .nexus-form-panel { max-width: 44rem; }
.nexus-ui .nexus-form-actions { display: flex; flex-wrap: wrap; gap: var(--nexus-space-3); }
.nexus-ui .nexus-enrollment { margin-bottom: var(--nexus-space-5); text-align: center; }
.nexus-ui .nexus-enrollment img { display: block; margin: 0 auto var(--nexus-space-4); }
.nexus-ui .nexus-enrollment code { display: block; margin-top: var(--nexus-space-2); }
.nexus-ui .nexus-recovery-codes { list-style: none; padding: var(--nexus-space-4); margin-bottom: var(--nexus-space-5); background: var(--nexus-canvas); border-radius: var(--nexus-radius-control); }
.nexus-ui .nexus-recovery-codes li + li { margin-top: var(--nexus-space-2); }
.nexus-ui .nexus-recovery-codes code { color: var(--nexus-text); background: transparent; }
.nexus-ui [x-cloak] { display: none !important; }

.nexus-ui .nexus-ticket-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); gap: var(--nexus-space-4); }
.nexus-ui .nexus-ticket-filters .nexus-form-actions { grid-column: 1 / -1; }
.nexus-ui .nexus-ticket-history dd { white-space: pre-wrap; overflow-wrap: anywhere; margin-bottom: var(--nexus-space-3); }
.nexus-ui img { max-width: 100%; height: auto; }
.nexus-ui code { overflow-wrap: anywhere; white-space: normal; }

@media (max-width: 48rem) {
  .nexus-ui .nexus-shell--application { display: block; }
  .nexus-ui .nexus-sidebar { padding: var(--nexus-space-4); border-right: 0; border-bottom: 1px solid var(--nexus-border); }
  .nexus-ui .nexus-navigation { display: flex; flex-wrap: wrap; margin-top: var(--nexus-space-3); }
  .nexus-ui .nexus-topbar { padding: var(--nexus-space-4); }
  .nexus-ui .nexus-main { padding: var(--nexus-space-5) var(--nexus-space-4); }
  .nexus-ui .nexus-page-header { flex-direction: column; }
}
