
/* src/styles/app.css */
:root {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: #101827;
  background: radial-gradient(circle at top left, #e0f2fe 0, transparent 32%), radial-gradient(circle at top right, #ede9fe 0, transparent 28%), #f6f8fc;
}
* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; }
button, input, textarea { font: inherit; }
button { border: 0; background: linear-gradient(135deg, #2563eb, #7c3aed); color: white; border-radius: 0.85rem; padding: 0.7rem 1rem; cursor: pointer; box-shadow: 0 12px 25px rgba(37,99,235,.22); transition: transform .2s ease, box-shadow .2s ease; }
button:hover { transform: translateY(-1px); box-shadow: 0 18px 35px rgba(37,99,235,.28); }
button:disabled { opacity: .65; cursor: not-allowed; }
.ghost { background: rgba(255,255,255,.65); color: #334155; border: 1px solid rgba(148,163,184,.35); box-shadow: none; }
.app-shell { min-height: 100vh; display: grid; grid-template-columns: 280px 1fr; }
.sidebar { margin: 1rem; border-radius: 1.5rem; padding: 1rem; display: flex; flex-direction: column; gap: 1rem; position: sticky; top: 1rem; height: calc(100vh - 2rem); }
.glass-panel, .metric-card, .panel, .upload-box, .hero-panel { background: rgba(255,255,255,.78); border: 1px solid rgba(255,255,255,.7); box-shadow: 0 24px 70px rgba(15,23,42,.08), inset 0 1px 0 rgba(255,255,255,.9); backdrop-filter: blur(18px); }
.brand { display: flex; align-items: center; gap: .75rem; font-weight: 900; }
.brand small { display: block; color: #64748b; font-weight: 600; font-size: .76rem; }
.brand-mark { width: 42px; height: 42px; display:grid; place-items:center; border-radius: 1rem; background: linear-gradient(135deg,#111827,#2563eb); color: white; }
.sidebar nav { display: flex; flex-direction: column; gap: .35rem; }
.sidebar a { color: #475569; text-decoration: none; padding: .78rem .85rem; border-radius: 1rem; font-weight: 700; transition: all .2s ease; }
.sidebar a.active, .sidebar a:hover { background: #0f172a; color: white; transform: translateX(3px); }
.pro-card { margin-top: auto; padding: 1rem; background: linear-gradient(145deg, rgba(224,242,254,.9), rgba(237,233,254,.9)); border-radius: 1.2rem; font-size: .9rem; }
.content { padding: 1.5rem 2rem 3rem; }
.page-header { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin-bottom: 1rem; }
.hero-panel { border-radius: 1.8rem; padding: 1.4rem; }
h1 { margin: .25rem 0; font-size: clamp(1.9rem, 3vw, 3.2rem); letter-spacing: -.05em; }
h3 { margin-top: 0; }
.eyebrow { color: #2563eb; text-transform: uppercase; font-size: .76rem; font-weight: 900; letter-spacing: .16em; }
.grid { display: grid; gap: 1rem; margin-top: 1rem; }
.cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.metric-card, .panel, .upload-box { border-radius: 1.25rem; padding: 1rem; }
.metric-card h3 { font-size: 2rem; margin: .25rem 0; }
.recommendation-card { position: relative; overflow: hidden; }
.recommendation-card::after { content:""; position:absolute; inset:auto -30px -45px auto; width:130px; height:130px; border-radius:40px; background:rgba(37,99,235,.08); transform:rotate(28deg); }
.muted { color: #64748b; }
.up { color: #059669; font-weight: 800; }
.down { color: #dc2626; font-weight: 800; }
.pill { display: inline-flex; align-items: center; padding: .35rem .65rem; border-radius: 999px; background: #eff6ff; color: #1d4ed8; font-weight: 800; font-size: .78rem; }
.form-stack { display: grid; gap: .85rem; }
label { display: grid; gap: .35rem; font-weight: 800; color: #334155; }
input, textarea { width: 100%; border: 1px solid #cbd5e1; border-radius: .9rem; padding: .78rem .85rem; background: rgba(255,255,255,.82); color: #0f172a; }
textarea { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.auth-screen { min-height: 100vh; display:grid; place-items:center; padding: 1.5rem; }
.auth-card { width: min(460px, 100%); border-radius: 1.8rem; padding: 1.4rem; }
.error-box, .status-box, .result-box { border-radius: 1rem; padding: .85rem 1rem; }
.error-box { background:#fef2f2; color:#991b1b; border:1px solid #fecaca; }
.status-box { background:#ecfeff; color:#155e75; border:1px solid #a5f3fc; }
.result-box { background:#0f172a; color:#e2e8f0; overflow:auto; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: .75rem; border-bottom: 1px solid #e2e8f0; }
@media (max-width: 1100px) { .app-shell { grid-template-columns: 1fr; } .sidebar { position: static; height: auto; } .cols-2, .cols-3, .cols-4 { grid-template-columns: 1fr; } .page-header { align-items:flex-start; flex-direction:column; } }
select { width: 100%; border: 1px solid #cbd5e1; border-radius: .9rem; padding: .78rem .85rem; background: rgba(255,255,255,.82); color: #0f172a; }
.actions-row, .filters, .card-topline, .recommendation-meta { display: flex; align-items: center; gap: .75rem; flex-wrap: wrap; }
.compact { margin-bottom: 0; }
.filters { justify-content: flex-end; }
.filters input { min-width: 260px; }
.filters select { width: auto; min-width: 140px; }
.table-wrap { width: 100%; overflow-x: auto; }
.recommendation-meta span { padding: .35rem .55rem; border-radius: .75rem; background: rgba(15,23,42,.06); color: #334155; font-weight: 700; font-size: .82rem; }
.mini-json { background: rgba(15,23,42,.92); color: #e2e8f0; border-radius: .9rem; padding: .85rem; overflow: auto; font-size: .78rem; }
.secondary { background: rgba(255,255,255,.72); color: #0f172a; border: 1px solid rgba(148,163,184,.35); box-shadow: 0 10px 24px rgba(15,23,42,.08); }
.button-row { display: flex; align-items: center; gap: .7rem; flex-wrap: wrap; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr auto; align-items: end; gap: 1rem; }
.empty-state { color: #64748b; font-weight: 800; border-style: dashed; }
.export-panel { margin-top: 1rem; background: linear-gradient(145deg, rgba(236,253,245,.86), rgba(239,246,255,.86)); }
td input, td select { min-width: 160px; }
@media (max-width: 900px) { .form-grid { grid-template-columns: 1fr; } }
.dashboard-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.compact-grid .metric-card { padding: .85rem; }
.metric-card span, .mini-metric span { display: block; color: #64748b; font-weight: 800; text-transform: capitalize; }
.metric-card strong, .mini-metric strong { display: block; font-size: 1.8rem; letter-spacing: -.04em; }
.mini-metric { border-radius: 1.1rem; padding: .8rem 1rem; background: rgba(255,255,255,.62); border: 1px solid rgba(148,163,184,.25); }
.split-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr); gap: 1rem; align-items: start; }
.detail-panel { position: sticky; top: 1rem; }
.form-grid.single { grid-template-columns: 1fr; align-items: stretch; }
.clickable-row { cursor: pointer; transition: background .18s ease, transform .18s ease; }
.clickable-row:hover, .selected-row { background: rgba(37,99,235,.08); }
.selected-row { outline: 2px solid rgba(37,99,235,.25); cursor: pointer; }
hr { border: 0; height: 1px; background: #e2e8f0; margin: 1.25rem 0; }
@media (max-width: 1100px) { .dashboard-grid, .split-grid { grid-template-columns: 1fr; } .detail-panel { position: static; } }
.page-stack { display: grid; gap: 1rem; }
.hero { border-radius: 1.8rem; padding: 1.5rem; }
.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.grid-two { display: grid; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); gap: 1rem; align-items: start; }
.form-card { border-radius: 1.35rem; padding: 1rem; display: grid; gap: .8rem; }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; }
.table-like { display:grid; gap:.65rem; }
.table-row { display:grid; grid-template-columns: 1.2fr .8fr .7fr .9fr auto auto; gap:.7rem; align-items:center; padding:.8rem; border-radius:1rem; background:rgba(255,255,255,.58); border:1px solid rgba(148,163,184,.2); }
.table-like.compact .table-row { grid-template-columns: 1fr .8fr .55fr 1fr; }
.notice { border-radius: 1rem; padding: .75rem; background: #ecfeff; color: #155e75; border: 1px solid #a5f3fc; }
.pill.success, .pill.active, .pill.healthy, .pill.clean { background:#dcfce7; color:#166534; }
.pill.failed, .pill.error, .pill.suspicious { background:#fee2e2; color:#991b1b; }
.pill.queued, .pill.running, .pill.paused { background:#fef3c7; color:#92400e; }
@media (max-width: 1100px) { .metrics-grid, .grid-two, .table-row, .table-like.compact .table-row { grid-template-columns: 1fr; } }
.hero-card, .form-panel, .table-panel { border-radius: 1.5rem; padding: 1.2rem; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 1rem; }
.metric-grid.compact { margin-top: 1rem; }
.score-ring { width: 138px; height: 138px; border-radius: 999px; display: grid; place-items: center; font-size: 2.5rem; font-weight: 950; color: #0f172a; background: radial-gradient(circle at 35% 30%, rgba(255,255,255,.95), rgba(219,234,254,.88)); border: 12px solid rgba(37,99,235,.18); box-shadow: inset 0 2px 18px rgba(15,23,42,.08), 0 18px 45px rgba(37,99,235,.12); }
.score-ring span { font-size: .9rem; color: #64748b; margin-left: .15rem; }
code { background: rgba(15,23,42,.08); padding: .2rem .4rem; border-radius: .5rem; }
@media (max-width: 1100px) { .metric-grid { grid-template-columns: 1fr; } }
.alert { border-radius: 1rem; padding: .85rem 1rem; font-weight: 800; background: rgba(255,255,255,.7); border: 1px solid rgba(15,23,42,.12); }
.alert.danger, .pill.danger { background: #fee2e2; color: #991b1b; border-color: rgba(153,27,27,.18); }
code { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: .82rem; }

/* Production UX refinements */
.content { max-width: 1540px; width: 100%; margin: 0 auto; }
.sidebar { overflow: hidden; }
.sidebar nav { overflow-y: auto; padding-right: .25rem; }
.sidebar nav::-webkit-scrollbar { width: 7px; }
.sidebar nav::-webkit-scrollbar-thumb { background: rgba(100,116,139,.28); border-radius: 99px; }
.drop-zone { min-height: 360px; display: flex; flex-direction: column; justify-content: center; }
.file-picker { border: 2px dashed rgba(37,99,235,.28); border-radius: 1.25rem; padding: 1.2rem; background: linear-gradient(145deg, rgba(239,246,255,.82), rgba(255,255,255,.68)); cursor: pointer; transition: transform .2s ease, border-color .2s ease, background .2s ease; }
.file-picker:hover { transform: translateY(-2px); border-color: rgba(37,99,235,.52); background: rgba(239,246,255,.95); }
.file-picker input { display: none; }
.file-picker span { font-weight: 900; color: #1e3a8a; }
.compact-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); margin: .8rem 0; }
.strategy-map { display: grid; grid-template-columns: 1fr 70px 1fr 70px 1fr 70px 1fr; gap: .75rem; align-items: stretch; min-height: 520px; overflow-x: auto; }
.map-column { min-width: 220px; display: flex; flex-direction: column; gap: .8rem; padding: .85rem; border-radius: 1.25rem; background: rgba(248,250,252,.76); border: 1px solid rgba(148,163,184,.22); }
.map-column h3 { margin: 0 0 .25rem; font-size: .95rem; color: #334155; }
.map-node { padding: .85rem; border-radius: 1rem; font-weight: 850; line-height: 1.35; box-shadow: 0 12px 28px rgba(15,23,42,.08); border: 1px solid rgba(255,255,255,.7); }
.map-node.objective { background: linear-gradient(145deg,#dbeafe,#eff6ff); color: #1e3a8a; }
.map-node.initiative { background: linear-gradient(145deg,#ede9fe,#faf5ff); color: #5b21b6; }
.map-node.kpi { background: linear-gradient(145deg,#dcfce7,#f0fdf4); color: #166534; }
.map-node.role { background: linear-gradient(145deg,#ffedd5,#fff7ed); color: #9a3412; }
.map-links { display: grid; align-content: center; gap: 3.5rem; min-width: 70px; }
.map-links span { display: block; height: 2px; background: linear-gradient(90deg, rgba(37,99,235,.1), rgba(37,99,235,.75)); position: relative; }
.map-links span::after { content: ""; position: absolute; right: -2px; top: -5px; border-left: 8px solid rgba(37,99,235,.75); border-top: 6px solid transparent; border-bottom: 6px solid transparent; }
.gap-card { display: grid; gap: .65rem; }
.risk-meter { height: 12px; overflow: hidden; border-radius: 999px; background: rgba(15,23,42,.08); }
.risk-meter span { display:block; height:100%; border-radius:inherit; background: linear-gradient(90deg, #22c55e, #f59e0b, #ef4444); }
.kpi-chart { height: 300px; display: flex; align-items: end; gap: .75rem; padding: 1rem; border-radius: 1.25rem; background: linear-gradient(180deg, rgba(239,246,255,.9), rgba(255,255,255,.5)); border: 1px solid rgba(148,163,184,.2); }
.bar-wrap { flex: 1; min-width: 42px; height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: end; gap: .45rem; }
.bar { width: 100%; max-width: 58px; min-height: 18px; border-radius: 1rem 1rem .35rem .35rem; background: linear-gradient(180deg, #2563eb, #7c3aed); box-shadow: 0 14px 30px rgba(37,99,235,.24); }
.bar-wrap small { color: #64748b; font-weight: 800; }
@media (max-width: 1200px) {
  .strategy-map { grid-template-columns: 1fr; min-height: auto; }
  .map-links { display: none; }
  .compact-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 700px) {
  .content { padding: 1rem; }
  .sidebar { margin: .7rem; border-radius: 1.1rem; }
  .hero-panel, .panel, .upload-box { border-radius: 1rem; padding: .9rem; }
  .compact-grid { grid-template-columns: 1fr; }
  .kpi-chart { overflow-x: auto; }
  .bar-wrap { min-width: 58px; }
}

/* Stratify brand refresh inspired by the approved static interface */
:root {
  --stratify-blue: #1f3f86;
  --stratify-indigo: #4f46e5;
  --stratify-cyan: #55b4c8;
  --stratify-ink: #111827;
  --stratify-muted: #64748b;
  --stratify-border: rgba(226, 232, 240, .86);
  --stratify-surface: rgba(255, 255, 255, .92);
  background:
    radial-gradient(circle at 12% 5%, rgba(85, 180, 200, .20), transparent 34%),
    radial-gradient(circle at 88% 2%, rgba(79, 70, 229, .14), transparent 30%),
    linear-gradient(135deg, #f8fafc 0%, #f4f7fb 45%, #eef6fb 100%);
}

body {
  color: var(--stratify-ink);
  background: transparent;
}

button {
  background: linear-gradient(135deg, var(--stratify-blue), var(--stratify-indigo));
  border-radius: 14px;
  font-weight: 850;
  letter-spacing: -.01em;
  box-shadow: 0 16px 32px rgba(31, 63, 134, .18);
}

button:hover { box-shadow: 0 22px 45px rgba(31, 63, 134, .24); }

.surface-card,
.glass-panel,
.metric-card,
.panel,
.upload-box,
.hero-panel,
.hero-card,
.form-panel,
.table-panel,
.form-card {
  background: var(--stratify-surface);
  border: 1px solid var(--stratify-border);
  box-shadow: 0 24px 70px rgba(15, 23, 42, .075), inset 0 1px 0 rgba(255,255,255,.86);
  backdrop-filter: blur(18px);
}

.app-shell {
  grid-template-columns: 292px minmax(0, 1fr);
  background:
    linear-gradient(90deg, rgba(255,255,255,.72), transparent 22%),
    radial-gradient(circle at bottom left, rgba(31, 63, 134, .08), transparent 28%);
}

.sidebar {
  padding: 1.15rem;
  border-radius: 28px;
  gap: .95rem;
  overflow: hidden;
}

.brand {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 84px;
  padding: .7rem .5rem;
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(239, 246, 255, .92), rgba(255,255,255,.76));
  border: 1px solid rgba(148, 163, 184, .18);
  text-decoration: none;
}

.brand-logo {
  width: min(210px, 100%);
  height: auto;
  display: block;
  object-fit: contain;
  filter: drop-shadow(0 14px 24px rgba(31, 63, 134, .14));
}

.workspace-chip {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .85rem .9rem;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid rgba(226, 232, 240, .86);
}

.workspace-chip strong,
.workspace-chip small { display:block; }
.workspace-chip strong { font-size: .88rem; color: #0f172a; }
.workspace-chip small { font-size: .72rem; color: var(--stratify-muted); font-weight: 750; margin-top: .12rem; }
.status-dot { width: .8rem; height: .8rem; border-radius: 99px; background: #10b981; box-shadow: 0 0 0 6px rgba(16, 185, 129, .12); }

.sidebar nav {
  gap: .28rem;
  padding: .25rem .15rem .25rem 0;
}

.sidebar a {
  display: flex;
  align-items: center;
  gap: .75rem;
  color: #64748b;
  padding: .72rem .78rem;
  border-radius: 16px;
  font-size: .93rem;
  letter-spacing: -.01em;
}

.sidebar a:hover {
  background: #eef6ff;
  color: var(--stratify-blue);
  transform: translateX(2px);
}

.sidebar a.active {
  background: linear-gradient(135deg, var(--stratify-blue), var(--stratify-indigo));
  color: white;
  box-shadow: 0 14px 30px rgba(31, 63, 134, .20);
  transform: translateX(0);
}

.nav-icon {
  width: 30px;
  height: 30px;
  border-radius: 11px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  background: rgba(15, 23, 42, .045);
  color: currentColor;
  font-weight: 950;
}

.sidebar a.active .nav-icon {
  background: rgba(255,255,255,.18);
  color: white;
}

.pro-card {
  background: linear-gradient(145deg, rgba(31, 63, 134, .10), rgba(85, 180, 200, .16));
  border: 1px solid rgba(85, 180, 200, .22);
}

.full-width { width: 100%; }

.content {
  max-width: 1580px;
  padding: 1rem 1.4rem 2.5rem;
}

.top-strip {
  min-height: 68px;
  border-radius: 24px;
  padding: .85rem 1.05rem;
  margin-bottom: 1rem;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:1rem;
}

.top-strip strong { display:block; font-size: .98rem; letter-spacing: -.015em; color:#0f172a; margin-top:.12rem; }

.page-header.hero-panel,
.hero-panel,
.hero-card,
.hero {
  border-radius: 28px;
  padding: clamp(1.1rem, 2vw, 1.55rem);
  background:
    linear-gradient(135deg, rgba(255,255,255,.94), rgba(239,246,255,.88)),
    radial-gradient(circle at 90% 15%, rgba(85, 180, 200, .22), transparent 24%);
}

h1 {
  color: #0f172a;
  letter-spacing: -.055em;
  line-height: .98;
}

.eyebrow {
  color: var(--stratify-blue);
}

.metric-card,
.panel,
.upload-box,
.auth-card {
  border-radius: 24px;
}

.metric-card {
  position: relative;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.metric-card:hover,
.panel:hover {
  transform: translateY(-2px);
  box-shadow: 0 28px 80px rgba(15, 23, 42, .10);
  border-color: rgba(85, 180, 200, .36);
}

.metric-card::before {
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background: linear-gradient(180deg, var(--stratify-blue), var(--stratify-cyan));
}

input, textarea, select {
  border-color: rgba(203, 213, 225, .92);
  background: rgba(248, 250, 252, .88);
  border-radius: 14px;
}

input:focus, textarea:focus, select:focus {
  outline: 3px solid rgba(85, 180, 200, .18);
  border-color: rgba(85, 180, 200, .75);
  background: white;
}

.auth-screen {
  background:
    radial-gradient(circle at 18% 12%, rgba(85, 180, 200, .22), transparent 31%),
    radial-gradient(circle at 80% 20%, rgba(79, 70, 229, .12), transparent 28%),
    #f8fafc;
}

.auth-card {
  width: min(520px, 100%);
  padding: 1.6rem;
}

.auth-brand {
  display:flex;
  justify-content:center;
  margin-bottom: .6rem;
  border-radius: 24px;
  padding: .75rem;
  background: linear-gradient(145deg, rgba(239,246,255,.88), rgba(255,255,255,.78));
  border: 1px solid rgba(148, 163, 184, .18);
}

.auth-brand img { width: min(250px, 100%); height: auto; object-fit: contain; }

.grid, .dashboard-grid, .metrics-grid, .metric-grid {
  gap: 1.05rem;
}

.table-wrap,
.table-panel,
.result-box,
.mini-json { max-width: 100%; }

.error-box {
  background: #fff1f2;
  color: #9f1239;
  border: 1px solid #fecdd3;
}

.status-box, .notice {
  background: #ecfeff;
  color: #155e75;
  border: 1px solid #a5f3fc;
}

.pill.success, .pill.active, .pill.healthy, .pill.clean {
  background: #dcfce7;
  color: #166534;
}

@media (max-width: 1100px) {
  .app-shell { grid-template-columns: 1fr; }
  .sidebar {
    position: static;
    height: auto;
    margin: .75rem;
    display: grid;
    grid-template-columns: 1fr;
  }
  .brand { min-height: 70px; }
  .brand-logo { width: min(230px, 90%); }
  .sidebar nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: none;
    overflow: visible;
  }
  .content { padding: .75rem .9rem 2rem; }
  .top-strip { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 680px) {
  .sidebar nav { grid-template-columns: 1fr; }
  .sidebar a { padding: .68rem .72rem; }
  .top-strip { display:none; }
  .page-header { margin-top: .25rem; }
  .auth-screen { place-items: start center; }
  .auth-card { margin-top: 1rem; padding: 1rem; }
}

/* Logo visibility hardening: every logo sits on an intentional white surface so the
   dark wordmark remains readable on gradients, glass panels and mobile overlays. */
.logo-surface {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border: 1px solid rgba(203, 213, 225, .9);
  box-shadow:
    0 18px 42px rgba(15, 23, 42, .12),
    inset 0 1px 0 rgba(255,255,255,.95);
  position: relative;
  overflow: hidden;
}

.logo-surface::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(85,180,200,.09), transparent 42%, rgba(31,63,134,.05));
}

.logo-surface img {
  position: relative;
  z-index: 1;
  display: block;
  object-fit: contain;
}

.logo-surface-sidebar {
  width: 100%;
  min-height: 72px;
  padding: .85rem 1.05rem;
  border-radius: 22px;
}

.logo-surface-auth {
  width: min(320px, 100%);
  min-height: 92px;
  padding: 1rem 1.25rem;
  border-radius: 26px;
}

.logo-surface-sidebar .brand-logo {
  width: min(210px, 100%);
  filter: none;
}

.logo-surface-auth img {
  width: min(260px, 100%);
  filter: none;
}

.brand {
  background:
    linear-gradient(145deg, rgba(31, 63, 134, .075), rgba(85, 180, 200, .08)),
    rgba(248, 250, 252, .84);
  padding: .58rem;
}

.auth-brand {
  background:
    radial-gradient(circle at 20% 20%, rgba(85, 180, 200, .18), transparent 35%),
    linear-gradient(145deg, rgba(15, 23, 42, .035), rgba(255,255,255,.82));
}

@media (max-width: 1100px) {
  .logo-surface-sidebar { min-height: 64px; padding: .7rem .9rem; }
  .logo-surface-sidebar .brand-logo { width: min(220px, 88%); }
}

@media (max-width: 560px) {
  .logo-surface-auth { width: 100%; min-height: 76px; padding: .8rem 1rem; }
  .logo-surface-auth img { width: min(230px, 88%); }
}

/* Final UI refinement pass */
@keyframes stratifyFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }
@keyframes stratifyFloat { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-7px); } }
@keyframes stratifyGlow { 0%, 100% { opacity: .45; } 50% { opacity: .85; } }
.animate-in, .page-stack, .auth-card, .auth-visual { animation: stratifyFadeUp .42s ease both; }

.app-shell { min-height: 100vh; align-items: stretch; }
.sidebar { position: sticky; top: 1rem; height: calc(100vh - 2rem); margin: 1rem 0 1rem 1rem; }
.content { padding-top: 1rem; }
.brand { min-height: 98px; padding: .72rem; }
.logo-surface-sidebar { min-height: 82px; padding: .65rem .85rem; }
.logo-surface-sidebar .brand-logo { width: min(238px, 96%); max-height: 62px; }
.logo-surface-auth { min-height: 86px; width: min(300px, 100%); padding: .72rem 1rem; }
.logo-surface-auth img { width: min(252px, 94%); max-height: 64px; }
.logo-surface::after { background: linear-gradient(135deg, rgba(85,180,200,.06), transparent 50%); }

.hero-composed { position: relative; overflow: hidden; }
.hero-composed::after { content:""; position:absolute; right:-70px; top:-80px; width:220px; height:220px; border-radius:70px; background: linear-gradient(135deg, rgba(85,180,200,.22), rgba(31,63,134,.08)); transform: rotate(18deg); animation: stratifyGlow 4s ease-in-out infinite; }
.hero-composed > * { position: relative; z-index: 1; }

.refined-auth { min-height: 100vh; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr); gap: clamp(1rem, 3vw, 3rem); align-items: center; padding: clamp(1rem, 3vw, 3rem); }
.auth-visual { display: grid; place-items: center; min-height: 68vh; }
.auth-hero-card { max-width: 720px; padding: clamp(1.4rem, 4vw, 3rem); border-radius: 36px; position: relative; overflow: hidden; }
.auth-hero-card::before { content:""; position:absolute; inset:auto -60px -80px auto; width:220px; height:220px; background: linear-gradient(135deg, rgba(31,63,134,.14), rgba(85,180,200,.22)); border-radius: 60px; transform: rotate(22deg); }
.auth-hero-card h1 { font-size: clamp(2.4rem, 5vw, 5rem); margin: 1rem 0; }
.auth-hero-card p { color: #475569; font-size: 1.05rem; max-width: 58ch; }
.auth-proof-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .8rem; margin-top: 1.5rem; }
.auth-proof-grid div { padding: 1rem; border-radius: 18px; background: rgba(248,250,252,.78); border: 1px solid rgba(203,213,225,.7); }
.auth-proof-grid strong { display:block; font-size: 1.35rem; color: var(--stratify-blue); }
.auth-proof-grid span { color: var(--stratify-muted); font-weight: 750; font-size: .82rem; }
.refined-card { justify-self: center; padding: clamp(1.1rem, 2.6vw, 2rem); border-radius: 32px; }
.refined-card h2 { margin: .55rem 0 .25rem; font-size: clamp(1.9rem, 3vw, 2.5rem); letter-spacing: -.045em; }
.compact-logo-wrap { margin-bottom: .85rem; padding: .55rem; }
.auth-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: .45rem; padding: .35rem; background: #f1f5f9; border-radius: 17px; margin-bottom: 1rem; }
.auth-tabs button { box-shadow: none; border-radius: 13px; padding: .78rem; }
.auth-tabs button.ghost { background: transparent; color: #64748b; }
.auth-tabs button.active { background: white; color: var(--stratify-blue); box-shadow: 0 10px 24px rgba(15,23,42,.08); }
.auth-form label { font-weight: 850; color: #334155; }
.auth-form input { margin-top: .35rem; padding: .95rem 1rem; }

.elevated-zone { position: relative; overflow: hidden; }
.upload-orb { width: 74px; height: 74px; border-radius: 24px; display:grid; place-items:center; font-size: 2rem; font-weight: 900; color: white; background: linear-gradient(135deg, var(--stratify-blue), var(--stratify-cyan)); box-shadow: 0 22px 44px rgba(31,63,134,.22); animation: stratifyFloat 3.8s ease-in-out infinite; }
pre.error-box, pre.status-box { white-space: pre-wrap; font-family: inherit; line-height: 1.45; }
.error-box { border-radius: 1rem; padding: .85rem 1rem; }
.status-box { border-radius: 1rem; padding: .85rem 1rem; }

.panel, .metric-card, .upload-box, .surface-card { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
button { transition: transform .18s ease, box-shadow .18s ease, filter .18s ease; }
button:hover:not(:disabled) { transform: translateY(-1px); filter: saturate(1.06); }
button:disabled { opacity: .58; cursor: not-allowed; }

@media (max-width: 1180px) {
  .refined-auth { grid-template-columns: 1fr; align-items: start; }
  .auth-visual { min-height: auto; }
  .auth-hero-card { max-width: 100%; }
  .sidebar { position: static; height: auto; margin: .75rem; }
}
@media (max-width: 720px) {
  .refined-auth { padding: .8rem; }
  .auth-visual { display:none; }
  .refined-card { width: 100%; border-radius: 24px; }
  .auth-proof-grid { grid-template-columns: 1fr; }
  .brand { min-height: 78px; }
  .logo-surface-sidebar { min-height: 66px; }
  .logo-surface-sidebar .brand-logo { width: min(220px, 94%); }
}

.map-chain {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr) auto minmax(180px, 1fr) auto minmax(160px, .8fr);
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin-bottom: 1rem;
}
.chain-arrow {
  color: #64748b;
  font-weight: 800;
}
.status-box p { margin: .35rem 0 0; white-space: pre-wrap; }
@media (max-width: 980px) {
  .map-chain { grid-template-columns: 1fr; }
  .chain-arrow { transform: rotate(90deg); text-align: center; }
}

.auth-animated-panel {
  animation: authFloat 7s ease-in-out infinite;
}

.auth-lift-in {
  animation: authLiftIn 520ms ease both;
}

.three-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@keyframes authFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}

@keyframes authLiftIn {
  from { opacity: 0; transform: translateY(18px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

@media (max-width: 760px) {
  .three-tabs { grid-template-columns: 1fr; }
}

/* RBAC, workspace and HITL refinement */
.workspace-switcher {
  padding: .72rem .85rem;
  border-radius: 18px;
  background: rgba(248, 250, 252, .88);
  border: 1px solid rgba(226, 232, 240, .86);
}
.workspace-switcher label { font-size: .78rem; color: #64748b; }
.workspace-switcher select { margin-top: .3rem; padding: .62rem .7rem; font-size: .86rem; }
.workspace-row { grid-template-columns: minmax(220px, 1.4fr) .8fr .55fr .65fr auto; }
.workspace-row small { display:block; color:#64748b; font-weight:700; margin-top:.18rem; }
.pill.accepted, .pill.corrected { background:#dcfce7; color:#166534; }
.pill.rejected { background:#fee2e2; color:#991b1b; }
.pill.pending { background:#fef3c7; color:#92400e; }
.mini-metric strong { font-size: clamp(1rem, 2vw, 1.65rem); overflow-wrap: anywhere; }
@media (max-width: 1100px) { .workspace-row { grid-template-columns: 1fr; } }

/* Historical Strategy Intelligence phase */
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.form-grid.mini-form { grid-template-columns: 1fr; gap: .75rem; margin: 1rem 0; }
.refined-form label, .mini-form label { display: grid; gap: .45rem; color: var(--text, #1f2937); font-weight: 700; }
.refined-form input, .refined-form select, .refined-form textarea, .mini-form input, .mini-form select {
  width: 100%; border: 1px solid rgba(99, 102, 241, .14); border-radius: 16px; padding: .85rem 1rem; background: rgba(255,255,255,.86); color: #111827; outline: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.7), 0 10px 24px rgba(15,23,42,.04); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.refined-form input:focus, .refined-form select:focus, .refined-form textarea:focus, .mini-form input:focus, .mini-form select:focus { border-color: rgba(226, 88, 34, .55); box-shadow: 0 0 0 4px rgba(226, 88, 34, .1); transform: translateY(-1px); }
.align-start { align-items: start; }
.timeline-list { display: grid; gap: .9rem; }
.timeline-item { padding: 1rem; border-radius: 20px; background: linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,247,237,.72)); border: 1px solid rgba(120, 53, 15, .12); box-shadow: 0 14px 40px rgba(67, 20, 7, .07); }
.timeline-item strong { display: block; margin: .6rem 0 .25rem; font-size: 1.02rem; }
.finding-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.finding-card { padding: 1.1rem; border-radius: 24px; background: radial-gradient(circle at top left, rgba(255,237,213,.92), rgba(255,255,255,.86)); border: 1px solid rgba(120, 53, 15, .12); box-shadow: 0 16px 50px rgba(67, 20, 7, .08); animation: riseIn .45s ease both; }
.finding-card details { margin-top: .8rem; }
.finding-card summary { cursor: pointer; font-weight: 800; }
.finding-card li { margin: .4rem 0; color: #4b5563; }
.pill.danger { background: rgba(220, 38, 38, .12); color: #991b1b; border-color: rgba(220,38,38,.2); }
.pill.warning { background: rgba(245, 158, 11, .14); color: #92400e; border-color: rgba(245,158,11,.22); }
.empty-state { grid-column: 1 / -1; padding: 2rem; border-radius: 24px; text-align: center; background: rgba(255,255,255,.72); border: 1px dashed rgba(120,53,15,.22); }
@keyframes riseIn { from { opacity: 0; transform: translateY(12px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@media (max-width: 880px) { .form-grid, .finding-grid { grid-template-columns: 1fr; } }
.button-row { display: flex; gap: .75rem; flex-wrap: wrap; align-items: center; }
.button-row button { flex: 1 1 180px; }

.selected-row { outline: 2px solid rgba(17, 84, 255, 0.28); background: rgba(255, 255, 255, 0.72); }
.button-row { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; margin: 1rem 0; }
.evidence-list { display: grid; gap: 0.85rem; max-height: 680px; overflow: auto; padding-right: 0.2rem; }
.evidence-card { border: 1px solid rgba(45, 55, 72, 0.10); background: rgba(255,255,255,0.74); border-radius: 22px; padding: 1rem; box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08); }
.evidence-card p { color: var(--muted); line-height: 1.55; }
.pill.danger { background: rgba(225, 29, 72, 0.12); color: #9f1239; }

.workflow-page .page-header,
.section-title-row {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
}

.workflow-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 140px;
  gap: 1.25rem;
  align-items: center;
  margin-bottom: 1.25rem;
  overflow: hidden;
  position: relative;
}

.workflow-hero::after {
  content: "";
  position: absolute;
  inset: auto -10% -60% auto;
  width: 280px;
  height: 280px;
  border-radius: 999px;
  background: radial-gradient(circle, rgba(255,255,255,.34), transparent 64%);
  pointer-events: none;
}

.progress-ring {
  width: 116px;
  height: 116px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  margin-left: auto;
  background: conic-gradient(var(--accent, #c9672a) var(--progress), rgba(255,255,255,.3) 0);
  box-shadow: 0 20px 48px rgba(25, 12, 4, .18);
}

.progress-ring strong {
  width: 82px;
  height: 82px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  background: rgba(255, 255, 255, .92);
  color: #3b2417;
}

.workflow-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(310px, 1fr));
  gap: 1rem;
  margin: 1rem 0 1.25rem;
}

.workflow-step {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: .9rem;
  border-left: 4px solid rgba(255, 255, 255, .35);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.workflow-step:hover {
  transform: translateY(-3px);
}

.workflow-step.status-completed { border-color: #4fa36c; }
.workflow-step.status-blocked { border-color: #d9534f; }
.workflow-step.status-ready { border-color: #d88a3d; }

.step-order {
  width: 42px;
  height: 42px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-weight: 800;
  background: rgba(255, 255, 255, .75);
  color: #4b2a17;
}

.step-title-row,
.step-actions,
.step-meta,
.notification-actions {
  display: flex;
  align-items: center;
  gap: .6rem;
  flex-wrap: wrap;
}

.step-title-row { justify-content: space-between; }
.step-title-row h3 { margin: 0; }
.step-meta { font-size: .85rem; color: rgba(60, 38, 21, .7); margin: .65rem 0; }
.step-actions { margin-top: .85rem; }

.notifications-panel { margin-top: 1.25rem; }
.notification-list { display: grid; gap: .8rem; }
.notification-card {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .95rem;
  border-radius: 18px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(255,255,255,.5);
}
.notification-card.unread { box-shadow: inset 4px 0 0 #c9672a; }
.notification-card.read { opacity: .72; }
.notification-card p { margin: .35rem 0; }
.notification-card small { color: rgba(60,38,21,.65); }

@media (max-width: 760px) {
  .workflow-page .page-header,
  .section-title-row,
  .notification-card,
  .workflow-hero {
    display: block;
  }
  .progress-ring { margin: 1rem 0 0; }
  .workflow-grid { grid-template-columns: 1fr; }
  .workflow-step { grid-template-columns: 1fr; }
  .notification-actions { margin-top: .75rem; }
}

/* Executive Intelligence phase */
.executive-page { display: flex; flex-direction: column; gap: 1.25rem; }
.executive-hero { display: grid; grid-template-columns: 1fr minmax(180px, 240px); align-items: center; gap: 2rem; overflow: hidden; }
.executive-health-orb { width: 210px; height: 210px; border-radius: 999px; display: grid; place-items: center; justify-self: end; background: radial-gradient(circle at 35% 25%, rgba(255,255,255,.95), rgba(255,145,77,.34) 45%, rgba(72,38,18,.88)); box-shadow: 0 24px 60px rgba(72,38,18,.22), inset 0 0 35px rgba(255,255,255,.42); color: #fff; animation: executivePulse 5s ease-in-out infinite; }
.executive-health-orb span { font-size: 3.3rem; font-weight: 900; line-height: 1; }
.executive-health-orb small { display: block; opacity: .95; margin-top: -3.8rem; font-weight: 700; }
@keyframes executivePulse { 0%,100% { transform: translateY(0) scale(1); } 50% { transform: translateY(-6px) scale(1.025); } }
.executive-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.executive-score-card strong { font-size: 2.25rem; display: block; margin: .35rem 0; }
.score-meter { height: 9px; border-radius: 999px; background: rgba(72,38,18,.10); overflow: hidden; margin: .65rem 0; }
.score-meter span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #f0742c, #ffc06d); transition: width .55s ease; }
.split-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 1.25rem; align-items: start; }
.table-wrap { overflow-x: auto; }
.table-wrap table { width: 100%; border-collapse: collapse; }
.table-wrap th, .table-wrap td { text-align: left; padding: .85rem; border-bottom: 1px solid rgba(72,38,18,.10); vertical-align: top; }
.table-wrap th { color: var(--muted); font-size: .78rem; text-transform: uppercase; letter-spacing: .08em; }
.stack-list { display: grid; gap: .85rem; }
.mini-card { padding: 1rem; border-radius: 1.15rem; background: rgba(255,255,255,.66); border: 1px solid rgba(72,38,18,.10); box-shadow: 0 10px 26px rgba(72,38,18,.07); }
.mini-card p { color: var(--muted); margin: .35rem 0 0; }
.mini-meta { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .75rem; }
.mini-meta span { padding: .35rem .55rem; border-radius: 999px; background: rgba(240,116,44,.12); font-size: .78rem; font-weight: 700; }
.notice-banner { padding: .85rem 1rem; border-radius: 1rem; background: rgba(240,116,44,.12); border: 1px solid rgba(240,116,44,.25); color: #643316; }
.guidance-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.metrics-grid.compact { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.decision-result { min-height: 250px; }
@media (max-width: 1100px) { .executive-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .split-grid, .executive-hero { grid-template-columns: 1fr; } .executive-health-orb { justify-self: start; width: 170px; height: 170px; } .guidance-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .executive-grid, .metrics-grid.compact { grid-template-columns: 1fr; } .executive-health-orb span { font-size: 2.5rem; } }

.training-workbench .notice-card {
  border-left: 4px solid rgba(255, 132, 45, 0.75);
}
.training-workbench .form-panel label {
  display: grid;
  gap: 0.45rem;
  margin-bottom: 0.9rem;
  color: var(--muted);
}
.training-workbench input,
.training-workbench select {
  width: 100%;
  border: 1px solid rgba(92, 60, 35, 0.15);
  border-radius: 16px;
  padding: 0.85rem 1rem;
  background: rgba(255,255,255,0.86);
  color: var(--text);
}
.training-workbench .list-card.text-left {
  text-align: left;
  width: 100%;
  cursor: pointer;
}
.training-workbench .list-card.selected {
  outline: 2px solid rgba(255, 132, 45, 0.45);
  background: rgba(255, 244, 232, 0.92);
}
.training-example-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}
.inner-card {
  box-shadow: none;
  border: 1px solid rgba(92, 60, 35, 0.11);
}
.row-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
}
.compact-actions {
  gap: 0.5rem;
  flex-wrap: wrap;
}
.danger-text {
  color: #a43422 !important;
}
.pill.danger {
  background: rgba(164, 52, 34, 0.12);
  color: #8d2919;
}
.wide-left {
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
}
@media (max-width: 980px) {
  .wide-left { grid-template-columns: 1fr; }
}
.code-block { max-height: 420px; overflow: auto; padding: 1rem; border-radius: 1rem; background: rgba(24, 18, 14, .92); color: #fff7ed; font-size: .86rem; line-height: 1.45; white-space: pre-wrap; }
.inline-check { display: flex !important; flex-direction: row !important; align-items: center; gap: .6rem; font-weight: 700; }
.inline-check input { width: auto; }

.knowledge-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1rem;
}

.quick-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 1rem;
}

.quick-actions .ghost {
  width: auto;
  padding: 0.7rem 0.9rem;
}

.insight-card details,
details .code-block {
  margin-top: 0.75rem;
}

/* Strategy Improvement Studio */
.strategy-improvement-page { --improve-ink: #14213d; --improve-accent: #1f3f86; }
.improvement-hero { position: relative; overflow: hidden; background: linear-gradient(135deg, rgba(239,246,255,.96), rgba(255,255,255,.94) 48%, rgba(236,254,255,.92)); }
.improvement-hero::after { content:""; position:absolute; width:320px; height:320px; right:-110px; bottom:-190px; border-radius:999px; background:radial-gradient(circle, rgba(85,180,200,.25), transparent 68%); pointer-events:none; }
.improvement-control-panel { display:grid; gap:1rem; }
.improvement-config-grid { display:grid; grid-template-columns:minmax(260px,1.6fr) repeat(3,minmax(150px,.7fr)); gap:1rem; align-items:end; }
.improvement-artifact-note { display:flex; flex-wrap:wrap; gap:.65rem; align-items:center; padding:.8rem 1rem; border-radius:18px; background:rgba(239,246,255,.72); border:1px solid rgba(31,63,134,.12); }
.improvement-artifact-note span { padding:.3rem .55rem; border-radius:999px; color:#475569; background:white; font-weight:750; font-size:.8rem; }
.improvement-decision-card { background:linear-gradient(145deg,rgba(219,234,254,.92),rgba(255,255,255,.92)); }
.improvement-action-list { display:grid; gap:.7rem; padding-left:1.4rem; }
.improvement-action-list li { padding:.55rem .65rem; border-radius:14px; background:rgba(248,250,252,.85); line-height:1.5; }
.improvement-chip-list { display:flex; flex-wrap:wrap; gap:.55rem; }
.improvement-chip-list span { padding:.45rem .7rem; border-radius:999px; background:rgba(15,23,42,.06); color:#334155; font-weight:750; font-size:.82rem; }
.improvement-chip-list.compact span { font-size:.75rem; padding:.35rem .55rem; }
.scenario-lab { background:linear-gradient(145deg,rgba(245,243,255,.94),rgba(255,255,255,.9)); }
.scenario-result { display:grid; gap:1rem; margin-top:1rem; }
.alert.warning { background:#fffbeb; color:#92400e; border-color:#fde68a; }
.improvement-item-list { display:grid; gap:1rem; margin-top:1rem; }
.improvement-item { border:1px solid rgba(148,163,184,.2); border-radius:26px; padding:1.15rem; background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,250,252,.9)); box-shadow:0 18px 55px rgba(15,23,42,.07); }
.improvement-item-head { display:grid; grid-template-columns:74px minmax(0,1fr); gap:1rem; align-items:start; }
.improvement-sequence { display:grid; place-items:center; gap:.35rem; width:64px; min-height:74px; border-radius:20px; background:linear-gradient(145deg,#1f3f86,#4f46e5); color:white; box-shadow:0 16px 30px rgba(31,63,134,.2); }
.improvement-sequence span { font-size:1.7rem; font-weight:950; line-height:1; }
.improvement-sequence small { font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; font-weight:850; }
.improvement-item-title h3 { margin:.65rem 0 .25rem; font-size:1.2rem; line-height:1.35; }
.improvement-score-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.improvement-score-grid > div { padding:.85rem; border-radius:18px; background:rgba(248,250,252,.88); border:1px solid rgba(148,163,184,.16); }
.improvement-score-grid h4,.improvement-detail-grid h4 { margin:.1rem 0 .7rem; }
.improvement-score-line { display:grid; grid-template-columns:90px minmax(0,1fr) 34px; gap:.55rem; align-items:center; margin:.48rem 0; font-size:.8rem; color:#475569; font-weight:750; }
.improvement-score-track { height:8px; border-radius:999px; overflow:hidden; background:rgba(148,163,184,.2); }
.improvement-score-track span { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#55b4c8,#1f3f86,#4f46e5); }
.improvement-rewrite { padding:1rem; border-radius:20px; background:linear-gradient(135deg,rgba(219,234,254,.8),rgba(236,254,255,.82)); border-left:4px solid var(--improve-accent); }
.improvement-rewrite span { color:#1f3f86; text-transform:uppercase; font-size:.72rem; font-weight:900; letter-spacing:.12em; }
.improvement-rewrite p { margin:.45rem 0 0; font-size:1.02rem; line-height:1.6; font-weight:720; }
.improvement-detail-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.improvement-detail-grid.triple { grid-template-columns:repeat(3,minmax(0,1fr)); }
.improvement-detail-grid > div { padding:.95rem; border-radius:18px; background:rgba(255,255,255,.72); border:1px solid rgba(148,163,184,.16); }
.improvement-detail-grid p,.improvement-detail-grid li { line-height:1.55; color:#475569; }
.improvement-mini-card { padding:.75rem; margin:.65rem 0; border-radius:15px; background:rgba(248,250,252,.9); border:1px solid rgba(148,163,184,.16); }
.improvement-mini-card strong,.improvement-mini-card small { display:block; }
.improvement-mini-card small { color:#64748b; margin:.3rem 0; }
.improvement-mini-card p { margin:.45rem 0 0; }
.improvement-item details { margin:.85rem 0; border-top:1px solid rgba(148,163,184,.2); padding-top:.8rem; }
.improvement-item summary { cursor:pointer; font-weight:850; color:#1f3f86; }
.improvement-review-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1rem; align-items:end; padding-top:1rem; border-top:1px solid rgba(148,163,184,.2); }
.improvement-review-row textarea { font-family:inherit; }
.table-wrap td small { display:block; margin-top:.25rem; }
@media (max-width:1200px) { .improvement-config-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .improvement-score-grid,.improvement-detail-grid.triple { grid-template-columns:1fr; } }
@media (max-width:820px) { .improvement-config-grid,.improvement-score-grid,.improvement-detail-grid,.improvement-review-row { grid-template-columns:1fr; } .improvement-item-head { grid-template-columns:1fr; } .improvement-sequence { width:100%; min-height:52px; grid-template-columns:auto auto; display:flex; justify-content:center; } }
.improvement-framework-panel { background:linear-gradient(145deg,rgba(236,253,245,.94),rgba(255,255,255,.94)); border-color:rgba(5,150,105,.18); }
.button-link { display:inline-flex; align-items:center; justify-content:center; min-height:42px; padding:.72rem 1rem; border-radius:14px; text-decoration:none; font-weight:800; }
.button-row .button-link { flex:1 1 180px; }

/* Strategy Execution Suite */
.strategy-execution-page { gap: 1.1rem; }
.execution-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1.5rem; }
.execution-health-orb { width: 152px; height: 152px; border-radius: 999px; display: grid; place-items: center; align-content: center; text-align: center; background: radial-gradient(circle at 35% 28%, #fff, #dbeafe 58%, #bfdbfe); border: 12px solid rgba(37,99,235,.15); box-shadow: 0 24px 55px rgba(37,99,235,.17), inset 0 1px 18px rgba(255,255,255,.9); }
.execution-health-orb strong { font-size: 2.65rem; letter-spacing: -.07em; color: #0f172a; line-height: 1; }
.execution-health-orb span { max-width: 90px; color: #475569; font-weight: 850; font-size: .78rem; margin-top: .35rem; }
.execution-config-panel { background: linear-gradient(145deg, rgba(239,246,255,.9), rgba(255,255,255,.8)); }
.execution-config-grid { display: grid; grid-template-columns: minmax(260px, 1.7fr) repeat(4, minmax(130px, .6fr)); gap: .85rem; margin-top: 1rem; align-items: end; }
.execution-metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.execution-metric { padding: 1rem 1.1rem; border-radius: 1.25rem; background: rgba(255,255,255,.8); border: 1px solid rgba(148,163,184,.25); box-shadow: 0 18px 42px rgba(15,23,42,.06); min-width: 0; }
.execution-metric span { display: block; color: #64748b; font-size: .76rem; font-weight: 900; text-transform: uppercase; letter-spacing: .08em; }
.execution-metric strong { display: block; font-size: 1.7rem; margin: .25rem 0; letter-spacing: -.045em; overflow-wrap: anywhere; }
.execution-metric small { display: block; color: #64748b; line-height: 1.35; }
.execution-tabs { display: flex; gap: .5rem; flex-wrap: wrap; padding: .5rem; border-radius: 1.2rem; background: rgba(226,232,240,.6); position: sticky; top: .75rem; z-index: 10; backdrop-filter: blur(14px); border: 1px solid rgba(148,163,184,.18); }
.execution-tabs button { box-shadow: none; padding: .65rem .8rem; }
.execution-tabs button.active { background: #0f172a; color: white; }
.execution-two-column { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 1rem; align-items: start; }
.execution-score-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 1rem 0; }
.execution-action-list { display: grid; gap: .65rem; padding-left: 1.25rem; }
.execution-action-list li { padding: .6rem .75rem; border-radius: .9rem; background: #f8fafc; border: 1px solid #e2e8f0; }
.execution-list { display: grid; gap: .8rem; margin-top: .85rem; }
.execution-conflict-card { display: grid; gap: .7rem; padding: 1rem; border-radius: 1.15rem; background: rgba(248,250,252,.9); border: 1px solid rgba(148,163,184,.24); }
.execution-conflict-card p { margin: 0; }
.execution-conflict-card select { width: auto; min-width: 190px; }
.execution-roadmap { display: grid; gap: .75rem; margin-top: 1rem; }
.roadmap-card { display: grid; grid-template-columns: 135px minmax(0,1fr) auto; gap: 1rem; align-items: center; padding: 1rem; border-radius: 1.2rem; background: rgba(248,250,252,.85); border: 1px solid rgba(148,163,184,.22); border-left: 5px solid #94a3b8; }
.roadmap-card.success { border-left-color: #10b981; }
.roadmap-card.warning { border-left-color: #f59e0b; }
.roadmap-card.danger { border-left-color: #ef4444; }
.roadmap-date { display: grid; gap: .3rem; }
.roadmap-date strong { font-size: 1.4rem; color: #1e3a8a; }
.roadmap-date span { color: #64748b; font-size: .8rem; }
.execution-editor-card { display: grid; gap: .75rem; padding: 1rem; border-radius: 1.1rem; background: rgba(248,250,252,.86); border: 1px solid rgba(148,163,184,.22); }
.execution-editor-card small, .execution-inline-row small { display: block; color: #64748b; margin-top: .2rem; }
.execution-editor-grid { display: grid; grid-template-columns: repeat(3, minmax(130px, 1fr)); gap: .7rem; align-items: end; }
.execution-editor-grid.three { grid-template-columns: repeat(3, minmax(120px,1fr)); }
.execution-editor-grid .wide { grid-column: span 2; }
.compact-editor { padding: .85rem; }
.progress-track { width: 100%; height: 10px; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.progress-track span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2563eb, #06b6d4); transition: width .3s ease; }
.execution-progress-number { display: block; text-align: right; font-size: 1.35rem; margin-top: .25rem; }
.execution-budget-label { display: block; margin-top: .55rem; text-align: right; color: #334155; }
.execution-project-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: .9rem; margin-top: 1rem; }
.execution-project-card { display: grid; gap: .75rem; padding: 1rem; border-radius: 1.25rem; background: linear-gradient(145deg, rgba(248,250,252,.95), rgba(239,246,255,.72)); border: 1px solid rgba(148,163,184,.25); }
.execution-project-card h3 { margin-bottom: 0; }
.execution-score-row { display: flex; gap: .75rem; flex-wrap: wrap; }
.execution-score-row span { padding: .45rem .65rem; border-radius: .75rem; background: white; border: 1px solid #e2e8f0; color: #64748b; font-size: .82rem; }
.execution-score-row strong { color: #0f172a; }
.execution-inline-row { display: grid; grid-template-columns: minmax(0,1fr) 160px auto; gap: .65rem; align-items: center; padding: .7rem; border-radius: .9rem; background: white; border: 1px solid #e2e8f0; }
.execution-inline-row select { min-width: 140px; }
.recovery-card { border-left: 5px solid #f59e0b; }
.execution-editor-grid > div { display: grid; gap: .35rem; align-content: end; }
.execution-editor-grid > div > span { color: #64748b; font-weight: 800; }
.execution-editor-grid > div > strong { font-size: 1.25rem; }
td small { display: block; color: #64748b; margin-top: .2rem; }
.pill.warning { background: #fef3c7; color: #92400e; }

@media (max-width: 1260px) {
  .execution-config-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .execution-config-grid label:first-child { grid-column: span 2; }
  .execution-metrics-grid, .execution-score-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .execution-two-column, .execution-project-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .execution-hero { grid-template-columns: 1fr; }
  .execution-health-orb { width: 120px; height: 120px; }
  .execution-config-grid, .execution-metrics-grid, .execution-score-grid, .execution-editor-grid, .execution-editor-grid.three { grid-template-columns: 1fr; }
  .execution-config-grid label:first-child, .execution-editor-grid .wide { grid-column: auto; }
  .roadmap-card { grid-template-columns: 1fr; }
  .execution-inline-row { grid-template-columns: 1fr; }
  .execution-tabs { position: static; }
}

/* Organizational intelligence, governance and change-control workbench */
.org-intelligence-config-grid { display: grid; grid-template-columns: repeat(5, minmax(125px, 1fr)); gap: .8rem; align-items: end; margin-top: 1rem; }
.org-intelligence-config-grid .wide { grid-column: span 2; }
.org-score-row { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(150px, 1.7fr) auto; gap: .8rem; align-items: center; padding: .7rem 0; border-bottom: 1px solid rgba(148,163,184,.2); }
.org-score-row small { display: block; color: #64748b; margin-top: .2rem; }
.org-score-number { font-size: 1.8rem; letter-spacing: -.04em; }
.risk-card { border-left: 5px solid #f59e0b; }
.risk-score { min-width: 92px; height: 92px; border-radius: 999px; background: #fff7ed; border: 1px solid #fed7aa; display: grid; place-items: center; align-content: center; }
.risk-score strong { font-size: 2rem; line-height: 1; }
.risk-score small { color: #9a3412; font-weight: 800; }
.governance-meeting-card { border-top: 5px solid #2563eb; }
.org-impact-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: .7rem; margin: .9rem 0; }
.org-impact-grid > div { padding: .8rem; border-radius: .9rem; background: #f8fafc; border: 1px solid #e2e8f0; }
.org-impact-grid span { color: #64748b; font-size: .72rem; font-weight: 900; text-transform: uppercase; letter-spacing: .06em; }
.org-impact-grid p { margin: .35rem 0 0; }
@media (max-width: 1100px) { .org-intelligence-config-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .org-intelligence-config-grid .wide { grid-column: span 2; } .org-impact-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 700px) { .org-intelligence-config-grid, .org-impact-grid, .org-score-row { grid-template-columns: 1fr; } .org-intelligence-config-grid .wide { grid-column: auto; } }

/* Enterprise growth, collaboration, public reporting and mobile experience */
.growth-tabs { overflow-x: auto; flex-wrap: nowrap; padding-bottom: .35rem; }
.command-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.command-hero { grid-column: 1 / -1; background: linear-gradient(135deg, rgba(22,33,62,.98), rgba(48,59,96,.94)); color: #fff; }
.command-hero .eyebrow, .command-hero p { color: rgba(255,255,255,.78); }
.decision-callout { border-left: 4px solid var(--accent, #6c63ff); padding: .8rem 1rem; background: rgba(108,99,255,.07); border-radius: .6rem; }
.benchmark-values { display: flex; align-items: baseline; gap: .75rem; margin: 1rem 0; }
.benchmark-values strong { font-size: 2.35rem; }
.progress-track { height: .65rem; border-radius: 999px; background: rgba(22,33,62,.1); overflow: hidden; }
.progress-track > span { display: block; height: 100%; border-radius: inherit; background: currentColor; min-width: 2px; }
.prediction-card details { margin: .75rem 0; }
.grid.compact, .stack.compact { gap: .65rem; }
.collaboration-layout { display: grid; grid-template-columns: minmax(220px, .35fr) minmax(0, 1fr); gap: 1rem; }
.room-button { width: 100%; text-align: left; margin-bottom: .55rem; display: flex; justify-content: space-between; align-items: center; }
.room-button small { display: block; opacity: .7; }
.collaboration-thread { min-height: 570px; display: flex; flex-direction: column; }
.presence-row, .chip-row { display: flex; gap: .5rem; flex-wrap: wrap; align-items: center; }
.chip { display: inline-flex; padding: .35rem .65rem; border-radius: 999px; background: rgba(22,33,62,.07); font-size: .82rem; }
.message-list { flex: 1; max-height: 390px; overflow-y: auto; padding: .75rem; border-radius: .8rem; background: rgba(22,33,62,.035); margin: .75rem 0; }
.message-bubble { width: min(84%, 720px); padding: .75rem .9rem; border-radius: .9rem; background: #fff; box-shadow: 0 8px 24px rgba(22,33,62,.07); margin-bottom: .65rem; }
.message-bubble p { margin: .3rem 0; }
.message-composer { display: grid; grid-template-columns: 1fr auto; gap: .75rem; align-items: end; }
.subtle-card { padding: .85rem; border: 1px solid rgba(22,33,62,.1); border-radius: .8rem; background: rgba(255,255,255,.68); }
.span-two { grid-column: span 2; }
.subscription-summary pre { max-height: 260px; overflow: auto; }
.pricing-card > strong { display: block; font-size: 1.8rem; margin: .75rem 0; }
.pricing-card > strong small { font-size: .8rem; opacity: .65; }
.mobile-preview-grid { display: grid; grid-template-columns: 1fr minmax(280px, 390px); gap: 2rem; align-items: center; }
.phone-frame { max-width: 360px; min-height: 620px; margin: 0 auto; padding: .7rem; border-radius: 2.4rem; background: #111827; box-shadow: 0 32px 70px rgba(17,24,39,.28); }
.phone-notch { width: 42%; height: 20px; margin: 0 auto .5rem; border-radius: 0 0 1rem 1rem; background: #030712; }
.phone-content { min-height: 580px; border-radius: 1.8rem; padding: 1.35rem; background: linear-gradient(160deg, #f7f8fc, #e9edff); }
.phone-content img { width: 130px; max-height: 50px; object-fit: contain; margin-bottom: 2rem; }
.mobile-stat { display: flex; justify-content: space-between; align-items: center; padding: 1rem; border-radius: 1rem; background: #fff; margin: .75rem 0; box-shadow: 0 12px 28px rgba(22,33,62,.08); }
.mobile-stat strong { font-size: 1.8rem; }
.public-shell { min-height: 100vh; padding: clamp(1rem, 4vw, 4rem); background: radial-gradient(circle at top right, rgba(108,99,255,.13), transparent 35%), #f4f6fb; }
.public-report { max-width: 1180px; margin: 0 auto; }
.public-report > header { padding: clamp(1.5rem, 4vw, 4rem); margin-bottom: 1.2rem; border-radius: 1.4rem; background: linear-gradient(135deg, #111a34, #303b60); color: #fff; }
.public-report > header img { width: 180px; max-height: 70px; object-fit: contain; background: #fff; padding: .65rem; border-radius: .8rem; margin-bottom: 1.5rem; }
.public-report > header .eyebrow, .public-report > header p { color: rgba(255,255,255,.8); }
.public-report footer { text-align: center; padding: 2rem; color: var(--muted, #6b7280); }
.table-wrap { overflow-x: auto; }

@media (max-width: 980px) {
  .command-grid, .collaboration-layout, .mobile-preview-grid { grid-template-columns: 1fr; }
  .collaboration-thread { min-height: 480px; }
  .span-two { grid-column: auto; }
}
@media (max-width: 720px) {
  .message-composer { grid-template-columns: 1fr; }
  .command-grid { grid-template-columns: 1fr; }
  .public-shell { padding: .75rem; }
  .phone-frame { min-height: 560px; }
  .phone-content { min-height: 520px; }
}

/* Platform Assurance & Launch */
.assurance-page .assurance-score { display: block; font-size: 2rem; margin: .5rem 0; }
.assurance-phase-grid .panel { min-height: 240px; }
.brand-preview { min-height: 360px; display: flex; flex-direction: column; justify-content: center; }
.check-row { display: flex !important; align-items: center; gap: .65rem; }
.check-row input { width: auto; }
.gate-card { border: 1px solid var(--border, #dfe3ec); border-radius: 16px; padding: 1rem; display: grid; gap: .65rem; background: rgba(255,255,255,.62); }
.gate-card strong { line-height: 1.35; }
.span-all { grid-column: 1 / -1; }
.metric-grid.compact > div { background: rgba(246,247,251,.92); border: 1px solid var(--border, #e0e4ed); border-radius: 12px; padding: .8rem; }
.metric-grid.compact > div span { display: block; font-size: .75rem; color: var(--muted, #657086); }
.metric-grid.compact > div strong { display: block; margin-top: .25rem; font-size: 1.1rem; }
@media (max-width: 900px) {
  .assurance-phase-grid,
  .assurance-page .grid.three,
  .assurance-page .grid.two { grid-template-columns: 1fr; }
  .span-all { grid-column: auto; }
}


/* src/styles/production-polish.css */
/* Production experience layer -------------------------------------------------
   This stylesheet intentionally sits after app.css. It provides the final
   customer-facing visual system without removing specialised module styles. */

:root {
  --ink-950: #071526;
  --ink-900: #0d2035;
  --ink-800: #17324d;
  --ink-700: #36506a;
  --ink-600: #587087;
  --ink-500: #74889b;
  --surface: #ffffff;
  --surface-soft: #f6f9fc;
  --surface-muted: #edf3f8;
  --line: #dfe8f0;
  --line-strong: #cbd8e4;
  --brand-navy: #102c5c;
  --brand-blue: #245b9d;
  --brand-cyan: #52aec3;
  --brand-teal: #11a6a0;
  --brand-violet: #6758c8;
  --brand-amber: #e59b35;
  --success: #128565;
  --warning: #b86a0f;
  --danger: #c43c4b;
  --shadow-sm: 0 8px 28px rgba(10, 34, 57, .07);
  --shadow-md: 0 18px 55px rgba(10, 34, 57, .10);
  --shadow-lg: 0 32px 90px rgba(8, 30, 52, .16);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink-900);
  background: #f2f6fa;
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

html { background: #f2f6fa; scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: #f2f6fa; color: var(--ink-900); }
body, button, input, textarea, select { font-family: inherit; }
::selection { background: rgba(82, 174, 195, .24); color: var(--ink-950); }

a { color: var(--brand-blue); }
button, .button-link { border-radius: 12px; font-weight: 760; letter-spacing: -.01em; }
button { background: var(--brand-navy); box-shadow: 0 10px 24px rgba(16, 44, 92, .16); }
button:hover { box-shadow: 0 15px 30px rgba(16, 44, 92, .21); }
button.ghost, .ghost { background: #fff; color: var(--ink-800); border: 1px solid var(--line); }
button.secondary, .secondary { background: var(--surface-muted); color: var(--ink-800); border: 1px solid var(--line); box-shadow: none; }

input, textarea, select {
  width: 100%;
  color: var(--ink-900);
  background: #fff;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  min-height: 44px;
  padding: .72rem .85rem;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
textarea { min-height: 112px; resize: vertical; }
input::placeholder, textarea::placeholder { color: #95a6b6; }
input:focus, textarea:focus, select:focus {
  outline: 0;
  border-color: var(--brand-cyan);
  box-shadow: 0 0 0 4px rgba(82, 174, 195, .14);
  background: #fff;
}
label { color: var(--ink-700); font-weight: 720; font-size: .88rem; }

h1, h2, h3, h4 { color: var(--ink-950); letter-spacing: -.035em; }
h1 { line-height: 1.04; }
p { line-height: 1.62; }
.muted { color: var(--ink-600) !important; }
.eyebrow { color: var(--brand-blue); font-size: .72rem; font-weight: 850; letter-spacing: .11em; text-transform: uppercase; }

.surface-card, .glass-panel, .metric-card, .panel, .upload-box, .hero-panel, .page-section {
  background: rgba(255, 255, 255, .96);
  border: 1px solid rgba(203, 216, 228, .82);
  box-shadow: var(--shadow-sm);
  backdrop-filter: none;
}
.panel, .metric-card, .upload-box { border-radius: 18px; }
.panel { padding: 1.25rem; }
.panel:hover, .metric-card:hover { transform: none; border-color: var(--line-strong); box-shadow: var(--shadow-md); }
.metric-card::before { width: 4px; background: var(--brand-cyan); }
.pill { border-radius: 999px; font-weight: 760; font-size: .74rem; letter-spacing: .01em; }
.error-box, .auth-error { white-space: normal; border: 1px solid #f2c8ce; background: #fff4f5; color: #992d3c; border-radius: 12px; padding: .8rem .9rem; font-size: .88rem; line-height: 1.45; }

/* Application shell */
.production-shell.app-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  background:
    radial-gradient(circle at 98% 2%, rgba(82, 174, 195, .10), transparent 25rem),
    #f2f6fa;
}

.app-sidebar.sidebar {
  position: fixed;
  z-index: 50;
  inset: 0 auto 0 0;
  width: 286px;
  height: 100vh;
  margin: 0;
  padding: 1.05rem .9rem .85rem;
  border: 0;
  border-radius: 0;
  border-right: 1px solid #e0e8ef;
  background: #fff;
  box-shadow: 10px 0 35px rgba(9, 32, 55, .045);
  display: flex;
  gap: .8rem;
}
.sidebar-brand-row { display: flex; align-items: center; justify-content: space-between; min-height: 62px; padding: 0 .35rem; }
.app-sidebar .brand { min-width: 0; text-decoration: none; }
.app-sidebar .logo-surface { background: transparent; border: 0; box-shadow: none; padding: 0; width: 178px; height: 54px; justify-content: flex-start; }
.app-sidebar .brand-logo { width: 172px; max-height: 52px; object-fit: contain; object-position: left center; }
.sidebar-close { display: none; width: 38px; height: 38px; padding: 0; place-items: center; background: #f2f6f9; color: var(--ink-700); box-shadow: none; border: 1px solid var(--line); }

.workspace-summary {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  align-items: center;
  gap: .7rem;
  padding: .7rem;
  border-radius: 14px;
  background: linear-gradient(145deg, #f2f7fb, #f8fbfd);
  border: 1px solid #e1eaf1;
}
.workspace-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: var(--brand-navy); }
.workspace-summary span:not(.workspace-icon) { display: block; color: var(--ink-500); font-size: .69rem; font-weight: 780; text-transform: uppercase; letter-spacing: .07em; }
.workspace-summary strong { display: block; margin-top: .14rem; color: var(--ink-900); font-size: .85rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

.nav-search { position: relative; display: flex; align-items: center; color: var(--ink-500); }
.nav-search > svg { position: absolute; left: .78rem; z-index: 1; }
.nav-search input { min-height: 40px; padding: .58rem .7rem .58rem 2.45rem; border-radius: 12px; background: #f7fafc; font-size: .84rem; }

.primary-nav { flex: 1; overflow-y: auto; padding: .15rem .2rem 1rem; scrollbar-width: thin; scrollbar-color: #d4dee7 transparent; }
.nav-group { margin: 0 0 .85rem; }
.nav-group h2 { margin: .5rem .65rem .32rem; color: #93a2b1; font-size: .64rem; font-weight: 860; letter-spacing: .115em; text-transform: uppercase; }
.app-sidebar nav a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  gap: .6rem;
  min-height: 42px;
  padding: .38rem .58rem;
  margin: .09rem 0;
  border-radius: 11px;
  color: #556b7f;
  font-size: .84rem;
  font-weight: 680;
  text-decoration: none;
  transition: background .16s ease, color .16s ease, transform .16s ease;
}
.app-sidebar nav a:hover { background: #f1f6f9; color: var(--ink-900); transform: none; }
.app-sidebar nav a.active { color: #fff; background: var(--brand-navy); box-shadow: 0 10px 24px rgba(16, 44, 92, .19); }
.app-sidebar .nav-icon { width: 32px; height: 32px; border-radius: 9px; background: rgba(16, 44, 92, .065); }
.app-sidebar nav a.active .nav-icon { background: rgba(255,255,255,.14); }
.nav-chevron { opacity: .75; }

.sidebar-account-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) 36px;
  align-items: center;
  gap: .65rem;
  padding: .72rem;
  border-top: 1px solid var(--line);
}
.account-avatar { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg, var(--brand-blue), var(--brand-cyan)); font-size: .78rem; font-weight: 850; }
.account-copy { min-width: 0; }
.account-copy strong, .account-copy span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.account-copy strong { font-size: .82rem; color: var(--ink-900); }
.account-copy span { margin-top: .1rem; color: var(--ink-500); font-size: .7rem; text-transform: capitalize; }
.sidebar-account-card button { width: 36px; height: 36px; padding: 0; display: grid; place-items: center; color: var(--ink-600); background: #f4f7f9; box-shadow: none; border: 1px solid var(--line); }

.app-content.content { grid-column: 2; width: auto; max-width: none; min-width: 0; padding: 0; }
.app-topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  min-height: 76px;
  padding: .85rem clamp(1rem, 2.2vw, 2rem);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  background: rgba(247, 250, 252, .90);
  border-bottom: 1px solid rgba(214, 225, 234, .92);
  backdrop-filter: blur(16px);
}
.topbar-title span, .topbar-title strong { display: block; }
.topbar-kicker { color: var(--brand-cyan); font-size: .67rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.topbar-title strong { margin-top: .1rem; color: var(--ink-950); font-size: 1.03rem; letter-spacing: -.025em; }
.topbar-actions { display: flex; align-items: center; gap: .8rem; }
.workspace-select { display: flex; align-items: center; gap: .55rem; color: var(--ink-500); font-size: .72rem; }
.workspace-select select { min-width: 190px; min-height: 40px; padding: .55rem 2rem .55rem .75rem; font-size: .8rem; }
.security-status { display: grid; grid-template-columns: 9px auto; align-items: center; gap: .55rem; padding: .45rem .7rem; border-radius: 12px; background: #fff; border: 1px solid var(--line); }
.security-status .status-dot { width: 8px; height: 8px; background: #13a176; box-shadow: 0 0 0 4px rgba(19,161,118,.11); }
.security-status strong, .security-status small { display: block; }
.security-status strong { color: var(--ink-800); font-size: .73rem; }
.security-status small { color: var(--ink-500); font-size: .64rem; margin-top: .05rem; }
.page-canvas { width: 100%; max-width: 1650px; margin: 0 auto; padding: clamp(1rem, 2.3vw, 2rem); }
.mobile-menu-button { display: none; }
.sidebar-backdrop { display: none; }

/* Normalize page surfaces and headers */
.page-canvas > section, .page-canvas > div { animation: page-in .34s ease both; }
@keyframes page-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: translateY(0); } }
.page-header.hero-panel, .hero-panel, .hero-card, .hero {
  border: 1px solid #dce7ef;
  border-radius: 22px;
  padding: clamp(1.25rem, 2vw, 1.8rem);
  background: linear-gradient(145deg, #fff, #f5fafc);
  box-shadow: var(--shadow-sm);
}
.page-header h1, .section-head h1 { margin-top: .35rem; font-size: clamp(1.65rem, 3vw, 2.45rem); }
.section-head { gap: 1rem; }
.execution-tabs { top: 88px; background: rgba(255,255,255,.93); border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.execution-tabs button { background: transparent; color: var(--ink-600); border: 0; }
.execution-tabs button.active { background: var(--brand-navy); color: #fff; }
.table-wrap { border: 1px solid var(--line); border-radius: 14px; background: #fff; }
table { border-collapse: collapse; width: 100%; }
th { background: #f5f8fa; color: var(--ink-600); font-size: .71rem; letter-spacing: .06em; text-transform: uppercase; }
th, td { padding: .8rem .85rem; border-bottom: 1px solid #e9eff4; }
tr:last-child td { border-bottom: 0; }

/* Login and registration */
.production-auth.auth-screen {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(420px, 1.08fr) minmax(480px, .92fr);
  padding: 0;
  gap: 0;
  background: #f4f7fa;
}
.auth-story-panel {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  min-height: 100vh;
  padding: clamp(2.2rem, 6vw, 6.5rem);
  color: #fff;
  background:
    radial-gradient(circle at 12% 10%, rgba(82, 174, 195, .38), transparent 28rem),
    radial-gradient(circle at 92% 92%, rgba(103, 88, 200, .26), transparent 25rem),
    linear-gradient(145deg, #091c34, #12355d 58%, #164967);
}
.auth-story-panel::before { content: ""; position: absolute; inset: 0; opacity: .11; background-image: linear-gradient(rgba(255,255,255,.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.18) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom right, #000, transparent 72%); }
.auth-story-content { position: relative; z-index: 2; max-width: 690px; }
.auth-story-logo { width: 195px; height: auto; padding: .7rem .8rem; margin-bottom: clamp(2rem, 5vw, 4.2rem); border-radius: 14px; background: rgba(255,255,255,.97); box-shadow: 0 20px 50px rgba(0,0,0,.16); }
.auth-kicker { display: inline-flex; padding: .38rem .65rem; border: 1px solid rgba(255,255,255,.21); border-radius: 999px; color: #c9edf4; background: rgba(255,255,255,.07); font-size: .72rem; font-weight: 820; letter-spacing: .09em; text-transform: uppercase; }
.auth-story-content h1 { max-width: 650px; margin: 1rem 0 1.1rem; color: #fff; font-size: clamp(2.5rem, 5vw, 4.8rem); line-height: .98; letter-spacing: -.062em; }
.auth-story-content > p { max-width: 620px; margin: 0; color: rgba(235,247,252,.77); font-size: clamp(1rem, 1.4vw, 1.16rem); }
.auth-value-list { display: grid; gap: .95rem; margin-top: 2.2rem; max-width: 620px; }
.auth-value-list > div { display: grid; grid-template-columns: 44px minmax(0, 1fr); align-items: center; gap: .8rem; }
.auth-value-list > div > span { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 13px; color: #bcecf4; background: rgba(255,255,255,.09); border: 1px solid rgba(255,255,255,.12); }
.auth-value-list strong, .auth-value-list small { display: block; }
.auth-value-list strong { color: #fff; font-size: .92rem; }
.auth-value-list small { color: rgba(230,243,249,.66); margin-top: .18rem; line-height: 1.45; font-size: .79rem; }
.auth-trust-row { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2rem; }
.auth-trust-row span { padding: .38rem .6rem; border-radius: 999px; color: rgba(235,247,252,.75); background: rgba(255,255,255,.07); font-size: .7rem; font-weight: 730; }
.auth-orbit { position: absolute; border-radius: 999px; border: 1px solid rgba(255,255,255,.11); }
.auth-orbit-one { width: 490px; height: 490px; right: -255px; top: -110px; }
.auth-orbit-two { width: 270px; height: 270px; right: -110px; bottom: 7%; }

.auth-form-panel { display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 100vh; padding: clamp(1.5rem, 5vw, 5rem); background: #f7fafc; }
.auth-form-card { width: min(100%, 540px); padding: clamp(1.5rem, 3.4vw, 2.55rem); border-radius: 24px; background: #fff; border: 1px solid #dfe8ef; box-shadow: var(--shadow-lg); }
.auth-mobile-brand { display: none; }
.auth-heading h2 { margin: .4rem 0 .5rem; font-size: clamp(1.7rem, 3vw, 2.2rem); }
.auth-heading p { margin: 0; color: var(--ink-600); font-size: .91rem; }
.auth-tabs { display: grid; grid-template-columns: repeat(3, 1fr); gap: .35rem; margin: 1.5rem 0; padding: .3rem; border-radius: 13px; background: #eef3f7; }
.auth-tabs button { min-height: 39px; padding: .55rem .45rem; background: transparent; color: var(--ink-600); border: 0; border-radius: 10px; box-shadow: none; font-size: .8rem; }
.auth-tabs button:hover { transform: none; box-shadow: none; color: var(--ink-900); }
.auth-tabs button.active { background: #fff; color: var(--ink-950); box-shadow: 0 4px 14px rgba(10,34,57,.09); }
.auth-form { display: grid; gap: .95rem; }
.auth-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem; }
.auth-field { display: grid; gap: .42rem; color: var(--ink-700); font-size: .78rem; font-weight: 770; }
.auth-field > div { position: relative; display: flex; align-items: center; }
.auth-field > div > svg { position: absolute; left: .82rem; color: #8295a7; pointer-events: none; }
.auth-field input { min-height: 48px; padding-left: 2.55rem; padding-right: .85rem; background: #fbfcfd; }
.auth-field:has(.password-toggle) input { padding-right: 2.8rem; }
.password-toggle { position: absolute; right: .35rem; width: 38px; height: 38px; padding: 0; display: grid; place-items: center; color: var(--ink-500); background: transparent; box-shadow: none; }
.password-toggle:hover { transform: none; box-shadow: none; color: var(--ink-900); }
.auth-submit { min-height: 50px; display: flex; align-items: center; justify-content: center; gap: .55rem; margin-top: .15rem; background: var(--brand-navy); }
.auth-security-note { display: flex; align-items: center; justify-content: center; gap: .35rem; margin: 1.1rem 0 0; color: var(--ink-500); font-size: .71rem; text-align: center; }
.auth-security-note svg { color: var(--success); }
.auth-footer { margin: 1.2rem 0 0; color: var(--ink-500); font-size: .7rem; text-align: center; }

/* Dashboard */
.dashboard-page { display: grid; gap: 1.1rem; }
.dashboard-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 355px);
  align-items: center;
  gap: 2rem;
  min-height: 280px;
  padding: clamp(1.5rem, 3.2vw, 2.7rem);
  border-radius: 24px;
  color: #fff;
  background:
    radial-gradient(circle at 78% -20%, rgba(82, 174, 195, .36), transparent 23rem),
    linear-gradient(145deg, #0c2849, #153e67 64%, #1c5572);
  box-shadow: 0 26px 70px rgba(12, 40, 73, .20);
}
.dashboard-hero::after { content: ""; position: absolute; width: 320px; height: 320px; right: 17%; bottom: -255px; border-radius: 50%; border: 1px solid rgba(255,255,255,.12); }
.dashboard-hero-copy { position: relative; z-index: 1; }
.dashboard-date { display: flex; align-items: center; gap: .45rem; color: rgba(232,248,251,.74); font-size: .73rem; font-weight: 720; }
.dashboard-hero h1 { margin: .8rem 0 .55rem; color: #fff; font-size: clamp(2rem, 4vw, 3.3rem); }
.dashboard-hero-copy > p { max-width: 720px; margin: 0; color: rgba(232,246,250,.76); font-size: .98rem; }
.dashboard-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; margin-top: 1.35rem; }
.dashboard-actions a { display: inline-flex; align-items: center; justify-content: center; gap: .45rem; min-height: 43px; padding: .65rem .85rem; border-radius: 11px; font-size: .78rem; font-weight: 780; text-decoration: none; }
.primary-action { color: #0b2b47; background: #fff; box-shadow: 0 12px 30px rgba(0,0,0,.15); }
.secondary-action { color: #fff; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); }
.text-action { color: #c6edf3; }
.dashboard-health-card { position: relative; z-index: 1; padding: 1.35rem; border-radius: 19px; background: rgba(255,255,255,.105); border: 1px solid rgba(255,255,255,.15); backdrop-filter: blur(12px); }
.dashboard-health-card > span { color: rgba(232,246,250,.72); font-size: .73rem; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; }
.dashboard-health-card > strong { display: block; margin: .25rem 0 .55rem; color: #fff; font-size: 3.45rem; line-height: 1; letter-spacing: -.07em; }
.dashboard-health-card > strong small { font-size: 1.35rem; color: #b7e8ef; }
.health-track { height: 8px; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.13); }
.health-track span { display: block; height: 100%; border-radius: inherit; background: #6ed2d7; }
.dashboard-health-card p { margin: .8rem 0 0; color: rgba(233,246,250,.68); font-size: .72rem; line-height: 1.5; }

.dashboard-metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; }
.dashboard-metric-card { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: .85rem; align-items: center; min-height: 124px; padding: 1.05rem; border-radius: 18px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.metric-icon { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 14px; }
.metric-icon.teal { color: #07837e; background: #e7f8f6; }
.metric-icon.blue { color: #2b63a4; background: #eaf2fb; }
.metric-icon.violet { color: #6758c8; background: #f0edff; }
.metric-icon.amber { color: #b87516; background: #fff3df; }
.dashboard-metric-card small, .dashboard-metric-card strong, .dashboard-metric-card p { display: block; }
.dashboard-metric-card small { color: var(--ink-500); font-size: .7rem; font-weight: 820; text-transform: uppercase; letter-spacing: .065em; }
.dashboard-metric-card strong { margin-top: .16rem; color: var(--ink-950); font-size: 1.65rem; line-height: 1.05; letter-spacing: -.045em; }
.dashboard-metric-card p { margin: .2rem 0 0; color: var(--ink-500); font-size: .68rem; line-height: 1.35; }

.dashboard-main-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; }
.dashboard-panel { min-width: 0; padding: 1.25rem; border-radius: 19px; background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
.panel-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; padding-bottom: .85rem; border-bottom: 1px solid #e8eef3; }
.panel-heading h2 { margin: .2rem 0 0; font-size: 1.12rem; }
.panel-heading a { display: inline-flex; align-items: center; gap: .3rem; color: var(--brand-blue); font-size: .72rem; font-weight: 780; text-decoration: none; white-space: nowrap; }
.delivery-status-list, .recent-list, .kpi-list, .journey-list { display: grid; gap: .15rem; margin-top: .7rem; }
.delivery-status-row { display: grid; grid-template-columns: 9px minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .7rem .3rem; border-bottom: 1px solid #edf2f5; }
.delivery-status-row:last-child { border-bottom: 0; }
.delivery-dot { width: 8px; height: 8px; border-radius: 50%; background: #7a91a5; }
.delivery-dot.completed { background: var(--success); }
.delivery-dot.in_progress { background: var(--brand-blue); }
.delivery-dot.blocked { background: var(--danger); }
.delivery-dot.not_started { background: var(--brand-amber); }
.delivery-status-row strong, .delivery-status-row small { display: block; }
.delivery-status-row strong { font-size: .82rem; color: var(--ink-800); }
.delivery-status-row small { margin-top: .1rem; color: var(--ink-500); font-size: .67rem; }
.delivery-status-row b { color: var(--ink-950); font-size: 1rem; }
.recent-item { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .62rem .25rem; border-bottom: 1px solid #edf2f5; }
.recent-item:last-child { border-bottom: 0; }
.file-icon { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 11px; color: var(--brand-blue); background: #edf4fb; }
.recent-item strong, .recent-item small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.recent-item strong { color: var(--ink-800); font-size: .78rem; }
.recent-item small { margin-top: .15rem; color: var(--ink-500); font-size: .66rem; }
.status-badge { padding: .3rem .48rem; border-radius: 999px; color: var(--ink-600); background: #f0f4f7; font-size: .62rem; font-weight: 760; white-space: nowrap; }
.kpi-row { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .72rem .25rem; border-bottom: 1px solid #edf2f5; }
.kpi-row:last-child { border-bottom: 0; }
.kpi-row strong, .kpi-row small { display: block; }
.kpi-row strong { color: var(--ink-800); font-size: .8rem; }
.kpi-row small { margin-top: .15rem; color: var(--ink-500); font-size: .65rem; }
.kpi-row b { color: var(--ink-950); font-size: 1.08rem; text-align: right; }
.kpi-row b small { display: inline; margin-left: .25rem; }
.journey-list a { display: grid; grid-template-columns: 35px minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .72rem .3rem; border-bottom: 1px solid #edf2f5; color: inherit; text-decoration: none; }
.journey-list a:last-child { border-bottom: 0; }
.journey-list > a > span { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: var(--brand-blue); background: #edf4fb; font-size: .68rem; font-weight: 840; }
.journey-list strong, .journey-list small { display: block; }
.journey-list strong { color: var(--ink-800); font-size: .79rem; }
.journey-list small { margin-top: .13rem; color: var(--ink-500); font-size: .66rem; }
.journey-list svg { color: #9aabba; }
.empty-state { min-height: 220px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 1.4rem; text-align: center; }
.empty-state.compact { min-height: 180px; }
.empty-state > span { width: 48px; height: 48px; display: grid; place-items: center; border-radius: 15px; color: var(--brand-blue); background: #edf4fb; }
.empty-state h3 { margin: .75rem 0 .25rem; font-size: .94rem; }
.empty-state p { max-width: 390px; margin: 0; color: var(--ink-500); font-size: .73rem; }
.empty-state a { margin-top: .8rem; font-size: .75rem; font-weight: 760; }

/* Public-facing pages */
.public-shell { background: #f2f6fa; }
.public-report > header { background: linear-gradient(145deg, #0c2849, #174d70); }
.public-report > header img { background: #fff; }

@media (max-width: 1220px) {
  .dashboard-metric-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .security-status { display: none; }
}

@media (max-width: 1050px) {
  .production-auth.auth-screen { grid-template-columns: 1fr; }
  .auth-story-panel { min-height: auto; padding: 2rem; }
  .auth-story-content { max-width: none; }
  .auth-story-logo { margin-bottom: 1.5rem; }
  .auth-story-content h1 { max-width: 800px; font-size: clamp(2.15rem, 7vw, 3.5rem); }
  .auth-value-list, .auth-trust-row { display: none; }
  .auth-form-panel { min-height: auto; padding: 2.4rem 1rem; }
}

@media (max-width: 980px) {
  .production-shell.app-shell { display: block; }
  .app-sidebar.sidebar { transform: translateX(-105%); transition: transform .22s ease; box-shadow: 20px 0 60px rgba(8,30,52,.19); }
  .app-sidebar.sidebar.open { transform: translateX(0); }
  .sidebar-close { display: grid; }
  .sidebar-backdrop { display: block; position: fixed; z-index: 45; inset: 0; width: 100%; height: 100%; padding: 0; border-radius: 0; background: rgba(5, 18, 31, .42); box-shadow: none; backdrop-filter: blur(3px); }
  .mobile-menu-button { display: grid; position: fixed; z-index: 41; left: .8rem; top: .75rem; width: 42px; height: 42px; padding: 0; place-items: center; color: var(--ink-800); background: #fff; border: 1px solid var(--line); box-shadow: var(--shadow-sm); }
  .app-content.content { width: 100%; }
  .app-topbar { padding-left: 4.15rem; }
  .dashboard-hero { grid-template-columns: 1fr; }
  .dashboard-health-card { max-width: 460px; }
}

@media (max-width: 760px) {
  .page-canvas { padding: .85rem; }
  .app-topbar { min-height: 66px; }
  .topbar-kicker, .workspace-select > span { display: none; }
  .workspace-select select { min-width: 140px; max-width: 42vw; }
  .dashboard-hero { min-height: auto; padding: 1.3rem; border-radius: 19px; }
  .dashboard-hero h1 { font-size: 2rem; }
  .dashboard-health-card { padding: 1rem; }
  .dashboard-health-card > strong { font-size: 2.7rem; }
  .dashboard-metric-grid, .dashboard-main-grid { grid-template-columns: 1fr; }
  .dashboard-metric-card { min-height: 105px; }
  .auth-field-grid { grid-template-columns: 1fr; }
  .auth-form-card { border-radius: 19px; padding: 1.25rem; }
  .auth-story-panel { padding: 1.3rem; }
  .auth-story-logo { width: 155px; }
  .auth-story-content h1 { font-size: 2rem; }
  .auth-story-content > p { font-size: .86rem; }
}

@media (max-width: 480px) {
  .auth-tabs button { font-size: .72rem; padding-inline: .25rem; }
  .topbar-title strong { max-width: 150px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .workspace-select select { max-width: 130px; }
  .dashboard-actions a { width: 100%; }
  .text-action { justify-content: flex-start !important; }
}

/* Budget and implementation reconciliation */
.budget-workspace { --budget-ink: #173f5f; --budget-teal: #0e8f8a; --budget-soft: #eef8f7; --budget-line: #d8e7ec; }
.budget-hero { position: relative; overflow: hidden; background: linear-gradient(125deg, #102f49 0%, #174f6e 55%, #0d827f 120%); color: #fff; box-shadow: 0 24px 56px rgba(17, 55, 78, .22); }
.budget-hero::after { content: ""; position: absolute; width: 360px; height: 360px; right: -120px; top: -170px; border-radius: 50%; border: 65px solid rgba(255,255,255,.07); }
.budget-hero .eyebrow, .budget-hero .muted { color: rgba(255,255,255,.76); }
.budget-hero h1 { color: #fff; max-width: 760px; }
.hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; position: relative; z-index: 1; }
.hero-actions button { display: inline-flex; align-items: center; gap: 8px; }
.hero-actions .secondary-button { background: rgba(255,255,255,.12); border-color: rgba(255,255,255,.25); color: #fff; }
.budget-top-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(300px, .8fr); gap: 22px; }
.budget-import-panel, .budget-plan-switcher, .budget-register-panel, .reconciliation-panel, .correction-history-panel, .report-register-panel { border: 1px solid rgba(124, 160, 177, .2); box-shadow: 0 16px 42px rgba(29, 63, 84, .08); }
.file-format-badge { padding: 7px 10px; border-radius: 999px; color: var(--budget-teal); background: var(--budget-soft); font-size: 11px; font-weight: 800; letter-spacing: .08em; }
.budget-import-form { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.budget-import-form label:first-child { grid-column: span 2; }
.budget-file-picker { display: flex; align-items: center; gap: 14px; padding: 17px; margin: 18px 0 14px; border: 1.5px dashed #93bcc7; border-radius: 16px; cursor: pointer; background: linear-gradient(135deg, #f8fcfd, #eef9f7); transition: .2s ease; }
.budget-file-picker:hover { border-color: var(--budget-teal); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(14,143,138,.09); }
.budget-file-picker input { display: none; }
.budget-file-picker > span:last-child { display: grid; gap: 3px; }
.budget-file-picker small { color: #6e8794; }
.budget-file-icon { width: 48px; height: 48px; border-radius: 14px; display: grid; place-items: center; color: #fff; background: linear-gradient(135deg, var(--budget-ink), var(--budget-teal)); box-shadow: 0 9px 20px rgba(14, 92, 112, .2); }
.wide-button { width: 100%; justify-content: center; }
.budget-plan-list { display: grid; gap: 9px; max-height: 350px; overflow: auto; padding-right: 4px; }
.budget-plan-list > button { width: 100%; display: flex; justify-content: space-between; text-align: left; gap: 14px; padding: 13px; color: #294e61; background: #f8fbfc; border: 1px solid #e1ebef; border-radius: 13px; box-shadow: none; }
.budget-plan-list > button:hover, .budget-plan-list > button.active { border-color: #63aaa8; background: #eff9f8; transform: none; }
.budget-plan-list > button span:first-child { display: grid; gap: 4px; min-width: 0; }
.budget-plan-list strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.budget-plan-list small { color: #718995; font-weight: 500; }
.plan-progress { min-width: 72px; display: grid; align-content: center; gap: 6px; color: var(--budget-teal); text-align: right; }
.plan-progress > span, .plan-progress b { font-size: 12px; }
.plan-progress::after { content: ""; display: block; height: 4px; background: #dce9ec; border-radius: 9px; }
.plan-progress i { height: 4px; margin-top: -10px; background: var(--budget-teal); border-radius: 9px; z-index: 1; }
.budget-summary-grid { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 14px; }
.budget-summary-card { padding: 18px; border: 1px solid #dce8ec; border-radius: 17px; background: linear-gradient(145deg, #fff, #f7fafb); box-shadow: 0 11px 28px rgba(29,63,84,.06); display: grid; gap: 8px; }
.budget-summary-card span { color: #718792; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .055em; }
.budget-summary-card strong { color: var(--budget-ink); font-size: clamp(19px, 2vw, 25px); }
.budget-summary-card small { color: #718792; }
.budget-summary-card.attention { background: linear-gradient(145deg, #fff9f5, #fff1e7); border-color: #f2c9ac; }
.budget-summary-card.attention strong, .negative { color: #b85a2b !important; }
.budget-summary-card.healthy { background: linear-gradient(145deg, #f8fffc, #ecf9f4); border-color: #b5e1cf; }
.positive { color: #16805b !important; }
.budget-register-header { display: flex; justify-content: space-between; align-items: flex-end; gap: 20px; margin-bottom: 17px; }
.budget-register-header h2 { margin: 2px 0 4px; }
.budget-register-filters { display: flex; gap: 10px; align-items: center; }
.budget-register-filters label { min-width: 270px; display: flex; align-items: center; gap: 8px; padding: 0 12px; border: 1px solid #d9e6ea; border-radius: 11px; background: #fff; }
.budget-register-filters label input { border: 0; padding-left: 0; box-shadow: none; }
.budget-register-filters select { min-width: 145px; }
.budget-table-wrap { border: 1px solid #deeaed; border-radius: 15px; max-height: 650px; }
.budget-table { min-width: 1400px; }
.budget-table thead th { position: sticky; top: 0; z-index: 2; background: #f2f7f9; color: #466575; font-size: 11px; letter-spacing: .045em; text-transform: uppercase; }
.budget-table td { vertical-align: top; padding-top: 15px; padding-bottom: 15px; }
.budget-row-flagged { background: #fffbf7; }
.budget-row-flagged:hover { background: #fff7ee !important; }
.budget-item-primary, .strategy-link-cell, .financial-stack, .date-stack { display: grid; gap: 5px; }
.budget-item-primary { max-width: 250px; }
.budget-item-primary strong, .strategy-link-cell strong { color: #244b5e; }
.budget-item-primary small, .strategy-link-cell span, .strategy-link-cell small { color: #758b96; line-height: 1.35; }
.item-code { width: fit-content; padding: 4px 7px; color: #14766f; background: #e9f7f4; border-radius: 6px; font-size: 10px; font-weight: 800; letter-spacing: .05em; }
.health-chip { width: fit-content; padding: 4px 7px; border-radius: 99px; font-size: 10px; font-weight: 800; text-transform: capitalize; }
.health-chip.over_implementation, .health-chip.overspent { color: #a64c25; background: #ffede1; }
.health-chip.attention, .health-chip.missing_value { color: #8a670c; background: #fff4c9; }
.date-stack { white-space: nowrap; color: #496b7b; }
.date-stack i { color: #9aadb5; font-size: 10px; font-style: normal; text-transform: uppercase; }
.financial-stack > span { display: grid; gap: 2px; }
.financial-stack small { color: #8499a2; font-size: 10px; }
.financial-stack strong { color: #284f62; white-space: nowrap; }
.inline-money-input { display: flex; align-items: stretch; min-width: 135px; }
.inline-money-input span { display: flex; align-items: center; padding: 0 7px; background: #edf4f6; border: 1px solid #d4e2e7; border-right: 0; border-radius: 9px 0 0 9px; color: #6a838f; font-size: 10px; font-weight: 800; }
.inline-money-input input { min-width: 90px; padding: 9px 7px; border-radius: 0 9px 9px 0; }
.progress-editor { min-width: 130px; display: grid; gap: 7px; }
.progress-track { height: 7px; overflow: hidden; background: #e0ecef; border-radius: 99px; }
.progress-track i { display: block; height: 100%; background: linear-gradient(90deg, #1d6177, #10a49b); border-radius: inherit; }
.progress-editor select { padding: 7px 8px; font-size: 12px; }
.status-select { min-width: 110px; font-size: 12px; font-weight: 700; }
.status-select.complete { color: #14714e; background: #edf9f3; border-color: #b7dfca; }
.status-select.blocked { color: #a94e29; background: #fff1e8; border-color: #efc4ad; }
.status-select.in_progress { color: #1b6380; background: #edf7fb; border-color: #b8d9e7; }
.table-action { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; color: #205b70; background: #edf6f8; border: 1px solid #c9e0e7; box-shadow: none; white-space: nowrap; }
.table-action:hover { background: #e2f2f4; transform: none; }
.budget-bottom-grid { align-items: stretch; }
.reconciliation-bars { display: grid; gap: 16px; margin-top: 10px; }
.reconciliation-bars > div { display: grid; gap: 7px; }
.reconciliation-bars span { display: flex; justify-content: space-between; gap: 10px; color: #395f72; }
.reconciliation-bars em { color: #657e8a; font-style: normal; }
.reconciliation-bars > div > i { display: block; height: 10px; overflow: hidden; background: #e1ecef; border-radius: 99px; }
.reconciliation-bars > div > i b { display: block; height: 100%; background: linear-gradient(90deg, #1f526c, #13a49c); border-radius: inherit; }
.reconciliation-callout { display: flex; gap: 12px; padding: 15px; margin-top: 20px; border-radius: 13px; background: #f3f8fa; color: #28576b; }
.reconciliation-callout svg { flex: 0 0 24px; }
.reconciliation-callout p { margin: 5px 0 0; color: #728891; }
.correction-timeline { display: grid; gap: 14px; max-height: 320px; overflow: auto; }
.correction-timeline > div { display: grid; grid-template-columns: 14px 1fr; gap: 10px; }
.timeline-dot { width: 10px; height: 10px; margin-top: 5px; border-radius: 50%; background: #14a29a; box-shadow: 0 0 0 4px #e1f5f2; }
.correction-timeline > div > div { display: grid; gap: 3px; padding-bottom: 13px; border-bottom: 1px solid #e5edef; }
.correction-timeline p { margin: 0; color: #31596b; font-weight: 700; }
.correction-timeline small { color: #627c88; }
.correction-timeline em { color: #92a2aa; font-size: 10px; font-style: normal; }
.report-cards { display: grid; gap: 10px; }
.report-cards > div { display: grid; grid-template-columns: 46px 1fr auto; align-items: center; gap: 12px; padding: 13px; border: 1px solid #dce8ec; border-radius: 13px; background: #fbfdfd; }
.report-icon { width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; color: #147b77; background: #eaf7f5; }
.report-cards > div > div { display: grid; gap: 3px; }
.report-cards p { margin: 0; color: #627c88; }
.report-cards small { color: #82959d; }
.report-cards button { padding: 8px 11px; }
.modal-backdrop { position: fixed; inset: 0; z-index: 90; display: grid; place-items: center; padding: 24px; background: rgba(8, 31, 45, .66); backdrop-filter: blur(7px); }
.correction-modal { position: relative; width: min(620px, 100%); max-height: 90vh; overflow: auto; padding: 28px; border-radius: 22px; background: #fff; box-shadow: 0 28px 85px rgba(4, 29, 43, .32); display: grid; gap: 15px; }
.correction-modal h2 { margin: -4px 0 0; }
.modal-close { position: absolute; right: 16px; top: 16px; width: 36px; height: 36px; display: grid; place-items: center; padding: 0; color: #456977; background: #edf4f6; border: 0; box-shadow: none; }
.correction-item-summary { display: grid; gap: 4px; padding: 14px; border-radius: 13px; background: #f2f8f9; color: #29576a; }
.correction-item-summary span { color: #6e8792; }
.correction-modal label { display: grid; gap: 7px; color: #426473; font-weight: 700; }
.correction-modal textarea { resize: vertical; }
.modal-actions { display: flex; justify-content: flex-end; gap: 10px; margin-top: 3px; }
.compact-empty { min-height: 130px; }

@media (max-width: 1220px) {
  .budget-summary-grid { grid-template-columns: repeat(3, 1fr); }
  .budget-import-form { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 900px) {
  .budget-top-grid, .budget-bottom-grid { grid-template-columns: 1fr; }
  .budget-summary-grid { grid-template-columns: repeat(2, 1fr); }
  .budget-register-header { align-items: stretch; flex-direction: column; }
  .budget-register-filters { width: 100%; }
  .budget-register-filters label { min-width: 0; flex: 1; }
}
@media (max-width: 620px) {
  .budget-summary-grid, .budget-import-form { grid-template-columns: 1fr; }
  .budget-import-form label:first-child { grid-column: auto; }
  .hero-actions, .hero-actions button, .budget-register-filters { width: 100%; }
  .hero-actions button { justify-content: center; }
  .budget-register-filters { flex-direction: column; align-items: stretch; }
  .report-cards > div { grid-template-columns: 42px 1fr; }
  .report-cards button { grid-column: 1 / -1; }
  .correction-modal { padding: 24px 18px; }
}

/* Human-guided strategy refinement */
.rewrite-heading { display: flex; justify-content: space-between; align-items: center; gap: 14px; margin-bottom: 8px; }
.refinement-result-card { display: grid; gap: 12px; margin-top: 14px; padding: 16px 18px; border: 1px solid #bfe2dc; border-radius: 15px; background: linear-gradient(145deg, #f6fffc, #edf9f6); }
.refinement-result-card > div:first-child { display: flex; justify-content: space-between; gap: 15px; align-items: center; color: #24596a; }
.refinement-result-card > div:first-child span { color: #59808b; font-size: 12px; }
.refinement-result-card ul { margin: 0; padding-left: 20px; color: #466974; }
.refinement-result-card .alert { margin: 0; }
.human-refinement-panel { margin-top: 18px; border: 1px solid #cfe0e5; border-radius: 17px; overflow: hidden; background: #fbfdfd; }
.human-refinement-panel > summary { display: flex; justify-content: space-between; align-items: center; gap: 18px; padding: 17px 19px; cursor: pointer; list-style: none; background: linear-gradient(135deg, #f0f8fa, #f4fbf8); color: #28596d; }
.human-refinement-panel > summary::-webkit-details-marker { display: none; }
.human-refinement-panel > summary > span:first-child { display: grid; gap: 4px; }
.human-refinement-panel > summary small { color: #718994; font-weight: 500; }
.human-refinement-panel[open] > summary { border-bottom: 1px solid #d8e7ea; }
.human-refinement-body { display: grid; gap: 17px; padding: 20px; }
.refinement-intro { padding: 14px 16px; border-radius: 13px; background: #f4f9fa; color: #315d6e; }
.refinement-intro p { margin: 5px 0 0; color: #6d858f; }
.human-refinement-body label { display: grid; gap: 7px; color: #3e6271; font-weight: 750; }
.human-refinement-body textarea { resize: vertical; min-height: 82px; }
.refinement-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.full-field { grid-column: 1 / -1; }
.refinement-check { display: flex !important; grid-template-columns: 20px 1fr; align-items: flex-start; gap: 11px !important; padding: 13px 15px; border-radius: 12px; background: #f3f8f9; }
.refinement-check input { width: 18px; height: 18px; margin-top: 2px; }
.refinement-check span { display: grid; gap: 3px; }
.refinement-check small { color: #738a93; font-weight: 500; }
.refinement-actions { display: flex; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.refinement-history { display: grid; gap: 12px; padding-top: 15px; border-top: 1px solid #deeaed; }
.refinement-history h4 { margin: 0; }
.refinement-history > div { display: grid; grid-template-columns: 14px 1fr; gap: 10px; }
.refinement-history > div > div { padding: 0 0 13px; border-bottom: 1px solid #e5edef; }
.refinement-history p { margin: 6px 0; color: #466774; }
.refinement-history small { display: block; color: #81959d; }
.refinement-history ul { margin: 7px 0 0; padding-left: 18px; color: #617a84; }
.review-decision-actions { display: grid; justify-items: end; align-content: end; gap: 9px; }
.review-decision-actions > small { max-width: 430px; color: #7d8f96; text-align: right; }
@media (max-width: 820px) {
  .refinement-form-grid { grid-template-columns: 1fr; }
  .refinement-result-card > div:first-child, .human-refinement-panel > summary { align-items: flex-start; flex-direction: column; }
  .review-decision-actions { justify-items: stretch; }
  .review-decision-actions > small { text-align: left; }
}

/* Production-friendly structured data rendering */
.structured-data-wrap { display: block; width: 100%; }
.structured-data { display: grid; gap: .65rem; margin: .75rem 0 0; }
.structured-data.compact { margin: 0; gap: .45rem; }
.structured-row { display: grid; grid-template-columns: minmax(150px, 220px) 1fr; gap: .8rem; align-items: start; padding: .7rem .8rem; border: 1px solid rgba(17, 57, 92, .10); border-radius: 14px; background: rgba(255,255,255,.72); }
.structured-row dt { font-weight: 800; color: var(--ink-700, #24344d); }
.structured-row dd { margin: 0; color: var(--ink-900, #102033); word-break: break-word; }
.structured-chip-list { display: flex; flex-wrap: wrap; gap: .4rem; }
.structured-card-list { display: grid; gap: .65rem; }
.structured-nested-card { padding: .7rem; border: 1px solid rgba(17, 57, 92, .10); border-radius: 14px; background: rgba(255,255,255,.62); }
.production-message { white-space: normal; }
@media (max-width: 720px) { .structured-row { grid-template-columns: 1fr; } }


/* src/styles/enterprise-experience.css */
/* Stratify enterprise experience ------------------------------------------------
   Final customer-facing layer for production. It intentionally loads last. */
:root {
  --enterprise-950: #061426;
  --enterprise-900: #0a2039;
  --enterprise-850: #102d4e;
  --enterprise-800: #153b61;
  --enterprise-700: #315775;
  --enterprise-600: #58748a;
  --enterprise-500: #7890a3;
  --enterprise-300: #c9d7e2;
  --enterprise-200: #dce7ef;
  --enterprise-100: #edf4f8;
  --enterprise-50: #f7fafc;
  --enterprise-blue: #1d65c1;
  --enterprise-blue-deep: #123a72;
  --enterprise-cyan: #18b7b1;
  --enterprise-cyan-soft: #7ce0da;
  --enterprise-violet: #6d5bd0;
  --enterprise-gold: #d99a35;
  --enterprise-success: #168766;
  --enterprise-warning: #b97418;
  --enterprise-danger: #c34756;
  --enterprise-shadow-xs: 0 3px 12px rgba(8, 31, 55, .045);
  --enterprise-shadow-sm: 0 10px 34px rgba(8, 31, 55, .075);
  --enterprise-shadow-md: 0 22px 65px rgba(8, 31, 55, .115);
  --enterprise-shadow-lg: 0 42px 110px rgba(5, 23, 43, .18);
  --enterprise-radius-sm: 11px;
  --enterprise-radius: 17px;
  --enterprise-radius-lg: 24px;
  --enterprise-radius-xl: 32px;
}

html { color-scheme: light; }
body {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 88% -10%, rgba(24, 183, 177, .095), transparent 32rem),
    radial-gradient(circle at 10% 105%, rgba(29, 101, 193, .08), transparent 34rem),
    #f4f8fb;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -2;
  pointer-events: none;
  opacity: .26;
  background-image: radial-gradient(rgba(15, 60, 94, .12) .55px, transparent .55px);
  background-size: 24px 24px;
  mask-image: linear-gradient(to bottom, #000, transparent 78%);
}

/* Motion system */
@keyframes enterprise-fade-up { from { opacity: 0; transform: translate3d(0, 14px, 0); } to { opacity: 1; transform: translate3d(0, 0, 0); } }
@keyframes enterprise-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes enterprise-scale-in { from { opacity: 0; transform: scale(.975); } to { opacity: 1; transform: scale(1); } }
@keyframes enterprise-shimmer { 0% { transform: translateX(-120%) rotate(12deg); } 100% { transform: translateX(320%) rotate(12deg); } }
@keyframes enterprise-float { 0%,100% { transform: translate3d(0,0,0); } 50% { transform: translate3d(0,-12px,0); } }
@keyframes enterprise-orbit { to { transform: rotate(360deg); } }
@keyframes enterprise-pulse { 0%,100% { box-shadow: 0 0 0 0 rgba(24,183,177,.34); } 50% { box-shadow: 0 0 0 7px rgba(24,183,177,0); } }
@keyframes enterprise-progress { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes enterprise-spin { to { transform: rotate(360deg); } }

.enterprise-page-canvas { animation: enterprise-fade-in .3s ease both; }
.enterprise-page-canvas > * { animation: enterprise-fade-up .46s cubic-bezier(.2,.7,.2,1) both; }
.enterprise-page-canvas > *:nth-child(2) { animation-delay: .045s; }
.enterprise-page-canvas > *:nth-child(3) { animation-delay: .09s; }
.enterprise-page-canvas > *:nth-child(4) { animation-delay: .135s; }
.enterprise-page-canvas > *:nth-child(5) { animation-delay: .18s; }
.enterprise-stagger-grid > * { animation: enterprise-fade-up .5s cubic-bezier(.2,.7,.2,1) both; }
.enterprise-stagger-grid > *:nth-child(2) { animation-delay: .055s; }
.enterprise-stagger-grid > *:nth-child(3) { animation-delay: .11s; }
.enterprise-stagger-grid > *:nth-child(4) { animation-delay: .165s; }
.enterprise-stagger-grid > *:nth-child(5) { animation-delay: .22s; }
.enterprise-stagger-grid > *:nth-child(6) { animation-delay: .275s; }

/* Enterprise shell */
.enterprise-shell {
  position: relative;
  isolation: isolate;
  background: transparent !important;
}
.enterprise-ambient {
  position: fixed;
  z-index: -1;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(1px);
}
.enterprise-ambient-one {
  width: 460px;
  height: 460px;
  right: -260px;
  top: 16vh;
  background: radial-gradient(circle, rgba(24,183,177,.11), transparent 68%);
}
.enterprise-ambient-two {
  width: 520px;
  height: 520px;
  left: 5vw;
  bottom: -390px;
  background: radial-gradient(circle, rgba(29,101,193,.09), transparent 68%);
}

.enterprise-sidebar.app-sidebar {
  width: 294px;
  padding: 1rem .85rem .8rem;
  border-right: 1px solid rgba(200, 216, 228, .78);
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,252,254,.975)),
    #fff;
  box-shadow: 14px 0 46px rgba(5, 28, 52, .055);
}
.production-shell.app-shell { grid-template-columns: 294px minmax(0,1fr); }
.enterprise-content.app-content { grid-column: 2; }
.sidebar-brand-row { min-height: 68px; padding: .05rem .35rem .45rem; }
.enterprise-sidebar .logo-surface { width: 190px; height: 58px; }
.enterprise-sidebar .brand-logo { width: 184px; max-height: 55px; }
.enterprise-workspace-card {
  position: relative;
  grid-template-columns: 42px minmax(0,1fr) 8px;
  padding: .78rem;
  overflow: hidden;
  border-color: rgba(184, 208, 222, .72);
  background:
    linear-gradient(135deg, rgba(235,247,250,.96), rgba(246,250,253,.98));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.92), var(--enterprise-shadow-xs);
}
.enterprise-workspace-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  background: linear-gradient(180deg, var(--enterprise-cyan), var(--enterprise-blue));
}
.enterprise-workspace-card .workspace-icon {
  background: linear-gradient(145deg, var(--enterprise-blue-deep), #1d6096);
  box-shadow: 0 9px 24px rgba(18,58,114,.22);
}
.workspace-live-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--enterprise-success); animation: enterprise-pulse 2.2s infinite; }

.enterprise-nav-search { margin-top: .05rem; }
.enterprise-nav-search input {
  min-height: 43px;
  padding-right: 2.5rem;
  border-color: #dce7ee;
  background: rgba(246,250,252,.95);
  box-shadow: inset 0 1px 2px rgba(8,31,55,.025);
}
.enterprise-nav-search input:focus { background: #fff; }
.enterprise-nav-search > button {
  position: absolute;
  right: .3rem;
  width: 32px;
  height: 32px;
  padding: 0;
  display: grid;
  place-items: center;
  color: var(--enterprise-500);
  background: transparent;
  box-shadow: none;
}
.nav-group { animation: enterprise-fade-up .4s ease both; animation-delay: var(--nav-delay, 0ms); }
.nav-group h2 { margin: .72rem .7rem .34rem; color: #91a2b2; font-size: .61rem; letter-spacing: .145em; }
.enterprise-sidebar nav a {
  position: relative;
  min-height: 44px;
  padding: .4rem .58rem;
  border: 1px solid transparent;
  color: #536b7f;
  overflow: hidden;
}
.enterprise-sidebar nav a::before {
  content: "";
  position: absolute;
  inset: 6px auto 6px 0;
  width: 3px;
  border-radius: 0 8px 8px 0;
  background: transparent;
  transition: background .2s ease;
}
.enterprise-sidebar nav a:hover {
  color: var(--enterprise-900);
  border-color: rgba(214,228,237,.72);
  background: rgba(240,247,250,.84);
  transform: translateX(2px);
}
.enterprise-sidebar nav a.active {
  color: #fff;
  border-color: rgba(255,255,255,.1);
  background:
    radial-gradient(circle at 86% 10%, rgba(124,224,218,.24), transparent 8rem),
    linear-gradient(135deg, #113963, #14527b 68%, #146c7c);
  box-shadow: 0 13px 30px rgba(11,48,82,.20);
}
.enterprise-sidebar nav a.active::after {
  content: "";
  position: absolute;
  width: 52px;
  height: 160%;
  left: -90px;
  top: -30%;
  opacity: .25;
  background: linear-gradient(90deg, transparent, #fff, transparent);
  transform: rotate(12deg);
  animation: enterprise-shimmer 5.8s ease-in-out infinite;
}
.enterprise-sidebar .nav-icon { transition: transform .22s ease, background .22s ease; }
.enterprise-sidebar nav a:hover .nav-icon { transform: scale(1.07); }
.enterprise-sidebar nav a.active .nav-icon { background: rgba(255,255,255,.14); box-shadow: inset 0 1px 0 rgba(255,255,255,.12); }
.nav-empty-state { margin: 1.3rem .4rem; padding: 1.2rem .8rem; display: grid; justify-items: center; gap: .35rem; text-align: center; color: var(--enterprise-500); border: 1px dashed var(--enterprise-300); border-radius: 15px; }
.nav-empty-state strong { color: var(--enterprise-800); font-size: .82rem; }
.nav-empty-state span { font-size: .7rem; }
.enterprise-account-card { border-top-color: rgba(214,226,235,.85); }
.enterprise-account-card .account-avatar, .topbar-profile .account-avatar {
  background: linear-gradient(145deg, var(--enterprise-blue), var(--enterprise-cyan));
  box-shadow: 0 8px 20px rgba(29,101,193,.19);
}

/* Top bar */
.enterprise-topbar.app-topbar {
  min-height: 82px;
  padding: .88rem clamp(1.1rem,2.4vw,2.35rem);
  background: rgba(248,251,253,.84);
  border-bottom-color: rgba(202,218,229,.78);
  box-shadow: 0 8px 26px rgba(8,31,55,.035);
  backdrop-filter: blur(22px) saturate(1.2);
}
.enterprise-topbar .topbar-kicker {
  max-width: min(42vw,560px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--enterprise-cyan);
}
.enterprise-topbar .topbar-title strong { font-size: 1.1rem; }
.topbar-quick-action {
  min-height: 40px;
  padding: .56rem .78rem;
  display: inline-flex;
  align-items: center;
  gap: .42rem;
  border-radius: 11px;
  color: #fff;
  text-decoration: none;
  font-size: .76rem;
  font-weight: 780;
  background: linear-gradient(135deg, var(--enterprise-blue-deep), #16647c);
  box-shadow: 0 9px 22px rgba(18,58,114,.16);
  transition: transform .2s ease, box-shadow .2s ease;
}
.topbar-quick-action:hover { transform: translateY(-1px); box-shadow: 0 13px 28px rgba(18,58,114,.22); }
.topbar-icon-action {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: var(--enterprise-700);
  background: #fff;
  border: 1px solid var(--enterprise-200);
  border-radius: 11px;
  box-shadow: var(--enterprise-shadow-xs);
  transition: transform .18s ease, color .18s ease, border-color .18s ease;
}
.topbar-icon-action:hover { transform: translateY(-1px); color: var(--enterprise-blue); border-color: #b8d1e1; }
.enterprise-workspace-select select { background: rgba(255,255,255,.9); }
.topbar-profile-wrap { position: relative; }
.topbar-profile {
  min-height: 46px;
  padding: .3rem .45rem .3rem .35rem;
  display: grid;
  grid-template-columns: 36px minmax(0,1fr) 18px;
  align-items: center;
  gap: .55rem;
  color: var(--enterprise-800);
  background: #fff;
  border: 1px solid var(--enterprise-200);
  box-shadow: var(--enterprise-shadow-xs);
}
.topbar-profile:hover { transform: none; color: var(--enterprise-900); border-color: var(--enterprise-300); box-shadow: var(--enterprise-shadow-sm); }
.topbar-profile .account-avatar { width: 36px; height: 36px; border-radius: 10px; font-size: .72rem; }
.topbar-profile > svg { transform: rotate(90deg); color: var(--enterprise-500); }
.topbar-profile-copy { min-width: 0; text-align: left; }
.topbar-profile-copy strong, .topbar-profile-copy small { display: block; max-width: 150px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.topbar-profile-copy strong { color: var(--enterprise-900); font-size: .75rem; }
.topbar-profile-copy small { margin-top: .08rem; color: var(--enterprise-500); font-size: .63rem; text-transform: capitalize; }
.profile-popover {
  position: absolute;
  z-index: 80;
  right: 0;
  top: calc(100% + .55rem);
  width: 280px;
  padding: .75rem;
  border-radius: 15px;
  background: rgba(255,255,255,.98);
  border: 1px solid var(--enterprise-200);
  box-shadow: var(--enterprise-shadow-lg);
  animation: enterprise-scale-in .18s ease both;
  transform-origin: top right;
}
.profile-popover > div { padding: .55rem .6rem .75rem; border-bottom: 1px solid var(--enterprise-200); }
.profile-popover span, .profile-popover strong { display: block; }
.profile-popover span { color: var(--enterprise-500); font-size: .68rem; }
.profile-popover strong { margin-top: .16rem; color: var(--enterprise-900); font-size: .79rem; overflow-wrap: anywhere; }
.profile-popover button { width: 100%; margin-top: .55rem; display: flex; align-items: center; justify-content: center; gap: .45rem; color: var(--enterprise-700); background: var(--enterprise-50); border: 1px solid var(--enterprise-200); box-shadow: none; }
.enterprise-page-canvas { max-width: 1720px; padding: clamp(1rem,2.4vw,2.35rem); }

/* Global page surfaces */
.page-header.hero-panel, .hero-panel, .hero-card, .hero, .page-section {
  position: relative;
  overflow: hidden;
  border-radius: var(--enterprise-radius-lg);
  border-color: rgba(200,218,231,.82);
  background:
    radial-gradient(circle at 94% -20%, rgba(24,183,177,.11), transparent 18rem),
    linear-gradient(145deg, rgba(255,255,255,.99), rgba(245,250,253,.98));
  box-shadow: var(--enterprise-shadow-sm);
}
.page-header.hero-panel::after, .hero-panel::after, .hero-card::after, .hero::after {
  content: "";
  position: absolute;
  width: 170px;
  height: 170px;
  right: -105px;
  bottom: -115px;
  border-radius: 50%;
  border: 1px solid rgba(24,183,177,.16);
  pointer-events: none;
}
.page-header h1, .section-head h1 { letter-spacing: -.055em; }
.panel, .metric-card, .dashboard-panel, .upload-box, .form-card, .table-panel {
  border-color: rgba(205,220,231,.82);
  box-shadow: var(--enterprise-shadow-xs);
  transition: transform .24s cubic-bezier(.2,.7,.2,1), box-shadow .24s ease, border-color .24s ease;
}
.panel:hover, .metric-card:hover, .dashboard-panel:hover, .upload-box:hover {
  transform: translateY(-2px);
  border-color: rgba(168,200,218,.88);
  box-shadow: var(--enterprise-shadow-md);
}
.section-head { align-items: flex-start; }
.section-head h2, .section-head h3, .panel-heading h2 { letter-spacing: -.045em; }

button, .button-link {
  min-height: 41px;
  border-radius: 11px;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease, border-color .18s ease;
}
button:not(:disabled):active, .button-link:active { transform: translateY(1px) scale(.99); }
button:not(.ghost):not(.secondary):not(.password-toggle):not(.sidebar-close):not(.mobile-menu-button):not(.topbar-profile) {
  background: linear-gradient(135deg, var(--enterprise-blue-deep), #165e7b);
}
button:not(:disabled):hover { filter: saturate(1.07); }
input, textarea, select { border-radius: 11px; }
.table-wrap { border-radius: 16px; box-shadow: var(--enterprise-shadow-xs); }
th { background: linear-gradient(180deg,#f8fbfd,#f1f6f9); color: #597488; }
tbody tr { transition: background .16s ease; }
tbody tr:hover { background: rgba(237,246,250,.68); }
.pill, .status-badge, .health-chip { box-shadow: inset 0 0 0 1px rgba(255,255,255,.38); }
details { border-radius: var(--enterprise-radius); }
details > summary { transition: color .18s ease, background .18s ease; }
details > summary:hover { color: var(--enterprise-blue); }

/* State-of-the-art authentication */
.enterprise-auth.production-auth { grid-template-columns: minmax(520px,1.14fr) minmax(470px,.86fr); background: #f2f7fa; }
.enterprise-auth-story {
  min-height: 100svh;
  padding: clamp(2.1rem,5.2vw,5.6rem);
  background:
    radial-gradient(circle at 12% 12%, rgba(32,178,190,.36), transparent 28rem),
    radial-gradient(circle at 88% 85%, rgba(109,91,208,.24), transparent 25rem),
    linear-gradient(145deg,#06172b 0%,#0b2c50 51%,#12506b 100%);
}
.auth-scene-grid {
  position: absolute;
  inset: 0;
  opacity: .11;
  background-image:
    linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px);
  background-size: 54px 54px;
  mask-image: linear-gradient(135deg,#000,transparent 76%);
}
.auth-glow { position: absolute; border-radius: 50%; filter: blur(1px); pointer-events: none; }
.auth-glow-one { width: 360px; height: 360px; right: -220px; top: 5%; border: 1px solid rgba(255,255,255,.12); animation: enterprise-float 8s ease-in-out infinite; }
.auth-glow-two { width: 210px; height: 210px; left: 16%; bottom: -120px; border: 1px solid rgba(124,224,218,.16); animation: enterprise-float 10s ease-in-out infinite reverse; }
.enterprise-auth-story .auth-story-content { max-width: 760px; }
.auth-brand-lockup {
  width: 210px;
  min-height: 68px;
  margin-bottom: clamp(2rem,4vw,3.4rem);
  padding: .7rem .9rem;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: rgba(255,255,255,.97);
  border: 1px solid rgba(255,255,255,.78);
  box-shadow: 0 22px 55px rgba(0,0,0,.17);
  animation: enterprise-fade-up .6s ease both;
}
.auth-brand-lockup img { width: 100%; max-height: 52px; object-fit: contain; }
.enterprise-auth .auth-kicker { gap: .5rem; padding: .42rem .7rem; background: rgba(255,255,255,.075); backdrop-filter: blur(8px); }
.enterprise-auth .auth-kicker i { width: 7px; height: 7px; border-radius: 50%; background: var(--enterprise-cyan-soft); animation: enterprise-pulse 2s infinite; }
.enterprise-auth-story h1 { max-width: 720px; font-size: clamp(2.75rem,5.1vw,5.2rem); line-height: .96; }
.enterprise-auth-story > .auth-story-content > p { max-width: 700px; font-size: clamp(1rem,1.25vw,1.16rem); }
.auth-command-preview {
  width: min(100%,660px);
  margin-top: 2rem;
  padding: 1rem;
  border-radius: 20px;
  background: rgba(255,255,255,.075);
  border: 1px solid rgba(255,255,255,.14);
  box-shadow: 0 28px 60px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.08);
  backdrop-filter: blur(16px);
  animation: enterprise-fade-up .62s .12s ease both;
}
.auth-command-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-bottom: .8rem; border-bottom: 1px solid rgba(255,255,255,.1); }
.auth-command-head span { display: flex; align-items: center; gap: .45rem; color: #fff; font-size: .78rem; font-weight: 780; }
.auth-command-head b { color: #9ee8df; font-size: .66rem; letter-spacing: .08em; text-transform: uppercase; }
.auth-pulse-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: .65rem; margin-top: .75rem; }
.auth-pulse-grid > div { padding: .72rem; border-radius: 13px; background: rgba(255,255,255,.055); border: 1px solid rgba(255,255,255,.075); }
.auth-pulse-grid span, .auth-pulse-grid strong { display: block; }
.auth-pulse-grid span { color: rgba(229,244,249,.59); font-size: .65rem; }
.auth-pulse-grid strong { margin-top: .13rem; color: #fff; font-size: .84rem; }
.pulse-line { display: block; height: 4px; margin-top: .52rem; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.1); }
.pulse-line em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#6cd4d1,#c4f4ed); transform-origin: left; animation: enterprise-progress 1.2s .4s ease both; }
.auth-command-flow { display: flex; align-items: center; justify-content: center; gap: .65rem; margin-top: .85rem; color: rgba(233,247,251,.74); }
.auth-command-flow span { display: inline-flex; align-items: center; gap: .32rem; font-size: .68rem; font-weight: 700; }
.auth-command-flow > i { width: 34px; height: 1px; background: linear-gradient(90deg,rgba(124,224,218,.15),rgba(124,224,218,.8)); }
.enterprise-auth .auth-value-list { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: 720px; gap: .7rem; margin-top: 1.2rem; }
.enterprise-auth .auth-value-list > div { grid-template-columns: 36px minmax(0,1fr); align-items: start; padding: .8rem; border-radius: 14px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.07); }
.enterprise-auth .auth-value-list > div > span { width: 36px; height: 36px; border-radius: 11px; }
.enterprise-auth .auth-value-list strong { font-size: .78rem; }
.enterprise-auth .auth-value-list small { font-size: .67rem; }
.enterprise-auth-form-panel {
  min-height: 100svh;
  padding: clamp(1.35rem,4vw,4rem);
  background:
    radial-gradient(circle at 100% 0,rgba(24,183,177,.09),transparent 18rem),
    linear-gradient(160deg,#f9fbfd,#eef5f8);
}
.enterprise-auth-card {
  position: relative;
  width: min(100%,540px);
  overflow: hidden;
  padding: clamp(1.65rem,3vw,2.6rem);
  border-radius: 28px;
  border-color: rgba(190,211,224,.86);
  box-shadow: 0 36px 95px rgba(8,31,55,.17), inset 0 1px 0 #fff;
  animation: enterprise-scale-in .5s ease both;
}
.auth-card-accent { position: absolute; inset: 0 0 auto; height: 4px; background: linear-gradient(90deg,var(--enterprise-blue),var(--enterprise-cyan),var(--enterprise-violet)); }
.enterprise-auth-card .auth-heading h2 { margin-top: .5rem; font-size: clamp(1.9rem,3vw,2.45rem); letter-spacing: -.055em; }
.enterprise-auth-card .auth-tabs { border: 1px solid #e0e9ef; background: #eef4f7; }
.enterprise-auth-card .auth-tabs button { display: flex; align-items: center; justify-content: center; gap: .35rem; }
.enterprise-auth-card .auth-tabs button.active { color: var(--enterprise-blue-deep); box-shadow: 0 5px 16px rgba(8,31,55,.09); }
.enterprise-auth-card .auth-field input { min-height: 52px; border-color: #d4e1e9; background: #f9fbfc; }
.enterprise-auth-card .auth-field input:hover { border-color: #b8ccd8; }
.enterprise-auth-card .auth-field input:focus { background: #fff; }
.auth-fields-enter { animation: enterprise-fade-up .25s ease both; }
.auth-requirements { display: flex; flex-wrap: wrap; gap: .55rem 1rem; color: var(--enterprise-500); font-size: .69rem; }
.auth-requirements span { display: inline-flex; align-items: center; gap: .35rem; }
.auth-requirements i { width: 6px; height: 6px; border-radius: 50%; background: var(--enterprise-success); }
.enterprise-auth-card .auth-error { display: grid; grid-template-columns: 20px minmax(0,1fr); align-items: start; gap: .55rem; }
.enterprise-auth-card .auth-submit {
  position: relative;
  overflow: hidden;
  min-height: 54px;
  border-radius: 13px;
  background:
    radial-gradient(circle at 90% 20%,rgba(124,224,218,.25),transparent 8rem),
    linear-gradient(135deg,#10365f,#146278);
  box-shadow: 0 15px 32px rgba(14,64,94,.25);
}
.enterprise-auth-card .auth-submit::before { content:""; position:absolute; width:42px; height:160%; left:-80px; top:-30%; opacity:.25; background:linear-gradient(90deg,transparent,#fff,transparent); transform:rotate(12deg); transition:left .55s ease; }
.enterprise-auth-card .auth-submit:hover::before { left:115%; }
.button-spinner { width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: enterprise-spin .7s linear infinite; }
.auth-assurance-row { display: flex; justify-content: center; flex-wrap: wrap; gap: .65rem 1rem; margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid #e4edf2; }
.auth-assurance-row span { display: inline-flex; align-items: center; gap: .35rem; color: var(--enterprise-500); font-size: .68rem; font-weight: 680; }
.auth-assurance-row svg { color: var(--enterprise-success); }

/* Dashboard */
.enterprise-dashboard-hero {
  min-height: 320px;
  border-radius: 30px;
  padding: clamp(1.6rem,3.5vw,3rem);
  background:
    radial-gradient(circle at 80% -20%,rgba(115,224,219,.37),transparent 25rem),
    radial-gradient(circle at 8% 120%,rgba(109,91,208,.20),transparent 20rem),
    linear-gradient(138deg,#071d38,#0d3860 56%,#126176);
  box-shadow: 0 34px 88px rgba(7,36,65,.23);
}
.dashboard-hero-mesh { position:absolute; inset:0; opacity:.095; background-image:linear-gradient(rgba(255,255,255,.25) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.25) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(135deg,#000,transparent 72%); }
.dashboard-hero-orbit { position:absolute; border-radius:50%; border:1px solid rgba(255,255,255,.12); pointer-events:none; }
.dashboard-hero-orbit-one { width:420px; height:420px; right:-210px; top:-240px; animation:enterprise-float 10s ease-in-out infinite; }
.dashboard-hero-orbit-two { width:190px; height:190px; right:27%; bottom:-150px; border-color:rgba(124,224,218,.15); }
.enterprise-dashboard-hero .dashboard-hero-copy { max-width: 840px; }
.enterprise-dashboard-hero h1 { font-size: clamp(2.35rem,4.2vw,3.75rem); }
.enterprise-dashboard-hero .dashboard-actions a { min-height: 46px; padding: .68rem .92rem; border-radius: 12px; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.enterprise-dashboard-hero .dashboard-actions a:hover { transform: translateY(-2px); }
.enterprise-dashboard-hero .primary-action { box-shadow: 0 14px 30px rgba(0,0,0,.18); }
.enterprise-dashboard-hero .secondary-action:hover { background: rgba(255,255,255,.16); }
.enterprise-health-card { overflow:hidden; padding:1.55rem; border-radius:22px; box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
.enterprise-health-card::before { content:""; position:absolute; width:110px; height:220%; left:-150px; top:-50%; opacity:.16; background:linear-gradient(90deg,transparent,#fff,transparent); transform:rotate(18deg); animation:enterprise-shimmer 6s ease-in-out infinite; }
.enterprise-health-card .health-track span { transform-origin:left; animation:enterprise-progress 1.1s .25s ease both; }
.executive-pulse-strip {
  display: grid;
  grid-template-columns: minmax(200px,.9fr) minmax(420px,1.55fr) auto;
  align-items: center;
  gap: 1rem;
  padding: .9rem 1rem;
  border-radius: 18px;
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(199,217,229,.86);
  box-shadow: var(--enterprise-shadow-sm);
}
.pulse-strip-heading span, .pulse-strip-heading small { display:block; }
.pulse-strip-heading span { display:flex; align-items:center; gap:.45rem; color:var(--enterprise-850); font-size:.79rem; font-weight:820; }
.pulse-strip-heading small { margin-top:.18rem; color:var(--enterprise-500); font-size:.64rem; }
.live-pulse { width:8px; height:8px; border-radius:50%; background:var(--enterprise-cyan); animation:enterprise-pulse 2s infinite; }
.pulse-strip-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.pulse-strip-metrics > div { padding:.15rem .8rem; border-left:1px solid var(--enterprise-200); }
.pulse-strip-metrics span, .pulse-strip-metrics strong { display:block; }
.pulse-strip-metrics span { color:var(--enterprise-500); font-size:.62rem; font-weight:720; text-transform:uppercase; letter-spacing:.045em; }
.pulse-strip-metrics strong { margin-top:.12rem; color:var(--enterprise-900); font-size:1.05rem; letter-spacing:-.035em; }
.executive-pulse-strip > a { display:inline-flex; align-items:center; gap:.35rem; padding:.55rem .7rem; border-radius:10px; color:var(--enterprise-blue); background:#eef6fb; text-decoration:none; font-size:.72rem; font-weight:780; white-space:nowrap; }
.dashboard-metric-card { position:relative; overflow:hidden; min-height:132px; border-radius:20px; transition:transform .23s ease,box-shadow .23s ease,border-color .23s ease; }
.dashboard-metric-card::after { content:""; position:absolute; width:90px; height:90px; right:-52px; bottom:-52px; border-radius:50%; border:1px solid rgba(29,101,193,.09); }
.dashboard-metric-card:hover { transform:translateY(-4px); border-color:#b7d1df; box-shadow:var(--enterprise-shadow-md); }
.dashboard-metric-card .metric-icon { box-shadow:inset 0 1px 0 rgba(255,255,255,.78); transition:transform .24s ease; }
.dashboard-metric-card:hover .metric-icon { transform:rotate(-4deg) scale(1.06); }
.dashboard-panel { border-radius:21px; }
.dashboard-panel .panel-heading a { transition:gap .2s ease,color .2s ease; }
.dashboard-panel .panel-heading a:hover { gap:.55rem; color:var(--enterprise-blue); }
.journey-list a { transition:transform .2s ease,border-color .2s ease,background .2s ease; }
.journey-list a:hover { transform:translateX(3px); border-color:#b9d2df; background:#f4fafc; }

/* Module polish */
.execution-tabs { border-radius: 15px; padding: .3rem; backdrop-filter: blur(18px); }
.execution-tabs button { border-radius: 10px; }
.metric-grid > div, .metrics-grid > div, .dashboard-grid > div, .mini-metric {
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.metric-grid > div:hover, .metrics-grid > div:hover, .dashboard-grid > div:hover, .mini-metric:hover { transform: translateY(-2px); border-color: #b9d2df; box-shadow: var(--enterprise-shadow-sm); }
.notice, .status-box, .alert { border-radius: 13px; }
.empty-state { border-radius: 17px; background: linear-gradient(145deg,#fbfdfd,#f5fafc); }
.upload-box { position: relative; overflow: hidden; }
.upload-box::after { content:""; position:absolute; inset:auto -55px -65px auto; width:130px; height:130px; border-radius:50%; background:radial-gradient(circle,rgba(24,183,177,.09),transparent 70%); pointer-events:none; }
.recommendation-card, .execution-editor-card, .governance-meeting-card, .gate-card { transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease; }
.recommendation-card:hover, .execution-editor-card:hover, .governance-meeting-card:hover, .gate-card:hover { transform:translateY(-2px); box-shadow:var(--enterprise-shadow-sm); border-color:#b9d2df; }
.kpi-chart .bar { background:linear-gradient(180deg,var(--enterprise-cyan),var(--enterprise-blue-deep)); }
.score-ring { border-color:rgba(24,183,177,.24); background:radial-gradient(circle at 35% 30%,#fff,#edf8fa); }
.progress-track i, .risk-meter span, .health-track span { box-shadow:0 0 14px rgba(24,183,177,.22); }
.modal-backdrop { animation:enterprise-fade-in .2s ease both; }
.correction-modal { animation:enterprise-scale-in .25s ease both; }

/* Responsive */
@media (max-width: 1280px) {
  .topbar-profile-copy { display:none; }
  .topbar-profile { grid-template-columns:36px 16px; }
  .enterprise-workspace-select span { display:none; }
  .executive-pulse-strip { grid-template-columns:1fr auto; }
  .pulse-strip-metrics { grid-column:1 / -1; grid-row:2; }
}
@media (max-width: 1100px) {
  .production-shell.app-shell { display:block; }
  .enterprise-content.app-content { grid-column:auto; }
  .enterprise-sidebar.app-sidebar { width:min(330px,88vw); transform:translateX(-105%); transition:transform .28s cubic-bezier(.2,.75,.2,1); box-shadow:25px 0 70px rgba(6,26,47,.23); }
  .enterprise-sidebar.app-sidebar.open { transform:translateX(0); }
  .enterprise-sidebar .sidebar-close { display:grid; }
  .mobile-menu-button { display:grid; position:fixed; z-index:44; left:.8rem; top:.75rem; width:44px; height:44px; padding:0; place-items:center; background:linear-gradient(145deg,var(--enterprise-blue-deep),#176379); box-shadow:0 12px 28px rgba(8,45,75,.22); }
  .sidebar-backdrop { display:block; position:fixed; z-index:45; inset:0; border:0; border-radius:0; background:rgba(3,17,31,.56); backdrop-filter:blur(5px); box-shadow:none; animation:enterprise-fade-in .2s ease both; }
  .enterprise-topbar.app-topbar { padding-left:4.6rem; }
  .enterprise-auth.production-auth { grid-template-columns:1fr; }
  .enterprise-auth-story { display:none; }
  .enterprise-auth-form-panel { min-height:100svh; }
  .enterprise-auth .auth-mobile-brand { display:flex; justify-content:center; margin-bottom:1rem; }
  .enterprise-auth .auth-mobile-brand img { width:190px; padding:.55rem .7rem; border-radius:13px; background:#fff; box-shadow:var(--enterprise-shadow-sm); }
}
@media (max-width: 820px) {
  .topbar-quick-action span, .enterprise-workspace-select { display:none; }
  .topbar-actions { gap:.45rem; }
  .enterprise-topbar .topbar-title strong { font-size:.92rem; }
  .enterprise-page-canvas { padding:1rem; }
  .enterprise-dashboard-hero { grid-template-columns:1fr; min-height:auto; }
  .enterprise-health-card { max-width:none; }
  .executive-pulse-strip { grid-template-columns:1fr; }
  .pulse-strip-metrics { grid-column:auto; grid-row:auto; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
  .pulse-strip-metrics > div { padding:.55rem; border:1px solid var(--enterprise-200); border-radius:10px; background:var(--enterprise-50); }
  .executive-pulse-strip > a { justify-content:center; }
  .dashboard-metric-grid, .dashboard-main-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .enterprise-topbar.app-topbar { min-height:68px; padding:.65rem .7rem .65rem 4.2rem; }
  .topbar-icon-action { display:none; }
  .topbar-profile { min-height:40px; grid-template-columns:34px; padding:.2rem; }
  .topbar-profile > svg { display:none; }
  .topbar-profile .account-avatar { width:34px; height:34px; }
  .enterprise-auth-form-panel { padding:1rem; align-items:stretch; }
  .enterprise-auth-card { padding:1.35rem 1.1rem; border-radius:22px; }
  .enterprise-auth-card .auth-tabs button svg { display:none; }
  .auth-field-grid { grid-template-columns:1fr; }
  .enterprise-dashboard-hero { padding:1.25rem; border-radius:23px; }
  .enterprise-dashboard-hero h1 { font-size:2.25rem; }
  .dashboard-actions a { width:100%; }
  .pulse-strip-metrics { grid-template-columns:1fr 1fr; }
  .profile-popover { position:fixed; right:.7rem; top:4.6rem; width:calc(100vw - 1.4rem); }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
}

/* Focused gap intelligence and refined strategy production */
.strategy-focus-panel { margin-top: 1.15rem; padding: 1.15rem; border: 1px solid rgba(30,105,150,.18); border-radius: 22px; background: linear-gradient(135deg, rgba(239,249,255,.92), rgba(247,252,255,.72)); }
.strategy-component-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: .75rem; margin: .85rem 0 1rem; }
.strategy-component-option { min-height: 104px; padding: .9rem; text-align: left; border: 1px solid rgba(47,89,118,.15); border-radius: 17px; background: rgba(255,255,255,.88); color: var(--text); box-shadow: 0 8px 22px rgba(20,58,82,.05); transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease, background .2s ease; }
.strategy-component-option:hover { transform: translateY(-2px); border-color: rgba(16,116,173,.36); box-shadow: 0 14px 30px rgba(20,76,108,.1); }
.strategy-component-option.selected { border-color: rgba(5,132,190,.65); background: linear-gradient(145deg, rgba(221,246,255,.98), rgba(241,251,255,.98)); box-shadow: 0 0 0 3px rgba(29,155,213,.1), 0 14px 30px rgba(20,76,108,.12); }
.strategy-component-option strong, .strategy-component-option small { display: block; }
.strategy-component-option small { margin-top: .35rem; color: var(--muted); line-height: 1.4; }

.gap-recommendation-card { margin: 1rem 0; padding: 1.2rem; border-radius: 22px; border: 1px solid rgba(42,113,143,.18); background: linear-gradient(145deg, rgba(247,252,255,.98), rgba(236,248,252,.8)); }
.gap-recommendation-card > p { max-width: 1100px; font-size: .95rem; line-height: 1.7; color: #345063; }
.gap-recommendation-grid { display: grid; grid-template-columns: 1.08fr .92fr; gap: 1rem; margin-top: 1rem; }
.approach-step-list, .skill-recommendation-list { display: grid; gap: .7rem; }
.approach-step { display: grid; grid-template-columns: 34px minmax(0,1fr); gap: .75rem; padding: .85rem; border-radius: 16px; border: 1px solid rgba(41,102,131,.13); background: rgba(255,255,255,.82); }
.approach-step > span { width: 32px; height: 32px; border-radius: 11px; display: grid; place-items: center; font-weight: 850; color: white; background: linear-gradient(135deg,#0c678f,#12a5c6); box-shadow: 0 8px 18px rgba(15,118,153,.22); }
.approach-step p { margin: .28rem 0; color: #4d6675; }
.approach-step small, .approach-step em { display: block; color: var(--muted); font-style: normal; }
.approach-step em { margin-top: .28rem; color: #0c6b63; font-weight: 700; }
.skill-recommendation { padding: .85rem; border-radius: 16px; border: 1px solid rgba(41,102,131,.13); background: rgba(255,255,255,.86); }
.skill-recommendation > div { display: flex; align-items: center; justify-content: space-between; gap: .7rem; }
.skill-recommendation small, .skill-recommendation em { display: block; color: var(--muted); font-style: normal; }
.skill-recommendation p { margin: .42rem 0; color: #435d6d; }
.skill-recommendation em { color: #0d6e74; font-weight: 650; }

.refined-strategy-panel { overflow: hidden; position: relative; }
.refined-strategy-panel::after { content: ""; position: absolute; width: 240px; height: 240px; right: -120px; top: -130px; border-radius: 50%; background: radial-gradient(circle, rgba(26,175,204,.16), rgba(26,175,204,0)); pointer-events: none; }
.refined-strategy-actions { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 1rem; }
.refined-strategy-list { display: grid; gap: .75rem; margin-top: 1rem; }
.refined-strategy-document { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .9rem 1rem; border: 1px solid rgba(36,102,136,.15); border-radius: 16px; background: rgba(249,253,255,.9); }
.refined-strategy-document strong, .refined-strategy-document small { display: block; }
.refined-strategy-document small { margin-top: .25rem; color: var(--muted); }
.error-box.compact { padding: .55rem .7rem; font-size: .8rem; margin: .45rem 0; }

@media (max-width: 1100px) {
  .strategy-component-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .gap-recommendation-grid { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .strategy-component-grid { grid-template-columns: 1fr; }
  .refined-strategy-actions { grid-template-columns: 1fr; }
  .refined-strategy-document { align-items: flex-start; flex-direction: column; }
}

/* Strategy Advisor */
.ai-core-page { position: relative; }
.ai-core-hero { align-items: stretch; gap: 1.25rem; }
.ai-core-hero > div:first-child { max-width: 860px; }
.ai-core-hero h1 { margin-bottom: .55rem; }
.ai-trust-badge { min-width: 310px; max-width: 360px; display: flex; align-items: center; gap: .85rem; padding: 1rem 1.1rem; border-radius: 20px; color: #ebfdff; background: linear-gradient(145deg,#0d355e,#0c6f86); box-shadow: 0 20px 44px rgba(12,56,91,.22); }
.ai-trust-badge svg { flex: 0 0 auto; width: 28px; height: 28px; }
.ai-trust-badge strong,.ai-trust-badge span { display: block; }
.ai-trust-badge span { margin-top: .2rem; color: rgba(235,253,255,.78); font-size: .82rem; line-height: 1.45; }
.ai-core-launcher { overflow: hidden; position: relative; background: linear-gradient(145deg,rgba(255,255,255,.98),rgba(240,249,252,.92)); }
.ai-core-launcher::before { content:""; position:absolute; width:300px; height:300px; right:-130px; top:-170px; border-radius:50%; background:radial-gradient(circle,rgba(17,182,176,.16),rgba(17,182,176,0)); pointer-events:none; }
.ai-core-launch-grid { display: grid; grid-template-columns: minmax(260px,1fr) 150px auto; gap: .9rem; align-items: end; }
.ai-launch-actions { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; margin-top: .9rem; }
.ai-launch-actions > span { display: inline-flex; align-items: center; gap: .4rem; color: var(--muted); font-size: .85rem; }
.ai-launch-actions label { margin-left: auto; min-width: 260px; }
.ai-empty-intelligence { min-height: 280px; display: grid; place-items: center; align-content: center; text-align: center; background: linear-gradient(145deg,rgba(250,254,255,.98),rgba(237,248,251,.94)); }
.ai-empty-intelligence svg { color: #0b7892; }
.ai-core-metrics .metric-card { min-height: 150px; }
.ai-score-bar { display:block; width:100%; height:8px; border-radius:999px; overflow:hidden; background:rgba(28,91,121,.1); margin-top:.75rem; }
.ai-score-bar i { display:block; height:100%; border-radius:inherit; background:linear-gradient(90deg,#13689f,#17b6b0); box-shadow:0 0 20px rgba(23,182,176,.35); transition:width .65s cubic-bezier(.22,1,.36,1); }
.ai-core-tabs { position: sticky; top: 8px; z-index: 5; padding: .45rem; border-radius: 18px; backdrop-filter: blur(16px); background: rgba(247,252,254,.88); border:1px solid rgba(33,102,130,.12); box-shadow:0 14px 30px rgba(24,65,87,.08); }
.ai-recommendation-layout { display:grid; gap:1rem; }
.ai-executive-conclusion { position:relative; overflow:hidden; color:#effdff; background:linear-gradient(135deg,#0e3158 0%,#0e6480 65%,#0f8d91 100%); box-shadow:0 24px 54px rgba(12,57,91,.23); }
.ai-executive-conclusion::after { content:""; position:absolute; inset:auto -80px -120px auto; width:300px; height:300px; border-radius:50%; background:radial-gradient(circle,rgba(96,236,226,.22),rgba(96,236,226,0)); }
.ai-executive-conclusion .eyebrow,.ai-executive-conclusion .pill { color:#ecffff; }
.ai-executive-conclusion h2 { max-width:1100px; line-height:1.45; }
.ai-insight-list { list-style:none; padding:0; display:grid; gap:.7rem; }
.ai-insight-list li { display:flex; gap:.6rem; align-items:flex-start; padding:.7rem .8rem; border-radius:14px; background:rgba(238,250,253,.72); }
.ai-insight-list svg { flex:0 0 auto; margin-top:.15rem; color:#0c7793; }
.ai-rewrite-card { border:1px solid rgba(16,129,158,.22); background:linear-gradient(145deg,#f9feff,#edf9fb); }
.ai-rewrite-card blockquote { margin:1rem 0; padding:1.1rem 1.25rem; border-left:4px solid #14a8b1; border-radius:0 16px 16px 0; background:rgba(255,255,255,.82); color:#173e58; font-size:1.08rem; line-height:1.72; }
.ai-option-grid > article { transition:transform .22s ease,box-shadow .22s ease; }
.ai-option-grid > article:hover { transform:translateY(-4px); box-shadow:0 22px 44px rgba(18,65,91,.12); }
.ai-detail-list { display:grid; gap:.5rem; margin:1rem 0; }
.ai-detail-list div { display:grid; grid-template-columns:minmax(120px,.45fr) 1fr; gap:.75rem; padding:.55rem 0; border-bottom:1px solid rgba(36,91,117,.1); }
.ai-detail-list dt { font-weight:800; color:#294d63; }
.ai-detail-list dd { margin:0; color:#4c6675; }
.ai-sequence { display:grid; gap:.75rem; }
.ai-sequence-step { display:grid; grid-template-columns:46px minmax(0,1fr); gap:.9rem; position:relative; }
.ai-sequence-step:not(:last-child)::after { content:""; position:absolute; left:22px; top:44px; bottom:-12px; width:2px; background:linear-gradient(#0f91a4,rgba(15,145,164,.1)); }
.ai-sequence-step > span { width:44px; height:44px; border-radius:15px; display:grid; place-items:center; color:#fff; font-weight:900; background:linear-gradient(135deg,#0d5b8c,#17aca8); box-shadow:0 10px 24px rgba(11,106,132,.25); z-index:1; }
.ai-sequence-step > div { padding:.9rem 1rem; border-radius:17px; background:rgba(247,252,254,.9); border:1px solid rgba(36,104,132,.13); }
.ai-sequence-step p { margin:.35rem 0; color:#3f5c6c; }
.ai-sequence-step small,.ai-sequence-step em { display:block; color:var(--muted); font-style:normal; }
.ai-sequence-step em { margin-top:.35rem; color:#0b716f; font-weight:750; }
.ai-management-questions { background:linear-gradient(145deg,#fffdf8,#f8fbff); }
.ai-question { display:grid; grid-template-columns:32px minmax(0,1fr); gap:.7rem; align-items:start; padding:.85rem; border:1px solid rgba(120,91,39,.12); border-radius:15px; background:rgba(255,255,255,.8); }
.ai-question span { width:30px; height:30px; border-radius:10px; display:grid; place-items:center; font-weight:850; background:#eff7fa; color:#0b6682; }
.ai-question p { margin:.25rem 0 0; }
.ai-feedback-card { display:grid; grid-template-columns:.75fr 1.25fr; gap:1rem; background:linear-gradient(145deg,#f7fcff,#edf8f8); }
.ai-feedback-fields { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.ai-feedback-fields .wide,.ai-feedback-fields button { grid-column:1 / -1; }
.ai-evidence-card { border-left:4px solid #159ca8; }
.ai-citation-key { display:inline-grid; place-items:center; min-width:40px; height:30px; padding:0 .55rem; margin-bottom:.3rem; border-radius:10px; color:#fff; background:linear-gradient(135deg,#0d598a,#16aaa8); font-weight:900; }
.ai-evidence-meta { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-top:.85rem; padding-top:.75rem; border-top:1px solid rgba(37,94,121,.1); color:var(--muted); font-size:.8rem; }
.ai-evidence-meta span { display:inline-flex; align-items:center; gap:.35rem; }
.ai-dimension-card strong { font-size:1.4rem; color:#0b6385; }
.ai-reasoning-pipeline { display:grid; gap:.8rem; }
.ai-reasoning-pipeline article { display:grid; grid-template-columns:48px minmax(0,1fr); gap:.9rem; align-items:start; }
.ai-stage-number { width:44px; height:44px; border-radius:15px; display:grid; place-items:center; color:#fff; font-weight:900; background:linear-gradient(135deg,#173f70,#159caa); box-shadow:0 9px 20px rgba(17,89,119,.2); }
.ai-reasoning-pipeline h3 { margin:.2rem 0 .75rem; line-height:1.55; }
.ai-tool-card pre { max-height:240px; overflow:auto; border-radius:14px; padding:.8rem; background:#0c2438; color:#d9f7f4; }
.ai-value-story { color:#f2ffff; background:linear-gradient(135deg,#10345b,#0e7485); }
.ai-value-story .eyebrow { color:#aeecea; }
.ai-value-story h2 { max-width:1100px; line-height:1.5; }
.ai-value-story p { color:rgba(241,255,255,.78); }
@media (max-width: 1050px) {
  .ai-core-hero { flex-direction:column; }
  .ai-trust-badge { max-width:none; }
  .ai-core-launch-grid { grid-template-columns:1fr 150px; }
  .ai-core-launch-grid button { grid-column:1 / -1; }
  .ai-feedback-card { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .ai-core-launch-grid,.ai-feedback-fields { grid-template-columns:1fr; }
  .ai-feedback-fields .wide,.ai-feedback-fields button { grid-column:auto; }
  .ai-launch-actions { align-items:stretch; flex-direction:column; }
  .ai-launch-actions label { margin-left:0; min-width:0; }
  .ai-core-tabs { position:static; overflow-x:auto; flex-wrap:nowrap; }
  .ai-detail-list div { grid-template-columns:1fr; gap:.25rem; }
  .ai-reasoning-pipeline article { grid-template-columns:40px minmax(0,1fr); }
  .ai-stage-number { width:38px; height:38px; }
}

.ai-model-synthesis {
  position: relative;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--accent) 32%, var(--border));
  background:
    radial-gradient(circle at 95% 5%, color-mix(in srgb, var(--accent) 18%, transparent), transparent 34%),
    linear-gradient(145deg, color-mix(in srgb, var(--surface) 92%, white), var(--surface));
}
.ai-model-synthesis::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--accent), color-mix(in srgb, var(--accent) 45%, #7c3aed));
}
.ai-model-synthesis h2 { max-width: 980px; line-height: 1.35; }
.ai-model-synthesis .notice { margin-top: 1rem; }


/* src/styles/top-game-ui.css */
/* Stratify Top-Game Enterprise UI layer */
:root {
  --premium-navy: #061427;
  --premium-blue: #0d3d82;
  --premium-cyan: #22d3ee;
  --premium-mint: #34d399;
  --premium-violet: #8b5cf6;
  --premium-amber: #f59e0b;
  --premium-rose: #fb7185;
  --premium-ink: #0b1220;
  --premium-muted: #64748b;
  --premium-line: rgba(148, 163, 184, .28);
  --premium-card: rgba(255, 255, 255, .86);
  --premium-glass: rgba(255, 255, 255, .72);
  --premium-shadow: 0 24px 80px rgba(15, 23, 42, .14);
  --premium-shadow-strong: 0 36px 120px rgba(15, 23, 42, .20);
}

body {
  background:
    radial-gradient(circle at 12% 8%, rgba(34, 211, 238, .15), transparent 32rem),
    radial-gradient(circle at 86% 4%, rgba(139, 92, 246, .13), transparent 30rem),
    linear-gradient(135deg, #eef7fb 0%, #f7fbff 45%, #edf4ff 100%);
}

.production-shell.app-shell {
  background:
    radial-gradient(circle at 18% 8%, rgba(34, 211, 238, .16), transparent 34rem),
    radial-gradient(circle at 88% 12%, rgba(139, 92, 246, .14), transparent 34rem),
    radial-gradient(circle at 68% 96%, rgba(52, 211, 153, .11), transparent 31rem),
    linear-gradient(135deg, #eef7fb 0%, #f8fbff 38%, #edf4ff 100%);
}

.enterprise-ambient {
  position: fixed;
  pointer-events: none;
  z-index: 0;
  filter: blur(2px);
  opacity: .85;
}
.enterprise-ambient::before,
.enterprise-ambient::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: conic-gradient(from 120deg, rgba(34,211,238,.22), rgba(139,92,246,.20), rgba(52,211,153,.18), rgba(34,211,238,.22));
  animation: premium-float 14s ease-in-out infinite;
}
.enterprise-ambient-one { width: 420px; height: 420px; top: -160px; right: 14%; }
.enterprise-ambient-one::before { inset: 28px; }
.enterprise-ambient-two { width: 360px; height: 360px; bottom: -170px; left: 28%; }
.enterprise-ambient-two::after { inset: 34px; animation-delay: -5s; }

@keyframes premium-float {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg) scale(1); }
  50% { transform: translate3d(18px, -16px, 0) rotate(16deg) scale(1.05); }
}

.app-sidebar.sidebar {
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(248,252,255,.88)),
    radial-gradient(circle at 20% 0%, rgba(34,211,238,.22), transparent 20rem);
  border-right: 1px solid rgba(148,163,184,.22);
  box-shadow: 24px 0 80px rgba(15, 23, 42, .10);
  backdrop-filter: blur(26px) saturate(1.35);
}

.app-sidebar .logo-surface {
  position: relative;
  width: 196px;
  height: 60px;
}
.app-sidebar .logo-surface::before {
  content: "";
  position: absolute;
  inset: -8px -10px;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(34,211,238,.16), rgba(139,92,246,.12));
  opacity: .75;
}
.app-sidebar .brand-logo { position: relative; z-index: 1; width: 186px; }

.enterprise-workspace-card,
.workspace-summary {
  background:
    linear-gradient(135deg, rgba(6,20,39,.94), rgba(13,61,130,.90)),
    radial-gradient(circle at 80% 20%, rgba(34,211,238,.35), transparent 8rem);
  color: #fff;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 18px 48px rgba(13, 61, 130, .22);
}
.workspace-summary strong,
.workspace-summary span:not(.workspace-icon) { color: #fff; }
.workspace-summary span:not(.workspace-icon) { opacity: .72; }
.workspace-icon { background: rgba(255,255,255,.14); color: #fff; }
.workspace-live-dot {
  position: absolute;
  right: 14px;
  top: 14px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--premium-mint);
  box-shadow: 0 0 0 6px rgba(52,211,153,.12), 0 0 18px rgba(52,211,153,.85);
}
.enterprise-workspace-card { position: relative; overflow: hidden; }
.enterprise-workspace-card::after {
  content: "";
  position: absolute;
  inset: auto -50px -60px auto;
  width: 130px;
  height: 130px;
  border-radius: 50%;
  background: rgba(34, 211, 238, .18);
}

.nav-search input {
  background: rgba(255,255,255,.78);
  border-color: rgba(148,163,184,.24);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8), 0 10px 26px rgba(15,23,42,.06);
}

.nav-group { animation: nav-rise .48s ease both; animation-delay: var(--nav-delay, 0ms); }
@keyframes nav-rise { from { opacity: 0; transform: translateX(-8px); } to { opacity: 1; transform: translateX(0); } }
.app-sidebar nav a {
  position: relative;
  overflow: hidden;
  min-height: 45px;
  border: 1px solid transparent;
}
.app-sidebar nav a::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(34,211,238,.10), transparent 70%);
  transform: translateX(-105%);
  transition: transform .28s ease;
}
.app-sidebar nav a:hover::before { transform: translateX(0); }
.app-sidebar nav a:hover { border-color: rgba(34,211,238,.16); transform: translateX(2px); }
.app-sidebar nav a.active {
  background: linear-gradient(135deg, var(--premium-navy), var(--premium-blue));
  box-shadow: 0 16px 40px rgba(13, 61, 130, .28);
}
.app-sidebar .nav-icon { display: grid; place-items: center; transition: transform .2s ease, background .2s ease; }
.app-sidebar nav a:hover .nav-icon { transform: scale(1.04); }

.app-topbar {
  background: rgba(248, 251, 255, .72);
  backdrop-filter: blur(26px) saturate(1.4);
  border-bottom: 1px solid rgba(148, 163, 184, .20);
  box-shadow: 0 18px 55px rgba(15, 23, 42, .06);
}
.topbar-kicker { color: var(--premium-blue); }
.topbar-title strong { font-size: 1.1rem; }
.topbar-quick-action,
.primary-action,
.auth-submit,
.file-picker span {
  background: linear-gradient(135deg, var(--premium-navy), var(--premium-blue) 58%, #0e7490);
  box-shadow: 0 18px 42px rgba(13, 61, 130, .24), inset 0 1px 0 rgba(255,255,255,.16);
  color: #fff;
}
.topbar-quick-action:hover,
.primary-action:hover,
.auth-submit:hover,
.file-picker span:hover { transform: translateY(-1px); box-shadow: 0 22px 52px rgba(13,61,130,.30); }
.topbar-icon-action,
.topbar-profile,
.profile-popover,
.security-status {
  background: rgba(255,255,255,.80);
  border: 1px solid rgba(148,163,184,.24);
  box-shadow: 0 14px 40px rgba(15,23,42,.07);
  backdrop-filter: blur(16px);
}

.page-canvas { position: relative; z-index: 1; }
.page-canvas > section,
.page-canvas > div { animation: page-bloom .46s cubic-bezier(.2,.75,.25,1) both; }
@keyframes page-bloom { from { opacity: 0; transform: translateY(12px) scale(.992); filter: blur(4px); } to { opacity: 1; transform: translateY(0) scale(1); filter: blur(0); } }

.panel,
.metric-card,
.dashboard-panel,
.page-header.hero-panel,
.upload-box,
.surface-card,
.glass-panel,
.status-box,
.table-wrap {
  border-color: rgba(148, 163, 184, .22) !important;
  box-shadow: var(--premium-shadow);
}
.panel,
.dashboard-panel,
.metric-card,
.upload-box,
.surface-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.78)),
    radial-gradient(circle at 88% 0%, rgba(34,211,238,.10), transparent 18rem);
  backdrop-filter: blur(18px) saturate(1.25);
}
.panel:hover,
.dashboard-panel:hover,
.metric-card:hover,
.upload-box:hover {
  transform: translateY(-3px);
  border-color: rgba(34, 211, 238, .34) !important;
  box-shadow: var(--premium-shadow-strong);
}

.premium-hero,
.dashboard-hero {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(135deg, rgba(6,20,39,.98), rgba(13,61,130,.94) 52%, rgba(10,116,144,.92)),
    radial-gradient(circle at 100% 0%, rgba(34,211,238,.45), transparent 18rem) !important;
  color: #fff;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 32px 100px rgba(6,20,39,.24) !important;
}
.premium-hero::before,
.dashboard-hero::before {
  content: "";
  position: absolute;
  inset: -80px -100px auto auto;
  width: 360px;
  height: 360px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(34,211,238,.38), rgba(139,92,246,.16) 50%, transparent 70%);
  animation: premium-float 12s ease-in-out infinite;
}
.premium-hero h1,
.premium-hero h2,
.premium-hero h3,
.dashboard-hero h1 { color: #fff; }
.premium-hero .muted,
.dashboard-hero p { color: rgba(226, 244, 255, .82) !important; }
.premium-hero .eyebrow { color: #93f3ff; }
.premium-hero > *, .dashboard-hero > * { position: relative; z-index: 1; }
.hero-chip-row { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.1rem; }
.hero-chip-row span {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  padding: .55rem .75rem;
  border-radius: 999px;
  color: #e6fbff;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  font-size: .78rem;
  font-weight: 800;
}

.dashboard-hero { border-radius: 30px; }
.dashboard-health-card,
.enterprise-health-card {
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  color: #fff;
  backdrop-filter: blur(18px);
}
.dashboard-health-card p,
.dashboard-health-card span { color: rgba(226,244,255,.78); }
.health-track { background: rgba(255,255,255,.14); }
.health-track span { background: linear-gradient(90deg, var(--premium-mint), var(--premium-cyan)); }
.executive-pulse-strip {
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(241,248,255,.84));
  border: 1px solid rgba(148,163,184,.24);
  box-shadow: var(--premium-shadow);
  backdrop-filter: blur(18px);
}
.dashboard-metric-card {
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(248,252,255,.84));
  border: 1px solid rgba(148,163,184,.24);
  box-shadow: var(--premium-shadow);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.dashboard-metric-card:hover { transform: translateY(-4px); border-color: rgba(34,211,238,.28); box-shadow: var(--premium-shadow-strong); }

.auth-screen {
  background:
    radial-gradient(circle at 10% 10%, rgba(34,211,238,.22), transparent 30rem),
    radial-gradient(circle at 90% 5%, rgba(139,92,246,.20), transparent 32rem),
    linear-gradient(135deg, #061427, #0b1f3d 52%, #0c4a6e);
}
.auth-form-panel {
  box-shadow: 0 36px 120px rgba(0,0,0,.30);
  border: 1px solid rgba(255,255,255,.20);
}
.auth-story-panel::before {
  background: radial-gradient(circle at 72% 30%, rgba(34,211,238,.24), transparent 20rem);
}
.auth-command-preview {
  border-color: rgba(255,255,255,.16);
  box-shadow: 0 24px 80px rgba(0,0,0,.20);
  animation: command-hover 5s ease-in-out infinite;
}
@keyframes command-hover { 0%,100% { transform: translateY(0); } 50% { transform: translateY(-6px); } }

/* Evidence Intake and extraction presentation */
.intake-command-grid {
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(320px, 1.05fr);
  gap: 1rem;
}
.premium-upload-card { position: relative; overflow: hidden; }
.premium-upload-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(34,211,238,.10), transparent 38%, rgba(139,92,246,.08));
  pointer-events: none;
}
.upload-orb {
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(135deg, var(--premium-blue), var(--premium-cyan));
  box-shadow: 0 20px 48px rgba(34,211,238,.24);
}
.premium-form-grid label {
  background: rgba(255,255,255,.68);
  border: 1px solid rgba(148,163,184,.20);
  border-radius: 16px;
  padding: .75rem;
}
.premium-file-picker span { width: 100%; justify-content: center; border-radius: 16px; padding: .95rem 1rem; }
.extraction-command-panel { overflow: hidden; }
.extraction-orbit-card {
  display: grid;
  grid-template-columns: 158px minmax(0, 1fr);
  gap: 1rem;
  align-items: center;
  margin: 1rem 0;
  padding: 1rem;
  border-radius: 22px;
  background: linear-gradient(135deg, #07182e, #0d3d82);
  color: #fff;
  box-shadow: 0 22px 70px rgba(13,61,130,.22);
}
.extraction-ring {
  --score: 0%;
  width: 138px;
  height: 138px;
  border-radius: 999px;
  display: grid;
  place-items: center;
  text-align: center;
  background: conic-gradient(var(--premium-cyan) var(--score), rgba(255,255,255,.14) 0);
  position: relative;
  box-shadow: 0 0 0 10px rgba(255,255,255,.06);
}
.extraction-ring::before {
  content: "";
  position: absolute;
  inset: 13px;
  border-radius: inherit;
  background: linear-gradient(135deg, #07182e, #0c2e63);
}
.extraction-ring strong,
.extraction-ring span { position: relative; z-index: 1; display: block; }
.extraction-ring strong { font-size: 1.8rem; letter-spacing: -.05em; }
.extraction-ring span { margin-top: 2.2rem; font-size: .7rem; color: rgba(226,244,255,.68); text-transform: uppercase; font-weight: 850; letter-spacing: .08em; }
.extraction-orbit-copy span { color: #7dd3fc; font-weight: 850; text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; }
.extraction-orbit-copy h4 { margin: .25rem 0 .35rem; color: #fff; font-size: 1.25rem; }
.extraction-orbit-copy p { color: rgba(226,244,255,.78); margin: 0; }
.intelligence-stat-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .75rem;
}
.intelligence-stat-row div {
  padding: .85rem;
  border-radius: 16px;
  background: rgba(13,61,130,.06);
  border: 1px solid rgba(13,61,130,.09);
}
.intelligence-stat-row span { display: block; color: var(--premium-muted); font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; }
.intelligence-stat-row strong { display: block; margin-top: .15rem; color: var(--premium-ink); font-size: 1.35rem; }
.extracted-data-grid { align-items: start; }
.extracted-signal-board, .evidence-preview-panel { min-height: 420px; }
.signal-cluster-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
  gap: .75rem;
  margin: 1rem 0;
}
.signal-cluster-card {
  position: relative;
  overflow: hidden;
  padding: 1rem;
  border-radius: 18px;
  color: #fff;
  min-height: 118px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  box-shadow: 0 20px 55px rgba(15,23,42,.13);
}
.signal-cluster-card::after {
  content: "";
  position: absolute;
  width: 92px;
  height: 92px;
  border-radius: 999px;
  right: -32px;
  bottom: -32px;
  background: rgba(255,255,255,.16);
}
.signal-cluster-card span { position: relative; z-index: 1; font-weight: 850; font-size: .8rem; opacity: .86; }
.signal-cluster-card strong { position: relative; z-index: 1; font-size: 2rem; letter-spacing: -.05em; }
.signal-cluster-card small { position: relative; z-index: 1; opacity: .75; font-weight: 750; }
.tone-blue { --tone: #0d3d82; --tone2: #2563eb; }
.tone-cyan { --tone: #0e7490; --tone2: #22d3ee; }
.tone-amber { --tone: #b45309; --tone2: #f59e0b; }
.tone-rose { --tone: #be123c; --tone2: #fb7185; }
.tone-violet { --tone: #6d28d9; --tone2: #a78bfa; }
.tone-slate { --tone: #334155; --tone2: #64748b; }
.signal-cluster-card[class*="tone-"] { background: linear-gradient(135deg, var(--tone), var(--tone2)); }
.entity-card-list {
  display: grid;
  gap: .75rem;
  margin-top: 1rem;
}
.entity-signal-card {
  padding: .85rem;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(255,255,255,.92), rgba(248,252,255,.78));
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 12px 32px rgba(15,23,42,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.entity-signal-card:hover { transform: translateY(-2px); box-shadow: 0 18px 42px rgba(15,23,42,.10); border-color: rgba(34,211,238,.28); }
.entity-signal-card > div:first-child { display: flex; gap: .65rem; justify-content: space-between; align-items: flex-start; }
.entity-signal-card strong { color: var(--premium-ink); font-size: .94rem; line-height: 1.35; }
.entity-type-pill {
  flex: 0 0 auto;
  padding: .36rem .52rem;
  border-radius: 999px;
  color: #fff;
  background: linear-gradient(135deg, var(--tone), var(--tone2));
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.confidence-bar { height: 8px; margin: .78rem 0 .35rem; border-radius: 999px; background: rgba(148,163,184,.16); overflow: hidden; }
.confidence-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--tone), var(--tone2)); }
.entity-signal-card small { color: var(--premium-muted); font-weight: 750; }
.evidence-preview-window {
  max-height: 360px;
  overflow: auto;
  padding: 1rem;
  border-radius: 18px;
  background: linear-gradient(135deg, #07182e, #0b2c58);
  color: #e2f4ff;
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}
.evidence-preview-window p { margin: 0; white-space: pre-wrap; font-size: .94rem; line-height: 1.75; }
.compact-entity-table { margin-top: 1rem; }

/* Extraction Studio */
.premium-metrics-grid .metric-card {
  overflow: hidden;
  position: relative;
}
.premium-metrics-grid .metric-card::after {
  content: "";
  position: absolute;
  right: -35px;
  top: -35px;
  width: 105px;
  height: 105px;
  border-radius: 999px;
  background: rgba(34,211,238,.12);
}
.extraction-review-grid > .panel,
.evidence-artifact-grid > .panel { overflow: hidden; }
.premium-table-wrap {
  border-radius: 18px;
  overflow: hidden;
  border: 1px solid rgba(148,163,184,.22) !important;
  box-shadow: 0 18px 50px rgba(15,23,42,.08);
}
.premium-table-wrap table { border-collapse: separate; border-spacing: 0; }
.premium-table-wrap thead th {
  background: linear-gradient(135deg, #07182e, #0d3d82);
  color: #e6fbff;
  border-bottom: 0;
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.premium-table-wrap tbody tr { transition: background .15s ease, transform .15s ease; }
.premium-table-wrap tbody tr:hover { background: rgba(34,211,238,.055); }
.premium-evidence-list { display: grid; gap: .9rem; }
.premium-evidence-card {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.94), rgba(248,252,255,.82));
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 16px 44px rgba(15,23,42,.08);
}
.premium-evidence-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--premium-cyan), var(--premium-violet));
}
.premium-table-preview {
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(241,248,255,.86));
}

/* General polish for forms, tabs, lists and statuses */
.status-box,
.error-box {
  border-radius: 16px !important;
  white-space: pre-wrap;
}
.premium-status { background: linear-gradient(135deg, rgba(236,253,245,.95), rgba(240,249,255,.95)); border-color: rgba(34,197,94,.20) !important; }
.pill {
  border: 1px solid rgba(148,163,184,.24);
  background: rgba(255,255,255,.72);
}
.pill.success { background: rgba(16,185,129,.12); color: #047857; border-color: rgba(16,185,129,.20); }
.pill.warning { background: rgba(245,158,11,.14); color: #92400e; border-color: rgba(245,158,11,.24); }
.pill.danger { background: rgba(244,63,94,.12); color: #be123c; border-color: rgba(244,63,94,.24); }
.pill.tone-blue, .pill.tone-cyan, .pill.tone-amber, .pill.tone-rose, .pill.tone-violet, .pill.tone-slate { color: #fff; background: linear-gradient(135deg, var(--tone), var(--tone2)); border-color: transparent; }
button,
.button-link,
.secondary-action,
.text-action,
.journey-list a,
.panel-heading a {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
}
button:hover,
.button-link:hover,
.secondary-action:hover,
.text-action:hover,
.journey-list a:hover,
.panel-heading a:hover { transform: translateY(-1px); }
input,
textarea,
select {
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 20px rgba(15,23,42,.04);
}

@media (max-width: 1180px) {
  .intake-command-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .hero-chip-row { display: grid; }
  .extraction-orbit-card { grid-template-columns: 1fr; text-align: center; }
  .extraction-ring { margin: 0 auto; }
  .intelligence-stat-row { grid-template-columns: 1fr; }
  .signal-cluster-grid { grid-template-columns: 1fr 1fr; }
  .entity-signal-card > div:first-child { display: grid; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
}

/* Methodology Intelligence Engine */
.methodology-page .methodology-hero {
  background:
    radial-gradient(circle at top left, rgba(23, 182, 176, 0.22), transparent 30rem),
    radial-gradient(circle at bottom right, rgba(18, 58, 114, 0.18), transparent 28rem),
    linear-gradient(135deg, rgba(255,255,255,0.96), rgba(246,250,255,0.92));
  border: 1px solid rgba(18, 58, 114, 0.1);
  border-radius: 32px;
  padding: clamp(1.25rem, 3vw, 2.4rem);
  box-shadow: 0 24px 70px rgba(12, 31, 63, 0.12);
}
.methodology-launcher {
  display: grid;
  gap: 1rem;
  border-radius: 28px;
  border: 1px solid rgba(18,58,114,0.12);
  background: linear-gradient(180deg, rgba(255,255,255,0.98), rgba(247,250,255,0.96));
}
.methodology-picker {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: .85rem;
}
.methodology-picker button {
  text-align: left;
  border: 1px solid rgba(18,58,114,0.14);
  background: #fff;
  color: #10284f;
  border-radius: 20px;
  padding: 1rem;
  display: grid;
  gap: .3rem;
  box-shadow: 0 12px 30px rgba(18,58,114,0.08);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.methodology-picker button:hover { transform: translateY(-2px); box-shadow: 0 18px 45px rgba(18,58,114,0.14); }
.methodology-picker button.selected { border-color: rgba(23,182,176,0.55); background: linear-gradient(135deg, rgba(23,182,176,0.12), rgba(18,58,114,0.06)); }
.methodology-picker button span { color: #58708f; font-size: .88rem; }
.methodology-library-grid { margin-top: 1rem; }
.methodology-pack-card,
.methodology-score-card,
.methodology-finding-card,
.skill-card,
.refined-section-card {
  border-radius: 26px;
  border: 1px solid rgba(18,58,114,0.1);
  background: rgba(255,255,255,0.96);
  box-shadow: 0 18px 50px rgba(12,31,63,0.09);
}
.methodology-score i { background: linear-gradient(90deg, #17b6b0, #123a72); }
.methodology-finding-card .ai-evidence-card {
  background: linear-gradient(180deg, #ffffff, #f8fbff);
  border: 1px solid rgba(18,58,114,0.1);
  border-radius: 18px;
  padding: .85rem;
  margin-bottom: .7rem;
}
.methodology-finding-card .ai-evidence-card span { display: block; color: #60718b; font-size: .82rem; }
.strategy-timeline { display: grid; gap: .85rem; }
.timeline-step {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: .9rem;
  align-items: start;
  padding: 1rem;
  border-radius: 20px;
  background: linear-gradient(135deg, rgba(18,58,114,0.06), rgba(23,182,176,0.07));
  border: 1px solid rgba(18,58,114,0.08);
}
.timeline-step > span {
  width: 2.4rem;
  height: 2.4rem;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #123a72;
  color: #fff;
  font-weight: 800;
}
.timeline-step p { margin: .25rem 0; }
.timeline-step small { color: #58708f; }

/* Advanced Methodology Consultant Engine */
.consultant-engine-page .consultant-hero {
  background:
    radial-gradient(circle at 18% 10%, rgba(34, 211, 238, 0.24), transparent 34%),
    radial-gradient(circle at 82% 0%, rgba(59, 130, 246, 0.22), transparent 30%),
    linear-gradient(135deg, rgba(15, 23, 42, 0.96), rgba(15, 23, 42, 0.88));
  border: 1px solid rgba(148, 163, 184, 0.18);
  color: #f8fafc;
  overflow: hidden;
  position: relative;
}
.consultant-engine-page .consultant-hero::after {
  content: "";
  position: absolute;
  inset: auto -10% -45% 50%;
  height: 230px;
  background: linear-gradient(90deg, transparent, rgba(34, 211, 238, 0.22), transparent);
  transform: rotate(-11deg);
}
.consultant-engine-page .consultant-hero h1,
.consultant-engine-page .consultant-hero p,
.consultant-engine-page .consultant-hero .eyebrow { color: #f8fafc; }
.consultant-launcher {
  border: 1px solid rgba(37, 99, 235, 0.16);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
}
.consultant-methodology-picker button {
  min-height: 112px;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.55rem;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}
.consultant-methodology-picker button.selected {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.13), rgba(37, 99, 235, 0.12));
  border-color: rgba(37, 99, 235, 0.42);
  box-shadow: 0 18px 38px rgba(37, 99, 235, 0.12);
}
.consultant-pack-grid .methodology-pack-card {
  background: linear-gradient(180deg, #ffffff, #f8fafc);
}
.consultant-summary-card {
  background:
    radial-gradient(circle at top left, rgba(34, 211, 238, 0.12), transparent 30%),
    linear-gradient(180deg, #ffffff, #f8fafc);
  border-color: rgba(37, 99, 235, 0.16);
}
.cross-framework-card {
  border-left: 5px solid rgba(37, 99, 235, 0.55);
  background: linear-gradient(180deg, #ffffff, #f9fbff);
}
.refined-section-card {
  padding: 1rem;
  margin: 0 0 0.85rem;
  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 18px;
  background: rgba(248, 250, 252, 0.72);
}
.data-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(148, 163, 184, 0.2);
  border-radius: 18px;
}
.data-table-wrap table {
  width: 100%;
  border-collapse: collapse;
  min-width: 760px;
  background: white;
}
.data-table-wrap th,
.data-table-wrap td {
  padding: 0.9rem 1rem;
  border-bottom: 1px solid rgba(226, 232, 240, 0.9);
  vertical-align: top;
  text-align: left;
}
.data-table-wrap th {
  background: #f8fafc;
  color: #334155;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
@media (max-width: 900px) {
  .consultant-methodology-picker button { min-height: 92px; }
}
/* --------------------------------------------------------------------------
   Stratify production redesign patch: calmer enterprise palette, stronger
   contrast, premium login, and readable data surfaces.
   -------------------------------------------------------------------------- */
:root {
  --st-navy: #08172f;
  --st-blue: #0f4c81;
  --st-cyan: #0e9bb0;
  --st-ink: #0f172a;
  --st-muted: #52637a;
  --st-line: rgba(148, 163, 184, 0.28);
  --st-card: rgba(255,255,255,0.94);
  --st-page: #f4f7fb;
  --st-success: #047857;
  --st-warning: #b45309;
  --st-danger: #b91c1c;
  --st-shadow: 0 26px 70px rgba(8, 23, 47, 0.13);
}
body {
  color: var(--st-ink);
  background:
    radial-gradient(circle at 12% -8%, rgba(14, 155, 176, 0.12), transparent 32%),
    radial-gradient(circle at 90% 0%, rgba(15, 76, 129, 0.11), transparent 28%),
    linear-gradient(180deg, #f7faff 0%, #eef4fb 100%);
}
.production-shell.enterprise-shell {
  background:
    radial-gradient(circle at 16% 8%, rgba(14, 155, 176, 0.12), transparent 26%),
    radial-gradient(circle at 100% 12%, rgba(15, 76, 129, 0.10), transparent 34%),
    var(--st-page) !important;
}
.enterprise-sidebar {
  background: linear-gradient(180deg, #07152c 0%, #0a1d3a 48%, #08172f 100%) !important;
  color: #f8fafc;
  border-right: 1px solid rgba(255,255,255,0.08);
  box-shadow: 24px 0 70px rgba(8, 23, 47, 0.24);
}
.enterprise-sidebar .nav-group h2,
.enterprise-sidebar .workspace-summary span,
.enterprise-sidebar .account-copy span { color: rgba(226, 232, 240, 0.72) !important; }
.enterprise-sidebar .primary-nav a {
  color: rgba(241, 245, 249, 0.86) !important;
  background: transparent;
  border: 1px solid transparent;
}
.enterprise-sidebar .primary-nav a:hover {
  color: #fff !important;
  background: rgba(255,255,255,0.08) !important;
  border-color: rgba(255,255,255,0.10);
  transform: translateX(3px);
}
.enterprise-sidebar .primary-nav a.active {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(14, 155, 176, 0.28), rgba(15, 76, 129, 0.44)) !important;
  border-color: rgba(125, 211, 252, 0.35);
  box-shadow: 0 16px 38px rgba(3, 105, 161, 0.25);
}
.enterprise-nav-search,
.enterprise-workspace-card,
.enterprise-account-card {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  box-shadow: none !important;
}
.enterprise-nav-search input { color: #f8fafc !important; }
.enterprise-nav-search input::placeholder { color: rgba(226,232,240,0.62); }
.enterprise-content { color: var(--st-ink); }
.enterprise-topbar {
  background: rgba(255,255,255,0.82) !important;
  backdrop-filter: blur(18px);
  border: 1px solid rgba(203, 213, 225, 0.62) !important;
  box-shadow: 0 14px 45px rgba(15, 23, 42, 0.08) !important;
}
.topbar-title strong { color: var(--st-ink) !important; }
.topbar-kicker, .muted, small { color: var(--st-muted) !important; }
.panel,
.card,
.mini-metric,
.metric-card,
.detail-panel,
.consultant-summary-card,
.cross-framework-card,
.refined-section-card {
  background: var(--st-card) !important;
  color: var(--st-ink) !important;
  border: 1px solid rgba(203, 213, 225, 0.74) !important;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.08) !important;
}
.panel h1, .panel h2, .panel h3, .card h1, .card h2, .card h3, .mini-metric strong, .metric-card strong { color: var(--st-ink) !important; }
.hero-panel,
.hero-composed,
.page-header {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.96), rgba(248,250,252,0.9)),
    radial-gradient(circle at top right, rgba(14,155,176,.14), transparent 28%) !important;
  color: var(--st-ink) !important;
  border: 1px solid rgba(203, 213, 225, 0.76) !important;
  box-shadow: var(--st-shadow) !important;
}
.hero-panel h1,
.hero-composed h1,
.page-header h1 { color: var(--st-ink) !important; letter-spacing: -0.035em; }
.eyebrow {
  color: #0b7285 !important;
  font-weight: 800;
  letter-spacing: 0.11em;
}
button,
.button,
.auth-submit,
.topbar-quick-action {
  border-radius: 14px !important;
  font-weight: 800;
}
button:not(.ghost):not(.secondary):not(.sidebar-close):not(.password-toggle):not(.topbar-profile):not(.topbar-icon-action),
.button.primary,
.auth-submit,
.topbar-quick-action {
  background: linear-gradient(135deg, #0f4c81, #0e9bb0) !important;
  color: white !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  box-shadow: 0 16px 35px rgba(15, 76, 129, 0.22) !important;
}
button:not(:disabled):hover,
.button:not(:disabled):hover { transform: translateY(-1px); }
button.secondary,
.secondary {
  background: #eef6ff !important;
  color: #0f4c81 !important;
  border: 1px solid rgba(15,76,129,0.20) !important;
}
button.ghost,
.ghost {
  background: #fff !important;
  color: #334155 !important;
  border: 1px solid rgba(148,163,184,0.44) !important;
}
input, textarea, select {
  background: #fff !important;
  color: var(--st-ink) !important;
  border: 1px solid rgba(148, 163, 184, 0.42) !important;
  box-shadow: inset 0 1px 0 rgba(15,23,42,0.02) !important;
}
input:focus, textarea:focus, select:focus {
  outline: 3px solid rgba(14, 155, 176, 0.18) !important;
  border-color: rgba(14, 155, 176, 0.72) !important;
}
.table-wrap,
.data-table-wrap {
  background: #fff !important;
  border: 1px solid rgba(203, 213, 225, 0.78) !important;
  box-shadow: 0 16px 45px rgba(15, 23, 42, 0.06);
}
table { color: var(--st-ink) !important; }
th {
  background: #f1f5f9 !important;
  color: #334155 !important;
}
td { color: #1f2937 !important; }
tr:hover td { background: #f8fbff !important; }
.selected-row td { background: #eaf7fb !important; }
.pill {
  color: #123a72 !important;
  background: #e6f3ff !important;
  border: 1px solid rgba(15, 76, 129, 0.16) !important;
}
.pill.accepted, .pill.complete, .pill.completed { color: #047857 !important; background: #ecfdf5 !important; border-color: #a7f3d0 !important; }
.pill.rejected, .pill.blocked, .pill.error { color: #b91c1c !important; background: #fef2f2 !important; border-color: #fecaca !important; }
.pill.corrected, .pill.pending, .pill.in_progress { color: #92400e !important; background: #fffbeb !important; border-color: #fde68a !important; }
.status-box, .error-box {
  white-space: pre-wrap !important;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  border-radius: 18px !important;
  line-height: 1.55;
}
.status-box { color: #065f46 !important; background: #ecfdf5 !important; border: 1px solid #a7f3d0 !important; }
.error-box { color: #991b1b !important; background: #fff1f2 !important; border: 1px solid #fecdd3 !important; }

/* Premium authentication redesign */
.auth-screen.production-auth.enterprise-auth {
  min-height: 100vh;
  padding: clamp(1.1rem, 2.4vw, 2.2rem);
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .72fr);
  gap: clamp(1.1rem, 2vw, 1.8rem);
  background:
    radial-gradient(circle at 8% 4%, rgba(14, 155, 176, 0.18), transparent 32%),
    radial-gradient(circle at 85% 10%, rgba(59, 130, 246, 0.16), transparent 34%),
    linear-gradient(135deg, #f7fbff 0%, #eef5fb 42%, #e8f1f8 100%) !important;
}
.auth-story-panel.enterprise-auth-story {
  min-height: calc(100vh - 4.4rem);
  border-radius: 34px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.18);
  background:
    linear-gradient(135deg, rgba(8,23,47,0.96), rgba(10,41,78,0.92)),
    radial-gradient(circle at 10% 5%, rgba(14, 155, 176, 0.42), transparent 28%) !important;
  box-shadow: 0 30px 90px rgba(8, 23, 47, 0.34);
}
.auth-story-panel.enterprise-auth-story::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(135deg, #000 10%, transparent 76%);
  pointer-events: none;
}
.auth-story-content { max-width: 720px; }
.auth-brand-lockup img,
.auth-mobile-brand img { max-height: 62px; object-fit: contain; }
.auth-kicker {
  color: #9be7f5 !important;
  background: rgba(14,155,176,0.13);
  border: 1px solid rgba(125,211,252,0.22);
}
.auth-story-content h1 {
  color: #ffffff !important;
  font-size: clamp(2.6rem, 6vw, 5.9rem) !important;
  line-height: .94 !important;
  letter-spacing: -0.075em;
  max-width: 11ch;
}
.auth-story-content p { color: rgba(226, 232, 240, 0.82) !important; font-size: clamp(1rem, 1.5vw, 1.2rem); }
.auth-command-preview {
  background: rgba(255,255,255,0.10) !important;
  border: 1px solid rgba(255,255,255,0.16) !important;
  box-shadow: 0 22px 60px rgba(0,0,0,0.22) !important;
  backdrop-filter: blur(16px);
}
.auth-command-head span, .auth-command-head b, .auth-pulse-grid strong, .auth-command-flow span { color: #fff !important; }
.auth-pulse-grid span, .auth-value-list small { color: rgba(226,232,240,.78) !important; }
.auth-value-list > div {
  background: rgba(255,255,255,0.08) !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
}
.auth-value-list strong { color: #fff !important; }
.auth-form-panel.enterprise-auth-form-panel {
  display: grid;
  align-items: center;
}
.auth-form-card.enterprise-auth-card {
  position: relative;
  border-radius: 34px !important;
  padding: clamp(1.5rem, 3.6vw, 2.8rem) !important;
  background: rgba(255,255,255,0.92) !important;
  color: var(--st-ink) !important;
  border: 1px solid rgba(203, 213, 225, 0.8) !important;
  box-shadow: 0 30px 90px rgba(8, 23, 47, 0.16) !important;
  backdrop-filter: blur(18px);
}
.auth-card-accent {
  background: linear-gradient(90deg, #0f4c81, #0e9bb0, #38bdf8) !important;
  height: 5px !important;
}
.auth-heading h2 { color: var(--st-ink) !important; font-size: clamp(2rem, 3vw, 2.7rem); letter-spacing: -0.055em; }
.auth-heading p { color: var(--st-muted) !important; }
.auth-tabs {
  background: #edf4fb !important;
  border: 1px solid rgba(148, 163, 184, 0.30) !important;
  padding: .35rem !important;
}
.auth-tabs button {
  color: #475569 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.auth-tabs button.active {
  color: #0f4c81 !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(15,23,42,0.08) !important;
}
.auth-field span { color: #334155 !important; font-weight: 800; }
.auth-field > div {
  background: #ffffff !important;
  border: 1px solid rgba(148, 163, 184, 0.44) !important;
  box-shadow: 0 10px 26px rgba(15,23,42,0.04) !important;
}
.auth-field input { border: 0 !important; box-shadow: none !important; }
.auth-error {
  color: #991b1b !important;
  background: #fff1f2 !important;
  border: 1px solid #fecdd3 !important;
}
.auth-assurance-row span { color: #475569 !important; }
.auth-footer { color: #64748b !important; }
@media (max-width: 980px) {
  .auth-screen.production-auth.enterprise-auth { grid-template-columns: 1fr; padding: 1rem; }
  .auth-story-panel.enterprise-auth-story { min-height: auto; padding: 1.25rem; }
  .auth-story-content h1 { max-width: none; font-size: clamp(2.3rem, 10vw, 3.8rem) !important; }
}
@media (prefers-reduced-motion: no-preference) {
  .auth-form-card, .panel, .mini-metric, .metric-card, .enterprise-topbar { animation: stFadeLift .55s ease both; }
  @keyframes stFadeLift { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
}

/* Account access modes */
.auth-form-card.enterprise-auth-card .auth-tabs { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.auth-form-card.enterprise-auth-card .auth-field select { width:100%; min-height:52px; border:1px solid #d4e1e9; border-radius:12px; background:#f9fbfc; color:#183126; font:inherit; padding:.75rem .85rem; outline:none; }
.auth-form-card.enterprise-auth-card .auth-field select:focus { border-color:#315f16; box-shadow:0 0 0 3px rgba(49,95,22,.12); background:#fff; }
.auth-form-card.enterprise-auth-card .auth-field small { display:block; margin-top:.45rem; color:#5a6b62; line-height:1.45; }
@media (max-width: 620px) { .auth-form-card.enterprise-auth-card .auth-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

