/* Aurora V2 rebuild: composition and hierarchy follow the approved prototype. */
@font-face {
  font-family: "Inter";
  src: url("/fonts/inter-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Manrope";
  src: url("/fonts/manrope-latin.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: "Manrope";
  src: url("/fonts/manrope-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Inter";
  src: url("/fonts/inter-latin-ext.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
  --aurora-ink: #172235;
  --aurora-muted: #738099;
  --aurora-line: #e6eaf3;
  --aurora-blue: #5277ff;
  --aurora-violet: #8068ee;
  --aurora-green: #29a56f;
  --aurora-amber: #e6a12d;
  --aurora-warning-surface: #fff0dd;
  --aurora-warning-ink: #9a5b00;
  --aurora-red: #ec5b64;
  --sidebar-width: 64px;
  --font-ui: "Manrope", "Inter", "Segoe UI Variable Text", "Segoe UI", sans-serif;
}

html {
  min-width: 320px;
  background: #eef1fb;
}

body {
  height: 100vh;
  height: 100dvh;
  overflow: hidden;
  min-height: 100vh;
  color: var(--aurora-ink);
  background:
    radial-gradient(ellipse 72% 78% at 50% 48%, rgba(112, 135, 244, 0.12), transparent 72%),
    linear-gradient(150deg, #eef2fb 0%, #edf0f8 52%, #f2f4fb 100%);
  background-attachment: fixed;
  font-family: var(--font-ui);
}

.app-shell {
  position: relative;
  display: grid;
  width: min(2100px, calc(100% - clamp(24px, 3vw, 72px)));
  height: calc(100vh - 44px);
  height: calc(100dvh - 44px);
  min-height: 0;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  margin: 22px auto;
  overflow: hidden;
  background: rgba(248, 250, 255, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.82);
  border-radius: 22px;
  box-shadow: 0 35px 100px rgba(82, 98, 139, 0.22), inset 0 1px 0 #ffffff;
  backdrop-filter: blur(28px) saturate(125%);
}

.sidebar {
  position: relative;
  top: auto;
  z-index: 30;
  width: var(--sidebar-width);
  height: 100%;
  min-height: 0;
  align-self: start;
  color: #8791a7;
  background: rgba(247, 249, 253, 0.88);
  border: 0;
  border-right: 1px solid #e4e8f2;
  box-shadow: none;
}

.brand {
  min-height: 72px;
  justify-content: center;
  padding: 14px 0;
  border-bottom: 0;
}

.brand > span:last-child,
.nav-item span,
.sidebar-foot {
  display: none;
}

.sidebar-toggle {
  display:flex;width:38px;height:38px;flex:0 0 38px;align-items:center;justify-content:center;gap:10px;margin:4px auto 0;padding:0;
  color:#8791a7;background:transparent;border:0;border-radius:11px;cursor:pointer;
}
.sidebar-toggle:hover{color:var(--aurora-blue);background:#f0f3ff}.sidebar-toggle svg{width:20px;height:20px;stroke-width:2.25}.sidebar-toggle span{display:none;font-size:11px;font-weight:750}

.brand-mark {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  color: white;
  background: linear-gradient(145deg, #4768ff, #8a6df1);
  border: 0;
  border-radius: 11px;
  box-shadow: 0 10px 25px rgba(104, 129, 223, 0.34);
}

.brand-pulse i {
  width: 2px;
  animation: aurora-logo-pulse 2.8s ease-in-out infinite;
}

.brand-pulse i:nth-child(2) { animation-delay: -0.45s; }
.brand-pulse i:nth-child(3) { animation-delay: -0.9s; }
.brand-pulse i:nth-child(4) { animation-delay: -1.35s; }

.primary-nav {
  align-items: center;
  gap: 10px;
  padding: 10px 0 16px;
}

.sidebar-bottom-zone {
  position: absolute;
  right: 12px;
  bottom: 18px;
  left: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  justify-content: center;
}

.sidebar-bottom-nav {
  position: static;
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.sidebar-bottom-nav .nav-item { flex: 0 0 auto; }

.nav-item {
  position: relative;
  width: 38px;
  min-height: 38px;
  justify-content: center;
  padding: 0;
  color: #8791a7;
  background: transparent;
  border: 0;
  border-radius: 11px;
}

.nav-item svg {
  width: 20px;
  height: 20px;
  stroke-width: 2.25;
  filter: drop-shadow(0 2px 3px rgba(72, 85, 130, .1));
}

.nav-item:hover {
  color: var(--aurora-blue);
  background: #f0f3ff;
}

.nav-item.is-active {
  color: var(--aurora-blue);
  background: #edf1ff;
  border: 0;
  box-shadow: 0 5px 16px rgba(99, 120, 197, 0.18);
}

.nav-item.is-active::before { display: none; }

body.is-sidebar-expanded { --sidebar-width: 236px; }
body.is-sidebar-expanded .brand { justify-content:flex-start;gap:11px;padding:14px 16px; }
body.is-sidebar-expanded .brand>span:last-child { display:grid;min-width:0; }
body.is-sidebar-expanded .brand strong{color:var(--aurora-ink);font-size:13px}body.is-sidebar-expanded .brand small{color:var(--aurora-muted);font-size:9px}
body.is-sidebar-expanded .sidebar-toggle{width:100%;justify-content:flex-start;padding:0 13px;margin:4px 0 0}body.is-sidebar-expanded .sidebar-toggle span{display:inline}
body.is-sidebar-expanded .primary-nav{align-items:stretch;padding-inline:12px}
body.is-sidebar-expanded .sidebar-bottom-zone{align-items:stretch;justify-content:flex-start}
body.is-sidebar-expanded .sidebar-bottom-nav{align-items:stretch;justify-content:flex-start}
body.is-sidebar-expanded .sidebar-bottom-nav .nav-item{width:100%;justify-content:flex-start;gap:12px;padding:0 13px}
body.is-sidebar-expanded .sidebar-bottom-nav .nav-item span{display:block;overflow:hidden;color:inherit;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
body.is-sidebar-expanded .nav-item{width:100%;justify-content:flex-start;gap:12px;padding:0 13px}
body.is-sidebar-expanded .nav-item span{display:block;overflow:hidden;color:inherit;font-size:11px;font-weight:750;text-overflow:ellipsis;white-space:nowrap}
.nav-alert-badge[hidden]{display:none!important}
.nav-alert-badge:not([hidden]){position:absolute;top:-3px;right:-3px;display:grid;min-width:17px;height:17px;padding:0 4px;place-items:center;border:2px solid var(--surface);border-radius:999px;color:var(--aurora-warning-ink);background:var(--aurora-warning-surface);font-size:8px;font-weight:850;line-height:1;font-variant-numeric:tabular-nums;box-shadow:0 4px 10px color-mix(in srgb,var(--aurora-amber) 22%,transparent)}
body.is-sidebar-expanded .nav-item .nav-alert-badge:not([hidden]){position:static;display:grid;flex:0 0 auto;margin-left:auto;border-width:1px;font-size:8px;overflow:visible}
body.is-sidebar-expanded .sidebar-foot{display:flex;position:absolute;left:16px;right:16px;bottom:16px;align-items:center;gap:8px;color:var(--aurora-muted);font-size:9px}

.content-shell {
  display: flex;
  height: 100%;
  min-width: 0;
  min-height: 0;
  flex-direction: column;
  margin-left: 0;
}

.topbar {
  position: relative;
  z-index: 20;
  flex: 0 0 auto;
  min-height: 72px;
  padding: 12px clamp(24px, 2.2vw, 54px);
  background: rgba(255, 255, 255, 0.45);
  border-color: rgba(230, 234, 243, 0.9);
  backdrop-filter: blur(18px) saturate(130%);
}

.content-shell:has(.aurora-jobs-hero) .topbar .page-heading {
  display: none;
}

.content-shell:has(.aurora-jobs-hero) {
  position: relative;
}

.content-shell:has(.aurora-jobs-hero) .topbar {
  display: none;
}

.page-heading p {
  color: #768198;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
}

.page-heading h1 {
  color: var(--aurora-ink);
  font-size: clamp(19px, 1.35vw, 26px);
  font-weight: 750;
}

.connection,
.icon-button {
  background: rgba(255, 255, 255, 0.76);
  border-color: rgba(230, 234, 243, 0.94);
  border-radius: 11px;
  box-shadow: 0 8px 24px rgba(88, 99, 139, 0.08);
}

#app-view {
  width: 100%;
  max-width: none;
  min-height: 0;
  flex: 1 1 auto;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  padding: 26px clamp(28px, 2.2vw, 54px) 48px;
}

.view-stack { gap: 14px; }

.aurora-jobs-hero {
  align-items: center;
  padding: 2px 0 10px;
}

.aurora-jobs-hero h1 {
  margin-top: 4px;
  color: var(--aurora-ink);
  font-size: clamp(25px, 2vw, 34px);
  font-weight: 750;
}

.aurora-jobs-hero p {
  margin: 5px 0 0;
  color: var(--aurora-muted);
  font-size: 12px;
}

.aurora-job-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.aurora-job-metrics .kpi-card {
  min-height: 132px;
  padding: 17px;
  overflow: hidden;
  color:var(--aurora-ink);
  background: rgba(255, 255, 255, 0.92);
  border-color: var(--aurora-line);
  border-radius: 13px;
  box-shadow: 0 7px 22px rgba(104, 118, 154, 0.045);
}

.aurora-job-metrics .kpi-card:nth-child(1),
.aurora-job-metrics .kpi-card:nth-child(2) { color:var(--aurora-ink);background:rgba(255,255,255,.92);border:1px solid var(--aurora-line);box-shadow:0 7px 22px rgba(104,118,154,.045); }
.aurora-job-metrics .kpi-card:nth-child(-n+2) :is(.kpi-label,.kpi-note) { color:var(--aurora-muted); }
.aurora-job-metrics .kpi-icon { display:none; }

.aurora-job-metrics .kpi-value { font-size: 28px; }

.jobs-workspace,
.surface,
.form-panel,
.filter-bar {
  background: rgba(255, 255, 255, 0.92);
  border-color: var(--aurora-line);
  border-radius: 13px;
  box-shadow: 0 8px 25px rgba(104, 118, 154, 0.05);
}

.job-scope-tabs {
  background: rgba(249, 250, 253, 0.78);
  border-color: var(--aurora-line);
}

.job-filters {
  gap: 12px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.64);
}

.input,
.select {
  border-color: #dfe4ef;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.88);
}

.button {
  border-radius: 10px;
  font-weight: 700;
}

.button.is-primary {
  background: linear-gradient(135deg, #5877f5, #7657f6);
  border-color: transparent;
  box-shadow: 0 8px 18px rgba(91, 105, 218, 0.16);
}

.job-period-zone {
  margin: 0;
  overflow: hidden;
  border-top: 0;
}

.job-period-zone + .job-period-zone { border-top: 12px solid #f4f6fb; }

.job-period-zone-head {
  min-height: 58px;
  background: #f8f9fc;
  border-color: var(--aurora-line);
}

.job-period-zone.is-upcoming .job-period-zone-head {
  background: linear-gradient(90deg, rgba(128, 104, 238, 0.11), rgba(82, 119, 255, 0.04));
  border-left-color: var(--aurora-violet);
}

.job-period-zone.is-current .job-period-zone-head {
  background: linear-gradient(90deg, rgba(82, 119, 255, 0.12), rgba(41, 165, 111, 0.04));
  border-left-color: var(--aurora-blue);
}

.job-period-zone.is-past .job-period-zone-head {
  background: #f7f8fb;
  border-left-color: #a8b1c3;
}

.job-period-head { background: rgba(255, 255, 255, 0.88); }
.job-period-head {
  display: grid;
  grid-template-columns:minmax(0, 1fr) minmax(180px, 28%);
  align-items: stretch;
  padding: 0;
}

.job-period-select-wrap {
  position: absolute;
  z-index: 2;
  left: 17px;
  top: 50%;
  transform: translateY(-50%);
}

.job-period-toggle {
  min-height: 82px;
  padding: 15px 20px 15px 48px;
}

.job-period-title strong {
  color: var(--aurora-ink);
  font-size: 20px;
}

.job-period-title small { margin-top: 4px; color: var(--aurora-muted); }

.aurora-period-growth {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: center;
  gap: 4px 14px;
  padding: 14px 22px;
  color: var(--aurora-muted);
  background: rgba(247, 249, 253, 0.7);
  border-left: 1px solid var(--aurora-line);
}

.aurora-period-growth span { font-size: 10px; }
.aurora-period-growth strong { color: var(--aurora-ink); font-size: 15px; }
.aurora-period-growth strong small { color: var(--aurora-muted); font-size: 8px; font-weight: 700; }
.aurora-period-growth svg { grid-column:1/-1;width:100%;height:30px;overflow:visible; }
.aurora-period-growth .growth-zero { display:none; }
.aurora-period-growth .growth-area { fill:rgba(128,104,238,.1);stroke:none; }
.aurora-period-growth .growth-line { fill:none;stroke:var(--aurora-violet);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 2px 4px rgba(128,104,238,.32)); }
.aurora-period-growth circle {
  fill:#fff;
  stroke:var(--aurora-violet);
  stroke-width:1.8;
  opacity:0;
  transition:opacity 160ms ease, r 160ms ease;
}
.aurora-period-growth svg:hover circle,
.aurora-period-growth svg:focus circle { opacity:.9; }
.aurora-period-growth .growth-line.is-run { stroke:#169b89;filter:drop-shadow(0 2px 5px rgba(22,155,137,.28)); }
.aurora-period-growth .growth-line.is-new { stroke:#7657f6;filter:drop-shadow(0 2px 5px rgba(118,87,246,.3)); }
.aurora-period-growth .growth-area.is-run { fill:rgba(22,155,137,.09); }
.aurora-period-growth .growth-area.is-new { fill:rgba(118,87,246,.08); }
.aurora-period-growth circle.is-run { stroke:#169b89; }
.aurora-period-growth circle.is-new { stroke:#7657f6; }
.growth-key { display:inline-flex;align-items:center;gap:3px;margin-left:7px;font-size:8px;font-weight:800; }
.growth-key::before { content:"";width:6px;height:2px;border-radius:2px;background:currentColor; }
.growth-key.is-run { color:#168f80; }
.growth-key.is-new { color:#7657f6; }
.jobs-workflow-legend { display:flex;align-items:center;gap:16px;margin-left:auto;padding-inline:8px;font-size:11px;font-weight:800; }
.jobs-workflow-legend span { display:inline-flex;align-items:center;gap:6px;white-space:nowrap; }
.jobs-workflow-legend i { width:10px;height:3px;border-radius:999px;background:currentColor;box-shadow:0 0 8px color-mix(in srgb,currentColor 35%,transparent); }
.jobs-workflow-legend .is-run { color:#168f80; }
.jobs-workflow-legend .is-new { color:#7657f6; }
.aurora-job-actions .icon-button { width:38px;height:38px;border-radius:10px;background:rgba(255,255,255,.82);border-color:rgba(209,217,232,.96); }
.aurora-job-actions .icon-button svg { width:18px;height:18px;stroke-width:2.25; }
.aurora-job-actions .icon-button:hover { color:#526cf5;background:#fff;border-color:#bdc9f5;box-shadow:0 7px 16px rgba(73,91,148,.1);transform:translateY(-1px); }
.aurora-job-actions .icon-button.is-danger:hover { color:#d94850;border-color:#f0bbc0;background:#fff8f8; }
.job-period-zone-icon svg { width:17px;height:17px;stroke-width:2.35; }
.aurora-period-growth i {
  grid-column: 1 / -1;
  width: 100%;
  height: 22px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 38'%3E%3Cpath d='M0 32 C26 29 44 31 66 23 S102 21 124 13 S155 10 180 5' fill='none' stroke='%238068ee' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  opacity: 0.82;
}

/* A period is one visual object: zone, week header and job rows share its state. */
.job-period-zone.is-upcoming {
  background:linear-gradient(145deg,#fff8df,#ffefbd);
  box-shadow:inset 0 0 45px rgba(255,255,255,.62);
}
.job-period-zone.is-upcoming .job-period-zone-head {
  background-color:rgba(255,246,207,.74);
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.68) 0,rgba(255,255,255,.68) 7px,transparent 7px,transparent 18px);
}
.job-period-zone.is-upcoming .job-period-head,
.job-period-zone.is-upcoming .job-period-group.is-expanded .job-period-head,
.job-period-zone.is-upcoming .aurora-job-row {
  background:linear-gradient(105deg,rgba(255,249,225,.96),rgba(255,234,169,.84));
}
.job-period-zone.is-upcoming .aurora-period-growth { background:rgba(255,247,218,.7);border-left-color:rgba(210,138,29,.25); }
.job-period-zone.is-upcoming .growth-line { stroke:#dc931d;filter:drop-shadow(0 2px 5px rgba(220,147,29,.32)); }
.job-period-zone.is-upcoming .growth-area { fill:rgba(220,147,29,.11); }
.job-period-zone.is-upcoming .aurora-period-growth circle { stroke:#dc931d; }

.job-period-zone.is-current {
  background:linear-gradient(145deg,rgba(225,237,255,.94),rgba(208,220,255,.86));
  box-shadow:inset 0 0 46px rgba(255,255,255,.52);
}
.job-period-zone.is-current .job-period-zone-head,
.job-period-zone.is-current .job-period-head,
.job-period-zone.is-current .job-period-group.is-expanded .job-period-head,
.job-period-zone.is-current .aurora-job-row {
  background:linear-gradient(105deg,rgba(235,244,255,.93),rgba(219,228,255,.82));
}
.job-period-zone.is-current .aurora-period-growth { background:rgba(225,235,255,.76);border-left-color:rgba(52,120,212,.22); }
.job-period-zone.is-current .growth-line { stroke:#5277ff;filter:drop-shadow(0 2px 5px rgba(82,119,255,.35)); }
.job-period-zone.is-current .growth-area { fill:rgba(82,119,255,.11); }
.job-period-zone.is-current .aurora-period-growth circle { stroke:#5277ff; }

.job-period-zone.is-past {
  background:linear-gradient(145deg,#f2f4f6,#e5e9ee);
  box-shadow:inset 0 0 40px rgba(255,255,255,.5);
}
.job-period-zone.is-past .job-period-zone-head,
.job-period-zone.is-past .job-period-head,
.job-period-zone.is-past .job-period-group.is-expanded .job-period-head,
.job-period-zone.is-past .aurora-job-row { background:linear-gradient(105deg,rgba(248,249,250,.94),rgba(231,235,239,.85)); }
.job-period-zone.is-past .aurora-period-growth { background:rgba(238,241,244,.78);border-left-color:rgba(129,144,140,.22); }
.job-period-zone.is-past .growth-line { stroke:#7d8998;filter:drop-shadow(0 2px 4px rgba(91,103,120,.25)); }
.job-period-zone.is-past .growth-area { fill:rgba(125,137,152,.1); }
.job-period-zone.is-past .aurora-period-growth circle { stroke:#7d8998; }

.aurora-job-rows { display: grid; }

.aurora-job-row {
  display: grid;
  grid-template-columns: 36px minmax(270px, 1.7fr) minmax(145px, .65fr) minmax(90px, .42fr) minmax(105px, .48fr) minmax(135px, .62fr) auto;
  min-height: 92px;
  align-items: center;
  gap: 14px;
  padding: 13px 18px;
  background: rgba(255, 255, 255, 0.9);
  border-top: 1px solid var(--aurora-line);
  transition: background-color 160ms ease, transform 160ms ease;
}

.aurora-job-row:hover { background: #fbfcff; }
.aurora-job-row.is-selected { background: rgba(82, 119, 255, 0.075); }
.aurora-job-row.is-compact{grid-template-columns:minmax(270px,1.7fr) minmax(145px,.65fr) minmax(90px,.42fr) minmax(105px,.48fr) minmax(135px,.62fr) auto}
.aurora-job-select { display: grid; place-items: center; }

.aurora-job-identity {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.aurora-job-identity > span:last-child { display: grid; min-width: 0; }
.aurora-job-identity strong { color: var(--aurora-ink); font-size: 14px; }
.aurora-job-identity small { margin-top: 2px; color: var(--aurora-muted); font-size: 10px; }
.aurora-job-identity code {
  margin-top: 3px;
  overflow: hidden;
  color: #98a2b5;
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.aurora-flow {
  display: inline-grid;
  min-width: 38px;
  min-height: 24px;
  place-items: center;
  padding: 0 7px;
  color: var(--aurora-blue);
  background: #edf1ff;
  border-radius: 8px;
  font-size: 8px;
  font-weight: 850;
}
.aurora-flow.is-new { color: var(--aurora-violet); background: #f1edff; }

.aurora-job-package { display: grid; grid-template-columns: auto 1fr; align-items: baseline; gap: 0 5px; }
.aurora-job-package strong { color: var(--aurora-ink); font-size: 17px; }
.aurora-job-package span { color: var(--aurora-muted); font-size: 9px; font-weight: 700; }
.aurora-job-package small { grid-column: 1 / -1; color: var(--aurora-muted); font-size: 9px; }
.aurora-job-row time { color: var(--aurora-muted); font-size: 10px; }
.aurora-job-actions { justify-content: flex-end; }
.aurora-job-actions .icon-button { width: 36px; height: 36px; flex-basis: 36px; }

.jobs-table { width: 100%; table-layout: fixed; }
.jobs-table td { vertical-align: middle; }
.data-table th { color: #748097; background: #fafbfe; }
.data-table tbody tr:hover { background: rgba(82, 119, 255, 0.035); }

@keyframes aurora-logo-pulse {
  0%, 100% { opacity: 0.72; transform: scaleY(0.55); }
  50% { opacity: 1; transform: scaleY(1.15); }
}

@media (min-width: 1700px) {
  :root { --sidebar-width: 76px; }
  .nav-item { width: 44px; min-height: 44px; }
  .aurora-job-metrics .kpi-card { min-height: 148px; padding: 21px; }
  .aurora-job-metrics .kpi-value { font-size: 34px; }
}

@media (max-width: 1050px) {
  .app-shell { width: calc(100% - 20px); }
  .aurora-job-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aurora-job-row {
    grid-template-columns: 32px minmax(220px, 1.4fr) minmax(130px, .6fr) minmax(100px, .5fr) auto;
  }
  .aurora-job-origin,
  .aurora-job-row time { display: none; }
}

@media (max-width: 700px) {
  body {
    height: auto;
    overflow: auto;
  }

  .app-shell {
    height: auto;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
    grid-template-columns: 1fr;
    margin: 0;
    border: 0;
    border-radius: 0;
  }
  .sidebar {
    position: fixed;
    z-index: 50;
    inset: auto 10px 10px;
    width: auto;
    height: 54px;
    min-height: 54px;
    border: 1px solid rgba(255,255,255,.9);
    border-radius: 16px;
    box-shadow: 0 15px 35px rgba(82,98,139,.22);
    flex-direction: row;
  }
  .brand { display: none; }
  /* Mobile navigation target floor: retain 44px targets in a scrollable rail. */
  .primary-nav{overflow-x:auto;height:54px;min-width:0;flex:1 1 auto;flex-direction:row;gap:4px;justify-content:flex-start;padding:0 4px;overscroll-behavior-inline:contain;scrollbar-width:none}
  .primary-nav::-webkit-scrollbar{display:none}
  .sidebar-bottom-zone { position: static; display: flex; width: 96px; flex: 0 0 96px; flex-direction: row; align-items: center; gap: 4px; justify-content: center; }
  .sidebar-bottom-nav { width: 100%; flex-direction: row; align-items: center; gap: 4px; justify-content: center; }
  .sidebar-toggle { display: none; }
  .nav-item{width:44px;min-width:44px;min-height:44px!important;flex:0 0 44px}
  .topbar { gap: 8px; min-height: 64px; padding: 10px 12px; }
  .page-heading { min-width: 0; flex: 1 1 auto; }
  .page-heading p { display: none; }
  .page-heading h1 { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
  .topbar-actions { gap: 6px; }
  .topbar-actions .connection { width: 40px; min-width: 40px; padding: 0; justify-content: center; }
  .topbar-actions .connection-label,
  .topbar-actions .connection-label-compact,
  .topbar-actions .user-menu-button .user-identity,
  .topbar-actions .user-menu-button > svg { display: none; }
  .topbar-actions .user-menu-button { width: 42px; min-width: 42px; padding: 0; justify-content: center; }
  .content-shell:has(.aurora-jobs-hero) .topbar {
    display: flex;
    position: relative;
    min-height: 58px;
    padding: 10px 14px;
    background: rgba(255,255,255,.72);
    border-bottom: 1px solid var(--aurora-line);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }
  .content-shell { height: auto; min-height: 0; }
  #app-view { overflow: visible; padding: 20px 12px 84px; }
  .aurora-job-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aurora-jobs-hero { align-items: flex-start; }
  .aurora-jobs-hero .section-actions { flex-wrap: wrap; justify-content: flex-end; }
  .job-period-head { grid-template-columns: 1fr; }
  .aurora-period-growth { display: none; }
  .aurora-job-row {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 8px;
    padding: 12px;
  }
  .aurora-job-package { grid-column: 2; }
  .aurora-job-origin,
  .aurora-job-status { display: none; }
  .aurora-job-actions { grid-column: 3; grid-row: 1 / span 2; }
  .aurora-job-actions .is-danger { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .brand-pulse i { animation: none; }
}

/* Identity and access */
.auth-gate {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: clamp(18px, 3vw, 54px);
  background: linear-gradient(110deg, #fff 0 19%, #edf3ff 40%, #f0edff 59%, #fff 82%);
}

.auth-gate[hidden], .app-shell[hidden], .admin-only[hidden] { display: none !important; }

html.maintenance-access-embed,
html.maintenance-access-embed body { min-height: 100%; background: transparent; }
html.maintenance-access-embed .app-bootstrap,
html.maintenance-access-embed .auth-aurora,
html.maintenance-access-embed .auth-stage-head,
html.maintenance-access-embed .auth-signal { display: none !important; }
html.maintenance-access-embed .auth-gate { position: static; display: block; min-height: 100%; padding: 0; overflow: visible; background: transparent; }
html.maintenance-access-embed .auth-stage { display: block; width: 100%; min-height: 0; height: auto; max-height: none; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none; backdrop-filter: none; }
html.maintenance-access-embed .auth-stage-grid { display: block; }
html.maintenance-access-embed .auth-panel { min-height: 0; overflow-y: visible; padding: 38px 42px 34px; background: transparent; }
html.maintenance-access-embed .auth-panel h1 { font-size: clamp(32px, 4vw, 44px); }
@media (max-width: 760px) { html.maintenance-access-embed .auth-panel { padding: 28px 24px 30px; } }

.app-bootstrap {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 12px;
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 46%, color-mix(in srgb, var(--primary) 15%, transparent) 0, transparent 30%),
    radial-gradient(circle at 57% 50%, rgba(119, 93, 246, .12) 0, transparent 34%),
    var(--bg);
}

.app-bootstrap[hidden] { display: none !important; }

.app-bootstrap strong { font-size: 20px; font-weight: 800; }
.app-bootstrap > span { color: var(--muted); font-size: 13px; }
.app-bootstrap-signal { display: flex; align-items: center; gap: 4px; height: 42px; }
.app-bootstrap-signal i {
  width: 5px;
  height: 18px;
  border-radius: 5px;
  background: linear-gradient(180deg, var(--primary), #775df6);
  animation: app-bootstrap-pulse 1.1s ease-in-out infinite alternate;
}
.app-bootstrap-signal i:nth-child(2) { height: 34px; animation-delay: -820ms; }
.app-bootstrap-signal i:nth-child(3) { height: 26px; animation-delay: -540ms; }
.app-bootstrap-signal i:nth-child(4) { height: 12px; animation-delay: -260ms; }

@keyframes app-bootstrap-pulse {
  from { transform: scaleY(.55); opacity: .52; }
  to { transform: scaleY(1); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .app-bootstrap-signal i { animation: none; }
}

.auth-aurora { position: absolute; inset: -16%; overflow: visible; pointer-events: none; opacity: .92; }
.auth-aurora i { position: absolute; inset: -8%; width: auto; height: auto; border-radius: 50%; background: radial-gradient(ellipse 48% 42% at 38% 52%,rgba(73,123,255,.48),rgba(128,82,239,.28) 38%,transparent 74%); filter: blur(42px); transform: translate3d(-3%,0,0) scale(1.04); animation: auth-field-drift 12s ease-in-out infinite alternate; }
.auth-aurora i:nth-child(2) { inset: -4%; opacity: .72; background: radial-gradient(ellipse 46% 38% at 67% 46%,rgba(128,82,239,.44),rgba(75,132,255,.22) 42%,transparent 76%); animation-duration: 16s; animation-direction: alternate-reverse; transform: translate3d(5%,1%,0) scale(.98); }
.auth-aurora i:nth-child(3) { inset: 2%; opacity: .5; background: radial-gradient(ellipse 36% 32% at 51% 52%,rgba(255,255,255,.82),rgba(90,124,255,.2) 46%,transparent 78%); filter: blur(34px); animation-duration: 10s; }
.auth-aurora i:nth-child(4) { inset: 8% -10%; opacity: .38; background: radial-gradient(ellipse 58% 22% at 50% 54%,rgba(255,255,255,.72),transparent 76%); filter: blur(36px); animation-duration: 18s; animation-direction: alternate-reverse; }

.auth-stage {
  position: relative;
  display: grid;
  grid-template-rows: 74px minmax(0, 1fr);
  width: min(1180px, calc(100vw - clamp(36px, 6vw, 108px)));
  height: min(720px, calc(100dvh - clamp(36px, 6vw, 108px)));
  min-height: min(610px, calc(100dvh - clamp(36px, 6vw, 108px)));
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.82);
  border-radius: 8px;
  background: rgba(250,252,255,.78);
  box-shadow: 0 34px 90px rgba(55,72,139,.2), inset 0 1px rgba(255,255,255,.96);
  backdrop-filter: blur(30px) saturate(150%);
}
.auth-stage-head { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 0 30px; border-bottom: 1px solid rgba(121,139,185,.18); }
.auth-stage-head .auth-brand { margin: 0; }
.auth-secure-state { display: inline-flex; align-items: center; gap: 8px; color: #46546d; font-size: 11px; font-weight: 750; }
.auth-secure-state svg { width: 16px; height: 16px; fill: none; stroke: #239872; stroke-width: 2; }
.auth-stage-grid { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(390px, .88fr); min-height: 0; }

.auth-signal { position: relative; min-width: 0; overflow: hidden; border-right: 1px solid rgba(121,139,185,.18); background: rgba(246,248,255,.22); }
.auth-signal-grid { position: absolute; inset: 0; opacity: .42; background-image: linear-gradient(rgba(94,112,168,.08) 1px, transparent 1px), linear-gradient(90deg, rgba(94,112,168,.08) 1px, transparent 1px); background-size: 52px 52px; mask-image: linear-gradient(90deg, transparent, #000 20%, #000 78%, transparent); }
.auth-signal-halo { position: absolute; left: 50%; top: 48%; width: clamp(176px, 18vw, 224px); aspect-ratio: 1; transform: translate3d(-50%, -50%, 0); overflow: hidden; border: 1px solid rgba(255,255,255,.84); border-radius: clamp(42px, 4.5vw, 56px); background: linear-gradient(145deg, rgba(71,104,255,.95), rgba(138,109,241,.94)); box-shadow: 0 26px 78px rgba(80,105,246,.34), 0 0 90px rgba(119,83,239,.2), inset 0 1px rgba(255,255,255,.46); animation: auth-halo-breathe 5.6s ease-in-out infinite alternate; }
.auth-signal-halo::before { position: absolute; inset: 18%; content: ""; border: 1px solid rgba(255,255,255,.22); border-radius: 34%; box-shadow: 0 0 34px rgba(255,255,255,.16); }
.auth-signal-halo::after { position: absolute; inset: -12%; content: ""; border-radius: inherit; background: linear-gradient(108deg, transparent 0 34%, rgba(255,255,255,.42) 48%, transparent 62%); transform: translateX(-72%); animation: auth-signal-scan 5.4s ease-in-out infinite; }
.auth-signal-bars { position: absolute; z-index: 2; left: 50%; top: 48%; display: flex; align-items: center; gap: clamp(11px, 1.15vw, 16px); height: clamp(126px, 12vw, 158px); transform: translate3d(-50%, -50%, 0); }
.auth-signal-bars i { width: clamp(10px, .85vw, 13px); height: var(--signal-height, 64px); border-radius: 8px; background: linear-gradient(180deg,rgba(255,255,255,1),rgba(229,235,255,.82)); box-shadow: 0 0 24px rgba(255,255,255,.66); transform-origin: center; animation: aurora-logo-pulse 2.8s ease-in-out infinite; }
.auth-signal-bars i:nth-child(1) { --signal-height: 64px; }
.auth-signal-bars i:nth-child(2) { --signal-height: 144px; animation-delay: -.45s; }
.auth-signal-bars i:nth-child(3) { --signal-height: 96px; animation-delay: -.9s; }
.auth-signal-bars i:nth-child(4) { --signal-height: 48px; animation-delay: -1.35s; }
.auth-signal-line { position: absolute; left: 19%; right: 19%; top: 48%; height: 1px; background: linear-gradient(90deg, transparent, rgba(88,107,202,.22), transparent); }
.auth-signal-caption { position: absolute; left: 34px; right: 34px; bottom: 30px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #1a2948; }
.auth-signal-caption span { color: #435274; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.auth-signal-caption small { color: #66748e; font-size: 11px; }

.auth-panel {
  position: relative;
  display: flex;
  min-width: 0;
  overflow-y: auto;
  padding: clamp(32px, 4.2vw, 56px);
  flex-direction: column;
  justify-content: center;
}

@media (min-width: 821px) and (max-height: 900px) {
  .auth-panel { padding: clamp(8px, 1.2vh, 22px) clamp(32px, 3vw, 48px); }
  .auth-panel h1 { margin: 4px 0 6px; font-size: 36px; }
  .auth-copy { margin-bottom: 18px; }
  .auth-form { gap: 12px; }
  .auth-form input { min-height: 44px; }
  .auth-secondary-actions { margin-top: 14px; }
}
.auth-brand { display: flex; gap: 12px; align-items: center; }
.auth-brand > span:last-child { display: grid; }
.auth-brand strong { color: #142038; font-size: 17px; }
.auth-brand small { color: #76839e; font-size: 11px; }
.auth-panel h1 { margin: 6px 0 8px; color: #121d34; font-size: clamp(32px, 3vw, 44px); letter-spacing: 0; }
.auth-copy { margin: 0 0 24px; color: #5e6c86; line-height: 1.55; }
.auth-form { display: grid; gap: 16px; }
.auth-form label { display: grid; gap: 7px; color: #3f4c65; font-size: 12px; font-weight: 700; }
.auth-form input, .user-approval select { min-height: 48px; padding: 0 14px; border: 1px solid rgba(87,105,153,.38); border-radius: 6px; background: rgba(255,255,255,.9); color: #152139; font: inherit; outline: none; }
.auth-form input:focus, .user-approval select:focus { border-color: #6077ff; box-shadow: 0 0 0 3px rgba(96,119,255,.13); }
.auth-password-control { position: relative; display: block; }
.auth-password-control input { width: 100%; padding-right: 48px; }
.auth-password-control button { position: absolute; right: 4px; top: 4px; display: grid; width: 40px; height: 40px; place-items: center; border: 0; border-radius: 5px; color: #687791; background: transparent; cursor: pointer; }
.auth-password-control button:hover { color: #4f67dc; background: rgba(79,103,220,.07); }
.auth-password-control svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.auth-form .button.primary { min-height: 48px; border-color: transparent; color: #fff; background: linear-gradient(100deg,#4b6ff1,#765deb); box-shadow: 0 12px 28px rgba(78,96,220,.22); }
.auth-form .button.primary:hover { box-shadow: 0 15px 32px rgba(78,96,220,.29); transform: translateY(-1px); }
.auth-form input:-webkit-autofill { -webkit-text-fill-color: #152139; box-shadow: 0 0 0 1000px rgba(255,255,255,.94) inset; }
.auth-error { min-height: 18px; margin: -4px 0 0; color: var(--danger); font-size: 12px; }
.auth-error.is-success { color: var(--success); }
.auth-oauth { display: grid; gap: 14px; margin-top: 16px; }
.auth-oauth[hidden] { display: none !important; }
.auth-divider { display: flex; align-items: center; gap: 12px; color: #8a96ac; font-size: 10px; font-weight: 700; text-transform: uppercase; }
.auth-divider::before, .auth-divider::after { height: 1px; flex: 1; content: ""; background: rgba(108,125,170,.2); }
.auth-google-button { display: flex; min-height: 48px; align-items: center; justify-content: center; gap: 10px; border: 1px solid rgba(108,125,170,.28); border-radius: 6px; color: #26334d; background: rgba(255,255,255,.76); box-shadow: 0 6px 18px rgba(58,74,126,.05); font-size: 12px; font-weight: 750; text-decoration: none; transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease; }
.auth-google-button:hover { border-color: rgba(86,107,225,.44); box-shadow: 0 10px 24px rgba(58,74,126,.1); transform: translateY(-1px); }
.auth-google-button:focus-visible { outline: 3px solid rgba(96,119,255,.16); outline-offset: 2px; }
.auth-google-button > span { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #fff; background: conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 45%,#fbbc05 0 70%,#ea4335 0); font-size: 13px; font-weight: 850; }
.auth-secondary-actions { display: flex; align-items: center; justify-content: flex-start; gap: 18px; margin-top: 18px; }
.auth-secondary-actions .auth-switch + .auth-switch::before { margin-right: 18px; color: #a0a9ba; content: "·"; }
.auth-switch { padding: 0; border: 0; background: transparent; color: #5269df; font-size: 12px; font-weight: 700; cursor: pointer; }
.auth-forgot { color: #6f7b94; font-weight: 650; }

@keyframes auth-ribbon-one { from { transform: translate3d(-54%,-62%,0) rotate(-9deg) scaleX(.94); } to { transform: translate3d(-45%,-39%,0) rotate(-3deg) scaleX(1.06); } }
@keyframes auth-ribbon-two { from { transform: translate3d(-43%,-38%,0) rotate(7deg) scaleX(1.04); } to { transform: translate3d(-58%,-59%,0) rotate(1deg) scaleX(.92); } }
@keyframes auth-field-drift { to { transform: translate3d(7%,3%,0) rotate(7deg) scale(1.08); } }
@keyframes auth-halo-breathe { from { transform: translate3d(-50%,-50%,0) rotate(-1.4deg) scale(.97); filter: saturate(.96); } to { transform: translate3d(-50%,-50%,0) rotate(1.4deg) scale(1.035); filter: saturate(1.08); } }
@keyframes auth-signal-scan { 0%,20% { transform: translateX(-72%); opacity: 0; } 42% { opacity: .72; } 72%,100% { transform: translateX(76%); opacity: 0; } }
@keyframes auth-signal-beat { from { transform: scaleY(.72); opacity: .64; } to { transform: scaleY(1.08); opacity: 1; } }

@media (max-width: 820px) {
  .auth-gate { overflow: auto; align-items: start; }
  .auth-stage { grid-template-rows: 68px auto; width: min(100%, 620px); height: auto; min-height: 0; max-height: none; margin: auto; }
  .auth-stage-head { padding: 0 20px; }
  .auth-stage-grid { grid-template-columns: 1fr; }
  .auth-signal { min-height: 190px; border-right: 0; border-bottom: 1px solid rgba(121,139,185,.18); }
  .auth-signal-halo { width: 144px; border-radius: 38px; }
  .auth-signal-bars { height: 112px; transform: translate3d(-50%,-50%,0) scale(.66); }
  .auth-signal-caption { left: 20px; right: 20px; bottom: 16px; }
  .auth-panel { padding: 28px 22px 30px; }
}

@media (max-width: 460px) {
  .auth-gate { padding: 10px; }
  .auth-stage { width: 100%; }
  .auth-secure-state { font-size: 0; }
  .auth-secure-state i { margin-right: 0; }
  .auth-signal { min-height: 150px; }
  .auth-signal-caption small { display: none; }
  .auth-panel h1 { font-size: 32px; }
  .auth-secondary-actions { align-items: flex-start; flex-direction: column; gap: 11px; }
}

.user-menu-button { display: flex; align-items: center; gap: 9px; min-height: 40px; padding: 5px 10px 5px 6px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,255,255,.74); color: var(--ink); cursor: pointer; }
.user-menu-button > svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.topbar-logout { color: #68758d; }
.topbar-logout:hover { color: #bb4051; border-color: rgba(187,64,81,.24); background: rgba(255,244,246,.88); }
.topbar-logout svg { stroke-width: 2; }
.user-avatar, .user-card-avatar { display: grid; place-items: center; width: 30px; aspect-ratio: 1; border-radius: 7px; background: linear-gradient(135deg,#5277ff,#835cf1); color: #fff; font-size: 10px; font-weight: 800; }
.profile-avatar { position: relative; display: grid; flex: 0 0 auto; aspect-ratio: 1; place-items: center; overflow: hidden; background-color: var(--profile-color,#5b6cf5); background-image: linear-gradient(135deg,color-mix(in srgb,var(--profile-color,#5b6cf5) 84%,#fff),var(--profile-color,#5b6cf5)); background-repeat: no-repeat; color: #fff; box-shadow: 0 0 0 2px color-mix(in srgb,var(--profile-color,#5b6cf5) 28%,transparent),0 7px 18px color-mix(in srgb,var(--profile-color,#5b6cf5) 18%,transparent); }
.profile-avatar.has-photo { background-image: url('/assets/profile-avatars-neutral-v1.jpg?v=1'); background-size: 400% 200%; color: transparent; text-shadow: none; }
.profile-avatar[data-avatar="avatar-01"] { background-position: 0 0; }
.profile-avatar[data-avatar="avatar-02"] { background-position: 33.333% 0; }
.profile-avatar[data-avatar="avatar-03"] { background-position: 66.667% 0; }
.profile-avatar[data-avatar="avatar-04"] { background-position: 100% 0; }
.profile-avatar[data-avatar="avatar-05"] { background-position: 0 100%; }
.profile-avatar[data-avatar="avatar-06"] { background-position: 33.333% 100%; }
.profile-avatar[data-avatar="avatar-07"] { background-position: 66.667% 100%; }
.profile-avatar[data-avatar="avatar-08"] { background-position: 100% 100%; }
.user-identity { display: grid; min-width: 92px; text-align: left; }
.user-identity strong { max-width: 130px; overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.user-identity small { color: var(--ink-soft); font-size: 9px; }

.users-page { display: grid; gap: 18px; }
.users-hero { position: relative; align-items: flex-start; padding: 4px 2px 10px; }
.user-invite { position: relative; z-index: 3; }
.user-invite summary { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 13px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,255,255,.82); color: var(--aurora-blue); font-size: 11px; font-weight: 750; cursor: pointer; list-style: none; }
.user-invite summary::-webkit-details-marker { display: none; }
.user-invite summary svg { width: 15px; height: 15px; }
.user-invite[open] summary { border-color: rgba(91,111,245,.38); box-shadow: 0 0 0 3px rgba(91,111,245,.08); }
.user-invite form { position: absolute; top: 48px; right: 0; display: grid; grid-template-columns: minmax(160px,1fr) minmax(210px,1.3fr) 150px; gap: 12px; width: min(720px,calc(100vw - 120px)); padding: 16px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.97); box-shadow: 0 18px 48px rgba(37,48,83,.16); backdrop-filter: blur(18px); }
.user-invite form label { display: grid; gap: 6px; color: var(--ink-soft); font-size: 10px; font-weight: 700; }
.user-invite form input, .user-invite form select { min-width: 0; min-height: 40px; padding: 0 11px; border: 1px solid var(--line); border-radius: 6px; background: white; color: var(--ink); font: inherit; }
.user-invite form .button { align-self: end; }
.user-invite form small { grid-column: 1 / -1; color: var(--ink-soft); font-size: 10px; }
.users-grid { overflow: hidden; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.74); }
.user-card { display: grid; grid-template-columns: 42px minmax(210px,1.5fr) 110px 130px minmax(220px,auto); gap: 16px; align-items: center; min-height: 84px; padding: 15px 18px; border-bottom: 1px solid var(--line); }
.user-card:last-child { border-bottom: 0; }
.user-card-avatar { width: 38px; }
.user-card-main { display: grid; gap: 2px; min-width: 0; }
.user-card-main span, .user-card-main small { overflow: hidden; color: var(--ink-soft); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.user-role-label { font-size: 12px; }
.user-approval { display: flex; gap: 8px; justify-content: flex-end; }
.user-approval select { min-height: 38px; }

.account-security { display: grid; gap: 14px; }
.account-security > section { padding: 16px; border: 1px solid var(--line); border-radius: 7px; background: rgba(248,250,255,.68); }
.account-profile { display: flex; align-items: center; gap: 12px; }
.account-profile > div { display: grid; gap: 2px; }
.account-profile span, .account-profile small { color: var(--ink-soft); font-size: 11px; }
.account-profile .profile-avatar { color: #fff; }
.account-profile .profile-avatar.has-photo { color: transparent; }
.account-profile-style form { display: grid; gap: 16px; }
.account-profile-style fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.account-profile-style legend { margin-bottom: 9px; color: var(--ink-soft); font-size: 10px; font-weight: 750; }
.profile-avatar-preview { width: 54px; border-radius: 8px; font-size: 15px; }
.profile-avatar-picker { display: grid; grid-template-columns: repeat(9,minmax(48px,1fr)); gap: 8px; }
.profile-avatar-option { position: relative; display: grid; justify-items: center; gap: 6px; min-width: 0; padding: 7px 3px; border: 1px solid transparent; border-radius: 7px; color: var(--ink-soft); font-size: 8px; font-weight: 750; cursor: pointer; transition: border-color .18s ease,background-color .18s ease,transform .18s ease; }
.profile-avatar-option > span:last-child { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile-avatar-option:hover { border-color: color-mix(in srgb,var(--profile-color,#5b6cf5) 28%,var(--line)); background: rgba(255,255,255,.7); transform: translateY(-1px); }
.profile-avatar-option:has(input:checked) { border-color: var(--profile-color,#5b6cf5); background: color-mix(in srgb,var(--profile-color,#5b6cf5) 8%,#fff); }
.profile-avatar-option input, .profile-color-option input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; pointer-events: none; }
.profile-avatar-option:has(input:focus-visible), .profile-color-option:has(input:focus-visible) { outline: 3px solid color-mix(in srgb,var(--aurora-blue) 24%,transparent); outline-offset: 2px; }
.profile-avatar-choice { width: 42px; border-radius: 7px; font-size: 10px; }
.profile-color-picker { display: flex; flex-wrap: wrap; gap: 9px; }
.profile-color-option { position: relative; display: grid; width: 30px; height: 30px; place-items: center; border-radius: 7px; cursor: pointer; }
.profile-color-option > span { width: 22px; height: 22px; border: 2px solid #fff; border-radius: 6px; background: var(--swatch-color); box-shadow: 0 0 0 1px color-mix(in srgb,var(--swatch-color) 35%,var(--line)); transition: transform .18s ease,box-shadow .18s ease; }
.profile-color-option:hover > span { transform: scale(1.08); }
.profile-color-option:has(input:checked) > span { transform: scale(1.08); box-shadow: 0 0 0 2px #fff,0 0 0 4px var(--swatch-color); }
.account-profile-style .button { justify-self: start; }
.account-section-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 12px; }
.account-section-head h3, .account-security h3 { margin: 2px 0 0; font-size: 14px; }
.account-sessions { display: grid; }
.account-sessions article { display: flex; align-items: center; gap: 12px; min-height: 66px; padding: 13px 0; }
.account-sessions article:first-child { padding-top: 3px; }
.account-sessions article:last-child { padding-bottom: 3px; }
.account-sessions article + article { margin-top: 4px; padding-top: 17px; border-top: 1px solid color-mix(in srgb,var(--line) 72%,transparent); }
.account-sessions article > div { display: grid; flex: 1; gap: 2px; }
.account-sessions article > div > span { color: var(--ink-soft); font-size: 11px; }
.account-sessions small { color: var(--ink-soft); font-size: 10px; line-height: 1.45; }
.account-session-device { position: relative; display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border: 1px solid color-mix(in srgb,var(--line) 78%,#fff); border-radius: 7px; color: var(--aurora-blue); background: color-mix(in srgb,var(--aurora-blue) 5%,#fff); box-shadow: 0 7px 18px rgba(70,84,139,.07); }
.account-session-device svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.account-session-device::after { content:""; position:absolute; right:-2px; bottom:-2px; width:8px; height:8px; border:2px solid #fff; border-radius:50%; background:#2aaa72; }
.account-password-form { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 14px; }
.account-password-form label { display: grid; gap: 6px; color: var(--ink-soft); font-size: 10px; font-weight: 750; }
.account-password-form label:first-child { grid-column: 1 / -1; }
.account-password-form input { min-height: 42px; padding: 0 11px; border: 1px solid var(--line); border-radius: 6px; background: white; font: inherit; }
.account-password-form .auth-error { grid-column: 1 / -1; margin: 0; }
.account-password-form .button { justify-self: start; }
.account-provider-detail, .account-mfa-summary { display: flex; align-items: center; gap: 12px; min-height: 54px; }
.account-mfa-summary { flex-wrap: wrap; }
.account-provider-detail > div, .account-mfa-summary > div { display: grid; min-width: 0; flex: 1; gap: 3px; }
.account-provider-detail small, .account-mfa-summary small { color: var(--ink-soft); font-size: 10px; line-height: 1.45; }
.account-google-mark { display: grid; width: 34px; height: 34px; flex: 0 0 34px; place-items: center; border-radius: 50%; color: #fff; background: conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 45%,#fbbc05 0 70%,#ea4335 0); font-weight: 850; }
.account-mfa-summary details { min-width: 100%; }
.account-mfa-summary details summary { width: max-content; margin-left: auto; color: var(--danger); font-size: 11px; font-weight: 750; cursor: pointer; }
.account-inline-form { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; align-items: end; margin-top: 14px; }
.account-inline-form label { display: grid; gap: 5px; color: var(--ink-soft); font-size: 10px; font-weight: 700; }
.account-inline-form input { min-width: 0; min-height: 40px; padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; background: #fff; font: inherit; }
.account-inline-form .auth-error { grid-column: 1 / -1; margin: 0; }
.mfa-setup-panel, .mfa-recovery { display: grid; gap: 14px; }
.mfa-setup-panel > p, .mfa-recovery > p { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.5; }
.mfa-enrollment { display: grid; grid-template-columns: 184px minmax(0,1fr); gap: 20px; align-items: stretch; }
.mfa-qr-card { display: grid; align-content: center; justify-items: center; gap: 10px; min-height: 204px; margin: 0; padding: 14px; border: 1px solid color-mix(in srgb,var(--line) 78%,#fff); border-radius: 8px; background: color-mix(in srgb,#fff 92%,#eef1ff); box-shadow: 0 14px 34px rgba(59,74,130,.08); }
.mfa-qr { display: grid; place-items: center; width: 156px; aspect-ratio: 1; border-radius: 6px; background: #fff; color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.mfa-qr svg { display: block; width: 100%; height: 100%; border-radius: 5px; }
.mfa-qr.is-unavailable { border: 1px dashed var(--line); }
.mfa-qr-card figcaption { color: var(--ink-soft); font-size: 10px; font-weight: 750; }
.mfa-setup-details { display: grid; align-content: center; gap: 14px; min-width: 0; }
.mfa-confirm-form { grid-template-columns: minmax(150px,.8fr) minmax(190px,1fr); }
.mfa-manual { padding-top: 12px; border-top: 1px solid var(--line); }
.mfa-manual summary { width: max-content; max-width: 100%; cursor: pointer; color: var(--ink-soft); font-size: 11px; font-weight: 750; }
.mfa-manual[open] summary { margin-bottom: 10px; color: var(--ink); }
.mfa-secret { display: flex; align-items: center; gap: 10px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.mfa-secret code { min-width: 0; flex: 1; overflow-wrap: anywhere; color: var(--ink); font-size: 12px; }
.mfa-recovery pre { max-height: 190px; margin: 0; padding: 14px; overflow: auto; border: 1px solid var(--line); border-radius: 6px; color: var(--ink); background: #fff; font: 700 12px/1.75 ui-monospace,Consolas,monospace; }
.mfa-recovery > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 9px; }
@media (max-width: 800px) {
  .mfa-enrollment { grid-template-columns: 1fr; }
  .mfa-qr-card { width: min(100%,220px); justify-self: center; }
  .mfa-confirm-form { grid-template-columns: 1fr; }
}
.account-security-footer { position: sticky; z-index: 4; bottom: 0; display: flex; justify-content: flex-end; margin: 2px -20px -20px; padding: 14px 20px 20px; border-top: 1px solid var(--line); background: color-mix(in srgb,var(--surface) 94%,transparent); box-shadow: 0 -12px 28px rgba(45,57,94,.06); backdrop-filter: blur(16px); }
.session-count { color: var(--ink-soft); font-size: 11px; text-align: right; }
.user-controls { grid-column: 1 / -1; margin: 2px -18px -15px; border-top: 1px solid var(--line); background: rgba(247,249,255,.55); }
.user-controls summary { width: max-content; margin-left: auto; padding: 12px 18px; color: var(--aurora-blue); font-size: 11px; font-weight: 750; cursor: pointer; list-style-position: inside; }
.user-controls-body { display: grid; grid-template-columns: .8fr 1.4fr .8fr; gap: 14px; padding: 4px 18px 18px; }
.user-controls-body section { min-width: 0; padding: 14px; border: 1px solid var(--line); border-radius: 7px; background: rgba(255,255,255,.72); }
.user-controls-body h3 { margin: 0 0 11px; font-size: 12px; }
.user-controls-body p, .user-controls-body small { color: var(--ink-soft); font-size: 10px; line-height: 1.45; }
.user-control-row { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.user-control-row select { min-height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; background: white; }
.perimeter-editor { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 9px; }
.perimeter-editor h3, .perimeter-editor .user-control-row { grid-column: 1 / -1; }
.perimeter-editor label { display: grid; gap: 5px; color: var(--ink-soft); font-size: 10px; font-weight: 700; }
.perimeter-editor input { min-width: 0; min-height: 38px; padding: 0 10px; border: 1px solid var(--line); border-radius: 6px; background: white; font: inherit; }

@keyframes auth-orbit-one { from { transform: translate(-58%,-54%) scale(.92); } to { transform: translate(-40%,-42%) scale(1.08); } }
@keyframes auth-orbit-two { from { transform: translate(-34%,-68%) scale(1.04); } to { transform: translate(-66%,-30%) scale(.9); } }

@media (max-width: 800px) {
  .user-identity { display: none; }
  .users-hero { align-items: stretch; }
  .user-invite form { position: static; grid-template-columns: 1fr; width: 100%; margin-top: 8px; }
  .user-invite form small { grid-column: auto; }
  .user-card { grid-template-columns: 42px 1fr auto; }
  .user-role-label { grid-column: 2; }
  .user-approval { grid-column: 2 / -1; justify-content: flex-start; }
  .user-controls-body { grid-template-columns: 1fr; }
  .perimeter-editor { grid-template-columns: 1fr; }
  .perimeter-editor h3, .perimeter-editor .user-control-row { grid-column: auto; }
  .account-section-head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .account-section-head .button { width: 100%; }
  .account-session { align-items: flex-start !important; }
  .account-inline-form { grid-template-columns: 1fr; }
  .account-inline-form .auth-error { grid-column: auto; }
  .account-password-form { grid-template-columns: 1fr; }
  .account-password-form label:first-child { grid-column: auto; }
  .account-provider-detail, .account-mfa-summary { align-items: flex-start; flex-wrap: wrap; }
  .account-provider-detail .button, .account-mfa-summary > .button { width: 100%; }
  .profile-avatar-picker { grid-template-columns: repeat(5,minmax(48px,1fr)); }
}

@media (max-width: 460px) {
  .profile-avatar-picker { grid-template-columns: repeat(3,minmax(48px,1fr)); }
  .account-profile-style .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .auth-aurora i { animation: none !important; }
}

/* Dashboard V2: Aurora composition backed by the real Pulse modules. */
.aurora-dashboard-page { gap: 14px; }
.aurora-dashboard-welcome { display:flex;align-items:center;justify-content:space-between;gap:24px;padding:8px 4px 4px; }
.aurora-dashboard-welcome h2 { margin:5px 0 4px;color:var(--aurora-ink);font-size:clamp(24px,2.1vw,34px);line-height:1.12; }
.aurora-dashboard-welcome p { margin:0;color:var(--aurora-muted);font-size:11px; }
.aurora-dashboard-sync { display:flex;align-items:center;gap:10px;flex:0 0 auto;min-width:210px;padding:11px 14px;border:1px solid var(--aurora-line);border-radius:12px;background:color-mix(in srgb,var(--surface) 86%,transparent);box-shadow:0 10px 30px rgba(57,68,110,.06); }
.aurora-dashboard-sync>span:last-child { display:grid;gap:2px; }.aurora-dashboard-sync small{color:var(--aurora-muted);font-size:9px}.aurora-dashboard-sync strong{color:var(--aurora-ink);font-size:10px}
.aurora-dashboard-metrics { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px; }
.aurora-metric { position:relative;min-height:132px;padding:17px;overflow:hidden;border:1px solid var(--aurora-line);border-radius:15px;background:var(--surface);box-shadow:0 12px 32px rgba(57,68,110,.07); }
.aurora-metric>span,.aurora-metric>small,.aurora-metric>em{display:block}.aurora-metric>span{color:var(--aurora-muted);font-size:9px;font-weight:800;text-transform:uppercase}.aurora-metric>strong{display:block;margin-top:11px;color:var(--aurora-ink);font-size:clamp(25px,2.2vw,34px);line-height:1}.aurora-metric>small{margin-top:5px;color:var(--aurora-muted);font-size:10px}.aurora-metric>em{position:absolute;left:17px;bottom:15px;color:var(--aurora-muted);font-size:9px;font-style:normal}
.aurora-metric.is-blue,.aurora-metric.is-violet{color:#fff;border-color:transparent}.aurora-metric.is-blue{background:linear-gradient(145deg,#456cf1,#6b95ff);box-shadow:0 18px 36px rgba(82,119,255,.27)}.aurora-metric.is-violet{background:linear-gradient(145deg,#725bdc,#9a7bf3);box-shadow:0 18px 36px rgba(128,104,238,.25)}
.aurora-metric.is-blue>span,.aurora-metric.is-blue>strong,.aurora-metric.is-blue>small,.aurora-metric.is-blue>em,.aurora-metric.is-violet>span,.aurora-metric.is-violet>strong,.aurora-metric.is-violet>small,.aurora-metric.is-violet>em{color:#fff}
.aurora-metric.is-blue::after,.aurora-metric.is-violet::after{content:"";position:absolute;width:130px;height:130px;right:-36px;top:-46px;border:22px solid rgba(255,255,255,.08);border-radius:50%}
.aurora-metric.is-blue::before,.aurora-metric.is-violet::before{content:"";position:absolute;z-index:0;width:58px;height:58px;right:42px;top:42px;border-radius:50%;background:radial-gradient(circle at 34% 30%,rgba(255,255,255,.3),rgba(255,255,255,.1) 48%,rgba(255,255,255,.025) 72%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16),0 10px 28px rgba(28,42,122,.16);filter:blur(.1px);pointer-events:none;will-change:transform}
.aurora-metric.is-blue::before{animation:aurora-metric-orbit-blue 8.4s cubic-bezier(.45,.05,.55,.95) infinite alternate}
.aurora-metric.is-violet::before{animation:aurora-metric-orbit-violet 9.2s cubic-bezier(.45,.05,.55,.95) .7s infinite alternate-reverse}
.aurora-metric.is-blue::after,.aurora-metric.is-violet::after{animation:aurora-metric-ring-breathe 6.8s ease-in-out infinite alternate;will-change:transform,opacity}
.aurora-metric.is-violet::after{animation-delay:.65s}
.aurora-metric.is-blue>span,.aurora-metric.is-blue>strong,.aurora-metric.is-blue>small,.aurora-metric.is-violet>span,.aurora-metric.is-violet>strong,.aurora-metric.is-violet>small{position:relative;z-index:1}
.aurora-metric.is-blue>em,.aurora-metric.is-violet>em{position:absolute;z-index:1}
.aurora-dashboard-metrics [data-count-up]{font-variant-numeric:tabular-nums;will-change:transform,filter,opacity}
.aurora-dashboard-metrics [data-count-up].is-counting{animation:aurora-metric-number-focus 1.25s cubic-bezier(.2,.72,.2,1) both}
@keyframes aurora-metric-orbit-blue{0%{transform:translate3d(-8px,-4px,0) scale(.88);opacity:.62}45%{transform:translate3d(18px,7px,0) scale(1.06);opacity:.92}100%{transform:translate3d(-2px,28px,0) scale(.94);opacity:.72}}
@keyframes aurora-metric-orbit-violet{0%{transform:translate3d(12px,-7px,0) scale(.92);opacity:.66}52%{transform:translate3d(-18px,13px,0) scale(1.08);opacity:.94}100%{transform:translate3d(8px,30px,0) scale(.9);opacity:.7}}
@keyframes aurora-metric-ring-breathe{from{transform:translate3d(0,0,0) scale(.96);opacity:.68}to{transform:translate3d(-7px,8px,0) scale(1.05);opacity:1}}
@keyframes aurora-metric-number-focus{0%{opacity:.48;transform:translateY(5px);filter:blur(2px)}28%{opacity:1;filter:blur(0)}100%{opacity:1;transform:translateY(0);filter:none}}
.aurora-metric-meter{height:5px;margin-top:19px;overflow:hidden;border-radius:5px;background:var(--surface-muted)}.aurora-metric-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#32c997,#5277ff)}
.aurora-dashboard-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr);gap:14px;align-items:stretch}.aurora-primary-chart{min-height:440px}.aurora-primary-chart .chart-body{min-height:350px}.aurora-dashboard-side{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:14px}
.aurora-package-card,.aurora-alerts-card{overflow:hidden;border-radius:16px}.aurora-package-card{padding:18px;background:linear-gradient(155deg,var(--surface),color-mix(in srgb,#8068ee 9%,var(--surface)))}.aurora-package-card>header,.aurora-alerts-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px}.aurora-package-card h2,.aurora-alerts-card h2{margin:4px 0 0;color:var(--aurora-ink);font-size:18px}.aurora-package-card>p{margin:17px 0 0;color:var(--aurora-muted);font-size:10px}
.aurora-package-split{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:17px 0}.aurora-package-split span{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:5px;padding:10px;border:1px solid var(--aurora-line);border-radius:10px;background:rgba(255,255,255,.45);color:var(--aurora-muted);font-size:9px}.aurora-package-split i{width:7px;height:7px;border-radius:3px}.aurora-package-split i.is-new{background:#8068ee}.aurora-package-split i.is-run{background:#5277ff}.aurora-package-split strong{grid-column:1/-1;color:var(--aurora-ink);font-size:15px}
.aurora-package-action{width:100%;height:40px;border:0;border-radius:10px;background:var(--aurora-ink);color:#fff;font-weight:800}.aurora-package-action svg{float:right;width:16px}.aurora-alerts-card>header{padding:17px 18px 12px}.aurora-alert-count{display:grid;place-items:center;min-width:30px;height:30px;border-radius:10px;background:#fff0dd;color:#b97511;font-size:10px;font-weight:850}.aurora-alerts-card ul{list-style:none;margin:0;padding:0 17px 10px}.aurora-alerts-card li{display:grid;grid-template-columns:4px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 0;border-top:1px solid var(--aurora-line)}.aurora-alerts-card li>i{width:4px;height:30px;border-radius:4px}.aurora-alerts-card li>i.is-critical{background:#ec5b64}.aurora-alerts-card li>i.is-warning{background:#e6a12d}.aurora-alerts-card li>span{display:grid;min-width:0;color:var(--aurora-ink);font-size:10px;font-weight:750}.aurora-alerts-card li small{overflow:hidden;color:var(--aurora-muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.aurora-alerts-card li strong{color:var(--aurora-ink);font-size:11px}.aurora-alerts-empty{padding:24px 18px;color:var(--aurora-muted);font-size:10px}
.aurora-dashboard-secondary{grid-template-columns:1fr}.aurora-dashboard-secondary .reason-ranking{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
@media(min-width:1700px){.aurora-dashboard-main{grid-template-columns:minmax(0,2fr) minmax(340px,.72fr)}.aurora-dashboard-metrics{gap:16px}.aurora-primary-chart{min-height:480px}}
@media(max-width:1120px){.aurora-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.aurora-dashboard-main{grid-template-columns:1fr}.aurora-dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.aurora-dashboard-secondary{grid-template-columns:1fr}}
@media(max-width:700px){.aurora-dashboard-welcome{align-items:flex-start}.aurora-dashboard-sync{display:none}.aurora-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.aurora-metric{min-height:118px;padding:14px}.aurora-metric>em{position:static;margin-top:12px}.aurora-dashboard-side{grid-template-columns:1fr}}
@media(max-width:700px){.aurora-dashboard-secondary .reason-ranking{grid-template-columns:1fr}}
@media(max-width:430px){.aurora-dashboard-metrics{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.aurora-metric.is-blue::before,.aurora-metric.is-violet::before,.aurora-metric.is-blue::after,.aurora-metric.is-violet::after,.aurora-dashboard-metrics [data-count-up].is-counting{animation:none}}

/* Dashboard skeleton mirrors the final Aurora layout to avoid layout shifts. */
.dashboard-loading-shell{gap:14px}
.dashboard-loading-welcome{display:flex;min-height:74px;align-items:center;justify-content:space-between;gap:24px;padding:8px 4px 4px}
.dashboard-loading-welcome .is-title{width:min(520px,52%);height:58px}
.dashboard-loading-welcome .is-sync{width:190px;height:42px}
.dashboard-loading-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.dashboard-loading-metrics>.skeleton-block{min-height:132px;border-radius:15px}
.dashboard-loading-main{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.72fr);gap:14px;align-items:stretch}
.dashboard-loading-main>.is-chart{min-height:440px}
.dashboard-loading-side{display:grid;grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:14px}
.dashboard-loading-side>.skeleton-block{min-height:213px}
.dashboard-loading-integration{display:block;min-height:330px}
.skeleton-block{position:relative;display:block;overflow:hidden;border:1px solid var(--aurora-line);border-radius:15px;background:rgba(235,241,240,.82);box-shadow:0 12px 32px rgba(57,68,110,.04)}
.skeleton-block::after{position:absolute;inset:0;content:"";background:linear-gradient(105deg,transparent 18%,rgba(255,255,255,.78) 42%,rgba(255,255,255,.92) 50%,rgba(255,255,255,.78) 58%,transparent 82%);transform:translateX(-110%);animation:dashboard-skeleton-sweep 1.45s cubic-bezier(.4,0,.2,1) infinite}
@keyframes dashboard-skeleton-sweep{to{transform:translateX(110%)}}
@media(min-width:1700px){.dashboard-loading-main{grid-template-columns:minmax(0,2fr) minmax(340px,.72fr)}.dashboard-loading-metrics{gap:16px}.dashboard-loading-main>.is-chart{min-height:480px}.dashboard-loading-side>.skeleton-block{min-height:233px}}
@media(max-width:1120px){.dashboard-loading-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-loading-main{grid-template-columns:1fr}.dashboard-loading-side{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.dashboard-loading-side>.skeleton-block{min-height:190px}}
@media(max-width:700px){.dashboard-loading-welcome{align-items:flex-start}.dashboard-loading-welcome .is-title{width:78%}.dashboard-loading-welcome .is-sync{display:none}.dashboard-loading-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-loading-metrics>.skeleton-block{min-height:118px}.dashboard-loading-side{grid-template-columns:1fr}.dashboard-loading-main>.is-chart{min-height:390px}.dashboard-loading-integration{min-height:280px}}
@media(max-width:430px){.dashboard-loading-metrics{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.skeleton-block::after{animation:none}}

/* Compact service health center in the fixed top bar. */
#connection-state{position:relative;cursor:default;font:inherit}
#connection-state.is-warning{color:#80540a;border-color:rgba(217,151,28,.3);background:rgba(255,249,232,.94)}
#connection-state.is-warning>.status-dot{background:#d9971c;box-shadow:0 0 0 4px rgba(217,151,28,.12)}
.service-status-popover{position:absolute;z-index:120;top:calc(100% + 10px);right:0;width:286px;padding:14px;display:grid;gap:10px;text-align:left;color:var(--aurora-ink);background:rgba(255,255,255,.96);border:1px solid var(--aurora-line);border-radius:12px;box-shadow:0 18px 48px rgba(48,58,98,.18);backdrop-filter:blur(18px) saturate(135%);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:opacity 170ms ease,transform 170ms ease,visibility 170ms}
.service-status-popover::before{position:absolute;right:22px;top:-5px;width:9px;height:9px;content:"";transform:rotate(45deg);background:rgba(255,255,255,.96);border-left:1px solid var(--aurora-line);border-top:1px solid var(--aurora-line)}
#connection-state:hover .service-status-popover,#connection-state:focus-visible .service-status-popover{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.service-status-popover>strong{font-size:12px;letter-spacing:0}
.service-status-row{display:grid;grid-template-columns:8px 1fr;gap:9px;align-items:start;padding-top:9px;border-top:1px solid rgba(171,184,211,.24)}
.service-status-row>i{width:7px;height:7px;margin-top:4px;border-radius:50%;background:#34a56f;box-shadow:0 0 0 3px rgba(52,165,111,.11)}
.service-status-row.is-warning>i{background:#d9971c;box-shadow:0 0 0 3px rgba(217,151,28,.12)}
.service-status-row.is-running>i{background:#5277ff;box-shadow:0 0 0 3px rgba(82,119,255,.12);animation:service-status-pulse 1.5s ease-in-out infinite}
.service-status-row span{display:grid;gap:2px}.service-status-row b{font-size:11px}.service-status-row small{color:var(--aurora-muted);font-size:10px;line-height:1.4}
.connection-label,.connection-label-compact{overflow:hidden;max-width:240px;text-overflow:ellipsis;white-space:nowrap;font-variant-numeric:tabular-nums}
.service-status-progress{display:block!important;width:100%;height:4px;margin-top:6px;overflow:hidden;border-radius:4px;background:var(--aurora-line)}
.service-status-progress>i{display:block;width:var(--service-progress);height:100%;border-radius:inherit;background:var(--aurora-blue);transition:width 180ms ease-out}
@keyframes service-status-pulse{50%{transform:scale(1.35);opacity:.58}}
@media(max-width:540px){.service-status-popover{position:absolute;top:calc(100% + 10px);right:0;left:auto;width:min(286px,calc(100vw - 24px))}.service-status-popover::before{display:none}}
@media(prefers-reduced-motion:reduce){.service-status-row.is-running>i{animation:none}}

/* The dashboard and Jobs page share one job-row component. */
.aurora-job-row.is-compact{grid-template-columns:minmax(260px,1.65fr) minmax(135px,.68fr) minmax(92px,.44fr) minmax(108px,.52fr) minmax(132px,.62fr) auto}
@media(min-width:1800px){.aurora-job-row.is-compact{grid-template-columns:minmax(340px,1.8fr) minmax(180px,.72fr) minmax(110px,.44fr) minmax(130px,.52fr) minmax(160px,.62fr) auto}}
@media(max-width:1180px){.aurora-job-row.is-compact{grid-template-columns:minmax(230px,1.4fr) minmax(125px,.65fr) minmax(104px,.5fr) minmax(125px,.58fr) auto}}
@media(max-width:900px){.aurora-job-row.is-compact{grid-template-columns:minmax(0,1fr) auto}.aurora-job-row.is-compact .aurora-job-identity{grid-column:1}.aurora-job-row.is-compact .aurora-job-package{grid-column:1}.aurora-job-row.is-compact .aurora-job-status{grid-column:2;grid-row:1}.aurora-job-row.is-compact .aurora-job-actions{grid-column:2}}
.aurora-period-growth>strong{color:var(--aurora-ink);font-family:var(--font-ui);font-size:15px;font-weight:800;letter-spacing:0}
.aurora-period-growth>strong small{color:inherit;font-family:inherit;font-size:inherit;font-weight:inherit}

/* Jobs timeline: spacious white period cards from the approved reference. */
.job-period-list{overflow:hidden;border-top:1px solid #e1e6f0;border-radius:0;background:#fff;box-shadow:none}
.job-period-zone{margin:0;overflow:hidden;background:#fff;border:0;border-radius:0;box-shadow:none}
.job-period-zone+.job-period-zone{border-top:1px solid #e1e6f0}
.job-period-zone.is-upcoming,.job-period-zone.is-current,.job-period-zone.is-past{background:#fff;box-shadow:none}
.job-period-zone .job-period-zone-head{min-height:74px;padding-inline:24px;border-left:0;border-bottom:1px solid #e5e9f2}
.job-period-zone.is-upcoming .job-period-zone-head{background:#fff8e9;background-image:none}
.job-period-zone.is-current .job-period-zone-head{background:#edf4ff}
.job-period-zone.is-past .job-period-zone-head{background:#f4f6f8}
.job-period-zone-icon{width:40px;height:40px;border-radius:12px}
.job-period-zone.is-upcoming .job-period-zone-icon{color:#bd7914;background:#ffe9b6}
.job-period-zone.is-current .job-period-zone-icon{color:#426ee8;background:#dce8ff}
.job-period-zone.is-past .job-period-zone-icon{color:#667285;background:#e7ebf0}
.job-period-zone .job-period-head,.job-period-zone .job-period-group.is-expanded .job-period-head,.job-period-zone.is-upcoming .job-period-head,.job-period-zone.is-current .job-period-head,.job-period-zone.is-past .job-period-head,.job-period-zone.is-upcoming .job-period-group.is-expanded .job-period-head,.job-period-zone.is-current .job-period-group.is-expanded .job-period-head,.job-period-zone.is-past .job-period-group.is-expanded .job-period-head{min-height:112px;grid-template-columns:minmax(0,1fr) minmax(300px,34%) minmax(120px,auto);background:#fff;border-bottom:0}
.job-period-zone .job-period-group+.job-period-group .job-period-head{border-top:1px solid #e5e9f2}
.job-period-select-wrap{display:none}
.job-period-toggle{min-height:112px;padding:24px}
.job-period-title strong{font-size:25px}
.job-period-title small{margin-top:9px;font-size:10px;text-transform:uppercase}
.job-period-zone .aurora-period-growth,.job-period-zone.is-upcoming .aurora-period-growth,.job-period-zone.is-current .aurora-period-growth,.job-period-zone.is-past .aurora-period-growth{min-height:112px;padding:22px 26px;background:#fff;border-left:0}
.job-period-review{display:flex;min-width:120px;align-items:center;justify-content:flex-end;padding:20px 24px 20px 8px;background:#fff}
.job-period-review .job-period-status{display:grid;justify-items:end;gap:4px}
.job-period-zone-icon{flex:0 0 40px}
.job-period-zone .aurora-period-growth svg{height:38px}
.job-period-zone :is(.growth-line.is-run){stroke:#169b89;filter:drop-shadow(0 2px 5px rgba(22,155,137,.25))}
.job-period-zone :is(.growth-line.is-new){stroke:#7657f6;filter:drop-shadow(0 2px 5px rgba(118,87,246,.27))}
.job-period-zone :is(.growth-area.is-run){fill:rgba(22,155,137,.07)}
.job-period-zone :is(.growth-area.is-new){fill:rgba(118,87,246,.07)}
.aurora-job-row,.job-period-zone.is-upcoming .aurora-job-row,.job-period-zone.is-current .aurora-job-row,.job-period-zone.is-past .aurora-job-row{grid-template-columns:minmax(300px,1.8fr) minmax(150px,.7fr) minmax(92px,.42fr) minmax(110px,.5fr) minmax(145px,.65fr) auto;min-height:122px;padding:20px 24px;background:#fff}
.aurora-job-row:hover{background:#fbfcff}
.aurora-job-select{display:none}
.aurora-job-identity strong{font-size:18px}
.aurora-job-package strong{font-size:22px}
.aurora-job-actions .icon-button{width:44px;height:44px;flex-basis:44px;border-radius:13px}

@media(max-width:1050px){
  .job-period-zone .job-period-head{grid-template-columns:minmax(0,1fr) minmax(240px,34%) auto}
  .aurora-job-row,.job-period-zone.is-upcoming .aurora-job-row,.job-period-zone.is-current .aurora-job-row,.job-period-zone.is-past .aurora-job-row{grid-template-columns:minmax(250px,1.5fr) minmax(130px,.7fr) minmax(90px,.45fr) minmax(120px,.6fr) auto}
  .aurora-job-origin{display:none}
}

@media(max-width:700px){
  .job-period-list{border-radius:0}
  .job-period-zone{border-radius:0}
  .job-period-zone .job-period-zone-head{min-height:62px;padding-inline:14px}
  .job-period-toggle{min-height:88px;padding:16px}
  .job-period-zone .job-period-head{grid-template-columns:minmax(0,1fr) auto}
  .job-period-review{min-width:0;padding:12px 14px}
  .job-period-title strong{font-size:20px}
  .aurora-job-row,.job-period-zone.is-upcoming .aurora-job-row,.job-period-zone.is-current .aurora-job-row,.job-period-zone.is-past .aurora-job-row{grid-template-columns:minmax(0,1fr) auto;min-height:96px;padding:14px}
  .aurora-job-package{grid-column:1}
  .aurora-job-actions{grid-column:2;grid-row:1/span 2}
}

/* Jobs timeline cleanup: period color identifies time; curve color identifies workflow. */
.jobs-workspace .job-result-bar{
  display:none;
  min-height:52px;
  padding:8px 16px;
  background:#fff;
  border-top:1px solid #e5e9f2;
}
.jobs-workspace .job-result-bar.has-selection{display:flex}
.jobs-workspace .job-result-copy span{font-size:11px;font-weight:750}

.job-period-zone,
.job-period-zone+.job-period-zone{border-right:0;border-bottom:0;border-left:0}
.job-period-zone+.job-period-zone{border-top:1px solid #e1e6f0}
.job-period-zone .job-period-zone-head{border-left:0!important}
.job-period-zone .job-period-head,
.job-period-zone .job-period-toggle,
.job-period-zone .job-period-review,
.job-period-zone .aurora-period-growth{background:#fff!important}
.job-period-toggle:hover{background:#fbfcff!important}
.job-period-chevron,
.job-period-zone.is-upcoming .job-period-chevron,
.job-period-zone.is-current .job-period-chevron,
.job-period-zone.is-past .job-period-chevron{
  width:34px;
  height:34px;
  flex-basis:34px;
  color:#536075;
  background:#f5f7fb;
  border:1px solid #dfe5ef;
  border-radius:10px;
}
.job-period-chevron svg{width:16px;height:16px;stroke-width:2.25}
.job-period-group.is-expanded .job-period-chevron{color:#334155;background:#eef2f7}

.aurora-period-growth{
  grid-template-columns:minmax(0,1fr) auto;
  border-left:0!important;
  box-shadow:none!important;
}
.aurora-period-growth .growth-heading{
  display:flex;
  min-width:0;
  align-items:center;
  gap:14px;
}
.aurora-period-growth .growth-heading>span:first-child{white-space:nowrap}
.aurora-period-growth .growth-legend{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#6f7c91;
  font-size:9px;
  font-weight:750;
  white-space:nowrap;
}
.aurora-period-growth .growth-legend i{
  display:inline-block;
  width:9px;
  height:3px;
  margin-left:4px;
  border-radius:999px;
  background:currentColor;
}
.aurora-period-growth .growth-legend i.is-run{color:#169b89}
.aurora-period-growth .growth-legend i.is-new{color:#7657f6}
.job-period-zone :is(.growth-line.is-run){stroke:#169b89!important}
.job-period-zone :is(.growth-line.is-new){stroke:#7657f6!important}
.job-period-zone :is(.growth-area.is-run){fill:rgba(22,155,137,.07)!important}
.job-period-zone :is(.growth-area.is-new){fill:rgba(118,87,246,.07)!important}
.job-period-zone .aurora-period-growth circle.is-run{stroke:#169b89!important}
.job-period-zone .aurora-period-growth circle.is-new{stroke:#7657f6!important}

.aurora-flow{
  min-width:44px;
  min-height:28px;
  padding:0 9px;
  border-radius:9px;
  font-size:9px;
  line-height:1;
}

@media(max-width:700px){
  .aurora-period-growth{display:none}
  .job-period-chevron,
  .job-period-zone.is-upcoming .job-period-chevron,
  .job-period-zone.is-current .job-period-chevron,
  .job-period-zone.is-past .job-period-chevron{width:32px;height:32px;flex-basis:32px}
}

/* Frosted timeline: one continuous glass surface per temporal zone. */
.job-period-zone{
  position:relative;
  isolation:isolate;
  background:var(--period-glass)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72),inset 0 -1px 0 var(--period-edge)!important;
}
.job-period-zone::before{
  position:absolute;
  z-index:-1;
  inset:0;
  content:"";
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 0%,var(--period-glow),transparent 42%),
    linear-gradient(112deg,rgba(255,255,255,.5),transparent 38%,rgba(255,255,255,.2));
}
.job-period-zone.is-upcoming{
  --period-glass:linear-gradient(118deg,rgba(255,247,221,.88),rgba(255,236,184,.6) 52%,rgba(255,250,235,.82));
  --period-panel:rgba(255,252,243,.52);
  --period-hover:rgba(255,249,229,.7);
  --period-edge:rgba(210,145,38,.18);
  --period-glow:rgba(255,196,79,.25);
}
.job-period-zone.is-current{
  --period-glass:linear-gradient(118deg,rgba(236,244,255,.9),rgba(207,226,255,.6) 52%,rgba(244,248,255,.84));
  --period-panel:rgba(247,250,255,.5);
  --period-hover:rgba(235,243,255,.72);
  --period-edge:rgba(75,119,221,.17);
  --period-glow:rgba(103,151,255,.22);
}
.job-period-zone.is-past{
  --period-glass:linear-gradient(118deg,rgba(246,248,250,.92),rgba(222,228,235,.62) 52%,rgba(249,250,251,.86));
  --period-panel:rgba(252,253,254,.5);
  --period-hover:rgba(239,243,247,.72);
  --period-edge:rgba(104,117,134,.16);
  --period-glow:rgba(154,168,184,.2);
}
.job-period-zone .job-period-zone-head,
.job-period-zone .job-period-head,
.job-period-zone .job-period-toggle,
.job-period-zone .job-period-review,
.job-period-zone .aurora-period-growth,
.job-period-zone .aurora-job-row,
.job-period-zone.is-upcoming .aurora-job-row,
.job-period-zone.is-current .aurora-job-row,
.job-period-zone.is-past .aurora-job-row{
  background:var(--period-panel)!important;
  -webkit-backdrop-filter:blur(18px) saturate(125%);
  backdrop-filter:blur(18px) saturate(125%);
}
.job-period-zone .job-period-zone-head{
  background:linear-gradient(90deg,var(--period-panel),rgba(255,255,255,.26))!important;
}
.job-period-zone .job-period-toggle:hover,
.job-period-zone .aurora-job-row:hover{background:var(--period-hover)!important}
.job-period-zone.is-upcoming .job-period-zone-head{
  background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.34) 0 9px,transparent 9px 20px)!important;
}

/* Workflow colors are invariant across badges, legends and charts. */
.aurora-flow.is-run{
  color:#117f72;
  background:rgba(22,155,137,.12);
  border:1px solid rgba(22,155,137,.18);
}
.aurora-flow.is-new{
  color:#6846e8;
  background:rgba(118,87,246,.12);
  border:1px solid rgba(118,87,246,.18);
}
.aurora-package-split i.is-run{background:#169b89}
.aurora-package-split i.is-new{background:#7657f6}

/* Kinetic glass interactions inspired by the original Aurora prototype. */
.job-period-zone{
  animation:aurora-period-arrive 520ms cubic-bezier(.2,.72,.2,1) both;
}
.job-period-zone:nth-child(2){animation-delay:70ms}
.job-period-zone:nth-child(3){animation-delay:140ms}
.job-period-head{
  position:relative;
  overflow:hidden;
  background:var(--period-panel)!important;
  transition:transform 240ms cubic-bezier(.2,.72,.2,1),box-shadow 240ms ease,filter 240ms ease;
}
.job-period-head::after{
  position:absolute;
  z-index:1;
  top:-40%;
  bottom:-40%;
  left:-24%;
  width:18%;
  content:"";
  pointer-events:none;
  opacity:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);
  filter:blur(7px);
  transform:skewX(-14deg);
}
.job-period-head:hover{
  z-index:2;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.78),0 10px 28px rgba(71,84,126,.09);
  filter:saturate(1.08);
}
.job-period-head:hover::after{animation:aurora-period-scan 820ms cubic-bezier(.2,.7,.2,1)}
.job-period-head>.job-period-toggle,
.job-period-head>.aurora-period-growth,
.job-period-head>.job-period-review{
  position:relative;
  z-index:2;
  background:transparent!important;
}
.job-period-head:hover>.job-period-toggle,
.job-period-head:hover>.aurora-period-growth,
.job-period-head:hover>.job-period-review{background:transparent!important}
.aurora-period-growth .growth-line{
  stroke-dasharray:1;
  stroke-dashoffset:1;
  animation:aurora-curve-draw 760ms cubic-bezier(.2,.72,.2,1) forwards;
}
.aurora-period-growth .growth-line.is-new{animation-delay:90ms}
.aurora-period-growth circle{
  transform-box:fill-box;
  transform-origin:center;
  transition:opacity 180ms ease,transform 180ms ease,filter 180ms ease;
}
.job-period-head:hover .growth-line{stroke-width:3.2;filter:drop-shadow(0 0 7px currentColor)}
.job-period-head:hover .aurora-period-growth circle{opacity:.75;transform:scale(1.12)}
.job-period-head:hover .aurora-period-growth strong{transform:translateY(-1px)}
.aurora-period-growth strong{transition:transform 200ms ease,color 200ms ease}

@keyframes aurora-period-arrive{
  from{opacity:0;transform:translateY(12px);filter:blur(4px)}
  to{opacity:1;transform:none;filter:none}
}
@keyframes aurora-period-scan{
  0%{left:-24%;opacity:0}
  18%{opacity:.8}
  100%{left:110%;opacity:0}
}
@keyframes aurora-curve-draw{
  to{stroke-dashoffset:0}
}

@media(prefers-reduced-motion:reduce){
  .job-period-zone,.aurora-period-growth .growth-line{animation:none!important}
  .aurora-period-growth .growth-line{stroke-dashoffset:0}
  .job-period-head::after{display:none}
}

/* Archived periods stay quiet until the operator inspects them. */
.job-period-zone.is-past .job-period-group .job-period-head,
.job-period-zone.is-past .job-period-group .aurora-job-row{
  filter:grayscale(1) saturate(.12);
  transition:filter 360ms ease,background 360ms ease,box-shadow 360ms ease;
}
.job-period-zone.is-past .job-period-group:hover .job-period-head,
.job-period-zone.is-past .job-period-group:focus-within .job-period-head,
.job-period-zone.is-past .job-period-group:hover .aurora-job-row,
.job-period-zone.is-past .job-period-group:focus-within .aurora-job-row{
  filter:none;
}
.job-period-zone.is-past .job-period-group:hover .job-period-head,
.job-period-zone.is-past .job-period-group:focus-within .job-period-head{
  background:
    radial-gradient(circle at 72% 50%,rgba(118,87,246,.11),transparent 34%),
    radial-gradient(circle at 58% 50%,rgba(22,155,137,.1),transparent 38%),
    rgba(250,252,255,.68)!important;
  box-shadow:inset 3px 0 0 rgba(22,155,137,.55),inset -3px 0 0 rgba(118,87,246,.5),0 12px 32px rgba(84,101,147,.11);
}
.job-period-zone.is-past .job-period-group:hover .growth-line.is-run,
.job-period-zone.is-past .job-period-group:focus-within .growth-line.is-run{
  filter:drop-shadow(0 0 7px rgba(22,155,137,.5));
}
.job-period-zone.is-past .job-period-group:hover .growth-line.is-new,
.job-period-zone.is-past .job-period-group:focus-within .growth-line.is-new{
  filter:drop-shadow(0 0 7px rgba(118,87,246,.5));
}
.job-period-zone.is-past .job-period-group:hover .aurora-job-row:hover{
  background:linear-gradient(90deg,rgba(22,155,137,.055),rgba(118,87,246,.05))!important;
}

@media(prefers-reduced-motion:reduce){
  .job-period-zone.is-past .job-period-group .job-period-head,
  .job-period-zone.is-past .job-period-group .aurora-job-row{transition:none}
}
/* Activity and integration: data-rich weekly selector inspired by the approved Aurora prototype. */
.integration-activity {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 17.5rem;
  min-height: 19rem;
}

.aurora-dashboard-main {
  grid-template-columns: 1fr;
}

.aurora-dashboard-side {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: auto;
}

.integration-week-chart {
  position: relative;
  min-width: 0;
  min-height: 19rem;
  border-right: 1px solid var(--line, #e6eaf3);
  background: linear-gradient(180deg, rgba(248, 250, 255, .72), rgba(255, 255, 255, .96));
  overflow: hidden;
}

.integration-week-chart::before {
  content: "";
  position: absolute;
  inset: 2rem 1.25rem 3rem 2.75rem;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent calc(33.33% - 1px), rgba(112, 127, 158, .11) 33.33%);
  pointer-events: none;
}

.integration-scale {
  position: absolute;
  z-index: 2;
  inset: 2rem auto 3.15rem .65rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #9aa5b8;
  font-size: .64rem;
  font-variant-numeric: tabular-nums;
}

.integration-columns {
  position: absolute;
  inset: 1.25rem 1rem .7rem 2.7rem;
  display: grid;
  grid-template-columns: repeat(var(--integration-weeks), minmax(3.4rem, 1fr));
  gap: .35rem;
}

.integration-week {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr) .45rem 2.15rem;
  gap: .45rem;
  min-width: 0;
  padding: .4rem .25rem .25rem;
  border: 1px solid transparent;
  border-radius: .75rem;
  background: transparent;
  color: #768198;
  cursor: pointer;
  transition: border-color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.integration-week:hover,
.integration-week:focus-visible {
  border-color: rgba(82, 119, 255, .24);
  background: rgba(82, 119, 255, .045);
  outline: none;
}

.integration-week.is-selected {
  border-color: rgba(82, 119, 255, .32);
  background: linear-gradient(180deg, rgba(82, 119, 255, .1), rgba(128, 104, 238, .025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88), 0 .45rem 1.5rem rgba(82, 119, 255, .09);
}

.integration-volume {
  position: relative;
  align-self: end;
  justify-self: center;
  width: clamp(1.5rem, 3.1vw, 2.7rem);
  height: var(--volume-height);
  min-height: .45rem;
  overflow: hidden;
  border-radius: .45rem .45rem .18rem .18rem;
  box-shadow: 0 .35rem 1rem rgba(82, 119, 255, .16);
  animation: integration-volume-rise 620ms cubic-bezier(.2, .75, .2, 1) both;
  transform-origin: bottom;
}

.integration-volume i {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  display: block;
}

.integration-volume .is-excluded {
  height: var(--excluded);
  background: linear-gradient(180deg, #f6c465, #dd9224);
}

.integration-volume .is-retained {
  bottom: var(--excluded);
  height: var(--retained);
  background: linear-gradient(180deg, #7897ff, #4e71ef);
}

.integration-status-strip {
  position: relative;
  display: block;
  align-self: center;
  justify-self: center;
  width: 72%;
  height: .42rem;
  overflow: hidden;
  border-radius: 999px;
  background: linear-gradient(90deg,
    #29a56f 0 var(--integrated),
    #e6a12d var(--integrated) calc(var(--integrated) + var(--progress)),
    #ec5b64 calc(var(--integrated) + var(--progress)) calc(var(--integrated) + var(--progress) + var(--absent)),
    #aeb7c4 calc(var(--integrated) + var(--progress) + var(--absent)) 100%);
  box-shadow: 0 2px 7px rgba(69, 82, 109, .12);
}

.integration-period {
  display: grid;
  align-content: start;
  gap: .08rem;
  text-align: center;
}

.integration-period b { color: #42506a; font-size: .73rem; }
.integration-period small { color: #8a95a8; font-size: .61rem; white-space: nowrap; }
.integration-week.is-selected .integration-period b { color: #5277ff; }

.integration-detail {
  padding: 1.15rem;
  background: linear-gradient(150deg, rgba(251, 252, 255, .94), rgba(243, 241, 255, .88));
}

.integration-detail h3 { margin: .28rem 0 .9rem; font-size: 1.2rem; }
.integration-detail-total { display: grid; margin-bottom: .8rem; }
.integration-detail-total strong { font-size: 1.8rem; line-height: 1; font-variant-numeric: tabular-nums; }
.integration-detail-total small,
.integration-detail-caption { color: #738099; font-size: .68rem; }
.integration-detail-caption { margin: .85rem 0 .2rem; }

.integration-volume-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .45rem;
}

.integration-volume-pair > span {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .2rem .3rem;
  padding: .6rem;
  border: 1px solid rgba(218, 224, 237, .92);
  border-radius: .65rem;
  background: rgba(255, 255, 255, .72);
  color: #738099;
  font-size: .65rem;
}

.integration-volume-pair i { width: .45rem; height: .45rem; margin-top: .08rem; border-radius: .14rem; }
.integration-volume-pair i.is-retained { background: #5277ff; }
.integration-volume-pair i.is-excluded { background: #e6a12d; }
.integration-volume-pair strong,
.integration-volume-pair small { grid-column: 1 / -1; }
.integration-volume-pair strong { color: #172235; font-size: .9rem; }
.integration-volume-pair small { font-size: .62rem; }

.integration-detail dl { margin: 0; }
.integration-detail dl > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .45rem 0;
  border-top: 1px solid rgba(222, 227, 238, .9);
}
.integration-detail dt { position: relative; padding-left: .8rem; color: #647088; font-size: .68rem; }
.integration-detail dt::before { content: ""; position: absolute; left: 0; top: .25rem; width: .38rem; height: .38rem; border-radius: 50%; background: #aeb7c4; }
.integration-detail .is-integrated dt::before { background: #29a56f; }
.integration-detail .is-progress dt::before { background: #e6a12d; }
.integration-detail .is-absent dt::before { background: #ec5b64; }
.integration-detail dd { display: flex; align-items: baseline; gap: .35rem; margin: 0; }
.integration-detail dd b { font-size: .78rem; font-variant-numeric: tabular-nums; }
.integration-detail dd small { color: #7f8a9d; font-size: .61rem; }

@keyframes integration-volume-rise {
  from { opacity: .25; transform: scaleY(.08); }
  to { opacity: 1; transform: scaleY(1); }
}

@media (max-width: 1180px) {
  .integration-activity { grid-template-columns: 1fr; }
  .integration-week-chart { border-right: 0; border-bottom: 1px solid var(--line, #e6eaf3); }
  .integration-detail { display: grid; grid-template-columns: 1fr 1fr 1.2fr; gap: .8rem; }
  .integration-detail .eyebrow, .integration-detail h3, .integration-detail-total { grid-column: 1; }
  .integration-volume-pair { grid-column: 2; grid-row: 1 / span 3; align-self: end; }
  .integration-detail-caption, .integration-detail dl { grid-column: 3; }
  .integration-detail-caption { margin-top: 0; }
}

@media (max-width: 700px) {
  .integration-week-chart { min-height: 17rem; overflow-x: auto; }
  .integration-columns { min-width: 39rem; }
  .integration-detail { display: block; }
  .integration-volume-pair { margin-bottom: .8rem; }
  .aurora-dashboard-side { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .integration-volume { animation: none; }
}

/* Jobs final Aurora composition. Keep this block last: it is the single visual contract for Jobs. */
.content-shell:has(.aurora-jobs-page) {
  min-height: 0;
  overflow: hidden;
}

.content-shell:has(.aurora-jobs-page) .topbar {
  flex: 0 0 72px;
}

.content-shell:has(.aurora-jobs-page) #app-view {
  min-height: 0;
  padding: 24px clamp(24px, 2.4vw, 56px) 48px;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}

.aurora-jobs-page {
  width: 100%;
  max-width: 1840px;
  margin-inline: auto;
  gap: 16px;
}

.aurora-jobs-hero {
  min-height: 88px;
  align-items: end;
  gap: 24px;
}

.aurora-jobs-hero h1 {
  letter-spacing: 0;
}

.aurora-jobs-hero .section-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.aurora-job-metrics {
  gap: 14px;
}

.aurora-job-metrics .kpi-card {
  min-height: 116px;
  border: 1px solid rgba(219, 225, 237, .92);
  border-radius: 14px;
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 12px 30px rgba(65, 77, 112, .055), inset 0 1px 0 rgba(255,255,255,.9);
  backdrop-filter: blur(20px) saturate(125%);
}

.jobs-workspace {
  overflow: hidden;
  border: 1px solid rgba(218, 224, 237, .94);
  border-radius: 16px;
  background: rgba(255, 255, 255, .72);
  box-shadow: 0 18px 48px rgba(65, 77, 112, .075), inset 0 1px 0 rgba(255,255,255,.92);
  backdrop-filter: blur(24px) saturate(125%);
}

.jobs-workspace .job-scope-tabs,
.jobs-workspace .job-filters {
  position: relative;
  z-index: 4;
}

.jobs-workspace .job-filters {
  grid-template-columns: minmax(240px, 1.5fr) repeat(3, minmax(150px, .58fr)) auto;
  align-items: end;
}

.job-period-list {
  display: grid;
  gap: 12px;
  padding: 12px;
  background: rgba(244, 247, 252, .72);
}

.job-period-zone {
  --period-ink: #526075;
  --period-icon-bg: rgba(255,255,255,.54);
  --period-panel: rgba(255,255,255,.40);
  --period-panel-hover: rgba(255,255,255,.62);
  --period-border: rgba(120,132,151,.17);
  position: relative;
  isolation: isolate;
  margin: 0;
  overflow: clip;
  border: 1px solid var(--period-border) !important;
  border-radius: 14px;
  background: var(--period-surface) !important;
  box-shadow: 0 12px 34px rgba(68, 82, 118, .065), inset 0 1px 0 rgba(255,255,255,.8) !important;
  animation: aurora-period-arrive 520ms cubic-bezier(.2,.72,.2,1) both;
}

.job-period-zone + .job-period-zone {
  border-top: 1px solid var(--period-border) !important;
}

.job-period-zone::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  pointer-events: none;
  background:
    radial-gradient(ellipse 48% 140% at 4% 0%, var(--period-glow), transparent 72%),
    linear-gradient(112deg, rgba(255,255,255,.52), transparent 36%, rgba(255,255,255,.18));
}

.job-period-zone.is-upcoming {
  --period-ink: #9a6515;
  --period-surface: linear-gradient(118deg, rgba(255,249,229,.92), rgba(255,232,167,.69) 55%, rgba(255,250,234,.88));
  --period-panel: rgba(255,252,241,.46);
  --period-panel-hover: rgba(255,252,238,.73);
  --period-border: rgba(207,142,38,.2);
  --period-glow: rgba(255,190,69,.27);
}

.job-period-zone.is-current {
  --period-ink: #466dd3;
  --period-surface: linear-gradient(118deg, rgba(238,246,255,.94), rgba(202,223,255,.7) 55%, rgba(244,248,255,.9));
  --period-panel: rgba(246,250,255,.44);
  --period-panel-hover: rgba(242,248,255,.74);
  --period-border: rgba(67,112,211,.18);
  --period-glow: rgba(88,142,255,.24);
}

.job-period-zone.is-past {
  --period-ink: #697589;
  --period-surface: linear-gradient(118deg, rgba(248,249,251,.95), rgba(222,228,235,.72) 55%, rgba(249,250,251,.91));
  --period-panel: rgba(252,253,254,.46);
  --period-panel-hover: rgba(247,249,252,.78);
  --period-border: rgba(103,116,134,.16);
  --period-glow: rgba(145,158,176,.2);
}

.job-period-zone .job-period-zone-head,
.job-period-zone .job-period-head,
.job-period-zone .job-period-toggle,
.job-period-zone .job-period-review,
.job-period-zone .aurora-period-growth,
.job-period-zone .aurora-job-row {
  background: var(--period-panel) !important;
  backdrop-filter: blur(18px) saturate(120%);
}

.job-period-zone .job-period-zone-head {
  min-height: 70px;
  padding: 12px 20px;
  color: var(--period-ink);
  border: 0 !important;
  border-bottom: 1px solid var(--period-border) !important;
}

.job-period-zone.is-upcoming .job-period-zone-head {
  background-image: repeating-linear-gradient(135deg, rgba(255,255,255,.46) 0 8px, transparent 8px 19px) !important;
}

.job-period-zone-icon {
  width: 40px;
  height: 40px;
  flex: 0 0 40px;
  color: var(--period-ink) !important;
  background: var(--period-icon-bg) !important;
  border: 1px solid rgba(255,255,255,.64);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

.job-period-zone-icon svg {
  width: 19px;
  height: 19px;
  stroke-width: 2.35;
}

.job-period-zone-head strong {
  color: #263246;
  font-size: 14px;
  font-weight: 800;
}

.job-period-zone-head span,
.job-period-zone-head small {
  color: color-mix(in srgb, var(--period-ink) 76%, #536075);
}

.job-period-group + .job-period-group .job-period-head {
  border-top: 1px solid var(--period-border);
}

.job-period-head {
  min-height: 106px;
  grid-template-columns: minmax(300px, 1fr) minmax(310px, 38%) minmax(116px, auto);
  overflow: hidden;
  border: 0;
  border-bottom: 1px solid var(--period-border);
  transition: box-shadow 220ms ease, filter 220ms ease;
}

.job-period-head::after {
  position: absolute;
  z-index: 1;
  top: -35%;
  bottom: -35%;
  left: -22%;
  width: 15%;
  content: "";
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.76), transparent);
  filter: blur(8px);
  transform: skewX(-15deg);
}

.job-period-head:hover {
  z-index: 2;
  filter: saturate(1.06);
  box-shadow: 0 12px 28px rgba(59,72,106,.08), inset 0 1px 0 rgba(255,255,255,.7);
}

.job-period-head:hover::after {
  animation: aurora-period-scan 820ms cubic-bezier(.2,.7,.2,1);
}

.job-period-toggle {
  min-height: 106px;
  padding: 18px 18px 18px 50px;
}

.job-period-toggle:hover,
.job-period-zone .aurora-job-row:hover {
  background: var(--period-panel-hover) !important;
}

.job-period-chevron {
  width: 36px !important;
  height: 36px !important;
  flex-basis: 36px !important;
  color: var(--period-ink) !important;
  background: rgba(255,255,255,.58) !important;
  border: 1px solid rgba(255,255,255,.7) !important;
  border-radius: 11px !important;
  box-shadow: 0 5px 14px rgba(72,84,115,.07), inset 0 1px 0 rgba(255,255,255,.82);
}

.job-period-title strong {
  color: #202c40;
  font-size: 20px;
  font-weight: 800;
}

.aurora-period-growth {
  min-height: 106px;
  grid-template-columns: minmax(0, 1fr) auto;
  align-content: center;
  padding: 16px 22px;
  border: 0 !important;
  border-left: 1px solid var(--period-border) !important;
  box-shadow: none !important;
}

.aurora-period-growth .growth-heading {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 13px;
}

.aurora-period-growth .growth-heading > span:first-child {
  color: #657186;
  font-weight: 700;
  white-space: nowrap;
}

.aurora-period-growth .growth-legend {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #6f7c91;
  font-size: 9px;
  font-weight: 800;
  white-space: nowrap;
}

.aurora-period-growth .growth-legend i {
  display: inline-block;
  width: 11px;
  height: 3px;
  margin-left: 4px;
  border-radius: 999px;
  background: currentColor;
}

.aurora-period-growth .growth-legend i.is-run { color: #159787; }
.aurora-period-growth .growth-legend i.is-new { color: #7657f6; }
.aurora-period-growth svg { height: 38px; }
.aurora-period-growth .growth-line { stroke-width: 2.5; }
.aurora-period-growth .growth-line.is-run { stroke: #159787 !important; }
.aurora-period-growth .growth-line.is-new { stroke: #7657f6 !important; }
.aurora-period-growth .growth-area.is-run { fill: rgba(21,151,135,.065) !important; }
.aurora-period-growth .growth-area.is-new { fill: rgba(118,87,246,.06) !important; }
.aurora-period-growth circle.is-run { stroke: #159787 !important; }
.aurora-period-growth circle.is-new { stroke: #7657f6 !important; }

.job-period-review {
  padding-inline: 18px;
  border-left: 1px solid var(--period-border);
}

.aurora-job-row {
  min-height: 108px;
  grid-template-columns: 30px minmax(260px, 1.65fr) minmax(135px, .68fr) minmax(92px, .44fr) minmax(108px, .52fr) minmax(132px, .62fr) auto;
  gap: 13px;
  padding: 16px 18px;
  border-top: 1px solid var(--period-border);
  transition: background 180ms ease, box-shadow 180ms ease, filter 280ms ease;
}

.aurora-job-actions {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 40px;
  gap: 7px;
}

.aurora-job-actions .icon-button {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
  color: #536075;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(204,213,229,.9);
  border-radius: 11px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}

.aurora-job-actions .icon-button svg {
  width: 19px;
  height: 19px;
  stroke-width: 2.25;
}

.aurora-job-actions .icon-button:hover {
  color: #4969db;
  background: #fff;
  border-color: #b9c7f2;
  box-shadow: 0 8px 20px rgba(64,79,130,.13);
  transform: translateY(-2px);
}

.aurora-job-actions .icon-button.is-danger:hover {
  color: #d44752;
  background: #fff8f8;
  border-color: #efb7bd;
}

.job-period-zone.is-past .job-period-group .job-period-head,
.job-period-zone.is-past .job-period-group .aurora-job-row {
  filter: grayscale(1) saturate(.08);
}

.job-period-zone.is-past .job-period-group:hover .job-period-head,
.job-period-zone.is-past .job-period-group:focus-within .job-period-head,
.job-period-zone.is-past .job-period-group:hover .aurora-job-row,
.job-period-zone.is-past .job-period-group:focus-within .aurora-job-row {
  filter: none;
}

.job-period-zone.is-past .job-period-group:hover .job-period-head,
.job-period-zone.is-past .job-period-group:focus-within .job-period-head {
  background:
    radial-gradient(circle at 70% 50%, rgba(118,87,246,.11), transparent 34%),
    radial-gradient(circle at 56% 50%, rgba(21,151,135,.1), transparent 38%),
    rgba(250,252,255,.7) !important;
}

@media (min-width: 1800px) {
  .content-shell:has(.aurora-jobs-page) #app-view {
    padding-inline: 64px;
  }
  .aurora-jobs-page { max-width: 1960px; }
  .aurora-job-row {
    grid-template-columns: 34px minmax(340px, 1.8fr) minmax(180px, .72fr) minmax(110px, .44fr) minmax(130px, .52fr) minmax(160px, .62fr) auto;
  }
}

@media (max-width: 1180px) {
  .jobs-workspace .job-filters {
    grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(145px, .55fr)) auto;
  }
  .jobs-workspace .job-filters .field:nth-of-type(4) { display: none; }
  .job-period-head { grid-template-columns: minmax(260px, 1fr) minmax(250px, 36%) auto; }
  .aurora-job-row {
    grid-template-columns: 30px minmax(230px, 1.4fr) minmax(125px, .65fr) minmax(104px, .5fr) minmax(125px, .58fr) auto;
  }
  .aurora-job-origin { display: none; }
}

@media (max-width: 900px) {
  body { overflow: auto; }
  .app-shell {
    width: calc(100% - 20px);
    height: auto;
    min-height: calc(100dvh - 20px);
    margin: 10px auto;
  }
  .content-shell:has(.aurora-jobs-page) { overflow: visible; }
  .content-shell:has(.aurora-jobs-page) #app-view {
    padding: 20px 16px 36px;
    overflow: visible;
  }
  .aurora-job-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .jobs-workspace .job-filters { grid-template-columns: minmax(0, 1fr) minmax(145px, .55fr) auto; }
  .jobs-workspace .job-filters .field:nth-of-type(3) { display: none; }
  .job-period-head { grid-template-columns: minmax(0, 1fr) auto; }
  .aurora-period-growth { display: none; }
  .aurora-job-row {
    grid-template-columns: 28px minmax(0, 1fr) auto;
    min-height: 92px;
  }
  .aurora-job-package { grid-column: 2; }
  .aurora-job-status { grid-column: 3; grid-row: 1; }
  .aurora-job-row time,
  .aurora-job-origin { display: none; }
  .aurora-job-actions { grid-column: 3; }
}

@media (max-width: 620px) {
  .aurora-jobs-hero { align-items: stretch; }
  .aurora-jobs-hero .section-actions { justify-content: stretch; }
  .aurora-jobs-hero .section-actions .button { flex: 1 1 150px; }
  .aurora-job-metrics { grid-template-columns: 1fr 1fr; }
  .aurora-job-metrics .kpi-card { min-height: 104px; padding: 14px; }
  .job-period-list { padding: 8px; }
  .job-period-zone .job-period-zone-head { padding-inline: 14px; }
  .job-period-head { min-height: 88px; }
  .job-period-toggle { min-height: 88px; padding-left: 44px; }
  .job-period-title strong { font-size: 17px; }
  .job-period-review { padding-inline: 10px; }
  .aurora-job-row { padding: 13px 12px; }
  .aurora-job-package,
  .aurora-job-status { display: none; }
  .aurora-job-actions { grid-column: 3; grid-row: 1; }
}

.aurora-jobs-page .is-counting {
  display: inline-block;
  min-width: 2ch;
  font-variant-numeric: tabular-nums;
  transform-origin: left center;
  animation: aurora-number-arrive 1650ms cubic-bezier(.2,.72,.2,1) both;
}

@keyframes aurora-number-arrive {
  0% { opacity: .42; transform: translateY(4px); filter: blur(2px); }
  38% { opacity: 1; filter: blur(0); }
  100% { opacity: 1; transform: translateY(0); filter: none; }
}

@media (prefers-reduced-motion: reduce) {
  .aurora-jobs-page .is-counting { animation: none; }
}

/* Multi-job package selection remains a first-class action in the period view. */
.jobs-workspace .aurora-job-select{display:grid;place-items:center}
.jobs-workspace .job-period-select-wrap{display:grid;place-items:center}
.jobs-workspace .job-period-zone .aurora-job-row{
  grid-template-columns:30px minmax(260px,1.65fr) minmax(135px,.68fr) minmax(92px,.44fr) minmax(108px,.52fr) minmax(132px,.62fr) auto;
}
.jobs-workspace :is(.aurora-job-select,.job-period-select-wrap) input{
  width:18px;
  height:18px;
  margin:0;
  accent-color:var(--aurora-blue);
  cursor:pointer;
}
.jobs-workspace .job-result-bar{display:flex;flex-wrap:wrap}
.jobs-workspace .job-bulk-actions{flex-wrap:wrap}

@media (max-width:620px){
  .jobs-workspace .job-result-copy{flex:1 0 100%}
  .jobs-workspace .job-bulk-actions{width:100%;justify-content:flex-end}
  .jobs-workspace .job-period-toggle{padding-left:52px}
  .jobs-workspace .job-period-chevron{display:none}
  .jobs-workspace .job-period-review{min-width:110px}
}

@media (max-width:1180px) and (min-width:901px){
  .jobs-workspace .job-period-zone .aurora-job-row{
    grid-template-columns:30px minmax(230px,1.4fr) minmax(125px,.65fr) minmax(104px,.5fr) minmax(125px,.58fr) auto;
  }
}

@media (max-width:900px){
  .jobs-workspace .job-period-zone .job-period-group .job-period-head{
    width:100%;
    min-width:0;
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .jobs-workspace .job-period-zone .aurora-period-growth{display:none!important}
  .jobs-workspace .job-period-zone .job-period-toggle,
  .jobs-workspace .job-period-zone .job-period-title{min-width:0}
  .jobs-workspace .job-period-zone .aurora-job-row{
    grid-template-columns:28px minmax(0,1fr) auto;
  }
}

/* Dashboard activity choreography: weekly volumes, statuses, then detail. */
.integration-columns,
.integration-scale {
  z-index: 2;
}

.integration-volume {
  animation: none;
  will-change: transform, opacity, filter;
}

.integration-status-strip {
  transform-origin: left center;
  will-change: transform, opacity;
}

.integration-activity.is-animated .integration-volume {
  animation: integration-volume-rise 820ms cubic-bezier(.16,.82,.24,1) both;
  animation-delay: calc(90ms + var(--week-index) * 72ms);
}

.integration-activity.is-animated .integration-status-strip {
  animation: integration-status-reveal 520ms cubic-bezier(.2,.76,.22,1) both;
  animation-delay: calc(410ms + var(--week-index) * 72ms);
}

.integration-week:hover .integration-volume,
.integration-week:focus-visible .integration-volume {
  filter: brightness(1.06) saturate(1.08) drop-shadow(0 .45rem .65rem rgba(72,94,168,.2));
}

.integration-week.is-selected::after {
  position: absolute;
  z-index: -1;
  inset: .25rem;
  content: "";
  pointer-events: none;
  border-radius: .58rem;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.62), 0 0 1.2rem rgba(82,119,255,.13);
  animation: integration-selected-breathe 3.6s ease-in-out infinite;
}

.integration-detail .is-detail-counting {
  display: inline-block;
  min-width: 1ch;
  font-variant-numeric: tabular-nums;
  animation: integration-number-focus 1050ms cubic-bezier(.2,.72,.2,1) both;
}

@keyframes integration-status-reveal {
  from { opacity: 0; transform: scaleX(.08); filter: blur(2px); }
  to { opacity: 1; transform: scaleX(1); filter: blur(0); }
}

@keyframes integration-selected-breathe {
  0%, 100% { opacity: .42; }
  50% { opacity: .85; }
}

@keyframes integration-number-focus {
  0% { opacity: .4; transform: translateY(3px); }
  38% { opacity: 1; }
  100% { opacity: 1; transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
  .integration-activity.is-animated .integration-volume,
  .integration-activity.is-animated .integration-status-strip,
  .integration-week.is-selected::after,
  .integration-detail .is-detail-counting {
    animation: none;
  }
}
/* Maintenance control: a single operational surface, not a second settings form. */
.maintenance-settings-panel{gap:24px;overflow:hidden}
.maintenance-settings-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px}
.maintenance-settings-head h3{margin:5px 0 7px;font-size:22px;letter-spacing:0}
.maintenance-settings-head p{max-width:690px;margin:0;color:var(--aurora-muted);font-size:12px;line-height:1.65}
.maintenance-state-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;color:#287b58;font-size:11px;font-weight:800;border:1px solid rgba(47,160,111,.22);border-radius:9px;background:rgba(237,251,244,.82)}
.maintenance-state-badge i{width:8px;height:8px;border-radius:50%;background:#35a873;box-shadow:0 0 0 4px rgba(53,168,115,.1)}
.maintenance-state-badge.is-active{color:#925f0a;border-color:rgba(222,155,32,.3);background:rgba(255,248,228,.9)}
.maintenance-state-badge.is-active i{background:#dfa020;box-shadow:0 0 0 4px rgba(223,160,32,.12);animation:maintenance-status-pulse 1.8s ease-in-out infinite}
.maintenance-settings-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,.7fr);gap:20px;align-items:stretch}
.maintenance-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.45fr);gap:16px;align-items:end}
.maintenance-fields .field:first-child{grid-column:1/-1}
.maintenance-message-input{min-height:112px;resize:vertical;line-height:1.55}
.maintenance-fields .field>span small{margin-left:5px;color:var(--aurora-muted);font-weight:500}
.maintenance-behavior{padding:18px 20px;color:var(--aurora-ink);border:1px solid rgba(97,119,188,.14);border-radius:11px;background:linear-gradient(145deg,rgba(241,245,255,.88),rgba(246,242,255,.72))}
.maintenance-behavior>strong{font-size:12px}
.maintenance-behavior ul{margin:13px 0;padding:0;display:grid;gap:9px;list-style:none}
.maintenance-behavior li{position:relative;padding-left:17px;color:#55617a;font-size:11px;line-height:1.45}
.maintenance-behavior li::before{position:absolute;left:0;top:5px;width:7px;height:7px;content:"";border-radius:50%;background:#5f7df4}
.maintenance-behavior p{margin:15px 0 0;padding-top:13px;color:var(--aurora-muted);font-size:10px;line-height:1.5;border-top:1px solid rgba(97,119,188,.13)}
.maintenance-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:18px;border-top:1px solid var(--aurora-line)}
.maintenance-actions>span{color:var(--aurora-muted);font-size:10px}
.maintenance-actions .button{min-width:210px}
@keyframes maintenance-status-pulse{50%{box-shadow:0 0 0 8px rgba(223,160,32,.04)}}
@media(max-width:900px){.maintenance-settings-grid{grid-template-columns:1fr}.maintenance-fields{grid-template-columns:1fr}.maintenance-fields .field:first-child{grid-column:auto}}
@media(max-width:560px){.maintenance-settings-head,.maintenance-actions{align-items:stretch;flex-direction:column}.maintenance-state-badge{align-self:flex-start}.maintenance-actions .button{width:100%}}
@media(prefers-reduced-motion:reduce){.maintenance-state-badge.is-active i{animation:none}}
.reference-tracking{display:grid;gap:18px;padding:22px}.reference-tracking-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.reference-tracking-head h3{margin:4px 0 6px;font-size:20px;letter-spacing:-.02em}.reference-tracking-head p{max-width:680px;margin:0;color:var(--aurora-muted);font-size:12px;line-height:1.55}.reference-tracking-scope{flex:none;padding:6px 9px;border:1px solid var(--aurora-line);border-radius:999px;color:var(--aurora-muted);font-size:10px;font-weight:700}.reference-tracking-controls{display:grid;grid-template-columns:minmax(0,1fr) 180px;gap:12px;align-items:end}.reference-tracking-result{min-height:44px}.reference-tracking-hint,.reference-tracking-empty{margin:0;padding:14px 0;color:var(--aurora-muted);font-size:12px}.reference-tracking-summary{display:grid;grid-template-columns:140px minmax(0,1fr);gap:14px;padding:16px;border:1px solid var(--aurora-line);border-radius:12px;background:var(--aurora-surface-raised)}.reference-tracking-total{display:grid;align-content:center;gap:4px}.reference-tracking-total span,.reference-tracking-metric span{color:var(--aurora-muted);font-size:10px;font-weight:700}.reference-tracking-total strong{font-size:28px;line-height:1;font-variant-numeric:tabular-nums}.reference-status-bar,.reference-group-bar{display:flex;overflow:hidden;min-height:12px;border-radius:999px;background:var(--aurora-line)}.reference-status-bar{align-self:center}.reference-status-segment,.reference-group-segment{display:block;flex:0 0 var(--segment)}.reference-status-segment.is-integrated,.reference-group-segment.is-integrated{background:var(--aurora-green)}.reference-status-segment.is-in_progress,.reference-group-segment.is-in_progress{background:var(--aurora-blue)}.reference-status-segment.is-not_integrated,.reference-group-segment.is-not_integrated{background:var(--aurora-amber)}.reference-status-segment.is-unknown,.reference-group-segment.is-unknown{background:#98a3b7}.reference-tracking-metrics{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.reference-tracking-metric{display:grid;gap:3px;padding:10px;border-radius:8px;background:var(--aurora-surface)}.reference-tracking-metric strong{font-variant-numeric:tabular-nums}.reference-tracking-breakdown h4{margin:0 0 9px;font-size:12px}.reference-tracking-breakdown ul{display:grid;gap:8px;margin:0;padding:0;list-style:none}.reference-tracking-breakdown li{display:grid;grid-template-columns:minmax(160px,.8fr) minmax(180px,1.2fr);gap:14px;align-items:center}.reference-tracking-breakdown li div{display:flex;justify-content:space-between;gap:8px;font-size:11px}.reference-tracking-breakdown li span{color:var(--aurora-muted);font-size:10px}.reference-group-bar{min-height:8px}.reference-status-badge.is-integrated{color:var(--aurora-green)}.reference-status-badge.is-in_progress{color:var(--aurora-blue)}.reference-status-badge.is-not_integrated{color:var(--aurora-amber)}.reference-status-badge.is-unknown{color:var(--aurora-muted)}@media(max-width:720px){.reference-tracking-head{display:grid}.reference-tracking-controls{grid-template-columns:1fr}.reference-tracking-summary{grid-template-columns:1fr}.reference-tracking-metrics{grid-template-columns:repeat(2,1fr)}.reference-tracking-breakdown li{grid-template-columns:1fr;gap:5px}.reference-tracking-breakdown li div{display:grid}.reference-tracking-table{overflow-x:auto}}

/* Period selection owns a dedicated column so it never collides with disclosure. */
.jobs-workspace .job-period-zone .job-period-group .job-period-head{
  grid-template-columns:56px minmax(0,1fr) minmax(300px,34%) minmax(120px,auto)!important;
}
.jobs-workspace .job-period-select-wrap{position:static;z-index:3;width:56px;min-height:112px;transform:none;border-right:1px solid var(--aurora-line)}
.jobs-workspace .job-period-toggle{padding-left:24px}
@media(max-width:1050px) and (min-width:901px){
  .jobs-workspace .job-period-zone .job-period-group .job-period-head{
    grid-template-columns:56px minmax(0,1fr) minmax(240px,34%) auto!important;
  }
}
@media(max-width:900px){
  .jobs-workspace .job-period-zone .job-period-group .job-period-head{
    grid-template-columns:44px minmax(0,1fr) auto!important;
  }
  .jobs-workspace .job-period-select-wrap{width:44px;min-height:88px}
  .jobs-workspace .job-period-toggle{padding-left:16px}
}

/* Mobile touch target floor: enlarge interaction zones without changing desktop density. */
@media(max-width:700px){
  button,
  .button,
  .icon-button,
  input:not([type="checkbox"]):not([type="radio"]),
  select,
  textarea,
  .segmented label,
  .segmented span,
  .check-control,
  .brand-classification-option{
    min-height:44px!important;
  }
  button.icon-button,
  a.icon-button,
  .topbar-actions :is(.connection,.user-menu-button){
    min-width:44px!important;
    min-height:44px!important;
  }
  .jobs-workspace .aurora-job-select{
    min-width:44px!important;
    min-height:44px!important;
  }
  .jobs-workspace .job-period-zone .aurora-job-row{
    grid-template-columns:44px minmax(0,1fr) auto;
  }
  .brand-select,
  #brands-select-page{
    width:24px;
    height:24px;
  }
  .brand-select-target{
    display:grid;
    width:44px;
    min-width:44px;
    height:44px;
    min-height:44px!important;
    place-items:center;
    cursor:pointer;
  }
  .integration-carousel-dots{gap:0}
  .integration-carousel-dot,
  .integration-carousel-dot.is-active{
    position:relative;
    width:44px!important;
    min-width:44px!important;
    height:44px!important;
    min-height:44px!important;
    background:transparent;
    border-radius:10px;
  }
  .integration-carousel-dot::before{
    position:absolute;
    top:50%;
    left:50%;
    width:7px;
    height:7px;
    content:"";
    transform:translate(-50%,-50%);
    background:var(--line-strong);
    border-radius:50%;
    transition:width 140ms ease,background-color 140ms ease;
  }
  .integration-carousel-dot.is-active::before{
    width:20px;
    background:var(--primary);
    border-radius:4px;
  }
}
/* Reference search: independent catalog, package and Copilot dimensions. */
.reference-tracking,.reference-tracking-result{min-width:0}
.reference-tracking .reference-tracking-total{grid-column:1/-1}
.reference-tracking-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:12px 0 16px}
.reference-tracking-filters .field,.reference-tracking-controls .field{min-width:0}
.reference-tracking-filters .select{width:100%;min-width:0}
.reference-tracking .reference-tracking-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.reference-tracking .reference-stage-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
.reference-tracking .reference-integration-metrics{grid-template-columns:repeat(5,minmax(0,1fr));margin-top:12px}
.reference-tracking button.reference-tracking-metric{font:inherit;text-align:left;color:var(--aurora-ink);background:var(--aurora-surface);border:1px solid var(--aurora-line);border-radius:8px;padding:10px 12px;cursor:pointer;min-width:0}
.reference-tracking button.reference-tracking-metric[aria-pressed=true]{border-color:var(--aurora-blue);background:var(--aurora-selected)}
.reference-tracking button:focus-visible,.reference-tracking-table:focus-visible{outline:2px solid var(--aurora-blue);outline-offset:2px}
.reference-tracking .reference-tracking-metric strong{display:block;font-variant-numeric:tabular-nums;font-size:20px}
.reference-tracking .reference-tracking-metric span{font-size:12px;color:var(--aurora-muted)}
.reference-tracking-table{overflow-x:auto;max-width:100%;margin-top:12px}
.reference-tracking-table table{min-width:1050px}
.reference-tracking-table td{vertical-align:top;white-space:normal}
.reference-tracking-table td small,.reference-job-link small{display:block;color:var(--aurora-muted);font-size:11px;margin-top:4px;overflow-wrap:anywhere}
.reference-tracking-table .reference-reason{min-width:220px;max-width:320px}
.reference-job-link{font:inherit;background:none;border:0;padding:0;text-align:left;color:var(--aurora-blue);cursor:pointer}
.reference-job-link:hover{text-decoration:underline}
.reference-tracking-pagination{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap;font-variant-numeric:tabular-nums}
.reference-tracking-pagination .button-row{display:flex;flex-wrap:wrap;gap:8px}
.reference-tracking-breakdown summary{cursor:pointer;margin:12px 0}
.reference-tracking-breakdown li{display:flex;justify-content:space-between;gap:12px}
@media(max-width:1100px){.reference-tracking-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.reference-tracking .reference-integration-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.reference-tracking-filters{grid-template-columns:1fr;margin:0}.reference-tracking .reference-tracking-metrics,.reference-tracking .reference-integration-metrics{grid-template-columns:1fr 1fr}.reference-tracking-pagination{align-items:flex-start}.reference-tracking-controls{grid-template-columns:1fr!important}}
