/* —— Styles d’apparence (presets organisateur) —— */

:root {
  --paper-grain: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.04'/%3E%3C/svg%3E");
  --gold-line: linear-gradient(90deg, transparent, var(--gold-soft), transparent);
  --space-section: clamp(2rem, 5vw, 3.5rem);
  --display-xl: clamp(2rem, 4vw, 3.2rem);
}

/* Atelier lumière (défaut premium) */
body.style-atelier {
  background:
    radial-gradient(900px 420px at 50% -8%, color-mix(in srgb, var(--gold) 10%, transparent), transparent 58%),
    var(--paper);
  background-attachment: fixed;
}
body.style-atelier::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: var(--paper-grain);
  opacity: 0.55;
}
body.style-atelier .wrap {
  position: relative;
  z-index: 1;
}
body.style-atelier .is-surface,
body.style-atelier .auth-card,
body.style-atelier .dash-event-card,
body.style-atelier .settings-card {
  border-color: color-mix(in srgb, var(--gold) 12%, var(--line));
  box-shadow: var(--shadow-sm), inset 0 1px 0 color-mix(in srgb, #fff 40%, transparent);
}
body.style-atelier .page-head {
  padding-bottom: 1.1rem;
  margin-bottom: 1.4rem;
  border-bottom: 1px solid var(--line);
  position: relative;
}
body.style-atelier .page-head::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 1px;
  background: var(--gold-line);
}
body.style-atelier .page-eyebrow {
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--gold);
  font-weight: 600;
}
body.style-atelier .btn-primary {
  background: linear-gradient(180deg, var(--wine), var(--wine-deep));
  box-shadow: var(--shadow-sm);
}
body.style-atelier .btn-primary:hover {
  box-shadow: var(--shadow-pop), 0 0 0 1px color-mix(in srgb, var(--gold) 25%, transparent);
}
body.style-atelier input:focus-visible,
body.style-atelier select:focus-visible,
body.style-atelier textarea:focus-visible {
  outline-color: color-mix(in srgb, var(--gold) 55%, var(--focus-ring));
}

