/*!*************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[2]!./node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[10].use[3]!./app/globals.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************/
:root {
  --background: #f8faf9;
  --foreground: #102a24;
  --muted: #5d6d68;
  --surface: #ffffff;
  --border: #dbe5e1;
  --primary: #0b5d45;
  --primary-strong: #064b38;
  --primary-soft: #e7f2ed;
}

* {
  box-sizing: border-box;
}

html,
body {
  min-height: 100%;
}

body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

.landing-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 2rem;
  background: linear-gradient(135deg, #f8faf9 0%, #edf5f0 100%);
}

.landing-card {
  width: min(100%, 44rem);
  padding: clamp(2rem, 7vw, 5rem);
  border: 1px solid var(--border);
  border-radius: 1.5rem;
  background: var(--surface);
  box-shadow: 0 1.5rem 4rem rgb(16 42 36 / 10%);
}

.brand-mark {
  margin: 0 0 2rem;
  color: var(--primary);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.landing-card h1 {
  margin: 0;
  color: var(--foreground);
  font-size: clamp(2.5rem, 8vw, 5rem);
  line-height: 1;
  letter-spacing: -0.05em;
}

.landing-copy {
  max-width: 32rem;
  margin: 1.5rem 0 2.5rem;
  color: var(--muted);
  font-size: 1.125rem;
  line-height: 1.7;
}

.primary-action {
  display: inline-flex;
  align-items: center;
  min-height: 3rem;
  padding: 0.75rem 1.25rem;
  border-radius: 0.75rem;
  background: var(--primary);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 700;
  transition: background 160ms ease, transform 160ms ease;
}

.primary-action:hover {
  background: var(--primary-strong);
  transform: translateY(-1px);
}

.primary-action:focus-visible {
  outline: 3px solid rgb(11 93 69 / 30%);
  outline-offset: 3px;
}

.control-tower-layout {
  display: flex;
  min-height: 100vh;
  background: #f6f8f7;
}

.app-sidebar {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  display: flex;
  width: 16.75rem;
  min-height: 100vh;
  flex-direction: column;
  flex-shrink: 0;
  padding: 1.5rem 1rem;
  border-right: 1px solid #dce7e2;
  background: #f9fbfa;
}

.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.35rem 0.75rem 1.75rem;
  border-bottom: 1px solid #e5ece9;
}

.brand-symbol {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  place-items: center;
  border-radius: 0.75rem;
  background: #0e6c50;
  color: #fff;
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: -0.05em;
  box-shadow: 0 0.5rem 1rem rgb(10 93 69 / 16%);
}

.sidebar-kicker,
.sidebar-section-label,
.panel-kicker {
  display: block;
  color: #8a9a94;
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.sidebar-brand strong {
  display: block;
  margin-top: 0.15rem;
  color: #183c31;
  font-size: 0.95rem;
  letter-spacing: -0.02em;
}

.sidebar-section-label {
  padding: 1.75rem 0.75rem 0.55rem;
  letter-spacing: 0.08em;
}

.sidebar-nav {
  display: grid;
  grid-gap: 0.25rem;
  gap: 0.25rem;
}

.sidebar-link {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 2.75rem;
  padding: 0 0.75rem;
  border-radius: 0.75rem;
  color: #6f817a;
  font-size: 0.84rem;
  font-weight: 650;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.sidebar-link:hover {
  background: #edf5f1;
  color: #0e6c50;
  transform: translateX(2px);
}

.sidebar-link.is-active {
  background: #e5f2ec;
  color: #07543e;
  box-shadow: inset 3px 0 #149267;
}

.sidebar-link svg {
  flex-shrink: 0;
}

.nav-count {
  margin-left: auto;
  display: grid;
  min-width: 1.45rem;
  height: 1.45rem;
  place-items: center;
  border-radius: 999px;
  background: #f1e2c9;
  color: #956523;
  font-size: 0.67rem;
}

.sidebar-bottom {
  margin-top: auto;
  padding-top: 1.25rem;
  border-top: 1px solid #e5ece9;
}

.sidebar-user {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  padding: 0.7rem;
  color: #526861;
}

.sidebar-user strong,
.sidebar-user span {
  display: block;
}

.sidebar-user strong {
  color: #254a3d;
  font-size: 0.78rem;
}

.sidebar-user span:not(.avatar) {
  margin-top: 0.2rem;
  color: #8a9a94;
  font-size: 0.68rem;
}

.avatar {
  display: grid;
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: #c6dfd3;
  color: #176446;
  font-size: 0.7rem;
  font-weight: 800;
}

.avatar.small {
  width: 1.8rem;
  height: 1.8rem;
}

.dashboard-main {
  min-width: 0;
  flex: 1 1;
}

.context-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 4.25rem;
  padding: 0.75rem clamp(1.5rem, 3vw, 3.5rem);
  border-bottom: 1px solid #dde8e3;
  background: rgb(255 255 255 / 78%);
}

.context-tenant,
.context-controls,
.context-control,
.header-actions,
.quiet-button,
.user-chip,
.status-banner,
.metric-foot,
.chart-legend,
.policy-meta,
.price-path-header,
.implicit-foot,
.dashboard-footer {
  display: flex;
  align-items: center;
}

.context-tenant {
  gap: 0.7rem;
}

.context-tenant-icon {
  display: grid;
  width: 2.1rem;
  height: 2.1rem;
  place-items: center;
  border: 1px solid #c8e0d5;
  border-radius: 0.65rem;
  background: #eef8f3;
  color: #0e7655;
}

.context-tenant small,
.context-tenant strong {
  display: block;
}

.context-tenant small {
  color: #96a49e;
  font-size: 0.63rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.context-tenant strong {
  margin-top: 0.16rem;
  color: #214b3d;
  font-size: 0.84rem;
}

.context-tenant-name {
  margin-left: 0.45rem;
  padding-left: 0.8rem;
  border-left: 1px solid #dce8e2;
  color: #8a9a94;
  font-size: 0.72rem;
}

.context-controls {
  gap: 0.4rem;
}

.context-control {
  position: relative;
  gap: 0.45rem;
  padding: 0.3rem 0.55rem;
  color: #8b9993;
  font-size: 0.67rem;
  font-weight: 700;
}

.context-control select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  min-width: 5.5rem;
  padding: 0.55rem 1.25rem 0.55rem 0.5rem;
  border: 1px solid #d9e7e0;
  border-radius: 0.55rem;
  outline: none;
  background: #fff;
  color: #315546;
  font: inherit;
  font-size: 0.74rem;
  cursor: pointer;
}

.context-control select:focus-visible {
  border-color: #4da683;
  box-shadow: 0 0 0 3px rgb(77 166 131 / 16%);
}

.context-control svg {
  position: absolute;
  right: 0.8rem;
  pointer-events: none;
}

.dashboard-content {
  width: min(100%, 95rem);
  margin: 0 auto;
  padding: clamp(1.5rem, 3vw, 3rem) clamp(1.5rem, 3vw, 3.5rem) 2rem;
}

.dashboard-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 1.4rem;
}

