/* ==========================================================================
   Sprint Tracker - bright team studio
   Warm ivory canvas, deep ink text, violet primary, peach/mint/coral accents.
   System fonts only, no external assets.
   ========================================================================== */

:root {
  --canvas: #F8F6F0;
  --surface: #FFFFFF;
  --surface-soft: #F3F0E8;
  --ink: #20233B;
  --ink-soft: #4A4E6E;
  --muted: #5D6180;
  --line: #E4E0D6;
  --line-strong: #D4CEC0;

  --violet: #6750C8;
  --violet-deep: #5340AB;
  --violet-soft: #EDE9FC;
  --peach: #FFCCA8;
  --peach-soft: #FFF0E4;
  --mint: #C7EADB;
  --mint-deep: #166B52;
  --mint-soft: #DFF4EA;
  --coral: #C15A42;
  --coral-soft: #FBE4DD;

  --amber-ink: #8A5A00;
  --amber-soft: #FFF1D4;

  --radius: 8px;
  --radius-lg: 8px;
  --shadow-sm: 0 1px 2px rgba(32, 35, 59, 0.06), 0 6px 16px rgba(32, 35, 59, 0.05);
  --shadow-md: 0 2px 4px rgba(32, 35, 59, 0.07), 0 14px 30px rgba(32, 35, 59, 0.08);
  --sidebar-width: 232px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--canvas);
  color: var(--ink);
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
}

h1, h2, h3 { line-height: 1.15; letter-spacing: 0; margin: 0; font-weight: 800; }
p { margin: 0; }
a { color: var(--violet-deep); text-decoration-thickness: 1px; text-underline-offset: 2px; }
a:hover { color: var(--violet); }
img { max-width: 100%; height: auto; }
code { background: var(--surface-soft); border: 1px solid var(--line); border-radius: 4px; padding: 0 .3em; font-size: .9em; }
small { font-size: .82rem; }

:focus-visible {
  outline: 3px solid var(--violet);
  outline-offset: 2px;
  border-radius: 4px;
}

.sr-only {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}

.skip-link {
  position: absolute; left: 1rem; top: -4rem; z-index: 50;
  background: var(--ink); color: #fff; padding: .6rem 1rem; border-radius: var(--radius);
  transition: top .15s ease;
}
.skip-link:focus { top: 1rem; color: #fff; }

/* ---------------------------------------------------------------- shell -- */

.app-shell {
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr);
  min-height: 100vh;
}

.sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  background: var(--surface);
  border-right: 1px solid var(--line);
  padding: 1.5rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

.brand {
  display: flex;
  align-items: center;
  gap: .7rem;
  text-decoration: none;
  color: var(--ink);
}
.brand:hover { color: var(--ink); }
.brand-mark { display: inline-flex; flex: none; }
.brand-text {
  font-weight: 800;
  font-size: 1.05rem;
  line-height: 1.05;
  letter-spacing: 0;
  text-transform: uppercase;
}

.side-nav { display: flex; flex-direction: column; gap: .3rem; }

