/*
 * EOS 0.21.64 – authoritative event-record layout
 *
 * This file is deliberately loaded after the historical stylesheets. It owns
 * spacing, radii and the major event-record grids; feature styles stay in
 * app.css. Keeping this layer separate prevents local feature rules from
 * silently changing the page rhythm again.
 */
:root{
  --event-space:18px;
  --event-radius:18px;
}

/* Sidebar and health check form one dependable desktop column. */
@media(min-width:761px){
  .sidebar-stack{
    position:fixed;
    z-index:20;
    inset:18px auto 18px 18px;
    width:230px;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    gap:var(--event-space);
    min-height:0;
  }
  .sidebar-stack>.sidebar{
    position:static;
    inset:auto;
    width:100%;
    height:100%;
    min-height:0;
    overflow:auto;
    border-radius:var(--event-radius);
  }
  .sidebar-stack>.sidebar-extension{
    position:static;
    width:100%;
  }
  .sidebar-stack .sidebar-ai-health{
    width:100%;
    margin:0;
    padding:0;
    border-radius:var(--event-radius);
    background:transparent;
    box-shadow:none;
  }
  .sidebar-stack .sidebar-ai-health button{
    width:100%;
    min-height:72px;
    border-radius:var(--event-radius);
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
  }
  .app-shell.has-sidebar-extension .sidebar{bottom:auto}
}

/* Only the event record receives the following authoritative geometry. */
body.events-page .content{
  --event-gap:var(--event-space);
  --event-box-radius:var(--event-radius);
}
body.events-page .content :is(.panel,.event-collapsible,.appointment-management){
  border-radius:var(--event-box-radius);
}

/* Every top-level section after the title participates in one 18px stack. */
body.events-page .content>.event-title{
  margin-bottom:0;
}
body.events-page .content>.event-title~:is(
  .panel,.event-facts,.event-layout,.event-operation-order,.event-collapsible,
  .data-warning,.inquiry-archive-decision,.appointment-management
){
  margin-block:var(--event-gap) 0!important;
}

/* Contact data and archive share a baseline. The archive remains scrollable. */
body.events-page .event-layout{
  gap:var(--event-gap)!important;
  align-items:stretch;
  grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);
}
body.events-page .event-layout>.event-detail{
  height:100%;
  align-self:stretch;
  min-width:0;
}
body.events-page .event-layout>#event-side-column{
  height:100%;
  min-height:0;
  min-width:0;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  align-content:stretch;
  gap:var(--event-gap)!important;
}
body.events-page .event-layout>#event-side-column>.compact-document-vault{
  height:100%;
  min-height:0;
  max-height:none;
  margin:0!important;
  overflow:auto;
  align-self:stretch;
}
body.events-page .event-layout>#event-side-column>.compact-document-vault.is-expanded{
  height:auto;
  overflow:visible;
}

/* The operational area is one stack; optional states are real grid rows. */
body.events-page .event-operation-order{
  display:grid!important;
  gap:var(--event-gap)!important;
}
body.events-page .event-operation-order>:is(
  .panel,.preparation-grid,.event-memory-layout,.event-collapsible,
  .communication-digest-standalone
){
  margin:0!important;
}
body.events-page .event-operation-order>.preparation-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:var(--event-gap)!important;
  align-items:stretch!important;
  margin:0!important;
}
body.events-page .preparation-grid>:is(
  .panel,.preparation-known-state,.preparation-known-state-confirmed
){
  margin:0!important;
}
body.events-page .preparation-grid>.preparation-known-state,
body.events-page .preparation-grid>.preparation-known-state-confirmed{
  grid-column:1/-1!important;
}
body.events-page .preparation-grid>#kuechenvorbereitung,
body.events-page .preparation-grid>#servicevorbereitung{
  margin:0!important;
  height:100%;
  align-self:stretch;
}
body.events-page .preparation-known-state{
  border-radius:var(--event-box-radius)!important;
}

/* Digest, chronology and mail log no longer bring inherited outer margins. */
body.events-page .event-memory-layout,
body.events-page .full-width-event-memory,
body.events-page .full-width-event-memory>.communication-panel,
body.events-page .communication-digest-standalone,
body.events-page .event-operation-order .event-collapsible{
  margin:0!important;
}
body.events-page .event-memory-layout{
  display:grid;
  gap:var(--event-gap)!important;
}
body.events-page .event-collapsible{
  overflow:hidden;
}

