:root {
  --silas-night-950: #03111f;
  --silas-night-900: #061a2d;
  --silas-night-850: #09233b;
  --silas-night-800: #0d2b48;
  --silas-night-700: #173b5d;
  --silas-ivory-50: #fffdf7;
  --silas-ivory-100: #fbf4e3;
  --silas-ivory-200: #f3e6c8;
  --silas-ivory-300: #e8d5aa;
  --silas-gold-300: #e5c875;
  --silas-gold-400: #d9b14a;
  --silas-gold-500: #bd8f28;
  --silas-emerald: #18c59f;
  --silas-danger: #df5c69;
  --silas-warning: #e9b949;
  --silas-success: #5ecb8b;
  --silas-muted: #8fa4bb;
  --silas-ink: #071a30;
  --silas-shadow: 0 16.2px 40.5px rgba(0, 0, 0, .28);
  --silas-border: 0.9px solid rgba(217, 177, 74, .74);
  --silas-radius: 9px;
  --sidebar-width: 198px;
  --mosaic-height: 214.2px;
  --bottom-height: 104.4px;
  --focus: 0 0 0 2.7px rgba(229, 200, 117, .45);
  color-scheme: dark;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; font-size: 90%; }
body {
  margin: 0;
  min-width: 288px;
  min-height: 100vh;
  background:
    radial-gradient(circle at 50% -20%, rgba(35, 78, 114, .65), transparent 45%),
    linear-gradient(135deg, var(--silas-night-950), var(--silas-night-900) 55%, #020a12);
  color: var(--silas-ivory-100);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 13.5px;
  line-height: 1.5;
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
a { color: var(--silas-gold-300); }
img { max-width: 100%; display: block; }
[hidden] { display: none; }

:focus-visible { outline: none; box-shadow: var(--focus); }

.silas-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--sidebar-width) minmax(0, 1fr) var(--sidebar-width);
  grid-template-rows: var(--mosaic-height) minmax(414px, 1fr) var(--bottom-height);
  gap: 7.2px;
  padding: 7.2px;
  overflow: hidden;
}
.silas-shell.is-left-folded { grid-template-columns: 57.6px minmax(0, 1fr) var(--sidebar-width); }
.silas-shell.is-right-folded { grid-template-columns: var(--sidebar-width) minmax(0, 1fr) 57.6px; }
.silas-shell.is-left-folded.is-right-folded { grid-template-columns: 57.6px minmax(0, 1fr) 57.6px; }

.silas-sidebar {
  grid-row: 1 / 4;
  min-width: 0;
  border: var(--silas-border);
  border-radius: var(--silas-radius);
  background: linear-gradient(180deg, rgba(9, 35, 59, .98), rgba(3, 17, 31, .98));
  padding: 7.2px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  gap: 7.2px;
  overflow: hidden;
  box-shadow: inset 0 0.9px 0 rgba(255, 255, 255, .06);
  transition: width .28s ease;
}
.silas-sidebar--left { grid-column: 1; }
.silas-sidebar--right { grid-column: 3; }
.sidebar-nav { display: grid; gap: 6.3px; }
.nav-tile {
  min-height: 52.2px;
  border: var(--silas-border);
  border-radius: 7.2px;
  background: linear-gradient(145deg, rgba(23, 59, 93, .9), rgba(6, 26, 45, .95));
  color: var(--silas-ivory-100);
  display: grid;
  grid-template-columns: 32.4px 1fr;
  align-items: center;
  gap: 7.2px;
  padding: 6.3px 9px;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .075em;
  text-transform: uppercase;
  cursor: pointer;
  text-align: center;
  transition: transform .16s ease, background .16s ease, border-color .16s ease;
}
.nav-tile:hover, .nav-tile.is-active {
  transform: translateY(-0.9px);
  background: linear-gradient(145deg, rgba(217, 177, 74, .23), rgba(13, 43, 72, .95));
  border-color: var(--silas-gold-300);
}
.nav-tile[data-locked="true"] { opacity: .62; cursor: not-allowed; }
.nav-tile__icon {
  width: 28.8px;
  height: 28.8px;
  display: grid;
  place-items: center;
  border-right: 0.9px solid rgba(217, 177, 74, .42);
  color: var(--silas-gold-300);
}
.nav-tile--fold { grid-template-columns: 32.4px 1fr; }
.sidebar-cards { min-height: 0; display: grid; grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 7.2px; }
.sidebar-card {
  min-height: 0;
  border: var(--silas-border);
  border-radius: 8.1px;
  background: linear-gradient(160deg, rgba(255, 253, 247, .08), rgba(255, 255, 255, .025));
  padding: 11.7px 9.9px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  overflow: hidden;
}
.sidebar-card[role="button"] { cursor: pointer; }
.sidebar-card[role="button"]:hover { border-color: var(--silas-gold-300); background: rgba(217, 177, 74, .09); }
.sidebar-card h3 { margin: 3.6px 0 6.3px; font-family: Georgia, serif; font-size: 1.08rem; letter-spacing: .04em; }
.sidebar-card p { margin: 0; font-size: .75rem; color: var(--silas-muted); }
.eyebrow { color: var(--silas-gold-300); font-size: .68rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }

