﻿:root {
  --bg: #f2f6fb;
  --surface: #fff;
  --line: #d9e2ef;
  --text: #1f2b3d;
  --muted: #5d6f89;
  --primary: #1273de;
  --primary-2: #0f5fb6;
  --danger: #cf3c4f;
  --shadow: 0 8px 24px rgba(31, 43, 61, 0.08);
}
* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; font-family: "IBM Plex Sans", "Trebuchet MS", "Segoe UI", sans-serif; background: radial-gradient(circle at top right,#d8ebff 0%,#f2f6fb 40%,#edf3fa 100%); color: var(--text); }
button,input,select,textarea { font: inherit; }
.app-shell { display:grid; grid-template-columns:290px 1fr; min-height:100vh; }
.sidebar { position:sticky; top:0; height:100vh; background:linear-gradient(180deg,#0f2f4f,#1f567f); color:#f4f8ff; padding:20px 16px; display:flex; flex-direction:column; gap:14px; }
.brand-logo { width:100%; max-width:220px; height:auto; display:block; margin:0 0 8px; }
.brand-block h1 { margin:0; font-size:20px; line-height:1.2; }
.brand-block p { margin:4px 0 0; opacity:.8; font-size:13px; }
.nav-list { display:flex; flex-direction:column; gap:4px; overflow:auto; }
.nav-item { border:none; background:transparent; color:rgba(244,248,255,.84); text-align:left; padding:9px 10px; border-radius:10px; cursor:pointer; }
.nav-item.indent { margin-left:12px; font-size:13px; }
.nav-group-toggle { border:none; background:transparent; color:rgba(244,248,255,.84); text-align:left; padding:9px 10px; border-radius:10px; cursor:pointer; display:flex; align-items:center; justify-content:space-between; width:100%; }
.nav-group-toggle:hover { background:rgba(255,255,255,.12); color:#fff; }
.nav-group-toggle.active { background:rgba(255,255,255,.2); color:#fff; font-weight:600; }
.nav-caret { font-size:12px; opacity:.9; }
.nav-sublist { display:none; flex-direction:column; gap:4px; }
.nav-sublist.open { display:flex; }
.nav-item:hover { background:rgba(255,255,255,.12); color:#fff; }
.nav-item.active { background:rgba(255,255,255,.2); color:#fff; font-weight:600; }
.sidebar-footer { margin-top:auto; font-size:12px; opacity:.72; }
.content { display:flex; flex-direction:column; min-width:0; }
.topbar { position:sticky; top:0; z-index:10; padding:14px 24px; border-bottom:1px solid var(--line); background:rgba(242,246,251,.92); backdrop-filter:blur(6px); display:flex; gap:12px; align-items:center; }
.topbar h2 { margin:0; font-size:20px; }
.topbar small { color:var(--muted); }
.topbar-account { margin-left:auto; display:flex; align-items:center; gap:8px; }
.topbar-account small { display:inline-block; background:#e5f1ff; border:1px solid #c8dff9; border-radius:999px; padding:3px 8px; color:#0f5fb6; max-width:220px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.view-root { padding:24px; display:grid; gap:16px; }
.view-head { display:flex; justify-content:space-between; align-items:center; gap:12px; }
.card { background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:16px; box-shadow:var(--shadow); }
.card.compact { padding:12px; }
.card-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.card-head h3 { margin:0; }
.card-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.stat-card h3 { margin:0; font-size:14px; color:var(--muted); }
.card-value { margin:10px 0 4px; font-size:24px; font-weight:700; }
.badge { background:#e5f1ff; border:1px solid #c8dff9; color:#0f5fb6; border-radius:20px; padding:2px 8px; font-size:11px; }
.form-grid, .selector-grid { display:grid; gap:12px; }
.form-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.form-grid.inline { grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }
.selector-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.selector-grid.selector-grid-projects { grid-template-columns:1fr; }
label { display:grid; gap:6px; color:var(--muted); font-size:13px; }
input,select,textarea { border:1px solid #c8d5e6; background:#fff; border-radius:10px; padding:9px 10px; color:var(--text); }
textarea { min-height:110px; resize:vertical; }
button { border:none; border-radius:10px; padding:9px 12px; cursor:pointer; }
.btn-primary { background:var(--primary); color:#fff; }
.btn-primary:hover { background:var(--primary-2); }
.btn-secondary { background:#e7f2ff; border:1px solid #c7def8; color:#124881; }
.btn-ghost { background:transparent; border:1px solid var(--line); color:var(--text); }
.btn-danger { background:#ffe8ec; border:1px solid #f4c6ce; color:#932234; }
.btn-link { background:transparent; color:#126ecf; padding:3px 5px; }
.btn-link.danger { color:var(--danger); }
.app-modal { position:fixed; inset:0; z-index:60; display:grid; place-items:center; padding:16px; }
.app-modal[hidden] { display:none; }
.app-modal-backdrop { position:absolute; inset:0; border:none; background:rgba(11, 24, 40, .52); }
.app-modal-card { position:relative; z-index:1; width:min(760px, 96vw); background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 16px 42px rgba(10, 27, 45, .28); padding:16px; max-height:88vh; overflow:auto; }
.app-modal-card.app-modal-card-xl { width:min(1200px, 96vw); }
.materials-layout { display:grid; grid-template-columns:minmax(300px,420px) 1fr; gap:16px; align-items:start; }
.materials-summary { margin-bottom:10px; }
.materials-filters { margin-bottom:10px; align-items:end; }
.table-wrap { overflow:auto; }
.table-modern { width:100%; border-collapse:collapse; min-width:620px; }
.table-modern th,.table-modern td { border-bottom:1px solid #e2e8f1; padding:10px; text-align:left; font-size:13px; }
.table-modern th { background:#f8fbff; color:#4f617e; }
.module-rules-wrap .module-rules-table { table-layout:fixed; min-width:1820px; }
.module-rules-table col.col-piece { width:170px; }
.module-rules-table col.col-rule { width:220px; }
.module-rules-table col.col-qtd { width:90px; }
.module-rules-table col.col-material { width:180px; }
.module-rules-table col.col-hwlist { width:380px; }
.module-rules-table col.col-oplist { width:360px; }
.module-rules-table col.col-edges { width:90px; }
.module-rules-table col.col-action { width:90px; }
.module-rules-table td input,
.module-rules-table td select {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}
.module-rules-table td .btn-link {
  white-space: nowrap;
}
.module-rules-table.compact th,.module-rules-table.compact td { padding:8px 8px; }
.module-rules-table.spacious th,.module-rules-table.spacious td { padding:14px 12px; }
.module-rules-table.compact input,.module-rules-table.compact select { padding:7px 8px; }
.module-rules-table.spacious input,.module-rules-table.spacious select { padding:10px 10px; }
.module-rules-table.compact .rule-cell { grid-template-columns:minmax(115px,1fr) 88px minmax(120px,1fr); gap:4px; }
.module-rules-table.spacious .rule-cell { grid-template-columns:minmax(145px,1fr) 110px minmax(150px,1fr); gap:8px; }
.empty-cell { text-align:center; color:var(--muted); }
hr { border:none; border-top:1px solid var(--line); margin:16px 0; }
.text-muted { color:var(--muted); }
.head-actions,.button-row { display:flex; flex-wrap:wrap; gap:8px; }
.dashboard-grid-two { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.dashboard-chart-card { display:grid; gap:10px; }
.dashboard-filter-card { display:grid; gap:8px; }
.dashboard-filter-form { display:flex; flex-wrap:wrap; align-items:end; gap:10px; }
.dashboard-filter-form label { min-width:190px; }
.dashboard-filter-form button { white-space:nowrap; }
.dashboard-bars { display:grid; gap:10px; }
.dashboard-bar-row { display:grid; grid-template-columns:minmax(120px,220px) 1fr minmax(130px,190px); gap:10px; align-items:center; }
.dashboard-bar-label { font-size:13px; color:#34506f; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dashboard-bar-track {
  position:relative;
  height:10px;
  border-radius:999px;
  background:#e7eff9;
  overflow:hidden;
}
.dashboard-bar-fill { display:block; height:100%; border-radius:999px; }
.dashboard-bar-fill.tone-orcando { background:linear-gradient(90deg,#ffb75e,#ed8f03); }
.dashboard-bar-fill.tone-fechado { background:linear-gradient(90deg,#3ecf8e,#1d9f67); }
.dashboard-bar-fill.tone-perdido { background:linear-gradient(90deg,#ff7e8b,#cf3c4f); }
.dashboard-bar-fill.tone-outros { background:linear-gradient(90deg,#8ba3bf,#5f7692); }
.dashboard-bar-fill.tone-materiais { background:linear-gradient(90deg,#4fa8ff,#1d76cf); }
.dashboard-bar-fill.tone-producao { background:linear-gradient(90deg,#45d1c6,#179991); }
.dashboard-bar-fill.tone-ferragens { background:linear-gradient(90deg,#7fb2ff,#4b79d4); }
.dashboard-bar-fill.tone-indiretos { background:linear-gradient(90deg,#b59cff,#7c5ad5); }
.dashboard-bar-fill.tone-fiscal { background:linear-gradient(90deg,#f6a463,#dd7a2f); }
.dashboard-bar-fill.tone-margem { background:linear-gradient(90deg,#6fd087,#2caa4e); }
.dashboard-bar-fill.tone-clientes { background:linear-gradient(90deg,#87b7ea,#4f8fd1); }
.dashboard-bar-meta { text-align:right; font-size:13px; color:#1f2b3d; white-space:nowrap; }
.dashboard-bar-meta small { color:#5d6f89; margin-left:6px; }
.rule-cell { display:grid; grid-template-columns: minmax(130px, 1fr) 96px minmax(140px, 1fr); gap:6px; align-items:center; }
.rule-fixed-hidden { display:none; }
.rule-manual-hidden { display:none; }
.piece-sublist { display:grid; gap:6px; margin-bottom:6px; }
.piece-subitem { display:grid; grid-template-columns:minmax(110px,1fr) minmax(90px,.9fr) minmax(90px,.9fr) auto; gap:6px; align-items:center; }
.piece-subitem button { min-width:24px; }
.mobile-only,.sidebar-backdrop { display:none; }
@media (max-width:1100px){ .card-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));} .selector-grid{grid-template-columns:1fr;} .dashboard-grid-two{grid-template-columns:1fr;} .dashboard-filter-form{display:grid; grid-template-columns:1fr; align-items:stretch;} .dashboard-filter-form label{min-width:0;} .dashboard-bar-row{grid-template-columns:minmax(90px,150px) 1fr;} .dashboard-bar-meta{grid-column:1/-1; text-align:left;} }
@media (max-width:1200px){ .materials-layout{grid-template-columns:1fr;} }
@media (max-width:860px){ .app-shell{grid-template-columns:1fr;} .sidebar{position:fixed; left:-310px; width:290px; z-index:30; transition:left .2s ease;} .app-shell.sidebar-open .sidebar{left:0;} .sidebar-backdrop{position:fixed; inset:0; border:none; background:rgba(12,26,44,.48); z-index:20;} .app-shell.sidebar-open .sidebar-backdrop{display:block;} .mobile-only{display:inline-flex;} .topbar{padding:12px 14px;} .topbar-account small{max-width:120px;} .view-root{padding:14px;} .card-grid,.form-grid{grid-template-columns:1fr;} .table-modern{min-width:560px;} .module-rules-wrap .module-rules-table{min-width:1580px;} .piece-subitem{grid-template-columns:1fr;} }

/* Landing page */
body.landing-mode { background: radial-gradient(circle at 12% 8%, #d9f1ff 0%, #edf6ff 32%, #f5f9ff 100%); }
body.landing-mode .landing-shell { max-width: 1180px; margin: 0 auto; padding: 26px 20px 56px; }
body.landing-mode .landing-topbar {
  position: sticky;
  top: 10px;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px 20px;
  border: 1px solid #2f5f8e;
  border-radius: 14px;
  background: linear-gradient(120deg, rgba(15, 49, 82, 0.96) 0%, rgba(21, 70, 116, 0.96) 100%);
  backdrop-filter: blur(6px);
  box-shadow: 0 12px 34px rgba(8, 32, 55, 0.28);
}
body.landing-mode .landing-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  color: #f3f9ff;
}
body.landing-mode .landing-brand-icon {
  width: 58px;
  height: 58px;
  border-radius: 10px;
  border: 1px solid rgba(186, 215, 243, 0.45);
  background: rgba(255, 255, 255, 0.12);
  padding: 4px;
  object-fit: contain;
  display: block;
}
body.landing-mode .landing-brand-text strong {
  display: block;
  line-height: 1.1;
  letter-spacing: 0.01em;
  font-size: 22px;
}
body.landing-mode .landing-brand-text small {
  display: block;
  color: #c7ddf5;
  font-size: 11px;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
body.landing-mode .landing-nav { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
body.landing-mode .landing-nav button,
body.landing-mode .landing-nav a { text-decoration: none; }
body.landing-mode .landing-nav button {
  border: 1px solid rgba(184, 212, 241, 0.25);
  background: transparent;
  color: #e5f2ff;
  border-radius: 10px;
  padding: 11px 14px;
  font-size: 17px;
}
body.landing-mode .landing-nav button:hover {
  border-color: #bdd8f5;
  background: rgba(231, 243, 255, 0.16);
}
body.landing-mode .landing-nav .btn-ghost {
  border-color: rgba(184, 212, 241, 0.5);
  color: #eef6ff;
}
body.landing-mode .landing-nav .btn-primary {
  border: 1px solid #8bc1f4;
  background: linear-gradient(135deg, #3f94df 0%, #2b7ec8 100%);
}
body.landing-mode .landing-hero {
  margin-top: 22px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 18px;
}
body.landing-mode .landing-hero-copy {
  border: 1px solid #c7ddf8;
  border-radius: 18px;
  background: linear-gradient(145deg, #0c426f 0%, #1267a8 58%, #1f82c8 100%);
  color: #f3f9ff;
  padding: 28px;
  box-shadow: 0 18px 40px rgba(18, 103, 168, 0.28);
}
body.landing-mode .landing-kicker {
  display: inline-flex;
  margin-bottom: 10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(219, 236, 255, 0.35);
  background: rgba(229, 241, 255, 0.12);
  font-size: 12px;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
body.landing-mode .landing-hero-copy h1 {
  margin: 0;
  font-size: clamp(30px, 5vw, 48px);
  line-height: 1.05;
}
body.landing-mode .landing-hero-copy p {
  margin: 14px 0 0;
  color: #dbedff;
  max-width: 620px;
}
body.landing-mode .landing-hero-cta { margin-top: 20px; display: flex; gap: 10px; flex-wrap: wrap; }
body.landing-mode .landing-metrics {
  margin-top: 22px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
body.landing-mode .landing-metrics article {
  border: 1px solid rgba(211, 231, 255, 0.35);
  border-radius: 12px;
  background: rgba(232, 244, 255, 0.08);
  padding: 12px;
}
body.landing-mode .landing-metrics strong { display: block; font-size: 15px; }
body.landing-mode .landing-metrics small { color: #d6e9ff; }
body.landing-mode .landing-hero-panel {
  border: 1px solid #d8e7f8;
  border-radius: 18px;
  padding: 24px;
  background: linear-gradient(160deg, #ffffff 0%, #ecf5ff 100%);
  box-shadow: 0 14px 34px rgba(32, 72, 112, 0.14);
  overflow: hidden;
}
body.landing-mode .landing-hero-panel-visual {
  margin: -10px -10px 16px;
  border: 1px solid #d4e6fb;
  border-radius: 14px;
  background: radial-gradient(circle at 18% 16%, #f4fbff 0%, #e4f1ff 65%, #d7e9fd 100%);
}
body.landing-mode .landing-hero-panel-visual img {
  display: block;
  width: 100%;
  height: auto;
}
body.landing-mode .landing-hero-panel h2 { margin: 0; font-size: 24px; color: #13395c; }
body.landing-mode .landing-hero-panel p { color: #516b89; }
body.landing-mode .landing-hero-panel ul {
  margin: 14px 0 0;
  padding-left: 16px;
  display: grid;
  gap: 8px;
  color: #1f4a74;
}
body.landing-mode .landing-section { margin-top: 26px; }
body.landing-mode .landing-section-head h2 { margin: 0; font-size: clamp(24px, 3.5vw, 34px); color: #12385c; }
body.landing-mode .landing-section-head p { margin: 8px 0 0; color: #526d8d; }
body.landing-mode .landing-module-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
body.landing-mode .landing-release-grid {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
body.landing-mode .landing-module-card {
  border: 1px solid #d2e4f9;
  border-radius: 14px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(20, 63, 102, 0.1);
  display: grid;
  gap: 10px;
}
body.landing-mode .landing-module-thumb {
  border: 1px solid #d6e8fc;
  border-radius: 12px;
  background: linear-gradient(140deg, #f8fcff 0%, #e7f2ff 100%);
  overflow: hidden;
}
body.landing-mode .landing-module-thumb img {
  display: block;
  width: 100%;
  height: auto;
}
body.landing-mode .landing-module-thumb.landing-carousel {
  position: relative;
  aspect-ratio: 16 / 9;
  background: #0d2d4a;
}
body.landing-mode .landing-carousel-track {
  position: absolute;
  inset: 0;
}
body.landing-mode .landing-carousel-slide {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity .5s ease;
  cursor: zoom-in;
}
body.landing-mode .landing-carousel-slide.active {
  opacity: 1;
}
body.landing-mode .landing-carousel-controls {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  z-index: 1;
}
body.landing-mode .landing-carousel-controls small {
  color: #f2f7ff;
  background: rgba(7, 22, 38, 0.6);
  border: 1px solid rgba(210, 228, 249, 0.5);
  border-radius: 999px;
  padding: 3px 10px;
  font-size: 12px;
}
body.landing-mode .landing-carousel-nav {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(210, 228, 249, 0.7);
  background: rgba(10, 34, 57, 0.65);
  color: #f2f7ff;
  font-size: 21px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
body.landing-mode .landing-carousel-nav:hover {
  background: rgba(17, 60, 97, 0.86);
}
body.landing-mode .landing-carousel-dots {
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 52px;
  z-index: 1;
  display: flex;
  justify-content: center;
  gap: 7px;
}
body.landing-mode .landing-carousel-dot {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  border: 1px solid rgba(218, 234, 252, 0.9);
  background: rgba(218, 234, 252, 0.45);
  padding: 0;
}
body.landing-mode .landing-carousel-dot.active {
  background: #ffffff;
  border-color: #ffffff;
  transform: scale(1.2);
}
body.landing-mode .landing-module-card h3 { margin: 0; color: #0e3a62; }
body.landing-mode .landing-module-card p { margin: 8px 0 0; color: #58708f; }
body.landing-mode .landing-module-meta {
  margin-top: 2px;
  color: #2b5f91;
  font-size: 12px;
  font-weight: 600;
}
body.landing-mode .landing-release-card {
  border: 1px solid #cfe1f8;
  border-radius: 14px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 10px 24px rgba(20, 63, 102, 0.08);
}
body.landing-mode .landing-release-card h3 { margin: 0; color: #123e68; }
body.landing-mode .landing-release-card p { margin: 8px 0 14px; color: #58708f; min-height: 38px; }
body.landing-mode .landing-benefits {
  list-style: none;
  margin: 14px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}
body.landing-mode .landing-benefits li {
  border: 1px solid #d5e4f4;
  border-radius: 12px;
  background: #fff;
  padding: 12px 14px;
}
body.landing-mode .landing-faq { display: grid; gap: 10px; margin-top: 14px; }
body.landing-mode .landing-faq-item {
  border: 1px solid #d6e6f8;
  border-radius: 12px;
  background: #fff;
  padding: 12px;
}
body.landing-mode .landing-faq-item summary { cursor: pointer; font-weight: 600; color: #10385d; }
body.landing-mode .landing-faq-item p { margin: 10px 0 0; color: #58708f; }
body.landing-mode .landing-final-cta {
  margin-top: 28px;
  border: 1px solid #c9dcf5;
  border-radius: 16px;
  background: linear-gradient(135deg, #e9f4ff 0%, #fff9f2 100%);
  padding: 24px;
  text-align: center;
}
body.landing-mode .landing-final-cta h2 { margin: 0; color: #143a5f; font-size: clamp(24px, 4vw, 36px); }
body.landing-mode .landing-final-cta p { margin: 10px 0 16px; color: #55708f; }
body.landing-mode .reveal {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity .45s ease, transform .45s ease;
}
body.landing-mode .reveal.is-visible { opacity: 1; transform: translateY(0); }
body.auth-open { overflow: hidden; }
body.landing-lightbox-open { overflow: hidden; }
body.landing-mode .auth-modal {
  position: fixed;
  inset: 0;
  background: rgba(7, 23, 39, 0.52);
  backdrop-filter: blur(3px);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 80;
  padding: 16px;
}
body.landing-mode .auth-modal.open { display: flex; }
body.landing-mode .auth-card {
  width: min(520px, 96vw);
  border: 1px solid #cfe1f8;
  border-radius: 16px;
  background: #fff;
  padding: 18px;
  box-shadow: 0 18px 44px rgba(9, 32, 55, 0.3);
  position: relative;
}
body.landing-mode .auth-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid #d2dfef;
  background: #fff;
}
body.landing-mode .auth-head h3 { margin: 0; color: #103a5f; }
body.landing-mode .auth-head p { margin: 8px 0 0; color: #5a728f; }
body.landing-mode .auth-tabs {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
body.landing-mode .auth-tabs button {
  border: 1px solid #cadcf1;
  background: #f3f8ff;
  color: #2a537e;
}
body.landing-mode .auth-tabs button.active {
  border-color: #3b86cf;
  background: #e4f1ff;
  color: #114777;
  font-weight: 600;
}
body.landing-mode .auth-form {
  margin-top: 12px;
  display: grid;
  gap: 10px;
}
body.landing-mode .auth-feedback {
  display: block;
  margin-top: 10px;
  color: #55708f;
}
body.landing-mode .auth-feedback.error { color: #a42438; }
body.landing-mode .auth-feedback.success { color: #1a7f45; }
body.landing-mode .landing-lightbox {
  position: fixed;
  inset: 0;
  z-index: 95;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 14px;
}
body.landing-mode .landing-lightbox.open {
  display: flex;
}
body.landing-mode .landing-lightbox-backdrop {
  position: absolute;
  inset: 0;
  border: none;
  background: rgba(6, 20, 34, 0.82);
}
body.landing-mode .landing-lightbox-dialog {
  position: relative;
  z-index: 1;
  width: min(1200px, 96vw);
  max-height: 94vh;
  border: 1px solid rgba(162, 193, 228, 0.45);
  border-radius: 16px;
  background: #0f2d49;
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.38);
  padding: 12px;
  display: grid;
  gap: 10px;
}
body.landing-mode .landing-lightbox-close {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(202, 224, 248, 0.6);
  background: rgba(10, 34, 57, 0.75);
  color: #f4f9ff;
}
body.landing-mode .landing-lightbox-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #e7f3ff;
  padding-right: 42px;
}
body.landing-mode .landing-lightbox-head small {
  color: #c3daf2;
}
body.landing-mode .landing-lightbox-media {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 8px;
}
body.landing-mode .landing-lightbox-media img {
  width: 100%;
  max-height: 80vh;
  object-fit: contain;
  border-radius: 12px;
  background: #0a2238;
}
body.landing-mode .landing-lightbox-nav {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid rgba(202, 224, 248, 0.6);
  background: rgba(10, 34, 57, 0.75);
  color: #f4f9ff;
  font-size: 20px;
  line-height: 1;
  padding: 0;
}
body.landing-mode .landing-lightbox-nav:hover,
body.landing-mode .landing-lightbox-close:hover {
  background: rgba(18, 60, 96, 0.86);
}

@media (max-width: 980px) {
  body.landing-mode .landing-topbar {
    position: static;
    top: auto;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 12px;
  }
  body.landing-mode .landing-brand-icon { width: 40px; height: 40px; }
  body.landing-mode .landing-brand-text strong { font-size: 18px; }
  body.landing-mode .landing-brand-text small { font-size: 11px; }
  body.landing-mode .landing-nav {
    width: 100%;
    flex-wrap: nowrap;
    overflow-x: auto;
    gap: 8px;
    padding-bottom: 2px;
  }
  body.landing-mode .landing-nav::-webkit-scrollbar { height: 4px; }
  body.landing-mode .landing-nav button { font-size: 14px; padding: 8px 10px; white-space: nowrap; }
  body.landing-mode .landing-nav a { white-space: nowrap; }
  body.landing-mode .landing-hero { grid-template-columns: 1fr; }
  body.landing-mode .landing-metrics { grid-template-columns: 1fr; }
  body.landing-mode .landing-module-grid { grid-template-columns: 1fr; }
  body.landing-mode .landing-release-grid { grid-template-columns: 1fr; }
  body.landing-mode .landing-lightbox-dialog { padding: 10px; }
  body.landing-mode .landing-lightbox-media { grid-template-columns: 1fr; }
  body.landing-mode .landing-lightbox-nav {
    width: 36px;
    height: 36px;
    justify-self: center;
  }
}