/* Nuit & laiton */
body.style-nuit-laiton .topbar {
  background: color-mix(in srgb, var(--paper) 92%, #000);
  border-bottom-color: color-mix(in srgb, var(--gold) 18%, transparent);
}
body.style-nuit-laiton .is-surface,
body.style-nuit-laiton .dash-event-card,
body.style-nuit-laiton .settings-card,
body.style-nuit-laiton .auth-card {
  box-shadow: 0 0 40px color-mix(in srgb, var(--gold) 12%, transparent), var(--shadow-sm);
}
body.style-nuit-laiton .btn-primary {
  background: linear-gradient(180deg, var(--gold), color-mix(in srgb, var(--gold) 70%, #000));
  color: #1c1612;
}
body.style-nuit-laiton .btn-primary:hover {
  background: var(--gold-soft);
}
body.style-nuit-laiton .subnav-wrap {
  background: color-mix(in srgb, var(--paper) 94%, #000);
}

/* Folio physique */
body.style-folio .dash-event-card,
body.style-folio .card.is-surface {
  transform: rotate(-0.3deg);
  box-shadow:
    0 1px 1px color-mix(in srgb, var(--ink) 6%, transparent),
    0 6px 0 -2px var(--card),
    0 6px 1px -2px var(--line),
    0 12px 0 -4px color-mix(in srgb, var(--card) 80%, var(--paper)),
    0 12px 2px -4px var(--line);
}
body.style-folio .module-link.is-active {
  border-top: 3px solid var(--wine);
  border-radius: 10px 10px 0 0;
  margin-top: -3px;
}
body.style-folio .badge {
  border: 2px double color-mix(in srgb, var(--wine) 55%, var(--line));
  border-radius: 999px;
  padding: 0.15rem 0.55rem;
}

/* Éditorial magazine */
body.style-editorial h1,
body.style-editorial .page-head h1 {
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1.05;
}
body.style-editorial .page-head {
  margin-bottom: var(--space-section);
}
body.style-editorial .page-eyebrow {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.7rem;
}
/* Listes / stats à plat — pas les fiches formulaire (is-surface, settings, auth…) */
body.style-editorial .card:not(.is-surface):not(.settings-card):not(.auth-card):not(.dash-event-card):not(.invite-rsvp-card):not(.guest-wishlist-card) {
  border: 0;
  box-shadow: none;
  background: transparent;
  padding-left: 0;
  padding-right: 0;
}
body.style-editorial .btn {
  border-radius: 8px;
}
body.style-editorial .hero .display {
  font-size: var(--display-xl);
}

/* Sélecteur de style (account) */
.style-picker {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
  gap: 0.75rem;
  margin: 0.75rem 0 1rem;
}
.style-picker-card {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  padding: 0.85rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  cursor: pointer;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.style-picker-card input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.style-picker-card.is-selected,
.style-picker-card:has(input:checked) {
  border-color: color-mix(in srgb, var(--wine) 45%, var(--line));
  box-shadow: var(--shadow-sm);
}
.style-picker-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 3.2rem;
  padding: 0.55rem 0.65rem;
  border-radius: calc(var(--radius) - 4px);
  border: 1px solid var(--line);
}
.style-preview-swatch {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--wine);
  border: 2px solid var(--gold);
}
.style-preview-btn {
  width: 3.2rem;
  height: 1.35rem;
  border-radius: 999px;
  background: var(--wine);
}
.style-preview-atelier .style-picker-preview { background: #edece8; }
.style-preview-nuit-laiton .style-picker-preview { background: #0a1727; }
.style-preview-folio .style-picker-preview { background: #f4f0e8; }
.style-preview-editorial .style-picker-preview { background: #f8f7f5; }
.style-preview-classique .style-picker-preview { background: #edece8; }
.style-picker-name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  font-weight: 650;
  font-family: var(--font-display);
}
.style-picker-desc {
  display: block;
  margin-top: 0.2rem;
  line-height: 1.35;
}

/* Landing premium */
.landing-hero {
  position: relative;
  min-height: min(88vh, 52rem);
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
  padding: clamp(1.5rem, 4vw, 3rem) 0 var(--space-section);
}
.landing-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.landing-hero-media video,
.landing-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.landing-hero-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, color-mix(in srgb, var(--paper) 94%, transparent) 42%, color-mix(in srgb, var(--paper) 72%, transparent) 68%, transparent),
    linear-gradient(180deg, color-mix(in srgb, var(--paper) 30%, transparent), var(--paper));
}
.landing-hero-inner {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  align-items: center;
}
.landing-hero-copy {
  max-width: 38rem;
}
.landing-hero-copy .display {
  font-size: var(--display-xl);
  margin: 0.5rem 0 1rem;
}
.landing-hero-copy .display em {
  font-style: normal;
  color: var(--gold);
}
.landing-trust {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1.2rem;
  margin-top: 1.5rem;
  padding-top: 1rem;
  border-top: 1px solid var(--line);
  position: relative;
}
.landing-trust::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 0;
  width: min(12rem, 60%);
  height: 1px;
  background: var(--gold-line);
}
.landing-trust span {
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--ink-soft);
  font-weight: 600;
}
.landing-aside-card {
  background: color-mix(in srgb, var(--card) 88%, transparent);
  backdrop-filter: blur(8px);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 1.4rem 1.5rem;
  box-shadow: var(--shadow);
}
.persona-grid-premium {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: var(--space-section);
}
.persona-card-portrait {
  display: flex;
  flex-direction: column;
  min-height: 18rem;
  padding: 0;
  overflow: hidden;
  border-radius: var(--radius);
  border: 1px solid var(--line);
  background: var(--card);
  color: var(--ink);
  text-decoration: none;
  box-shadow: var(--shadow-sm);
  transition: transform 0.25s, box-shadow 0.25s;
}
.persona-card-portrait:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-pop);
  text-decoration: none;
}
.persona-card-visual {
  flex: 1;
  min-height: 7rem;
  background:
    radial-gradient(120% 80% at 20% 0%, color-mix(in srgb, var(--gold) 22%, transparent), transparent 55%),
    linear-gradient(160deg, color-mix(in srgb, var(--wine) 18%, var(--paper)), var(--paper-2));
}
.persona-card-body {
  padding: 1.1rem 1.2rem 1.25rem;
}
.landing-quotes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: var(--space-section);
}
.landing-quote {
  padding: 1.2rem 1.3rem;
  border-left: 2px solid var(--gold);
  background: color-mix(in srgb, var(--card) 70%, transparent);
  border-radius: 0 var(--radius) var(--radius) 0;
}
.landing-quote blockquote {
  margin: 0;
  font-family: var(--font-display);
  font-size: 1.05rem;
  line-height: 1.45;
}
.landing-quote cite {
  display: block;
  margin-top: 0.65rem;
  font-size: 0.82rem;
  color: var(--ink-soft);
  font-style: normal;
}