.eyebrow {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: #79a18f;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.eyebrow-dot {
  width: 0.42rem;
  height: 0.42rem;
  border-radius: 50%;
  background: #42ae7f;
  box-shadow: 0 0 0 4px #dff1e8;
}

.dashboard-header h1 {
  margin: 0.65rem 0 0.4rem;
  color: #153c30;
  font-size: clamp(2rem, 4vw, 3.1rem);
  letter-spacing: -0.065em;
  line-height: 1;
}

.dashboard-header p {
  margin: 0;
  color: #80918a;
  font-size: 0.83rem;
}

.header-actions {
  gap: 0.6rem;
  padding-top: 0.45rem;
}

.icon-button,
.panel-menu,
.user-chip {
  display: inline-grid;
  position: relative;
  place-items: center;
  border: 1px solid #dce8e2;
  background: #fff;
  color: #7d9088;
  cursor: pointer;
}

.icon-button {
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 0.7rem;
}

.quiet-button {
  gap: 0.45rem;
  min-height: 2.35rem;
  padding: 0 0.85rem;
  border: 1px solid #d8e6de;
  border-radius: 0.7rem;
  background: #fff;
  color: #426558;
  font: inherit;
  font-size: 0.75rem;
  font-weight: 750;
  cursor: pointer;
}

.user-chip {
  gap: 0.4rem;
  padding: 0.25rem 0.45rem 0.25rem 0.25rem;
  border-radius: 999px;
}

.notification-dot {
  position: absolute;
  top: 0.42rem;
  right: 0.42rem;
  width: 0.34rem;
  height: 0.34rem;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #d8874e;
}

.status-banner {
  gap: 0.75rem;
  min-height: 3.35rem;
  margin-bottom: 1.1rem;
  padding: 0.65rem 0.9rem;
  border: 1px solid #cfe8dc;
  border-radius: 0.8rem;
  background: #eff9f3;
  color: #2c6a51;
  font-size: 0.77rem;
}

.status-banner-icon {
  display: grid;
  width: 1.75rem;
  height: 1.75rem;
  place-items: center;
  border-radius: 50%;
  background: #d3f0df;
  color: #239062;
}

.status-banner strong,
.status-banner span {
  display: block;
}

.status-banner strong {
  color: #21674c;
  font-size: 0.79rem;
}

.status-banner span:not(.status-banner-period) {
  margin-top: 0.12rem;
  color: #76a18e;
  font-size: 0.69rem;
}

.status-banner-period {
  margin-left: auto;
  color: #76a18e;
  font-size: 0.68rem;
}

.metric-grid,
.dashboard-grid {
  display: grid;
  grid-gap: 1rem;
  gap: 1rem;
}

.metric-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 1rem;
}

.metric-card,
.panel {
  border: 1px solid #dfeae4;
  background: #fff;
  box-shadow: 0 0.6rem 1.8rem rgb(34 79 61 / 4%);
}