.nav-link {
  display: flex;
  align-items: center;
  gap: .6rem;
  padding: .6rem .7rem;
  border-radius: var(--radius);
  color: var(--ink);
  text-decoration: none;
  font-weight: 600;
  font-size: .98rem;
}
.nav-link:hover { background: var(--surface-soft); color: var(--ink); }
.nav-link.is-active { background: var(--violet-soft); color: var(--violet-deep); }
.nav-dot { width: 10px; height: 10px; border-radius: 3px; flex: none; }
.nav-dot--violet { background: var(--violet); }
.nav-dot--peach { background: var(--peach); }
.nav-dot--mint { background: #2FA88B; }

.sidebar-foot { margin-top: auto; display: flex; flex-direction: column; gap: .55rem; }
.identity { display: flex; align-items: center; gap: .6rem; padding: .5rem .2rem; }
.identity-text { display: flex; flex-direction: column; line-height: 1.2; min-width: 0; }
.identity-text strong { font-size: .92rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.identity-text small { color: var(--muted); font-size: .76rem; }

.side-small {
  font-size: .84rem;
  color: var(--muted);
  text-decoration: none;
  padding: .3rem .2rem;
  border: 0;
  background: none;
  text-align: left;
  cursor: pointer;
  font-family: inherit;
}
.side-small:hover { color: var(--violet-deep); text-decoration: underline; }
.side-small--button { width: 100%; }

.avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px; height: 38px;
  flex: none;
  border-radius: 999px;
  background: var(--violet);
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: 0;
}
.avatar--small { width: 30px; height: 30px; font-size: .72rem; background: var(--peach); color: var(--ink); }
.avatar--ghost { background: var(--surface-soft); color: var(--muted); border: 1px dashed var(--line-strong); }

/* mobile navigation (works without JavaScript) */
.mobile-nav { display: none; }

.main {
  min-width: 0;
  padding: 2.2rem clamp(1rem, 3vw, 2.6rem) 4rem;
  max-width: 1180px;
  width: 100%;
}

/* ------------------------------------------------------------- headings -- */

.page-head {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-bottom: 1.6rem;
}
.page-head-text { min-width: 0; }
.page-title {
  font-size: 2.6rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.page-title--detail { font-size: 2rem; }
.page-sub { color: var(--muted); margin-top: .45rem; display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.eyebrow {
  text-transform: uppercase;
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: 0;
  color: var(--muted);
  margin-bottom: .5rem;
  display: flex;
  gap: .5rem;
  align-items: center;
  flex-wrap: wrap;
}
.crumb { color: var(--violet-deep); text-decoration: none; }
.crumb:hover { text-decoration: underline; }
.page-actions { display: flex; flex-wrap: wrap; gap: .6rem; }

/* -------------------------------------------------------------- buttons -- */

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  min-height: 42px;
  padding: .55rem 1.05rem;
  border-radius: var(--radius);
  border: 1px solid transparent;
  font: inherit;
  font-weight: 700;
  font-size: .95rem;
  cursor: pointer;
  text-decoration: none;
  transition: background-color .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.btn:active { transform: translateY(1px); }
.btn:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.btn--primary { background: var(--violet); color: #fff; box-shadow: 0 6px 16px rgba(103, 80, 200, .22); }
.btn--primary:hover { background: var(--violet-deep); color: #fff; }
.btn--secondary { background: var(--surface); color: var(--ink); border-color: var(--line-strong); }
.btn--secondary:hover { background: var(--surface-soft); color: var(--ink); }
.btn--ghost { background: transparent; color: var(--muted); border-color: transparent; }
.btn--ghost:hover { background: var(--surface-soft); color: var(--ink); }
.btn--danger { background: var(--coral); color: #fff; }
.btn--danger:hover { background: #A94A35; color: #fff; }
.btn--small { min-height: 34px; padding: .3rem .7rem; font-size: .85rem; }
.btn--block { width: 100%; }

.icon-btn {
  width: 32px; height: 32px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line-strong);
  background: var(--surface);
  color: var(--ink);
  border-radius: var(--radius);
  font-size: .7rem;
  cursor: pointer;
  line-height: 1;
}
.icon-btn:hover { background: var(--violet-soft); border-color: var(--violet); color: var(--violet-deep); }
.icon-btn:disabled { opacity: .35; cursor: not-allowed; }

/* --------------------------------------------------------------- panels -- */

.panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.4rem;
  box-shadow: var(--shadow-sm);
  margin-bottom: 1.4rem;
}
.panel--narrow { max-width: 46rem; }
.panel--rail { margin-bottom: 1rem; }
.panel-title {
  font-size: 1.05rem;
  display: flex;
  align-items: center;
  gap: .5rem;
  margin-bottom: .9rem;
}
.panel-note { color: var(--muted); font-size: .88rem; margin-bottom: .9rem; }
.panel-empty { color: var(--muted); font-size: .92rem; padding: .5rem 0 .8rem; }
.count-badge {
  background: var(--violet-soft);
  color: var(--violet-deep);
  font-size: .75rem;
  border-radius: 999px;
  padding: .1rem .5rem;
}

.list-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  /* Expanded row controls stay in normal flow; do not clip their focus ring or fields. */
  overflow: visible;
}
.list-note { color: var(--muted); font-size: .85rem; padding: .8rem 1rem 0; }

/* --------------------------------------------------------------- flashes -- */

.flash {
  border-radius: var(--radius);
  padding: .75rem 1rem;
  margin-bottom: 1rem;
  font-size: .94rem;
  font-weight: 600;
  border: 1px solid transparent;
}
.flash--success { background: var(--mint-soft); border-color: #A9DECB; color: #115843; }
.flash--error { background: var(--coral-soft); border-color: #F0BFB2; color: #8E3625; }
.flash--info { background: var(--violet-soft); border-color: #CFC5F5; color: var(--violet-deep); }

.notice {
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  padding: 1rem 1.1rem;
  background: var(--surface);
  margin-bottom: 1.2rem;
}
.notice--warning { background: var(--peach-soft); border-color: #F2C6A6; }
.notice--info { background: var(--violet-soft); border-color: #CFC5F5; }
.steps { margin: .7rem 0 0; padding-left: 1.2rem; }
.steps li { margin-bottom: .35rem; }

/* ----------------------------------------------------------- sprint grid -- */

.sprint-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(310px, 1fr));
  gap: 1.2rem;
}

.sprint-card {
  position: relative;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.3rem 1.3rem 1.1rem;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  transition: transform .18s ease, box-shadow .18s ease;
}
.sprint-card:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); }
.sprint-card.is-archived { background: #FBFAF7; }
.sprint-card.is-archived .sprint-name a { color: var(--muted); }

.sprint-flag {
  position: absolute;
  top: 0; right: 0;
  width: 54px; height: 54px;
  background: var(--flag, var(--violet));
  clip-path: polygon(100% 0, 0 0, 100% 100%);
}
.sprint-card--violet { --flag: var(--violet); }
.sprint-card--peach { --flag: var(--peach); }
.sprint-card--mint { --flag: #7ED0B4; }
.sprint-card--coral { --flag: var(--coral); }

.sprint-card-head { display: flex; gap: .4rem; align-items: center; flex-wrap: wrap; padding-right: 3rem; }
.sprint-name { font-size: 1.32rem; overflow-wrap: anywhere; }
.sprint-name a { color: var(--ink); text-decoration: none; }
.sprint-name a:hover { color: var(--violet-deep); text-decoration: underline; }
.sprint-dates { font-weight: 700; font-size: .95rem; }
.sprint-duration { color: var(--muted); font-size: .86rem; }
.sprint-card-foot {
  display: flex;
  gap: .5rem;
  flex-wrap: wrap;
  margin-top: .6rem;
  padding-top: .8rem;
  border-top: 1px dashed var(--line-strong);
}

.context-chip {
  font-size: .7rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0;
  padding: .18rem .5rem;
  border-radius: 999px;
  background: var(--surface-soft);
  color: var(--muted);
  border: 1px solid var(--line);
}
.context-chip--running { background: var(--mint-soft); color: var(--mint-deep); border-color: #A9DECB; }
.context-chip--upcoming { background: var(--violet-soft); color: var(--violet-deep); border-color: #CFC5F5; }
.context-chip--finished { background: var(--peach-soft); color: #8A4A19; border-color: #F2C6A6; }
.context-chip--archived { background: var(--surface-soft); color: var(--muted); }

.chip {
  font-size: .72rem;
  font-weight: 700;
  padding: .12rem .5rem;
  border-radius: 999px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  color: var(--muted);
  white-space: nowrap;
}
.chip--violet { background: var(--violet-soft); border-color: #CFC5F5; color: var(--violet-deep); }
.chip--coral { background: var(--coral-soft); border-color: #F0BFB2; color: #8E3625; }

/* progress */
.progress {
  height: 9px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 999px;
  overflow: hidden;
}
.progress span {
  display: block;
  height: 100%;
  background: var(--violet);
  border-radius: 999px;
  transition: width .4s ease;
}
.progress--large { height: 12px; }
.progress-label { font-size: .85rem; color: var(--muted); margin-top: .35rem; }
.progress-label strong { color: var(--ink); }

.count-strip {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
  gap: .45rem .9rem;
  padding: 0;
  margin: .3rem 0 0;
  font-size: .8rem;
  color: var(--muted);
}
.count-strip li { display: inline-flex; align-items: center; gap: .35rem; }
.dot { width: 9px; height: 9px; border-radius: 3px; display: inline-block; }
.dot--pending { background: #E8A33D; }
.dot--progress { background: var(--violet); }
.dot--blocked { background: var(--coral); }
.dot--cancelled { background: #9A9DAE; }

/* ------------------------------------------------------------ stat strip -- */

.stat-strip {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: .7rem;
  padding: 0;
  margin: 0 0 1.4rem;
}
.stat {
  background: var(--surface);
  border: 1px solid var(--line);
  border-left: 5px solid var(--line-strong);
  border-radius: var(--radius);
  padding: .7rem .85rem;
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-sm);
}
.stat-value { font-size: 1.35rem; font-weight: 800; line-height: 1.1; }
.stat-label { font-size: .78rem; color: var(--muted); font-weight: 600; }
.stat--pending { border-left-color: #E8A33D; }
.stat--in-progress { border-left-color: var(--violet); }
.stat--blocked { border-left-color: var(--coral); }
.stat--completed { border-left-color: #2FA88B; }
.stat--cancelled { border-left-color: #9A9DAE; }

/* ----------------------------------------------------- responsibilities -- */
.responsibility-filter .field { min-width: min(100%, 260px); }
.responsibility-groups { display: grid; gap: 1rem; }
.responsibility-group {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow-sm);
  overflow: hidden;
}
.responsibility-group-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .85rem 1rem;
  background: #FBFAF7;
  border-bottom: 1px solid var(--line);
}
.responsibility-group-head h2 { font-size: 1rem; overflow-wrap: anywhere; }
.responsibility-group-head h2 a { color: inherit; text-decoration: none; }
.responsibility-group-head h2 a:hover { color: var(--violet-deep); text-decoration: underline; }
.responsibility-actions { list-style: none; padding: 0; margin: 0; }
.responsibility-action {
  min-width: 0;
  padding: .9rem 1rem;
  border-bottom: 1px solid var(--line);
}
.responsibility-action:last-child { border-bottom: 0; }
.responsibility-action-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}
.responsibility-action-title { min-width: 0; display: grid; gap: .4rem; }
.responsibility-action-title h3 { font-size: 1rem; overflow-wrap: anywhere; }
.responsibility-action-title h3 a { color: var(--ink); text-decoration: none; }
.responsibility-action-title h3 a:hover { color: var(--violet-deep); text-decoration: underline; }
.responsibility-action-title .chip { width: fit-content; max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.responsibility-subactions {
  display: grid;
  gap: .45rem;
  list-style: none;
  padding: .65rem 0 0 1rem;
  margin: .65rem 0 0 .35rem;
  border-left: 2px solid var(--line-strong);
}
.responsibility-subaction {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .8rem;
  padding: .5rem .65rem;
  border-radius: var(--radius);
  background: #FBFAF7;
}
.responsibility-subaction > a { min-width: 0; font-weight: 600; overflow-wrap: anywhere; }
.responsibility-item-meta {
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: .4rem;
}
.responsibility-person {
  color: var(--muted);
  font-size: .8rem;
  overflow-wrap: anywhere;
}
.responsibility-person strong { color: var(--ink); }
@media (max-width: 700px) {
  .responsibility-action-head,
  .responsibility-subaction { align-items: flex-start; flex-direction: column; }
  .responsibility-item-meta { justify-content: flex-start; }
}

.sprint-summary { margin-bottom: 1.2rem; max-width: 40rem; }

/* --------------------------------------------------------------- filters -- */

.filters {
  display: flex;
  flex-wrap: wrap;
  gap: .8rem;
  align-items: flex-end;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: .9rem 1rem;
  margin-bottom: 1.2rem;
  box-shadow: var(--shadow-sm);
}
.filters .field { margin-bottom: 0; min-width: 150px; }
.filters .field--grow { flex: 1 1 220px; }
.filters-actions { display: flex; gap: .5rem; align-items: center; padding-bottom: .15rem; }

/* ---------------------------------------------------------------- forms -- */

.field { display: flex; flex-direction: column; gap: .35rem; margin-bottom: 1rem; }
.field-row { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 0 1rem; }
.field label { font-weight: 700; font-size: .88rem; }
.field small { color: var(--muted); }
.optional { font-weight: 500; color: var(--muted); }

input[type="text"],
input[type="password"],
input[type="email"],
input[type="date"],
input[type="search"],
input[type="file"],
select,
textarea {
  font: inherit;
  color: var(--ink);
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  padding: .6rem .7rem;
  min-height: 42px;
  width: 100%;
}
textarea { min-height: 96px; resize: vertical; line-height: 1.5; }
input:hover, select:hover, textarea:hover { border-color: var(--violet); }
input::placeholder, textarea::placeholder { color: #9296AC; }

.stack-form { display: block; }
.stack-form--compact { border-top: 1px dashed var(--line-strong); padding-top: .9rem; margin-top: .9rem; }
.form-actions { display: flex; gap: .6rem; flex-wrap: wrap; align-items: center; margin-top: .4rem; }

.check { display: flex; gap: .6rem; align-items: flex-start; font-size: .92rem; margin-bottom: .8rem; cursor: pointer; }
.check input { width: 20px; height: 20px; min-height: 0; margin-top: .12rem; accent-color: var(--violet); flex: none; }
.check small { display: block; color: var(--muted); }
.check-row { display: flex; flex-wrap: wrap; gap: 1rem; }

.inline-form { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.inline-form select { min-width: 130px; width: auto; min-height: 36px; padding: .35rem .5rem; }

.date-preview {
  display: flex;
  flex-direction: column;
  gap: .1rem;
  background: var(--peach-soft);
  border: 1px solid #F2C6A6;
  border-radius: var(--radius);
  padding: .8rem 1rem;
  margin-bottom: 1rem;
}
.date-preview-label { font-size: .74rem; text-transform: uppercase; font-weight: 800; color: #8A4A19; }
.date-preview strong { font-size: 1.05rem; }
.date-preview-sub { font-size: .84rem; color: var(--muted); }
.date-preview.is-error { background: var(--coral-soft); border-color: #F0BFB2; }
.date-preview.is-error .date-preview-label { color: #8E3625; }

/* ------------------------------------------------------------- item rows -- */

.item-list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.item-row {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) minmax(140px, 190px) auto;
  gap: .8rem;
  align-items: start;
  padding: 1rem 1.1rem;
  border-bottom: 1px solid var(--line);
  background: var(--surface);
}
.item-row:last-child { border-bottom: 0; }
.item-row:hover { background: #FDFCF9; }
.item-row[data-status="completed"] .item-title { color: var(--mint-deep); }
.item-row[data-status="blocked"] { box-shadow: inset 4px 0 0 var(--coral); }

.item-order { display: flex; flex-direction: column; gap: .3rem; align-items: center; padding-top: .15rem; }
.item-order form { margin: 0; }

.item-main { min-width: 0; display: flex; flex-direction: column; gap: .35rem; }
.item-title {
  font-weight: 700;
  font-size: 1.02rem;
  color: var(--ink);
  text-decoration: none;
  overflow-wrap: anywhere;
}
.item-title:hover { color: var(--violet-deep); text-decoration: underline; }
.item-desc { color: var(--muted); font-size: .9rem; overflow-wrap: anywhere; }
.item-meta { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.meta-text { font-size: .78rem; color: var(--muted); }

.item-who { display: flex; align-items: center; gap: .5rem; min-width: 0; }
.who-name { font-size: .87rem; font-weight: 600; overflow-wrap: anywhere; }
.who-name small { color: var(--muted); font-weight: 500; }
.who-name--muted { color: var(--muted); font-weight: 500; }

.pill {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  font-size: .76rem;
  font-weight: 700;
  padding: .2rem .6rem;
  border-radius: 999px;
  border: 1px solid transparent;
  white-space: nowrap;
}
.pill--pending { background: var(--amber-soft); color: var(--amber-ink); border-color: #F4D9A3; }
.pill--in-progress { background: var(--violet-soft); color: var(--violet-deep); border-color: #CFC5F5; }
.pill--blocked { background: var(--coral-soft); color: #8E3625; border-color: #F0BFB2; }
.pill--completed { background: var(--mint-soft); color: var(--mint-deep); border-color: #A9DECB; }
.pill--cancelled { background: #ECECF1; color: #55596F; border-color: #D8D9E1; }
.pill--priority { text-transform: uppercase; letter-spacing: .04em; font-size: .7rem; }
.priority--high { background: #FDE6E0; color: #963A24; border-color: #F2C0B2; }
.priority--medium { background: #FFF3D6; color: #7A5A12; border-color: #F0D9A0; }
.priority--low { background: #E6F3EE; color: #1F6A55; border-color: #B5DED0; }

.row-actions { position: relative; min-width: 0; max-width: 100%; }
.row-actions summary {
  cursor: pointer;
  list-style: none;
  font-size: .82rem;
  font-weight: 700;
  color: var(--muted);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  padding: .45rem .7rem;
  background: var(--surface);
  white-space: nowrap;
}
.row-actions summary::-webkit-details-marker { display: none; }
.row-actions summary:hover { border-color: var(--violet); color: var(--violet-deep); }
.row-actions[open] summary { background: var(--violet-soft); border-color: var(--violet); color: var(--violet-deep); }
.row-actions-panel {
  position: static;
  width: auto;
  max-width: 100%;
  min-width: 0;
  background: var(--surface);
  border: 1px solid var(--line-strong);
  border-radius: var(--radius);
  box-shadow: var(--shadow-md);
  padding: .8rem;
  display: flex;
  flex-direction: column;
  gap: .6rem;
}
.item-row > .row-actions {
  grid-column: 4;
  justify-self: end;
  width: min(100%, 27rem);
}
.row-action-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: .4rem .55rem;
  padding: 0 0 .65rem;
}
.row-action-form--status { border-bottom: 1px solid var(--line); }
.row-action-form label { grid-column: 1 / -1; font-size: .8rem; font-weight: 700; }
.row-action-form select { min-width: 0; width: 100%; }
.row-action-form .btn { white-space: nowrap; }

/* ----------------------------------------------------------- empty state -- */

.empty-state {
  text-align: center;
  padding: 2.6rem 1.4rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: .55rem;
}
.empty-state h2 { font-size: 1.25rem; }
.empty-state p { color: var(--muted); max-width: 42ch; }
.empty-state--hero { background: var(--surface); border: 1px dashed var(--line-strong); border-radius: var(--radius); }
.empty-mark { display: inline-flex; }
.empty-note { font-size: .88rem; }

/* --------------------------------------------------------- detail layout -- */

.detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 1.4rem;
  align-items: start;
}
/* DOM order: edit panel, status/move rail, gallery+timeline. Desktop places the
   rail in the right column; tablet/mobile stack it before the long timeline. */
.detail-lead { grid-column: 1; grid-row: 1; min-width: 0; }
.detail-main { grid-column: 1; grid-row: 2; min-width: 0; }
.detail-rail { grid-column: 2; grid-row: 1 / span 2; position: sticky; top: 1.5rem; }
.rail-form { display: flex; flex-direction: column; gap: .6rem; }
.order-buttons { display: flex; flex-direction: column; gap: .5rem; }

/* screenshots */
.gallery {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: .8rem;
  margin: 0 0 1.2rem;
  padding: 0;
}
.gallery-item {
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  overflow: hidden;
}
.gallery-item a { display: block; }
.gallery-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #EEE; }
.gallery-item a:hover img { opacity: .92; }
.gallery-meta { font-size: .74rem; color: var(--muted); padding: .4rem .5rem; }
.upload-form { border-top: 1px dashed var(--line-strong); padding-top: 1rem; }

/* timeline */
.timeline {
  list-style: none;
  margin: 0 0 1.4rem;
  padding: 0 0 0 1.3rem;
  border-left: 2px solid var(--line);
}
.timeline-entry { position: relative; padding: 0 0 1.2rem 1rem; }
.timeline-entry:last-child { padding-bottom: .3rem; }
.timeline-dot {
  position: absolute;
  left: -1.65rem;
  top: .3rem;
  width: 13px; height: 13px;
  border-radius: 999px;
  background: var(--violet);
  border: 3px solid var(--surface);
  box-shadow: 0 0 0 2px var(--violet);
}
.timeline-entry--status .timeline-dot { background: var(--peach); box-shadow: 0 0 0 2px #E9A268; }
.timeline-entry--move .timeline-dot { background: #2FA88B; box-shadow: 0 0 0 2px #2FA88B; }
.timeline-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .3rem .7rem;
  align-items: baseline;
  font-size: .82rem;
  color: var(--muted);
  margin-bottom: .25rem;
}
.timeline-meta strong { color: var(--ink); font-size: .9rem; }
.timeline-text { font-size: .95rem; overflow-wrap: anywhere; }
.timeline-text .arrow { color: var(--muted); padding: 0 .15rem; }

/* ---------------------------------------------------------------- users -- */

.user-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 1.2rem;
}
.user-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.2rem;
  box-shadow: var(--shadow-sm);
}
.user-card.is-inactive { background: #FBFAF7; }
.user-card-head { display: flex; gap: .75rem; align-items: center; margin-bottom: .5rem; }
.user-card-head h2 { font-size: 1.05rem; overflow-wrap: anywhere; }
.user-meta { font-size: .8rem; color: var(--muted); margin-bottom: .9rem; }

/* ------------------------------------------------------------ admin panel -- */

.admin-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  margin-bottom: 1.2rem;
  box-shadow: var(--shadow-sm);
}
.admin-panel summary {
  cursor: pointer;
  padding: .8rem 1.1rem;
  font-weight: 700;
  font-size: .9rem;
}
.admin-panel summary:hover { color: var(--violet-deep); }
.admin-panel-body { padding: 0 1.1rem 1.1rem; display: flex; flex-direction: column; gap: .8rem; }
.admin-panel-body p { color: var(--muted); font-size: .88rem; }

/* ----------------------------------------------------------- guest pages -- */

.page-guest { background: var(--canvas); }
.guest-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.4rem;
  padding: 2rem 1rem 3rem;
}
.brand--guest { flex-direction: column; text-align: center; gap: .5rem; }
.brand--guest .brand-text { font-size: 1.15rem; }
.guest-card {
  width: min(30rem, 100%);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 2rem 1.7rem;
  box-shadow: var(--shadow-md);
  position: relative;
  overflow: hidden;
}
.guest-card::before {
  content: "";
  position: absolute;
  top: 0; left: 0;
  width: 76px; height: 8px;
  background: var(--peach);
}
.guest-heading { margin-bottom: 1.3rem; }
.guest-heading h1 { font-size: 1.7rem; }
.guest-note { margin-top: 1rem; font-size: .85rem; color: var(--muted); text-align: center; }
.lede { color: var(--muted); margin-top: .5rem; }

.error-panel {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 2rem;
  max-width: 40rem;
  box-shadow: var(--shadow-sm);
}
.error-panel h1 { font-size: 1.6rem; margin-bottom: .6rem; }
.error-panel p { color: var(--muted); margin-bottom: 1.2rem; }

/* ----------------------------------------------------------- responsive -- */

/* Project association and in-detail sub-actions: deliberately small additions
   that reuse the existing chip, panel, field and button language. */
.chip--project {
  background: #E6F3EE;
  border-color: #B9DECF;
  color: #1F6A55;
  font-weight: 650;
  white-space: normal;
  overflow-wrap: anywhere;
  min-width: 0;
  max-width: 100%;
}
.subaction-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
  gap: .9rem;
  margin-bottom: 1.2rem;
}
.subaction-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1rem;
  background: var(--canvas);
}
.subaction-create {
  border-top: 1px dashed var(--line-strong);
  padding-top: 1.1rem;
}
.subaction-create-title {
  font-size: 1.02rem;
  margin-bottom: .85rem;
}
@media (max-width: 520px) {
  .subaction-list { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
  .detail-grid { grid-template-columns: minmax(0, 1fr); }
  .detail-lead, .detail-main, .detail-rail { grid-column: 1; grid-row: auto; }
  .detail-rail { position: static; }
  .item-row { grid-template-columns: 44px minmax(0, 1fr); }
  .item-who { grid-column: 2; }
  .row-actions { grid-column: 2; }
  .item-row > .row-actions { grid-column: 2; }
}

@media (max-width: 860px) {
  .app-shell { grid-template-columns: minmax(0, 1fr); }
  .sidebar { display: none; }

  .mobile-nav {
    display: block;
    background: var(--surface);
    border-bottom: 1px solid var(--line);
    position: sticky;
    top: 0;
    z-index: 20;
  }
  .mobile-nav summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: .6rem;
    padding: .8rem 1rem;
    font-weight: 800;
    text-transform: uppercase;
    font-size: .82rem;
  }
  .mobile-nav summary::-webkit-details-marker { display: none; }
  .mobile-nav-links {
    display: flex;
    flex-direction: column;
    gap: .4rem;
    padding: .4rem 1rem 1rem;
    border-top: 1px solid var(--line);
  }
  .mobile-nav-links .btn { align-self: flex-start; }

  .main { padding: 1.4rem 1rem 3.5rem; }
  .page-title { font-size: 2.05rem; }
  .page-title--detail { font-size: 1.55rem; }
  .page-head { align-items: flex-start; }
  .page-actions { width: 100%; }
  .page-actions .btn { flex: 1 1 auto; }

  .sprint-grid { grid-template-columns: minmax(0, 1fr); }
  .user-grid { grid-template-columns: minmax(0, 1fr); }
  .stat-strip { grid-template-columns: repeat(auto-fit, minmax(104px, 1fr)); }

  .item-row {
    grid-template-columns: minmax(0, 1fr);
    gap: .6rem;
    padding: 1rem;
  }
  .item-order { flex-direction: row; order: 3; justify-content: flex-start; }
  .item-who, .row-actions { grid-column: 1; }
  .item-row > .row-actions { grid-column: 1; width: 100%; justify-self: stretch; }
  .row-actions-panel { position: static; width: auto; box-shadow: none; }

  .filters { flex-direction: column; align-items: stretch; }
  .filters .field, .filters .field--grow { min-width: 0; flex: 0 1 auto; }
  .filters-actions { padding-bottom: 0; }
  .inline-form select { flex: 1 1 auto; width: 100%; }

  .guest-card { padding: 1.6rem 1.2rem; }
  .detail-rail .panel { margin-bottom: 1rem; }
}

@media (max-width: 420px) {
  .page-title { font-size: 1.8rem; }
  .icon-btn { width: 40px; height: 40px; font-size: .78rem; }
  .gallery { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
  .btn { width: 100%; }
  .page-actions .btn, .form-actions .btn, .sprint-card-foot .btn { width: auto; flex: 1 1 auto; }
  .stat-strip { gap: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
    scroll-behavior: auto !important;
  }
  .sprint-card:hover { transform: none; }
}

/* ------------------------------------------------------- reporting glass -- */
body.page-reporting { background: linear-gradient(140deg, #F0F1FF 0%, #F7F7FB 42%, #EDF8F4 100%); }
.page-reporting .reporting-head { margin-bottom: 1rem; }
.page-reporting .reporting-filter,
.page-reporting .report-metric,
.page-reporting .report-attribution-note,
.page-reporting .report-project {
  background: linear-gradient(135deg, #FFFFFF 0%, #F8F9FF 100%);
  border: 1px solid #DCDFF0;
  border-radius: var(--radius);
  box-shadow: 0 8px 24px rgba(35, 39, 82, .07);
}
.page-reporting .reporting-filter { margin-bottom: 1.2rem; }
.page-reporting .report-snapshot { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin-bottom: 1.2rem; }
.page-reporting .report-snapshot article { min-width: 0; display: grid; gap: .2rem; padding: .75rem .9rem; border: 1px solid #DCDFF0; border-radius: var(--radius); background: linear-gradient(135deg, #FFFFFF, #F2F3FC); box-shadow: 0 5px 16px rgba(35,39,82,.05); }
.page-reporting .report-snapshot span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.page-reporting .report-snapshot strong { font-size: 1.25rem; }
.page-reporting .report-snapshot small { color: var(--muted); font-size: .7rem; }
.page-reporting .report-coverage,
.page-reporting .report-portfolio { margin-bottom: 1.5rem; }
.page-reporting .report-section-heading { display: flex; justify-content: space-between; align-items: end; margin-bottom: .8rem; }
.page-reporting .report-section-heading h2 { font-size: 1.2rem; }
.page-reporting .report-metric-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.page-reporting .report-metric { min-width: 0; padding: 1rem; border-top: 3px solid #7A6AD2; }
.page-reporting .report-metric--signal { border-top-color: #2F9B7C; }
.page-reporting .report-metric-label { display: block; color: var(--muted); font-size: .78rem; font-weight: 800; line-height: 1.35; }
.page-reporting .report-metric > strong { display: block; margin: .45rem 0; font-size: 1.05rem; }
.page-reporting .report-metric p { color: var(--muted); font-size: .82rem; line-height: 1.45; }
.page-reporting .report-attribution-note { padding: .8rem 1rem; margin-bottom: 1.4rem; color: #4C5070; font-size: .84rem; }
.page-reporting .report-project-list { display: grid; gap: 1rem; }
.page-reporting .report-project { min-width: 0; overflow: hidden; }
.page-reporting .report-project-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; padding: 1rem 1.1rem; border-bottom: 1px solid #E2E4F1; background: linear-gradient(115deg, #F4F2FF, #F2FBF7); }
.page-reporting .report-project-kicker { margin-bottom: .2rem; color: #69648E; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.page-reporting .report-project-head h3 { font-size: 1.15rem; overflow-wrap: anywhere; }
.page-reporting .report-project-total { flex: none; padding: .35rem .65rem; border-radius: 999px; color: #4C456F; background: #E7E4FA; font-size: .76rem; font-weight: 800; }
.page-reporting .report-date { margin-top: .25rem; color: var(--muted); font-size: .78rem; }
.page-reporting .report-project-metrics { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; padding: .9rem 1.1rem; border-bottom: 1px solid #E2E4F1; }
.page-reporting .report-status-block,
.page-reporting .report-signal-block { min-width: 0; padding: .7rem .8rem; border-radius: 12px; background: #F6F7FC; }
.page-reporting .report-status-block h4,
.page-reporting .report-signal-block h4 { margin-bottom: .45rem; font-size: .79rem; }
.page-reporting .report-count-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem .7rem; padding: 0; margin: 0; list-style: none; }
.page-reporting .report-count-list li { display: flex; justify-content: space-between; gap: .4rem; color: var(--muted); font-size: .74rem; }
.page-reporting .report-count-list strong { color: var(--ink); }
.page-reporting .report-signal-block p { margin: .3rem 0; color: #4F536E; font-size: .78rem; line-height: 1.45; }
.page-reporting .report-help { color: var(--muted); }
.page-reporting .report-project-empty { padding: 1rem; color: var(--muted); font-size: .85rem; }
.page-reporting .report-action-list { padding: .2rem 1rem; }
.page-reporting .report-action { padding: .85rem .25rem; border-bottom: 1px solid #E7E8F0; }
.page-reporting .report-action:last-child { border-bottom: 0; }
.page-reporting .report-action-head { display: flex; justify-content: space-between; align-items: flex-start; gap: .8rem; }
.page-reporting .report-action-title { min-width: 0; display: grid; gap: .25rem; }
.page-reporting .report-action-title > a { color: var(--ink); font-weight: 750; overflow-wrap: anywhere; }
.page-reporting .report-owner { color: var(--muted); font-size: .77rem; overflow-wrap: anywhere; }
.page-reporting .report-action-state { min-width: 0; max-width: 100%; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .35rem; }
.page-reporting .report-action-state .chip { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.page-reporting .report-schedule-flag { padding: .2rem .48rem; border: 1px solid #EBC8A1; border-radius: 999px; color: #784D1B; background: #FFF4E2; font-size: .7rem; font-weight: 800; white-space: nowrap; }
.page-reporting .report-date-line { margin-top: .4rem; color: var(--muted); font-size: .75rem; line-height: 1.45; }
.page-reporting .report-date-line a { font-weight: 700; }
.page-reporting .report-reopen-list { padding: 0 0 0 1.1rem; margin: .35rem 0 0; color: #575173; font-size: .75rem; }
.page-reporting .report-subaction-list { display: grid; gap: .35rem; padding: .55rem 0 0 1rem; margin: .55rem 0 0 .35rem; border-left: 2px solid #D8D5EA; list-style: none; }
.page-reporting .report-subaction { min-width: 0; display: flex; justify-content: space-between; align-items: center; gap: .7rem; padding: .5rem .65rem; border: 1px solid #E8EAF2; border-radius: 10px; background: #FAFBFE; }
.page-reporting .report-subaction > div:first-child { min-width: 0; display: grid; gap: .2rem; }
.page-reporting .report-subaction strong { overflow-wrap: anywhere; }
.page-reporting .report-empty { border: 1px solid #DCDFF0; border-radius: var(--radius); background: #FFF; }
@supports ((backdrop-filter: blur(12px)) or (-webkit-backdrop-filter: blur(12px))) {
  .page-reporting .reporting-filter,
  .page-reporting .report-metric,
  .page-reporting .report-attribution-note,
  .page-reporting .report-project {
    background: linear-gradient(135deg, rgba(255,255,255,.87), rgba(248,249,255,.78));
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
  }
}
@media (max-width: 960px) {
  .page-reporting .report-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-reporting .report-project-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-reporting .report-snapshot { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .page-reporting .report-signal-block { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .page-reporting .report-metric-grid,
  .page-reporting .report-project-metrics,
  .page-reporting .report-snapshot { grid-template-columns: minmax(0, 1fr); }
  .page-reporting .report-signal-block { grid-column: auto; }
  .page-reporting .report-project-head,
  .page-reporting .report-action-head,
  .page-reporting .report-subaction { flex-direction: column; align-items: flex-start; }
  .page-reporting .report-action-state { justify-content: flex-start; }
}

/* Project outcomes executive glass surface. Scoped to Reporting only. */
body.page-project-outcomes { color:#F4F5FF; background:radial-gradient(ellipse at 13% 5%,rgba(142,117,255,.42),transparent 37%),radial-gradient(ellipse at 88% 18%,rgba(51,211,177,.25),transparent 35%),linear-gradient(145deg,#10152E 0%,#1A1D3B 48%,#102B35 100%); background-attachment:fixed; }
.page-project-outcomes .main { color:#F4F5FF; }
.page-project-outcomes .sidebar { color:#F2F4FF; background:rgba(14,19,42,.78); border-right:1px solid rgba(203,215,255,.19); box-shadow:8px 0 35px rgba(1,7,18,.22); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); }
.page-project-outcomes .brand-text,.page-project-outcomes .identity-text strong,.page-project-outcomes .page-title,.page-project-outcomes h2,.page-project-outcomes h3,.page-project-outcomes .page-sub { color:#F4F5FF; }
.page-project-outcomes .nav-link { color:#D8DCF3; }
.page-project-outcomes .nav-link:hover,.page-project-outcomes .nav-link.is-active { color:#fff; background:rgba(161,146,255,.19); }
.page-project-outcomes .mobile-nav { color:#F4F5FF; background:rgba(14,19,42,.88); border-color:rgba(203,215,255,.19); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); }
.page-project-outcomes .mobile-nav summary,.page-project-outcomes .mobile-nav-links { color:#F4F5FF; }
.page-project-outcomes .mobile-nav-links { background:rgba(14,19,42,.94); border-color:rgba(203,215,255,.19); }
.page-project-outcomes .eyebrow,.page-project-outcomes .report-date,.page-project-outcomes .report-help { color:#B7C2E7; }
.page-project-outcomes .executive-evidence-link { color:#C5F7E8; }
.page-project-outcomes .reporting-filter { background:rgba(255,255,255,.13); border:1px solid rgba(229,236,255,.24); box-shadow:0 16px 42px rgba(0,0,0,.17),inset 0 1px 0 rgba(255,255,255,.18); -webkit-backdrop-filter:blur(25px); backdrop-filter:blur(25px); }
.page-project-outcomes .reporting-filter label { color:#F0F3FF; }
.page-project-outcomes .outcome-summary { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.65rem; margin:0 0 1.15rem; }
.page-project-outcomes .outcome-summary > div { min-width:0; display:grid; gap:.3rem; padding:.9rem 1rem; border:1px solid rgba(223,231,255,.22); border-radius:15px; background:linear-gradient(130deg,rgba(146,133,255,.19),rgba(80,210,174,.10)); box-shadow:0 12px 28px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.22); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.page-project-outcomes .outcome-summary span { color:#C7D0ED; font-size:.73rem; font-weight:750; }
.page-project-outcomes .outcome-summary strong { color:#fff; font-size:1.45rem; }
.page-project-outcomes .outcome-projects { display:grid; gap:.9rem; }
.page-project-outcomes .outcome-project { position:relative; overflow:hidden; border:1px solid rgba(235,240,255,.22); border-radius:21px; background:linear-gradient(125deg,rgba(255,255,255,.13),rgba(171,194,255,.055) 53%,rgba(83,217,183,.075)); box-shadow:0 20px 55px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.23); -webkit-backdrop-filter:blur(27px); backdrop-filter:blur(27px); }
.page-project-outcomes .outcome-project::before { content:""; position:absolute; inset:0 0 auto; height:1px; background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),rgba(152,225,224,.52),transparent); pointer-events:none; }
.page-project-outcomes .outcome-project--attention { border-color:rgba(255,195,153,.48); box-shadow:0 20px 58px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.24),inset 3px 0 0 rgba(255,179,122,.7); }
.page-project-outcomes .outcome-project > header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 1.25rem; border-bottom:1px solid rgba(229,237,255,.15); background:linear-gradient(115deg,rgba(148,126,255,.18),rgba(69,212,176,.08)); }
.page-project-outcomes .outcome-project > header h2 { margin:.12rem 0 0; font-size:1.2rem; overflow-wrap:anywhere; }
.page-project-outcomes .outcome-project .eyebrow { margin:0; font-size:.68rem; }
.page-project-outcomes .outcome-project .btn { flex:none; color:#FAFBFF; border-color:rgba(233,238,255,.28); background:rgba(255,255,255,.1); }
.page-project-outcomes .outcome-project-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) minmax(0,.8fr); gap:1rem; padding:1rem 1.25rem; }
.page-project-outcomes .outcome-project-grid > section { min-width:0; }
.page-project-outcomes .outcome-project-grid h3 { margin:0 0 .45rem; color:#D5DBF5; font-size:.76rem; letter-spacing:.04em; text-transform:uppercase; }
.page-project-outcomes .outcome-project-grid p { margin:.32rem 0; color:#E3E7F8; font-size:.83rem; line-height:1.48; overflow-wrap:anywhere; }
.page-project-outcomes .outcome-definition { white-space:normal; }
.page-project-outcomes .outcome-commitment { color:#C8F2E4!important; font-size:.76rem!important; }
.page-project-outcomes .outcome-decision { font-weight:850; }
.page-project-outcomes .outcome-decision--accepted { color:#8CF0C7!important; }
.page-project-outcomes .outcome-decision--returned { color:#FFC39B!important; }
.page-project-outcomes .outcome-unknown { color:#D5CFFF!important; }
.page-project-outcomes .outcome-warning { color:#FFD3AD!important; }
.page-project-outcomes .outcome-note { padding-left:.65rem; border-left:2px solid rgba(255,195,153,.55); }
.page-project-outcomes .outcome-exceptions { display:flex; flex-wrap:wrap; gap:.4rem; padding:.7rem 1.25rem .9rem; margin:0; border-top:1px solid rgba(229,237,255,.13); list-style:none; }
.page-project-outcomes .outcome-exceptions li { padding:.3rem .55rem; border:1px solid rgba(255,196,150,.27); border-radius:999px; color:#FFE0C7; background:rgba(239,145,87,.12); font-size:.7rem; }
.page-project-outcomes .outcome-methodology { margin-top:1rem; padding:.7rem .9rem; border:1px solid rgba(229,237,255,.15); border-radius:13px; color:#D7DDF4; background:rgba(255,255,255,.055); }
.page-project-outcomes .outcome-methodology summary { cursor:pointer; font-weight:750; }
.page-project-outcomes .outcome-methodology p { max-width:78ch; color:#C3CCE8; font-size:.82rem; line-height:1.5; }
.page-project-outcomes .outcome-unknown:not(.outcome-project-grid *) { padding:.9rem 1rem; border:1px solid rgba(218,211,255,.28); border-radius:13px; color:#E1DCFF; background:rgba(159,142,255,.11); }
.page-project-outcomes .outcome-empty { color:#D5DCF3; }
.page-project-outcomes .report-section-heading h2,.page-project-outcomes .report-project-head h3 { color:#F4F5FF; }
.page-project-outcomes .report-project-kicker { color:#C5F3E5; }
.page-project-outcomes .report-project-head { border-color:rgba(229,237,255,.14); background:linear-gradient(110deg,rgba(151,133,255,.15),rgba(71,211,176,.08)); }
.page-project-outcomes .report-action-title > a,.page-project-outcomes .report-project-head h3 { color:#F4F5FF; }
.page-project-outcomes .report-owner,.page-project-outcomes .report-date-line,.page-project-outcomes .report-signal-block p,.page-project-outcomes .report-attribution-note { color:#D2D8EF; }
.page-project-outcomes .reporting-filter select { color:#F9FAFF; border-color:rgba(233,239,255,.25); background:rgba(20,26,55,.66); }
.page-project-outcomes .report-status-block,.page-project-outcomes .report-signal-block,.page-project-outcomes .report-subaction { border-color:rgba(226,234,255,.15); color:#EDF0FB; background:rgba(255,255,255,.075); }
.page-project-outcomes .report-count-list li,.page-project-outcomes .report-count-list strong,.page-project-outcomes .report-subaction strong { color:#EDF0FB; }
.page-project-outcomes .report-project { background:rgba(255,255,255,.09); border-color:rgba(231,238,255,.2); box-shadow:0 18px 42px rgba(0,0,0,.18),inset 0 1px 0 rgba(255,255,255,.18); }
.page-project-outcomes .report-action { border-color:rgba(222,232,255,.15); }
@media (max-width: 960px) { .page-project-outcomes .outcome-summary { grid-template-columns:repeat(3,minmax(0,1fr)); } .page-project-outcomes .outcome-project-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media (max-width: 640px) { .page-project-outcomes .outcome-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; } .page-project-outcomes .outcome-summary > div { padding:.7rem .75rem; } .page-project-outcomes .outcome-summary strong { font-size:1.2rem; } .page-project-outcomes .outcome-project > header { align-items:flex-start; padding:.9rem; } .page-project-outcomes .outcome-project-grid { grid-template-columns:minmax(0,1fr); gap:.7rem; padding:.85rem .9rem; } .page-project-outcomes .outcome-exceptions { padding:.65rem .9rem .8rem; } .page-project-outcomes .page-head { gap:.5rem; } .page-project-outcomes .page-title { font-size:1.75rem; } }

@media print {
  .sidebar, .mobile-nav, .page-actions, .filters, .row-actions, .item-order { display: none !important; }
  body { background: #fff; }
  .main { padding: 0; max-width: none; }
}

/* ------------------------------------------------ compact workspace redesign -- */

.page-head--compact-detail { margin-bottom: 1.1rem; gap: .7rem 1rem; }
.page-title--detail { font-size: 1.75rem; }
.page-head--compact-detail .page-sub { margin-top: .3rem; gap: .4rem; }
.page-head--compact-detail .page-actions { align-items: center; }

.detail-layout--compact {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}
.detail-layout--compact > .detail-overview,
.detail-layout--compact > .control-panel,
.detail-layout--compact > .detail-workspace { margin-bottom: 0; }
.detail-overview { padding: 1.15rem 1.25rem 1.1rem; }
.control-panel { padding: 1rem 1.25rem 1.05rem; }

.panel-heading--row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .6rem 1rem;
}
.panel-heading--row .panel-title { min-width: 0; margin-bottom: 0; }
.panel-heading--row > * { min-width: 0; }
.control-location {
  color: var(--muted);
  font-size: .82rem;
}
.control-location strong { color: var(--ink); }

.disclosure-summary,
.section-summary,
.subaction-summary-row {
  list-style: none;
  cursor: pointer;
}
.disclosure-summary::-webkit-details-marker,
.section-summary::-webkit-details-marker,
.subaction-summary-row::-webkit-details-marker { display: none; }
.disclosure-summary:focus-visible,
.section-summary:focus-visible,
.subaction-summary-row:focus-visible { outline: 3px solid var(--violet); outline-offset: 3px; }
.disclosure-summary--action,
.section-summary,
.subaction-summary-row {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  border-radius: var(--radius);
}
.disclosure-summary--action {
  padding: .45rem .65rem;
  border: 1px solid var(--line-strong);
  background: var(--surface-soft);
  color: var(--ink);
}
.disclosure-summary--action:hover,
.section-summary:hover,
.subaction-summary-row:hover { border-color: var(--violet); }
.disclosure-summary--action > span:first-child {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: .22rem;
}
.disclosure-summary--action strong {
  display: block;
  font-size: .9rem;
  line-height: 1.25;
}
.disclosure-summary--action small {
  display: block;
  color: var(--muted);
  font-size: .76rem;
  line-height: 1.35;
}
.disclosure-summary--action > .disclosure-mark {
  margin-left: .5rem;
  align-self: center;
}
.disclosure-mark {
  width: .55rem;
  height: .55rem;
  flex: none;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .15s ease;
}
details[open] > summary .disclosure-mark { transform: rotate(225deg) translateY(-2px); }
.compact-disclosure { min-width: 0; max-width: 100%; }
.disclosure-body { padding-top: .9rem; }
.inline-disclosure { margin-top: .35rem; }
.disclosure-summary--inline {
  width: max-content;
  min-height: 34px;
  padding: .15rem .45rem;
  color: var(--violet-deep);
  font-size: .84rem;
  font-weight: 700;
}
.disclosure-summary--inline .disclosure-mark { width: .45rem; height: .45rem; }

.overview-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem 1rem;
  padding: .75rem 0 .8rem;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  margin-bottom: .8rem;
}
.overview-owner { gap: .45rem; }
.overview-owner .who-name { font-size: .86rem; }
.overview-description {
  color: var(--ink-soft);
  font-size: .94rem;
  line-height: 1.55;
  overflow-wrap: anywhere;
  max-width: 90ch;
}
.overview-description--empty { color: var(--muted); font-style: italic; }
.overview-description--full {
  margin-top: .55rem;
  padding: .65rem .75rem;
  border-left: 3px solid var(--violet-soft);
  background: var(--surface-soft);
  border-radius: 0 var(--radius) var(--radius) 0;
}

.control-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .7rem;
}
.control-block {
  min-width: 0;
  padding: .7rem .75rem .75rem;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.control-label {
  color: var(--muted);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .03em;
  text-transform: uppercase;
  margin-bottom: .45rem;
}
.control-label small {
  display: inline;
  font-size: .7rem;
  font-weight: 600;
  text-transform: none;
  letter-spacing: 0;
}
.control-form {
  display: flex;
  align-items: stretch;
  flex-wrap: wrap;
  gap: .4rem;
}
.control-form select {
  min-width: 0;
  flex: 1 1 8rem;
  min-height: 38px;
  padding: .4rem .55rem;
}
.control-form .btn { flex: 0 0 auto; }
.control-empty {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  color: var(--muted);
  font-size: .82rem;
}
.order-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
}
.order-buttons form { flex: 1 1 6rem; }
.order-buttons .btn { width: 100%; }
.control-note {
  color: var(--muted);
  font-size: .82rem;
  margin-top: .75rem;
}

.detail-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, .72fr);
  gap: 1rem;
  align-items: start;
}
.subactions-panel { grid-column: 1 / -1; }
.detail-workspace > .panel { margin-bottom: 0; }
.subaction-progress {
  color: var(--mint-deep);
  background: var(--mint-soft);
  border: 1px solid #A9DECB;
  border-radius: 999px;
  padding: .18rem .55rem;
  font-size: .76rem;
  font-weight: 700;
}
.subaction-list {
  list-style: none;
  display: grid;
  gap: .5rem;
  margin: 0;
  padding: 0;
}
.subaction-row {
  min-width: 0;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--canvas);
}
.subaction-row:hover { border-color: var(--line-strong); }
.subaction-row[data-status="completed"] { border-color: #B9DECF; }
.subaction-row[data-status="blocked"] { border-color: #F0BFB2; }
.subaction-summary-row {
  padding: .65rem .8rem;
  gap: 1rem;
}
.subaction-main {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.subaction-name {
  display: block;
  color: var(--ink);
  font-size: .95rem;
  font-weight: 750;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.subaction-description {
  display: block;
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.35;
  margin-top: .22rem;
  overflow-wrap: anywhere;
}
.subaction-facts {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: .4rem;
}
.subaction-facts .disclosure-mark { margin-left: .35rem; }
.subaction-owner { gap: .35rem; }
.subaction-owner .who-name { font-size: .8rem; font-weight: 650; }
.subaction-edit {
  border-top: 1px solid var(--line);
  padding: .8rem .8rem .15rem;
  background: var(--surface);
  border-radius: 0 0 var(--radius) var(--radius);
}
.subaction-edit .field { margin-bottom: .7rem; }
.subaction-create {
  border-top: 1px dashed var(--line-strong);
  margin-top: .8rem;
  padding-top: .75rem;
}

.section-summary {
  padding: .25rem .45rem;
  color: var(--ink);
}
.section-summary-main {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  min-width: 0;
  margin-right: auto;
  font-weight: 800;
  font-size: 1rem;
}
.section-summary-main .count-badge { font-size: .72rem; }
.section-summary::after {
  content: "";
  display: block;
  width: .55rem;
  height: .55rem;
  flex: none;
  align-self: center;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  color: var(--muted);
  transform: rotate(45deg) translateY(-2px);
  transition: transform .15s ease;
}
details[open] > .section-summary::after {
  transform: rotate(225deg) translateY(-2px);
}

.shot-preview-thumb {
  width: 48px;
  height: 36px;
  flex: none;
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  background: var(--surface-soft);
}
.shot-preview-thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.history-preview {
  color: var(--muted);
  font-size: .78rem;
  text-align: right;
  max-width: 45%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.media-panel .disclosure-body,
.history-panel .disclosure-body { padding-top: .55rem; }
.upload-disclosure,
.compose-disclosure {
  border-top: 1px dashed var(--line-strong);
  margin-top: .55rem;
  padding-top: .55rem;
}
.gallery {
  grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
  gap: .5rem;
  margin-bottom: .2rem;
}
.gallery-item img { aspect-ratio: 4 / 3; }
.gallery-meta { font-size: .68rem; padding: .28rem .35rem; }
.timeline { margin-bottom: .2rem; }

/* ------------------------------------------------------ compact action rows -- */

.item-list { background: var(--surface); }
.item-row {
  grid-template-columns: 40px minmax(0, 1fr) minmax(150px, 210px) auto;
  gap: .65rem;
  align-items: center;
  padding: .7rem .9rem;
}
.item-list,
.item-main,
.item-who,
.row-actions-panel { min-width: 0; }
.item-row .item-order {
  gap: .25rem;
  padding-top: 0;
}
.item-order .icon-btn {
  width: 36px;
  height: 32px;
}
.item-main { gap: .2rem; }
.item-title {
  font-size: .96rem;
  line-height: 1.25;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.item-desc {
  font-size: .82rem;
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.item-meta { gap: .3rem .4rem; }
.item-meta .pill,
.item-meta .chip { font-size: .7rem; }
.item-who { gap: .4rem; }
.item-who .who-name { font-size: .82rem; }
.row-actions { justify-self: end; align-self: center; }
.row-actions > summary {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  padding: .35rem .65rem;
}
.row-actions > summary .disclosure-mark { color: inherit; }
.row-actions[open] {
  grid-column: 2 / -1;
  grid-row: 2;
  justify-self: stretch;
}
.row-actions[open] > summary {
  margin-left: auto;
  background: var(--violet-soft);
  border-color: var(--violet);
  color: var(--violet-deep);
}
.row-actions-panel {
  position: static;
  width: auto;
  max-width: 100%;
  min-width: 0;
  overflow: visible;
  box-shadow: none;
  border: 0;
  border-top: 1px solid var(--line);
  border-radius: 0;
  padding: .65rem 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .55rem;
}
.row-actions-panel .inline-form {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: .4rem;
}
.row-actions-panel label {
  color: var(--muted);
  font-size: .78rem;
  font-weight: 700;
}
.row-actions-panel select {
  min-width: 0;
  min-height: 38px;
  padding: .38rem .5rem;
}
.row-actions-panel .btn { min-height: 38px; }
.item-row > .row-actions { width: auto; max-width: 100%; grid-column: 4; }
.item-row > .row-actions[open] { grid-column: 2 / -1; grid-row: 2; justify-self: stretch; width: 100%; }
.row-actions > summary { display: flex; width: max-content; margin-left: auto; }
.row-actions-panel { grid-template-columns: minmax(0, 1fr); }
.row-actions-panel .row-action-form {
  grid-template-columns: minmax(0, 1fr) 9rem;
  align-items: end;
}
.row-actions-panel .row-action-form label { grid-column: 1 / -1; }
.row-actions-panel .row-action-form--status { border-bottom: 1px solid var(--line); }
.row-actions-panel .row-action-form .btn { min-width: 0; width: 100%; max-width: 100%; justify-self: stretch; white-space: nowrap; }

/* ------------------------------------------------------------- responsive -- */

@media (max-width: 980px) {
  .detail-layout--compact { grid-template-columns: minmax(0, 1fr); }
  .detail-workspace { grid-template-columns: minmax(0, 1fr); }
  .subactions-panel { grid-column: auto; }
  .control-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .control-block--position { grid-column: 1 / -1; }
  .item-row { grid-template-columns: 40px minmax(0, 1fr) auto; }
  .item-row > .item-order { grid-column: 1; grid-row: 1; }
  .item-row > .item-order { flex-direction: column; }
  .item-row > .item-main { grid-column: 2; grid-row: 1; }
  .item-who { grid-column: 2 / -1; grid-row: 2; }
  .row-actions { grid-column: 3; grid-row: 1; }
  .row-actions[open] { grid-column: 2 / -1; grid-row: 3; }
  .item-row > .row-actions { grid-column: 3; grid-row: 1; width: auto; }
  .item-row > .row-actions[open] { grid-column: 2 / -1; grid-row: 3; justify-self: stretch; }
}

@media (max-width: 640px) {
  .page-head--compact-detail { align-items: flex-start; }
  .page-head--compact-detail .page-actions { width: 100%; }
  .page-head--compact-detail .page-actions .btn { flex: 1 1 auto; }
  .detail-overview,
  .control-panel { padding: 1rem; }
  .control-grid { grid-template-columns: minmax(0, 1fr); }
  .control-block--position { grid-column: auto; }
  .control-form { flex-wrap: nowrap; }
  .control-form select { flex: 1 1 auto; }
  .control-form .btn { flex: 0 0 auto; }
  .subaction-summary-row {
    align-items: flex-start;
    flex-direction: column;
    gap: .45rem;
  }
  .subaction-facts {
    width: 100%;
    justify-content: flex-start;
  }
  .subaction-facts .disclosure-mark { margin-left: auto; }
  .history-preview { max-width: 58%; }
  .item-row {
    grid-template-columns: minmax(0, 1fr);
    gap: .5rem;
    padding: .75rem .8rem;
  }
  .item-row > .item-order,
  .item-row > .item-main { grid-column: auto; grid-row: auto; }
  .item-row > .item-order { flex-direction: row; }
  .item-order {
    flex-direction: row;
    grid-column: auto;
    grid-row: auto;
    justify-content: flex-start;
  }
  .item-who,
  .row-actions,
  .row-actions[open] {
    grid-column: auto;
    grid-row: auto;
  }
  .row-actions { justify-self: stretch; }
  .item-row > .row-actions { width: 100%; grid-column: auto; grid-row: auto; }
  .item-row > .row-actions[open] { grid-column: auto; grid-row: auto; }
  .row-actions > summary { width: 100%; justify-content: space-between; }
  .row-actions[open] > summary { margin-left: 0; }
  .row-actions-panel { grid-template-columns: minmax(0, 1fr); }
  .row-actions-panel .inline-form { grid-template-columns: minmax(0, 1fr); }
  .row-actions-panel .btn { width: 100%; }
  .row-actions-panel .row-action-form .btn { width: 100%; max-width: 100%; }
}

@media (max-width: 420px) {
  .page-title--detail { font-size: 1.5rem; }
  .overview-meta { align-items: flex-start; flex-direction: column; }
  .section-summary { align-items: flex-start; }
  .history-preview { max-width: 100%; text-align: left; }
  .subaction-summary-row { padding: .65rem; }
  .subaction-facts .pill { font-size: .68rem; }
  .control-form { flex-wrap: wrap; }
  .control-form select { flex-basis: 100%; }
  .control-form .btn { flex: 1 1 auto; }
  .item-desc { -webkit-line-clamp: 3; }
}


/* ---------------------------------------------------- projects portfolio -- */

.project-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(286px, 1fr));
  gap: 1.2rem;
  align-items: stretch;
}

.project-card {
  --project-accent: var(--violet);
  position: relative;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto auto;
  gap: .8rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.2rem 1.2rem 1.05rem;
  box-shadow: var(--shadow-sm);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.project-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-md);
}
.project-card--violet { --project-accent: var(--violet); }
.project-card--peach { --project-accent: var(--peach); }
.project-card--mint { --project-accent: #7ED0B4; }

.project-mark {
  position: absolute;
  top: 0;
  right: 0;
  width: 48px;
  height: 48px;
  background: var(--project-accent);
  clip-path: polygon(100% 0, 0 0, 100% 100%);
  pointer-events: none;
}

.project-title-zone {
  min-width: 0;
  min-height: 0;
  display: flex;
  align-items: flex-start;
  padding-right: 2.75rem;
}
.project-title-zone h2 {
  min-width: 0;
  max-width: 100%;
  color: var(--ink);
  font-size: 1.22rem;
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.project-meta {
  min-width: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .55rem .9rem;
  padding-top: .72rem;
  border-top: 1px solid var(--line);
}
.project-count,
.project-creator {
  min-width: 0;
  display: inline-flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: .35rem;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.35;
}
.project-creator {
  justify-content: flex-end;
  text-align: right;
}
.project-creator strong {
  color: var(--ink-soft);
  font-weight: 700;
  overflow-wrap: anywhere;
}
.project-meta-label {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.project-count-value {
  min-width: 1.7rem;
  padding: .1rem .5rem;
  border: 1px solid #CFC5F5;
  border-radius: 999px;
  background: var(--violet-soft);
  color: var(--violet-deep);
  font-size: .76rem;
  font-weight: 800;
  text-align: center;
}

.project-card-foot {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  gap: .65rem;
  padding-top: .78rem;
  border-top: 1px dashed var(--line-strong);
}
.project-card-foot .btn {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  min-height: 40px;
  flex: 0 1 auto;
  justify-self: stretch;
  white-space: nowrap;
}

@media (max-width: 640px) {
  .project-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 420px) {
  .project-grid { gap: .9rem; }
  .project-card {
    grid-template-rows: minmax(0, 1fr) auto auto;
    gap: .7rem;
    padding: 1rem;
  }
  .project-title-zone {
    min-height: 0;
    padding-right: 2.35rem;
  }
  .project-title-zone h2 { font-size: 1.12rem; }
  .project-meta {
    align-items: flex-start;
    flex-direction: column;
  }
  .project-creator {
    justify-content: flex-start;
    text-align: left;
  }
  .project-card-foot { gap: .5rem; }
}
/* -------------------------------- compact controls / single-row sub-actions -- */

.detail-layout--compact .control-grid {
  align-items: start;
}
.detail-layout--compact .control-block {
  align-self: auto;
  min-height: 0;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.detail-layout--compact .control-form.rail-form {
  display: flex;
  flex-direction: row;
  align-items: center;
  align-self: auto;
  flex-wrap: nowrap;
  gap: .45rem;
  min-width: 0;
}
.detail-layout--compact .control-form.rail-form select {
  flex: 1 1 8rem;
  align-self: auto;
  min-width: 0;
  width: auto;
  height: 42px;
  min-height: 40px;
  max-height: 44px;
}
.detail-layout--compact .control-form.rail-form .btn {
  flex: 0 0 auto;
  align-self: center;
  min-height: 40px;
  max-height: 44px;
}
.detail-layout--compact .control-form.rail-form .control-empty {
  min-height: 40px;
  max-height: 44px;
  align-self: center;
}
.detail-layout--compact .control-block .order-buttons {
  flex-direction: row;
  align-items: center;
  flex-wrap: wrap;
  gap: .45rem;
}
.detail-layout--compact .control-block .order-buttons form {
  flex: 1 1 calc(50% - .225rem);
  min-width: 0;
}
.detail-layout--compact .control-block .order-buttons .btn {
  width: 100%;
  min-height: 40px;
}

.detail-layout--compact .subaction-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-auto-flow: row;
  align-items: start;
  gap: .55rem;
  margin-bottom: 0;
}
.detail-layout--compact .subaction-list > .subaction-row {
  grid-column: 1;
  min-width: 0;
  max-width: 100%;
  align-self: start;
}
.detail-layout--compact .subaction-list > .subaction-row > details {
  min-width: 0;
  width: 100%;
}
.detail-layout--compact .subaction-summary-row {
  min-width: 0;
  width: 100%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
}
.detail-layout--compact .subaction-main {
  flex: 1 1 auto;
  min-width: 0;
}
.detail-layout--compact .subaction-facts {
  flex: 0 1 auto;
  min-width: 0;
  max-width: 58%;
  justify-content: flex-end;
}

@media (max-width: 640px) {
  .detail-layout--compact .control-form.rail-form {
    flex-direction: row;
    flex-wrap: nowrap;
  }
  .detail-layout--compact .control-form.rail-form select {
    flex: 1 1 auto;
    height: 42px;
    max-height: 44px;
  }
  .detail-layout--compact .subaction-summary-row {
    align-items: flex-start;
    flex-direction: column;
    flex-wrap: nowrap;
    gap: .45rem;
  }
  .detail-layout--compact .subaction-facts {
    width: 100%;
    max-width: 100%;
    justify-content: flex-start;
  }
}

@media (max-width: 420px) {
  .detail-layout--compact .control-form.rail-form {
    flex-wrap: wrap;
  }
  .detail-layout--compact .control-form.rail-form select {
    flex: 1 1 100%;
    width: 100%;
    height: 42px;
  }
  .detail-layout--compact .control-form.rail-form .btn {
    flex: 1 1 auto;
  }
  .detail-layout--compact .control-block .order-buttons form {
    flex: 1 1 calc(50% - .225rem);
    min-width: 0;
  }
}

/* Release evidence entry uses the existing Reporting glass surfaces. */
.page-reporting .delivery-entry-grid { margin: 1rem 0; align-items: start; }
.page-reporting .delivery-entry-grid summary { cursor: pointer; font-weight: 700; }
.page-reporting .delivery-entry-grid form { margin-top: .8rem; }
.page-reporting .report-action dd { margin: .15rem 0 .7rem; overflow-wrap: anywhere; }
.page-reporting .report-action dt { font-weight: 700; }
.page-reporting .report-coverage > .report-section-heading { flex-wrap: wrap; gap: .6rem; }

/* Executive Reporting: a restrained, readable liquid-glass surface. */
body.page-reporting {
  background:
    radial-gradient(ellipse at 82% 4%, rgba(172, 160, 255, .38), transparent 36rem),
    radial-gradient(ellipse at 44% 42%, rgba(131, 225, 203, .26), transparent 34rem),
    radial-gradient(ellipse at 7% 88%, rgba(255, 203, 166, .25), transparent 28rem),
    linear-gradient(135deg, #F0F2FC 0%, #E9F5F3 52%, #F6F2F8 100%);
}
.page-reporting .app-shell, .page-reporting .main { background: transparent; }
.page-reporting .main { position: relative; isolation: isolate; }
.page-reporting .main::before {
  content: ""; position: absolute; z-index: -1; pointer-events: none; inset: 0 0 auto;
  height: 560px; opacity: .72;
  background: radial-gradient(ellipse at 66% 4%, rgba(255,255,255,.84), transparent 48%),
              radial-gradient(ellipse at 12% 28%, rgba(186,178,255,.26), transparent 38%);
}
.page-reporting .reporting-head { align-items: center; gap: 1rem; margin-bottom: 1rem; }
.page-reporting .executive-head .page-title { font-size: clamp(2.1rem, 4vw, 3rem); letter-spacing: -.045em; }
.page-reporting .executive-head .eyebrow { color: #6258A2; }
.page-reporting .executive-evidence-link { flex: none; }
.page-reporting .reporting-filter,
.page-reporting .executive-hero,
.page-reporting .executive-kpi,
.page-reporting .executive-phases,
.page-reporting .executive-projects,
.page-reporting .executive-empty,
.page-reporting .report-coverage,
.page-reporting .report-attribution-note,
.page-reporting .report-project {
  border: 1px solid rgba(255,255,255,.86);
  background: linear-gradient(145deg, rgba(255,255,255,.78), rgba(248,250,255,.60));
  box-shadow: 0 18px 42px rgba(48, 52, 94, .10), inset 0 1px 0 rgba(255,255,255,.98), inset 0 -1px 0 rgba(118,131,185,.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.24);
  backdrop-filter: blur(18px) saturate(1.24);
}
.page-reporting .reporting-filter { display:flex; align-items:end; gap:.55rem; width:min(100%, 650px); padding:.35rem .65rem; margin:.3rem 0 .8rem; border-radius:13px; }
.page-reporting .reporting-filter { flex-direction:row; flex-wrap:nowrap; }
.page-reporting .reporting-filter .field { display:flex; flex-direction:row; flex:1 1 auto; align-items:center; gap:.45rem; min-width:0; width:auto; }
.page-reporting .reporting-filter label { flex:none; margin:0; color:#565972; font-size:.72rem; }
.page-reporting .reporting-filter select { min-height:36px; padding:.35rem 2rem .35rem .55rem; background-color:rgba(255,255,255,.82); }
.page-reporting .reporting-filter .filters-actions { width:auto; flex:none; margin:0; }
.page-reporting .reporting-filter .btn { width:auto; min-height:36px; padding:.35rem .7rem; }
.page-reporting .reporting-filter select { background-color: rgba(255,255,255,.82); }
.page-reporting .executive-hero {
  position: relative; isolation:isolate; overflow: clip; padding: 1rem 1.2rem; margin: 0 0 .8rem;
  border-radius: 22px; color: #262544;
}
.page-reporting .executive-hero::after { display:none; }
.page-reporting .executive-hero-line { max-width: 76ch; margin: 0; color:#292947; font-size: clamp(1.25rem, 2vw, 1.65rem); font-weight: 800; line-height: 1.25; letter-spacing:-.025em; }
.page-reporting .executive-hero-outcomes { margin:.3rem 0 0; color:#444761; font-size:.93rem; font-weight:700; line-height:1.4; overflow-wrap:anywhere; }
.page-reporting .executive-hero > small { display:block; margin-top:.15rem; color:#5b5e76; font-size:.72rem; }
.page-reporting .executive-kpis { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .55rem; margin-bottom: .65rem; }
.page-reporting .executive-kpi { min-width: 0; min-height: 88px; display: flex; flex-direction: column; justify-content: space-between; gap: .2rem; padding: .7rem .8rem; border-radius: 15px; }
.page-reporting .executive-kpi > span { color: #4F5271; font-size: .78rem; font-weight: 760; }
.page-reporting .executive-kpi > strong { color: #272844; font-size: clamp(1.2rem, 1.65vw, 1.55rem); line-height: 1.15; letter-spacing: -.025em; }
.page-reporting .executive-kpi > strong small { color: #595D78; font-size: .8rem; font-weight: 700; letter-spacing: 0; }
.page-reporting .executive-kpi > small { color: #62657B; font-size: .68rem; line-height: 1.32; }
.page-reporting .executive-kpi--attention { border-color: rgba(243, 199, 164, .9); background: linear-gradient(145deg, rgba(255,250,244,.88), rgba(255,240,224,.65)); }
.page-reporting .executive-facts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.55rem; margin:-.25rem 0 1.1rem; }
.page-reporting .executive-facts article { min-width:0; display:grid; gap:.18rem; padding:.65rem .8rem; border-left:2px solid rgba(113,103,187,.55); }
.page-reporting .executive-facts span { color:#5D6078; font-size:.69rem; font-weight:760; }
.page-reporting .executive-facts strong { color:#2C2E4A; font-size:1.03rem; }
.page-reporting .executive-facts small { color:#686B80; font-size:.67rem; line-height:1.3; }
.page-reporting .executive-phases, .page-reporting .executive-projects { padding: 1.1rem 1.2rem; margin-bottom: 1.1rem; border-radius: 21px; }
.page-reporting .executive-body { display:flex; flex-direction:column; gap:.1rem; }
.page-reporting .executive-projects { order:1; }
.page-reporting .executive-phases { order:2; }
.page-reporting .executive-methodology { margin:.2rem 0 .7rem; color:#52556D; font-size:.74rem; }
.page-reporting .executive-methodology summary { display:inline-block; cursor:pointer; color:#514B8C; font-weight:750; text-decoration:underline; text-underline-offset:3px; }
.page-reporting .executive-methodology p { max-width:100ch; padding:.55rem .7rem; margin:.35rem 0 0; border:1px solid rgba(255,255,255,.8); border-radius:10px; background:rgba(255,255,255,.44); line-height:1.45; }
.page-reporting .executive-section-title { display:flex; justify-content:space-between; align-items:end; gap:1rem; margin-bottom:.8rem; }
.page-reporting .executive-section-title .eyebrow { margin-bottom:.15rem; color:#68619D; }
.page-reporting .executive-section-title h2 { font-size:1.15rem; letter-spacing:-.02em; }
.page-reporting .executive-section-title > span { color:#64677D; font-size:.75rem; text-align:right; }
.page-reporting .executive-phase-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.65rem; }
.page-reporting .executive-phase-grid article { display:grid; gap:.23rem; padding:.78rem .9rem; border:1px solid rgba(215,220,242,.8); border-radius:14px; background:linear-gradient(140deg,rgba(255,255,255,.73),rgba(237,247,246,.59)); box-shadow:inset 0 1px 0 rgba(255,255,255,.94); }
.page-reporting .executive-phase-grid span { color:#535671; font-size:.78rem; font-weight:750; }
.page-reporting .executive-phase-grid strong { color:#292B48; font-size:1.24rem; }
.page-reporting .executive-phase-grid small,.page-reporting .executive-time-note { color:#676A80; font-size:.72rem; line-height:1.4; }
.page-reporting .executive-time-note { margin:.65rem 0 0; }
.page-reporting .executive-table-wrap { overflow-x:auto; border-radius:14px; }
.page-reporting .executive-table { width:100%; border-collapse:separate; border-spacing:0; text-align:left; }
.page-reporting .executive-table th { padding:.65rem .75rem; border-bottom:1px solid #D9DCEC; color:#565972; font-size:.7rem; letter-spacing:.045em; text-transform:uppercase; }
.page-reporting .executive-table td { padding:.78rem .75rem; border-bottom:1px solid rgba(208,214,235,.72); vertical-align:top; font-size:.81rem; }
.page-reporting .executive-table tbody tr:last-child td { border-bottom:0; }
.page-reporting .executive-table td:first-child { min-width:155px; }
.page-reporting .executive-table td:first-child strong { display:block; color:#282A46; font-size:.9rem; }
.page-reporting .executive-table td small { display:block; margin-top:.24rem; color:#65687C; font-size:.7rem; line-height:1.35; }
.page-reporting .executive-outcomes { min-width:160px; }
.page-reporting .executive-outcomes span { display:block; margin:.12rem 0; }
.page-reporting .executive-exception-list { display:grid; gap:.35rem; min-width:180px; padding:0; margin:0; list-style:none; }
.page-reporting .executive-exception { padding:.4rem .5rem; border-left:3px solid #D18842; border-radius:5px 9px 9px 5px; background:rgba(255,239,218,.65); color:#65451F; font-weight:700; }
.page-reporting .executive-exception--rejected,.page-reporting .executive-exception--release,.page-reporting .executive-exception--target { border-left-color:#BB6552; background:rgba(255,231,224,.72); color:#742F29; }
.page-reporting .executive-exception a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.page-reporting .executive-exception small { font-weight:500; }
.page-reporting .executive-review { display:inline-block; margin-top:.35rem; color:#514B8C; font-size:.72rem; font-weight:760; text-underline-offset:2px; }
.page-reporting .executive-clear { color:#28664F; font-size:.76rem; font-weight:700; }
.page-reporting .executive-empty { padding:1rem; border-radius:15px; color:#535671; }
.page-reporting .executive-footnote { max-width:110ch; color:#5F6278; font-size:.73rem; line-height:1.5; }
.page-reporting .report-coverage,.page-reporting .report-attribution-note,.page-reporting .report-project { border-radius:18px; }
@media (max-width: 820px) {
  .page-reporting .executive-kpis { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .page-reporting .executive-table th:nth-child(3),.page-reporting .executive-table td:nth-child(3) { min-width:125px; }
}
@media (max-width: 640px) {
  .page-reporting .main { padding: 1.05rem .8rem 2.5rem; }
  .page-reporting .executive-head { align-items:flex-start; flex-direction:column; }
  .page-reporting .executive-head .page-title { font-size:2rem; }
  .page-reporting .executive-evidence-link { align-self:flex-start; }
  .page-reporting .reporting-filter { flex-direction:row; width:100%; padding:.3rem .45rem; }
  .page-reporting .reporting-filter .field { flex-direction:row; width:auto; }
  .page-reporting .reporting-filter label { font-size:.66rem; }
  .page-reporting .reporting-filter select { min-width:0; max-width:100%; font-size:.78rem; }
  .page-reporting .executive-hero { padding:.8rem .9rem; border-radius:16px; }
  .page-reporting .executive-kpis { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.45rem; }
  .page-reporting .executive-kpi { min-height:80px; padding:.58rem .65rem; border-radius:12px; }
  .page-reporting .executive-kpi:last-child { grid-column:1/-1; }
  .page-reporting .executive-kpi > strong { font-size:1.15rem; }
  .page-reporting .executive-phases,.page-reporting .executive-projects { padding:.9rem .8rem; border-radius:17px; }
  .page-reporting .executive-section-title { align-items:flex-start; flex-direction:column; }
  .page-reporting .executive-section-title > span { text-align:left; }
  .page-reporting .executive-phase-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .page-reporting .executive-table,.page-reporting .executive-table tbody,.page-reporting .executive-table tr,.page-reporting .executive-table td { display:block; width:100%; }
  .page-reporting .executive-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
  .page-reporting .executive-table tbody { display:grid; gap:.65rem; }
  .page-reporting .executive-table tr { padding:.4rem .7rem; border:1px solid rgba(255,255,255,.92); border-radius:14px; background:rgba(255,255,255,.53); box-shadow:inset 0 1px 0 rgba(255,255,255,.95); }
  .page-reporting .executive-table td { min-width:0!important; padding:.55rem 0; border-bottom:1px solid rgba(208,214,235,.7); }
  .page-reporting .executive-table td:last-child { border-bottom:0; }
  .page-reporting .executive-table td:nth-child(2)::before { content:"Attention"; display:block; margin-bottom:.25rem; color:#60637B; font-size:.67rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
  .page-reporting .executive-table td:nth-child(3)::before { content:"Outcomes"; display:block; margin-bottom:.2rem; color:#60637B; font-size:.67rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
  .page-reporting .executive-table td:nth-child(4)::before { content:"Approval to delivery"; display:block; margin-bottom:.2rem; color:#60637B; font-size:.67rem; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
}

/* Final high-contrast surface for the new project-level outcomes page. */
body.page-project-outcomes { color:#F5F6FF!important; background:radial-gradient(ellipse at 12% 4%,rgba(143,119,255,.38),transparent 36rem),radial-gradient(ellipse at 90% 15%,rgba(63,220,179,.23),transparent 34rem),linear-gradient(145deg,#10152E,#1B1E3C 52%,#102E37)!important; background-attachment:fixed; }
.page-project-outcomes .app-shell,.page-project-outcomes .main { background:transparent!important; }
.page-project-outcomes .main { color:#F5F6FF!important; }
.page-project-outcomes .sidebar { color:#F2F4FF; background:rgba(12,17,39,.82); border-color:rgba(216,225,255,.18); -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); }
.page-project-outcomes .brand-text,.page-project-outcomes .identity-text strong,.page-project-outcomes .page-title,.page-project-outcomes h2,.page-project-outcomes h3,.page-project-outcomes .page-sub { color:#F5F6FF!important; }
.page-project-outcomes .nav-link { color:#DCE0F5; }
.page-project-outcomes .nav-link:hover,.page-project-outcomes .nav-link.is-active { color:#fff; background:rgba(161,146,255,.18); }
.page-project-outcomes .executive-head .eyebrow,.page-project-outcomes .outcome-project .eyebrow { color:#BFC9EC!important; }
.page-project-outcomes .executive-evidence-link { color:#A8F0D7; }
.page-project-outcomes .reporting-filter { border:1px solid rgba(223,231,255,.24)!important; background:rgba(255,255,255,.10)!important; box-shadow:0 16px 42px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.18)!important; -webkit-backdrop-filter:blur(24px); backdrop-filter:blur(24px); }
.page-project-outcomes .reporting-filter label { color:#EDF0FF!important; }
.page-project-outcomes .reporting-filter select { color:#F5F6FF; border-color:rgba(229,236,255,.25); background:rgba(20,26,55,.72); }
.page-project-outcomes .outcome-summary > div { border-color:rgba(223,231,255,.24); background:linear-gradient(130deg,rgba(146,133,255,.19),rgba(80,210,174,.10)); box-shadow:0 12px 28px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.2); -webkit-backdrop-filter:blur(20px); backdrop-filter:blur(20px); }
.page-project-outcomes .outcome-summary span { color:#CFD6F0; }
.page-project-outcomes .outcome-summary strong { color:#fff; }
.page-project-outcomes .outcome-project { border:1px solid rgba(235,240,255,.23); background:linear-gradient(125deg,rgba(255,255,255,.135),rgba(171,194,255,.055) 53%,rgba(83,217,183,.075)); box-shadow:0 20px 55px rgba(0,0,0,.23),inset 0 1px 0 rgba(255,255,255,.23); -webkit-backdrop-filter:blur(27px); backdrop-filter:blur(27px); }
.page-project-outcomes .outcome-project::before { background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),rgba(152,225,224,.55),transparent); }
.page-project-outcomes .outcome-project--attention { border-color:rgba(255,195,153,.48); box-shadow:0 20px 58px rgba(0,0,0,.25),inset 0 1px 0 rgba(255,255,255,.24),inset 3px 0 0 rgba(255,179,122,.7); }
.page-project-outcomes .outcome-project > header { border-color:rgba(229,237,255,.17); background:linear-gradient(115deg,rgba(148,126,255,.20),rgba(69,212,176,.09)); }
.page-project-outcomes .outcome-project > header h2 { color:#fff!important; }
.page-project-outcomes .outcome-project .btn { color:#FAFBFF; border-color:rgba(233,238,255,.28); background:rgba(255,255,255,.10); }
.page-project-outcomes .outcome-project-grid h3 { color:#D5DBF5!important; }
.page-project-outcomes .outcome-project-grid p { color:#E6EAF8; }
.page-project-outcomes .outcome-commitment { color:#C8F2E4!important; }
.page-project-outcomes .outcome-decision--accepted { color:#8CF0C7!important; }
.page-project-outcomes .outcome-decision--returned { color:#FFC39B!important; }
.page-project-outcomes .outcome-unknown { color:#D5CFFF!important; }
.page-project-outcomes .outcome-warning { color:#FFD3AD!important; }
.page-project-outcomes .outcome-exceptions { border-color:rgba(229,237,255,.14); }
.page-project-outcomes .outcome-exceptions li { border-color:rgba(255,196,150,.30); color:#FFE0C7; background:rgba(239,145,87,.13); }
.page-project-outcomes .outcome-blocked { padding:.6rem 1.25rem; border-top:1px solid rgba(229,237,255,.13); color:#F4F5FF; }
.page-project-outcomes .outcome-blocked h3 { color:#FFD2AE!important; font-size:.76rem; text-transform:uppercase; }
.page-project-outcomes .outcome-blocked ul { display:flex; flex-wrap:wrap; gap:.45rem 1rem; padding:0; margin:.35rem 0; list-style:none; }
.page-project-outcomes .outcome-blocked li,.page-project-outcomes .outcome-blocked span { color:#DFE5F7; font-size:.78rem; }
.page-project-outcomes .outcome-blocked a { color:#B7F4DE; }
.page-project-outcomes .outcome-methodology { border-color:rgba(229,237,255,.17); color:#D7DDF4; background:rgba(255,255,255,.06); }
.page-project-outcomes .outcome-methodology p { color:#C8D0E9; }
.page-project-outcomes .outcome-empty { color:#D5DCF3; }
.page-project-outcomes .outcome-unknown:not(.outcome-project-grid *) { border-color:rgba(218,211,255,.28); color:#E1DCFF; background:rgba(159,142,255,.11); }
@media(max-width:640px) {
  .page-project-outcomes .outcome-project > header { align-items:flex-start; flex-direction:column; gap:.65rem; padding:.9rem; }
  .page-project-outcomes .outcome-project > header > div { width:100%; min-width:0; }
  .page-project-outcomes .outcome-project > header h2 { max-width:100%; overflow-wrap:anywhere; word-break:normal; }
  .page-project-outcomes .outcome-project > header .btn { align-self:flex-start; }
  .page-project-outcomes .outcome-project-grid { grid-template-columns:minmax(0,1fr); }
  .page-project-outcomes .outcome-blocked { padding:.6rem .9rem; }
}
.page-project-outcomes .outcome-summary { grid-template-columns:repeat(4,minmax(0,1fr)); }
.page-project-outcomes .outcome-summary > div { padding:.7rem .85rem; }
.page-project-outcomes .outcome-summary strong { font-size:1.22rem; }
.page-project-outcomes .outcome-attention { margin:.2rem 0 1rem; padding:.85rem 1rem; border:1px solid rgba(235,240,255,.22); border-radius:16px; background:linear-gradient(125deg,rgba(255,255,255,.12),rgba(150,130,255,.10)); box-shadow:0 12px 28px rgba(0,0,0,.19),inset 0 1px 0 rgba(255,255,255,.18); -webkit-backdrop-filter:blur(22px); backdrop-filter:blur(22px); }
.page-project-outcomes .outcome-attention h2 { margin:0 0 .5rem; color:#FFD2AE!important; font-size:.9rem; text-transform:uppercase; letter-spacing:.04em; }
.page-project-outcomes .outcome-attention ul { display:grid; gap:.4rem; padding:0; margin:0; list-style:none; }
.page-project-outcomes .outcome-attention li { display:grid; grid-template-columns:minmax(7rem,.7fr) minmax(8rem,.8fr) minmax(0,2fr); gap:.6rem; align-items:start; padding:.5rem .6rem; border-left:2px solid rgba(255,180,127,.72); border-radius:0 10px 10px 0; background:rgba(255,255,255,.055); }
.page-project-outcomes .outcome-attention a { color:#B7F4DE; font-weight:800; }
.page-project-outcomes .outcome-attention span { color:#C9D1ED; font-size:.76rem; }
.page-project-outcomes .outcome-attention strong { color:#FFE0C7; font-size:.78rem; }
.page-project-outcomes .outcome-coverage { margin:.35rem 0 .8rem; color:#D7DDF4; font-size:.76rem; }
.page-project-outcomes .outcome-coverage summary { cursor:pointer; color:#BFC9EC; }
.page-project-outcomes .outcome-coverage p { margin:.35rem 0; color:#D2D9EF; }
.page-project-outcomes .outcome-detail { margin:.7rem 1.25rem .9rem; color:#EFF2FF; }
.page-project-outcomes .outcome-detail summary { display:inline-flex; min-height:35px; align-items:center; padding:.3rem .65rem; border:1px solid rgba(222,233,255,.22); border-radius:10px; cursor:pointer; color:#DCE4FF; background:rgba(255,255,255,.07); font-size:.75rem; font-weight:750; }
.page-project-outcomes .outcome-project { background:radial-gradient(ellipse at 0% 0%,rgba(157,137,255,.20),transparent 48%),radial-gradient(ellipse at 100% 100%,rgba(70,229,187,.12),transparent 46%),linear-gradient(125deg,rgba(255,255,255,.12),rgba(171,194,255,.045) 53%,rgba(83,217,183,.06)); }
.page-project-outcomes .outcome-project > * { position:relative; z-index:1; }
.page-project-outcomes .outcome-project::before { height:auto; inset:0; border-radius:inherit; background:linear-gradient(118deg,rgba(255,255,255,.32) 0%,transparent 16%,transparent 78%,rgba(139,236,224,.18) 100%); opacity:.7; }
.page-project-outcomes .outcome-project::after { content:""; position:absolute; z-index:0; width:34rem; height:34rem; right:-22rem; top:-24rem; border:1px solid rgba(203,196,255,.16); border-radius:50%; box-shadow:0 0 0 14px rgba(203,196,255,.025),0 0 0 36px rgba(203,196,255,.02),0 0 80px rgba(117,103,232,.11); pointer-events:none; }
.page-project-outcomes .outcome-summary > div { position:relative; overflow:hidden; background:radial-gradient(ellipse at -5% -25%,rgba(165,145,255,.35),transparent 70%),radial-gradient(ellipse at 110% 125%,rgba(68,231,183,.23),transparent 65%),rgba(235,240,255,.075); }
@media(max-width:640px) {
  .page-project-outcomes .outcome-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-project-outcomes .outcome-attention { padding:.65rem .7rem; }
  .page-project-outcomes .outcome-attention li { grid-template-columns:minmax(0,1fr); gap:.12rem; }
  .page-project-outcomes .outcome-attention span { font-size:.7rem; }
  .page-project-outcomes .outcome-detail { margin:.65rem .9rem .8rem; }
}

/* Project outcomes optical finish: a continuous backdrop viewed through clear,
   differently elevated panes. All effects are decorative and non-interactive. */
body.page-project-outcomes {
  background:
    radial-gradient(ellipse 630px 430px at 79% 46%, transparent 63%, rgba(83,232,207,.23) 63.5%, rgba(102,247,222,.42) 64%, rgba(62,173,163,.10) 65.5%, transparent 68%),
    radial-gradient(ellipse 710px 470px at 14% 78%, transparent 64%, rgba(160,137,255,.30) 64.5%, rgba(164,133,255,.12) 66%, transparent 69%),
    radial-gradient(ellipse 450px 330px at 90% 28%, rgba(46,167,153,.28), transparent 74%),
    radial-gradient(ellipse 660px 570px at 4% 7%, rgba(125,92,229,.38), transparent 76%),
    linear-gradient(135deg,#11162e,#172337 65%,#102b34)!important;
  background-attachment:fixed;
}
.page-project-outcomes .main::before { display:none; }
.page-project-outcomes .sidebar {
  background:linear-gradient(145deg,rgba(135,111,228,.12),rgba(10,16,34,.48) 60%,rgba(78,211,186,.06));
  box-shadow:18px 0 40px rgba(0,4,18,.26),inset -1px 0 rgba(222,230,255,.18);
  -webkit-backdrop-filter:blur(16px) saturate(135%); backdrop-filter:blur(16px) saturate(135%);
}
.page-project-outcomes .outcome-project,
.page-project-outcomes .outcome-attention,
.page-project-outcomes .outcome-summary > div {
  position:relative; isolation:isolate; overflow:hidden;
  border-color:rgba(218,235,255,.22);
  background:linear-gradient(118deg,rgba(238,242,255,.09),rgba(16,24,44,.12) 44%,rgba(160,244,224,.045));
  box-shadow:10px 20px 40px rgba(0,4,20,.28),inset 0 -1px 0 rgba(229,244,255,.1);
  -webkit-backdrop-filter:blur(9px) saturate(130%); backdrop-filter:blur(9px) saturate(130%);
}
.page-project-outcomes .outcome-attention { -webkit-backdrop-filter:blur(15px) saturate(140%); backdrop-filter:blur(15px) saturate(140%); }
.page-project-outcomes .outcome-project > header { background:rgba(225,234,255,.045); }
.page-project-outcomes .outcome-project--attention { border-left-color:rgba(255,200,164,.64); box-shadow:10px 20px 42px rgba(0,4,20,.29),inset 2px 0 rgba(255,192,150,.55); }
.page-project-outcomes .outcome-project::before {
  content:""; position:absolute; inset:0; z-index:0; pointer-events:none; border-radius:inherit;
  background:linear-gradient(122deg,rgba(255,255,255,.10),transparent 21%,transparent 76%,rgba(173,250,232,.045)); opacity:1;
}
.page-project-outcomes .outcome-project::after,
.page-project-outcomes .outcome-attention::after,
.page-project-outcomes .outcome-summary > div::after {
  content:""; position:absolute; inset:0; width:auto; height:auto; z-index:2; padding:1px; border:0; border-radius:inherit; pointer-events:none; box-shadow:none;
  background:linear-gradient(132deg,rgba(255,255,255,.8) 0%,rgba(229,224,255,.33) 15%,transparent 38%,transparent 69%,rgba(149,244,220,.5) 100%);
  -webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);
  -webkit-mask-composite:xor; mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0); mask-composite:exclude;
}
.page-project-outcomes .outcome-attention > *,.page-project-outcomes .outcome-summary > div > * { position:relative; z-index:1; }
.page-project-outcomes .outcome-attention li { background:rgba(10,20,39,.24); }
.page-project-outcomes .outcome-attention a { color:#b8f6df; }
.page-project-outcomes .outcome-attention span { color:#dde5f7; }
.page-project-outcomes .outcome-project { scroll-margin-top:1rem; }
@media(max-width:640px) {
  body.page-project-outcomes { background-size:auto; }
  .page-project-outcomes .executive-head .page-title { font-size:1.9rem; }
  .page-project-outcomes .executive-head .page-sub { font-size:.9rem; }
  .page-project-outcomes .outcome-summary > div { min-height:70px; }
}

.page-project-outcomes .outcome-status { margin:.3rem 0 0; color:#DCE7F5; font-size:.8rem; line-height:1.4; }

/* One executive reporting surface. No release register or activity screen. */
.page-project-outcomes .portfolio-heading { margin:.4rem 0 1.25rem; }
.page-project-outcomes .portfolio-heading h1 { margin:.35rem 0 .45rem; font-size:clamp(2rem,3.8vw,3rem); line-height:1.12; letter-spacing:-.045em; color:#f7f9ff; }
.page-project-outcomes .portfolio-heading p { margin:0; color:#c6d3e8; }
.page-project-outcomes .portfolio-heading .eyebrow { font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:#b1c4dc; }
.page-project-outcomes .glass-plane { position:relative; isolation:isolate; border:1px solid rgba(213,233,255,.22); border-radius:24px; background:linear-gradient(120deg,rgba(244,248,255,.1),rgba(14,25,43,.17) 48%,rgba(134,240,214,.06)); box-shadow:9px 20px 45px rgba(0,5,22,.28),inset 0 1px rgba(255,255,255,.3); -webkit-backdrop-filter:blur(10px) saturate(135%); backdrop-filter:blur(10px) saturate(135%); }
.page-project-outcomes .glass-plane::before { content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(130deg,rgba(255,255,255,.8),rgba(216,226,255,.13) 24%,transparent 44%,transparent 68%,rgba(137,240,215,.47));-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude; }
.page-project-outcomes .portfolio-summary { display:grid;grid-template-columns:1fr 1.25fr 1fr;margin-bottom:1rem;padding:1.2rem 1.5rem;gap:1.5rem; }
.page-project-outcomes .portfolio-summary > div { min-width:0;display:grid;gap:.2rem;align-content:center; }
.page-project-outcomes .portfolio-summary span { font-size:.8rem;color:#c5d4e8; }
.page-project-outcomes .portfolio-summary strong { color:#f6faff;font-size:2rem;letter-spacing:-.035em;font-weight:800;line-height:1.2; }
.page-project-outcomes .portfolio-summary strong small { font-size:1rem;font-weight:500;color:#bccde2;letter-spacing:0; }
.page-project-outcomes .portfolio-summary-context { border-right:1px solid rgba(221,236,255,.15); }
.page-project-outcomes .portfolio-filter { display:flex;align-items:center;gap:.65rem;margin:0 0 1.2rem; }
.page-project-outcomes .portfolio-filter label { font-size:.8rem;color:#bfcee4; }
.page-project-outcomes .portfolio-filter select { min-width:0;max-width:25rem;flex:1;color:#edf4ff;background:rgba(10,22,40,.52);border-color:rgba(221,236,255,.24); }
.page-project-outcomes .portfolio-filter .btn { color:#e6f2ff;background:rgba(225,238,255,.09);border-color:rgba(221,236,255,.25); }
.page-project-outcomes .portfolio-attention { padding:1.2rem 1.4rem;margin-bottom:1.2rem; }
.page-project-outcomes .portfolio-attention h2 { margin:0 0 .8rem;font-size:1.1rem;letter-spacing:-.02em;color:#ffdac0!important; }
.page-project-outcomes .portfolio-attention ul { list-style:none;padding:0;margin:0; }
.page-project-outcomes .portfolio-attention li { display:grid;grid-template-columns:minmax(10rem,.8fr) minmax(0,1.8fr);gap:1.4rem;padding:.8rem 0;border-top:1px solid rgba(220,236,255,.12); }
.page-project-outcomes .portfolio-attention li:first-child { border-top:0;padding-top:0; }
.page-project-outcomes .portfolio-attention li:last-child { padding-bottom:0; }
.page-project-outcomes .portfolio-attention a { color:#c1f6e5;font-size:.95rem;font-weight:750;text-decoration-thickness:1px;text-underline-offset:3px; }
.page-project-outcomes .portfolio-attention span { display:block;color:#b7c9e1;font-size:.75rem;margin-top:.15rem; }
.page-project-outcomes .portfolio-attention p { margin:0;color:#f4dfcc;font-size:.86rem;line-height:1.55; }
.page-project-outcomes .portfolio-projects { padding:1.15rem 1.4rem; }
.page-project-outcomes .portfolio-section-heading { display:flex;justify-content:space-between;gap:1rem;align-items:center;padding-bottom:.85rem; }
.page-project-outcomes .portfolio-section-heading h2 { margin:0;color:#f0f6ff;font-size:1.1rem; }
.page-project-outcomes .portfolio-section-heading a { color:#c0e9e0;font-size:.75rem; }
.page-project-outcomes .portfolio-project { border-top:1px solid rgba(221,236,255,.14);scroll-margin-top:1rem; }
.page-project-outcomes .portfolio-project summary { list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(9rem,.7fr) 1rem;align-items:center;gap:1rem;padding:.95rem 0;cursor:pointer; }
.page-project-outcomes .portfolio-project summary::-webkit-details-marker { display:none; }
.page-project-outcomes .portfolio-project h3 { margin:0;font-size:.95rem;color:#f3f7ff;line-height:1.35; }
.page-project-outcomes .portfolio-contact { color:#b4c5de;font-size:.75rem; }
.page-project-outcomes .portfolio-state { color:#ccd7e9;font-size:.78rem; }
.page-project-outcomes .portfolio-state--accepted { color:#b5f4d8; }
.page-project-outcomes .portfolio-chevron { color:#a8bfd8;text-align:right;font-size:1.2rem; }
.page-project-outcomes .portfolio-project[open] .portfolio-chevron { transform:rotate(45deg); }
.page-project-outcomes .portfolio-project-detail { padding:0 0 1rem;color:#d5e1f0;max-width:54rem;font-size:.85rem; }
.page-project-outcomes .portfolio-project-detail h4 { font-size:.78rem;color:#c7d9ed;margin:.5rem 0 .35rem; }
.page-project-outcomes .portfolio-project-detail p { margin:.35rem 0 .7rem;line-height:1.6; }
.page-project-outcomes .portfolio-project-detail a { color:#b8eedc; }
.page-project-outcomes .portfolio-project-detail .btn { margin-top:.5rem;color:#e9f3ff;background:rgba(235,245,255,.09);border-color:rgba(225,239,255,.23); }
.page-project-outcomes .portfolio-note,.page-project-outcomes .portfolio-empty,.page-project-outcomes .portfolio-footnote { color:#bdcce2;font-size:.78rem;line-height:1.6;margin:.9rem 0; }
.page-project-outcomes .portfolio-footnote { max-width:52rem;font-size:.72rem;opacity:.85; }
@media(max-width:640px) {
 .page-project-outcomes .portfolio-heading { margin:.2rem 0 1rem; }
 .page-project-outcomes .portfolio-heading h1 { font-size:2rem; }
 .page-project-outcomes .portfolio-heading > div > p:last-child { font-size:.86rem; }
 .page-project-outcomes .portfolio-summary { gap:.8rem;padding:1rem;grid-template-columns:.75fr 1.3fr 1fr;border-radius:20px; }
 .page-project-outcomes .portfolio-summary span { font-size:.67rem; }
 .page-project-outcomes .portfolio-summary strong { font-size:1.6rem; }
 .page-project-outcomes .portfolio-summary strong small { font-size:.8rem; }
 .page-project-outcomes .portfolio-filter { gap:.5rem;margin-bottom:1rem; }
 .page-project-outcomes .portfolio-attention,.page-project-outcomes .portfolio-projects { padding:1rem;border-radius:20px; }
 .page-project-outcomes .portfolio-attention li { grid-template-columns:1fr;gap:.35rem;padding:.7rem 0; }
 .page-project-outcomes .portfolio-project summary { grid-template-columns:minmax(0,1fr) 1rem;gap:.3rem .6rem;padding:.85rem 0; }
 .page-project-outcomes .portfolio-state { grid-column:1;grid-row:2;font-size:.73rem; }
 .page-project-outcomes .portfolio-chevron { grid-column:2;grid-row:1 / span 2; }
}

.page-project-outcomes .portfolio-highlights { display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:1.1rem;margin-bottom:1.2rem; }
.page-project-outcomes .portfolio-highlights .portfolio-attention { margin:0; }
.page-project-outcomes .portfolio-highlights .portfolio-attention li { grid-template-columns:1fr;gap:.25rem;padding:.65rem 0; }
.page-project-outcomes .portfolio-wins { padding:1.2rem 1.4rem; }
.page-project-outcomes .portfolio-wins h2 { color:#bdf6dc!important;font-size:1.1rem;margin:0 0 .8rem; }
.page-project-outcomes .portfolio-wins ul { list-style:none;margin:0;padding:0; }
.page-project-outcomes .portfolio-wins li + li { border-top:1px solid rgba(220,236,255,.14);padding-top:.85rem;margin-top:.85rem; }
.page-project-outcomes .portfolio-wins a { color:#d5faec;font-size:.95rem;font-weight:750;text-underline-offset:3px; }
.page-project-outcomes .portfolio-wins p { color:#d1e1ec;font-size:.86rem;line-height:1.65;margin:.55rem 0; }
.page-project-outcomes .portfolio-wins span { color:#aadbc7;font-size:.75rem; }
@media(max-width:640px) { .page-project-outcomes .portfolio-highlights { grid-template-columns:1fr;gap:.9rem; } .page-project-outcomes .portfolio-wins { padding:1rem; } }

.page-project-outcomes .portfolio-filter .btn { width:auto; flex:0 0 auto; min-width:76px; }
.page-project-outcomes .portfolio-filter select { width:auto; flex:1 1 0%; }

.page-project-outcomes .portfolio-summary strong.portfolio-value-unknown { font-size:1rem; letter-spacing:0; overflow-wrap:anywhere; }

@media(max-width:860px) { .page-project-outcomes .app-shell { grid-template-rows:auto minmax(0,1fr); align-content:start; } }

/* Current work status and business acceptance are distinct measures. */
.page-project-outcomes .portfolio-charts { display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.1rem;margin:0 0 1.2rem; }
.page-project-outcomes .portfolio-work,.page-project-outcomes .portfolio-acceptance { padding:1.15rem 1.35rem;min-width:0; }
.page-project-outcomes .portfolio-charts h2 { margin:0 0 .4rem;font-size:1.08rem;color:#f1f6ff; }
.page-project-outcomes .chart-caption { color:#b6c8df;font-size:.71rem;line-height:1.5;margin:.25rem 0 .8rem; }
.page-project-outcomes .work-chart + .work-chart { margin-top:1rem; }
.page-project-outcomes .work-chart-title { display:flex;justify-content:space-between;align-items:baseline;gap:.7rem;margin:.5rem 0 .4rem; }
.page-project-outcomes .work-chart-title h3 { margin:0;font-size:.82rem; }
.page-project-outcomes .work-chart-title > strong { font-size:.85rem;font-weight:750;color:#d7f4e7; }
.page-project-outcomes .work-chart-title small { font-size:.73rem;font-weight:400;color:#b7cce1; }
.page-project-outcomes .work-status-chart { width:100%;height:26px;display:block;border-radius:6px;overflow:hidden; }
.page-project-outcomes .chart-track { fill:rgba(222,237,255,.08); }
.page-project-outcomes .chart-status--completed { fill:#7cd5b0;background:#7cd5b0; }
.page-project-outcomes .chart-status--in-progress { fill:#7eacf5;background:#7eacf5; }
.page-project-outcomes .chart-status--pending { fill:#a69bd7;background:#a69bd7; }
.page-project-outcomes .chart-status--blocked { fill:#edb78c;background:#edb78c; }
.page-project-outcomes .chart-status--cancelled { fill:#77869b;background:#77869b; }
.page-project-outcomes .chart-legend { list-style:none;display:flex;flex-wrap:wrap;gap:.2rem .8rem;padding:0;margin:.45rem 0 0;color:#bfcfe2;font-size:.66rem; }
.page-project-outcomes .chart-legend li { display:flex;gap:.3rem;align-items:center; }
.page-project-outcomes .chart-legend i,.page-project-outcomes .acceptance-legend i { width:7px;height:7px;flex:none;border-radius:2px; }
.page-project-outcomes .chart-legend strong { color:#f0f5ff;font-size:.7rem; }
.page-project-outcomes .acceptance-chart { display:grid;grid-template-columns:minmax(90px,130px) minmax(0,1fr);gap:.8rem;align-items:center;min-width:0;margin-top:1rem; }
.page-project-outcomes .acceptance-chart svg { width:100%;overflow:visible; }
.page-project-outcomes .acceptance-track { fill:none;stroke:rgba(222,237,255,.09);stroke-width:11; }
.page-project-outcomes .acceptance-segment { fill:none;stroke-width:11;transform:rotate(-90deg);transform-origin:60px 60px; }
.page-project-outcomes .acceptance-segment--accepted { stroke:#7cd5b0; }
.page-project-outcomes .acceptance-segment--corrections-requested { stroke:#edb78c; }
.page-project-outcomes .acceptance-segment--unconfirmed { stroke:#77869b; }
.page-project-outcomes .acceptance-value { fill:#eef9ff;text-anchor:middle;font:800 26px system-ui; }
.page-project-outcomes .acceptance-unit { fill:#b5c9df;text-anchor:middle;font:9px system-ui; }
.page-project-outcomes .acceptance-legend { padding:0;margin:0;list-style:none;display:grid;gap:.55rem;font-size:.72rem;color:#c9d8e9; }
.page-project-outcomes .acceptance-legend li { display:flex;gap:.4rem;align-items:center; }
.page-project-outcomes .acceptance-legend strong { color:#f4f8ff;margin-left:auto; }
.page-project-outcomes .acceptance-key--accepted { background:#7cd5b0; }
.page-project-outcomes .acceptance-key--corrections-requested { background:#edb78c; }
.page-project-outcomes .acceptance-key--unconfirmed { background:#77869b; }
.page-project-outcomes .portfolio-highlights--issues-only { grid-template-columns:1fr; }
.page-project-outcomes .project-work-summary { display:block;font-size:.7rem;color:#adc4df;margin-top:.3rem;line-height:1.5; }
.page-project-outcomes .project-work-detail { max-width:45rem;margin:0 0 1rem; }
.page-projects #project-acceptance { scroll-margin-top:1.5rem; }
@media(max-width:1000px) { .page-project-outcomes .portfolio-charts { grid-template-columns:1fr; } .page-project-outcomes .acceptance-chart { max-width:29rem;margin-top:.7rem; } }
@media(max-width:640px) { .page-project-outcomes .portfolio-work,.page-project-outcomes .portfolio-acceptance { padding:1rem;border-radius:20px; } .page-project-outcomes .work-chart-title { gap:.4rem; } .page-project-outcomes .work-chart-title > strong { font-size:.78rem; } .page-project-outcomes .chart-legend { gap:.25rem .7rem; } .page-project-outcomes .acceptance-chart { grid-template-columns:100px minmax(0,1fr); } }

/* Project management uses the same continuous glass environment as Reporting. */
body.page-project-details,body.page-projects {
  color:#F2F5FF;
  min-height:100vh;height:auto;background-color:#11162e;
  background:
    radial-gradient(ellipse 630px 430px at 79% 46%, transparent 63%, rgba(83,232,207,.23) 63.5%, rgba(102,247,222,.42) 64%, rgba(62,173,163,.10) 65.5%, transparent 68%),
    radial-gradient(ellipse 710px 470px at 14% 78%, transparent 64%, rgba(160,137,255,.30) 64.5%, rgba(164,133,255,.12) 66%, transparent 69%),
    radial-gradient(ellipse 450px 330px at 90% 28%, rgba(46,167,153,.28), transparent 74%),
    radial-gradient(ellipse 660px 570px at 4% 7%, rgba(125,92,229,.38), transparent 76%),
    linear-gradient(135deg,#11162e,#172337 65%,#102b34);
  background-attachment:scroll;
}
.page-project-details .app-shell,.page-projects .app-shell,.page-project-details .main,.page-projects .main { background:transparent!important; }
.page-project-details .sidebar,.page-projects .sidebar {
  color:#f2f4ff;
  background:linear-gradient(145deg,rgba(135,111,228,.12),rgba(10,16,34,.48) 60%,rgba(78,211,186,.06));
  border-right:1px solid rgba(222,230,255,.18);
  box-shadow:18px 0 40px rgba(0,4,18,.26),inset -1px 0 rgba(222,230,255,.18);
  -webkit-backdrop-filter:blur(16px) saturate(135%);backdrop-filter:blur(16px) saturate(135%);
}
.page-project-details .brand-text,.page-projects .brand-text,.page-project-details .identity-text strong,.page-projects .identity-text strong,
.page-project-details .nav-link,.page-projects .nav-link { color:#e4eafa; }
.page-project-details .nav-link.is-active,.page-projects .nav-link.is-active { color:#fff;background:rgba(150,132,255,.18); }
.page-project-details .page-title,.page-project-details .page-sub,.page-project-details h2,.page-project-details .eyebrow,
.page-projects .page-title,.page-projects .page-sub,.page-projects h2,.page-projects .eyebrow { color:#f1f6ff; }
.page-project-details .page-sub,.page-projects .page-sub { color:#bccce2; }
.page-project-details .crumb,.page-projects .crumb { color:#b8f6df; }
.page-project-details .crumb:hover,.page-projects .crumb:hover { color:#e1fff4; }
.page-project-details .panel,.page-project-details .project-outcome-capture,.page-project-details .project-decision-panel,.page-project-details .project-decision-history,
.page-projects .project-card,.page-projects .empty-state {
  position:relative;isolation:isolate;overflow:hidden;
  border:1px solid rgba(218,235,255,.22);border-radius:20px;
  background:linear-gradient(118deg,rgba(238,242,255,.09),rgba(16,24,44,.12) 44%,rgba(160,244,224,.045));
  box-shadow:10px 20px 40px rgba(0,4,20,.28),inset 0 -1px 0 rgba(229,244,255,.1);
  -webkit-backdrop-filter:blur(9px) saturate(130%);backdrop-filter:blur(9px) saturate(130%);
}
.page-project-details .panel::before,.page-projects .project-card::before,.page-projects .empty-state::before {
  content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;
  background:linear-gradient(122deg,rgba(255,255,255,.10),transparent 21%,transparent 76%,rgba(173,250,232,.045));
}
.page-project-details .project-outcome-capture { padding:1rem 1.1rem;margin:1rem 0;border-color:rgba(130,223,208,.25); }
.page-project-details .project-outcome-capture h2,.page-project-details .project-decision-panel h2 { color:#f3f7ff; }
.page-project-details .project-outcome-capture p,.page-project-details .project-decision-panel p,.page-project-details .project-decision-history,
.page-project-details .project-decision-history p,.page-project-details .project-decision-history blockquote { color:#cfdaec; }
.page-project-details .project-decision-panel,.page-project-details .project-decision-history { padding:1.1rem 1.25rem; }
.page-project-details .project-decision-history li { padding:.75rem 0;border-bottom:1px solid rgba(225,236,255,.13); }
.page-project-details .project-decision-history li:last-child { border-bottom:0; }
.page-project-details .project-decision-history blockquote { padding:.65rem .8rem;margin:.5rem 0;border-left:2px solid rgba(142,226,209,.55);background:rgba(255,255,255,.045); }
.page-project-details .project-decision-panel .field label,.page-project-details .project-outcome-capture .field label { color:#f0f4ff; }
.page-project-details .project-decision-panel .field small,.page-project-details .project-outcome-capture .field small { color:#b9c9df; }
.page-project-details .field label { color:#f0f4ff; }
.page-project-details .field small { color:#b9c9df; }
.page-project-details input[type="text"],.page-project-details input[type="date"],.page-project-details select,.page-project-details textarea {
  color:#f3f6ff;background:rgba(9,16,33,.58);border:1px solid rgba(211,228,255,.27);border-radius:10px;
}
.page-project-details input[type="date"] { color-scheme:dark; }
.page-project-details input::placeholder,.page-project-details textarea::placeholder { color:#9baecc; }
.page-project-details select option { color:#f3f6ff;background:#172337; }
.page-project-details input:focus,.page-project-details select:focus,.page-project-details textarea:focus { border-color:#92ead4;box-shadow:0 0 0 3px rgba(109,222,195,.16);outline:none; }
.page-project-details input:disabled,.page-project-details select:disabled,.page-project-details textarea:disabled,.page-project-details button:disabled { opacity:.56; }
.page-project-details .btn--secondary,.page-projects .btn--secondary { color:#edf5ff;border-color:rgba(222,235,255,.25);background:rgba(255,255,255,.08); }
.page-project-details .btn--ghost,.page-projects .btn--ghost { color:#dbe6f6; }
.page-projects .project-card { color:#eff4ff; }
.page-projects .empty-state p,.page-project-details .empty-state p { color:#cfdaec; }
.page-projects .empty-state h2,.page-project-details .empty-state h2 { color:#f1f6ff; }
.page-projects .project-card h2,.page-projects .project-title-zone a { color:#f3f6ff; }
.page-projects .project-meta-label,.page-projects .project-creator,.page-projects .project-card p { color:#c0cde0; }
.page-projects .project-count-value,.page-projects .project-count-value strong,.page-projects .project-card strong { color:#f3f6ff; }
.page-projects .project-card .btn--primary { color:#fff; }
.page-project-details .notice--warning { color:#ffe2bd;background:rgba(236,157,90,.12);border-color:rgba(255,201,139,.28); }
@media(max-width:860px) {
  body.page-project-details,body.page-projects { height:auto;min-height:100vh;background-attachment:scroll; }
  .page-project-details .app-shell,.page-projects .app-shell { grid-template-rows:auto auto;align-content:start;min-height:100vh;height:auto; }
  .page-project-details .main,.page-projects .main { min-height:calc(100vh - 58px);height:auto; }
  .page-project-details .mobile-nav,.page-projects .mobile-nav { color:#f1f6ff;background:rgba(10,16,34,.82);border-bottom-color:rgba(222,230,255,.18);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px); }
  .page-project-details .mobile-nav-links,.page-projects .mobile-nav-links { background:rgba(10,16,34,.92);border-top-color:rgba(222,230,255,.18); }
  .page-project-details .mobile-nav summary,.page-projects .mobile-nav summary { color:#f1f6ff; }
}
@media(max-width:640px) { .page-project-details .panel,.page-project-details .project-decision-panel,.page-project-details .project-decision-history { padding:1rem; } }