/* Event cover de base : assets/css/app.css — overrides d’apparence ci-dessous */
.event-hero-strip.has-event-photo {
  background: var(--paper-2);
}
.event-hero-strip.has-event-photo .event-hero-overlay {
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--ink) 18%, transparent) 0%, color-mix(in srgb, var(--ink) 58%, transparent) 100%);
}
.event-hero-strip .event-cover-veil {
  background: linear-gradient(135deg, color-mix(in srgb, var(--wine) 45%, transparent), color-mix(in srgb, var(--ink) 42%, transparent));
}

/* Dashboard dossier */
.dash-event-cover {
  margin: -1.2rem -1.3rem 0.9rem;
  min-height: 5.5rem;
  border-radius: var(--radius) var(--radius) 0 0;
  background:
    radial-gradient(90% 120% at 100% 0%, color-mix(in srgb, var(--gold) 28%, transparent), transparent 55%),
    linear-gradient(135deg, color-mix(in srgb, var(--wine) 35%, var(--paper-2)), var(--paper-2));
  position: relative;
}
.dash-event-countdown {
  position: absolute;
  top: 0.65rem;
  right: 0.75rem;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--card) 88%, transparent);
  border: 1px solid var(--line);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.dash-event-rings {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem 0.35rem;
  margin-top: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--hairline);
}
.dash-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  text-align: center;
}
.dash-ring-chart {
  position: relative;
  width: 3.75rem;
  height: 3.75rem;
  flex: 0 0 auto;
}
.dash-ring-chart svg {
  display: block;
  width: 100%;
  height: 100%;
}
.dash-ring-value {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.2rem;
  font-size: clamp(0.58rem, 2.4vw, 0.72rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
  color: var(--ink);
  pointer-events: none;
}
.dash-ring-label {
  font-size: 0.68rem;
  color: var(--ink-soft);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-weight: 600;
}
.dash-ring-sublabel {
  font-size: 0.62rem;
  line-height: 1.2;
  color: var(--ink-soft);
  letter-spacing: 0;
  text-transform: none;
  font-weight: 500;
  max-width: 5.5rem;
}

/* Event hero strip */
.event-hero-strip {
  position: relative;
  margin: 0 0 1.2rem;
  border-radius: var(--radius);
  overflow: hidden;
  min-height: 11rem;
  background:
    radial-gradient(100% 120% at 80% 0%, color-mix(in srgb, var(--gold) 22%, transparent), transparent 50%),
    linear-gradient(135deg, color-mix(in srgb, var(--wine) 40%, var(--paper-2)), var(--paper-2));
}
.event-hero-strip.has-cover {
  min-height: 14rem;
  background-size: cover;
  background-position: center;
}
.event-hero-strip.has-venue-fallback {
  background:
    radial-gradient(90% 100% at 10% 100%, color-mix(in srgb, var(--gold) 28%, transparent), transparent 55%),
    linear-gradient(135deg, color-mix(in srgb, var(--wine) 55%, transparent), color-mix(in srgb, var(--ink) 42%, transparent)),
    linear-gradient(160deg, var(--wine-deep), var(--paper-2));
}
.moodboard-tile {
  width: 100%;
  height: 160px;
  display: block;
}
.event-hero-overlay {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, color-mix(in srgb, var(--ink) 15%, transparent) 0%, color-mix(in srgb, var(--ink) 55%, transparent) 100%);
}
.event-hero-content {
  position: relative;
  z-index: 2;
  padding: 1.4rem 1.5rem;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  min-height: inherit;
}
.event-hero-countdown {
  font-family: var(--font-display);
  font-size: clamp(2rem, 5vw, 3.2rem);
  font-weight: 650;
  line-height: 1;
}
.event-hero-kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1rem;
  margin-top: 1rem;
  padding: 0.75rem 1rem;
  background: color-mix(in srgb, var(--card) 92%, transparent);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.event-hero-kpi {
  min-width: 6rem;
}
.event-hero-kpi .stat {
  font-size: 1.2rem;
}

