.lbc-menu-app,
.lbc-location-picker,
.lbc-weekly-menu,
.lbc-standard-menu,
.lbc-kitchen-dashboard,
.lbc-order-status {
  color: #111;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Inter, system-ui, sans-serif;
}

.lbc-section-head {
  margin: 0 0 14px;
}

.lbc-section-head h2 {
  font-size: 20px;
  line-height: 1.2;
  margin: 0 0 4px;
}

.lbc-section-head p {
  color: #666;
  font-size: 13px;
  margin: 0;
}

.lbc-location-bar {
  align-items: center;
  border-bottom: 1px solid #e8e8e8;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 18px;
  padding: 12px 0;
}

.lbc-location-bar span,
.lbc-card-day,
.lbc-muted {
  color: #767676;
  font-size: 11px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.lbc-location-list {
  display: grid;
  gap: 10px;
}

.lbc-location-card {
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 8px;
  cursor: pointer;
  display: grid;
  gap: 3px;
  padding: 14px;
  text-align: left;
  width: 100%;
}

.lbc-location-card.is-selected {
  border-color: #111;
  box-shadow: inset 0 0 0 1px #111;
}

.lbc-location-card.is-nearby::after {
  color: #111;
  content: "Nearby";
  font-size: 11px;
  font-weight: 700;
}

.lbc-location-name,
.lbc-product-row h3,
.lbc-weekly-card h3 {
  font-size: 15px;
  font-weight: 700;
}

.lbc-location-address,
.lbc-location-distance,
.lbc-location-hours,
.lbc-product-row p,
.lbc-weekly-card p,
.lbc-kitchen-items {
  color: #666;
  font-size: 13px;
}

.lbc-location-hours {
  border-radius: 999px;
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  margin-top: 5px;
  padding: 4px 8px;
  width: fit-content;
}

.lbc-location-hours.is-open {
  background: #eef7f1;
  color: #236247;
}

.lbc-location-hours.is-closed {
  background: #fbedea;
  color: #9f2f1d;
}

.lbc-weekly-card,
.lbc-kitchen-order {
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  margin-bottom: 10px;
  padding: 14px;
}

.lbc-history-order {
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  margin-bottom: 10px;
  padding: 14px;
}

.lbc-weekly-card.is-today {
  border-color: #111;
}

.lbc-card-row,
.lbc-kitchen-order-head,
.lbc-history-head,
.lbc-history-actions,
.lbc-kitchen-actions {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: space-between;
}

.lbc-button {
  background: #111;
  border: 1px solid #111;
  border-radius: 6px;
  color: #fff;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  padding: 9px 12px;
  text-decoration: none;
}

.lbc-button-secondary {
  background: #fff;
  color: #111;
}

.lbc-button-danger {
  background: #9f2f1d;
  border-color: #9f2f1d;
}

.lbc-product-row {
  align-items: center;
  border-bottom: 1px solid #eee;
  display: grid;
  gap: 12px;
  grid-template-columns: 64px 1fr 36px;
  padding: 12px 0;
}

.lbc-product-image img {
  aspect-ratio: 1;
  border-radius: 8px;
  height: 64px;
  object-fit: cover;
  width: 64px;
}

.lbc-product-body h3,
.lbc-product-body p {
  margin: 0 0 4px;
}

.lbc-add-round {
  align-items: center;
  border: 1px solid #111;
  border-radius: 50%;
  color: #111;
  display: inline-flex;
  font-size: 22px;
  font-weight: 700;
  height: 34px;
  justify-content: center;
  line-height: 1;
  text-decoration: none;
  width: 34px;
}

.lbc-favorite-button {
  align-items: center;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 50%;
  color: #999;
  cursor: pointer;
  display: inline-flex;
  font-size: 18px;
  height: 34px;
  justify-content: center;
  line-height: 1;
  width: 34px;
}

.lbc-favorite-button.is-favorite {
  background: #fbedea;
  border-color: #c4452d;
  color: #c4452d;
}

.lbc-favorite-button:disabled {
  cursor: progress;
  opacity: 0.55;
}

.lbc-notice,
.lbc-empty,
.lbc-location-status {
  background: #f7f7f7;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  color: #555;
  font-size: 13px;
  margin: 10px 0;
  padding: 12px;
}

.lbc-employee-gate {
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  padding: 18px;
}

.lbc-employee-gate h2 {
  font-size: 20px;
  margin: 0 0 6px;
}

.lbc-employee-gate p {
  color: #666;
  margin: 0 0 12px;
}

.lbc-status-hero {
  background: #f2f2f2;
  border-radius: 8px;
  margin-bottom: 16px;
  padding: 24px 16px;
  text-align: center;
}

.lbc-status-hero span {
  background: #111;
  border-radius: 999px;
  color: #fff;
  display: inline-block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 5px 10px;
  text-transform: uppercase;
}

.lbc-status-hero h2 {
  font-size: 22px;
  margin: 12px 0 0;
}

.lbc-status-timeline {
  display: grid;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.lbc-status-timeline li {
  border-left: 3px solid #ddd;
  padding: 4px 0 4px 12px;
}

.lbc-status-timeline li.is-active {
  border-color: #111;
  font-weight: 700;
}

.lbc-kitchen-actions {
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 12px;
}

.lbc-kitchen-actions form {
  margin: 0;
}

.lbc-history-head small {
  color: #666;
  display: block;
  font-size: 12px;
  font-weight: 500;
  margin-top: 2px;
}

.lbc-history-head span {
  background: #f6f6f6;
  border-radius: 999px;
  color: #444;
  font-size: 11px;
  font-weight: 700;
  padding: 5px 8px;
}

.lbc-history-meta,
.lbc-history-summary {
  color: #666;
  font-size: 13px;
  margin: 8px 0 0;
}

.lbc-history-actions {
  justify-content: flex-start;
  margin-top: 12px;
}

.lbc-kitchen-toolbar {
  align-items: center;
  display: flex;
  gap: 12px;
  justify-content: space-between;
}

.lbc-kitchen-order-head small {
  color: #666;
  display: block;
  font-size: 12px;
  font-weight: 500;
  margin-top: 2px;
}

.lbc-kitchen-meta {
  color: #666;
  display: flex;
  flex-wrap: wrap;
  font-size: 12px;
  gap: 8px;
  margin: 8px 0 12px;
}

.lbc-kitchen-meta span {
  background: #f6f6f6;
  border-radius: 999px;
  padding: 4px 8px;
}

.lbc-kitchen-item {
  border-top: 1px solid #eee;
  padding: 8px 0;
}

.lbc-kitchen-item small {
  color: #666;
  display: block;
  font-size: 12px;
  margin-top: 2px;
}

.lbc-kitchen-note {
  background: #fff8d6;
  border: 1px solid #e7d896;
  border-radius: 8px;
  margin-top: 10px;
  padding: 10px;
}

.lbc-kitchen-note p {
  margin: 4px 0 0;
}

@media print {
  body.lbc-printing-ticket * {
    visibility: hidden !important;
  }

  body.lbc-printing-ticket .lbc-print-target,
  body.lbc-printing-ticket .lbc-print-target * {
    visibility: visible !important;
  }

  body.lbc-printing-ticket .lbc-print-target {
    border: 0;
    box-shadow: none;
    left: 0;
    margin: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }

  body.lbc-printing-ticket .lbc-kitchen-actions {
    display: none;
  }
}

@media (min-width: 720px) {
  .lbc-location-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