@media(max-width:1100px){
  body.events-page .event-layout>#event-side-column>.compact-document-vault{
    height:auto;
    max-height:min(520px,calc(100vh - 120px));
    align-self:start;
  }
}
@media(max-width:900px){
  body.events-page .event-operation-order>.preparation-grid{
    grid-template-columns:1fr!important;
  }
  body.events-page .preparation-grid>#kuechenvorbereitung,
  body.events-page .preparation-grid>#servicevorbereitung{
    grid-column:1!important;
  }
}
@media(max-width:760px){
  .sidebar-stack{display:contents}
  body.events-page .event-layout>#event-side-column>.compact-document-vault{
    max-height:min(520px,calc(100vh - 120px));
  }
}

/* EOS 0.21.65 – three narrowly scoped closing corrections. */

/* The preparation grid is moved to top level after page load and therefore
 * needs to participate in the same stack as the surrounding panels. */
body.events-page .content>.event-title~.preparation-grid{
  margin-block:var(--event-gap) 0!important;
}

/* This variant contains only the digest/chronology column; the document vault
 * is moved into the side column. It must never inherit the former two-column
 * document layout. */
body.events-page .event-memory-layout.full-width-event-memory{
  display:block!important;
}
body.events-page .event-memory-layout.full-width-event-memory>.communication-panel{
  width:100%;
  margin:0!important;
}

/* A long archive may scroll inside its own compact viewport, but it must not
 * determine the height of the contact-data column. */
body.events-page .event-layout{
  align-items:stretch;
}
body.events-page .event-layout>.event-detail{
  height:100%;
  align-self:stretch;
}
body.events-page .event-layout>#event-side-column{
  height:100%;
  min-height:0;
  grid-template-rows:auto minmax(0,1fr) auto;
  align-content:stretch;
}