/* Navigation événement (modules plats) */
.event-nav-modules {
  display: flex;
  align-items: center;
  gap: 0.1rem;
  flex: 1;
  min-width: 0;
}
.event-nav-modules [data-event-module][hidden],
.event-tabbar [data-event-module][hidden],
.event-tabbar-more[hidden] {
  display: none !important;
}
.event-nav-more {
  position: relative;
  list-style: none;
  flex: 0 0 auto;
}
.event-nav-more summary.module-link {
  list-style: none;
  cursor: pointer;
}
.event-nav-more summary {
  list-style: none;
}
.event-nav-more summary::-webkit-details-marker { display: none; }
.event-nav-more-panel {
  max-height: min(70vh, calc(100dvh - 8rem));
  overflow-y: auto;
  overscroll-behavior: contain;
}
.event-nav-more-panel a {
  display: flex;
  align-items: center;
  gap: 0.45rem;
}
.event-tabbar button.event-tabbar-more {
  appearance: none;
  border: 0;
  background: transparent;
  font: inherit;
  cursor: pointer;
}
/* Fermé : jamais visible (native dialog + garde-fou contre display:flex hors [open]). */
dialog.modal.event-more-sheet:not([open]) {
  display: none !important;
  pointer-events: none;
}
.event-more-sheet {
  max-width: 22rem;
  width: calc(100% - 2rem);
  border: 0;
  padding: 0;
  flex-direction: column;
  overflow: hidden;
  background: var(--card);
  box-shadow: var(--shadow-pop);
}
.event-more-sheet[open],
.event-more-sheet:modal {
  display: flex;
}
.event-more-sheet .modal-head {
  flex-shrink: 0;
  background: var(--card);
}
.event-more-sheet-links {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding-top: 0.25rem;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  -webkit-overflow-scrolling: touch;
}
.event-more-sheet-links a,
.event-more-sheet-links .event-more-sheet-link {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.65rem 0.75rem;
  border-radius: calc(var(--radius) - 6px);
  color: var(--ink);
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 600;
}
.event-more-sheet-links a:hover,
.event-more-sheet-links .event-more-sheet-link:hover,
.event-more-sheet-links a[aria-current="page"],
.event-more-sheet-links .event-more-sheet-link[aria-current="page"] {
  background: color-mix(in srgb, var(--wine) 8%, transparent);
  color: var(--wine);
  text-decoration: none;
}
.event-tabbar {
  display: none;
}

/* Budget / rétroplanning : tableaux desktop, cartes mobile */
.budget-mobile-cards {
  display: none;
}
.budget-desktop-table,
.treasury-table-poste-wrap {
  display: block;
}
.budget-mobile-card {
  padding: 1rem 1.05rem;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--card);
  margin-bottom: 0.65rem;
}
.budget-mobile-card-head {
  display: flex;
  justify-content: space-between;
  gap: 0.75rem;
  align-items: flex-start;
}
.budget-mobile-card .progress {
  margin-top: 0.65rem;
}

/* Empty state premium */
.empty-state-premium {
  text-align: center;
  padding: clamp(2rem, 6vw, 4rem) 1.5rem;
  border: 1px dashed color-mix(in srgb, var(--gold) 35%, var(--line));
  border-radius: var(--radius);
  background: color-mix(in srgb, var(--card) 60%, transparent);
}
.empty-state-premium::before {
  content: "";
  display: block;
  width: 3rem;
  height: 2px;
  margin: 0 auto 1rem;
  background: var(--gold-line);
}
.empty-state-premium h2 {
  margin: 0 0 0.5rem;
}

