:root {
  color-scheme: light;
  font-family: Arial, Helvetica, sans-serif;
  background: #f5f7fa;
  color: #17324d;
}

* { box-sizing: border-box; }
html, body, .waycore-root { width: 100%; height: 100%; margin: 0; }
body { overflow: hidden; }

.waycore-root { padding: 0; }
.waycore-shell { width: 100%; height: 100%; }
.waycore-module-host { width: 100%; height: 100%; overflow: hidden; background: #ffffff; }
.waycore-module-screen-host { width: 100%; height: 100%; min-width: 0; min-height: 0; }
.waycore-status-bar,
.waycore-status-bar > .web-panel__outer,
.waycore-status-bar .web-panel__body,
.waycore-status-bar .web-panel__body-panel {
  background: #EAF3FF;
}
.waycore-module-host--empty { display: grid; place-items: center; }
.waycore-empty-state { width: 100%; height: 100%; background: #ffffff; }

.waycore-menu-card {
  cursor: pointer;
}

.waycore-menu-card:focus {
  outline: none;
}

.waycore-menu-card:is(.is-selected, :focus, :focus-visible, :focus-within) > .web-grid-panel__outer {
  border-color: #215c98;
}

.waycore-menu-card:is(.is-selected, :focus, :focus-visible, :focus-within) .web-grid-panel__cell-panel {
  background: #f0f6ff;
}

.waycore-menu-card__name,
.waycore-menu-card__group,
.waycore-menu-card__price,
.waycore-menu-card__status {
  min-width: 0;
  min-height: 0;
  width: 100%;
  height: 100%;
  display: grid;
  align-items: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #002b5c;
  font-size: 13px;
  line-height: 1.2;
  box-sizing: border-box;
}

.waycore-menu-card__name {
  font-weight: 700;
}

.waycore-menu-card__group {
  color: #49647a;
  font-weight: 400;
}

.waycore-menu-card__price {
  justify-items: end;
  color: #215c98;
  font-weight: 700;
}

.waycore-menu-card__status {
  justify-items: end;
  color: #64748b;
  font-size: 12px;
  font-weight: 700;
}

.waycore-menu-list > .web-grid-panel__outer {
  overflow-y: auto;
  overflow-x: hidden;
}

.waycore-outline-languages > .web-grid-panel__outer,
.waycore-outline-sections > .web-grid-panel__outer {
  overflow-y: auto;
  overflow-x: hidden;
}

.waycore-outline-languages,
.waycore-outline-languages > .web-grid-panel__outer,
.waycore-outline-languages > .web-grid-panel__outer > .web-grid-panel__grid,
.waycore-outline-sections,
.waycore-outline-sections > .web-grid-panel__outer,
.waycore-outline-sections > .web-grid-panel__outer > .web-grid-panel__grid,
.waycore-outline-section,
.waycore-outline-section > .web-grid-panel__outer,
.waycore-outline-section > .web-grid-panel__outer > .web-grid-panel__grid,
.waycore-outline-language-panel,
.waycore-outline-language-panel > .web-panel__outer,
.waycore-outline-language-panel > .web-panel__outer > .web-panel__grid {
  height: auto;
  min-height: 0;
}

.waycore-outline-languages > .web-grid-panel__outer > .web-grid-panel__grid,
.waycore-outline-sections > .web-grid-panel__outer > .web-grid-panel__grid,
.waycore-outline-section > .web-grid-panel__outer > .web-grid-panel__grid {
  align-content: start;
}

.waycore-outline-languages .web-grid-panel__cell-slot,
.waycore-outline-sections .web-grid-panel__cell-slot,
.waycore-outline-section .web-grid-panel__cell-panel {
  height: auto;
}

.waycore-language-flag-cell {
  display: grid;
  align-items: center;
  min-width: 0;
}

.waycore-translate-action {
  width: 100%;
  height: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px;
}

.waycore-translate-target {
  width: 100%;
  height: 28px;
  min-width: 0;
}

.waycore-translate-button {
  height: 28px;
  border: 1px solid #A6C9EC;
  background: #FFFFFF;
  color: #215C98;
  font-size: 13px;
  font-weight: 700;
  padding: 0 10px;
  cursor: pointer;
}

.waycore-translate-button:focus,
.waycore-translate-button:hover {
  border-color: #215C98;
  outline: none;
}

.waycore-translate-button:disabled {
  color: #94A3B8;
  cursor: default;
}

.waycore-translate-status {
  min-width: 58px;
  color: #49647a;
  font-size: 12px;
  line-height: 1.2;
  white-space: nowrap;
}

.waycore-outline-section-title,
.waycore-outline-item {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  border: 1px solid transparent;
  background: transparent;
  color: #002b5c;
  font: inherit;
  font-size: 13px;
  line-height: 1.2;
  box-sizing: border-box;
  cursor: pointer;
}

.waycore-outline-section-title {
  display: grid;
  align-items: center;
  justify-items: start;
  padding: 0 8px;
  font-weight: 700;
  text-align: left;
}

.waycore-outline-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 6px;
  padding: 2px 12px;
  text-align: left;
  font-size: 12px;
}

.waycore-outline-section-title:hover,
.waycore-outline-section-title:focus,
.waycore-outline-item:hover,
.waycore-outline-item:focus {
  border-color: #A6C9EC;
  background: rgba(238, 246, 255, 0.7);
  outline: none;
}

.waycore-outline-section-title--selected,
.waycore-outline-item--selected {
  border-color: #A6C9EC;
  background: #EEF6FF;
}

.waycore-outline-item__label {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.waycore-outline-item__quantity {
  color: #002b5c;
  white-space: nowrap;
}

.waycore-pdf-preview {
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  display: grid;
  place-items: center;
  padding: 0;
  box-sizing: border-box;
}

.pdf-page {
  width: auto;
  max-width: 100%;
  height: 100%;
  max-height: 100%;
  aspect-ratio: 210 / 297;
  display: grid;
  padding: 0;
  background: #FFFFFF;
  border: 1px solid #A6C9EC;
  box-shadow: none;
  color: #1F2937;
  box-sizing: border-box;
}

.pdf-master {
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  padding: 15mm 20mm;
  box-sizing: border-box;
}

.pdf-master__header {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 25.2mm) minmax(0, 1fr);
  align-items: end;
  gap: 8mm;
  padding-bottom: 6mm;
  border-bottom: 1.25pt solid #000;
}

.pdf-master__logo {
  width: 25.2mm;
  height: auto;
  display: block;
}

.pdf-master__title {
  margin: 0 0 1.5mm;
  color: #000;
  font-size: clamp(20px, 2.15vw, 30px);
  line-height: 1;
  text-align: right;
}

.pdf-master__content {
  min-width: 0;
  min-height: 0;
  display: grid;
  align-content: start;
  gap: 6px;
  margin: 15mm 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
  overflow: hidden;
}

.pdf-menu-head {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  margin-bottom: 18px;
}

.pdf-menu-head h4 {
  margin: 0;
  color: #1E3A5F;
  font-size: 21px;
  line-height: 1.1;
  text-align: left;
}

.pdf-price {
  color: #1E3A5F;
  font-size: 21px;
  line-height: 1.1;
  font-weight: 800;
  text-align: right;
  white-space: nowrap;
}

.pdf-page p {
  margin: 0;
  color: #64748B;
  font-size: 12px;
  text-align: left;
}

.pdf-section {
  display: grid;
  gap: 2px;
  padding-top: 4px;
}

.pdf-section h4 {
  margin: 0;
  color: #1E3A5F;
  font-size: 14px;
  line-height: 1.15;
  text-align: left;
  text-transform: uppercase;
}

.pdf-section ul {
  margin: 0;
  padding-left: 24px;
  color: #1F2937;
  font-size: 12px;
  line-height: 1.32;
}

.pdf-master__footer {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, auto);
  gap: 10mm;
  padding-top: 7mm;
  border-top: 1.25pt solid #000;
  color: #000;
  font-size: 11px;
}

.pdf-master__footer-left,
.pdf-master__footer-right {
  min-width: 0;
  display: grid;
  gap: 3px;
  align-content: start;
}

.pdf-master__footer-left strong {
  font-weight: 800;
}

.pdf-master__footer-right {
  justify-items: end;
}

.pdf-master__footer-right span {
  display: inline-grid;
  grid-template-columns: 14px auto;
  align-items: center;
  gap: 7px;
  white-space: nowrap;
}

.pdf-master__footer-right img {
  width: 13px;
  height: 13px;
}

@media print {
  body * {
    visibility: hidden;
  }

  .pdf-page,
  .pdf-page * {
    visibility: visible;
  }

  .pdf-page {
    position: fixed;
    inset: 0;
    width: 210mm;
    height: 297mm;
    max-width: none;
    max-height: none;
    border: 0;
  }
}