/* EOS 0.21.74 – phase-aware event record. */
body.events-page .event-layout>#event-side-column>.booking-summary-panel{
  display:grid;
  grid-template-columns:1fr;
  align-content:start;
  gap:10px;
  margin:0!important;
  padding:18px;
  min-width:0;
  border-radius:var(--event-box-radius)!important;
}
body.events-page .event-layout>#event-side-column>.booking-summary-panel h3,
body.events-page .event-layout>#event-side-column>.booking-summary-panel p{
  margin:0;
  min-width:0;
  overflow-wrap:anywhere;
}
body.events-page .event-layout>#event-side-column>.booking-summary-panel .button{
  width:100%;
  box-sizing:border-box;
  white-space:normal;
  text-align:center;
  overflow-wrap:anywhere;
}
body.events-page .event-layout>#event-side-column>.booking-summary-attention{
  border-color:#ddc081;
  background:#fff8e8;
}
body.events-page .event-layout>#event-side-column>.booking-summary-complete{
  border-color:#c7d8c6;
  background:#f1f6ef;
}
body.events-page .production-preparation-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:var(--event-gap)!important;
  align-items:start!important;
}
body.events-page .production-preparation-card{
  box-sizing:border-box;
  min-width:0;
  margin:0!important;
  border:1px solid var(--line);
  border-radius:var(--event-box-radius);
  background:#fff;
  overflow:hidden;
}
body.events-page details.production-preparation-card>summary,
body.events-page .bakery-preparation-card>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:76px;
  box-sizing:border-box;
  padding:18px;
  list-style:none;
  cursor:pointer;
}
body.events-page details.production-preparation-card>summary::-webkit-details-marker{display:none}
body.events-page .production-preparation-card :is(summary,header)>span{display:grid;gap:5px;min-width:0}
body.events-page .production-preparation-card :is(summary,header)>span>small{
  color:#788981;
  font-size:11px;
  font-weight:850;
  letter-spacing:.11em;
  text-transform:uppercase;
}
body.events-page .production-preparation-card :is(summary,header)>span>strong{font-size:20px}
body.events-page .production-preparation-card>section{
  margin:0!important;
  border:0;
  border-top:1px solid var(--line);
  border-radius:0!important;
  box-shadow:none;
}
body.events-page .production-preparation-card>section>.panel-header{display:none}
body.events-page .bakery-preparation-card[open]{padding-bottom:18px}
body.events-page .bakery-preparation-card>p,
body.events-page .bakery-preparation-card>.button{margin:0 18px}
body.events-page .bakery-preparation-card>.button{margin-top:12px}
body.events-page .bakery-preparation-card.is-inactive{
  color:#738079;
  background:#eceeea;
}
body.events-page .preparation-known-state-confirmed{
  box-sizing:border-box;
  width:100%;
  padding:14px 18px;
  border-radius:var(--event-box-radius);
  background:#edf4ea;
}
.digest-header-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:10px;
}
.reviewed-changes-dialog{
  width:min(860px,calc(100vw - 36px));
  max-height:min(760px,calc(100vh - 36px));
  padding:0;
  border:0;
  border-radius:var(--event-box-radius);
  background:#fff;
  color:var(--ink);
  box-shadow:0 28px 80px rgba(26,43,35,.3);
}
.reviewed-changes-dialog::backdrop{background:rgba(31,47,39,.52);backdrop-filter:blur(3px)}
.reviewed-changes-shell{position:relative;padding:28px;overflow:auto}
.reviewed-changes-shell>header{padding-right:44px}
.reviewed-changes-shell>header h2{margin:0 0 8px;font:32px/1.1 Georgia,serif}
.reviewed-changes-shell>header p:last-child{max-width:680px;color:var(--muted)}
.reviewed-changes-dialog .dialog-close{position:absolute;top:18px;right:18px}
.reviewed-changes-list{display:grid;gap:10px;margin-top:22px}
.reviewed-changes-list article{display:grid;gap:9px;padding:15px;border:1px solid var(--line);border-radius:13px;background:#faf9f5}
.reviewed-changes-list article>div{display:flex;justify-content:space-between;gap:14px;align-items:center}
.reviewed-changes-list article>div span{padding:5px 8px;border-radius:20px;background:#ecebe8;color:#66746d;font-size:10px;font-weight:850}
.reviewed-changes-list article.status-applied>div span{background:#e6efdf;color:#56713d}
.reviewed-changes-list article p{display:flex;flex-wrap:wrap;gap:9px;align-items:center;margin:0}
.reviewed-changes-list article del{color:#8f8179}.reviewed-changes-list article ins{text-decoration:none;color:#345c46;font-weight:850}
.reviewed-changes-list article small{color:var(--muted)}
@media(max-width:1100px){
  body.events-page .event-layout{grid-template-columns:1fr}
  body.events-page .production-preparation-grid{grid-template-columns:1fr!important}
}
@media(max-width:700px){.digest-header-actions{justify-content:flex-start}.reviewed-changes-shell{padding:20px}.reviewed-changes-list article>div{align-items:flex-start;flex-direction:column}}
body.events-page .event-layout>#event-side-column>.compact-document-vault{
  height:auto;
  min-height:0;
  max-height:min(340px,calc(100vh - 210px));
  overflow:auto;
  align-self:start;
}
body.events-page .event-layout>#event-side-column>.compact-document-vault.is-expanded{
  max-height:none;
  overflow:visible;
}
.event-chat-dialog{width:min(680px,calc(100vw - 28px));max-height:min(820px,calc(100vh - 28px));padding:0;border:0;border-radius:24px;background:#f4f1e9;color:var(--ink);box-shadow:0 28px 80px rgba(25,42,34,.28)}.event-chat-dialog::backdrop{background:rgba(25,42,34,.48);backdrop-filter:blur(3px)}.event-chat-shell{display:grid;grid-template-rows:auto minmax(180px,1fr) auto;max-height:min(820px,calc(100vh - 28px))}.event-chat-shell>header{display:flex;justify-content:space-between;align-items:flex-start;padding:24px 26px 18px;background:#fff;border-bottom:1px solid var(--line)}.event-chat-shell h2,.event-chat-shell h3{margin:2px 0 4px}.event-chat-thread{display:flex;flex-direction:column;gap:12px;overflow:auto;padding:24px}.event-chat-thread article{align-self:flex-start;max-width:82%;padding:12px 15px;border-radius:5px 18px 18px 18px;background:#fff;box-shadow:0 4px 18px rgba(35,48,42,.06)}.event-chat-thread article.team{align-self:flex-end;border-radius:18px 5px 18px 18px;background:#334f43;color:#fff}.event-chat-thread article small{display:block;margin-bottom:5px;font-size:10px;opacity:.7}.event-chat-thread article p{margin:0;line-height:1.5}.event-chat-empty{margin:auto;color:var(--muted);text-align:center}.event-chat-shell>form{display:grid;grid-template-columns:1fr auto;align-items:end;gap:12px;padding:18px 24px 22px;background:#fff;border-top:1px solid var(--line)}.event-chat-shell>form label{margin:0}.event-chat-shell>form textarea{min-height:76px;resize:vertical}.event-chat-open{white-space:nowrap}@media(max-width:700px){.event-chat-thread article{max-width:92%}.event-chat-shell>form{grid-template-columns:1fr}.event-chat-shell>form .button{width:100%}}

/* EOS 0.21.82 – ruhiger Aktenkopf und durchgängige Spaltenkanten. */
body.events-page .event-title{align-items:center}
body.events-page .event-title-actions{display:grid;grid-template-columns:repeat(2,minmax(145px,1fr));width:min(360px,100%);gap:8px}
body.events-page .event-title-actions>.badge{grid-column:1/-1;justify-self:end}
body.events-page .event-title-actions>.title-message-button,
body.events-page .event-title-actions>.planning-close-title-button{width:100%;min-width:0}
body.events-page .event-title-actions>.title-merge-button{grid-column:1/-1;justify-self:end;background:transparent!important;padding-block:4px;min-height:0}
body.events-page .event-layout{align-items:start}
body.events-page .event-layout>.event-detail,
body.events-page .event-layout>#event-side-column,
body.events-page .event-layout>#event-side-column>*{width:100%;box-sizing:border-box;margin-top:0!important}
body.events-page .event-detail-header{align-items:center;gap:18px;margin-bottom:14px}
body.events-page .event-detail-edit-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
body.events-page .event-detail-edit-actions>details{margin:0;position:relative}
body.events-page .event-detail-edit-actions>details>summary.button{background:#dfeadc!important;color:var(--forest)!important;white-space:nowrap}
body.events-page .event-detail-edit-actions .event-personal-editor>form{position:absolute;z-index:9;right:0;top:48px;width:min(720px,80vw);margin:0;box-shadow:0 18px 50px rgba(36,48,43,.18)}
body.events-page .contact-event-details{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:18px 0}
body.events-page .event-data-link{display:inline-block;margin:8px 2px 0;color:var(--muted);font-size:10px;text-decoration:underline}
@media(max-width:900px){body.events-page .event-detail-header{align-items:flex-start;flex-direction:column}body.events-page .event-detail-edit-actions{width:100%;justify-content:flex-start;flex-wrap:wrap}body.events-page .contact-event-details{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){body.events-page .event-title-actions{width:100%;grid-template-columns:1fr}body.events-page .event-title-actions>.badge,body.events-page .event-title-actions>.title-merge-button{grid-column:1}body.events-page .event-title-actions>.badge{justify-self:start}body.events-page .event-detail-edit-actions{display:grid;grid-template-columns:1fr;width:100%}body.events-page .event-detail-edit-actions>details>summary.button{width:100%;justify-content:center}body.events-page .event-detail-edit-actions .event-personal-editor>form{position:fixed;left:12px;right:12px;top:90px;width:auto;max-height:calc(100vh - 110px);overflow:auto}body.events-page .contact-event-details{grid-template-columns:1fr}}

/* EOS 0.21.83 – drei Kopfelemente in einer Reihe und gemeinsame Rasterlinie. */
@media(min-width:901px){
  body.events-page .event-title-actions{display:flex;width:auto;align-items:center;flex-wrap:nowrap}
  body.events-page .event-title-actions>.badge{grid-column:auto;justify-self:auto;order:1}
  body.events-page .event-title-actions>.title-message-button{order:2;min-width:176px}
  body.events-page .event-title-actions>.planning-close-title-button{order:3;min-width:176px}
  body.events-page .event-title-actions>.title-merge-button{order:4;min-width:0}
  body.events-page .event-facts{gap:18px}
  body.events-page .event-layout{grid-template-columns:calc(66.666667% - 6px) minmax(0,1fr);gap:18px}
}

/* EOS 0.21.84 – kompakter Nachrichtenverlauf nach Messenger-Vorbild. */
.event-chat-shell>header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px 12px;padding:18px 22px;background:#fff}
.event-chat-shell>header>strong{font-size:18px;color:var(--ink)}
.event-chat-shell>header>span{min-width:0;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-chat-shell>header>.dialog-close{margin-left:auto}
.event-chat-thread{background:#e3e7e1;min-height:260px}
.event-chat-shell>form{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;padding:12px 16px}
.event-chat-shell>form textarea{box-sizing:border-box;width:100%;min-height:48px;max-height:120px;margin:0;padding:13px 15px;border:1px solid #cbd5ce;border-radius:14px;background:#fff;resize:vertical;font:inherit}
.event-chat-shell>form>.button{min-width:82px;padding-inline:16px;border-radius:14px}
@media(max-width:700px){.event-chat-shell>header{grid-template-columns:1fr auto}.event-chat-shell>header>span{grid-column:1/-1;grid-row:2}.event-chat-shell>header>.dialog-close{grid-column:2;grid-row:1}.event-chat-shell>form{grid-template-columns:minmax(0,1fr) auto}.event-chat-shell>form>.button{width:auto;min-width:72px;padding-inline:12px}}