.is-left-folded .silas-sidebar--left .nav-tile,
.is-right-folded .silas-sidebar--right .nav-tile { grid-template-columns: 1fr; padding-inline: 4.5px; }
.is-left-folded .silas-sidebar--left .nav-tile > span:last-child,
.is-right-folded .silas-sidebar--right .nav-tile > span:last-child,
.is-left-folded .silas-sidebar--left .sidebar-cards,
.is-right-folded .silas-sidebar--right .sidebar-cards { display: none; }
.is-left-folded .silas-sidebar--left .nav-tile__icon,
.is-right-folded .silas-sidebar--right .nav-tile__icon { border-right: 0; width: 100%; }

.module-mosaic {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  border: var(--silas-border);
  border-radius: var(--silas-radius);
  background: linear-gradient(180deg, rgba(251, 244, 227, .98), rgba(232, 213, 170, .92));
  color: var(--silas-ink);
  padding: 6.3px;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 4.5px;
  overflow: hidden;
  box-shadow: var(--silas-shadow);
}
.module-mosaic--compact { max-height: 171px; }
.module-tile {
  min-width: 0;
  min-height: 0;
  border: 0.9px solid rgba(7, 26, 48, .58);
  border-radius: 6.3px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(232, 231, 226, .88));
  color: var(--silas-ink);
  padding: 3.6px 6.3px;
  display: grid;
  grid-template-columns: 37.8px minmax(0, 1fr);
  grid-template-rows: 1fr auto;
  gap: 1.8px 6.3px;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.module-tile:hover, .module-tile:focus-visible, .module-tile.is-active {
  transform: translateY(-1.8px) scale(1.012);
  border-color: var(--silas-gold-500);
  box-shadow: 0 5.4px 13.5px rgba(7, 26, 48, .2);
  z-index: 2;
}
.module-tile__visual {
  grid-row: 1 / 3;
  align-self: stretch;
  border-radius: 4.5px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, var(--silas-night-800), var(--silas-night-950));
  color: var(--silas-gold-300);
  font-weight: 900;
  font-size: .68rem;
  letter-spacing: .06em;
}
.module-tile__copy { min-width: 0; align-self: center; }
.module-tile__copy strong { display: block; font-size: .69rem; line-height: 1.15; text-transform: uppercase; }
.module-tile__copy small { display: none; font-size: .64rem; color: #3d526a; }
.module-tile:hover .module-tile__copy small, .module-tile:focus-visible .module-tile__copy small { display: block; }
.module-tile__status { font-size: .58rem; color: #5a6573; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.silas-main {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  min-height: 0;
  border: var(--silas-border);
  border-radius: var(--silas-radius);
  background: linear-gradient(150deg, rgba(6, 26, 45, .98), rgba(3, 17, 31, .98));
  overflow: auto;
  position: relative;
  box-shadow: var(--silas-shadow);
}
.page-panel { display: none; min-height: 100%; padding: clamp(16.2px, 2.4vw, 34.2px); }
.page-panel.is-active { display: block; animation: panel-in .25s ease; }
@keyframes panel-in { from { opacity: 0; transform: translateY(6.3px); } to { opacity: 1; transform: none; } }

.hero {
  min-height: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(270px, .88fr);
  gap: clamp(21.6px, 4vw, 57.6px);
  align-items: center;
}
.hero__copy h1, .section-title {
  margin: 0 0 14.4px;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 4.7rem);
  line-height: .98;
  color: var(--silas-ivory-50);
  letter-spacing: -.03em;
}
.hero__copy h1 span { color: var(--silas-gold-300); }
.hero__copy > p { max-width: 62ch; color: #b8c5d4; font-size: clamp(1rem, 1.5vw, 1.2rem); }
.hero__actions, .button-row { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 21.6px; }
.primary-button, .secondary-button, .ghost-button, .danger-button {
  min-height: 39.6px;
  border-radius: 6.3px;
  border: var(--silas-border);
  padding: 9px 15.3px;
  font-weight: 800;
  letter-spacing: .045em;
  text-transform: uppercase;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7.2px;
}
.primary-button { background: linear-gradient(145deg, var(--silas-gold-300), var(--silas-gold-500)); color: var(--silas-ink); }
.secondary-button { background: var(--silas-night-800); color: var(--silas-ivory-100); }
.ghost-button { background: transparent; color: var(--silas-gold-300); }
.danger-button { background: rgba(223, 92, 105, .14); border-color: var(--silas-danger); color: #ffd4d8; }
.primary-button:hover, .secondary-button:hover, .ghost-button:hover { filter: brightness(1.08); transform: translateY(-0.9px); }

.hero-crest {
  min-height: 351px;
  border: var(--silas-border);
  border-radius: 14.4px;
  background:
    radial-gradient(circle at 50% 32%, rgba(217, 177, 74, .2), transparent 33%),
    linear-gradient(155deg, rgba(23, 59, 93, .92), rgba(3, 17, 31, .98));
  display: grid;
  place-items: center;
  position: relative;
  overflow: hidden;
}
.hero-crest::before, .hero-crest::after {
  content: "";
  position: absolute;
  width: 72%;
  aspect-ratio: 1;
  border: 1.8px solid rgba(217, 177, 74, .4);
  transform: rotate(30deg);
}
.hero-crest::after { width: 54%; border-color: rgba(229, 200, 117, .22); }
.hero-crest img { width: min(70%, 351px); filter: drop-shadow(0 16.2px 31.5px rgba(0,0,0,.55)); z-index: 2; }

.content-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12.6px; }
.content-grid--two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.content-card {
  border: var(--silas-border);
  border-radius: 9px;
  padding: 16.2px;
  background: linear-gradient(145deg, rgba(23, 59, 93, .62), rgba(6, 26, 45, .88));
  min-width: 0;
}
.content-card h2, .content-card h3 { margin-top: 0; font-family: Georgia, serif; color: var(--silas-ivory-50); }
.content-card p, .content-card li { color: #b8c5d4; }
.content-card ul { padding-left: 16.2px; }
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 23.4px;
  border-radius: 899.1px;
  padding: 2.7px 9px;
  border: 0.9px solid currentColor;
  color: var(--silas-gold-300);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.status-pill[data-status="ACTIVE"], .status-pill[data-status="Disponible"] { color: var(--silas-success); }
.status-pill[data-status="LOCKED"], .status-pill[data-status="Verrouillé"] { color: var(--silas-muted); }
.status-pill[data-status="ERROR"], .status-pill[data-status="Indisponible"] { color: var(--silas-danger); }
.status-pill[data-status="TESTING"], .status-pill[data-status="En test"] { color: var(--silas-warning); }

.feature-detail { display: grid; grid-template-columns: 234px minmax(0, 1fr); gap: 21.6px; align-items: start; }
.feature-preview {
  min-height: 234px;
  display: grid;
  place-items: center;
  border: var(--silas-border);
  border-radius: 10.8px;
  background: linear-gradient(145deg, var(--silas-night-800), var(--silas-night-950));
  color: var(--silas-gold-300);
  font-size: 2rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.module-list { display: grid; gap: 7.2px; max-height: 468px; overflow: auto; }
.module-list button { text-align: left; }

.pricing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12.6px; align-items: stretch; }
.pricing-card { position: relative; padding-top: 23.4px; }
.pricing-card.is-featured { border-color: var(--silas-gold-300); transform: translateY(-4.5px); }
.pricing-card__price { font-family: Georgia, serif; font-size: 2.2rem; color: var(--silas-gold-300); margin: 7.2px 0; }

.form-shell {
  max-width: 828px;
  margin: 0 auto;
  border: var(--silas-border);
  border-radius: 11.7px;
  background: var(--silas-ivory-100);
  color: var(--silas-ink);
  padding: clamp(16.2px, 3vw, 30.6px);
  box-shadow: var(--silas-shadow);
}
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12.6px; }
.form-field { display: grid; gap: 5.4px; min-width: 0; }
.form-field--wide { grid-column: 1 / -1; }
.form-field label { font-size: .72rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; color: var(--silas-ink); }
.form-field input, .form-field select, .form-field textarea {
  width: 100%;
  min-height: 39.6px;
  border: 0.9px solid rgba(7, 26, 48, .55);
  border-radius: 6.3px;
  background: var(--silas-ivory-50);
  color: var(--silas-ink);
  padding: 8.1px 9.9px;
}
.form-field textarea { min-height: 108px; resize: vertical; }
.form-field input[type="checkbox"] { width: 17.1px; min-height: 17.1px; }
.checkbox-row { display: flex; align-items: flex-start; gap: 8.1px; color: var(--silas-ink); }
.honeypot { position: absolute; left: -9000px; width: 0.9px; height: 0.9px; overflow: hidden; }
.form-message { min-height: 21.6px; margin-top: 10.8px; font-weight: 700; }

.bottom-strip {
  grid-column: 2;
  grid-row: 3;
  min-width: 0;
  border: var(--silas-border);
  border-radius: var(--silas-radius);
  background: rgba(251, 244, 227, .96);
  color: var(--silas-ink);
  padding: 5.4px;
  display: grid;
  grid-template-columns: repeat(9, minmax(82.8px, 1fr));
  gap: 4.5px;
  overflow-x: auto;
}
.kpi-card {
  min-width: 82.8px;
  border: 0.9px solid rgba(7, 26, 48, .55);
  border-radius: 6.3px;
  background: linear-gradient(145deg, #fff, #e7e6e1);
  color: var(--silas-ink);
  padding: 5.4px;
  display: grid;
  grid-template-rows: auto 1fr;
  text-align: center;
  cursor: pointer;
}
.kpi-card:hover, .kpi-card.is-active { border-color: var(--silas-gold-500); box-shadow: inset 0 -3.6px 0 var(--silas-gold-400); }
.kpi-card strong { font-size: .65rem; text-transform: uppercase; letter-spacing: .04em; }
.kpi-card span { align-self: center; font-family: Georgia, serif; font-size: 1.08rem; font-weight: 700; }

.login-layout { max-width: 558px; margin: 0 auto; }
.login-panel { display: grid; grid-template-columns: 126px minmax(0, 1fr); overflow: hidden; padding: 0; }
.login-panel__brand { background: var(--silas-night-900); display: grid; place-items: center; padding: 16.2px; }
.login-panel__brand img { max-width: 99px; }
.login-panel__body { padding: 23.4px; }
.login-panel__body h1 { margin-top: 0; font-family: Georgia, serif; }

.toast {
  position: fixed;
  right: 16.2px;
  bottom: 16.2px;
  z-index: 1000;
  max-width: min(378px, calc(100vw - 32.4px));
  border: var(--silas-border);
  border-radius: 8.1px;
  background: var(--silas-night-800);
  color: var(--silas-ivory-50);
  box-shadow: var(--silas-shadow);
  padding: 10.8px 14.4px;
  font-weight: 700;
}

/* LAB */
.lab-toolbar { display: flex; justify-content: space-between; align-items: center; gap: 10.8px; margin-bottom: 14.4px; }
.lab-toolbar h1 { margin: 0; font-family: Georgia, serif; }
.service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }
.service-card { border: var(--silas-border); border-radius: 8.1px; padding: 12.6px; background: rgba(23, 59, 93, .55); }
.service-card h3 { margin: 0 0 6.3px; font-size: .85rem; text-transform: uppercase; }
.metric-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; margin-top: 12.6px; }
.metric-card { border: var(--silas-border); border-radius: 8.1px; padding: 13.5px; background: rgba(251, 244, 227, .08); }
.metric-card strong { display: block; font-size: 1.8rem; color: var(--silas-gold-300); }
.metric-card span { color: var(--silas-muted); font-size: .75rem; text-transform: uppercase; }
.data-table-wrap { overflow: auto; border: var(--silas-border); border-radius: 8.1px; }
.data-table { width: 100%; border-collapse: collapse; min-width: 648px; }
.data-table th, .data-table td { padding: 9px 10.8px; border-bottom: 0.9px solid rgba(217,177,74,.25); text-align: left; }
.data-table th { background: var(--silas-night-800); color: var(--silas-gold-300); font-size: .7rem; text-transform: uppercase; letter-spacing: .06em; position: sticky; top: 0; }
.data-table td { color: #d8e0ea; }
.data-table tr:hover td { background: rgba(217,177,74,.06); }
.action-group { display: flex; flex-wrap: wrap; gap: 4.5px; }
.action-group button { min-height: 28.8px; padding: 4.5px 8.1px; font-size: .68rem; }
.json-viewer { min-height: 162px; max-height: 378px; overflow: auto; padding: 12.6px; border-radius: 7.2px; background: #01080f; color: #a9dfcb; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .78rem; white-space: pre-wrap; }
.locked-panel { min-height: 378px; display: grid; place-items: center; text-align: center; }
.locked-symbol { font-size: 4rem; color: var(--silas-gold-300); }

/* RÉSERVATION */
.reservation-page { min-height: 100vh; padding: clamp(10.8px, 3vw, 32.4px); }
.reservation-shell { max-width: 1116px; margin: 0 auto; border: var(--silas-border); border-radius: 14.4px; overflow: hidden; background: var(--silas-night-900); box-shadow: var(--silas-shadow); }
.reservation-header { display: grid; grid-template-columns: 99px 1fr auto; gap: 16.2px; align-items: center; padding: 16.2px 19.8px; background: var(--silas-ivory-100); color: var(--silas-ink); }
.reservation-header img { width: 79.2px; }
.reservation-header h1 { margin: 0; font-family: Georgia, serif; }
.reservation-header p { margin: 2.7px 0 0; color: #45576a; }
.reservation-progress { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4.5px; padding: 7.2px; background: var(--silas-night-950); }
.progress-step { min-height: 34.2px; border: 0.9px solid rgba(217,177,74,.35); border-radius: 5.4px; display: grid; place-items: center; font-size: .7rem; font-weight: 800; text-transform: uppercase; color: var(--silas-muted); }
.progress-step.is-active { color: var(--silas-gold-300); border-color: var(--silas-gold-300); background: rgba(217,177,74,.1); }
.reservation-stage { display: none; padding: 21.6px; }
.reservation-stage.is-active { display: block; }
.offer-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10.8px; }
.offer-card { border: var(--silas-border); border-radius: 9px; padding: 14.4px; background: rgba(23,59,93,.58); }
.offer-card h3 { margin: 0 0 4.5px; font-family: Georgia, serif; }
.offer-price { font-size: 1.5rem; color: var(--silas-gold-300); font-weight: 800; }
.offer-night-list { font-size: .72rem; color: var(--silas-muted); max-height: 81px; overflow: auto; }
.confirmation-card { max-width: 648px; margin: 0 auto; text-align: center; border: var(--silas-border); border-radius: 10.8px; padding: 25.2px; background: rgba(94,203,139,.09); }
.confirmation-reference { font-family: Georgia, serif; color: var(--silas-gold-300); font-size: 2rem; }

/* EMBED */
.embed-body { background: var(--silas-night-950); }
.embed-shell { min-height: 100vh; display: grid; grid-template-rows: 171px 1fr; gap: 7.2px; padding: 7.2px; }
.embed-shell .silas-main { grid-column: 1; grid-row: 2; }
.embed-shell .module-mosaic { grid-column: 1; grid-row: 1; }

@media (max-width: 1305px) {
  :root { --sidebar-width: 171px; --mosaic-height: 198px; }
  .module-mosaic { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .module-tile { grid-template-columns: 30.6px minmax(0, 1fr); padding: 2.7px 4.5px; }
  .module-tile__copy strong { font-size: .62rem; }
  .nav-tile { font-size: .7rem; }
}

@media (max-width: 1008px) {
  :root { --sidebar-width: 153px; --mosaic-height: 234px; --bottom-height: 97.2px; }
  .silas-shell { grid-template-columns: var(--sidebar-width) minmax(0, 1fr); grid-template-rows: var(--mosaic-height) minmax(432px, 1fr) var(--bottom-height); }
  .silas-sidebar--right { display: none; }
  .silas-sidebar--left { grid-column: 1; }
  .module-mosaic, .silas-main, .bottom-strip { grid-column: 2; }
  .module-mosaic { grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-rows: repeat(5, minmax(0, 1fr)); overflow-y: auto; }
  .hero { grid-template-columns: 1fr; }
  .hero-crest { min-height: 252px; }
  .content-grid, .pricing-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .service-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 684px) {
  :root { --mosaic-height: 198px; --bottom-height: 90px; }
  body { overflow-x: hidden; }
  .silas-shell { display: grid; grid-template-columns: 1fr; grid-template-rows: 54px var(--mosaic-height) minmax(468px, 1fr) var(--bottom-height); padding: 4.5px; }
  .silas-sidebar--right { display: none; }
  .silas-sidebar--left {
    grid-column: 1;
    grid-row: 1;
    display: block;
    padding: 3.6px;
    overflow-x: auto;
  }
  .sidebar-nav { display: flex; min-width: max-content; }
  .nav-tile { min-width: 100.8px; min-height: 43.2px; grid-template-columns: 25.2px 1fr; }
  .nav-tile__icon { width: 22.5px; height: 22.5px; }
  .nav-tile--fold, .sidebar-cards { display: none; }
  .module-mosaic { grid-column: 1; grid-row: 2; grid-template-columns: repeat(3, minmax(117px, 1fr)); grid-template-rows: repeat(6, 54px); overflow: auto; }
  .silas-main { grid-column: 1; grid-row: 3; }
  .bottom-strip { grid-column: 1; grid-row: 4; grid-template-columns: repeat(9, 108px); }
  .page-panel { padding: 14.4px; }
  .hero__copy h1 { font-size: 2.4rem; }
  .content-grid, .content-grid--two, .pricing-grid, .form-grid, .service-grid, .metric-grid, .offer-grid { grid-template-columns: 1fr; }
  .form-field--wide { grid-column: auto; }
  .feature-detail { grid-template-columns: 1fr; }
  .login-panel { grid-template-columns: 1fr; }
  .login-panel__brand { display: none; }
  .reservation-header { grid-template-columns: 63px 1fr; }
  .reservation-header .secondary-button { grid-column: 1 / -1; }
  .reservation-progress { grid-template-columns: repeat(2, 1fr); }
}


.sidebar-card--empty { pointer-events: none; }
.nav-tile--logout {
  margin-top: .25rem;
  border-color: rgba(223, 92, 105, .7);
  background: linear-gradient(145deg, rgba(112, 31, 44, .72), rgba(42, 13, 23, .96));
}
.nav-tile--logout:hover, .nav-tile--logout:focus-visible {
  border-color: var(--silas-danger);
  background: linear-gradient(145deg, rgba(151, 42, 58, .82), rgba(56, 15, 27, .98));
}
.placeholder-page { place-items: center; text-align: center; }
.placeholder-page.is-active { display: grid; }
.placeholder-stack { display: grid; justify-items: center; gap: 1.2rem; }
.placeholder-stack .section-title { margin: 0; }
.placeholder-message {
  margin: 0;
  color: var(--silas-gold-300);
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(2rem, 4vw, 4.2rem);
  font-weight: 700;
  letter-spacing: .08em;
}
.placeholder-message--secondary {
  max-width: 32ch;
  color: var(--silas-ivory-100);
  font-family: inherit;
  font-size: clamp(1rem, 1.8vw, 1.45rem);
  letter-spacing: .06em;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms; animation-iteration-count: 1; transition-duration: .01ms; scroll-behavior: auto; }
}

.mt-14 { margin-top: 12.6px; }
.align-end { align-self: end; }
.justify-center { justify-content: center; }

.form-status { min-height: 1.4em; margin: 3.6px 0 0; font-size: .86rem; font-weight: 700; }
.form-status[data-tone="info"] { color: var(--silas-blue-500); }
.form-status[data-tone="success"] { color: #2f6c45; }
.form-status[data-tone="error"] { color: #9f2f2f; }

/* RÉSERVATION — EXTRAS STRUCTURÉS */
.extra-selection-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.extra-selection-card {
  display: grid;
  gap: 9px;
  border: 1px solid rgba(217,177,74,.34);
  border-radius: 8.1px;
  padding: 10.8px;
  background: rgba(7,26,48,.48);
  transition: border-color .15s ease, background .15s ease;
}
.extra-selection-card.is-selected {
  border-color: var(--silas-gold-300);
  background: rgba(217,177,74,.1);
}
.extra-selection-card__choice {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  cursor: pointer;
}
.extra-selection-card__choice input { margin-top: 3px; }
.extra-selection-card__choice strong { display: block; color: var(--silas-ivory-100); }
.extra-selection-card__choice small { display: block; margin-top: 3px; color: var(--silas-muted); }
.extra-selection-card__footer {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 9px;
  color: var(--silas-gold-300);
  font-size: .74rem;
}
.extra-selection-card__footer label {
  display: grid;
  gap: 3px;
  color: var(--silas-muted);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.extra-selection-card__footer input { width: 82px; }

/* PORTAIL FOURNISSEUR */
.supplier-summary {
  display: grid;
  gap: 3px;
  padding: 9px 0;
  border-bottom: 1px solid rgba(217,177,74,.2);
}
.supplier-summary:last-child { border-bottom: 0; }
.supplier-summary span { color: var(--silas-gold-300); font-size: .75rem; text-transform: uppercase; }
.supplier-summary small { color: var(--silas-muted); }
.supplier-order-row {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10.8px;
  margin-bottom: 7.2px;
  padding: 9px;
  border: 1px solid rgba(217,177,74,.28);
  border-radius: 7.2px;
  background: rgba(7,26,48,.54);
  color: var(--silas-ivory-100);
  text-align: left;
  cursor: pointer;
}
.supplier-order-row:hover,
.supplier-order-row.is-active { border-color: var(--silas-gold-300); background: rgba(217,177,74,.09); }
.supplier-order-row > span { display: grid; gap: 4px; }
.supplier-order-row > span:last-child { justify-items: end; }
.supplier-order-row small { color: var(--silas-muted); }
.supplier-order-heading,
.simulation-card__heading {
  display: flex;
  justify-content: space-between;
  align-items: start;
  gap: 12.6px;
}
.supplier-order-heading h2,
.simulation-card__heading h2 { margin: 0; }
.supplier-order-heading > div:last-child { display: grid; justify-items: end; gap: 7.2px; }
.supplier-order-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7.2px 18px;
  margin: 12.6px 0;
  padding: 10.8px;
  border: 1px solid rgba(217,177,74,.2);
  border-radius: 7.2px;
  background: rgba(7,26,48,.35);
}
.supplier-order-meta p { margin: 0; }
.supplier-lines-table input { min-width: 90px; max-width: 120px; }
.supplier-order-final-state { margin: 14.4px 0 0; color: var(--silas-muted); }
.supplier-event-list { display: grid; gap: 7.2px; margin-top: 9px; }
.supplier-event-list p {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 3px 9px;
  margin: 0;
  padding: 7.2px;
  border-bottom: 1px solid rgba(217,177,74,.18);
}
.supplier-event-list small { grid-column: 1 / -1; color: var(--silas-muted); }

/* SIMULATIONS LAB */
.simulation-card dl { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.simulation-card dl div { padding: 7.2px; border: 1px solid rgba(217,177,74,.18); border-radius: 6.3px; }
.simulation-card dt { color: var(--silas-muted); font-size: .7rem; text-transform: uppercase; }
.simulation-card dd { margin: 3px 0 0; color: var(--silas-ivory-100); overflow-wrap: anywhere; }
.viz-badge {
  display: inline-block;
  margin-left: 4px;
  padding: 2px 5px;
  border: 1px solid var(--silas-gold-300);
  border-radius: 999px;
  color: var(--silas-gold-300);
  font-size: .58rem;
  font-weight: 800;
  vertical-align: middle;
}

@media (max-width: 684px) {
  .extra-selection-grid,
  .supplier-order-meta,
  .simulation-card dl { grid-template-columns: 1fr; }
  .supplier-order-heading,
  .simulation-card__heading,
  .supplier-order-row { align-items: stretch; flex-direction: column; }
  .supplier-order-row > span:last-child,
  .supplier-order-heading > div:last-child { justify-items: start; }
}
