:root {
  --ink: #153630;
  --muted: #546a62;
  --paper: #f7f7f1;
  --line: #d9dfd4;
  --lime: #cced91;
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font:
    16px/1.55 -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;
}
h1,
h2,
h3,
p {
  margin: 0 0 0.75em;
}
h1,
h2 {
  font-family: Georgia, serif;
  font-weight: 400;
  line-height: 1.12;
  letter-spacing: -0.035em;
}
h1 {
  font-size: clamp(2.8rem, 6vw, 4.7rem);
}
h2 {
  font-size: 2rem;
}
h3 {
  font-size: 1.08rem;
}
a {
  color: inherit;
  text-underline-offset: 4px;
}
header {
  background: #102e29;
  color: white;
  padding: 16px max(5vw, 20px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.brand {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  font-weight: 700;
  font-size: 1.2rem;
  letter-spacing: -0.035em;
  text-decoration: none;
}
.mark {
  display: inline-grid;
  place-items: center;
  width: 34px;
  height: 34px;
  background: var(--lime);
  color: #102e29;
  border-radius: 9px;
  font: italic bold 28px/1 Georgia;
}
.eyebrow {
  font-size: 0.73rem;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-weight: 720;
  color: var(--muted);
  margin-bottom: 12px;
}
.identity {
  min-height: calc(100svh - 68px);
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
}
.intro {
  padding: clamp(36px, 8vw, 120px);
  background: #e4edda;
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  overflow: hidden;
}
.intro svg {
  width: clamp(160px, 24vw, 380px);
  height: auto;
  margin: 35px 0;
  color: #386851;
}
.intro p {
  max-width: 31em;
}
.formpane {
  align-self: center;
  width: min(100%, 520px);
  padding: 40px;
  margin: auto;
}
.formpane h2 {
  font-size: 2.6rem;
}
label {
  display: block;
  font-weight: 600;
  font-size: 0.87rem;
  margin: 0.65em 0 0.3em;
}
input,
textarea,
select {
  background: white;
  color: var(--ink);
  border: 1px solid #aebdb2;
  border-radius: 6px;
  padding: 0.7em 0.8em;
  max-width: 100%;
  font: inherit;
}
input:not([type="submit"]),
textarea {
  width: 100%;
}
textarea {
  min-height: 82px;
}
.btn,
button,
input[type="submit"] {
  display: inline-block;
  cursor: pointer;
  text-decoration: none;
  background: #174a3d;
  color: white;
  border: 1px solid transparent;
  border-radius: 6px;
  padding: 0.65em 1em;
  font-family: inherit;
  font-size: 0.92rem;
  font-weight: 650;
}
.sub,
header button {
  background: transparent;
  color: inherit;
  border: 1px solid #afbeb4;
}
.danger {
  color: #833e32;
}
.btn:hover,
button:hover {
  filter: brightness(0.93);
}
:focus-visible {
  outline: 3px solid #678843;
  outline-offset: 2px;
}
.wide {
  width: 100%;
  margin-top: 1.2em;
}
.layout {
  display: grid;
  grid-template-columns: 235px minmax(0, 1fr);
  max-width: 1500px;
  margin: auto;
}
.side {
  min-width: 0;
  padding: 34px 16px;
  border-right: 1px solid var(--line);
  min-height: calc(100vh - 66px);
}
.side a {
  display: block;
  border-radius: 6px;
  text-decoration: none;
  padding: 10px 12px;
  font-size: 0.91rem;
}
.side a.current {
  background: #dfead6;
  font-weight: 700;
}
.side select {
  width: 100%;
}
main.workspace {
  min-width: 0;
  overflow-wrap: anywhere;
  padding: clamp(20px, 4vw, 64px);
  max-width: 1120px;
  width: 100%;
}
.card,
details.panel {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 12px;
  padding: 20px;
  margin: 12px 0;
}
.metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 30px;
}
.metric {
  padding: 22px;
  background: #e0ecd4;
  border: 1px solid #ccdbc0;
  border-radius: 12px;
  text-decoration: none;
}
.metric:nth-child(2) {
  background: #ecede4;
}
.metric b {
  display: block;
  font: 3rem/1.1 Georgia;
}
.stack {
  margin: 18px 0;
}
.row {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.muted,
small {
  color: var(--muted);
}
.tag {
  font-size: 0.75rem;
  background: #e5eddc;
  color: #314b36;
  border-radius: 20px;
  padding: 4px 9px;
}
.message {
  background: #ecf0db;
  padding: 12px 18px;
  border-radius: 6px;
}
.data {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
.actions {
  margin-top: 15px;
}
.item {
  padding: 14px 0;
  border-top: 1px solid var(--line);
}
.item > a {
  display: block;
}
.panel summary {
  cursor: pointer;
  font-weight: 650;
}
.panel input,
.panel select {
  margin: 4px 0;
}
.empty {
  color: var(--muted);
  padding: 12px 0;
}
code {
  overflow-wrap: anywhere;
}
form p {
  margin: 0.6em 0;
}
ul.errorlist {
  color: #983f2d;
  padding-left: 1.2em;
}
.topform {
  margin: 0;
}
.shield {
  font-size: 0.8rem;
  color: #c2d2c5;
}
dt {
  font-size: 0.78rem;
  color: var(--muted);
  font-weight: 700;
  margin-top: 6px;
}
dd {
  margin: 0;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
hr {
  border: 0;
  border-top: 1px solid var(--line);
  margin: 24px 0;
}
.fields {
  display: grid;
  grid-template-columns: 1fr 90px 1.3fr;
  gap: 6px;
}
.art {
  display: block;
}
.authfoot {
  font-size: 0.82rem;
  margin-top: 24px;
}
@media (max-width: 780px) {
  .identity,
  .layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .intro {
    padding: 28px;
  }
  .intro svg {
    display: none;
  }
  .intro h1 {
    font-size: 2.7rem;
  }
  .formpane {
    padding: 32px 24px;
  }
  .side {
    min-height: 0;
    padding: 12px 18px;
    border-bottom: 1px solid var(--line);
  }
  .side nav {
    display: flex;
    overflow-x: auto;
  }
  .side nav a {
    white-space: nowrap;
  }
  .side .eyebrow {
    display: none;
  }
  .side form {
    margin-bottom: 7px;
  }
  .identity {
    min-height: 0;
  }
  .metric {
    padding: 14px;
  }
  .fields {
    grid-template-columns: 1fr;
  }
  .shield {
    display: none;
  }
}

/* The portal puts decisions ahead of the chronological record. */
.layout {background:#fafbf8;max-width:100%;grid-template-columns:260px minmax(0,1fr)}
.side {background:#edf1eb;padding:32px 18px}
.side form {margin-bottom:24px}
.side nav a {display:flex;align-items:center;min-height:44px;margin:2px 0}
.side nav a.current {background:#d5e4d6;color:#123f32}
.side nav a:hover {background:#e0e9df}
.section-picker {display:none}
main.workspace {max-width:1140px;padding:clamp(24px,4vw,68px)}
.workspace h1 {font:600 clamp(2rem,4vw,3.35rem)/1.08 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.035em;margin-bottom:32px}
.workspace h2 {font:630 1.35rem/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;letter-spacing:-.022em;margin:28px 0 12px}
.workspace .card,.workspace details.panel {padding:clamp(16px,2vw,26px)}
.section-head,.inbox-row {display:flex;align-items:center;justify-content:space-between;gap:16px}
.section-head {flex-wrap:wrap;margin:0 0 12px}
.section-head h2 {margin:0}
.section-head>a,.section-head>span,.inbox-row span>span {font-size:.88rem;color:var(--muted)}
.inbox {margin-bottom:40px}
.inbox-row {padding:20px 22px;background:white;border:1px solid var(--line);border-radius:12px;text-decoration:none;margin:8px 0}
.inbox-row:hover {background:#f0f6ec;border-color:#94ac98}
.inbox-row strong,.inbox-row small,.activity-row small {display:block}
.inbox-row strong {font-size:1.12rem;margin:3px 0}
.inbox-row b {flex:none;white-space:nowrap;font-size:.92rem;color:#24543f}
.activity-row {display:grid;grid-template-columns:6.5rem minmax(0,1fr);align-items:start;gap:12px;border-top:1px solid var(--line);padding:14px 0}
.activity-row time {font-variant-numeric:tabular-nums}
.activity-row strong,.activity-row a {font-weight:600}
.workspace article dl {background:#f4f6f1;border-radius:8px;padding:16px 20px}
.workspace article dd {max-width:70ch}
.workspace article dt:not(:first-child) {margin-top:14px}
.workspace button,.workspace summary {min-height:44px}
.workspace summary {align-content:center}
@media(max-width:780px){
.layout {grid-template-columns:minmax(0,1fr)}
.side {display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px 18px}
.side nav {display:none}
.side form,.side label {margin:0}
.section-picker {display:block}
.side select {display:block;font-size:16px;margin-top:4px}
.workspace .section-head {align-items:baseline}
.activity-row {grid-template-columns:5.25rem minmax(0,1fr)}
}

/* Use the junction motif from sign-in to mark the human decision point. */
.layout {background:#f3f5ee}
.side {background:#153a32;color:#eef5e8;border-color:#2b5245}
.side label {color:#d6e3d3}
.side select {background:#244a3e;color:#fff;border-color:#63806c}
.side nav {margin-top:28px}
.side nav a {gap:13px;font-weight:550;border-radius:9px;margin-block:4px;padding:12px}
.side nav a.current {background:#ceeb9c;color:#14382e}
.side nav a:hover:not(.current) {background:#284c40}
.side nav .hub-symbol {flex:none}
.workspace-title {display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:24px}
.workspace-title h1 {margin:0}
.workspace-title>span {color:var(--muted);font-weight:600;font-size:.92rem}
.inbox {overflow:hidden;border-radius:18px;border:1px solid #ccd6c8;background:white;margin-bottom:30px}
.decision-cover {position:relative;isolation:isolate;overflow:hidden;padding:32px;background:#214c40;color:white}
.decision-cover h2 {margin:0 0 10px;font:normal clamp(1.85rem,3vw,2.75rem)/1.06 Georgia,serif;color:#fff}
.decision-cover p {margin:0;color:#e1ecd9}
.decision-cover p strong {color:#d5efa5}
.decision-cover p span {padding:0 5px}
.routing-art {position:absolute;right:0;top:50%;transform:translateY(-50%);height:110%;width:38%;z-index:-1}
.inbox-row {border:0;border-radius:0;border-bottom:1px solid var(--line);margin:0;padding:24px 32px}
.inbox-row:last-child {border:0}
.inbox-row b {background:#cee89e;border-radius:8px;padding:9px 14px;color:#173b2c}
.inbox .empty,.inbox>a:not(.inbox-row){display:block;padding:16px 24px;margin:0}
.dashboard-lower {display:grid;grid-template-columns:minmax(0,1fr) minmax(190px,.52fr);gap:24px;align-items:start}
.dashboard-lower>section,.service-book {padding:22px;border-radius:15px;border:1px solid var(--line);background:#fff}
.service-book {background:#e5ecd9}
.service-book h2 {margin:0 0 18px}
.service-book a {display:flex;align-items:center;gap:12px;text-decoration:none;padding:12px 0;border-top:1px solid #bdccb5}
.service-book a:hover strong,.all-services:hover {text-decoration:underline}
.service-book small {display:block}
.service-monogram {display:grid;place-items:center;background:#cee0bc;width:40px;height:40px;border-radius:11px;font:600 20px Georgia,serif}
.service-book .all-services {font-size:.9rem;font-weight:650}
@media(max-width:1050px){.dashboard-lower{grid-template-columns:minmax(0,1fr)}}
@media(max-width:780px){.side nav{margin:0}.decision-cover,.inbox-row{padding:20px}.routing-art{width:23%;right:-3%}.workspace-title{margin-bottom:18px}.dashboard-lower>section,.service-book{padding:16px}.inbox-row{gap:10px}.inbox-row b{padding:8px}.workspace-title>span{font-size:.83rem}}

.management-links {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 30px}
.management-links a {display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--line);border-radius:12px;background:white;text-decoration:none}
.management-links a:hover {background:#edf4e5;border-color:#94ac98}
.management-links svg {flex:none;margin-top:3px}
.management-links strong,.management-links small {display:block}
.management-links small {margin-top:4px;line-height:1.4}
@media(max-width:1050px){.management-links{grid-template-columns:1fr}.management-links a{padding:14px 18px}}

.mobile-menu {display:none}
@media(max-width:780px){
  .layout>.side,.mobile-menu~.topform {display:none}
  .mobile-menu {display:block}
  header:has(.mobile-menu) {position:relative;z-index:2}
  .mobile-menu summary {list-style:none;display:grid;place-items:center;width:44px;height:44px;border-radius:8px;cursor:pointer}
  .mobile-menu summary::-webkit-details-marker {display:none}
  .mobile-menu[open] summary {background:#284c40}
  .mobile-sheet {position:absolute;right:0;left:0;top:100%;background:#153a32;padding:12px 20px 20px;max-height:75dvh;overflow:auto;box-shadow:0 10px 20px #102e292b}
  .mobile-sheet nav a {display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 12px;color:#fff;text-decoration:none;border-radius:8px}
  .mobile-sheet nav a.current {background:#ceeb9c;color:#14382e}
  .mobile-sheet form {margin:8px 0}
  .mobile-sheet label {color:#eef5e8}
}

.workspace fieldset {margin:16px 0;padding:14px 18px;border:1px solid var(--line);border-radius:8px}
.workspace fieldset input[type=checkbox] {width:auto;accent-color:#174a3d}