@media (max-width: 899px) {
  .landing-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }
  .landing-hero-inner {
    grid-template-columns: 1fr;
  }
  .landing-aside-card {
    margin-top: 1rem;
  }
  .persona-grid-premium,
  .landing-quotes {
    grid-template-columns: 1fr;
  }
  .event-tabbar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 50;
    justify-content: space-around;
    gap: 0.15rem;
    padding: 0.35rem 0.4rem calc(0.45rem + env(safe-area-inset-bottom));
    background: color-mix(in srgb, var(--paper) 92%, #fff);
    border-top: 1px solid var(--line);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: 0 -4px 24px rgba(28, 22, 18, 0.08);
  }
  .event-tabbar a,
  .event-tabbar a.event-tabbar-link,
  .event-tabbar button.event-tabbar-more {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.15rem;
    padding: 0.35rem 0.2rem;
    font-size: 0.62rem;
    font-weight: 600;
    color: var(--ink-soft);
    text-decoration: none;
    border-radius: 10px;
    min-width: 0;
  }
  .event-tabbar a span:last-child,
  .event-tabbar a.event-tabbar-link span:last-child,
  .event-tabbar button.event-tabbar-more span:last-child {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
  }
  .event-tabbar a.is-active,
  .event-tabbar a.event-tabbar-link.is-active,
  .event-tabbar button.event-tabbar-more.is-active {
    color: var(--wine);
    background: color-mix(in srgb, var(--wine) 8%, transparent);
  }
  body:has(.event-tabbar) .wrap {
    padding-bottom: calc(4.5rem + env(safe-area-inset-bottom));
  }
  body:has(.event-tabbar) .site-footer {
    padding-bottom: calc(4rem + env(safe-area-inset-bottom));
  }
  .subnav-wrap.is-event .module-rail {
    display: none;
  }
  .subnav-wrap.is-event .event-nav-more {
    display: none !important;
  }
  /* Au-dessus des sticky (pin-cluster 28, subnav 55, toolbars 50–80, tabbar 50).
     WebKit peut aussi peindre sticky/backdrop-filter au-dessus du top-layer dialog. */
  dialog.modal.event-more-sheet[open],
  dialog.modal.event-more-sheet:modal {
    position: fixed;
    inset: auto 1rem calc(4.5rem + env(safe-area-inset-bottom, 0px)) 1rem;
    width: auto;
    max-width: none;
    margin: 0;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    background: var(--card);
    box-shadow: var(--shadow-pop);
    max-height: min(
      65dvh,
      calc(100dvh - 5.5rem - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px))
    );
    animation: event-more-sheet-in 0.2s ease forwards;
  }
  dialog.modal.event-more-sheet::backdrop {
    background: rgba(28, 22, 18, 0.52);
  }
  body.event-more-sheet-open .topbar,
  body.event-more-sheet-open .subnav-wrap,
  body.event-more-sheet-open .treasury-pin-cluster,
  body.event-more-sheet-open .treasury-filters,
  body.event-more-sheet-open .treasury-filter-tool,
  body.event-more-sheet-open .treasury-io-panel,
  body.event-more-sheet-open .treasury-pin-head,
  body.event-more-sheet-open .gantt-pin-cluster,
  body.event-more-sheet-open .timeline-head,
  body.event-more-sheet-open .timeline-toolbar-actions,
  body.event-more-sheet-open .event-tabbar,
  body:has(dialog.modal.event-more-sheet[open]) .topbar,
  body:has(dialog.modal.event-more-sheet[open]) .subnav-wrap,
  body:has(dialog.modal.event-more-sheet[open]) .treasury-pin-cluster,
  body:has(dialog.modal.event-more-sheet[open]) .treasury-filters,
  body:has(dialog.modal.event-more-sheet[open]) .treasury-filter-tool,
  body:has(dialog.modal.event-more-sheet[open]) .treasury-io-panel,
  body:has(dialog.modal.event-more-sheet[open]) .treasury-pin-head,
  body:has(dialog.modal.event-more-sheet[open]) .gantt-pin-cluster,
  body:has(dialog.modal.event-more-sheet[open]) .timeline-head,
  body:has(dialog.modal.event-more-sheet[open]) .timeline-toolbar-actions,
  body:has(dialog.modal.event-more-sheet[open]) .event-tabbar {
    z-index: 0 !important;
  }
  @keyframes event-more-sheet-in {
    from {
      opacity: 0;
      transform: translateY(0.75rem);
    }
    to {
      opacity: 1;
      transform: translateY(0);
    }
  }
}

@media (min-width: 900px) {
  dialog.modal.event-more-sheet {
    display: none !important;
  }
}

@media (min-width: 861px) {
  .budget-mobile-cards {
    display: none !important;
  }
  .budget-desktop-table,
  .treasury-table-poste-wrap {
    display: block !important;
  }
}

@media (max-width: 860px) {
  .treasury-table-poste-wrap,
  .budget-desktop-table {
    display: none !important;
  }
  .budget-mobile-cards {
    display: block;
  }
}

@media (prefers-reduced-motion: reduce) {
  .persona-card-portrait:hover {
    transform: none;
  }
}
