/* rsm_machine.css — app styles aligned with landing page palette */

/* ── Design tokens ────────────────────────────────────────────── */
:root {
  --doe-brand:       #1a6b3a;
  --doe-brand-mid:   #2d8a50;
  --doe-brand-light: #e8f4ed;
  --doe-border:      #d8e4db;
  --doe-text:        #0f1a12;
  --doe-muted:       #6b7c6f;
  --doe-body:        #4a5c4e;
  --doe-amber:       #b87333;
  --doe-code-bg:     #f0f5f1;
  --doe-surface:     #f4faf6;
}

/* ── Global typography ────────────────────────────────────────── */
body {
  font-family: 'Inter', system-ui, -apple-system, sans-serif;
  color: var(--doe-body);
  background: #fff;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--doe-text);
  font-weight: 700;
}

.card {
  border-color: var(--doe-border);
  border-radius: 8px;
}

.card-header {
  background-color: var(--doe-surface);
  border-bottom-color: var(--doe-border);
  font-weight: 600;
  color: var(--doe-text);
}

.table {
  --bs-table-border-color: var(--doe-border);
  font-size: .9rem;
  color: var(--doe-body);
}

.table th {
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--doe-muted);
  background: var(--doe-surface);
  border-color: var(--doe-border);
}

.table td {
  border-color: var(--doe-border);
  vertical-align: middle;
}

.btn-primary {
  background-color: var(--doe-brand);
  border-color: var(--doe-brand);
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--doe-brand-mid);
  border-color: var(--doe-brand-mid);
}

.btn-outline-primary {
  color: var(--doe-brand);
  border-color: var(--doe-brand);
}
.btn-outline-primary:hover {
  background-color: var(--doe-brand);
  border-color: var(--doe-brand);
}

.form-control:focus, .form-select:focus {
  border-color: var(--doe-brand-mid);
  box-shadow: 0 0 0 .2rem rgba(26,107,58,.15);
}

.alert-info {
  background-color: var(--doe-surface);
  border-color: var(--doe-border);
  color: var(--doe-body);
}

/* ── Navigation bar ───────────────────────────────────────────── */
.doe-navbar {
  background-color: #ffffff;
  padding: .6rem 1.25rem;
  border-bottom: 1px solid var(--doe-border);
}
.doe-navbar .navbar-brand {
  font-family: 'Inter', sans-serif;
  font-weight: 600;
  font-size: 1rem;
  color: var(--doe-brand) !important;
  letter-spacing: -.01em;
}
.doe-navbar .nav-link {
  font-family: 'Inter', sans-serif;
  font-size: .875rem;
  font-weight: 500;
  color: var(--doe-muted) !important;
}
.doe-navbar .nav-link:hover   { color: var(--doe-brand) !important; }
.doe-navbar .navbar-text      { color: var(--doe-muted) !important; font-size: .875rem; }
.doe-navbar .navbar-toggler   { border-color: var(--doe-border); }
.doe-navbar .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2826,107,58,0.8%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* Home icon in navbar */
.navbar-home-icon {
  display: flex;
  align-items: center;
  padding: .1rem 0;
  margin-right: 1rem;
  text-decoration: none;
  transition: opacity .15s;
}
.navbar-home-icon img { display: block; }
.navbar-home-icon:hover { opacity: .75; }

/* Consultant badge */
.doe-badge-consultant {
  display: inline-block;
  font-size: .65rem;
  font-weight: 600;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--doe-amber);
  border: 1px solid rgba(184,115,51,.45);
  border-radius: 99px;
  padding: .1rem .5rem;
  vertical-align: middle;
}

/* Sign out button */
.doe-signout-btn {
  font-size: .8rem;
  font-weight: 500;
  color: var(--doe-muted);
  border: 1px solid var(--doe-border);
  background: transparent;
  border-radius: 5px;
  padding: .25rem .75rem;
  cursor: pointer;
  transition: border-color .15s, color .15s;
}
.doe-signout-btn:hover {
  color: var(--doe-brand);
  border-color: var(--doe-brand);
}

/* ── Run list table head ──────────────────────────────────────── */
.doe-table-head th {
  background-color: var(--doe-brand);
  color: rgba(255,255,255,.95);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-transform: uppercase;
  border-color: var(--doe-brand-mid);
}

/* ── Factor table ─────────────────────────────────────────────── */
.factor-table th {
  background-color: var(--doe-brand);
  color: #fff;
  border-color: var(--doe-brand-mid);
}
.factor-table td { vertical-align: middle; }

/* ── Progress card ────────────────────────────────────────────── */
.doe-progress-card { border-left: 4px solid var(--doe-brand); }

/* ── Results metric display ───────────────────────────────────── */
.doe-metric-label {
  font-size: .72rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: var(--doe-muted);
}
.doe-metric-value {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--doe-brand);
  letter-spacing: -.02em;
}

/* ── Inline code blocks ───────────────────────────────────────── */
.doe-code, code {
  font-family: 'Courier New', monospace;
  background: var(--doe-code-bg);
  color: var(--doe-brand);
  padding: .1rem .35rem;
  border-radius: 4px;
  font-size: .875em;
}

/* ── Section headers in forms ─────────────────────────────────── */
.doe-section-header {
  border-bottom: 1px solid var(--doe-border);
  padding-bottom: .4rem;
  margin-bottom: 1rem;
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--doe-muted);
}

/* ── Run list status badges ───────────────────────────────────── */
.badge-running  { background-color: #0d6efd; }
.badge-complete { background-color: var(--doe-brand); }
.badge-error    { background-color: #dc3545; }
.badge-pending  { background-color: #9aab9e; }

/* ── Metric pill badges (from doe_machine_help.js) ────────────── */
.metric-pill {
  display: inline-block;
  font-size: .7rem;
  font-weight: 600;
  letter-spacing: .04em;
  padding: .15rem .55rem;
  border-radius: 99px;
  vertical-align: middle;
}
.metric-pill.good    { background: #e8f4ed; color: var(--doe-brand); }
.metric-pill.warn    { background: #fef3e2; color: #9a6200; }
.metric-pill.bad     { background: #fde8e8; color: #b91c1c; }
.metric-pill.neutral { background: #f0f5f1; color: var(--doe-muted); }

/* ── Result insight panel ─────────────────────────────────────── */
.result-insight {
  border-radius: 7px;
  padding: 1rem 1.25rem;
  margin-bottom: 1.25rem;
  font-size: .9rem;
  line-height: 1.6;
  border: 1px solid var(--doe-border);
}
.result-insight.positive { background: #f4faf6; border-left: 3px solid var(--doe-brand); }
.result-insight.caution  { background: #fef9f0; border-left: 3px solid var(--doe-amber); }
.result-insight.negative { background: #fef2f2; border-left: 3px solid #dc3545; }
.result-insight-title    { font-weight: 700; margin-bottom: .4rem; color: var(--doe-text); }

/* ── 403 / error pages ────────────────────────────────────────── */
.doe-error-icon { font-size: 4rem; color: var(--doe-brand-light); }

/* ── Global link colour override ──────────────────────────────── */
a { color: var(--doe-brand); }
a:hover { color: var(--doe-brand-mid); }