.metric-card {
  position: relative;
  overflow: hidden;
  min-height: 8.6rem;
  padding: 1.1rem 1.15rem 0.9rem;
  border-radius: 0.85rem;
}

.metric-card::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  content: '';
  background: #5ab488;
}

.accent-blue::before { background: #61a5bc; }
.accent-amber::before { background: #d6a65b; }
.accent-purple::before { background: #a28ac7; }

.metric-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #81918a;
  font-size: 0.71rem;
  font-weight: 700;
}

.metric-icon {
  display: grid;
  width: 1.7rem;
  height: 1.7rem;
  place-items: center;
  border-radius: 0.5rem;
  font-size: 0.78rem;
  font-weight: 800;
}

.metric-icon.green { background: #e3f5eb; color: #3b9b70; }
.metric-icon.blue { background: #e5f2f7; color: #4b97af; }
.metric-icon.amber { background: #fbf0dc; color: #c0893d; }
.metric-icon.purple { background: #eee9f7; color: #8c76b8; }

.metric-value {
  display: block;
  margin-top: 0.75rem;
  color: #244b3e;
  font-size: 1.65rem;
  letter-spacing: -0.055em;
}

.metric-value small,
.policy-price,
.policy-unit,
.implicit-price small {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0;
}

.metric-foot {
  justify-content: space-between;
  margin-top: 0.58rem;
  color: #a0ada7;
  font-size: 0.65rem;
}

.trend {
  display: inline-flex;
  align-items: center;
  gap: 0.18rem;
  font-weight: 800;
}

.trend.positive { color: #3b9d70; }
.trend.attention { color: #b37e37; }
.metric-note { color: #779188; }

.two-columns { grid-template-columns: 1.2fr 0.8fr; margin-bottom: 1rem; }
.three-columns { grid-template-columns: 0.9fr 0.9fr 1.2fr; }

.panel {
  min-width: 0;
  padding: 1.2rem 1.25rem;
  border-radius: 0.85rem;
}

.panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.panel-kicker { color: #94a49d; font-size: 0.59rem; }

.panel h2 {
  margin: 0.35rem 0 0;
  color: #294f42;
  font-size: 0.95rem;
  letter-spacing: -0.02em;
}

.panel-menu {
  width: 2rem;
  height: 2rem;
  border: 0;
  border-radius: 0.5rem;
  background: transparent;
}

.panel-menu:hover,
.icon-button:hover,
.quiet-button:hover,
.user-chip:hover { border-color: #b9d8ca; color: #0e7655; }

.chart-summary {
  display: flex;
  align-items: baseline;
  gap: 0.25rem;
  margin-top: 1rem;
}

.chart-summary strong {
  color: #315b4c;
  font-size: 1.5rem;
  letter-spacing: -0.05em;
}

.chart-summary > span { color: #9aa7a1; font-size: 0.67rem; }
.chart-summary .summary-change { margin-left: 0.75rem; color: #4b9b75; font-weight: 750; }

.bar-chart {
  display: flex;
  position: relative;
  align-items: flex-end;
  gap: clamp(0.3rem, 1.2vw, 0.7rem);
  height: 11rem;
  margin-top: 0.9rem;
  padding: 0.5rem 0.25rem 0;
  border-bottom: 1px solid #e7efeb;
  background: repeating-linear-gradient(to bottom, transparent 0, transparent 3rem, #eef3f0 3.05rem, transparent 3.1rem);
}

.bar-column {
  display: flex;
  min-width: 0;
  height: 100%;
  flex: 1 1;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  gap: 0.45rem;
  color: #9aa7a1;
  font-size: 0.57rem;
}

.bar-value {
  width: 100%;
  max-width: 1.15rem;
  min-height: 0.4rem;
  border-radius: 0.28rem 0.28rem 0.05rem 0.05rem;
  background: linear-gradient(180deg, #77c29d, #42a978);
  opacity: 0.92;
}

.chart-line {
  position: absolute;
  right: 0.3rem;
  bottom: 4.2rem;
  left: 0.3rem;
  border-top: 1px dashed #c1d7cb;
  opacity: 0.8;
}

.chart-legend {
  gap: 1rem;
  margin-top: 0.8rem;
  color: #95a49d;
  font-size: 0.64rem;
}

.chart-legend a,
.panel-link { display: inline-flex; align-items: center; gap: 0.25rem; color: #43866b; font-weight: 750; }
.chart-legend a { margin-left: auto; }
.legend-swatch { display: inline-block; width: 0.45rem; height: 0.45rem; margin-right: 0.25rem; border-radius: 0.12rem; }
.legend-swatch.actual { background: #55b283; }
.legend-swatch.baseline { border: 1px dashed #9eb9ab; }

.status-pill,
.queue-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 0.62rem;
  font-weight: 800;
}

.status-pill { padding: 0.35rem 0.55rem; }
.status-pill.success { background: #e4f5eb; color: #3c926c; }
.queue-count { min-width: 1.75rem; height: 1.35rem; background: #f8ead4; color: #a8732f; }

.policy-hero {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-top: 1.25rem;
  padding: 1rem;
  border: 1px solid #f0e5d1;
  border-radius: 0.7rem;
  background: #fffaf2;
}

.policy-price { color: #9e6b2e; font-size: 2rem; letter-spacing: -0.06em; }
.policy-unit { color: #b28b56; }
.policy-revision { color: #aa8653; font-size: 0.68rem; font-weight: 800; }

.price-path { margin-top: 1.25rem; }
.price-path-header { justify-content: space-between; color: #8d9d96; font-size: 0.67rem; font-weight: 700; }
.price-points { display: flex; justify-content: space-between; margin-top: 0.8rem; }
.price-points div { display: grid; grid-gap: 0.25rem; gap: 0.25rem; }
.price-points strong { color: #5a6c64; font-size: 0.75rem; }
.price-points span { color: #abb7b1; font-size: 0.62rem; }
.price-path-line { display: flex; align-items: center; justify-content: space-between; margin: 0.5rem 0.3rem 0; border-top: 2px solid #e7dbc3; }
.price-path-line span { width: 0.52rem; height: 0.52rem; margin-top: -0.37rem; border: 2px solid #fffaf2; border-radius: 50%; background: #bd8b42; box-shadow: 0 0 0 1px #d6b47e; }
.policy-meta { gap: 0.9rem; margin-top: 1rem; color: #8d9f97; font-size: 0.64rem; }
.policy-meta span { display: inline-flex; align-items: center; gap: 0.3rem; }
.panel-link { margin-top: 1.1rem; font-size: 0.68rem; }

.queue-list,
.activity-list { display: grid; margin-top: 1rem; }
.queue-row { display: flex; align-items: center; gap: 0.65rem; min-height: 3.4rem; border-bottom: 1px solid #edf2ef; }
.queue-row:last-child { border-bottom: 0; }
.queue-row > div { min-width: 0; flex: 1 1; }
.queue-row strong,
.queue-row span,
.activity-row strong,
.activity-row span { display: block; }
.queue-row strong { overflow: hidden; color: #355a4c; font-size: 0.73rem; text-overflow: ellipsis; white-space: nowrap; }
.queue-row div span { margin-top: 0.22rem; color: #9aa8a1; font-size: 0.62rem; }
.queue-marker { width: 0.5rem; height: 0.5rem; border-radius: 50%; }
.queue-marker.amber { background: #d39a4c; }
.queue-marker.purple { background: #987ac1; }
.queue-marker.blue { background: #5a9db4; }

.sparkle-icon { color: #b68a4c; }
.implicit-price { margin-top: 1.25rem; }
.implicit-label { color: #8e9f98; font-size: 0.68rem; }
.implicit-price strong { display: block; margin-top: 0.38rem; color: #37634f; font-size: 1.8rem; letter-spacing: -0.06em; }
.implicit-price small { color: #88a097; }
.implicit-compare { display: block; margin-top: 0.35rem; color: #6f9a87; font-size: 0.67rem; font-weight: 750; }
.implicit-meter { position: relative; height: 0.5rem; margin-top: 1.2rem; border-radius: 999px; background: #edf0ed; }
.implicit-meter > div { height: 100%; border-radius: inherit; background: linear-gradient(90deg, #8ac6a5, #dbb36e); }
.meter-marker { position: absolute; top: -0.2rem; width: 0.9rem; height: 0.9rem; margin-left: -0.45rem; border: 3px solid #fff; border-radius: 50%; background: #b88743; box-shadow: 0 0 0 1px #c99b5f; }
.implicit-foot { justify-content: space-between; margin-top: 0.65rem; color: #9aa7a1; font-size: 0.63rem; }

.activity-row { display: flex; align-items: center; gap: 0.6rem; min-height: 3.45rem; border-bottom: 1px solid #edf2ef; }
.activity-row:last-child { border-bottom: 0; }
.activity-status { width: 0.48rem; height: 0.48rem; border-radius: 50%; }
.activity-status.success { background: #4eaf80; }
.activity-status.warning { background: #d59a4d; }
.activity-status.info { background: #589cb3; }
.activity-status.neutral { background: #a8b6b0; }
.activity-row > div:not(.activity-time) { min-width: 0; flex: 1 1; }
.activity-row strong { overflow: hidden; color: #3d6052; font-size: 0.7rem; text-overflow: ellipsis; white-space: nowrap; }
.activity-row div span { margin-top: 0.22rem; color: #9aa8a1; font-size: 0.6rem; }
.activity-time { text-align: right; }
.activity-time small { display: block; margin-top: 0.25rem; color: #aab5b0; font-size: 0.58rem; white-space: nowrap; }
.status-text { font-size: 0.61rem; font-weight: 800; }
.status-text.success { color: #4b9b72; }
.status-text.warning { color: #b27d37; }
.status-text.info { color: #5a93a7; }
.status-text.neutral { color: #899d94; }

.dashboard-footer {
  justify-content: space-between;
  gap: 1rem;
  margin-top: 1rem;
  color: #9ba9a3;
  font-size: 0.61rem;
}

.dashboard-footer a { color: #5a9279; font-weight: 700; }

.workbench-header { margin-bottom: 1.8rem; }
.workbench-stat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-gap: 1rem; gap: 1rem; margin-bottom: 1rem; }
.workbench-stat { min-height: 7.4rem; padding: 1.1rem 1.15rem; border: 1px solid #dfeae4; border-radius: 0.85rem; background: #fff; box-shadow: 0 0.6rem 1.8rem rgb(34 79 61 / 4%); }
.workbench-stat > span { display: block; color: #81918a; font-size: 0.7rem; font-weight: 700; }
.workbench-stat strong { display: block; margin-top: 0.8rem; color: #254d3f; font-size: 1.65rem; letter-spacing: -0.055em; }
.workbench-stat strong span { margin-left: 0.15rem; color: #96a69f; font-size: 0.68rem; letter-spacing: 0; }
.workbench-stat small { display: block; margin-top: 0.5rem; color: #9baaa3; font-size: 0.63rem; }
.workbench-stat .stat-positive { color: #4a9b72; font-weight: 750; }
.workbench-stat .stat-warning { color: #b07d37; font-weight: 750; }
.workbench-stat .stat-state { color: #4d9873; font-size: 1.18rem; letter-spacing: 0.04em; }
.workbench-panel { min-width: 0; padding: 1.25rem; border: 1px solid #dfeae4; border-radius: 0.85rem; background: #fff; box-shadow: 0 0.6rem 1.8rem rgb(34 79 61 / 4%); }
.workbench-panel + .workbench-panel { margin-top: 1rem; }
.workbench-panel h2 { margin: 0.35rem 0 0; color: #294f42; font-size: 0.98rem; letter-spacing: -0.02em; }
.workbench-panel p { color: #83948c; font-size: 0.75rem; line-height: 1.7; }
.workbench-panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.workbench-actions { display: flex; align-items: center; gap: 0.5rem; }
.outline-button,
.primary-small,
.text-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; min-height: 2.25rem; border-radius: 0.62rem; font: inherit; font-size: 0.7rem; font-weight: 800; cursor: pointer; }
.outline-button { padding: 0 0.75rem; border: 1px solid #d8e6de; background: #fff; color: #517365; }
.outline-button:hover { border-color: #9fcab4; color: #0e7655; }
.primary-small { padding: 0 0.8rem; border: 1px solid #0c7655; background: #0e7655; color: #fff; box-shadow: 0 0.4rem 0.8rem rgb(14 118 85 / 14%); }
.primary-small:hover { background: #07543e; }
.text-button { padding: 0; border: 0; background: transparent; color: #43866b; }
.quiet-label { display: inline-flex; align-items: center; gap: 0.3rem; color: #9aa8a1; font-size: 0.66rem; font-weight: 700; }
.muted-icon { color: #9aada3; }
.data-table-panel { margin-bottom: 1rem; }
.data-toolbar { display: flex; align-items: center; justify-content: space-between; margin-top: 1.2rem; padding: 0.65rem 0.1rem; border-top: 1px solid #edf2ef; color: #9aa8a1; font-size: 0.66rem; }
.responsive-table { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 43rem; }
th { padding: 0.7rem 0.75rem; color: #9aa8a1; font-size: 0.61rem; font-weight: 800; letter-spacing: 0.04em; text-align: left; }
td { padding: 0.85rem 0.75rem; border-top: 1px solid #edf2ef; color: #789087; font-size: 0.68rem; }
td strong, td span { display: block; }
td strong { color: #355a4c; font-size: 0.72rem; }
td td span, td > span { margin-top: 0.25rem; color: #a2aea8; font-size: 0.61rem; }
.numeric-cell { color: #476b5b; font-weight: 800; }
.quality-bar { width: 5rem; height: 0.35rem; margin-bottom: 0.28rem; overflow: hidden; border-radius: 99px; background: #edf1ef; }
.quality-bar span { height: 100%; border-radius: inherit; background: #6dbb92; }
td small { color: #9baaa3; font-size: 0.6rem; }
.table-status, .inline-status, .snapshot-chip { display: inline-flex; align-items: center; gap: 0.3rem; font-size: 0.64rem; font-weight: 800; white-space: nowrap; }
.table-status.success, .inline-status.success { color: #4b9b72; }
.table-status.warning { color: #b07d37; }
.table-status.info { color: #5794a7; }
.table-status.neutral { color: #8b9d95; }
.compact-panel { min-height: 12rem; }
.compact-panel > p { max-width: 29rem; margin-bottom: 1.1rem; }
.rule-list { display: grid; grid-gap: 0.65rem; gap: 0.65rem; color: #5a796a; font-size: 0.69rem; font-weight: 700; }
.rule-list span { display: flex; align-items: center; gap: 0.45rem; }
.rule-list span:first-child svg, .rule-list span:nth-child(2) svg { color: #55a77a; }
.rule-list span:last-child svg { color: #c58d44; }
.workflow-steps { display: flex; align-items: center; justify-content: space-between; margin-top: 2rem; color: #a3afa9; font-size: 0.67rem; font-weight: 800; }
.workflow-steps span { position: relative; padding-top: 1.2rem; }
.workflow-steps span::before { position: absolute; top: 0; left: 50%; width: 0.75rem; height: 0.75rem; transform: translateX(-50%); border: 2px solid #d9e6df; border-radius: 50%; background: #fff; content: ''; }
.workflow-steps span:not(:last-child)::after { position: absolute; top: 0.35rem; left: calc(50% + 0.55rem); width: clamp(1.7rem, 5vw, 4rem); border-top: 2px solid #e4ece7; content: ''; }
.workflow-steps .done { color: #4b9b72; }
.workflow-steps .done::before { border-color: #55ad81; background: #55ad81; box-shadow: inset 0 0 0 2px #fff; }
.workflow-steps .current { color: #b27f3c; }
.workflow-steps .current::before { border-color: #d29c53; background: #fff8eb; box-shadow: 0 0 0 3px #fbf0dc; }

.pricing-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; padding: 1.5rem; border-color: #ecdcbf; background: linear-gradient(120deg, #fff 0%, #fffaf2 100%); }
.pricing-hero h2 { font-size: 1.25rem; }
.pricing-hero p { margin-bottom: 0.85rem; }
.pricing-hero-value { color: #a67332; font-size: 2.5rem; font-weight: 800; letter-spacing: -0.07em; }
.pricing-hero-value small { color: #b08a56; font-size: 0.74rem; letter-spacing: 0; }
.pricing-hero-side { display: grid; justify-items: end; grid-gap: 0.7rem; gap: 0.7rem; }
.revision-label { color: #ad9168; font-size: 0.66rem; }
.pricing-hero-side .primary-small { margin-top: 0.5rem; background: #b5823e; border-color: #b5823e; }
.pricing-hero-side .primary-small:hover { background: #946727; }
.pricing-grid { margin-bottom: 1rem; }
.path-axis { display: flex; width: 2.3rem; height: 12rem; flex-direction: column; justify-content: space-between; color: #a7b2ad; font-size: 0.6rem; }
.pricing-path-chart { display: flex; gap: 0.55rem; margin-top: 1.25rem; }
.path-plot { position: relative; min-width: 0; flex: 1 1; height: 12rem; }
.path-grid { position: absolute; inset: 0 0 1.8rem; background: repeating-linear-gradient(to bottom, #edf2ef 0, #edf2ef 1px, transparent 1px, transparent 3.9rem); }
.path-plot svg { position: absolute; inset: 0 0 1.8rem; width: 100%; height: calc(100% - 1.8rem); overflow: visible; }
.path-labels { display: flex; position: absolute; right: 0; bottom: 0; left: 0; justify-content: space-between; color: #a2afa8; font-size: 0.61rem; line-height: 1.5; text-align: center; }
.path-labels strong { color: #a67332; font-size: 0.68rem; }
.formula-note { margin-top: 1rem; color: #a2afa8; font-size: 0.64rem; }
.detail-list { margin: 1rem 0 0; }
.detail-list > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.72rem 0; border-bottom: 1px solid #edf2ef; }
.detail-list > div:last-child { border-bottom: 0; }
.detail-list dt { color: #9aa8a1; font-size: 0.67rem; }
.detail-list dd { margin: 0; color: #4d6d5e; font-size: 0.68rem; font-weight: 750; text-align: right; }
.version-list { margin-top: 1rem; }
.version-row, .analysis-history, .case-list-row { display: flex; align-items: center; gap: 0.8rem; min-height: 4rem; padding: 0.6rem 0.1rem; border-top: 1px solid #edf2ef; color: #9aa8a1; }
.version-row > div, .analysis-history > span:first-child, .case-list-row > div { min-width: 0; flex: 1 1; }
.version-row strong, .version-row span, .analysis-history strong, .analysis-history small, .case-list-row strong, .case-list-row span { display: block; }
.version-row strong, .analysis-history strong, .case-list-row strong { color: #416454; font-size: 0.72rem; }
.version-row div span, .analysis-history small, .case-list-row div span { margin-top: 0.25rem; color: #a0ada7; font-size: 0.62rem; }
.version-tag { min-width: 3.1rem; color: #a6793d; font-size: 0.7rem; font-weight: 800; }
.version-row.active { padding-left: 0.5rem; border-left: 3px solid #c18a40; background: #fffdf8; }

.analysis-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; grid-gap: 1rem; gap: 1rem; margin-bottom: 1rem; background: linear-gradient(120deg, #fff 0%, #f9fbf7 100%); }
.analysis-hero-icon { display: grid; width: 3rem; height: 3rem; place-items: center; border-radius: 0.8rem; background: #f6eddd; color: #bd8740; }
.analysis-hero h2 { font-size: 1.15rem; }
.analysis-hero p { margin-bottom: 0; }
.analysis-result { min-width: 12rem; padding-left: 1.2rem; border-left: 1px solid #e8eee9; }
.analysis-result span { display: block; color: #96a59e; font-size: 0.64rem; }
.analysis-result strong { display: block; margin-top: 0.28rem; color: #9e6b2e; font-size: 1.7rem; letter-spacing: -0.05em; }
.analysis-result small { font-size: 0.65rem; letter-spacing: 0; }
.result-ratio { margin-top: 0.2rem; color: #6b9a80 !important; font-weight: 750; }
.snapshot-chip { padding: 0.35rem 0.5rem; border-radius: 999px; background: #e8f5ed; color: #4a9971; }
.formula-box { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; grid-gap: 0.6rem; gap: 0.6rem; margin-top: 1.3rem; padding: 1.15rem; border: 1px solid #e5eee9; border-radius: 0.75rem; background: #fbfdfb; }
.formula-box div { min-width: 0; }
.formula-box span, .comparison-value span { display: block; color: #94a39c; font-size: 0.64rem; }
.formula-box strong { display: block; margin-top: 0.3rem; color: #456b5b; font-size: 0.88rem; white-space: nowrap; }
.formula-box b { color: #b2beb7; font-size: 1rem; }
.formula-box .formula-answer strong { color: #a67332; }
.trace-list { display: grid; grid-gap: 0.6rem; gap: 0.6rem; margin-top: 1.15rem; color: #6d8d7d; font-size: 0.68rem; font-weight: 700; }
.trace-list span { display: flex; align-items: center; gap: 0.4rem; }
.trace-list svg { color: #6aae88; }
.comparison-value { display: flex; gap: 3rem; margin-top: 1.4rem; }
.comparison-value strong { display: block; margin-top: 0.35rem; color: #416957; font-size: 1.7rem; letter-spacing: -0.06em; }
.comparison-value div:last-child strong { color: #a87533; }
.comparison-meter { position: relative; height: 0.65rem; margin-top: 1.5rem; border-radius: 999px; background: #edf1ee; }
.comparison-meter div { height: 100%; border-radius: inherit; background: linear-gradient(90deg, #76bc96, #d7aa61); }
.comparison-meter span { position: absolute; top: -0.15rem; width: 0.95rem; height: 0.95rem; margin-left: -0.47rem; border: 3px solid #fff; border-radius: 50%; background: #b7823d; box-shadow: 0 0 0 1px #c99b5f; }
.comparison-panel p { margin-top: 1rem; }

.decision-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; }
.decision-toolbar h2 { font-size: 1.05rem; }
.decision-toolbar p { margin-bottom: 0; }
.decision-toolbar .workbench-actions { flex-shrink: 0; }
.decisions-grid { margin-bottom: 1rem; }
.case-description { margin-top: 1.25rem; }
.case-metrics { display: grid; grid-template-columns: repeat(3, 1fr); grid-gap: 0.7rem; gap: 0.7rem; margin-top: 1.3rem; }
.case-metrics div { padding: 0.8rem; border: 1px solid #edf2ef; border-radius: 0.6rem; }
.case-metrics span { display: block; color: #98a69f; font-size: 0.61rem; }
.case-metrics strong { display: block; margin-top: 0.35rem; color: #466b5b; font-size: 0.85rem; }
.scenario-list { margin-top: 1rem; }
.scenario-row { display: flex; align-items: center; gap: 0.7rem; min-height: 3.7rem; border-bottom: 1px solid #edf2ef; }
.scenario-row:last-child { border-bottom: 0; }
.scenario-row > div { min-width: 0; flex: 1 1; }
.scenario-row strong, .scenario-row span { display: block; }
.scenario-row strong { color: #466757; font-size: 0.7rem; }
.scenario-row div span { margin-top: 0.25rem; color: #a0ada7; font-size: 0.61rem; }
.scenario-radio { width: 0.75rem; height: 0.75rem; border: 2px solid #d9e5df; border-radius: 50%; }
.scenario-row.selected .scenario-radio { border-color: #b7823d; box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 5px #b7823d; }
.scenario-net { color: #a67332 !important; white-space: nowrap; }
.scenario-net.positive { color: #4f9b73 !important; }
.case-icon { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 0.5rem; font-weight: 800; }
.case-icon.amber { background: #fbf0dc; color: #ba843d; }
.case-icon.purple { background: #eee9f7; color: #8d77b5; }

.governance-grid { margin-bottom: 1rem; }
.approval-list { margin-top: 1rem; }
.approval-row { display: flex; align-items: center; gap: 0.65rem; min-height: 3.6rem; border-bottom: 1px solid #edf2ef; }
.approval-row:last-child { border-bottom: 0; }
.approval-row > div { min-width: 0; flex: 1 1; }
.approval-row strong, .approval-row span { display: block; }
.approval-row strong { color: #416454; font-size: 0.71rem; }
.approval-row div span { margin-top: 0.25rem; color: #a0ada7; font-size: 0.61rem; }
.priority-label { font-size: 0.61rem; font-weight: 800; white-space: nowrap; }
.priority-label.amber { color: #b17d37; }
.priority-label.purple { color: #8c76b5; }
.priority-label.blue { color: #5c96a9; }
.approval-button { margin-top: 1rem; }
.control-status-list { display: grid; grid-gap: 0.8rem; gap: 0.8rem; margin-top: 1.2rem; }
.control-status-list > div { display: flex; align-items: center; gap: 0.6rem; }
.control-status-list > div > span:nth-child(2) { min-width: 0; flex: 1 1; }
.control-status-list strong, .control-status-list small { display: block; }
.control-status-list strong { color: #4a6c5c; font-size: 0.68rem; }
.control-status-list small { margin-top: 0.22rem; color: #a0ada7; font-size: 0.6rem; }
.control-status-list > div > svg { color: #4e9b73; }
.control-status-icon { display: grid; width: 1.65rem; height: 1.65rem; place-items: center; border-radius: 50%; }
.control-status-icon.success { background: #e4f5eb; color: #4b9b72; }
.control-status-icon.warning { background: #fbf0dc; color: #b27e38; }
.audit-list { margin-top: 0.7rem; }
.audit-list > div { display: flex; align-items: center; gap: 0.8rem; min-height: 4rem; border-top: 1px solid #edf2ef; }
.audit-time { min-width: 5.6rem; color: #99a8a0; font-size: 0.61rem; }
.audit-dot { width: 0.55rem; height: 0.55rem; border-radius: 50%; }
.audit-dot.success { background: #53aa7b; }
.audit-dot.amber { background: #d49a4b; }
.audit-dot.blue { background: #5d9db2; }
.audit-list > div > div { min-width: 0; flex: 1 1; }
.audit-list strong, .audit-list small { display: block; }
.audit-list strong { color: #416454; font-size: 0.7rem; }
.audit-list small { margin-top: 0.25rem; color: #a0ada7; font-size: 0.61rem; }
.settings-placeholder { display: grid; justify-items: start; min-height: 14rem; padding: 2rem; color: #6aae88; }
.settings-placeholder h2 { margin-top: 1rem; }
.settings-placeholder p { max-width: 35rem; }

@media (max-width: 1080px) {
  .app-sidebar { width: 14rem; }
  .metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two-columns,
  .three-columns { grid-template-columns: 1fr; }
  .workbench-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  .control-tower-layout { display: block; }
  .app-sidebar { position: static; width: 100%; min-height: auto; padding: 0.8rem 1rem; }
  .sidebar-brand { padding-bottom: 0.8rem; }
  .sidebar-section-label,
  .sidebar-bottom { display: none; }
  .sidebar-nav { display: flex; overflow-x: auto; padding-top: 0.7rem; }
  .sidebar-link { flex: 0 0 auto; }
  .sidebar-link span:not(.nav-count) { display: none; }
  .context-bar { align-items: flex-start; flex-direction: column; gap: 0.7rem; padding: 0.85rem 1rem; }
  .context-controls { width: 100%; overflow-x: auto; }
  .context-control { flex: 1 0 auto; }
  .dashboard-content { padding: 1.25rem 1rem 1.5rem; }
  .dashboard-header { flex-direction: column; gap: 0.75rem; }
  .header-actions { padding-top: 0; }
  .status-banner-period { display: none; }
  .metric-grid { gap: 0.7rem; }
  .metric-card { min-height: 8rem; padding: 0.9rem; }
  .metric-value { font-size: 1.35rem; }
  .chart-legend { align-items: flex-start; flex-wrap: wrap; }
  .chart-legend a { width: 100%; margin-left: 0; }
  .dashboard-footer { align-items: flex-start; flex-direction: column; }
  .context-tenant-name { display: none; }
  .workbench-stat-grid { gap: 0.7rem; }
  .workbench-stat { min-height: 6.8rem; padding: 0.9rem; }
  .workbench-stat strong { font-size: 1.35rem; }
  .pricing-hero, .analysis-hero, .decision-toolbar { align-items: flex-start; flex-direction: column; }
  .pricing-hero-side { width: 100%; justify-items: start; }
  .analysis-hero { display: flex; }
  .analysis-result { width: 100%; padding: 1rem 0 0; border-top: 1px solid #e8eee9; border-left: 0; }
  .formula-box { grid-template-columns: 1fr; gap: 0.6rem; }
  .formula-box b { display: none; }
  .case-metrics { grid-template-columns: 1fr; }
  .workbench-actions { width: 100%; }
  .decision-toolbar .workbench-actions { width: 100%; }
  .audit-list > div { align-items: flex-start; flex-wrap: wrap; padding: 0.8rem 0; }
  .audit-list .table-status { margin-left: 6.4rem; }
}

