:root {
  --bg: #041b32;
  --bg-soft: #0a2b48;
  --surface: rgba(255,255,255,.94);
  --surface-strong: #ffffff;
  --surface-dark: #10283d;
  --line: rgba(7, 55, 91, .12);
  --ink: #102338;
  --muted: #5e7389;
  --primary: #0c4f83;
  --primary-strong: #052b4f;
  --primary-soft: rgba(12, 79, 131, .10);
  --accent: #28bde4;
  --accent-soft: rgba(40, 189, 228, .14);
  --success: #0f8a74;
  --success-soft: rgba(15, 138, 116, .12);
  --danger: #b85050;
  --radius: 24px;
  --radius-sm: 18px;
  --shadow: 0 30px 80px rgba(5, 20, 34, .10);
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background:
    radial-gradient(circle at top left, rgba(34,199,201,.16), transparent 26%),
    radial-gradient(circle at top right, rgba(15,76,129,.18), transparent 28%),
    linear-gradient(180deg, #f4f9fc 0%, #eef5fa 100%);
}
a { color: var(--primary); text-decoration: none; }
a:hover { opacity: .95; }
img { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; }
.card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.dark-card {
  background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  border: 1px solid rgba(255,255,255,.08);
  color: #ecf6ff;
  box-shadow: none;
}
.shell { width: min(1180px, calc(100% - 40px)); margin: 0 auto; }
.narrow { width: min(820px, 100%); }
.site-header {
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(14px);
  background: rgba(244,249,252,.82);
  border-bottom: 1px solid rgba(16,35,56,.06);
}
.nav-shell {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 66px;
}
.brand { display: inline-flex; align-items: center; gap: 14px; color: var(--ink); }
.brand-logo { display: block; object-fit: contain; }
.brand-logo-nav { height: 38px; width: auto; max-width: min(100%, 260px); }
.brand-logo-sidebar { width: 56px; height: 56px; border-radius: 16px; background: rgba(255,255,255,.96); padding: 6px; box-shadow: 0 16px 30px rgba(4,27,50,.18); }
.brand-logo-footer { width: 72px; height: 72px; object-fit: contain; }
.brand-copy { display: grid; gap: 2px; }
.brand-copy strong { font-size: 1rem; }
.brand-copy span { color: var(--muted); font-size: .84rem; }
.sr-only {
  position: absolute !important;
  width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
.nav-menu, .nav-actions, .topbar-actions, .hero-actions, .row-actions { display: flex; align-items: center; gap: 14px; }
.nav-menu a {
  color: var(--muted);
  font-weight: 600;
  padding: 10px 2px;
  position: relative;
}
.nav-menu a.active, .nav-menu a:hover { color: var(--primary-strong); }
.nav-menu a.active::after, .nav-menu a:hover::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, var(--primary), var(--accent)); border-radius: 99px;
}
.text-link { color: var(--ink); font-weight: 700; }
.btn {
  appearance: none; border: none; cursor: pointer;
  border-radius: 999px; padding: 14px 22px;
  font-weight: 800; letter-spacing: .01em;
  display: inline-flex; align-items: center; justify-content: center;
  background: linear-gradient(135deg, var(--primary-strong), var(--primary));
  color: #fff;
  box-shadow: 0 16px 28px rgba(10,59,99,.16);
}
.btn:hover { transform: translateY(-1px); }
.btn-secondary {
  background: rgba(255,255,255,.85);
  color: var(--primary-strong);
  border: 1px solid rgba(15,76,129,.16);
  box-shadow: none;
}
.btn-tiny { padding: 10px 14px; font-size: .82rem; }
.hero-section, .page-hero {
  padding: 72px 0 34px;
}
.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(420px, .98fr);
  gap: 36px;
  align-items: center;
}
.hero-copy h1, .compact-hero h1, .dashboard-topbar h1 {
  margin: 10px 0 16px;
  line-height: 1.04;
  letter-spacing: -.03em;
}
.hero-copy h1 { font-size: clamp(2.6rem, 5vw, 4.6rem); max-width: 11ch; }
.hero-lead, .page-hero p, .section-title p, .dashboard-topbar p { font-size: 1.08rem; color: var(--muted); line-height: 1.7; }
.hero-proof-bar {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.hero-proof-bar span, .process-steps span {
  padding: 14px 16px;
  border-radius: 14px;
  background: rgba(255,255,255,.7);
  border: 1px solid rgba(15,76,129,.10);
  font-weight: 700;
  color: var(--ink);
}
.preview-card { overflow: hidden; padding: 20px; }
.preview-window {
  border-radius: 26px;
  background: linear-gradient(180deg, #0b2237, #103150);
  padding: 18px;
  color: #f4fbff;
  min-height: 560px;
}
.preview-topbar { display: flex; gap: 8px; }
.preview-topbar span { width: 10px; height: 10px; border-radius: 50%; background: rgba(255,255,255,.4); }
.preview-header, .preview-metrics, .preview-chart-row, .table-head, .table-row, .row {
  display: flex; gap: 14px; align-items: center; justify-content: space-between;
}
.preview-header {
  margin: 18px 0 20px;
  padding: 16px 18px;
  border-radius: 14px;
  background: rgba(255,255,255,.06);
}
.preview-header small, .chart-label { display: block; color: rgba(244,251,255,.66); margin-bottom: 6px; font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; }
.preview-metrics { gap: 12px; }
.preview-metrics article, .fake-chart, .preview-side-list, .table-like, .cockpit-chart, .cockpit-insights, .empty-state {
  border-radius: 16px;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.06);
}
.preview-metrics article { flex: 1; padding: 16px; display: grid; gap: 8px; }
.preview-metrics article span { color: rgba(244,251,255,.72); font-size: .85rem; }
.preview-metrics article strong { font-size: 1.2rem; }
.preview-chart-row { margin-top: 16px; align-items: stretch; }
.fake-chart, .cockpit-chart { flex: 1.3; padding: 18px; }
.preview-side-list, .cockpit-insights { flex: 1; padding: 18px; display: grid; gap: 12px; }
.preview-side-list div, .insight-row { display: grid; gap: 4px; }
.preview-side-list span, .insight-row span { color: rgba(244,251,255,.72); }
.bars { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); align-items: end; gap: 12px; height: 170px; margin-top: 14px; }
.bars.large { grid-template-columns: repeat(7, minmax(0,1fr)); height: 220px; }
.bars i {
  display: block;
  border-radius: 999px 999px 12px 12px;
  background: linear-gradient(180deg, rgba(34,199,201,.95), rgba(9,117,173,.95));
  height: 40%;
}
.bars i:nth-child(2) { height: 58%; }
.bars i:nth-child(3) { height: 46%; }
.bars i:nth-child(4) { height: 78%; }
.bars i:nth-child(5) { height: 62%; }
.bars i:nth-child(6) { height: 88%; }
.bars.large i:nth-child(7) { height: 72%; }
.preview-table { margin-top: 16px; padding: 12px; border-radius: 20px; background: rgba(255,255,255,.06); }
.row { padding: 14px 10px; border-bottom: 1px solid rgba(255,255,255,.08); }
.row:last-child { border-bottom: 0; }
.row.head { font-size: .82rem; text-transform: uppercase; letter-spacing: .1em; color: rgba(244,251,255,.66); }
.row.ok { color: #b0fff2; }
.section-block { padding: 32px 0 44px; }
.section-light { background: linear-gradient(180deg, rgba(255,255,255,.48), rgba(255,255,255,.18)); }
.section-title { margin-bottom: 26px; }
.center-copy { text-align: center; }
.eyebrow, .chip { text-transform: uppercase; letter-spacing: .12em; font-weight: 800; font-size: .76rem; }
.eyebrow { color: var(--primary); margin: 0 0 8px; }
.chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: var(--primary-strong);
  border: 1px solid rgba(15,76,129,.15);
}
.brand-chip { background: linear-gradient(135deg, rgba(15,76,129,.14), rgba(34,199,201,.16)); color: var(--primary-strong); }
.muted { color: var(--muted); }
.problem-solution-grid, .quote-grid, .pricing-grid, .feature-grid, .contact-grid, .dashboard-kpis, .dashboard-content-grid, .footer-grid, .steps-grid {
  display: grid;
  gap: 20px;
  align-content: start;
}
.problem-solution-grid, .quote-grid, .contact-grid, .dashboard-content-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.feature-grid.cols-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
.feature-grid.cols-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.feature-grid.cols-2, .pricing-grid, .dashboard-kpis { grid-template-columns: repeat(3, minmax(0,1fr)); }
.feature-card, .quote-card, .problem-card, .solution-card, .pricing-card, .step-card, .contact-card, .included-box, .kpi-card, .timeline-card, .cockpit-card, .study-card, .result-card { padding: 28px; }
.feature-card.large { min-height: 220px; }
.bullet-list { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 14px; }
.bullet-list li { position: relative; padding-left: 28px; color: var(--ink); line-height: 1.6; }
.bullet-list li::before {
  content: '';
  position: absolute;
  left: 0; top: 8px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: var(--accent-soft);
  border: 3px solid var(--accent);
}
.danger-list li::before { background: rgba(184,80,80,.12); border-color: var(--danger); }
.success-list li::before { background: var(--success-soft); border-color: var(--success); }
.pricing-card { display: grid; gap: 14px; align-content: start; }
.pricing-card.highlight { border-color: rgba(34,199,201,.28); transform: translateY(-6px); }
.pricing-value { font-size: 1.9rem; letter-spacing: -.03em; }
.pricing-tag { min-height: 44px; color: var(--muted); }
.pricing-toggle-note { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 0 0 22px; }
.quote-card p { font-size: 1.04rem; line-height: 1.8; margin-top: 0; }
.quote-card span { color: var(--muted); }
.cta-box {
  padding: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  background: linear-gradient(135deg, rgba(10,59,99,.96), rgba(15,76,129,.96));
  color: #fff;
}
.cta-box p, .cta-box .eyebrow { color: rgba(255,255,255,.78); }
.page-hero.compact-hero { padding-bottom: 12px; }
.steps-grid { grid-template-columns: repeat(5, minmax(0,1fr)); }
.step-card { position: relative; }
.step-index {
  width: 36px; height: 36px; display: inline-grid; place-items: center;
  border-radius: 50%; background: var(--primary-soft); color: var(--primary-strong); font-weight: 800; margin-bottom: 16px;
}
.info-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: 22px; align-items: center; }
.info-card { padding: 28px; }
.faq-list { display: grid; gap: 14px; }
.faq-item { padding: 22px 24px; }
.faq-item summary { cursor: pointer; font-weight: 800; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item p { margin: 16px 0 0; color: var(--muted); line-height: 1.7; }
.contact-grid { align-items: start; }
.mini-box-list { display: grid; gap: 12px; margin-top: 18px; }
.mini-box {
  border-radius: 14px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(15,76,129,.10);
  padding: 16px;
  display: grid;
  gap: 4px;
}
.mini-box span { color: var(--muted); }
.site-footer {
  margin-top: 32px;
  padding: 28px 0 40px;
  border-top: 1px solid rgba(16,35,56,.06);
}
.footer-grid { grid-template-columns: 1.2fr .6fr .6fr .8fr; align-items: start; }
.footer-grid h4 { margin: 0 0 12px; }
.footer-grid a, .footer-grid span { display: block; margin-bottom: 10px; color: var(--muted); }
.footer-copy { max-width: 40ch; margin-top: 16px; line-height: 1.7; }
.brand-footer { margin-bottom: 10px; }
.auth-shell {
  min-height: calc(100vh - 180px);
  display: grid;
  place-items: center;
  padding: 40px 20px 10px;
}
.auth-shell-premium {
  width: min(1240px, calc(100% - 40px));
  margin: 0 auto;
  grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr);
  gap: 24px;
  align-items: stretch;
}
.auth-showcase, .auth-card { padding: 34px; }
.auth-showcase {
  display: grid;
  gap: 16px;
  background: linear-gradient(135deg, rgba(5,43,79,.98), rgba(12,79,131,.92));
  color: #eef8ff;
  overflow: hidden;
  position: relative;
}
.auth-showcase::after {
  content: '';
  position: absolute;
  inset: auto -10% -28% auto;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(40,189,228,.16) 0%, rgba(40,189,228,0) 70%);
  pointer-events: none;
}
.auth-showcase-top {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  align-items: start;
}
.auth-logo-stage {
  width: min(100%, 560px);
  padding: 26px 28px;
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(245,251,255,.96));
  border: 1px solid rgba(12,79,131,.14);
  box-shadow:
    0 22px 40px rgba(4, 27, 50, .18),
    inset 0 1px 0 rgba(255,255,255,.72);
}
.auth-logo {
  width: min(360px, 100%);
  margin: 0 auto;
  filter: drop-shadow(0 12px 24px rgba(3, 25, 45, .12));
}
.auth-showcase-copy h1 { margin: 0 0 12px; font-size: clamp(2rem, 3vw, 3rem); line-height: 1.02; letter-spacing: -.03em; max-width: 10ch; }
.auth-showcase-copy, .auth-showcase-top { position: relative; z-index: 1; }
.auth-showcase-copy .muted, .auth-showcase-note span { color: rgba(238,248,255,.78); }
.auth-showcase-points { display: grid; gap: 14px; grid-template-columns: repeat(3, minmax(0, 1fr)); position: relative; z-index: 1; }
.auth-showcase-points .mini-box { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.08); }
.auth-showcase-points .mini-box strong { color: #fff; }
.auth-showcase-points .mini-box span { color: rgba(238,248,255,.72); }
.auth-showcase-note {
  border-radius: 14px;
  padding: 18px 20px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.08);
  display: grid;
  gap: 6px;
  position: relative;
  z-index: 1;
}
.auth-card { width: min(540px, 100%); }
.auth-form, .study-grid { display: grid; gap: 16px; }
.auth-brand h1, .auth-brand h2, .section-head h2, .compact-hero h1 { margin: 10px 0 12px; }
.auth-aux-actions {
  margin-top: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
label { display: flex; flex-direction: column; gap: 8px; color: #334155; font-size: 14px; font-weight: 700; }
input, select, textarea {
  width: 100%; min-height: 50px; padding: 13px 15px;
  border-radius: 12px; border: 1px solid rgba(15,76,129,.14);
  background: rgba(255,255,255,.96); color: inherit;
}
input[type=file] { padding: 10px; }
input:focus, select:focus, textarea:focus {
  outline: none; border-color: rgba(34,199,201,.54); box-shadow: 0 0 0 4px rgba(34,199,201,.12);
}
.alert {
  border-radius: 14px; padding: 14px 16px; margin-top: 14px; border: 1px solid transparent;
}
.alert.error { background: #fff0f0; color: #953737; border-color: #f4c9c9; }
.alert.warn { background: #fff8ec; color: #a16207; border-color: #fde1ab; }
.dashboard-layout {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 258px minmax(0, 1fr);
  background: linear-gradient(180deg, #f4f9fc, #edf4f9);
}
.dashboard-sidebar {
  padding: 18px;
  background: linear-gradient(180deg, var(--bg), var(--bg-soft));
  color: #eef9ff;
  display: grid;
  gap: 16px;
  align-content: start;
}
.sidebar-brand { color: #fff; }
.sidebar-brand-strong { align-items: center; }
.sidebar-brand .brand-copy span { color: rgba(238,249,255,.68); }
.sidebar-nav { display: grid; gap: 6px; }
.sidebar-nav a {
  color: rgba(238,249,255,.74);
  padding: 13px 14px;
  border-radius: 14px;
  font-weight: 700;
}
.sidebar-nav a.active, .sidebar-nav a:hover { background: rgba(255,255,255,.08); color: #fff; }
.sidebar-helper { padding: 22px; }
.dashboard-main { padding: 22px; display: grid; gap: 18px; }
.dashboard-topbar {
  display: flex; align-items: start; justify-content: space-between; gap: 20px;
  background: rgba(255,255,255,.74);
  border: 1px solid rgba(15,76,129,.08);
  border-radius: 14px;
  padding: 22px 24px;
}
.user-badge {
  padding: 12px 16px; border-radius: 16px; background: rgba(255,255,255,.8);
  border: 1px solid rgba(15,76,129,.12); font-weight: 800;
}
.dashboard-kpis { grid-template-columns: repeat(4, minmax(0,1fr)); }
.kpi-card { display: grid; gap: 10px; }
.kpi-card strong { font-size: 1.5rem; }
.kpi-card.accent { background: linear-gradient(135deg, rgba(15,76,129,.96), rgba(34,199,201,.92)); color: #fff; }
.kpi-card.accent .muted, .kpi-card.accent .stat-kicker { color: rgba(255,255,255,.78); }
.stat-kicker { color: var(--muted); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; font-weight: 800; }
.dashboard-content-grid.single { grid-template-columns: 1fr; }
.dashboard-content-grid, .mini-box-list, .upgrade-grid { grid-auto-rows: max-content; }
.quick-actions-strip { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px; }
.quick-actions-first { margin-bottom: -6px; }
.cockpit-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 18px; }
.cockpit-chart { padding: 18px; background: linear-gradient(180deg, #0b2237, #103150); color: #fff; }
.cockpit-insights { padding: 18px; background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(247,251,255,.92)); }
.insight-row { padding: 14px 0; border-bottom: 1px solid rgba(15,76,129,.10); }
.insight-row:last-child { border-bottom: 0; }
.table-like { display: grid; gap: 10px; }
.table-head, .table-row {
  display: grid; grid-template-columns: 1.2fr 1fr .8fr; gap: 12px; align-items: center;
}
.table-head { color: var(--muted); font-size: .82rem; text-transform: uppercase; letter-spacing: .08em; }
.table-row {
  padding: 16px; border-radius: 18px; background: rgba(255,255,255,.75); border: 1px solid rgba(15,76,129,.08);
}
.empty-state { padding: 24px; }
.chart-card-panel, .insights-panel { padding: 22px; }
.plotly-panel {
  min-height: 420px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.88), rgba(247,251,255,.88));
  border: 1px solid rgba(12,79,131,.08);
}
.insight-stack {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}
.insight-chip {
  border-radius: 14px;
  border: 1px solid rgba(12,79,131,.10);
  background: rgba(255,255,255,.72);
  padding: 16px;
  display: grid;
  gap: 4px;
}
.insight-chip span { color: var(--muted); }
.process-steps {
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-bottom: 20px;
}
.process-steps span.active { background: linear-gradient(135deg, rgba(15,76,129,.12), rgba(34,199,201,.14)); color: var(--primary-strong); }
.section-head {
  display: flex; justify-content: space-between; align-items: start; gap: 12px; margin-bottom: 18px;
}
.section-head.compact { margin-bottom: 14px; }
.study-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.full { grid-column: 1 / -1; }
.study-context { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.context-card {
  border-radius: 16px; padding: 16px; background: rgba(255,255,255,.72); border: 1px solid rgba(15,76,129,.10); display: grid; gap: 8px;
}
.accent-card { background: linear-gradient(135deg, rgba(15,76,129,.10), rgba(34,199,201,.12)); }
.context-card p { margin: 0; color: var(--muted); font-size: 14px; }
.between { justify-content: space-between; margin-top: 18px; }
.result-card { margin-bottom: 18px; }
.hidden { display: none; }
.center { text-align: center; }
.compact-grid { gap: 16px; }
@media (max-width: 1180px) {
  .hero-grid, .problem-solution-grid, .quote-grid, .contact-grid, .dashboard-content-grid, .info-split, .cockpit-grid, .footer-grid, .auth-shell-premium { grid-template-columns: 1fr; }
  .feature-grid.cols-4 { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .steps-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .dashboard-layout { grid-template-columns: 1fr; }
  .dashboard-sidebar { position: sticky; top: 0; z-index: 4; grid-template-columns: 1fr; }
}
@media (max-width: 920px) {
  .nav-shell, .nav-menu, .nav-actions, .dashboard-topbar, .section-head, .cta-box, .auth-aux-actions, .auth-showcase-top { flex-direction: column; align-items: stretch; }
  .hero-proof-bar, .feature-grid.cols-3, .feature-grid.cols-2, .pricing-grid, .dashboard-kpis, .study-grid, .study-context, .process-steps, .auth-showcase-points { grid-template-columns: 1fr; }
  .hero-copy h1 { max-width: none; }
  .hero-section, .page-hero { padding-top: 54px; }
  .shell { width: min(100% - 24px, 1180px); }
  .brand-logo-nav { height: 34px; width: auto; max-width: 220px; }
}

.sidebar-open, .sidebar-close, .dashboard-overlay { display: none; }
.wrap { flex-wrap: wrap; }
.dashboard-layout-v2 { position: relative; }
.dashboard-sidebar .sidebar-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.sidebar-tree { display: grid; gap: 18px; }
.sidebar-group { display: grid; gap: 10px; }
.sidebar-group-title { font-size: .76rem; letter-spacing: .12em; text-transform: uppercase; color: rgba(238,249,255,.48); font-weight: 800; }
.sidebar-subtree { display: grid; gap: 6px; }
.sidebar-subtree.compact { margin-top: 8px; }
.sidebar-link {
  color: rgba(238,249,255,.74);
  padding: 11px 12px;
  border-radius: 12px;
  font-weight: 700;
  line-height: 1.35;
}
.sidebar-link:hover, .sidebar-link:focus { background: rgba(255,255,255,.08); color: #fff; }
.sidebar-subgroups { display: grid; gap: 10px; }
.sidebar-nested { border: 1px solid rgba(255,255,255,.08); border-radius: 16px; overflow: hidden; }
.sidebar-nested summary { list-style: none; cursor: pointer; padding: 12px 14px; font-weight: 800; color: #fff; background: rgba(255,255,255,.04); }
.sidebar-nested summary::-webkit-details-marker { display: none; }
.topbar-maincopy { display: flex; align-items: flex-start; gap: 16px; }
.reports-grid { align-items: start; }
.dense-table .table-row { padding: 14px 16px; }
.table-head-4, .table-row-4 { grid-template-columns: 1.2fr 1fr .8fr .8fr; }
.study-workspace { padding: 28px; }
.study-workspace-grid { display: grid; grid-template-columns: 320px minmax(0, 1fr); gap: 20px; align-items: start; }
.study-selector-column, .study-panel-column { display: grid; gap: 16px; }
.study-card-list { display: grid; gap: 10px; }
.study-selector-card {
  appearance: none; border: 1px solid rgba(12,79,131,.12); background: rgba(255,255,255,.88); color: var(--ink);
  border-radius: 14px; padding: 16px; text-align: left; cursor: pointer; display: grid; gap: 6px;
  box-shadow: 0 18px 30px rgba(5,20,34,.06);
}
.study-selector-card strong { font-size: 1rem; }
.study-selector-card span { color: var(--muted); font-size: .92rem; }
.study-selector-card.active, .study-selector-card:hover { border-color: rgba(34,199,201,.4); background: linear-gradient(135deg, rgba(15,76,129,.08), rgba(34,199,201,.10)); }
.subtle-card { padding: 22px; background: linear-gradient(135deg, rgba(15,76,129,.08), rgba(34,199,201,.10)); border: 1px solid rgba(15,76,129,.12); }
.study-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.study-hero h3 { margin: 8px 0 0; font-size: 1.5rem; }
.study-info-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.field-help-panel { padding: 24px; }
.field-help-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
.field-help-item { border: 1px solid rgba(12,79,131,.10); border-radius: 18px; background: rgba(255,255,255,.72); padding: 16px; display: grid; gap: 8px; }
.field-help-item p { margin: 0; color: var(--muted); line-height: 1.55; }
.form-panel { padding: 24px; }
.advanced-grid textarea { min-height: 120px; resize: vertical; }
.batch-structure-card { padding: 28px; }
.batch-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.batch-mini-list { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.batch-mini-list span { display: inline-flex; align-items: center; justify-content: center; padding: 8px 12px; border-radius: 999px; background: rgba(15,76,129,.08); color: var(--primary-strong); font-size: .84rem; font-weight: 700; }
.config-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
.config-card { padding: 24px; }
.contact-grid-panel { grid-template-columns: repeat(2, minmax(0,1fr)); }
.success { background: rgba(15,138,116,.12); color: var(--success); border-color: rgba(15,138,116,.22); }

@media (max-width: 1180px) {
  .dashboard-layout-v2 { grid-template-columns: 1fr; }
  .dashboard-sidebar {
    position: fixed; left: 0; top: 0; bottom: 0; width: min(360px, calc(100vw - 28px));
    transform: translateX(-104%); transition: transform .22s ease; z-index: 24; overflow-y: auto;
  }
  body.sidebar-is-open .dashboard-sidebar { transform: translateX(0); }
  .dashboard-overlay {
    position: fixed; inset: 0; background: rgba(4,27,50,.42); z-index: 22;
  }
  body.sidebar-is-open .dashboard-overlay { display: block; }
  .sidebar-open, .sidebar-close { display: inline-flex; }
  .study-workspace-grid, .study-info-grid, .field-help-list, .batch-grid, .config-grid, .contact-grid-panel, .reports-grid { grid-template-columns: 1fr; }
}

@media (max-width: 920px) {
  .dashboard-main { padding: 16px; }
  .dashboard-topbar { padding: 20px; border-radius: 22px; }
  .study-workspace, .batch-structure-card, .chart-card-panel, .insights-panel, .config-card, .contact-card { padding: 20px; }
  .table-head-4, .table-row-4 { grid-template-columns: 1fr; }
  .table-head-4 { display: none; }
  .table-row-4 { gap: 6px; }
  .study-hero { flex-direction: column; }
  .topbar-maincopy { flex-direction: column; }
}

/* Phase 2.6 */
.dashboard-layout-v3 { position: relative; }
.dashboard-main-v3 { display: grid; gap: 18px; padding: 20px; }
.dashboard-topbar-v3 { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; background: rgba(255,255,255,.78); border: 1px solid rgba(15,76,129,.08); border-radius: 20px; padding: 20px 22px; }
.tree-nav { display: grid; gap: 12px; }
.tree-link {
  display: block;
  padding: 12px 14px;
  border-radius: 14px;
  color: rgba(238,249,255,.86);
  font-weight: 700;
  transition: .2s ease;
}
.tree-link:hover { background: rgba(255,255,255,.08); color: #fff; }
.tree-link.active { background: linear-gradient(135deg, rgba(43,196,232,.24), rgba(15,76,129,.32)); color: #fff; }
.tree-link-root { background: rgba(255,255,255,.04); }
.tree-node {
  border-radius: 12px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.06);
  overflow: hidden;
}
.tree-node summary {
  list-style: none;
  cursor: pointer;
  padding: 13px 16px;
  color: #fff;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.tree-node summary::-webkit-details-marker { display: none; }
.tree-node summary::after {
  content: '+';
  font-size: 1rem;
  color: rgba(238,249,255,.74);
}
.tree-node[open] > summary::after { content: '–'; }
.tree-children { display: grid; gap: 8px; padding: 0 12px 12px; }
.tree-children.nested { padding-top: 8px; }
.tree-node-nested { background: rgba(255,255,255,.03); }
.study-screen-card { padding: 28px; }
.study-page-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: 22px; align-items: start; }
.study-page-main, .study-page-side { display: grid; gap: 18px; }
.form-grid-clean { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.form-grid-clean .full { grid-column: 1 / -1; }
.inline-toggle {
  flex-direction: row;
  align-items: center;
  gap: 12px;
  min-height: 50px;
  border: 1px solid rgba(15,76,129,.14);
  border-radius: 12px;
  background: rgba(255,255,255,.96);
  padding: 0 16px;
}
.inline-toggle input[type='checkbox'] { width: auto; min-height: auto; }
.dynamic-year-panel {
  border: 1px solid rgba(15,76,129,.12);
  border-radius: 16px;
  padding: 16px;
  background: rgba(255,255,255,.7);
  display: grid;
  gap: 14px;
}
.subsection-head { display: grid; gap: 4px; }
.subsection-head span { color: var(--muted); }
.year-price-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.year-price-field span { font-size: .9rem; color: #41596f; }
.single-column-help { grid-template-columns: 1fr; }
.sidebar-brand-strong { display: flex; align-items: center; gap: 14px; }
.sidebar-brand-strong .brand-copy { display: grid; gap: 2px; }
.sidebar-brand-strong .brand-copy span { color: rgba(238,249,255,.72); font-size: .86rem; }
@media (max-width: 1180px) {
  .dashboard-layout-v3 { grid-template-columns: 1fr; }
  .dashboard-main-v3 { padding: 16px; }
  .dashboard-topbar-v3 { flex-direction: column; }
  .study-page-grid, .form-grid-clean, .year-price-grid { grid-template-columns: 1fr; }
}

.soft-card { background: rgba(255,255,255,.82); border: 1px solid rgba(15,76,129,.10); box-shadow: none; }
.study-stepper { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.step-pill { border: 1px solid rgba(15,76,129,.14); background: rgba(255,255,255,.82); color: var(--primary-strong); border-radius: 999px; padding: 10px 14px; cursor: pointer; font-weight: 700; }
.step-pill.active { background: linear-gradient(135deg, rgba(15,76,129,.12), rgba(34,199,201,.18)); border-color: rgba(34,199,201,.35); }
.wizard-group { display: grid; gap: 16px; margin-bottom: 18px; }
.group-head h4 { margin: 0 0 4px; }
.group-head p { margin: 0; }
.upload-dropzone { display: grid; gap: 10px; min-height: 124px; padding: 16px; border: 1px dashed rgba(15,76,129,.22); border-radius: 8px; background: rgba(255,255,255,.92); cursor: pointer; box-shadow: inset 0 0 0 1px rgba(255,255,255,.65); }
.upload-dropzone.dragging { border-color: var(--accent); background: rgba(40,189,228,.10); }
.upload-dropzone.has-file { border-color: var(--success); background: rgba(15,138,116,.08); }
.upload-dropzone input[type='file'] { border: none; background: transparent; padding: 0; min-height: auto; }
.sticky-side { position: sticky; top: 18px; }
.progress-track { width: 100%; height: 12px; border-radius: 999px; background: rgba(15,76,129,.10); overflow: hidden; }
.progress-track span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(135deg, var(--primary), var(--accent)); transition: width .25s ease; }
.progress-stages { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.progress-stages span { padding: 8px 12px; border-radius: 999px; background: rgba(255,255,255,.86); color: var(--muted); border: 1px solid rgba(15,76,129,.10); font-size: .84rem; font-weight: 700; }
.progress-stages span.active { color: var(--primary-strong); background: rgba(40,189,228,.12); border-color: rgba(34,199,201,.26); }
.placeholder-card { border-style: dashed; }
.modal-backdrop { position: fixed; inset: 0; background: rgba(4,27,50,.55); display: flex; align-items: center; justify-content: center; padding: 20px; z-index: 50; }
.modal-card { width: min(520px, 100%); background: #fff; border-radius: 28px; border: 1px solid rgba(15,76,129,.12); box-shadow: 0 30px 90px rgba(5,20,34,.26); padding: 28px; display: grid; gap: 14px; }
.modal-backdrop.hidden { display: none !important; }

.center-actions { justify-content: center; }
#study-summary-panel .field-help-item { padding: 14px; }
@media (max-width: 920px) {
  .study-stepper { gap: 8px; }
  .step-pill { width: 100%; justify-content: center; }
  .sticky-side { position: static; }
}

/* popup visibility safeguard */
.hidden { display: none !important; }


.compact-callout-card {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
}
.compact-panel { padding: 24px 26px; }
.quick-actions-strip h2 { margin: 6px 0 0; }
.no-margin { margin: 0; }
.empty-state-cta { display: grid; gap: 14px; }
.compact-placeholder-grid { align-items: start; }
.upgrade-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.study-info-grid-tight { margin-bottom: 18px; }
.single-column-layout { display: grid; gap: 18px; }
.study-form-grouped { gap: 18px; }
.group-head { display: grid; gap: 4px; margin-bottom: 14px; }
.group-head h4 { margin: 0; color: var(--primary-strong); }
.dropzone-title { font-weight: 800; color: var(--primary-strong); }
.file-feedback { font-size: .92rem; }
.field-meta { display: block; color: var(--muted); margin-top: 6px; }
.field-unit { font-weight: 700; }
.study-submit-row { margin-top: 6px; }
.field-help-accordion { padding: 0; overflow: hidden; }
.field-help-accordion summary {
  list-style: none;
  cursor: pointer;
  padding: 20px 24px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.field-help-accordion summary::-webkit-details-marker { display: none; }
.field-help-accordion summary::after {
  content: '+';
  font-size: 1rem;
  color: var(--muted);
}
.field-help-accordion[open] summary::after { content: '–'; }
.field-help-accordion .field-help-list { padding: 0 24px 24px; }
.field-help-list-compact { gap: 10px; }
.result-card { scroll-margin-top: 24px; }
@media (max-width: 980px) {
  .compact-callout-card, .upgrade-grid { grid-template-columns: 1fr; }
  .compact-callout-card, .quick-actions-strip { display: grid; }
}

.chart-card-panel .section-head h2 { font-size: 1.12rem; }
.chart-card-panel .section-head .eyebrow { margin-bottom: 4px; }
.plotly-panel .js-plotly-plot, .plotly-panel > div { min-height: inherit; }


.btn-danger { background: linear-gradient(135deg, #b42318, #d92d20); color: #fff; }
.tree-link-admin { background: linear-gradient(135deg, rgba(185, 28, 28, 0.14), rgba(217, 45, 32, 0.1)); border: 1px solid rgba(185, 28, 28, 0.18); color: #8f1d14; }
.dev-hero-card { gap: 18px; }
.dev-tabs-card, .dev-return-card, .dev-collection-card, .dev-ops-card { padding: 24px; }
.dev-tabs, .dev-json-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.dev-tab, .dev-json-tab { appearance: none; border: 1px solid rgba(15,76,129,.14); background: rgba(255,255,255,.86); color: var(--primary-strong); border-radius: 999px; padding: 10px 16px; cursor: pointer; font-weight: 700; }
.dev-tab.active, .dev-json-tab.active { background: linear-gradient(135deg, var(--primary-strong), var(--primary)); color: #fff; }
.dev-panel, .dev-json-panel { display: none; }
.dev-panel.active, .dev-json-panel.active { display: block; }
.dev-form-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; align-items: start; }
.dev-form-grid label { display: grid; gap: 8px; color: var(--ink); font-weight: 700; padding: 12px; border: 1px solid rgba(15,76,129,.12); border-radius: 8px; background: linear-gradient(180deg, rgba(248,250,252,.98), rgba(255,255,255,.96)); }
.dev-form-grid .full { grid-column: 1 / -1; }
.dev-form-grid input, .dev-form-grid select, .dev-form-grid textarea { width: 100%; border-radius: 6px; border: 1px solid rgba(15,76,129,.18); padding: 12px 12px; background: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.7); }
.dev-form-grid textarea { resize: vertical; min-height: 108px; }
.dev-form-grid-squared { gap: 12px; }
.dev-form-grid-squared .row-actions input[type='text'] { min-width: 260px; border-radius: 6px; }
.dev-form-grid-squared .mini-box, .dev-form-grid-squared article { border-radius: 8px; }
.dev-form-grid-squared label.inline-toggle { display: flex; align-items: center; gap: 12px; }
.dev-form-grid-squared label.inline-toggle input { width: auto; }
.dev-collection-grid, .dev-ops-grid, .dev-kpi-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; }
.dev-kpi-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
.dev-run-card { width: 100%; text-align: left; cursor: pointer; }
.dev-compare-table, .dev-batch-table, .dev-log-list { display: grid; gap: 10px; }
.dev-compare-row, .dev-batch-row { display: grid; gap: 12px; align-items: start; }
.dev-compare-row { grid-template-columns: 1.2fr repeat(4, minmax(0,1fr)); }
.dev-batch-row { grid-template-columns: 1.4fr .8fr .6fr 1fr .8fr .8fr; }
.dev-json-panels pre { margin: 0; padding: 18px; background: #081c2d; color: #e6f4ff; border-radius: 18px; overflow: auto; min-height: 360px; white-space: pre-wrap; word-break: break-word; }
.dev-report-frame { width: 100%; min-height: 720px; border: 1px solid rgba(15,76,129,.12); border-radius: 18px; background: #fff; }
.dev-log-item { padding: 14px 16px; border-radius: 14px; background: rgba(255,255,255,.85); border: 1px solid rgba(15,76,129,.08); display: grid; gap: 4px; }
.dev-summary-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
@media (max-width: 1180px) { .dev-collection-grid, .dev-ops-grid, .dev-form-grid, .dev-summary-grid, .dev-kpi-grid { grid-template-columns: 1fr; } .dev-compare-row, .dev-batch-row { grid-template-columns: 1fr; } }

.dev-library-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 18px; }
.dev-case-card, .dev-profile-card { width: 100%; text-align: left; cursor: pointer; }
.dev-expected-card, .dev-case-detail-card, .dev-profile-editor-card { margin-top: 18px; padding: 20px; }
.dev-expected-table, .dev-case-expected-table { display: grid; gap: 10px; }
.dev-expected-row { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 12px; align-items: start; }
.dev-expected-row.mismatch { border-left: 4px solid var(--danger); padding-left: 10px; }
.dev-expected-row.ok { border-left: 4px solid var(--success); padding-left: 10px; }
.dev-profile-editor-card pre { margin: 0; padding: 18px; background: #081c2d; color: #e6f4ff; border-radius: 18px; overflow: auto; min-height: 320px; white-space: pre-wrap; word-break: break-word; }
.dev-inline-actions { margin: 16px 0; }
.dev-case-compare-card { display: grid; gap: 16px; }
.dev-compare-verdict { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; padding: 18px 20px; border-radius: 18px; border: 1px solid rgba(15,76,129,.12); background: rgba(255,255,255,.92); }
.dev-compare-verdict p { margin: 6px 0 0; color: var(--muted); }
.dev-compare-verdict.warning { border-color: rgba(245, 158, 11, .35); background: rgba(255, 248, 235, .95); }
.dev-compare-verdict.critical { border-color: rgba(185, 28, 28, .28); background: rgba(254, 242, 242, .96); }
.dev-compare-summary-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.dev-compare-section-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
.dev-compare-section-card { width: 100%; text-align: left; cursor: pointer; border: 1px solid rgba(15,76,129,.12); }
.dev-compare-section-card.active { outline: 2px solid rgba(15,76,129,.28); }
.dev-compare-section-card.warning { border-color: rgba(245, 158, 11, .35); }
.dev-compare-section-card.critical { border-color: rgba(185, 28, 28, .28); }
.dev-compare-dual { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.dev-compare-column { padding: 18px; }
.dev-compare-pre { margin: 0; padding: 18px; background: #081c2d; color: #e6f4ff; border-radius: 18px; overflow: auto; min-height: 280px; max-height: 520px; white-space: pre-wrap; word-break: break-word; }
@media (max-width: 1180px) { .dev-library-grid, .dev-expected-row, .dev-compare-summary-grid, .dev-compare-section-grid, .dev-compare-dual { grid-template-columns: 1fr; } }

.decision-grid {
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.dev-technical-table .table-row,
.dev-technical-table .table-head {
  grid-template-columns: minmax(180px, 1.2fr) repeat(4, minmax(120px, 1fr)) minmax(180px, 1.1fr);
}

.dev-technical-row small {
  display: block;
  color: #6b7b8c;
  margin-top: 0.35rem;
  font-size: 0.76rem;
  line-height: 1.35;
}

#dev-decision-environment,
#dev-decision-classification,
#dev-decision-profile,
#dev-decision-tariff,
#dev-decision-suggestions,
#dev-decision-timing {
  display: grid;
  gap: 0.9rem;
}

.dev-profile-collection {
  display: grid;
  gap: 12px;
}

.dev-token-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.dev-token {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(15,76,129,.08);
  border: 1px solid rgba(15,76,129,.12);
  color: var(--text);
  font-size: .88rem;
}

.dev-token button {
  border: none;
  background: transparent;
  color: var(--danger);
  cursor: pointer;
  font-weight: 700;
}

.dev-profile-alias-rows {
  display: grid;
  gap: 12px;
}

.dev-alias-row {
  display: grid;
  gap: 10px;
}

.dev-profile-feedback-box {
  display: grid;
  gap: 12px;
}

.dev-validation-block {
  display: grid;
  gap: 6px;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(15,76,129,.12);
  background: rgba(255,255,255,.92);
}

.dev-validation-block.warning {
  border-color: rgba(245, 158, 11, .35);
  background: rgba(255, 248, 235, .96);
}

.dev-validation-block.error {
  border-color: rgba(185, 28, 28, .28);
  background: rgba(254, 242, 242, .96);
}

.dev-validation-block ul {
  margin: 0;
  padding-left: 1.1rem;
}

.dev-profile-base-box {
  display: grid;
  gap: 12px;
}
.dev-batch-row-wide { grid-template-columns: 1.4fr .8fr .8fr .6fr 1fr .8fr .8fr .9fr; }
.dev-batch-row-wide small { display: block; margin-top: 4px; color: var(--muted); }
.dev-batch-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 18px; margin: 18px 0; }
.dev-batch-groups { display: grid; gap: 16px; }
.dev-batch-columns { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; }
.dev-batch-list { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 10px; }
.dev-batch-list li { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px dashed rgba(15,76,129,.1); padding-bottom: 8px; }
.dev-batch-progress { display: grid; gap: 12px; margin-top: 18px; }
.dev-progress-track { width: 100%; height: 12px; border-radius: 999px; overflow: hidden; background: rgba(15,76,129,.08); }
.dev-progress-track span { display: block; height: 100%; width: 0; background: linear-gradient(135deg, var(--primary-strong), var(--primary)); transition: width .25s ease; }
.dev-progress-meta { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.dev-batch-card { width: 100%; text-align: left; cursor: pointer; }
@media (max-width: 1180px) { .dev-batch-grid, .dev-batch-columns, .dev-batch-row-wide { grid-template-columns: 1fr; } }


.dev-system-key-box { border: 1px solid rgba(15,76,129,.12); background: linear-gradient(180deg, rgba(247,250,252,.98), rgba(255,255,255,.94)); border-radius: 8px; }
.dev-system-key-box strong { display: block; margin-bottom: 4px; }
.dev-suite-case-option { cursor: pointer; }
.dev-suite-case-option input[type='checkbox'] { width: auto; margin-right: 8px; }
.dev-suite-case-option strong { display: block; }
.dev-case-selector-box { border-radius: 8px; }
.dev-case-selector-box .mini-box-list { max-height: 320px; overflow: auto; }
.dev-form-grid label.mutedless, .dev-form-grid .mini-box { border-radius: 8px; }
.dev-hero-card, .dev-tabs-card, .dev-return-card, .dev-profile-editor-card, .dev-expected-card, .dev-case-compare-card, .soft-card { border-radius: 10px; }
.dev-batch-progress.card { border-radius: 10px; }
.dev-batch-table .table-head, .dev-batch-table .table-row, .dev-compare-table .table-head, .dev-compare-table .table-row, .dev-expected-table .table-head, .dev-expected-table .table-row { border-radius: 6px; }


/* UX refresh: square enterprise + functional accents */
:root {
  --bg: #0f1722;
  --bg-soft: #162332;
  --surface: #ffffff;
  --surface-strong: #ffffff;
  --surface-dark: #172534;
  --line: #d8dee7;
  --ink: #17202a;
  --muted: #526170;
  --primary: #1F4E79;
  --primary-strong: #143552;
  --primary-soft: rgba(31, 78, 121, .08);
  --accent: #F39C12;
  --accent-soft: rgba(243, 156, 18, .12);
  --success: #27AE60;
  --success-soft: rgba(39, 174, 96, .10);
  --danger: #C0392B;
  --radius: 2px;
  --radius-sm: 0px;
  --shadow: none;
}
body {
  background:
    linear-gradient(180deg, #f4f6f8 0%, #edf1f5 100%);
  color: var(--ink);
}
.card,
.dark-card,
.feature-card,
.quote-card,
.problem-card,
.solution-card,
.pricing-card,
.step-card,
.contact-card,
.included-box,
.kpi-card,
.timeline-card,
.cockpit-card,
.study-card,
.result-card,
.auth-card,
.auth-showcase,
.preview-card,
.chart-card-panel,
.insights-panel,
.soft-card,
.modal-card,
.table-row,
.context-card,
.field-help-item,
.study-selector-card,
.dev-batch-progress.card,
.dev-hero-card,
.dev-tabs-card,
.dev-return-card,
.dev-profile-editor-card,
.dev-expected-card,
.dev-case-compare-card {
  border-radius: 0;
  box-shadow: none;
}
.section-block { padding: 24px 0 30px; }
.hero-section, .page-hero { padding: 42px 0 24px; }
.hero-grid { gap: 26px; }
.hero-copy h1 { max-width: 10.5ch; }
.hero-lead, .page-hero p, .section-title p, .dashboard-topbar p { line-height: 1.55; }
.hero-proof-bar { margin-top: 16px; gap: 10px; }
.hero-proof-bar span,
.process-steps span,
.batch-mini-list span,
.hero-trust-inline span {
  border-radius: 0;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--ink);
  padding: 10px 12px;
}
.hero-trust-inline {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.nav-shell { min-height: 70px; }
.site-header {
  background: rgba(255,255,255,.96);
  backdrop-filter: none;
  border-bottom: 1px solid var(--line);
}
.nav-menu a { padding: 8px 0; }
.nav-menu a.active::after, .nav-menu a:hover::after {
  height: 2px;
  background: var(--primary);
  border-radius: 0;
}
.brand-logo-sidebar {
  border-radius: 0;
  box-shadow: none;
  border: 1px solid rgba(255,255,255,.12);
  background: #fff;
}
.btn {
  border-radius: 0;
  padding: 12px 18px;
  background: var(--primary);
  border: 1px solid var(--primary-strong);
  box-shadow: none;
  transform: none;
}
.btn:hover { transform: none; filter: brightness(.97); }
.btn-secondary {
  background: #fff;
  color: var(--primary-strong);
  border: 1px solid var(--line);
}
.btn-danger {
  background: var(--danger);
  border-color: #9f2f24;
}
.chip,
.brand-chip,
.step-pill,
.dev-tab,
.dev-json-tab,
.progress-stages span,
.invoice-pill,
.user-badge,
.badge,
.report-export-pill,
.report-tech-pill {
  border-radius: 0;
}
.preview-window,
.preview-header,
.preview-metrics article,
.fake-chart,
.preview-side-list,
.preview-table,
.table-row,
.preview-metrics article,
.mini-box,
.auth-logo-stage,
.auth-showcase-note,
.insight-chip,
.dev-log-item,
.dev-validation-block,
.dev-token,
.dev-system-key-box,
.dev-case-selector-box,
.dev-batch-card,
.dev-run-card,
.dev-case-card,
.dev-profile-card,
.dev-compare-verdict,
.dev-compare-section-card,
.dev-compare-column {
  border-radius: 0;
}
.preview-window { min-height: 500px; background: linear-gradient(180deg, #0f1722, #1c2b3d); }
.preview-header,
.preview-metrics article,
.fake-chart,
.preview-side-list,
.preview-table,
.row { border: 1px solid rgba(255,255,255,.10); }
.preview-header { background: rgba(255,255,255,.05); }
.bars i {
  border-radius: 0;
  background: linear-gradient(180deg, var(--accent), var(--primary));
}
.feature-grid.cols-2, .pricing-grid, .dashboard-kpis { grid-template-columns: repeat(3, minmax(0,1fr)); }
.feature-card, .quote-card, .problem-card, .solution-card, .pricing-card, .step-card, .contact-card, .included-box, .kpi-card, .timeline-card, .cockpit-card, .study-card, .result-card { padding: 20px; }
.feature-card.large { min-height: 0; }
.pricing-toggle-note { margin: 0 0 14px; }
.pricing-grid {
  gap: 0;
  border: 1px solid var(--line);
  background: #fff;
}
.pricing-card {
  border: none;
  border-left: 1px solid var(--line);
  min-height: 100%;
}
.pricing-card:first-child { border-left: 0; }
.pricing-card.highlight {
  transform: none;
  background: linear-gradient(180deg, rgba(31, 78, 121, .08), rgba(255,255,255,1));
  border-top: 3px solid var(--primary);
}
.pricing-value { font-size: 1.7rem; }
.bullet-list { gap: 10px; margin-top: 12px; }
.bullet-list li { padding-left: 20px; line-height: 1.45; }
.bullet-list li::before {
  width: 10px; height: 10px; top: 6px; border-radius: 0; border-width: 2px;
}
.cta-box {
  padding: 24px;
  border-radius: 0;
  background: linear-gradient(135deg, var(--primary-strong), var(--primary));
}
.auth-shell { padding: 24px 20px 8px; }
.auth-shell-premium { gap: 0; border: 1px solid var(--line); background: #fff; }
.auth-showcase, .auth-card { padding: 26px; }
.auth-showcase {
  background: linear-gradient(180deg, #112234, #17314a);
}
.auth-showcase::after { display: none; }
.auth-logo-stage {
  border-radius: 0;
  box-shadow: none;
  border: 1px solid rgba(255,255,255,.12);
  background: #fff;
}
.auth-showcase-points { gap: 10px; }
.auth-showcase-points .mini-box,
.auth-showcase-note {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.08);
}
label {
  gap: 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .05em;
}
input, select, textarea {
  min-height: 46px;
  padding: 10px 12px;
  border-radius: 0;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: none;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--primary);
  box-shadow: inset 0 0 0 1px var(--primary);
}
.alert { border-radius: 0; padding: 12px 14px; }
.dashboard-layout {
  grid-template-columns: 236px minmax(0, 1fr);
  background: #eef2f6;
}
.dashboard-sidebar {
  padding: 16px;
  background: linear-gradient(180deg, var(--bg), var(--bg-soft));
  border-right: 1px solid rgba(255,255,255,.06);
}
.sidebar-nav a,
.tree-link,
.sidebar-link,
.tree-node,
.tree-node summary,
.sidebar-nested,
.sidebar-nested summary {
  border-radius: 0;
}
.tree-link.root,
.tree-link-root { background: transparent; }
.tree-link.active,
.sidebar-nav a.active,
.sidebar-nav a:hover,
.tree-link:hover,
.sidebar-link:hover,
.sidebar-link:focus,
.tree-node[open] > summary {
  background: rgba(255,255,255,.08);
}
.tree-link.active {
  background: linear-gradient(90deg, rgba(31,78,121,.35), rgba(31,78,121,.12));
  border-left: 3px solid var(--accent);
  padding-left: 11px;
}
.dashboard-main, .dashboard-main-v3 { padding: 18px; gap: 16px; }
.dashboard-topbar, .dashboard-topbar-v3 {
  border-radius: 0;
  padding: 18px 20px;
  background: #fff;
  border: 1px solid var(--line);
}
.kpi-card { gap: 6px; border-top: 3px solid transparent; }
.kpi-card strong { font-size: 1.38rem; }
.kpi-card.accent {
  background: linear-gradient(180deg, rgba(31,78,121,.98), rgba(23,53,82,.98));
  border-top-color: var(--accent);
}
.kpi-card:nth-child(1) { border-top-color: var(--primary); }
.kpi-card:nth-child(2) { border-top-color: var(--success); }
.kpi-card:nth-child(3) { border-top-color: var(--accent); }
.quick-actions-strip,
.compact-callout-card,
.study-workspace,
.batch-structure-card,
.field-help-panel,
.form-panel,
.config-card,
.contact-card,
.study-screen-card { padding: 18px 20px; border-radius: 0; }
.plotly-panel {
  min-height: 420px;
  border-radius: 0;
  background: #fff;
  border: 1px solid var(--line);
}
.table-head, .table-row {
  border-radius: 0;
}
.table-head {
  color: var(--muted);
  font-size: .76rem;
  letter-spacing: .08em;
}
.table-row {
  padding: 12px 14px;
  border: 1px solid var(--line);
  background: #fff;
}
.study-workspace-grid { gap: 16px; }
.study-page-grid { gap: 18px; }
.study-selector-card,
.subtle-card,
.context-card,
.dynamic-year-panel,
.field-help-item,
.dev-profile-editor-card pre,
.dev-json-panels pre,
.dev-compare-pre,
.dev-report-frame {
  border-radius: 0;
}
.study-selector-card,
.context-card,
.field-help-item,
.subtle-card,
.dynamic-year-panel { border-color: var(--line); background: #fff; }
.study-selector-card.active,
.study-selector-card:hover {
  background: rgba(31,78,121,.04);
  border-color: var(--primary);
}
.subsection-head span,
.group-head p,
.field-help-item p,
.context-card p { line-height: 1.45; }
.inline-toggle {
  border-radius: 0;
  min-height: 46px;
  background: #fff;
}
.upload-dropzone {
  min-height: 96px;
  padding: 14px;
  border: 1px dashed #9fb0c0;
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.upload-dropzone.dragging { border-color: var(--primary); background: rgba(31,78,121,.05); }
.upload-dropzone.has-file { border-color: var(--success); background: rgba(39,174,96,.06); }
.step-pill,
.progress-stages span,
.dev-tab,
.dev-json-tab {
  background: #fff;
  color: var(--ink);
  border: 1px solid var(--line);
}
.step-pill.active,
.progress-stages span.active,
.dev-tab.active,
.dev-json-tab.active {
  background: var(--primary);
  color: #fff;
  border-color: var(--primary-strong);
}
.progress-track, .dev-progress-track {
  height: 10px;
  border-radius: 0;
  background: #dfe7ef;
}
.progress-track span, .dev-progress-track span {
  border-radius: 0;
  background: linear-gradient(90deg, var(--primary), var(--accent));
}
.modal-card { border-radius: 0; padding: 22px; box-shadow: none; }
.dev-tabs, .dev-json-tabs { gap: 8px; margin-bottom: 14px; }
.dev-form-grid { gap: 12px; }
.dev-form-grid label {
  gap: 6px;
  padding: 10px 12px;
  border-radius: 0;
  background: #f8fafc;
  border: 1px solid var(--line);
}
.dev-form-grid input, .dev-form-grid select, .dev-form-grid textarea {
  border-radius: 0;
  border: 1px solid #cfd7e1;
  padding: 10px 12px;
  background: #fff;
  box-shadow: none;
}
.dev-form-grid textarea { min-height: 96px; }
.dev-form-grid-squared .row-actions input[type='text'] { min-width: 220px; border-radius: 0; }
.dev-compare-verdict,
.dev-validation-block,
.dev-log-item,
.dev-token,
.dev-batch-progress.card,
.dev-system-key-box,
.dev-case-selector-box,
.dev-batch-table .table-head,
.dev-batch-table .table-row,
.dev-compare-table .table-head,
.dev-compare-table .table-row,
.dev-expected-table .table-head,
.dev-expected-table .table-row,
.dev-hero-card,
.dev-tabs-card,
.dev-return-card,
.dev-profile-editor-card,
.dev-expected-card,
.dev-case-compare-card {
  border-radius: 0;
}
.dev-report-frame { min-height: 620px; }
.dev-json-panels pre,
.dev-profile-editor-card pre,
.dev-compare-pre {
  border-radius: 0;
  min-height: 280px;
}
.dev-token { background: rgba(31,78,121,.06); border-color: rgba(31,78,121,.14); }
.dev-compare-verdict.warning,
.dev-validation-block.warning { background: rgba(243,156,18,.08); border-color: rgba(243,156,18,.28); }
.dev-compare-verdict.critical,
.dev-validation-block.error { background: rgba(192,57,43,.08); border-color: rgba(192,57,43,.22); }
.dev-system-key-box {
  background: linear-gradient(180deg, #f7f9fb, #ffffff);
  border: 1px solid var(--line);
}
.empty-state { border-radius: 0; }
.empty-state-cta { background: #fff; border: 1px dashed var(--line); }
.auth-trust-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 10px;
  margin-top: 18px;
}
.auth-trust-strip > div {
  border-top: 3px solid var(--primary);
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 12px;
  background: #fff;
}
.pricing-grid .btn { width: 100%; }
.included-box { padding: 18px 20px; }
.hero-copy, .section-title, .auth-brand { max-width: 100%; }
@media (max-width: 1180px) {
  .dashboard-sidebar {
    width: min(320px, calc(100vw - 22px));
  }
  .auth-shell-premium { border: 0; background: transparent; }
  .pricing-grid {
    border: 0;
    gap: 12px;
    background: transparent;
  }
  .pricing-card { border: 1px solid var(--line); }
}
@media (max-width: 920px) {
  .shell { width: min(100% - 20px, 1180px); }
  .hero-section, .page-hero { padding-top: 30px; }
  .section-block { padding: 18px 0 22px; }
  .dashboard-main, .dashboard-main-v3 { padding: 12px; }
  .dashboard-topbar, .dashboard-topbar-v3,
  .quick-actions-strip,
  .study-workspace,
  .batch-structure-card,
  .chart-card-panel,
  .insights-panel,
  .config-card,
  .contact-card,
  .study-screen-card,
  .auth-showcase,
  .auth-card,
  .feature-card,
  .quote-card,
  .problem-card,
  .solution-card,
  .pricing-card,
  .step-card,
  .included-box,
  .kpi-card,
  .timeline-card,
  .cockpit-card,
  .result-card,
  .soft-card { padding: 16px; }
  .auth-trust-strip { grid-template-columns: 1fr; }
  .hero-copy h1, .compact-hero h1, .dashboard-topbar h1 { line-height: 1.06; }
  .hero-proof-bar, .hero-trust-inline { gap: 6px; }
  .dev-report-frame { min-height: 460px; }
}
