/* src/components/generated/LoadMore.css */
.list-load-more {
  padding: 16px;
  width: 100%;
  box-sizing: border-box;
}
.list-load-more button {
  width: 100%;
  padding: 14px 20px;
  border: 1px solid #e2e2e2;
  border-radius: 10px;
  background: #fff;
  color: #263426;
  font: inherit;
  font-weight: 600;
  cursor: pointer;
}
.list-load-more button:hover {
  background: #f5f6f2;
}
.list-load-more button:focus-visible {
  outline: 2px solid #526333;
  outline-offset: 3px;
}
.list-load-more > span {
  display: block;
  text-align: center;
  font-size: 12px;
  color: #81857d;
  margin-top: 8px;
}

/* src/components/generated/AdminPage.css */
.blooom-admin-app {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
  color: #263426;
  font-size: 13px;
}
.blooom-admin-nav {
  position: sticky;
  top: 0;
  height: 100dvh;
  border-right: 1px solid #e3e3e3;
  display: flex;
  flex-direction: column;
  padding: 0 12px 20px;
}
.blooom-admin-brand {
  background: #263426;
  color: white;
  text-decoration: none;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 20px 15px;
  margin: 0 -12px 26px;
  font-size: 28px;
  font-weight: 750;
  flex-wrap: wrap;
}
.blooom-admin-brand img {
  width: 24px;
  height: 24px;
  filter: brightness(0) invert(1);
}
.blooom-admin-brand span {
  font-size: 11px;
  font-weight: 400;
  width: 100%;
  padding-left: 31px;
  color: #dce4d6;
}
.blooom-admin-nav nav {
  display: grid;
  gap: 7px;
}
.blooom-admin-nav nav button {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 0;
  border-radius: 8px;
  background: none;
  color: inherit;
  text-align: left;
}
.blooom-admin-nav nav button[aria-current=page] {
  background: #e9eddf;
  font-weight: 650;
}
.blooom-admin-back {
  margin-top: auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  color: inherit;
  text-decoration: none;
}
.blooom-admin-main {
  padding: 30px 32px 50px;
  min-width: 0;
}
.blooom-admin-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 26px;
}
.blooom-admin-heading h1 {
  font-size: 30px;
  letter-spacing: -1px;
  margin: 7px 0;
}
.blooom-admin-heading small {
  color: #7e8579;
}
.blooom-admin-heading-actions {
  display: flex;
  gap: 10px;
}
.blooom-admin-app button,
.blooom-admin-sheet button {
  cursor: pointer;
}
.blooom-admin-app .primary-button,
.blooom-admin-sheet .primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 0;
  border-radius: 7px;
  padding: 11px 16px;
  background: #526333;
  color: white;
  font-weight: 600;
  font-size: 13px;
}
.blooom-admin-app .bf-secondary,
.blooom-admin-sheet .bf-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #ddd;
  border-radius: 7px;
  padding: 9px 12px;
  background: white;
  color: #263426;
  font-size: 12px;
}
.blooom-admin-app button:disabled,
.blooom-admin-sheet button:disabled {
  opacity: .5;
  cursor: default;
}
.blooom-admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #e2e2e2;
  background: white;
  border-radius: 12px;
  padding: 20px 0;
  margin-bottom: 20px;
}
.blooom-admin-stats article {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  padding: 6px 20px;
  border-right: 1px solid #eee;
}
.blooom-admin-stats article:last-child {
  border: 0;
}
.blooom-admin-stats b {
  display: block;
  font-size: 30px;
  margin-bottom: 8px;
}
.blooom-admin-stats strong {
  font-size: 12px;
}
.blooom-admin-stats img {
  width: 55px;
  height: 60px;
  object-fit: contain;
}
.blooom-admin-overview {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
  align-items: start;
}
.blooom-admin-panel {
  background: white;
  border: 1px solid #e2e2e2;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 1px 2px #00000006;
}
.blooom-admin-panel > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
  border-bottom: 1px solid #eee;
  min-height: 74px;
}
.blooom-admin-panel h2 {
  font-size: 18px;
  margin: 0;
  letter-spacing: -.4px;
}
.blooom-admin-heading-icon {
  width: 38px;
  height: 40px;
  object-fit: contain;
}
.blooom-admin-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 16px 20px;
  border-bottom: 1px solid #eee;
}
.blooom-admin-action-copy {
  display: grid;
  gap: 7px;
  min-width: 0;
  text-align: left;
  color: inherit;
  background: none;
  border: 0;
  padding: 0;
}
.blooom-admin-action-copy span {
  color: #7e8579;
  font-size: 12px;
}
.blooom-admin-overdue {
  color: #a05d35;
}
.blooom-admin-latest {
  border: 0;
  border-bottom: 1px solid #eee;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  gap: 12px;
  background: white;
  width: 100%;
  text-align: left;
  color: inherit;
}
.blooom-admin-latest > span:nth-child(2) {
  flex: 1;
  min-width: 0;
}
.blooom-admin-latest small,
td small {
  display: block;
  color: #7e8579;
  margin-top: 6px;
}
.blooom-admin-avatar {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e9eddf;
  width: 34px;
  height: 34px;
  flex-shrink: 0;
}
.blooom-admin-badge {
  display: inline-block;
  border-radius: 6px;
  background: #eef2e6;
  color: #526333;
  padding: 6px 9px;
  font-size: 11px;
  white-space: nowrap;
}
.blooom-admin-empty {
  padding: 36px 20px;
  text-align: center;
  color: #7e8579;
  display: grid;
  gap: 14px;
  justify-items: center;
}
.blooom-admin-tools {
  display: flex;
  align-items: end;
  gap: 12px;
  padding: 18px 20px;
  flex-wrap: wrap;
  border-bottom: 1px solid #eee;
}
.blooom-admin-search {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 0 10px;
  flex: 1;
  min-width: 200px;
  color: #7e8579;
}
.blooom-admin-search input {
  border: 0;
  width: 100%;
  padding: 11px 0;
  outline: 0;
  font-size: 13px;
}
.blooom-admin-select {
  display: grid;
  gap: 5px;
  font-size: 11px;
}
.blooom-admin-select > span {
  color: #7e8579;
}
.blooom-admin-app select,
.blooom-admin-sheet select,
.blooom-admin-sheet input,
.blooom-admin-sheet textarea {
  font: inherit;
  color: inherit;
  background: white;
  border: 1px solid #ddd;
  border-radius: 7px;
  padding: 10px 32px 10px 10px;
  min-width: 0;
  max-width: 100%;
}
.blooom-admin-app select {
  font-size: 12px;
}
.blooom-admin-table-scroll {
  overflow: auto;
}
.blooom-admin-app table {
  border-collapse: collapse;
}
.blooom-admin-app table {
  width: 100%;
  text-align: left;
  min-width: 850px;
}
.blooom-admin-app th {
  background: #fafafa;
  color: #7e8579;
  font-weight: 500;
  font-size: 10px;
  text-transform: uppercase;
  padding: 12px 16px;
  white-space: nowrap;
}
.blooom-admin-app td {
  padding: 17px 16px;
  border-top: 1px solid #eee;
  font-size: 12px;
  vertical-align: middle;
}
.blooom-admin-text-button {
  background: none;
  border: 0;
  color: #263426;
  font-weight: 600;
  padding: 0;
  text-align: left;
}
.blooom-admin-text-button:hover {
  text-decoration: underline;
}
.blooom-admin-state {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: #263426;
  gap: 12px;
}
.blooom-admin-state a {
  color: #526333;
}
.blooom-admin-error {
  background: #fff1eb;
  color: #9b402b;
  border-radius: 8px;
  padding: 12px;
  display: flex;
  gap: 10px;
  align-items: center;
}
.blooom-admin-sheet {
  position: fixed;
  inset: 0 0 0 auto;
  margin: 0;
  height: 100dvh;
  max-height: 100dvh;
  width: min(620px, 100vw);
  max-width: 100vw;
  border: 0;
  border-left: 1px solid #ddd;
  padding: 0;
  color: #263426;
  background: white;
}
.blooom-admin-sheet::backdrop {
  background: #17201466;
  backdrop-filter: blur(2px);
}
.blooom-admin-sheet > header {
  position: sticky;
  top: 0;
  z-index: 1;
  background: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #eee;
}
.blooom-admin-sheet h2 {
  margin: 0;
  font-size: 22px;
}
.blooom-admin-sheet > header button {
  background: none;
  border: 0;
  color: inherit;
}
.blooom-admin-sheet-body {
  padding: 22px 24px;
  display: grid;
  gap: 16px;
}
.blooom-admin-sheet fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  display: grid;
  gap: 14px;
  min-width: 0;
}
.blooom-admin-sheet label {
  display: grid;
  gap: 7px;
  font-size: 12px;
  min-width: 0;
}
.blooom-admin-sheet input,
.blooom-admin-sheet select,
.blooom-admin-sheet textarea {
  width: 100%;
  font-size: 13px;
}
.blooom-admin-sheet textarea {
  resize: vertical;
}
.blooom-admin-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.blooom-admin-detail-section {
  border-top: 1px solid #eee;
  padding-top: 16px;
  display: grid;
  gap: 12px;
  min-width: 0;
}
.blooom-admin-detail-section h3 {
  font-size: 15px;
  margin: 5px 0;
}
.blooom-admin-detail-section header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.blooom-admin-detail-section form {
  display: grid;
  gap: 10px;
}
.blooom-admin-detail-section .blooom-admin-action {
  padding: 12px 0;
}
.blooom-admin-note {
  background: #fafafa;
  border-radius: 8px;
  padding: 12px;
  overflow-wrap: anywhere;
}
.blooom-admin-note p {
  white-space: pre-wrap;
  font-size: 13px;
  margin: 0 0 8px;
  line-height: 1.6;
}
.blooom-admin-note small {
  font-size: 11px;
  color: #7e8579;
}
.blooom-admin-linked {
  display: grid;
  gap: 8px;
  background: #f2f5eb;
  padding: 14px;
  border-radius: 8px;
  font-size: 12px;
}
.blooom-admin-linked a {
  color: #526333;
}
.blooom-admin-match {
  font-size: 12px;
  background: #faf3e6;
  padding: 12px;
  border-radius: 7px;
}
.blooom-admin-feedback-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  background: white;
  border: 1px solid #eee;
  border-radius: 8px;
  padding: 12px;
  text-align: left;
  color: inherit;
}
@media (max-width: 1200px) {
  .blooom-admin-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 0;
  }
  .blooom-admin-stats article:nth-child(2) {
    border: 0;
  }
  .blooom-admin-overview {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 790px) {
  .blooom-admin-app {
    display: block;
  }
  .blooom-admin-nav {
    position: static;
    height: auto;
    border: 0;
    padding: 0 16px 10px;
  }
  .blooom-admin-brand {
    margin: 0 -16px 10px;
    padding: 14px 16px;
    font-size: 22px;
  }
  .blooom-admin-brand span {
    width: auto;
    margin-left: auto;
    padding: 0;
  }
  .blooom-admin-nav nav {
    display: flex;
    overflow: auto;
  }
  .blooom-admin-nav nav button {
    white-space: nowrap;
    padding: 10px;
    font-size: 12px;
  }
  .blooom-admin-back {
    margin: 6px 0 0;
    padding: 8px;
    font-size: 12px;
  }
  .blooom-admin-main {
    padding: 18px 16px 35px;
  }
  .blooom-admin-heading {
    align-items: start;
    flex-wrap: wrap;
  }
  .blooom-admin-heading h1 {
    font-size: 27px;
  }
  .blooom-admin-heading-actions {
    width: 100%;
  }
  .blooom-admin-stats article {
    padding: 4px 12px;
  }
  .blooom-admin-stats img {
    width: 42px;
    height: 48px;
  }
  .blooom-admin-stats strong {
    font-size: 11px;
  }
  .blooom-admin-stats b {
    font-size: 26px;
  }
  .blooom-admin-latest {
    padding: 14px;
    gap: 8px;
  }
  .blooom-admin-panel > header {
    padding: 15px;
  }
  .blooom-admin-action {
    padding: 14px;
  }
  .blooom-admin-tools {
    padding: 14px;
    gap: 10px;
  }
  .blooom-admin-search {
    flex-basis: 100%;
  }
  .blooom-admin-tools .blooom-admin-select {
    flex: 1;
    min-width: 105px;
  }
  .blooom-admin-sheet-body {
    padding: 18px 16px;
  }
  .blooom-admin-sheet > header {
    padding: 18px 16px;
  }
  .blooom-admin-pair {
    grid-template-columns: 1fr;
  }
  .blooom-admin-overview {
    gap: 16px;
  }
}
.blooom-admin-stat-symbol {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  background: #f0f3e8;
  color: #526333;
  border-radius: 13px;
}

/* src/components/generated/ShoppingPage.css */
.shopping-page {
  color: #263426;
  padding-bottom: 28px;
}
.shopping-page h1 {
  font-size: 32px;
  letter-spacing: -1px;
  margin: 0;
}
.shopping-page h2 {
  font-size: 19px;
  letter-spacing: -.4px;
  margin: 0;
}
.shopping-page h3 {
  font-size: 13px;
  margin: 20px 0 8px;
}
.shopping-page small {
  font-size: 12px;
  color: #82867f;
}
.shopping-page p {
  color: #82867f;
  font-size: 13px;
}
.shopping-page button {
  cursor: pointer;
}
.shopping-page button:disabled {
  cursor: default;
  opacity: .55;
}
.shopping-page input,
.shopping-page select,
.shop-dialog input,
.shop-dialog select {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 10px 12px;
  background: white;
  font: inherit;
  color: #263426;
  box-sizing: border-box;
  min-width: 0;
  font-size: 13px;
}
.shopping-page input:focus-visible,
.shopping-page select:focus-visible,
.shopping-page button:focus-visible,
.shop-dialog :focus-visible {
  outline: 2px solid #526333;
  outline-offset: 2px;
}
.shop-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 24px;
}
.shop-heading h2 {
  margin-top: 10px;
}
.shop-heading p {
  margin: 6px 0 0;
}
.shop-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.shop-tabs {
  display: flex;
  gap: 24px;
  border-bottom: 1px solid #ddd;
  margin-bottom: 20px;
}
.shop-tabs button {
  border: 0;
  background: none;
  padding: 12px 10px;
  color: #777;
  border-bottom: 3px solid transparent;
  font-weight: 600;
}
.shop-tabs button[aria-pressed=true] {
  color: #263426;
  border-color: #526333;
}
.shop-tabs span {
  margin-left: 8px;
  background: #e9eddf;
  padding: 2px 7px;
  border-radius: 8px;
  font-size: 12px;
}
.shop-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: space-between;
  margin-bottom: 20px;
}
.shop-search {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #ddd;
  background: white;
  border-radius: 8px;
  padding: 0 12px;
  max-width: 460px;
  flex: 1;
  min-width: 0;
  color: #81857d;
}
.shop-search input {
  border: 0;
  outline: 0;
  flex: 1;
  width: 100%;
  padding: 12px 0;
}
.shop-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.shop-list-card {
  border: 1px solid #e2e2e2;
  border-radius: 12px;
  padding: 18px;
  background: white;
  font-size: 13px;
}
.shop-list-card header {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.shop-list-card h2 {
  font-size: 17px;
  overflow-wrap: anywhere;
}
.shop-list-card p {
  margin: 7px 0 12px;
}
.shop-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: 0;
  padding: 5px;
  color: #263426;
  flex-shrink: 0;
}
.shop-status {
  display: inline-block;
  font-size: 11px;
  background: #f6f0df;
  border-radius: 20px;
  padding: 6px 11px;
}
.shop-status.is-active {
  background: #e9f0df;
}
.shop-preview {
  display: flex;
  align-items: center;
  justify-content: space-around;
  gap: 10px;
  padding: 12px 8px;
  background: #f8f7f3;
  border-radius: 9px;
  margin: 14px 0 12px;
  height: 82px;
}
.shop-preview img {
  width: 24%;
  height: 70px;
  object-fit: contain;
}
.shop-preview > span {
  border-radius: 50%;
  background: #eeece3;
  min-width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 600;
}
.shop-list-card > small {
  display: block;
  margin: 8px 0 6px;
}
.shopping-page progress {
  appearance: none;
  border: 0;
  border-radius: 20px;
  height: 9px;
  background: #eeeeeb;
  overflow: hidden;
  width: 100%;
}
.shopping-page progress::-webkit-progress-bar {
  background: #eeeeeb;
}
.shopping-page progress::-webkit-progress-value {
  background: #72894e;
  border-radius: 20px;
}
.shopping-page progress::-moz-progress-bar {
  background: #72894e;
  border-radius: 20px;
}
.shop-list-card footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  border-top: 1px solid #eee;
  margin-top: 16px;
  padding-top: 14px;
}
.shop-list-card footer strong,
.shop-list-card footer small {
  display: block;
}
.shop-list-card footer strong {
  margin: 4px 0;
  font-size: 15px;
}
.shop-new-card {
  min-height: 270px;
  border: 1px dashed #d6d9d1;
  background: transparent;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 14px;
  font-size: 17px;
  color: #263426;
  font-weight: 600;
}
.shop-new-card > span {
  background: #526333;
  color: white;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
}
.shop-back {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  border: 0;
  background: none;
  color: #68705f;
  padding: 0;
  margin-bottom: 12px;
  font-size: 13px;
}
.shop-prepare {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, 1fr);
  gap: 20px;
  align-items: start;
}
.shop-catalog,
.shop-selection,
.shop-market-list,
.shop-market-summary {
  padding: 20px;
}
.shop-categories {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 2px 12px;
  margin-bottom: 16px;
}
.shop-categories button {
  border: 1px solid #e8e5df;
  background: #f8f7f3;
  flex: 0 0 92px;
  border-radius: 9px;
  padding: 8px 5px;
  font-size: 11px;
  color: #263426;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.shop-categories button[aria-pressed=true] {
  border-color: #526333;
  box-shadow: inset 0 0 0 1px #526333;
}
.shop-categories img {
  width: 64px;
  height: 58px;
  object-fit: contain;
}
.shop-products {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 9px;
  margin-top: 14px;
}
.shop-product {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #f8f7f3;
  border: 1px solid #eeece6;
  border-radius: 9px;
  padding: 9px;
  min-width: 0;
}
.shop-product.selected {
  border-color: #526333;
}
.shop-product > img {
  width: 100%;
  height: 100px;
  object-fit: contain;
}
.shop-product > strong {
  font-size: 12px;
}
.shop-product-check {
  position: absolute;
  right: 8px;
  top: 8px;
  background: #526333;
  color: white;
  border-radius: 50%;
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
}
.shop-product-add {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: auto;
}
.shop-product-add button {
  border: 0;
  color: white;
  background: #526333;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: grid;
  place-items: center;
}
.shop-stepper {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: white;
  border: 1px solid #ddd;
  border-radius: 6px;
  margin-top: auto;
  overflow: hidden;
}
.shop-stepper button {
  border: 0;
  background: white;
  padding: 7px 5px;
  display: flex;
}
.shop-stepper span {
  font-size: 11px;
  font-weight: 600;
  white-space: nowrap;
}
.shop-selection > header,
.shop-market-summary > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
}
.shop-selection > header img {
  height: 44px;
  width: 42px;
  object-fit: contain;
}
.shop-selection > input {
  width: 100%;
}
.shop-selection-date {
  display: flex;
  justify-content: space-between;
  align-items: end;
  margin-top: 10px;
  gap: 10px;
}
.shop-selection-date label {
  display: grid;
  gap: 4px;
  font-size: 11px;
  color: #82867f;
}
.shop-selected-row {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr) auto 20px;
  gap: 8px;
  align-items: center;
  padding: 16px 0;
  border-top: 1px solid #eee;
}
.shop-item-image {
  display: grid;
  place-items: center;
  color: #81857d;
}
.shop-item-image img {
  width: 100%;
  height: 62px;
  object-fit: contain;
}
.shop-selected-row strong {
  font-size: 12px;
}
.shop-selected-row b {
  font-size: 12px;
  white-space: nowrap;
}
.shop-quantity-input {
  display: flex;
  max-width: 190px;
  margin-top: 7px;
}
.shop-quantity-input input {
  width: 60px;
  border-radius: 7px 0 0 7px;
  padding: 8px;
  flex: 1;
}
.shop-quantity-input select {
  border-radius: 0 7px 7px 0;
  width: 80px;
  padding-left: 6px;
}
.shop-unit-price {
  display: flex;
  margin-top: 7px;
  border: 1px solid #ddd;
  border-radius: 7px;
  max-width: 190px;
  align-items: center;
  overflow: hidden;
}
.shop-unit-price input {
  border: 0;
  padding: 8px;
  width: 65px;
  flex: 1;
}
.shop-unit-price small {
  font-size: 10px;
  padding: 0 6px;
  white-space: nowrap;
}
.shop-budget {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-top: 1px solid #ddd;
  padding: 19px 0;
  font-size: 14px;
}
.shop-budget b {
  font-size: 20px;
}
.shop-wide {
  width: 100%;
  justify-content: center;
  margin-top: 12px;
}
.shop-empty {
  padding: 28px 14px;
  text-align: center;
  color: #81857d;
  font-size: 13px;
}
.shop-progress {
  display: flex;
  align-items: center;
  gap: 24px;
  background: #e9eddf;
  border-radius: 10px;
  padding: 17px 20px;
  margin-bottom: 20px;
  font-size: 13px;
}
.shop-progress progress {
  flex: 1;
  min-width: 50px;
}
.shop-progress strong,
.shop-progress span {
  white-space: nowrap;
}
.shop-market-layout {
  display: grid;
  grid-template-columns: minmax(0, 2.3fr) minmax(270px, 1fr);
  gap: 20px;
  align-items: start;
}
.shop-market-list h2 {
  margin: 15px 0;
  font-size: 18px;
}
.shop-market-row {
  display: grid;
  grid-template-columns: 22px 68px minmax(90px, 1fr) 150px 150px 24px;
  gap: 12px;
  align-items: center;
  padding: 16px 8px;
  border-bottom: 1px solid #eee;
  font-size: 13px;
}
.shop-market-row.is-bought {
  background: #f5f5f3;
  border-radius: 9px;
  margin-bottom: 6px;
}
.shop-market-row.is-bought > strong {
  text-decoration: line-through;
  color: #80847b;
}
.shop-market-row input[type=checkbox] {
  appearance: auto;
  width: 20px;
  height: 20px;
  accent-color: #526333;
  margin: 0;
}
.shop-market-row .shop-quantity-input {
  margin: 0;
}
.shop-money {
  display: grid;
  gap: 6px;
}
.shop-money > span:first-child {
  font-size: 11px;
  color: #82867f;
}
.shop-money-input {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: white;
  overflow: hidden;
}
.shop-money-input input {
  border: 0;
  width: 85px;
  flex: 1;
}
.shop-money-input small {
  padding-right: 7px;
  font-size: 10px;
}
.shop-market-summary header {
  align-items: start;
}
.shop-market-summary header img {
  height: 110px;
  width: 100px;
  object-fit: contain;
}
.shop-market-summary > span,
.shop-market-summary > b,
.shop-market-summary > small {
  display: block;
}
.shop-market-summary > b {
  font-size: 27px;
  margin: 7px 0;
}
.shop-market-summary hr {
  border: 0;
  border-top: 1px solid #eee;
  margin: 22px 0;
}
.shop-market-summary .shop-wide {
  margin-top: 35px;
}
.shop-market-footer {
  position: sticky;
  bottom: 10px;
  z-index: 4;
  margin-top: 16px;
  border: 1px solid #e2e2e2;
  border-radius: 12px;
  background: white;
  padding: 16px 22px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  box-shadow: 0 4px 18px #00000008;
}
.shop-market-footer strong {
  display: block;
  font-size: 24px;
  margin-top: 4px;
}
.shop-mobile-list {
  display: none;
}
.shop-dialog {
  width: min(560px, calc(100vw - 24px));
  max-height: 90dvh;
  border: 1px solid #ddd;
  border-radius: 18px;
  padding: 0;
  color: #263426;
  background: white;
}
.shop-dialog::backdrop {
  background: #17201466;
  backdrop-filter: blur(2px);
}
.shop-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid #eee;
}
.shop-dialog h2 {
  margin: 0;
  font-size: 22px;
}
.shop-dialog header button {
  background: none;
  border: 0;
  padding: 4px;
  color: #263426;
}
.shop-dialog form,
.shop-confirm {
  padding: 20px;
  display: grid;
  gap: 16px;
}
.shop-dialog label {
  display: grid;
  gap: 7px;
  font-size: 13px;
}
.shop-form-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.shop-confirm-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 12px 0;
  border-bottom: 1px solid #eee;
  font-size: 13px;
}
.shop-confirm-row strong {
  white-space: nowrap;
}
.shop-confirm footer {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
}
.shop-confirm p {
  margin: 0;
  font-size: 13px;
}
.shop-confirm details {
  font-size: 13px;
}
.shop-confirm li {
  margin: 6px 0;
}
.shop-error {
  background: #fff2ef;
  color: #9b3b28;
  padding: 14px;
  border-radius: 10px;
  margin-bottom: 15px;
  font-size: 13px;
  display: grid;
  gap: 10px;
}
.shop-warning {
  background: #faf3e2;
  border-radius: 8px;
  padding: 12px;
  color: #796130;
}
.shop-notice {
  color: #526333 !important;
  font-size: 12px;
}
.shop-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
@media (max-width: 1350px) {
  .shop-products {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .shop-market-row {
    grid-template-columns: 22px 48px minmax(90px, 1fr) 120px 130px 20px;
    gap: 8px;
  }
  .shop-prepare {
    grid-template-columns: minmax(0, 1.2fr) minmax(320px, 1fr);
  }
  .shop-selected-row {
    grid-template-columns: 38px minmax(0, 1fr) 20px;
  }
  .shop-selected-row > b {
    grid-column: 2;
  }
  .shop-selected-row > button {
    grid-column: 3;
    grid-row: 1;
  }
  .shop-market-layout {
    grid-template-columns: minmax(0, 1fr);
  }
  .shop-market-summary {
    display: block;
  }
  .shop-market-summary header img {
    height: 70px;
  }
  .shop-market-summary .shop-wide {
    margin-top: 16px;
  }
}
@media (max-width: 1000px) {
  .shop-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .shop-prepare {
    grid-template-columns: minmax(0, 1fr);
  }
  .shop-prepare .shop-selection {
    display: none;
  }
  .shop-prepare.show-list .shop-catalog {
    display: none;
  }
  .shop-prepare.show-list .shop-selection {
    display: block;
  }
  .shop-mobile-list {
    display: block;
    position: sticky;
    bottom: 12px;
    width: 100%;
    padding: 16px;
    border: 0;
    border-radius: 10px;
    background: #526333;
    color: white;
    font-weight: 600;
    margin-top: 18px;
    z-index: 5;
    box-shadow: 0 4px 20px #26342633;
  }
  .shop-products {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .shop-selected-row {
    grid-template-columns: 50px minmax(0, 1fr) auto 24px;
  }
  .shop-selected-row > b {
    grid-column: 3;
    grid-row: 1;
  }
  .shop-selected-row > button {
    grid-column: 4;
  }
  .shop-quantity-input {
    max-width: 220px;
  }
}
@media (max-width: 650px) {
  .shopping-page h1 {
    font-size: 27px;
  }
  .shop-heading {
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 18px;
  }
  .shop-heading > .primary-button {
    font-size: 12px;
    padding: 10px;
  }
  .shop-actions {
    width: 100%;
  }
  .shop-actions button {
    flex: 1;
    font-size: 12px;
    padding: 10px;
  }
  .shop-card-grid {
    grid-template-columns: 1fr;
  }
  .shop-toolbar {
    gap: 8px;
    flex-wrap: wrap;
  }
  .shop-toolbar select {
    max-width: 100%;
  }
  .shop-search {
    min-width: 140px;
  }
  .shop-toolbar > .shop-search {
    flex-basis: 100%;
  }
  .shop-catalog,
  .shop-selection,
  .shop-market-list {
    padding: 14px;
  }
  .shop-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .shop-product > img {
    height: 110px;
  }
  .shop-categories button {
    flex-basis: 80px;
  }
  .shop-selected-row {
    grid-template-columns: 40px minmax(0, 1fr) 20px;
  }
  .shop-selected-row > b {
    grid-column: 2;
    grid-row: 2;
  }
  .shop-selected-row > button {
    grid-column: 3;
  }
  .shop-selection-date {
    align-items: center;
  }
  .shop-selection-date input {
    max-width: 160px;
  }
  .shop-market-row {
    grid-template-columns: 22px 48px minmax(0, 1fr) 22px;
    gap: 8px;
    padding: 12px 7px;
  }
  .shop-market-row > .shop-quantity-input {
    grid-column: 2/4;
    grid-row: 2;
    max-width: 170px;
  }
  .shop-market-row > .shop-money {
    grid-column: 2/4;
    grid-row: 3;
    max-width: 210px;
  }
  .shop-market-row > .shop-icon-button {
    grid-column: 4;
    grid-row: 1;
  }
  .shop-market-row > .shop-item-image img {
    height: 50px;
  }
  .shop-progress {
    flex-wrap: wrap;
    padding: 14px;
    gap: 10px;
  }
  .shop-progress progress {
    order: 3;
    flex-basis: 100%;
  }
  .shop-progress > span {
    margin-left: auto;
  }
  .shop-market-footer {
    padding: 12px;
    gap: 10px;
    bottom: 8px;
  }
  .shop-market-footer strong {
    font-size: 20px;
  }
  .shop-market-footer button {
    font-size: 12px;
    padding: 12px;
  }
  .shop-confirm footer {
    flex-direction: column;
  }
  .shop-dialog h2 {
    font-size: 20px;
  }
  .shop-budget b {
    font-size: 18px;
  }
  .shop-preview img {
    height: 76px;
  }
}
.shop-card-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.shop-delete {
  padding: 10px;
  min-width: 36px;
  justify-content: center;
  color: #73786e;
}
.shop-delete:hover {
  color: #a53d2b;
  background: #fff3f0;
  border-color: #e8c4bb;
}

/* src/components/generated/ExpenseEditor.css */
.mg-dialog.expense-editor {
  width: min(740px, calc(100vw - 32px));
  max-height: 92dvh;
  border-radius: 24px;
  box-shadow: 0 24px 80px #17201433;
}
.expense-editor::backdrop {
  background: #17201466;
  backdrop-filter: blur(3px);
}
.expense-editor > header {
  padding: 24px 30px;
}
.expense-editor > header h2 {
  font-size: 26px;
  letter-spacing: -.6px;
}
.expense-editor form {
  padding: 22px 30px 26px;
  gap: 19px;
}
.expense-editor .expense-categories {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.expense-categories legend {
  font-size: 14px;
  margin-bottom: 10px;
}
.expense-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.expense-editor label.expense-category {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  padding: 12px 8px;
  border: 1px solid #eeeae3;
  border-radius: 13px;
  background: #f8f6f1;
  cursor: pointer;
  text-align: center;
  min-width: 0;
}
.expense-category img {
  width: 100%;
  height: 98px;
  object-fit: contain;
}
.expense-category > span {
  font-size: 14px;
  font-weight: 600;
}
.expense-editor .expense-category input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  padding: 0;
  top: 0;
  left: 0;
}
.expense-editor .expense-category.is-selected {
  background: #e9eddf;
  border-color: #526333;
  box-shadow: inset 0 0 0 1px #526333;
}
.expense-category:has(input:focus-visible) {
  outline: 2px solid #526333;
  outline-offset: 3px;
}
.expense-category-check {
  position: absolute;
  right: 9px;
  top: 9px;
  background: #526333;
  color: white;
  border-radius: 50%;
  padding: 3px;
  box-sizing: content-box;
}
.expense-editor .expense-amount {
  display: flex;
  border: 1px solid #ddd;
  border-radius: 8px;
  overflow: hidden;
}
.expense-editor .expense-amount input {
  border: 0;
  border-radius: 0;
  min-width: 0;
}
.expense-amount > span {
  display: flex;
  align-items: center;
  padding: 0 14px;
  border-left: 1px solid #ddd;
  color: #81857d;
  font-size: 13px;
}
.expense-editor .expense-amount:focus-within {
  outline: 2px solid #526333;
}
.expense-editor footer {
  border-top: 1px solid #eee;
  padding-top: 18px;
}
.expense-editor input[type=file] {
  font-size: 12px;
}
@media (max-width: 650px) {
  .mg-dialog.expense-editor {
    width: calc(100vw - 20px);
    height: auto;
    max-height: 94dvh;
    margin: auto;
    border-radius: 18px;
  }
  .expense-editor > header {
    padding: 18px;
  }
  .expense-editor > header h2 {
    font-size: 22px;
  }
  .expense-editor form {
    padding: 16px 18px 20px;
    gap: 16px;
  }
  .expense-category-grid {
    gap: 8px;
  }
  .expense-category img {
    height: 68px;
  }
  .expense-category > span {
    font-size: 11px;
  }
  .expense-editor label.expense-category {
    padding: 10px 4px;
  }
  .expense-editor .mg-form-grid {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .expense-editor .mg-form-grid label {
    min-width: 0;
    font-size: 12px;
  }
  .expense-amount > span {
    padding: 0 7px;
    font-size: 11px;
  }
}
.mg-dialog.expense-editor[open] {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.expense-editor > header {
  flex-shrink: 0;
}
.expense-editor form {
  min-height: 0;
  overflow-y: auto;
}
.expense-editor footer {
  position: sticky;
  bottom: -26px;
  background: white;
  margin-bottom: -26px;
  padding: 16px 0;
  z-index: 2;
  box-shadow: 0 -8px 12px #ffffffed;
}
@media (max-width: 650px) {
  .expense-editor footer {
    bottom: -20px;
    margin-bottom: -20px;
  }
}

/* src/components/generated/ManagementPage.css */
.management-page {
  color: #263426;
}
.mg-page-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
  margin-bottom: 26px;
}
.mg-page-heading h1 {
  font-size: 32px;
  letter-spacing: -1px;
  margin: 0 0 7px;
}
.mg-page-heading p {
  color: #777d74;
  font-size: 14px;
  margin: 0;
}
.mg-actions {
  display: flex;
  gap: 10px;
  align-items: center;
  flex-wrap: wrap;
}
.management-page button,
.management-page select {
  cursor: pointer;
}
.mg-actions button,
.mg-panel-heading button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 40px;
}
.mg-navigation {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
  border-bottom: 1px solid #dedede;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.mg-tabs {
  display: flex;
  gap: 22px;
  max-width: 100%;
  overflow: auto;
}
.mg-tabs button {
  white-space: nowrap;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  padding: 16px 2px;
  color: #777;
  font-weight: 600;
  font-size: 14px;
}
.mg-tabs button[aria-pressed=true] {
  border-color: #526333;
  color: #263426;
}
.mg-period {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12px;
  color: #777;
}
.mg-period input,
.management-page select {
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 10px;
  background: #fff;
  font: inherit;
  color: #263426;
}
.mg-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: #fff;
  border: 1px solid #e2e2e2;
  border-radius: 13px;
  margin-bottom: 20px;
  padding: 20px 0;
}
.mg-stats-four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mg-stat {
  padding: 0 20px;
  display: flex;
  align-items: center;
  gap: 8px;
  border-right: 1px solid #e6e6e6;
  min-width: 0;
}
.mg-stat:last-child {
  border-right: 0;
}
.mg-stat > div {
  min-width: 0;
  flex: 1;
}
.mg-stat b {
  font-size: clamp(19px, 1.6vw, 25px);
  letter-spacing: -.6px;
  white-space: nowrap;
}
.mg-stat strong {
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  margin-top: 6px;
}
.mg-stat small {
  display: block;
  color: #81857d;
  font-size: 12px;
  margin-top: 9px;
}
.mg-stat img {
  width: 60px;
  height: 75px;
  object-fit: contain;
  flex-shrink: 0;
}
.mg-stat-link {
  border: 0;
  padding: 0;
  background: none;
  font: inherit;
  color: inherit;
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.mg-overview-grid {
  display: grid;
  grid-template-columns: 1.5fr 1fr;
  gap: 18px;
  margin-bottom: 20px;
}
.mg-panel-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px;
}
.management-page h2 {
  font-size: 19px;
  margin: 0;
  letter-spacing: -.4px;
}
.mg-expense-row {
  display: grid;
  grid-template-columns: minmax(180px, 2fr) minmax(90px, 1fr) minmax(120px, 1fr) 70px 125px 20px;
  gap: 15px;
  align-items: center;
  padding: 13px 18px;
  border: 0;
  border-top: 1px solid #eee;
  background: #fff;
  width: 100%;
  text-align: left;
  font-size: 13px;
  color: #263426;
}
.mg-expense-compact {
  grid-template-columns: minmax(150px, 1.6fr) minmax(100px, 1fr) 100px 16px;
  gap: 10px;
  font-size: 12px;
}
.mg-expense-title {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.mg-expense-title > span:last-child {
  min-width: 0;
}
.mg-expense-title strong {
  display: block;
  overflow-wrap: anywhere;
}
.management-page small {
  display: block;
  color: #81857d;
  font-weight: 400;
  font-size: 11px;
  margin-top: 5px;
}
.mg-neutral-icon {
  display: grid;
  place-items: center;
  background: #f2f4ef;
  color: #526333;
  width: 36px;
  height: 36px;
  border-radius: 9px;
  flex-shrink: 0;
}
.mg-origin {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  justify-self: start;
  padding: 6px 8px;
  border-radius: 6px;
  font-size: 11px;
  background: #f3f3f3;
  white-space: nowrap;
}
.mg-origin-shopping {
  background: #eef3e9;
  color: #526333;
}
.mg-priority {
  display: block;
  width: 70px;
  height: 80px;
  object-fit: contain;
  margin: 5px auto 18px;
}
.mg-todo {
  display: flex;
  align-items: center;
  gap: 14px;
  width: calc(100% - 36px);
  margin: 0 18px;
  padding: 20px 0;
  border: 0;
  border-top: 1px solid #eee;
  background: none;
  text-align: left;
  color: #263426;
}
.mg-todo > span {
  flex: 1;
}
.mg-todo strong {
  font-size: 13px;
}
.mg-distribution {
  padding: 20px;
}
.mg-bar {
  height: 20px;
  display: flex;
  overflow: hidden;
  border-radius: 6px;
  margin: 18px 0;
}
.mg-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 22px;
}
.mg-legend > div {
  flex: 1;
  min-width: 130px;
  display: flex;
  gap: 9px;
  font-size: 12px;
}
.mg-legend i {
  width: 13px;
  height: 13px;
  border-radius: 50%;
  flex-shrink: 0;
}
.mg-legend strong {
  display: block;
  margin-top: 7px;
}
.mg-table-tools {
  padding: 16px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.mg-search {
  display: flex;
  align-items: center;
  gap: 10px;
  flex: 1;
  min-width: 180px;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 0 12px;
  height: 40px;
  color: #81857d;
}
.management-page .mg-search input {
  border: 0 !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
  min-width: 0;
  width: 100%;
  font-size: 12px;
  padding: 0;
}
.mg-search:focus-within {
  outline: 2px solid #526333;
  outline-offset: 1px;
}
.mg-table-head {
  background: #f7f7f7;
  font-size: 10px !important;
  text-transform: uppercase;
  color: #73786f !important;
}
.mg-expense-row:hover,
.mg-sales-row:not(.mg-table-head):hover,
.mg-shopping-item:hover {
  background: #fafbf8;
}
.mg-total {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  background: #eef2e7;
  padding: 18px;
  font-size: 13px;
}
.mg-total > b {
  font-size: 21px;
}
.mg-total > span {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.mg-total > span > span {
  font-size: 11px;
  color: #777;
}
.mg-total > span b {
  display: block;
  color: #263426;
  font-size: 13px;
  margin-top: 4px;
}
.mg-pagination {
  padding: 13px 18px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #777;
  font-size: 12px;
}
.mg-pagination > div {
  display: flex;
  align-items: center;
  gap: 12px;
}
.mg-pagination button {
  display: flex;
  border: 1px solid #ddd;
  border-radius: 7px;
  background: #fff;
  padding: 6px;
  color: #526333;
}
.mg-pagination button:disabled {
  opacity: .4;
}
.mg-segment {
  display: flex;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  padding: 3px;
}
.mg-segment button {
  border: 0;
  border-radius: 6px;
  background: none;
  padding: 9px 20px;
  font-size: 12px;
  color: #666;
}
.mg-segment button[aria-pressed=true] {
  background: #e9eddf;
  color: #263426;
  font-weight: 600;
}
.mg-payment-filters {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 16px 14px;
  flex-wrap: wrap;
}
.mg-payment-filters > button {
  padding: 7px 16px;
  border: 1px solid #e5e5e5;
  border-radius: 7px;
  background: white;
  font-size: 12px;
}
.mg-payment-filters > button[aria-pressed=true] {
  background: #e9eddf;
  color: #526333;
  border-color: #e9eddf;
}
.mg-sales-row {
  display: grid;
  grid-template-columns: minmax(150px, 1.2fr) minmax(190px, 1.6fr) 70px 125px 110px 18px;
  gap: 14px;
  align-items: center;
  width: 100%;
  border: 0;
  border-top: 1px solid #eee;
  background: white;
  padding: 13px 18px;
  text-align: left;
  font-size: 12px;
  color: #263426;
}
.mg-balances-row {
  grid-template-columns: minmax(140px, 1.1fr) minmax(180px, 1.5fr) 105px 105px 105px 100px 18px;
}
.mg-client {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.mg-client i {
  display: grid;
  place-items: center;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  background: #e9eddf;
  flex-shrink: 0;
  font-style: normal;
}
.mg-products {
  display: grid;
  gap: 8px;
}
.mg-product {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mg-thumb {
  display: grid;
  place-items: center;
  width: 50px;
  height: 42px;
  border-radius: 8px;
  background: #f2f2f2;
  overflow: hidden;
  color: #94998f;
  flex-shrink: 0;
}
.mg-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mg-pay-status {
  display: inline-flex;
  justify-content: center;
  padding: 6px 8px;
  border-radius: 7px;
  background: #f7f1e8;
  color: #795833;
  font-size: 11px;
}
.mg-paid {
  background: #edf3e6;
  color: #526333;
}
.mg-hint {
  display: inline-flex;
  position: relative;
}
.mg-hint > button {
  border: 0;
  background: none;
  padding: 2px;
  color: #82867f;
  display: flex;
}
.mg-hint [role=tooltip] {
  display: none;
  position: absolute;
  z-index: 20;
  top: 100%;
  right: -20px;
  width: 240px;
  background: #263426;
  color: #fff;
  padding: 12px;
  border-radius: 9px;
  box-shadow: 0 5px 16px #0002;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 400;
  text-transform: none;
}
.mg-hint:focus-within [role=tooltip],
.mg-hint:hover [role=tooltip] {
  display: block;
}
.mg-empty {
  padding: 30px 20px;
  text-align: center;
  font-size: 13px;
  color: #81857d;
  display: grid;
  justify-items: center;
  gap: 14px;
}
.mg-error {
  color: #a4382f;
  background: #fff3f0;
  padding: 12px;
  border-radius: 8px;
  font-size: 13px;
}
.mg-received-row {
  display: flex;
  gap: 18px;
  align-items: center;
  padding: 16px 20px;
  border: 0;
  border-top: 1px solid #eee;
  background: white;
  width: 100%;
  text-align: left;
  color: #263426;
}
.mg-received-row > span {
  flex: 1;
}
.mg-receipt-heading {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  padding: 15px 20px;
}
.mg-shopping-layout {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 20px;
}
.mg-list-picker > button {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #e2e2e2;
  border-radius: 9px;
  background: white;
  padding: 14px;
  margin-bottom: 10px;
  width: 100%;
  text-align: left;
}
.mg-list-picker > button > span {
  flex: 1;
}
.mg-list-picker > button[aria-pressed=true] {
  background: #e9eddf;
  border-color: #a8bc8c;
}
.mg-list-picker strong {
  font-size: 13px;
}
.mg-shopping-item {
  display: flex;
  align-items: center;
  gap: 12px;
  width: 100%;
  background: white;
  border: 0;
  border-top: 1px solid #eee;
  padding: 16px;
  text-align: left;
  font-size: 13px;
}
.mg-shopping-item > span:nth-child(2) {
  flex: 1;
}
.mg-purchase-check {
  width: 23px;
  height: 23px;
  border: 1px solid #ddd;
  border-radius: 6px;
  display: grid;
  place-items: center;
}
.mg-purchase-check.is-paid {
  background: #e9eddf;
  color: #526333;
}
.mg-list-form {
  margin-top: 20px;
  padding: 22px;
  max-width: 600px;
}
.mg-list-form form {
  display: grid;
  gap: 16px;
}
.mg-list-form label {
  display: grid;
  gap: 8px;
  font-size: 13px;
}
.mg-list-form input {
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
}
.mg-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: 90dvh;
  border: 1px solid #ddd;
  border-radius: 18px;
  padding: 0;
  color: #263426;
  background: white;
}
.mg-dialog::backdrop {
  background: #17201466;
}
.mg-dialog > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px;
  border-bottom: 1px solid #eee;
}
.mg-dialog h2 {
  font-size: 20px;
  margin: 0;
}
.mg-dialog header button {
  border: 0;
  background: none;
  padding: 5px;
}
.mg-dialog form {
  display: grid;
  gap: 16px;
  padding: 20px;
}
.mg-dialog label {
  display: grid;
  gap: 8px;
  font-size: 13px;
}
.mg-dialog input,
.mg-dialog select,
.mg-dialog textarea {
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 10px;
  background: white;
  font: inherit;
  color: #263426;
}
.mg-dialog small {
  font-size: 11px;
  color: #888;
}
.mg-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}
.mg-dialog .mg-check {
  display: flex;
  align-items: center;
  gap: 10px;
}
.mg-dialog .mg-check input {
  width: 18px;
  height: 18px;
}
.mg-dialog footer {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}
.mg-origin-link {
  background: #e9eddf;
  border: 0;
  padding: 12px;
  border-radius: 8px;
  color: #526333;
  text-align: left;
}
.management-page button:focus-visible {
  outline: 2px solid #526333;
  outline-offset: 2px;
}
.mg-table-scroll {
  overflow: auto;
}
.mg-data {
  overflow: visible;
}
.mg-data > .mg-total {
  border-radius: 0 0 10px 10px;
}
@media (max-width: 1300px) {
  .mg-stats-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 22px;
  }
  .mg-stats-four .mg-stat:nth-child(2) {
    border-right: 0;
  }
  .mg-overview-grid {
    grid-template-columns: 1fr;
  }
  .mg-stat img {
    width: 52px;
  }
  .mg-sales-row,
  .mg-expense-row:not(.mg-expense-compact) {
    min-width: 820px;
  }
  .mg-balances-row {
    min-width: 940px;
  }
}
@media (max-width: 650px) {
  .mg-page-heading {
    flex-direction: column;
    gap: 18px;
  }
  .mg-page-heading h1 {
    font-size: 27px;
  }
  .mg-actions {
    width: 100%;
  }
  .mg-actions button {
    flex: 1;
    font-size: 12px;
    padding: 10px;
  }
  .mg-tabs {
    gap: 16px;
  }
  .mg-tabs button {
    font-size: 12px;
  }
  .mg-navigation {
    gap: 12px;
    padding-bottom: 14px;
  }
  .mg-period {
    gap: 8px;
  }
  .mg-stats {
    grid-template-columns: 1fr;
    gap: 16px;
    padding: 18px;
  }
  .mg-stats-four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 10px;
  }
  .mg-stat {
    border: 0;
    padding: 0;
    gap: 4px;
  }
  .mg-stat b {
    font-size: 18px;
    white-space: normal;
  }
  .mg-stat img {
    width: 42px;
    height: 52px;
  }
  .mg-stat strong {
    font-size: 12px;
    flex-wrap: wrap;
  }
  .mg-stat small {
    font-size: 10px;
  }
  .mg-stats-four .mg-stat {
    flex-direction: column-reverse;
    align-items: flex-start;
  }
  .mg-stats-four .mg-stat img {
    align-self: flex-end;
    margin-bottom: -38px;
    opacity: .9;
  }
  .mg-stats-four .mg-stat > div {
    padding-top: 43px;
  }
  .mg-panel-heading {
    padding: 15px;
  }
  .management-page h2 {
    font-size: 17px;
  }
  .mg-expense-compact {
    grid-template-columns: 1fr auto 14px;
    padding: 12px;
    gap: 8px;
  }
  .mg-expense-compact .mg-origin {
    display: none;
  }
  .mg-expense-title {
    gap: 8px;
  }
  .mg-total {
    padding: 15px;
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .mg-total > span {
    justify-content: flex-start;
    gap: 14px;
  }
  .mg-total > b {
    font-size: 19px;
  }
  .mg-table-tools {
    padding: 12px;
  }
  .mg-search {
    min-width: 100%;
    box-sizing: border-box;
  }
  .mg-table-tools select {
    flex: 1;
    min-width: 0;
    font-size: 12px;
  }
  .mg-segment {
    width: 100%;
  }
  .mg-segment button {
    flex: 1;
  }
  .mg-payment-filters {
    padding: 0 12px 14px;
    gap: 5px;
  }
  .mg-payment-filters > button {
    padding: 7px 10px;
  }
  .mg-shopping-layout {
    grid-template-columns: 1fr;
  }
  .mg-list-picker {
    display: flex;
    gap: 8px;
    overflow: auto;
  }
  .mg-list-picker > button {
    min-width: 180px;
    width: auto;
  }
  .mg-shopping-item {
    gap: 8px;
    padding: 13px;
    font-size: 12px;
  }
  .mg-shopping-item > b {
    white-space: nowrap;
  }
  .mg-shopping-item strong {
    overflow-wrap: anywhere;
  }
  .mg-dialog {
    max-height: 100dvh;
    height: 100dvh;
    width: 100vw;
    max-width: 100vw;
    border: 0;
    border-radius: 0;
    margin: 0;
  }
  .mg-form-grid {
    grid-template-columns: 1fr;
  }
  .mg-hint [role=tooltip] {
    right: auto;
    left: -80px;
    width: 210px;
  }
}
@media (max-width: 650px) {
  .mg-data .mg-table-head {
    display: none;
  }
  .mg-data .mg-table-scroll {
    overflow: visible;
  }
  .mg-data button.mg-expense-row {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 9px 12px;
    padding: 15px;
  }
  .mg-data .mg-expense-row > span:first-child {
    grid-column: 1;
    grid-row: 1;
  }
  .mg-data .mg-expense-row > b {
    grid-column: 2;
    grid-row: 1;
    font-size: 13px;
    text-align: right;
  }
  .mg-data .mg-expense-row > span:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    font-size: 11px;
    color: #81857d;
  }
  .mg-data .mg-expense-row > span:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
  }
  .mg-data .mg-expense-row > span:nth-child(4) {
    grid-column: 2;
    grid-row: 2;
    text-align: right;
    font-size: 11px;
    color: #81857d;
  }
  .mg-data .mg-expense-row > svg {
    display: none;
  }
  .mg-data button.mg-sales-row {
    min-width: 0;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    padding: 15px;
  }
  .mg-data .mg-sales-row > .mg-client {
    grid-column: 1;
    grid-row: 1;
  }
  .mg-data .mg-sales-row > .mg-products {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .mg-data .mg-sales-row > span:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
    color: #81857d;
  }
  .mg-data .mg-sales-row > b:nth-child(4) {
    grid-column: 2;
    grid-row: 1;
    text-align: right;
  }
  .mg-data .mg-sales-row > .mg-pay-status {
    grid-column: 2;
    grid-row: 3;
  }
  .mg-data .mg-sales-row > svg {
    display: none;
  }
  .mg-data button.mg-balances-row {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .mg-data .mg-balances-row > .mg-client {
    grid-column: 1/-1;
  }
  .mg-data .mg-balances-row > b:nth-child(3) {
    grid-column: 1;
    grid-row: 3;
  }
  .mg-data .mg-balances-row > b:nth-child(4) {
    grid-column: 2;
    grid-row: 3;
    text-align: left;
  }
  .mg-data .mg-balances-row > b:nth-child(5) {
    grid-column: 1;
    grid-row: 4;
  }
  .mg-data .mg-balances-row > .mg-pay-status {
    grid-column: 2;
    grid-row: 4;
    align-self: center;
  }
  .mg-balances-row > b:before {
    display: block;
    font-size: 10px;
    font-weight: 400;
    color: #81857d;
    margin-bottom: 4px;
  }
  .mg-balances-row > b:nth-child(3):before {
    content: "Total";
  }
  .mg-balances-row > b:nth-child(4):before {
    content: "Encaiss\e9";
  }
  .mg-balances-row > b:nth-child(5):before {
    content: "Reste \e0  encaisser";
  }
  .mg-stats-four .mg-stat img {
    margin-bottom: 0;
    align-self: flex-start;
  }
  .mg-stats-four .mg-stat > div {
    padding-top: 0;
  }
  .mg-stats-four .mg-stat {
    gap: 8px;
  }
}
.mg-fixed {
  height: var(--mg-height,calc(100dvh - 130px));
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.mg-fixed > .mg-page-heading,
.mg-fixed > .mg-navigation,
.mg-fixed > .mg-stats {
  flex-shrink: 0;
}
.mg-listings {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.mg-overview-listings {
  overflow: auto;
  display: block;
  overscroll-behavior: contain;
}
.mg-listings > .mg-data {
  min-height: 0;
  display: flex;
  flex: 1;
  flex-direction: column;
}
.mg-listings .mg-table-scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
}
.mg-listings .mg-table-head {
  position: sticky;
  top: 0;
  z-index: 2;
}
.mg-column-total {
  position: sticky;
  bottom: 0;
  background: #eef2e7 !important;
  z-index: 2;
  border-top: 1px solid #dde4d4;
  font-weight: 700;
  flex-shrink: 0;
}
.mg-column-total b {
  font-weight: 750;
}
.mg-listings .mg-table-tools,
.mg-listings .mg-pagination,
.mg-listings .mg-total {
  flex-shrink: 0;
}
.mg-table-tools:has(.mg-segment) {
  gap: 10px;
  flex-wrap: nowrap;
}
.mg-table-tools:has(.mg-segment) .mg-search {
  flex: 1 1 210px;
  max-width: 280px;
  min-width: 150px;
  margin-left: auto;
}
.mg-table-tools .mg-payment-filters {
  padding: 0;
  flex-wrap: nowrap;
  gap: 5px;
}
.mg-table-tools .mg-payment-filters > button {
  padding: 8px 10px;
  white-space: nowrap;
}
.mg-table-tools .mg-segment button {
  padding: 9px 12px;
}
.mg-table-tools .mg-hint [role=tooltip] {
  right: 0;
}
.mg-fixed .mg-page-heading {
  margin-bottom: 18px;
}
.mg-fixed .mg-stats {
  margin-bottom: 16px;
}
@media (max-width: 1100px) {
  .mg-table-tools:has(.mg-segment) {
    flex-wrap: wrap;
  }
  .mg-table-tools .mg-payment-filters {
    flex-wrap: wrap;
  }
  .mg-table-tools:has(.mg-segment) .mg-search {
    max-width: none;
  }
}
@media (max-width: 650px) {
  .mg-fixed .mg-page-heading {
    margin-bottom: 10px;
    gap: 8px;
  }
  .mg-fixed .mg-page-heading h1 {
    font-size: 24px;
  }
  .mg-fixed .mg-page-heading p {
    display: none;
  }
  .mg-fixed .mg-navigation {
    margin-bottom: 10px;
    padding-bottom: 8px;
    gap: 4px;
  }
  .mg-fixed .mg-tabs button {
    padding: 10px 2px;
  }
  .mg-fixed .mg-stats {
    display: flex;
    overflow-x: auto;
    padding: 12px;
    gap: 18px;
    flex-shrink: 0;
    margin-bottom: 10px;
  }
  .mg-fixed .mg-stat,
  .mg-fixed .mg-stats-four .mg-stat {
    flex: 0 0 165px;
    flex-direction: row;
    align-items: center;
    gap: 4px;
  }
  .mg-fixed .mg-stats-four .mg-stat img {
    align-self: center;
  }
  .mg-fixed .mg-stat b {
    font-size: 17px;
  }
  .mg-fixed .mg-stat img {
    width: 35px;
    height: 46px;
  }
  .mg-fixed .mg-stat small {
    font-size: 10px;
    margin-top: 5px;
  }
  .mg-fixed .mg-stat > div {
    padding-top: 0;
  }
  .mg-listings .mg-table-tools {
    gap: 8px;
    padding: 10px;
  }
  .mg-table-tools:has(.mg-segment) .mg-search {
    min-width: 120px;
    flex: 1;
    max-width: none;
  }
  .mg-table-tools .mg-segment {
    width: auto;
    flex: 1;
  }
  .mg-table-tools .mg-segment button {
    padding: 9px 8px;
  }
  .mg-table-tools .mg-payment-filters {
    width: 100%;
    gap: 5px;
  }
  .mg-table-tools .mg-payment-filters > button {
    font-size: 11px;
    padding: 6px 9px;
  }
  .mg-listings .mg-table-scroll {
    overflow: auto;
  }
  .mg-column-total {
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr auto;
    padding: 13px 15px;
    gap: 8px;
  }
  .mg-column-total > span {
    display: none;
  }
  .mg-column-total > b {
    grid-column: 2;
  }
  .mg-column-total.mg-balances-row {
    min-width: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    font-size: 11px;
  }
  .mg-column-total.mg-balances-row > b {
    grid-column: auto;
    white-space: normal;
  }
  .mg-column-total.mg-balances-row > b:before {
    display: none;
  }
  .mg-pagination {
    padding: 8px 12px;
  }
}
.mg-receipts-scroll {
  flex: 1;
  min-height: 0;
  overflow: auto;
  overscroll-behavior: contain;
}
.management-page .mg-listings,
.management-page .mg-overview-listings {
  display: block;
  overflow: visible;
  min-height: initial;
}
.management-page .mg-listings > .mg-data {
  display: block;
}
.management-page .mg-listings .mg-table-scroll {
  max-height: none;
  overflow-x: auto;
  overscroll-behavior: auto;
}
.management-page .mg-table-head,
.management-page .mg-column-total {
  position: static;
}
.management-page .mg-receipts-scroll {
  overflow: visible;
}
.mg-expense-illustration {
  width: 52px;
  height: 52px;
  object-fit: contain;
  flex-shrink: 0;
}
.mg-category-badge {
  justify-self: start;
  white-space: nowrap;
}
@media (max-width: 650px) {
  .mg-expense-compact {
    grid-template-columns: 1fr auto 14px;
  }
  .mg-expense-compact .mg-category-badge {
    display: inline-flex;
    grid-column: 1;
    grid-row: 2;
  }
  .mg-expense-compact > b {
    grid-column: 2;
    grid-row: 1;
  }
  .mg-expense-compact > svg {
    grid-column: 3;
    grid-row: 1;
  }
  .mg-expense-illustration {
    width: 44px;
    height: 44px;
  }
}
.mg-tasks .mg-panel-heading {
  border-bottom: 0;
  min-height: 80px;
}
.mg-task-heading-icon {
  width: 54px;
  height: 58px;
  object-fit: contain;
}
.mg-tasks .mg-todo:first-of-type {
  border-top: 0;
}
.mg-tasks .mg-task-symbol {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  color: #526333;
}
.mg-task-shopping {
  background: #ecf1e7;
}
.mg-task-payments {
  background: #f5efe2;
}
.mg-tasks .mg-task-copy {
  flex: 1;
  min-width: 0;
}
.mg-task-copy strong {
  display: block;
}
.mg-task-copy small {
  margin-top: 6px;
}
.mg-tasks .mg-task-action {
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.mg-task-action-button {
  border: 1px solid #ddd;
  border-radius: 7px;
  padding: 10px 12px;
  background: white;
}
.mg-task-action-link {
  color: #526333;
  text-decoration: underline;
  text-underline-offset: 3px;
}
@media (max-width: 650px) {
  .mg-tasks .mg-todo {
    flex-wrap: wrap;
    gap: 10px;
  }
  .mg-tasks .mg-task-action {
    margin-left: 56px;
  }
  .mg-task-heading-icon {
    width: 46px;
    height: 50px;
  }
  .mg-tasks .mg-task-copy {
    flex-basis: calc(100% - 56px);
  }
}
.mg-origin.mg-shopping-badge {
  background: #e9f0df;
  color: #526333;
}

/* src/components/generated/DailyOrderRecap.css */
.daily-order-recap .recap-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
}
.recap-date {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  color: #71776d;
}
.recap-date input {
  width: auto;
  padding: 7px 10px;
  border: 1px solid #dedede;
  border-radius: 8px;
  background: #fff;
  color: #263426;
  font: inherit;
  min-height: 40px;
}
.recap-zone {
  display: block;
  margin-top: 5px;
  font-size: 11px;
  color: #777;
}
.recap-top-total {
  text-align: right;
}
.recap-top-total > span {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  font-size: 13px;
}
.recap-top-total > b {
  display: block;
  margin-top: 6px;
  font-size: 25px;
}
.recap-help {
  position: relative;
  display: inline-flex;
}
.recap-help button {
  border: 0;
  background: none;
  color: #71776d;
  padding: 5px;
  display: flex;
}
.recap-help [role=tooltip] {
  display: none;
  position: absolute;
  right: 0;
  top: 100%;
  width: min(280px, 70vw);
  padding: 12px;
  background: #263426;
  color: #fff;
  border-radius: 10px;
  font-size: 12px;
  line-height: 1.6;
  text-align: left;
  z-index: 5;
  box-shadow: 0 5px 15px #0002;
}
.recap-help:hover [role=tooltip],
.recap-help:focus-within [role=tooltip] {
  display: block;
}
.recap-views {
  display: flex;
  gap: 8px;
  padding: 0 22px 16px;
}
.recap-views button {
  border: 1px solid #ddd;
  background: white;
  border-radius: 9px;
  padding: 10px 14px;
  font-size: 13px;
  color: #526333;
}
.recap-views button[aria-pressed=true] {
  background: #e9eddf;
  border-color: #526333;
  font-weight: 600;
}
.recap-scroll {
  max-height: 55dvh;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
}
.daily-order-recap .daily-order-row {
  padding: 14px 22px;
  align-items: flex-start;
}
.recap-badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.recap-badges > span {
  padding: 3px 7px;
  border-radius: 5px;
  background: #f3f4f0;
  font-size: 11px;
  color: #62695d;
}
.recap-product {
  display: flex;
  align-items: center;
  gap: 9px;
}
.daily-order-recap .daily-order-products {
  gap: 8px;
}
.recap-photo {
  width: 36px;
  height: 36px;
  border-radius: 7px;
  background: #f2f2f2;
  color: #92958e;
  display: grid;
  place-items: center;
  overflow: hidden;
  flex-shrink: 0;
}
.recap-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.recap-product > span:last-child {
  min-width: 0;
  overflow-wrap: anywhere;
}
.recap-product small {
  margin-top: 2px;
}
.daily-order-recap footer {
  padding: 16px 22px;
  border-top: 1px solid #e0e5d7;
}
.recap-scroll:focus-visible,
.recap-views button:focus-visible {
  outline: 2px solid #526333;
  outline-offset: -2px;
}
@media (max-width: 650px) {
  .daily-order-recap .recap-heading {
    padding: 16px;
    flex-wrap: wrap;
  }
  .recap-top-total {
    text-align: left;
  }
  .recap-top-total > span {
    justify-content: flex-start;
  }
  .recap-help [role=tooltip] {
    right: auto;
    left: -130px;
  }
  .recap-views {
    padding: 0 16px 14px;
    gap: 6px;
  }
  .recap-views button {
    flex: 1;
    padding: 10px 8px;
    font-size: 12px;
  }
  .daily-order-recap .daily-order-row {
    padding: 13px 16px;
    gap: 10px;
  }
  .daily-order-row > b {
    font-size: 13px;
  }
  .daily-order-recap footer {
    padding: 16px;
    flex-wrap: nowrap;
  }
  .daily-order-recap footer b {
    font-size: 20px;
  }
  .recap-scroll {
    max-height: 48dvh;
  }
}

/* src/components/generated/PublicVitrine.css */
.pv-page {
  --pv-color:#d5ef78;
  --pv-ink:#171717;
  background: #fff;
  color: #202020;
  font-family:
    Inter,
    Arial,
    sans-serif;
  min-height: 100dvh;
}
.pv-page *,
.pv-dialog * {
  box-sizing: border-box;
}
.pv-page button,
.pv-page input,
.pv-page textarea,
.pv-page select {
  font: inherit;
}
.pv-page button {
  cursor: pointer;
}
.pv-page button:disabled {
  opacity: .45;
  cursor: not-allowed;
}
.pv-page a {
  color: inherit;
}
.pv-page button:focus-visible,
.pv-page a:focus-visible,
.pv-page input:focus-visible,
.pv-page textarea:focus-visible {
  outline: 2px solid #555;
  outline-offset: 4px;
}
.pv-page main,
.pv-nav,
.pv-footer {
  max-width: 1200px;
  margin: auto;
  padding: 0 32px;
}
.pv-nav {
  height: 96px;
  display: flex;
  align-items: center;
  gap: 40px;
  border-bottom: 1px solid #eee;
}
.pv-brand {
  font-size: 23px;
  font-weight: 750;
  text-decoration: none;
  letter-spacing: -.7px;
  margin-right: auto;
}
.pv-brand img {
  max-width: 145px;
  max-height: 58px;
  object-fit: contain;
}
.pv-nav-card {
  font-size: 14px;
  text-decoration: none;
}
.pv-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 48px;
  padding: 14px 20px;
  background: var(--pv-color);
  color: var(--pv-ink) !important;
  border: 0;
  border-radius: 13px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
}
.pv-button > span {
  background: #ffffff60;
  border-radius: 50%;
  min-width: 23px;
  padding: 3px;
  text-align: center;
}
.pv-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
  padding: 64px 0 80px;
}
.pv-eyebrow {
  font-size: 12px;
  letter-spacing: .7px;
  color: #737373;
}
.pv-hero h1 {
  white-space: pre-line;
  font-size: clamp(36px, 4.5vw, 62px);
  font-weight: 650;
  letter-spacing: -2.5px;
  line-height: 1.08;
  margin: 20px 0 24px;
  overflow-wrap: anywhere;
}
.pv-hero p {
  font-size: 16px;
  line-height: 1.8;
  color: #666;
  margin: 0 0 30px;
  max-width: 440px;
}
.pv-hero-photo {
  position: relative;
  aspect-ratio: 1;
  border-radius: 32px;
  overflow: hidden;
  background: #f3f2ef;
}
.pv-hero-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pv-hero-photo > button {
  position: absolute;
  left: 20px;
  right: 20px;
  bottom: 20px;
  background: white;
  border: 0;
  border-radius: 16px;
  padding: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}
.pv-hero-photo span {
  display: grid;
  gap: 6px;
}
.pv-hero-photo small {
  font-size: 11px;
  color: #777;
}
.pv-hero-photo strong {
  font-size: 16px;
}
.pv-no-photo {
  height: 100%;
  min-height: 120px;
  display: grid;
  place-items: center;
  background: #f2f1ee;
  color: #999;
}
.pv-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}
.pv-section-head h2 {
  font-size: 34px;
  font-weight: 650;
  letter-spacing: -1px;
  margin: 12px 0 0;
}
.pv-view-switch {
  display: flex;
  gap: 4px;
  border: 1px solid #e5e5e5;
  border-radius: 11px;
  padding: 4px;
}
.pv-view-switch button {
  border: 0;
  background: none;
  padding: 10px;
  border-radius: 8px;
  display: grid;
  place-items: center;
}
.pv-view-switch button[aria-pressed=true] {
  background: #eee;
}
.pv-categories {
  display: flex;
  gap: 10px;
  overflow: auto;
  padding: 28px 0;
}
.pv-categories button {
  white-space: nowrap;
  min-height: 40px;
  border: 1px solid #e4e4e4;
  border-radius: 30px;
  background: white;
  padding: 10px 18px;
  font-size: 13px;
}
.pv-categories button[aria-pressed=true] {
  background: #222;
  color: #fff;
  border-color: #222;
}
.pv-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 24px;
}
.pv-product {
  min-width: 0;
}
.pv-product-photo {
  position: relative;
  aspect-ratio: 1;
  border-radius: 24px;
  overflow: hidden;
  background: #f3f2ef;
}
.pv-product-photo > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.pv-product-photo > button {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 15px;
  border: 1px solid #eee;
  background: #fff;
  color: #222;
}
.pv-product-copy {
  padding: 16px 0;
}
.pv-product-name {
  background: none;
  border: 0;
  text-align: left;
  padding: 0;
  color: #222;
}
.pv-product h3 {
  font-size: 18px;
  line-height: 1.4;
  margin: 0 0 9px;
  font-weight: 650;
}
.pv-price {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
}
.pv-price strong {
  font-size: 15px;
  font-weight: 550;
}
.pv-price small,
.pv-price del {
  font-size: 12px;
  color: #777;
}
.pv-product-copy > small {
  display: block;
  margin-top: 8px;
  color: #777;
}
.pv-product-copy p {
  color: #666;
  font-size: 13px;
  line-height: 1.7;
  margin: 0 0 16px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pv-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}
.pv-list .pv-product {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42%;
  border: 1px solid #e4e4e4;
  border-radius: 22px;
  overflow: hidden;
  min-height: 200px;
}
.pv-list .pv-product-photo {
  grid-column: 2;
  grid-row: 1;
  border-radius: 0;
  aspect-ratio: auto;
  min-height: 200px;
}
.pv-list .pv-product-copy {
  grid-column: 1;
  grid-row: 1;
  padding: 24px;
}
.pv-category {
  margin: 10px 0 32px;
}
.pv-category > h3 {
  font-size: 23px;
  margin: 12px 0 22px;
}
.pv-info {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 32px;
  border-top: 1px solid #e5e5e5;
  margin-top: 80px;
  padding: 44px 0;
}
.pv-info article > svg {
  width: 22px;
  color: #666;
}
.pv-info h3 {
  font-size: 15px;
  margin: 18px 0 12px;
}
.pv-info p,
.pv-info a,
.pv-info small {
  font-size: 13px;
  line-height: 1.8;
  color: #666;
  overflow-wrap: anywhere;
}
.pv-info a {
  display: flex;
  align-items: center;
  gap: 7px;
}
.pv-hours {
  white-space: pre-line;
}
.pv-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-top: 1px solid #eee;
  padding-top: 26px;
  padding-bottom: 34px;
  gap: 24px;
}
.pv-footer > strong {
  font-size: 14px;
}
.pv-footer > span {
  display: flex;
  align-items: center;
  gap: 7px;
  color: #777;
  font-size: 12px;
}
.pv-footer img {
  width: 22px;
  height: 22px;
  filter: brightness(0);
}
.pv-footer b {
  font-size: 23px;
  letter-spacing: -1px;
  color: #222;
}
.pv-message {
  padding: 40px;
  font: 14px Arial;
}
.pv-toast:empty {
  display: none;
}
.pv-toast {
  position: fixed;
  bottom: 22px;
  left: 50%;
  transform: translateX(-50%);
  background: #222;
  color: white;
  z-index: 20;
  border-radius: 14px;
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  max-width: calc(100% - 24px);
  box-shadow: 0 8px 30px #0002;
}
.pv-toast button {
  border: 0;
  background: none;
  color: white;
  white-space: nowrap;
  padding: 3px;
  text-decoration: underline;
}
.pv-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(700px, calc(100vw - 32px));
  max-height: 90dvh;
  border: 0;
  border-radius: 24px;
  padding: 0;
  color: #222;
  background: white;
  box-shadow: 0 24px 100px #0003;
}
.pv-dialog[open] {
  display: flex;
  flex-direction: column;
}
.pv-dialog::backdrop {
  background: #0007;
}
.pv-modal-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 26px;
  border-bottom: 1px solid #eee;
  flex: none;
  font-size: 12px;
  color: #777;
}
.pv-modal-bar button {
  border: 0;
  background: #f6f6f6;
  border-radius: 50%;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
}
.pv-modal-body {
  padding: 28px;
  overflow: auto;
  min-height: 0;
}
.pv-modal-body h2 {
  font-size: 26px;
  letter-spacing: -.7px;
  margin: 0 0 18px;
}
.pv-product-intro {
  display: grid;
  grid-template-columns: 190px 1fr;
  gap: 24px;
  align-items: center;
}
.pv-product-intro > img,
.pv-product-intro > .pv-no-photo {
  width: 190px;
  height: 190px;
  border-radius: 18px;
  object-fit: cover;
}
.pv-product-intro h2 {
  margin-top: 10px;
}
.pv-product-intro p {
  font-size: 14px;
  line-height: 1.7;
  color: #666;
}
.pv-product-intro strong {
  font-size: 15px;
}
.pv-dialog fieldset {
  border: 0;
  padding: 0;
  margin: 26px 0;
}
.pv-dialog legend {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 14px;
}
.pv-quantity > div {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.pv-quantity button {
  width: 42px;
  height: 42px;
  border: 1px solid #ddd;
  background: white;
  border-radius: 10px;
}
.pv-quantity button[aria-pressed=true] {
  background: #222;
  color: #fff;
  border-color: #222;
}
.pv-quantity label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  color: #777;
  margin-left: auto;
}
.pv-dialog input,
.pv-dialog textarea {
  font: inherit;
  font-size: 14px;
  border: 1px solid #d9d9d9;
  border-radius: 9px;
  padding: 12px;
  min-width: 0;
  background: #fff;
  color: #222;
}
.pv-quantity input {
  width: 66px;
}
.pv-field,
.pv-checkout > label,
.pv-date-row > label {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 13px;
  font-weight: 550;
}
.pv-field small {
  font-size: 11px;
  font-weight: 400;
  color: #777;
}
.pv-suggestions {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid #eee;
}
.pv-suggestions h3 {
  font-size: 17px;
  margin: 0 0 8px;
}
.pv-suggestions > p {
  font-size: 12px;
  color: #777;
  margin: 0 0 20px;
}
.pv-suggestions > label {
  display: flex;
  align-items: center;
  gap: 14px;
  border: 1px solid #e4e4e4;
  border-radius: 12px;
  padding: 12px;
  margin-top: 10px;
  cursor: pointer;
}
.pv-suggestions img,
.pv-suggestions .pv-no-photo {
  width: 50px;
  height: 50px;
  min-height: 0;
  border-radius: 8px;
  object-fit: cover;
}
.pv-suggestions span {
  flex: 1;
  display: grid;
  gap: 6px;
}
.pv-suggestions strong {
  font-size: 13px;
}
.pv-suggestions small {
  font-size: 12px;
  color: #777;
}
.pv-suggestions input {
  width: 18px;
  height: 18px;
  accent-color: #222;
}
.pv-modal-action {
  padding: 18px 28px;
  border-top: 1px solid #eee;
  flex: none;
}
.pv-modal-action .pv-button {
  width: 100%;
}
.pv-cart-lines article {
  display: flex;
  gap: 14px;
  padding: 20px 0;
  border-bottom: 1px solid #eee;
  align-items: center;
}
.pv-cart-lines article > img,
.pv-cart-lines .pv-no-photo {
  width: 65px;
  height: 65px;
  min-height: 0;
  object-fit: cover;
  border-radius: 10px;
}
.pv-cart-lines article > div:not(.pv-no-photo) {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 8px;
}
.pv-cart-lines strong {
  font-size: 14px;
}
.pv-cart-lines small {
  font-size: 12px;
  color: #777;
  overflow-wrap: anywhere;
}
.pv-cart-lines button {
  border: 0;
  background: none;
  padding: 0;
  justify-self: start;
  text-decoration: underline;
  font-size: 12px;
  color: #777;
}
.pv-cart-lines label {
  display: grid;
  gap: 8px;
  font-size: 10px;
  text-align: right;
}
.pv-cart-lines input {
  width: 75px;
  margin-left: auto;
}
.pv-total {
  display: flex;
  justify-content: space-between;
  margin: 24px 0;
  font-size: 18px;
}
.pv-secondary {
  border: 1px solid #ddd;
  border-radius: 10px;
  background: white;
  padding: 12px 16px;
  font-size: 13px;
}
.pv-checkout {
  display: grid;
  gap: 20px;
  margin-top: 28px;
  border-top: 1px solid #eee;
  padding-top: 22px;
}
.pv-checkout h3 {
  margin: 0;
  font-size: 18px;
}
.pv-checkout fieldset {
  margin: 0;
}
.pv-modes {
  display: flex;
  gap: 24px;
  font-size: 14px;
}
.pv-modes label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.pv-modes input {
  accent-color: #222;
}
.pv-date-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.pv-muted {
  font-size: 12px;
  color: #777;
  line-height: 1.7;
}
.pv-checkout .pv-trap {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.pv-callout {
  padding: 16px;
  background: #f4f4f4;
  border: 1px solid #e4e4e4;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.7;
}
.pv-success > svg {
  background: var(--pv-color);
  border-radius: 50%;
  padding: 8px;
  width: 48px;
  height: 48px;
  margin-bottom: 20px;
}
.pv-success p {
  font-size: 14px;
  color: #666;
  line-height: 1.8;
}
.pv-success pre {
  font:
    13px/1.8 Inter,
    Arial,
    sans-serif;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  padding: 20px;
  background: #f7f7f7;
  border-radius: 12px;
}
.pv-success .pv-secondary {
  margin-top: 12px;
}
@media (max-width: 750px) {
  .pv-page main,
  .pv-nav,
  .pv-footer {
    padding-left: 20px;
    padding-right: 20px;
  }
  .pv-nav {
    height: 78px;
    gap: 14px;
  }
  .pv-nav-card {
    display: none;
  }
  .pv-brand {
    font-size: 19px;
  }
  .pv-nav .pv-button {
    font-size: 12px;
    padding: 12px;
  }
  .pv-hero {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 36px 0 50px;
  }
  .pv-hero h1 {
    font-size: 40px;
    letter-spacing: -1.5px;
  }
  .pv-hero-photo {
    max-height: 460px;
  }
  .pv-hero p {
    font-size: 14px;
  }
  .pv-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 14px;
  }
  .pv-product-photo {
    border-radius: 18px;
  }
  .pv-product-photo > button {
    width: 38px;
    height: 38px;
    border-radius: 11px;
    right: 8px;
    bottom: 8px;
  }
  .pv-product h3 {
    font-size: 15px;
  }
  .pv-price strong {
    font-size: 13px;
  }
  .pv-price small {
    font-size: 10px;
  }
  .pv-list {
    grid-template-columns: 1fr;
  }
  .pv-list .pv-product {
    min-height: 170px;
  }
  .pv-list .pv-product-photo {
    min-height: 170px;
  }
  .pv-list .pv-product-copy {
    padding: 18px;
  }
  .pv-info {
    gap: 26px;
    margin-top: 40px;
    padding: 32px 0;
  }
  .pv-footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 15px;
  }
  .pv-dialog {
    width: calc(100vw - 16px);
    max-height: 94dvh;
    border-radius: 20px;
  }
  .pv-modal-body {
    padding: 20px;
  }
  .pv-modal-bar {
    padding: 12px 20px;
  }
  .pv-modal-action {
    padding: 14px 20px;
  }
  .pv-product-intro {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .pv-product-intro > img,
  .pv-product-intro > .pv-no-photo {
    width: 100%;
    height: 230px;
  }
  .pv-quantity label {
    margin: 4px 0 0;
  }
  .pv-cart-lines article > img,
  .pv-cart-lines .pv-no-photo {
    width: 44px;
    height: 44px;
  }
  .pv-cart-lines article {
    gap: 10px;
  }
  .pv-cart-lines strong {
    font-size: 12px;
  }
  .pv-cart-lines input {
    width: 64px;
  }
  .pv-date-row {
    gap: 10px;
  }
  .pv-date-row input {
    max-width: 100%;
    width: 100%;
  }
}
@media (max-width: 750px) {
  .pv-modal-action .pv-button {
    font-size: 13px;
    gap: 8px;
  }
  .pv-modal-action .pv-button > svg {
    flex: none;
  }
}
@media (max-width: 750px) {
  .pv-hero > div:first-child {
    text-align: center;
  }
  .pv-hero p {
    margin-left: auto;
    margin-right: auto;
  }
  .pv-info {
    text-align: center;
  }
  .pv-info a {
    justify-content: center;
  }
  .pv-footer {
    align-items: center;
    text-align: center;
  }
}
.pv-checkout .pv-modes {
  flex-wrap: wrap;
  gap: 14px 24px;
}
.pv-checkout .pv-modes label {
  line-height: 1.5;
}
.pv-checkout .pv-modes input {
  flex: none;
}
.pv-quote {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
  gap: 36px;
  align-items: center;
  margin: 64px 0 0;
  padding: 42px;
  background: #f6f5f2;
  border: 1px solid #eee;
  border-radius: 26px;
}
.pv-quote h2 {
  font-size: clamp(26px, 3vw, 40px);
  letter-spacing: -1.2px;
  line-height: 1.2;
  margin: 0 0 18px;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.pv-quote p {
  font-size: 14px;
  color: #666;
  line-height: 1.8;
  margin: 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.pv-quote-action {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 14px;
  text-align: center;
}
.pv-quote-action small {
  font-size: 12px;
  color: #777;
  line-height: 1.7;
  overflow-wrap: anywhere;
}
.pv-quote .pv-button {
  max-width: 100%;
  white-space: normal;
}
.pv-quote .pv-button svg {
  flex: none;
}
@media (max-width: 750px) {
  .pv-quote {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 28px 22px;
    margin-top: 40px;
    text-align: center;
  }
}
.pv-quote {
  grid-template-columns: 1fr;
}
.pv-quote-with-image {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.pv-quote-image {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: 18px;
}
.pv-quote-copy {
  min-width: 0;
}
.pv-quote-copy .pv-quote-action {
  align-items: flex-start;
  text-align: left;
  margin-top: 26px;
}
.pv-quote-dialog select {
  font: inherit;
  font-size: 14px;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 9px;
  background: white;
  width: 100%;
  min-width: 0;
}
.pv-quote-dialog h3,
.pv-quote-dialog legend {
  display: flex;
  gap: 10px;
  align-items: center;
}
.pv-quote-formulas {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.pv-quote-formulas label {
  display: flex;
  gap: 12px;
  padding: 16px;
  border: 1px solid #ddd;
  border-radius: 12px;
  align-items: center;
}
.pv-quote-formulas small {
  display: block;
  font-size: 12px;
  color: #777;
  margin-top: 7px;
  line-height: 1.6;
}
.pv-quote-formulas input {
  flex: none;
  accent-color: #222;
}
.pv-checkout .pv-inline-check {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}
@media (max-width: 750px) {
  .pv-quote-with-image {
    grid-template-columns: 1fr;
  }
  .pv-quote-copy .pv-quote-action {
    align-items: center;
    text-align: center;
  }
  .pv-quote-formulas {
    grid-template-columns: 1fr;
  }
}
.pv-product-photo > button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: auto;
  min-width: 108px;
  height: 44px;
  padding: 0 13px;
  background: #fff;
  font-size: 14px;
  font-weight: 600;
  white-space: nowrap;
}
@media (max-width: 650px) {
  .pv-product-photo > button {
    width: auto;
    min-width: 94px;
    height: 40px;
    gap: 6px;
    padding: 0 10px;
    font-size: 12px;
  }
  .pv-product-photo > button svg {
    width: 16px;
    height: 16px;
  }
}

/* src/components/generated/SubscriptionPage.css */
.subscription-page {
  color: #222;
}
.subscription-account {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 24px;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 18px;
  margin-bottom: 40px;
}
.subscription-symbol {
  display: grid;
  place-items: center;
  background: #f5f5f5;
  border-radius: 14px;
  width: 50px;
  height: 50px;
  flex: none;
}
.subscription-account h2 {
  font-size: 16px;
  margin: 0 0 6px;
}
.subscription-account p {
  font-size: 13px;
  color: #777;
  margin: 0;
  overflow-wrap: anywhere;
}
.subscription-account > div {
  min-width: 0;
}
.subscription-status,
.subscription-soon {
  font-size: 12px;
  background: #eee;
  padding: 9px 12px;
  border-radius: 30px;
  white-space: nowrap;
}
.subscription-status {
  margin-left: auto;
}
.subscription-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  margin-bottom: 24px;
}
.subscription-heading h2 {
  font-size: 27px;
  letter-spacing: -.8px;
  margin: 0 0 10px;
}
.subscription-heading p {
  font-size: 14px;
  color: #777;
  margin: 0;
  line-height: 1.7;
}
.subscription-plans {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.subscription-plan {
  display: flex;
  flex-direction: column;
  padding: 28px 24px;
  border: 1px solid #e5e5e5;
  border-radius: 20px;
  background: white;
  min-width: 0;
}
.subscription-plan-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 14px;
  margin-bottom: 28px;
}
.subscription-plan h3 {
  font-size: 23px;
  letter-spacing: -.7px;
  margin: 0 0 12px;
}
.subscription-plan > p {
  font-size: 14px;
  line-height: 1.7;
  margin: 0;
  min-height: 48px;
  color: #666;
}
.subscription-price {
  font-size: 21px;
  font-weight: 600;
  margin: 28px 0;
}
.subscription-price small {
  display: block;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.6;
  margin-top: 8px;
}
.subscription-plan ul {
  display: grid;
  gap: 16px;
  list-style: none;
  margin: 0 0 30px;
  padding: 0;
}
.subscription-plan li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13px;
  line-height: 1.6;
}
.subscription-plan li svg {
  flex: none;
  margin-top: 2px;
}
.subscription-unavailable {
  display: block;
  margin-top: auto;
  border: 1px solid #ddd;
  border-radius: 10px;
  text-align: center;
  padding: 13px;
  font-size: 13px;
  background: #fafafa;
}
.subscription-featured {
  background:
    radial-gradient(
      ellipse at 90% 100%,
      #f8c4ab 0%,
      transparent 65%),
    radial-gradient(
      ellipse at 0% 100%,
      #efb3d5 0%,
      transparent 65%),
    #252127;
  color: #fff;
  border-color: #252127;
}
.subscription-featured > p {
  color: #eee;
}
.subscription-featured .subscription-unavailable {
  background: #252127;
  border-color: #252127;
  color: #fff;
}
.subscription-caption {
  font-size: 12px;
  color: #777;
  line-height: 1.7;
  margin: 18px 0 38px;
}
.subscription-billing {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 30px;
  padding: 28px;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 18px;
  margin-bottom: 24px;
}
.subscription-billing h2,
.subscription-faq h2 {
  margin: 0 0 12px;
  font-size: 21px;
  letter-spacing: -.5px;
}
.subscription-billing h3 {
  font-size: 15px;
  margin: 12px 0;
}
.subscription-billing p {
  font-size: 13px;
  color: #777;
  line-height: 1.8;
  margin: 0;
  max-width: 480px;
}
.subscription-faq {
  display: grid;
  grid-template-columns: 1fr 2fr;
  gap: 30px;
  margin: 48px 0 30px;
}
.subscription-faq details {
  border-bottom: 1px solid #ddd;
  padding: 19px 0;
}
.subscription-faq details:first-child {
  padding-top: 0;
}
.subscription-faq summary {
  cursor: pointer;
  font-size: 14px;
  font-weight: 550;
  line-height: 1.6;
  padding-right: 12px;
}
.subscription-faq details p {
  font-size: 14px;
  color: #666;
  line-height: 1.8;
  margin: 14px 0 0;
}
.subscription-faq summary:focus-visible {
  outline: 2px solid #222;
  outline-offset: 5px;
}
@media (max-width: 850px) {
  .subscription-plans {
    grid-template-columns: 1fr;
  }
  .subscription-plan {
    padding: 26px;
  }
  .subscription-plan > p {
    min-height: 0;
  }
  .subscription-plan-top {
    margin-bottom: 20px;
  }
  .subscription-heading {
    align-items: flex-start;
    flex-direction: column;
  }
  .subscription-heading h2 {
    font-size: 25px;
  }
  .subscription-account {
    flex-wrap: wrap;
    padding: 20px;
    margin-bottom: 30px;
  }
  .subscription-status {
    margin-left: 0;
  }
  .subscription-billing,
  .subscription-faq {
    grid-template-columns: 1fr;
    gap: 24px;
  }
  .subscription-billing {
    padding: 24px;
  }
  .subscription-faq {
    margin-top: 36px;
  }
  .subscription-plan li,
  .subscription-unavailable {
    font-size: 14px;
  }
  .subscription-faq summary {
    min-height: 30px;
  }
}

/* src/components/generated/SettingsPage.css */
.settings-page {
  max-width: 1100px;
  margin: 0 auto;
}
.settings-heading {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 25px;
}
.settings-heading h1 {
  font-size: 27px;
  letter-spacing: -.8px;
  margin: 0 0 8px;
}
.settings-heading p {
  margin: 0;
  color: #747474;
  font-size: 13px;
  line-height: 1.6;
}
.settings-icon {
  border: 0;
  background: transparent;
  display: grid;
  place-items: center;
  min-width: 40px;
  min-height: 40px;
  border-radius: 10px;
  color: inherit;
}
.settings-icon:hover {
  background: #ebebeb;
}
.settings-back {
  display: none;
}
.settings-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 28px;
  overflow-x: auto;
  padding-bottom: 4px;
}
.settings-tabs button {
  flex-shrink: 0;
  border: 0;
  border-radius: 24px;
  background: #eee;
  padding: 10px 18px;
  font-size: 13px;
  color: #555;
}
.settings-tabs button[aria-current=page] {
  background: #222;
  color: white;
}
.settings-card {
  background: white;
  border: 1px solid #e7e7e7;
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 24px;
}
.settings-card fieldset {
  border: 0;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.settings-section {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 35px;
  padding: 32px;
}
.settings-section + .settings-section {
  border-top: 1px solid #eee;
}
.settings-section h2,
.settings-security h2 {
  font-size: 17px;
  letter-spacing: -.3px;
  margin: 0 0 9px;
}
.settings-section-info > p,
.settings-security p {
  color: #777;
  font-size: 13px;
  line-height: 1.7;
  margin: 0 0 20px;
}
.settings-fields {
  display: grid;
  gap: 22px;
  align-content: start;
  min-width: 0;
}
.settings-page label {
  display: grid;
  gap: 9px;
  font-size: 13px;
  font-weight: 550;
  min-width: 0;
}
.settings-page input,
.settings-page textarea,
.settings-page select {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  padding: 12px 14px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fff;
  color: #222;
  font: inherit;
  font-weight: 400;
  font-size: 14px;
  line-height: 1.5;
}
.settings-page textarea {
  resize: vertical;
}
.settings-page input[readonly] {
  background: #fafafa;
  color: #777;
}
.settings-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.settings-help {
  font-size: 12px !important;
  color: #777;
  line-height: 1.7 !important;
  margin: 0;
}
.settings-avatar {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  flex: none;
  border-radius: 50%;
  background: #ebebeb;
  overflow: hidden;
  color: #555;
}
.settings-avatar img,
.top-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.settings-avatar-large {
  width: 96px;
  height: 96px;
}
.settings-photo {
  display: grid;
  justify-items: start;
  gap: 12px;
  margin-top: 25px;
}
.settings-page .settings-photo-upload {
  position: relative;
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #ddd;
  border-radius: 9px;
  padding: 9px 12px;
  font-size: 12px;
  cursor: pointer;
}
.settings-photo-upload input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  padding: 0;
}
.settings-photo-upload:focus-within {
  outline: 2px solid #222;
  outline-offset: 3px;
}
.settings-text {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 0;
  background: transparent;
  padding: 0;
  color: #555;
  font-size: 12px;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.settings-save {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  border-top: 1px solid #eee;
  padding: 20px 32px;
}
.settings-save span {
  font-size: 12px;
  color: #888;
}
.settings-save .primary-button {
  min-height: 42px;
  border-radius: 10px;
  white-space: normal;
}
.settings-page button:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.settings-security {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 35px;
  padding: 32px;
}
.settings-security form {
  display: grid;
  gap: 14px;
  margin-bottom: 25px;
}
.settings-security .bf-secondary {
  justify-self: start;
}
.settings-alert,
.settings-notice {
  padding: 14px 18px;
  border-radius: 12px;
  background: #fff;
  border: 1px solid #ddd;
  line-height: 1.6;
  font-size: 13px;
  margin: 0 0 20px;
}
.settings-alert {
  color: #922c2c;
}
.settings-notice {
  display: flex;
  gap: 10px;
  align-items: center;
}
.settings-preview {
  background: #fafafa;
  border: 1px solid #eee;
  padding: 20px;
  border-radius: 12px;
}
.settings-preview p {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  line-height: 1.7;
  font-size: 13px;
  margin: 22px 0 0;
}
.settings-invite-banner {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 13px;
  background:
    linear-gradient(
      105deg,
      #f6f2f7 25%,
      #f9dde7 75%,
      #ffe2bf);
  border: 0;
  border-radius: 13px;
  padding: 19px;
  text-align: left;
  color: #29232b;
}
.settings-invite-banner span {
  flex: 1;
  min-width: 0;
}
.settings-invite-banner strong {
  display: block;
  font-size: 13px;
  line-height: 1.5;
}
.settings-invite-banner small {
  display: block;
  font-size: 11px;
  color: #74656c;
  margin-top: 5px;
  line-height: 1.5;
}
.settings-invite-wide {
  margin-top: 8px;
  padding: 24px;
}
.settings-invite-wide strong {
  font-size: 15px;
}
.settings-invite-page {
  max-width: 560px;
  margin: 0 auto;
  padding: 20px 0 40px;
}
.settings-invite-page > h2 {
  font-size: 30px;
  letter-spacing: -1px;
  text-align: center;
  line-height: 1.2;
  margin: 20px auto;
  max-width: 400px;
}
.settings-invite-page > p:not([role]) {
  color: #777;
  font-size: 14px;
  line-height: 1.8;
  text-align: center;
}
.settings-invite-art {
  position: relative;
  display: grid;
  place-items: center;
  height: 125px;
  margin-top: 25px;
  color: #5b3b63;
}
.settings-invite-art > svg {
  position: relative;
  z-index: 1;
  transform: rotate(-8deg);
}
.settings-invite-art span {
  position: absolute;
  width: 112px;
  height: 112px;
  background: #f7c8dc;
  border-radius: 42% 58% 60% 40%;
  transform: rotate(20deg);
}
.settings-invite-art i {
  position: absolute;
  width: 50px;
  height: 50px;
  background: #ffd5a8;
  border-radius: 40%;
  margin-left: 115px;
  margin-top: 65px;
}
.settings-referral-note {
  font-size: 12px;
  line-height: 1.8;
  background: #f0eeee;
  border-radius: 12px;
  padding: 15px 18px;
  margin: 25px 0;
  color: #756970;
}
.settings-invite-page > label {
  margin-top: 22px;
}
.settings-copy-field {
  display: flex;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #fff;
  padding-right: 5px;
}
.settings-copy-field input {
  border: 0;
  background: transparent !important;
  font-size: 13px;
}
.settings-invite-actions {
  display: flex;
  gap: 12px;
  margin-top: 30px;
}
.settings-invite-actions > * {
  flex: 1;
  min-height: 46px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
}
.settings-invite-page [role=status] {
  color: #777;
  font-size: 13px;
}
.profile-menu {
  position: fixed;
  inset: 72px 24px auto auto;
  margin: 0;
  width: 350px;
  max-width: calc(100vw - 32px);
  max-height: calc(100dvh - 95px);
  box-sizing: border-box;
  border: 1px solid #e8e8e8;
  background: #fff;
  color: #222;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 12px 50px #0002;
  overflow: auto;
  font-family:
    Inter,
    Arial,
    sans-serif;
}
.profile-menu::backdrop {
  background: #0002;
}
.profile-menu > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 16px;
  padding-bottom: 10px;
}
.profile-menu-identity {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 12px 4px 24px;
}
.profile-menu-identity > div {
  min-width: 0;
}
.profile-menu-identity strong {
  display: block;
  font-size: 15px;
  overflow-wrap: anywhere;
}
.profile-menu-identity span:not(.settings-avatar) {
  display: block;
  font-size: 12px;
  color: #888;
  margin-top: 6px;
  overflow-wrap: anywhere;
}
.profile-menu nav {
  display: grid;
  gap: 4px;
  margin: 16px 0;
}
.profile-menu nav button,
.profile-menu footer button {
  display: flex;
  align-items: center;
  gap: 13px;
  width: 100%;
  padding: 14px 12px;
  border: 0;
  background: none;
  border-radius: 10px;
  text-align: left;
  color: #444;
  font-size: 14px;
}
.profile-menu nav button span {
  flex: 1;
}
.profile-menu nav button:hover,
.profile-menu footer button:hover {
  background: #f2f2f2;
}
.profile-menu footer {
  border-top: 1px solid #eee;
  padding-top: 10px;
}
.profile-menu footer p {
  font-size: 12px;
  color: #922c2c;
}
.top-avatar {
  overflow: hidden;
  border: 0;
}
.settings-loading {
  padding: 40px 0;
}
.settings-loading p {
  line-height: 1.8;
}
.settings-page .settings-security button {
  white-space: normal;
}
@media (max-width: 790px) {
  .profile-menu {
    inset: 0;
    margin: 0;
    width: 100%;
    max-width: none;
    height: 100dvh;
    max-height: none;
    border: 0;
    border-radius: 0;
    padding: calc(16px + env(safe-area-inset-top)) 20px calc(24px + env(safe-area-inset-bottom));
    background: #fafafa;
  }
  .profile-menu > header {
    font-size: 18px;
  }
  .profile-menu-identity {
    padding: 25px 0 30px;
  }
  .profile-menu nav {
    background: #fff;
    padding: 8px;
    border-radius: 16px;
    margin-top: 22px;
  }
  .profile-menu nav button,
  .profile-menu footer button {
    min-height: 54px;
    font-size: 15px;
  }
  .profile-menu-identity .settings-avatar {
    width: 60px;
    height: 60px;
  }
  .settings-heading h1 {
    font-size: 25px;
  }
  .settings-heading p {
    font-size: 12px;
  }
  .settings-back {
    display: grid;
  }
  .settings-tabs {
    margin-bottom: 20px;
    gap: 7px;
  }
  .settings-tabs button {
    font-size: 13px;
    padding: 10px 15px;
  }
  .settings-section,
  .settings-security {
    grid-template-columns: 1fr;
    gap: 24px;
    padding: 24px 20px;
  }
  .settings-section-info > p {
    margin-bottom: 0;
  }
  .settings-section-info .settings-text {
    margin-top: 14px;
  }
  .settings-fields {
    gap: 20px;
  }
  .settings-grid {
    grid-template-columns: 1fr;
  }
  .settings-page input,
  .settings-page textarea,
  .settings-page select {
    font-size: 16px;
  }
  .settings-page label {
    font-size: 14px;
  }
  .settings-save {
    padding: 18px 20px;
    flex-direction: column;
    align-items: stretch;
  }
  .settings-save span {
    font-size: 11px;
  }
  .settings-save button {
    width: 100%;
    min-height: 46px !important;
  }
  .settings-card {
    border-radius: 16px;
    margin-bottom: 20px;
  }
  .settings-photo {
    margin-top: 20px;
  }
  .settings-invite-page {
    padding-top: 0;
  }
  .settings-invite-page > h2 {
    font-size: 28px;
  }
  .settings-invite-actions {
    flex-direction: column;
  }
  .settings-invite-wide {
    padding: 20px;
  }
  .settings-invite-banner strong {
    font-size: 14px;
  }
  .settings-invite-banner small {
    font-size: 12px;
  }
  .settings-invite-actions > * {
    font-size: 14px;
  }
  .settings-invite-page .settings-copy-field input {
    font-size: 13px;
  }
  .settings-security {
    gap: 16px;
  }
}
.settings-page .settings-invite-actions > * {
  min-height: 46px;
  text-decoration: none;
}

/* src/components/generated/ContentStudio.css */
.cs-page {
  max-width: 1250px;
  margin: auto;
  color: #222;
}
.cs-page button {
  cursor: pointer;
}
.cs-page button:disabled {
  cursor: not-allowed;
  opacity: .45;
}
.cs-page button:focus-visible,
.cs-page input:focus-visible,
.cs-page textarea:focus-visible {
  outline: 2px solid #222;
  outline-offset: 4px;
}
.cs-heading,
.cs-section-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}
.cs-heading h1 {
  font-size: 28px;
  letter-spacing: -1px;
  margin: 0 0 9px;
}
.cs-heading p,
.cs-section-heading p {
  font-size: 13px;
  color: #777;
  line-height: 1.7;
  margin: 0;
}
.cs-page h2 {
  font-size: 19px;
  letter-spacing: -.5px;
  margin: 0 0 8px;
}
.cs-page .primary-button,
.cs-page .bf-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 42px;
  font-size: 12px;
}
.cs-back {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  border: 0;
  background: none;
  padding: 0;
  margin-bottom: 14px;
  color: #666;
  font-size: 12px;
}
.cs-tabs {
  display: flex;
  gap: 26px;
  border-bottom: 1px solid #ddd;
  margin-bottom: 28px;
}
.cs-tabs button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: none;
  padding: 14px 0;
  color: #777;
  font-size: 13px;
}
.cs-tabs button[aria-pressed=true] {
  border-color: #222;
  color: #222;
  font-weight: 600;
}
.cs-tabs span {
  background: #e9e9e9;
  border-radius: 5px;
  padding: 2px 7px;
  font-size: 10px;
}
.cs-intro {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 40px;
  padding: 36px;
  border: 1px solid #e3e3e3;
  background: white;
  border-radius: 18px;
  margin-bottom: 36px;
  overflow: hidden;
}
.cs-kicker {
  font-size: 10px;
  letter-spacing: 1.5px;
  color: #888;
}
.cs-intro h2 {
  font-size: 32px;
  line-height: 1.2;
  letter-spacing: -1.2px;
  margin: 18px 0;
}
.cs-intro p {
  font-size: 13px;
  color: #777;
  line-height: 1.8;
  max-width: 390px;
}
.cs-path {
  display: flex;
  gap: 12px;
  align-items: center;
  font-size: 11px;
  margin-top: 28px;
  color: #555;
}
.cs-path > span {
  color: #aaa;
}
.cs-preview-stack {
  position: relative;
  min-height: 245px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 14px;
}
.cs-preview-stack > div {
  border: 1px solid #ddd;
  border-radius: 16px;
  width: 200px;
  height: 245px;
  padding: 24px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #f1f0ed;
  font-size: 11px;
  transform: rotate(-8deg);
  box-shadow: 0 6px 15px #0001;
}
.cs-preview-stack > div + div {
  margin-left: -24px;
  background: #242424;
  color: white;
  transform: rotate(9deg);
}
.cs-preview-stack strong {
  font-size: 28px;
  line-height: 1.15;
  letter-spacing: -1px;
}
.cs-preview-stack span {
  font-size: 10px;
}
.cs-search {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #ddd;
  border-radius: 8px;
  background: white;
  padding: 10px 12px;
}
.cs-search input {
  background: none;
  border: 0;
  outline: 0;
  min-width: 0;
  font: inherit;
  font-size: 12px;
  width: 180px;
}
.cs-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.cs-product,
.cs-saved {
  padding: 0;
  text-align: left;
  border: 1px solid #e3e3e3;
  border-radius: 14px;
  background: white;
  overflow: hidden;
}
.cs-product:hover {
  border-color: #888;
}
.cs-product > img,
.cs-missing {
  width: 100%;
  height: 190px;
  object-fit: cover;
}
.cs-missing {
  display: grid;
  place-items: center;
  background: #eee;
  color: #888;
}
.cs-product > div:not(.cs-missing),
.cs-saved > div {
  padding: 18px;
}
.cs-product small,
.cs-saved small {
  display: block;
  font-size: 10px;
  color: #777;
  margin-bottom: 10px;
}
.cs-product strong,
.cs-saved strong {
  font-size: 15px;
  display: block;
  line-height: 1.5;
  margin-bottom: 10px;
}
.cs-product span {
  font-size: 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
}
.cs-note {
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 22px 0;
  margin-top: 20px;
  border-top: 1px solid #ddd;
  color: #777;
}
.cs-note svg {
  flex: none;
}
.cs-note p {
  font-size: 12px;
  line-height: 1.8;
  max-width: 650px;
  margin: 0;
}
.cs-empty {
  padding: 44px;
  text-align: center;
  background: white;
  border: 1px dashed #ddd;
  border-radius: 14px;
  font-size: 13px;
  color: #777;
}
.cs-empty h3 {
  color: #333;
  font-size: 17px;
}
.cs-empty p {
  line-height: 1.8;
}
.cs-steps {
  list-style: none;
  display: flex;
  gap: 26px;
  padding: 18px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  margin: 0 0 28px;
  color: #888;
  font-size: 12px;
}
.cs-steps li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cs-steps .is-current {
  color: #222;
  font-weight: 650;
}
.cs-templates {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}
.cs-templates > button {
  text-align: left;
  border: 2px solid transparent;
  border-radius: 13px;
  background: white;
  padding: 12px;
}
.cs-templates > button.is-selected {
  border-color: #222;
}
.cs-templates strong {
  display: flex;
  justify-content: space-between;
  margin: 18px 3px 8px;
  font-size: 14px;
}
.cs-templates p {
  font-size: 11px;
  color: #777;
  margin: 0 3px 10px;
  line-height: 1.7;
}
.cs-poster {
  aspect-ratio: 4/5;
  width: 100%;
  background: #edeae5;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-radius: 5px;
}
.cs-poster img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.cs-poster p {
  padding: 20px;
  font-size: 13px;
  color: #666;
}
.cs-bottom {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  margin-top: 28px;
  font-size: 12px;
  color: #777;
}
.cs-workspace {
  display: grid;
  grid-template-columns: minmax(300px, 1fr) minmax(0, 1.1fr);
  align-items: start;
  gap: 28px;
}
.cs-editor {
  border: 1px solid #e3e3e3;
  border-radius: 14px;
  background: white;
  padding: 24px;
  display: grid;
  gap: 22px;
}
.cs-editor-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: baseline;
}
.cs-editor-title h2 {
  font-size: 17px;
}
.cs-source {
  display: flex;
  gap: 12px;
  padding: 15px;
  background: #f7f7f7;
  border-radius: 9px;
}
.cs-source strong {
  display: block;
  font-size: 12px;
}
.cs-source small {
  display: block;
  color: #777;
  font-size: 10px;
  margin-top: 7px;
}
.cs-editor label {
  display: grid;
  gap: 10px;
  font-size: 12px;
  font-weight: 600;
}
.cs-editor input:not([type=file]),
.cs-editor textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 12px;
  font:
    400 13px/1.7 Inter,
    Arial,
    sans-serif;
  resize: vertical;
}
.cs-editor small {
  font-size: 10px;
  color: #777;
  font-weight: 400;
  line-height: 1.6;
}
.cs-photo-field {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cs-photo-field img {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 9px;
}
.cs-suggestion {
  display: flex;
  gap: 12px;
  border-top: 1px solid #eee;
  padding-top: 20px;
  align-items: start;
}
.cs-suggestion svg {
  flex: none;
}
.cs-suggestion strong {
  font-size: 12px;
}
.cs-suggestion p {
  font-size: 11px;
  line-height: 1.7;
  color: #777;
  margin: 6px 0 0;
}
.cs-suggestion button {
  background: #f4f4f4;
  border: 0;
  padding: 10px;
  border-radius: 8px;
  margin-left: auto;
}
.cs-preview {
  padding: 22px;
  background: #eeedeb;
  border-radius: 14px;
  position: sticky;
  top: 20px;
}
.cs-preview-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 20px;
  font-size: 12px;
}
.cs-preview-heading small {
  color: #777;
  font-size: 10px;
}
.cs-preview .cs-poster {
  max-width: 470px;
  margin: auto;
  box-shadow: 0 8px 24px #0001;
}
.cs-confirm {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 11px;
  line-height: 1.7;
  margin: 22px 0 16px;
}
.cs-confirm input {
  width: 17px;
  height: 17px;
  accent-color: #222;
  flex: none;
}
.cs-download {
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-bottom: 15px;
}
.cs-local {
  color: #777;
  font-size: 11px;
  line-height: 1.7;
}
.cs-alert {
  padding: 14px;
  background: #f5f2ec;
  border: 1px solid #ddd2bc;
  border-radius: 8px;
  font-size: 12px;
  line-height: 1.7;
  margin-bottom: 16px;
}
.cs-alert button {
  display: flex;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
  border: 1px solid #ccc;
  background: white;
  border-radius: 7px;
  padding: 9px;
  font-size: 11px;
}
.cs-notice {
  padding: 12px 16px;
  background: #eee;
  border-radius: 8px;
  font-size: 12px;
}
.cs-saved > img {
  width: 100%;
  aspect-ratio: 4/5;
  object-fit: cover;
}
.cs-saved > div > button:last-child {
  border: 0;
  background: none;
  padding: 12px;
  margin-left: 10px;
}
@media (max-width: 1050px) {
  .cs-intro {
    gap: 20px;
    padding: 24px;
  }
  .cs-preview-stack > div {
    width: 150px;
    height: 220px;
  }
  .cs-preview-stack strong {
    font-size: 23px;
  }
  .cs-workspace {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .cs-download {
    flex-wrap: wrap;
  }
  .cs-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 700px) {
  .cs-heading,
  .cs-section-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }
  .cs-intro {
    grid-template-columns: 1fr;
  }
  .cs-intro h2 {
    font-size: 28px;
  }
  .cs-preview-stack {
    display: none;
  }
  .cs-search,
  .cs-search input {
    width: 100%;
  }
  .cs-products {
    gap: 14px;
  }
  .cs-product > img,
  .cs-missing {
    height: 140px;
  }
  .cs-product > div:not(.cs-missing) {
    padding: 12px;
  }
  .cs-product strong {
    font-size: 13px;
  }
  .cs-product span {
    font-size: 10px;
  }
  .cs-templates {
    grid-template-columns: 1fr;
    max-width: 400px;
    margin: auto;
  }
  .cs-workspace {
    grid-template-columns: 1fr;
  }
  .cs-preview {
    position: static;
    padding: 16px;
  }
  .cs-steps {
    gap: 12px;
    font-size: 10px;
    justify-content: space-between;
  }
  .cs-steps li {
    flex: 1;
    line-height: 1.6;
  }
  .cs-bottom {
    align-items: flex-start;
    flex-direction: column;
  }
  .cs-editor {
    padding: 18px;
  }
  .cs-editor-title {
    flex-wrap: wrap;
  }
  .cs-path {
    gap: 8px;
    font-size: 10px;
  }
  .cs-download {
    justify-content: stretch;
  }
  .cs-download button {
    flex: 1;
  }
  .cs-saved > div {
    padding: 12px;
  }
  .cs-heading h1 {
    font-size: 26px;
  }
}
.cs-choice-dialog {
  width: min(560px, calc(100vw - 32px));
  max-height: 90dvh;
  overflow: auto;
  border: 1px solid #ddd;
  border-radius: 18px;
  padding: 28px;
  color: #222;
}
.cs-choice-dialog::backdrop {
  background: #0006;
}
.cs-choice-dialog > p {
  font-size: 13px;
  line-height: 1.7;
  color: #777;
}
.cs-choice {
  display: grid;
  grid-template-columns: 32px 1fr;
  gap: 8px 14px;
  width: 100%;
  text-align: left;
  padding: 22px;
  margin-top: 16px;
  border: 1px solid #ddd;
  border-radius: 12px;
  background: white;
}
.cs-choice:hover {
  background: #f6f6f6;
  border-color: #777;
}
.cs-choice svg {
  grid-row: span 2;
}
.cs-choice strong {
  font-size: 15px;
}
.cs-choice span {
  font-size: 12px;
  color: #777;
  line-height: 1.7;
}

/* src/components/generated/ContentsAccess.css */
.contents-coming {
  max-width: 1000px;
  margin: 0 auto;
  color: #263426;
}
.contents-coming header h1 {
  font-size: 32px;
  margin: 0 0 8px;
  font-weight: 750;
}
.contents-coming header p {
  color: #757970;
  margin: 0 0 32px;
}
.contents-coming-card {
  position: relative;
  overflow: hidden;
  text-align: center;
  background:
    radial-gradient(
      ellipse at 90% 100%,
      #e5a5b530,
      transparent 55%),
    radial-gradient(
      ellipse at 0 100%,
      #dceaa14d,
      transparent 60%),
    #fff;
  border: 1px solid #e5e7e2;
  border-radius: 24px;
  padding: 56px 28px 32px;
}
.contents-bloom {
  position: relative;
  display: grid;
  place-items: center;
  width: 120px;
  height: 108px;
  margin: 0 auto 32px;
}
.contents-bloom span {
  position: absolute;
  width: 64px;
  height: 88px;
  border-radius: 65% 65% 48% 48%;
  background: #dceaa1;
  transform: rotate(-42deg);
  left: 12px;
  bottom: 0;
}
.contents-bloom span:nth-child(2) {
  background: #e5a5b5;
  transform: rotate(42deg);
  left: 45px;
}
.contents-bloom span:nth-child(3) {
  background: #e9eddf;
  left: 29px;
  bottom: 9px;
  transform: none;
}
.contents-bloom svg {
  position: relative;
  color: #526333;
}
.contents-coming-label {
  display: inline-block;
  font-size: 13px;
  font-weight: 600;
  color: #526333;
  background: #f0f3e8;
  padding: 8px 14px;
  border-radius: 30px;
}
.contents-coming-card h2 {
  font-size: clamp(32px, 5vw, 48px);
  line-height: 1.13;
  letter-spacing: -1.2px;
  margin: 24px 0 18px;
  font-weight: 750;
}
.contents-coming-card > p {
  max-width: 480px;
  margin: 0 auto;
  line-height: 1.75;
  color: #6e746a;
  font-size: 16px;
}
.contents-coming-foot {
  margin-top: 40px;
  padding-top: 24px;
  border-top: 1px solid #26342612;
  color: #707768;
  font-size: 13px;
  display: flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
}
.contents-coming-foot span {
  height: 6px;
  width: 6px;
  background: #526333;
  border-radius: 50%;
}
.contents-admin {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 20px;
  padding: 24px 0;
}
.contents-admin > div {
  display: flex;
  gap: 12px;
  align-items: center;
}
.contents-admin strong {
  font-size: 14px;
}
.contents-admin p {
  font-size: 13px;
  color: #757970;
  margin: 5px 0 0;
}
.contents-admin button {
  display: flex;
  align-items: center;
  gap: 14px;
  background: #526333;
  color: white;
  border: 0;
  border-radius: 12px;
  padding: 13px 18px;
  font-weight: 600;
  min-height: 44px;
}
.contents-admin button:disabled {
  opacity: .6;
}
.contents-admin button:focus-visible,
.contents-return:focus-visible {
  outline: 2px solid #526333;
  outline-offset: 4px;
}
.contents-return {
  display: flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 0;
  color: #526333;
  padding: 8px 0;
  margin-bottom: 20px;
}
@media (max-width: 600px) {
  .contents-coming header h1 {
    font-size: 26px;
  }
  .contents-coming-card {
    padding: 36px 20px 24px;
    border-radius: 20px;
  }
  .contents-coming-card > p {
    font-size: 15px;
  }
  .contents-admin {
    align-items: stretch;
  }
  .contents-admin button {
    width: 100%;
    justify-content: center;
  }
}
.contents-coming-card {
  padding: 40px 20px 28px;
  background:
    radial-gradient(
      ellipse at 50% 80%,
      #e9eddf65,
      transparent 58%),
    #fff;
}
.contents-coming-card h2 {
  font-size: clamp(29px, 3.5vw, 44px);
}
.content-showcase {
  margin: 26px -20px 0;
}
.content-showcase-scene {
  position: relative;
  height: 510px;
  max-width: 900px;
  margin: auto;
  isolation: isolate;
}
.showcase-post {
  position: absolute;
  overflow: hidden;
  border-radius: 14px;
  box-shadow: 0 16px 35px #26342618;
  text-align: left;
  width: 25%;
  height: 310px;
  top: 105px;
}
.showcase-post > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.showcase-post > div {
  position: absolute;
  inset: 22px 16px auto;
}
.showcase-post small,
.showcase-phone-photo small {
  font-size: 9px;
  letter-spacing: 1.5px;
  font-weight: 700;
  display: block;
}
.showcase-post strong {
  display: block;
  font-size: 34px;
  line-height: 1.02;
  letter-spacing: -1.4px;
  margin-top: 12px;
}
.showcase-post p {
  font-size: 12px;
  line-height: 1.4;
  margin-top: 12px;
}
.showcase-sold {
  left: 5%;
  transform: rotate(-8deg);
  color: #432f26;
  background: #f7f4e9;
}
.showcase-yassa {
  right: 5%;
  transform: rotate(8deg);
  color: white;
}
.showcase-yassa:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(#17251299, transparent 65%);
  pointer-events: none;
}
.showcase-yassa > div,
.showcase-tag {
  z-index: 1;
}
.showcase-tag {
  position: absolute;
  bottom: 16px;
  left: 12px;
  right: 12px;
  text-align: center;
  font-size: 10px;
  background: #f7f4e9;
  color: #263426;
  padding: 8px;
  border-radius: 20px;
}
.showcase-phone {
  position: absolute;
  left: 50%;
  top: 12px;
  transform: translateX(-50%);
  width: 254px;
  background: #fff;
  border: 7px solid #263426;
  border-radius: 37px;
  overflow: hidden;
  box-shadow: 8px 25px 35px #26342630;
  z-index: 2;
  text-align: left;
}
.showcase-phone-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 27px;
  padding: 0 16px;
  font-size: 9px;
  font-weight: 700;
}
.showcase-phone-top i {
  width: 65px;
  height: 13px;
  background: #263426;
  border-radius: 20px;
}
.showcase-account {
  padding: 12px 10px;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 10px;
}
.showcase-account b {
  flex: 1;
}
.showcase-account small {
  display: block;
  font-size: 8px;
  font-weight: 400;
  color: #777;
  margin-top: 3px;
}
.showcase-avatar {
  background: #e9eddf;
  border-radius: 50%;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  font-size: 18px;
  font-weight: 700;
}
.showcase-phone-photo {
  height: 298px;
  position: relative;
  overflow: hidden;
}
.showcase-phone-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.showcase-phone-photo:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(#26342688, transparent 60%);
}
.showcase-phone-photo > div {
  position: absolute;
  top: 23px;
  left: 18px;
  color: #fff;
  z-index: 1;
}
.showcase-phone-photo strong {
  font-size: 39px;
  line-height: 1;
  letter-spacing: -1.2px;
  display: block;
  margin: 12px 0;
}
.showcase-phone-photo span {
  font-size: 10px;
}
.showcase-social {
  display: flex;
  gap: 10px;
  padding: 12px 12px 6px;
}
.showcase-social svg {
  width: 16px;
  height: 16px;
}
.showcase-social svg:last-child {
  margin-left: auto;
}
.showcase-caption {
  font-size: 9px;
  line-height: 1.5;
  margin: 0;
  padding: 0 12px 13px;
}
.showcase-home-bar {
  height: 4px;
  width: 75px;
  background: #263426;
  border-radius: 4px;
  margin: 0 auto 8px;
}
.content-showcase figcaption {
  font-size: 15px;
  padding: 0 20px;
  color: #263426;
}
.content-showcase figcaption span {
  display: block;
  color: #81867c;
  font-size: 12px;
  margin-top: 9px;
}
@media (max-width: 700px) {
  .content-showcase-scene {
    height: 455px;
  }
  .showcase-phone {
    width: 224px;
  }
  .showcase-phone-photo {
    height: 255px;
  }
  .showcase-post {
    width: 28%;
    height: 260px;
    top: 90px;
  }
  .showcase-sold {
    left: 0;
  }
  .showcase-yassa {
    right: 0;
  }
  .showcase-post strong {
    font-size: 24px;
  }
  .showcase-post small {
    font-size: 7px;
  }
  .showcase-post p {
    font-size: 10px;
  }
  .showcase-tag {
    font-size: 8px;
  }
  .showcase-phone-photo strong {
    font-size: 34px;
  }
}
@media (max-width: 480px) {
  .contents-coming-card {
    padding: 30px 16px 24px;
  }
  .content-showcase {
    margin: 22px -16px 0;
    overflow: hidden;
  }
  .content-showcase-scene {
    width: 460px;
    max-width: none;
    left: 50%;
    transform: translateX(-50%);
    height: 435px;
  }
  .showcase-phone {
    width: 210px;
  }
  .showcase-phone-photo {
    height: 238px;
  }
  .showcase-post {
    width: 140px;
    height: 250px;
    top: 75px;
  }
  .showcase-post > div {
    inset: 15px 12px auto;
  }
  .showcase-sold {
    left: 0;
  }
  .showcase-yassa {
    right: 0;
  }
  .content-showcase figcaption {
    font-size: 13px;
  }
  .content-showcase figcaption span {
    font-size: 11px;
  }
  .contents-coming-card > p {
    font-size: 14px;
  }
}
@media (max-width: 480px) {
  .content-showcase-scene {
    height: 465px;
  }
}
.contents-coming {
  max-width: none;
  width: 100%;
  margin: 0;
}
.contents-coming-card {
  padding-top: 28px;
}
.contents-coming-card .content-showcase {
  margin-top: 16px;
}
.content-showcase-scene {
  max-width: 1040px;
}
.contents-coming-card .content-showcase figcaption {
  font-size: 14px;
}
@media (min-width: 791px) {
  .content-showcase-scene {
    height: 530px;
  }
  .showcase-post {
    width: 26%;
    height: 330px;
    top: 100px;
  }
  .showcase-sold {
    left: 6%;
  }
  .showcase-yassa {
    right: 6%;
  }
}
@media (max-width: 480px) {
  .contents-coming-card {
    padding-top: 24px;
  }
}
@media (min-width: 791px) {
  .contents-coming-card > p {
    max-width: 660px;
    text-wrap: balance;
  }
}
.showcase-sold {
  container-type: inline-size;
}
.showcase-sold strong {
  white-space: nowrap;
  font-size: clamp(13px, 9.5cqw, 28px);
  letter-spacing: -.6px;
}
.showcase-phone-photo span {
  display: inline-block;
  background: rgba(255, 255, 255, .8);
  color: #263426;
  padding: 7px 10px;
  border-radius: 5px;
  line-height: 1.4;
}

/* src/components/generated/IngredientPicker.css */
.ingredient-picker {
  position: relative;
  margin-bottom: 24px;
}
.ingredient-picker .ingredient-search {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 0 12px;
  background: #fff;
}
.cat-card .ingredient-picker .ingredient-search input:not([type=checkbox]):not([type=file]) {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  background: transparent;
  margin: 0;
  padding: 12px 0;
  width: 100%;
  min-width: 0;
}
.ingredient-search:focus-within {
  outline: 2px solid #222;
  outline-offset: 2px;
}
.cat-card .ingredient-picker .ingredient-search input:not([type=checkbox]):not([type=file]):focus-visible {
  outline: none;
}
.ingredient-options {
  margin-top: 8px;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 12px;
  max-height: 260px;
  overflow-y: auto;
  background: #fff;
}
.ingredient-caption {
  display: block;
  color: #777;
  font-size: 11px;
  padding: 8px;
}
.ingredient-options button {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  width: 100%;
  padding: 10px;
  text-align: left;
  font-size: 13px;
  overflow-wrap: anywhere;
}
.ingredient-options button:hover,
.ingredient-options button[aria-pressed=true] {
  background: #f3f3f3;
}
.ingredient-tick {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  border: 1px solid #bbb;
  border-radius: 5px;
  display: grid;
  place-items: center;
}
.ingredient-tick.is-selected {
  background: #222;
  color: #fff;
  border-color: #222;
}
.ingredient-selected {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-top: 12px;
}
.ingredient-selected > span {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 9px;
  border-radius: 8px;
  background: #ebebeb;
  font-size: 12px;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.ingredient-selected button {
  border: 0;
  background: none;
  display: grid;
  place-items: center;
  padding: 2px;
}
.cat-card label.cat-meat-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 16px;
}
.cat-card label.cat-meat-toggle input {
  width: 18px;
  height: 18px;
  margin: 0;
  flex-shrink: 0;
}

/* src/components/generated/Catalogue.css */
.cat-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 25px;
}
.cat-heading h1 {
  font-size: 25px;
  letter-spacing: -1px;
  font-weight: 700;
  margin: 0 0 8px;
}
.cat-heading p {
  font-size: 12px;
  color: #666;
  margin: 0;
}
.cat-actions {
  display: flex;
  gap: 10px;
  flex-shrink: 0;
}
.cat-actions button {
  min-height: 38px;
}
.cat-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid #e9e9e9;
  flex-wrap: wrap;
}
.cat-toolbar .search-field {
  max-width: 300px;
  min-width: 180px;
}
.cat-tabs {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}
.cat-tabs button {
  display: flex;
  gap: 8px;
  align-items: center;
}
.cat-tabs span {
  font-size: 10px;
  color: #777;
}
.cat-table-heading,
.cat-product-row {
  display: grid;
  grid-template-columns: minmax(220px, 2fr) minmax(95px, .7fr) minmax(100px, .8fr) minmax(110px, .8fr) 18px;
  align-items: center;
  gap: 18px;
  padding: 12px 22px;
}
.cat-table-heading {
  font-size: 11px;
  color: #666;
  background: #fafafa;
  border-bottom: 1px solid #eee;
}
.cat-table-heading > span:nth-child(4) {
  text-align: right;
}
.cat-product-row {
  width: 100%;
  text-align: left;
  background: #fff;
  border: 0;
  border-bottom: 1px solid #eee;
  padding-top: 18px;
  padding-bottom: 18px;
  min-height: 102px;
}
.cat-product-row:hover {
  background: #fafafa;
}
.cat-product-name {
  display: flex;
  align-items: center;
  gap: 15px;
  min-width: 0;
}
.cat-product-name strong {
  display: block;
  font-size: 13px;
  font-weight: 600;
  overflow-wrap: anywhere;
}
.cat-product-name small {
  display: block;
  color: #777;
  font-size: 11px;
  margin-top: 6px;
}
.cat-thumb {
  height: 62px;
  width: 62px;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  overflow: hidden;
  flex: none;
  background: #f7f7f7;
}
.cat-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cat-availability {
  font-size: 11px;
  color: #666;
}
.cat-price {
  text-align: right;
  font-size: 12px;
  font-weight: 550;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.cat-price small {
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: #777;
  margin-top: 5px;
}
.cat-product-row > svg {
  color: #888;
}
.cat-list-footer {
  padding: 15px 22px;
  color: #777;
  font-size: 11px;
}
.cat-empty {
  padding: 50px 20px;
  text-align: center;
  color: #777;
}
.cat-empty > svg {
  display: block;
  margin: 0 auto 15px;
}
.cat-empty h2 {
  font-size: 17px;
  color: #222;
}
.cat-empty p {
  font-size: 12px;
}
.cat-notice {
  display: flex;
  gap: 8px;
  align-items: center;
  background: white;
  border: 1px solid #ddd;
  padding: 12px 15px;
  border-radius: 8px;
  font-size: 12px;
}
.cat-back {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #666;
  border: 0;
  background: none;
  padding: 0;
  margin: 0 0 16px;
  font-size: 12px;
}
.cat-edit-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 285px;
  gap: 22px;
  align-items: start;
}
.cat-main-fields,
.cat-side-fields {
  display: grid;
  gap: 20px;
}
.cat-card {
  padding: 22px;
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 12px;
  box-shadow: 0 1px 2px #0000000a;
  min-width: 0;
}
.cat-card h2 {
  margin: 0 0 19px;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: -.25px;
}
.cat-card label {
  display: flex;
  flex-direction: column;
  gap: 9px;
  font-size: 12px;
  font-weight: 550;
  margin-bottom: 20px;
}
.cat-card label:last-child {
  margin-bottom: 0;
}
.cat-card input:not([type=checkbox]):not([type=file]),
.cat-card select,
.cat-card textarea {
  width: 100%;
  min-width: 0;
  border: 1px solid #dcdcdc;
  border-radius: 7px;
  min-height: 40px;
  padding: 10px 11px;
  background: #fdfdfd;
  color: #222;
  font: inherit;
  font-weight: 400;
  font-size: 13px;
}
.cat-card textarea {
  resize: vertical;
  line-height: 1.8;
}
.cat-card input:focus-visible,
.cat-card select:focus-visible,
.cat-card textarea:focus-visible {
  outline: 2px solid #333;
  outline-offset: 2px;
}
.cat-help {
  font-size: 11px;
  line-height: 1.7;
  color: #777;
  margin: 12px 0 0;
}
.cat-card-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 18px;
}
.cat-card-heading h2 {
  margin: 0;
}
.cat-card-heading > span {
  color: #888;
  font-size: 11px;
}
.cat-image-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.cat-image-item {
  position: relative;
  height: 210px;
  border: 1px solid #e3e3e3;
  border-radius: 8px;
  overflow: hidden;
  background: #fafafa;
}
.cat-image-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cat-image-remove {
  position: absolute;
  right: 8px;
  top: 8px;
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  color: #333;
}
.cat-cover {
  position: absolute;
  bottom: 8px;
  left: 8px;
  right: 8px;
  text-align: center;
  border: 1px solid #ddd;
  border-radius: 5px;
  background: #fffffff2;
  color: #333;
  font-size: 10px;
  padding: 7px;
}
.cat-dropzone {
  border: 1px dashed #ccc;
  background: #fdfdfd;
  border-radius: 8px;
  padding: 27px 15px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 13px;
  margin-top: 12px;
}
.cat-dropzone p {
  font-size: 11px;
  color: #777;
  margin: 0;
}
.cat-dropzone small {
  font-size: 10px;
  color: #888;
}
.cat-dropzone > svg {
  color: #777;
}
.cat-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
.cat-fields label {
  margin: 0;
}
.cat-card .cat-checkbox {
  flex-direction: row;
  align-items: center;
  gap: 9px;
  font-weight: 400;
}
.cat-checkbox input {
  width: 16px;
  height: 16px;
  accent-color: #202020;
}
.cat-preview-photo {
  height: 170px;
  background: #f5f5f5;
  border-radius: 8px;
  overflow: hidden;
}
.cat-preview-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cat-mini-preview h3 {
  font-size: 14px;
  margin: 16px 0 10px;
  font-weight: 600;
}
.cat-mini-preview strong {
  font-size: 13px;
}
.cat-mini-preview small {
  color: #777;
  font-weight: 400;
  font-size: 10px;
}
.cat-mini-preview p {
  font-size: 11px;
  color: #777;
  line-height: 1.7;
}
.cat-no-image {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  color: #999;
  font-size: 11px;
}
.cat-thumb .cat-no-image span {
  display: none;
}
.cat-bottom-save {
  margin-top: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 20px;
  border-top: 1px solid #ddd;
  gap: 20px;
}
.cat-bottom-save > span {
  font-size: 11px;
  color: #777;
}
.cat-editor button:disabled {
  opacity: .5;
  cursor: wait;
}
.cat-error {
  font-size: 12px;
  line-height: 1.7;
  background: #fff;
  border: 1px solid #333;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 20px;
}
.cat-site-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #777;
}
.cat-intro {
  font-size: 14px;
  line-height: 1.8;
  color: #666;
  max-width: 500px;
  margin: 28px 0;
}
.cat-store-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  max-width: 900px;
}
.cat-store-card {
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 12px;
  overflow: hidden;
  text-align: left;
  padding: 0;
}
.cat-store-card:hover {
  box-shadow: 0 4px 14px #0000000b;
}
.cat-store-image {
  height: 270px;
  position: relative;
  background: #eee;
}
.cat-store-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cat-store-image > span {
  position: absolute;
  top: 15px;
  left: 15px;
  font-size: 11px;
  border-radius: 6px;
  background: #fff;
  padding: 7px 10px;
}
.cat-store-info {
  padding: 23px;
}
.cat-store-info > span,
.cat-category {
  font-size: 11px;
  color: #777;
}
.cat-store-info h2 {
  font-size: 22px;
  font-weight: 650;
  letter-spacing: -.7px;
  margin: 10px 0;
}
.cat-store-info > p {
  font-size: 12px;
  line-height: 1.8;
  color: #777;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.cat-store-info > div {
  display: flex;
  align-items: center;
  gap: 7px;
  margin-top: 22px;
}
.cat-store-info small {
  color: #777;
  font-size: 11px;
}
.cat-store-info strong {
  font-size: 16px;
}
.cat-store-info svg {
  margin-left: auto;
}
.cat-public-detail {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 35px;
  margin-top: 30px;
}
.cat-public-gallery {
  display: grid;
  gap: 15px;
}
.cat-public-gallery img {
  width: 100%;
  max-height: 460px;
  object-fit: cover;
  border-radius: 12px;
}
.cat-public-detail h2 {
  font-size: 30px;
  letter-spacing: -1px;
  font-weight: 650;
  line-height: 1.2;
}
.cat-public-price {
  font-size: 22px;
}
.cat-public-price small {
  font-size: 12px;
  font-weight: 400;
  color: #777;
}
.cat-description {
  white-space: pre-wrap;
  line-height: 1.9;
  font-size: 14px;
  color: #555;
  margin: 25px 0;
}
.cat-public-detail > div > p:not(.cat-description) {
  font-size: 12px;
  color: #666;
  margin: 20px 0;
}
@media (max-width: 1150px) {
  .cat-edit-grid {
    grid-template-columns: minmax(0, 1fr) 250px;
  }
  .cat-card {
    padding: 20px;
  }
  .cat-table-heading,
  .cat-product-row {
    grid-template-columns: minmax(180px, 2fr) 90px 100px 18px;
    gap: 12px;
  }
  .cat-table-heading > span:nth-child(3),
  .cat-product-row > .cat-availability {
    display: none;
  }
  .cat-image-item {
    height: 170px;
  }
  .cat-heading {
    align-items: start;
  }
}
@media (max-width: 900px) {
  .cat-edit-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .cat-side-fields {
    grid-template-columns: 1fr 1fr;
  }
  .cat-mini-preview {
    grid-column: 1/-1;
  }
  .cat-preview-photo {
    height: 200px;
  }
  .cat-heading {
    flex-wrap: wrap;
  }
  .cat-store-image {
    height: 220px;
  }
}
@media (max-width: 600px) {
  .cat-heading h1 {
    font-size: 24px;
  }
  .cat-actions {
    width: 100%;
    justify-content: space-between;
  }
  .cat-toolbar {
    padding: 15px;
    gap: 14px;
  }
  .cat-toolbar .search-field {
    max-width: none;
    min-width: 0;
    flex-basis: 100%;
  }
  .cat-tabs {
    gap: 5px;
  }
  .cat-tabs .filter {
    font-size: 10px;
    padding: 7px;
  }
  .cat-tabs span {
    font-size: 9px;
  }
  .cat-table-heading {
    display: none;
  }
  .cat-product-row {
    grid-template-columns: minmax(0, 1fr) 92px;
    gap: 12px;
    padding: 16px;
  }
  .cat-product-row > span:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    padding-left: 57px;
  }
  .cat-product-row > svg {
    display: none;
  }
  .cat-product-row > .cat-price {
    grid-column: 2;
    grid-row: 1 / span 2;
    font-size: 11px;
  }
  .cat-thumb {
    width: 45px;
    height: 45px;
  }
  .cat-product-name {
    gap: 12px;
  }
  .cat-product-name strong {
    font-size: 12px;
  }
  .cat-product-name small {
    font-size: 10px;
  }
  .cat-side-fields {
    grid-template-columns: 1fr;
  }
  .cat-mini-preview {
    grid-column: auto;
  }
  .cat-image-item {
    height: 160px;
  }
  .cat-card {
    padding: 19px;
  }
  .cat-fields {
    grid-template-columns: 1fr;
  }
  .cat-store-grid,
  .cat-public-detail {
    grid-template-columns: 1fr;
  }
  .cat-store-image {
    height: 260px;
  }
  .cat-store-info h2 {
    font-size: 21px;
  }
  .cat-public-detail h2 {
    font-size: 27px;
  }
  .cat-image-grid {
    gap: 8px;
  }
  .cat-cover {
    font-size: 9px;
  }
  .cat-bottom-save {
    align-items: start;
  }
}
.cat-discount-fields {
  margin-top: 20px;
}
.cat-discount-fields input[readonly] {
  background: #f2f2f2;
  font-weight: 650;
}
.cat-daily-badge {
  display: inline-block !important;
  width: max-content;
  background: #eee;
  border: 1px solid #d7d7d7;
  border-radius: 5px;
  padding: 4px 7px;
  font-size: 10px !important;
  font-weight: 550;
  color: #222;
  margin: 7px 0;
}
.cat-old-price {
  display: block;
  font-size: 11px;
  color: #888;
  font-weight: 400;
  margin: 5px 0;
}
.cat-store-info > div {
  flex-wrap: wrap;
}
.cat-side-fields .cat-mini-preview {
  grid-column: auto;
}
@media (min-width: 601px) and (max-width: 900px) {
  .cat-side-fields .cat-mini-preview {
    grid-column: 1/-1;
  }
}
.cat-editor .cat-heading .cat-actions {
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}
.cat-save-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
  flex-shrink: 0;
}
.cat-save-actions button {
  white-space: nowrap;
  min-height: 44px;
}
.cat-preview-toolbar {
  display: flex;
  align-items: center;
  gap: 18px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.cat-preview-toolbar > span {
  font-size: 12px;
  color: #71776d;
}
.cat-current-preview {
  min-width: 0;
}
.cat-current-preview > .pv-site {
  border: 1px solid #e3e3e3;
  border-radius: 16px;
  overflow: hidden;
}

/* src/components/generated/ProductOrderForm.css */
.dm-order-form .order-options {
  border: 0;
  padding: 0;
  margin: 0 0 22px;
  min-width: 0;
}
.order-options legend {
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 12px;
}
.dm-order-form .order-picks {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 14px;
}
.dm-order-form .order-picks > label,
.order-picks > button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #ddd;
  border-radius: 7px;
  padding: 10px 13px;
  background: white;
  color: #555;
  font-size: 12px;
  margin: 0;
  cursor: pointer;
}
.dm-order-form .order-picks input {
  width: 15px;
  height: 15px;
  margin: 0;
  accent-color: #222;
}
.dm-order-form .order-picks > label:has(input:checked),
.order-picks > button[aria-pressed=true] {
  border-color: #222;
  background: #f2f2f2;
  color: #111;
}
.order-picks > button {
  min-width: 40px;
  justify-content: center;
}
.dm-order-form input[type=number] {
  max-width: 120px;
}
.dm-order-form input[type=date],
.dm-order-form input[type=time] {
  min-width: 0;
  box-sizing: border-box;
}
.delivery-summary {
  display: grid;
  gap: 14px;
  margin: 18px 0 0;
}
.delivery-summary > div {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 15px;
  font-size: 12px;
  line-height: 1.6;
}
.delivery-summary dt {
  color: #777;
}
.delivery-summary dd {
  margin: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 540px) {
  .delivery-summary > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .dm-order-form .dm-actions {
    flex-wrap: wrap;
  }
}
.dm-order-form .order-picks > label {
  flex-direction: row;
  font-weight: 500;
}
.dm-order-form .order-picks input[type=radio] {
  width: 15px;
  height: 15px;
  min-height: 15px;
  padding: 0;
  flex: 0 0 15px;
  box-shadow: none;
}

/* src/components/generated/Clients.css */
.cl-search {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 20px;
  border-bottom: 1px solid #eee;
}
.cl-search input {
  border: 0;
  outline: 0;
  flex: 1;
  min-width: 0;
  background: transparent;
}
.cl-search small {
  color: #777;
}
.cl-row {
  display: grid;
  grid-template-columns: 1.3fr 1fr .6fr 1fr 18px;
  align-items: center;
  gap: 20px;
  padding: 20px;
  width: 100%;
  border: 0;
  border-bottom: 1px solid #eee;
  background: white;
  text-align: left;
  font-size: 13px;
}
.cl-row:hover {
  background: #fafafa;
}
.cl-labels {
  color: #777;
  font-size: 11px;
  background: #fafafa;
}
.cl-identity {
  display: flex;
  align-items: center;
  gap: 12px;
}
.cl-avatar {
  display: inline-grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: #eee;
  color: #333;
  flex: none;
  font-size: 12px;
}
.cl-large {
  width: 56px;
  height: 56px;
  font-size: 20px;
}
.cl-dialog {
  position: fixed;
  inset: 12px 12px 12px auto;
  margin: 0;
  width: min(760px, calc(100vw - 24px));
  height: calc(100dvh - 24px);
  max-height: none;
  max-width: none;
  padding: 0;
  border: 1px solid #ddd;
  border-radius: 14px;
  background: #fff;
  color: #222;
  box-shadow: 0 12px 60px #0002;
  font-family: inherit;
}
.cl-dialog::backdrop {
  background: #0005;
}
.cl-shell {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.cl-shell > header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 24px;
  border-bottom: 1px solid #eee;
}
.cl-shell > header span {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
}
.cl-dialog button {
  cursor: pointer;
  font: inherit;
}
.cl-shell > header button {
  background: none;
  border: 0;
}
.cl-body {
  overflow: auto;
  padding: 24px;
  flex: 1;
  font-size: 13px;
}
.cl-profile {
  display: grid;
  grid-template-columns: 1fr 1fr;
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 8px;
  gap: 22px;
}
.cl-profile > div {
  background: #f7f7f7;
  border-radius: 8px;
  padding: 18px;
}
.cl-profile h2 {
  font-size: 20px;
  margin: 12px 0;
}
.cl-profile a {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #333;
  font-size: 12px;
}
.cl-profile dl {
  margin: 8px 0;
  min-width: 0;
}
.cl-profile dt {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #777;
  font-size: 12px;
}
.cl-profile dd {
  margin: 6px 0 16px 24px;
  overflow-wrap: anywhere;
}
.cl-summary {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 20px 0;
}
.cl-summary button {
  margin-left: auto;
}
.cl-summary strong {
  font-size: 20px;
}
.cl-tabs {
  display: flex;
  gap: 24px;
  border-bottom: 1px solid #ddd;
  margin-bottom: 24px;
}
.cl-tabs button {
  border: 0;
  border-bottom: 2px solid transparent;
  padding: 14px 0;
  background: white;
  color: #777;
}
.cl-tabs button[aria-pressed=true] {
  color: #111;
  border-color: #222;
  font-weight: 600;
}
.cl-order {
  display: flex;
  align-items: center;
  gap: 12px;
  background: white;
  border: 0;
  border-bottom: 1px solid #eee;
  text-align: left;
  width: 100%;
  padding: 20px 0;
}
.cl-order > span:nth-child(2) {
  flex: 1;
}
.cl-order small {
  display: block;
  color: #777;
  margin-top: 7px;
  font-size: 11px;
}
.cl-form {
  display: grid;
  gap: 15px;
}
.cl-form label {
  display: grid;
  gap: 8px;
}
.cl-form input,
.cl-form textarea,
.cl-form select {
  font: inherit;
  border: 1px solid #ddd;
  border-radius: 7px;
  padding: 10px;
  width: 100%;
  box-sizing: border-box;
  min-width: 0;
  background: white;
}
.cl-form input[type=radio] {
  width: auto;
}
.cl-pair {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.cl-form > .primary-button {
  justify-self: start;
}
.cl-info {
  padding: 12px;
  background: #f5f5f5;
  border-radius: 8px;
  line-height: 1.6;
  color: #555;
}
.cl-info strong {
  display: flex;
  gap: 6px;
  align-items: center;
}
.cl-list {
  overflow: hidden;
}
@media (max-width: 650px) {
  .cl-row {
    grid-template-columns: 1fr 1fr 16px;
    gap: 10px;
    padding: 16px;
  }
  .cl-row > span:nth-child(2),
  .cl-row > span:nth-child(3) {
    display: none;
  }
  .cl-body {
    padding: 16px;
  }
  .cl-profile {
    grid-template-columns: 1fr;
    gap: 10px;
  }
  .cl-profile dl {
    padding: 8px;
  }
  .cl-pair {
    grid-template-columns: 1fr;
  }
  .cl-summary {
    gap: 12px;
    flex-wrap: wrap;
  }
  .cl-summary button {
    margin-left: 0;
  }
  .cl-dialog {
    inset: 6px;
    width: calc(100vw - 12px);
    height: calc(100dvh - 12px);
  }
  .cl-order {
    flex-wrap: wrap;
  }
}
.cl-profile > div {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-content: center;
  align-items: center;
  gap: 18px 14px;
  min-width: 0;
  min-height: 155px;
  background:
    radial-gradient(
      ellipse at 100% 100%,
      #DCEAA1 0%,
      transparent 68%),
    radial-gradient(
      ellipse at 92% 8%,
      #E5A5B54D 0%,
      transparent 55%),
    #F7F4E9;
  color: #263426;
  padding: 24px;
}
.cl-profile > div::before,
.cl-profile > div::after {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  width: 180px;
  height: 260px;
  border-radius: 80% 12% 75% 25%;
  right: -90px;
  bottom: -160px;
  transform: rotate(-35deg);
  background:
    linear-gradient(
      135deg,
      #E5A5B540,
      #F7F4E926);
  border: 1px solid #FFFFFF60;
}
.cl-profile > div::after {
  right: 5px;
  bottom: -210px;
  transform: rotate(25deg);
  background:
    linear-gradient(
      145deg,
      #DCEAA166,
      #FFFFFF40);
}
.cl-profile h2 {
  margin: 0;
  min-width: 0;
  overflow-wrap: anywhere;
  line-height: 1.3;
  color: #263426;
  font-size: 20px;
}
.cl-profile .cl-large {
  background: #FFFFFFB8;
  color: #263426;
  border: 1px solid #FFFFFFCC;
  border-radius: 50%;
}
.cl-profile a {
  grid-column: 1/-1;
  position: relative;
  color: #35432E;
  min-height: 32px;
  line-height: 1.5;
  flex-wrap: wrap;
  text-underline-offset: 4px;
}
@media (max-width: 650px) {
  .cl-profile > div {
    padding: 22px 18px;
    min-height: 145px;
    gap: 14px;
  }
  .cl-profile h2 {
    font-size: 20px;
  }
}

/* src/components/generated/VitrineSettings.css */
.ms-page .vt-settings {
  padding: 0;
  background: #fff;
  min-width: 0;
  overflow: hidden;
}
.vt-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 26px 24px 22px;
  flex: none;
}
.vt-heading h2 {
  font-size: 20px;
  letter-spacing: -.5px;
  margin: 0 0 7px;
  font-weight: 650;
}
.vt-heading span {
  font-size: 12px;
  color: #737373;
}
.vt-heading > svg {
  color: #737373;
}
.vt-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  padding: 0 16px;
  border-bottom: 1px solid #e6e6e6;
  flex: none;
  gap: 4px;
}
.ms-page .vt-tabs button {
  flex-direction: column;
  gap: 9px;
  padding: 13px 4px 15px;
  border: 0;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  color: #737373;
  background: transparent;
  font-size: 12px;
  white-space: nowrap;
}
.ms-page .vt-tabs button[aria-selected=true] {
  color: #202020;
  border-bottom-color: #202020;
  font-weight: 650;
}
.ms-page .vt-tabs button:hover {
  background: #f7f7f7;
}
.vt-scroll {
  padding: 24px;
  overflow-y: auto;
  flex: 1;
  min-height: 0;
  scrollbar-width: thin;
}
.vt-scroll form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.vt-section-intro h3 {
  font-size: 15px;
  margin: 0 0 8px;
  font-weight: 600;
}
.vt-section-intro p,
.vt-detail-heading p {
  font-size: 12px;
  color: #737373;
  margin: 0;
  line-height: 1.6;
}
.vt-widgets {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.ms-page .vt-widget {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 7px;
  padding: 16px;
  text-align: left;
  border: 1px solid #e3e3e3;
  border-radius: 12px;
  min-height: 166px;
  transition: background .15s, border-color .15s;
}
.ms-page .vt-widget:hover {
  border-color: #888;
  background: #fafafa;
}
.vt-widget strong {
  font-size: 13px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
}
.vt-widget small {
  font-size: 11px;
  color: #737373;
  line-height: 1.5;
}
.vt-widget-art {
  height: 75px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #555;
  margin-bottom: 6px;
}
.vt-widget-art img {
  max-width: 100%;
  height: 70px;
  object-fit: contain;
  border-radius: 6px;
}
.vt-swatch-preview {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  border: 5px solid white;
  box-shadow: 0 0 0 1px #ddd;
}
.vt-context {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 16px;
  border-radius: 10px;
  background: #f6f6f6;
  color: #727272;
}
.vt-context svg {
  flex: none;
  margin-top: 2px;
}
.vt-context p {
  font-size: 12px;
  line-height: 1.7;
  margin: 0;
}
.ms-page .vt-back {
  padding: 0;
  min-height: 28px;
  align-self: flex-start;
  border: 0;
  background: transparent;
  color: #666;
  font-size: 12px;
}
.vt-detail-heading {
  display: flex;
  gap: 13px;
  align-items: center;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;
}
.vt-detail-heading h3 {
  font-size: 18px;
  letter-spacing: -.3px;
  margin: 0 0 5px;
}
.vt-detail-heading h3:focus {
  outline: none;
}
.vt-fields {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.vt-fields label {
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 13px;
  font-weight: 550;
  line-height: 1.5;
}
.vt-fields input:not([type=color]):not([type=checkbox]):not([type=file]),
.vt-fields textarea {
  font: inherit;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.65;
  width: 100%;
  box-sizing: border-box;
  min-height: 44px;
  border: 1px solid #d7d7d7;
  border-radius: 8px;
  padding: 12px;
  background: white;
  color: #242424;
}
.vt-fields textarea {
  resize: vertical;
}
.vt-fields input::placeholder,
.vt-fields textarea::placeholder {
  color: #858585;
}
.vt-count {
  align-self: flex-end;
  font-size: 11px;
  font-weight: 400;
  color: #777;
  margin-top: -4px;
}
.ms-page .vt-help {
  font-size: 12px;
  justify-content: flex-start;
  padding: 14px;
  background: #f8f8f8;
  border: 1px solid #e8e8e8;
}
.vt-help img {
  width: 20px;
  height: 20px;
}
.vt-help svg {
  margin-left: auto;
}
.vt-tip {
  font-size: 12px;
  line-height: 1.8;
  background: #f6f6f6;
  border-radius: 10px;
  padding: 16px;
  color: #555;
}
.vt-muted {
  font-size: 12px;
  color: #737373;
  line-height: 1.75;
  margin: 0;
}
.vt-fields h4 {
  font-size: 16px;
  margin: 0;
}
.vt-upload-preview {
  min-height: 180px;
  background: #f7f7f7;
  border: 1px dashed #ccc;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex-direction: column;
  overflow: hidden;
  color: #777;
  font-size: 12px;
}
.vt-upload-preview img {
  width: 100%;
  max-height: 230px;
  object-fit: contain;
}
.vt-logo-preview img {
  width: 120px;
  height: 120px;
}
.vt-fields .vt-upload {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7d7d7;
  padding: 13px;
  border-radius: 8px;
  cursor: pointer;
  overflow: hidden;
}
.vt-upload input {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
.vt-upload:focus-within {
  outline: 2px solid #222;
  outline-offset: 3px;
}
.ms-page .vt-remove {
  align-self: flex-start;
  border: 0;
  padding: 0;
  color: #666;
  min-height: 32px;
}
.vt-color-picker {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 1px solid #d7d7d7;
  border-radius: 9px;
  padding: 10px;
  font-size: 13px;
  font-weight: 400;
}
.vt-color-picker input {
  width: 38px;
  height: 38px;
  border: 0;
  padding: 0;
  background: white;
  cursor: pointer;
}
.vt-color-picker svg {
  margin-left: auto;
  color: #777;
}
.vt-palette {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.ms-page .vt-palette button {
  width: 34px;
  height: 34px;
  padding: 0;
  border-radius: 50%;
  border: 1px solid #0002;
}
.ms-page .vt-palette button[aria-pressed=true] {
  outline: 1px solid #555;
  outline-offset: 3px;
}
.vt-fields .vt-toggle {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px;
  border: 1px solid #e3e3e3;
  border-radius: 10px;
}
.vt-toggle span {
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.vt-toggle strong {
  font-size: 13px;
  font-weight: 550;
}
.vt-toggle small {
  font-size: 11px;
  font-weight: 400;
  color: #777;
}
.vt-toggle input {
  appearance: none;
  flex: none;
  width: 38px;
  height: 23px;
  border: 0;
  border-radius: 20px;
  background: #ccc;
  position: relative;
  margin: 0;
  cursor: pointer;
}
.vt-toggle input:before {
  content: "";
  position: absolute;
  left: 3px;
  top: 3px;
  width: 17px;
  height: 17px;
  border-radius: 50%;
  background: white;
  transition: transform .15s;
}
.vt-toggle input:checked {
  background: #242424;
}
.vt-toggle input:checked:before {
  transform: translateX(15px);
}
.vt-catalogue-illustration {
  height: 120px;
  background: #f7f7f7;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #777;
}
.ms-page .vt-catalogue-link {
  min-height: 44px;
  justify-content: space-between;
  font-size: 13px;
  padding: 12px 14px;
}
.vt-savebar {
  padding: 18px 24px;
  background: #fff;
  border-top: 1px solid #e5e5e5;
  flex: none;
}
.vt-savebar > div:last-of-type {
  display: flex;
  gap: 10px;
}
.vt-save-status {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  color: #666;
  line-height: 1.5;
  margin-bottom: 12px;
}
.vt-unsaved-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #555;
  flex: none;
}
.ms-page .vt-savebar button {
  min-height: 44px;
}
.ms-page .vt-savebar .primary-button {
  flex: 1;
  background: #242424;
  color: #fff;
  border-color: #242424;
  font-size: 12px;
  font-weight: 550;
}
.vt-savebar > small {
  display: block;
  font-size: 10px;
  text-align: center;
  color: #777;
  margin-top: 10px;
}
.vt-savebar > p {
  font-size: 12px;
  line-height: 1.6;
}
.ms-page .vt-settings :is(button, input, textarea):focus-visible {
  outline: 2px solid #333;
  outline-offset: 3px;
}
.blooom-app.site-workspace .ms-workspace:has(.vt-settings) {
  grid-template-columns: 380px minmax(0, 1fr);
}
.blooom-app.site-workspace .ms-page.ms-expanded .ms-workspace {
  grid-template-columns: 1fr;
}
@media (min-width: 1600px) {
  .blooom-app.site-workspace .ms-workspace:has(.vt-settings) {
    grid-template-columns: 400px minmax(0, 1fr);
  }
}
@media (min-width: 791px) and (max-width: 1100px) {
  .blooom-app.site-workspace .ms-workspace:has(.vt-settings) {
    grid-template-columns: 340px minmax(0, 1fr);
  }
  .vt-heading,
  .vt-scroll,
  .vt-savebar {
    padding-left: 20px;
    padding-right: 20px;
  }
  .ms-header {
    grid-template-columns: 1fr auto;
  }
  .ms-header .ms-device-switch {
    grid-column: 1/-1;
    grid-row: 2;
  }
}
@media (max-width: 790px) {
  .blooom-app.site-workspace .ms-workspace:has(.vt-settings) {
    grid-template-columns: minmax(0, 1fr);
  }
  .vt-heading {
    padding: 18px 20px;
  }
  .vt-scroll {
    padding: 20px;
  }
  .vt-savebar {
    padding: 12px 20px;
  }
  .vt-tabs {
    padding: 0 12px;
  }
  .ms-page .vt-tabs button {
    flex-direction: row;
    padding: 12px 3px;
    gap: 5px;
    font-size: 11px;
  }
  .vt-heading h2 {
    font-size: 18px;
  }
  .vt-widgets {
    gap: 12px;
  }
  .ms-page .vt-widget {
    min-height: 145px;
  }
  .vt-widget-art {
    height: 54px;
  }
  .vt-savebar > small {
    display: none;
  }
}
.awa-site .awa-button,
.awa-site .awa-sticker {
  color: var(--accent-ink,#20271d);
}
.vt-publish-confirm {
  position: fixed;
  z-index: 100;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(460px, calc(100vw - 40px));
  box-sizing: border-box;
  padding: 24px;
  background: white;
  border: 1px solid #ddd;
  border-radius: 14px;
  box-shadow: 0 0 0 100vmax #0006;
}
.vt-publish-confirm h2 {
  font-size: 20px;
}
.vt-publish-confirm p {
  font-size: 13px;
  line-height: 1.7;
}
.vt-publish-confirm button {
  margin: 8px 8px 0 0;
}
.vt-fields select,
.vt-product-dialog select {
  font: inherit;
  font-size: 12px;
  background: #fff;
  border: 1px solid #d7d7d7;
  border-radius: 7px;
  padding: 10px;
  color: #242424;
  min-width: 0;
  min-height: 40px;
}
.vt-week {
  display: grid;
  gap: 0;
  border-top: 1px solid #eee;
}
.vt-day {
  padding: 14px 0;
  border-bottom: 1px solid #eee;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.vt-fields .vt-day-check,
.vt-fields .vt-check-row,
.vt-check-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 10px;
  font-size: 13px;
  font-weight: 500;
}
.vt-day input,
.vt-zone-list input,
.vt-check-row input,
.vt-product-row input {
  width: 16px;
  height: 16px;
  accent-color: #222;
  flex: none;
  margin: 0;
}
.vt-day-times {
  display: flex;
  align-items: center;
  gap: 9px;
  padding-left: 26px;
}
.vt-day-times select {
  flex: 1;
  width: 100%;
  max-width: 130px;
}
.vt-day-times span,
.vt-closed {
  font-size: 12px;
  color: #777;
}
.vt-day:not(.is-open) {
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}
.vt-field-title {
  font-size: 13px;
  font-weight: 550;
  display: block;
  margin-bottom: 10px;
}
.ms-page .vt-select-trigger {
  width: 100%;
  min-height: 44px;
  justify-content: space-between;
  font-size: 13px;
}
.vt-zone-menu {
  border: 1px solid #ddd;
  border-radius: 9px;
  margin-top: 8px;
  padding: 12px;
  background: #fff;
}
.vt-zone-list {
  max-height: 210px;
  overflow: auto;
  margin-top: 12px;
  display: grid;
  gap: 2px;
}
.vt-fields .vt-zone-list label {
  display: flex;
  flex-direction: row;
  align-items: center;
  font-size: 13px;
  font-weight: 400;
  gap: 10px;
  padding: 9px 3px;
  cursor: pointer;
}
.vt-zone-list label:hover {
  background: #f5f5f5;
}
.vt-fields .vt-search,
.vt-search {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 0 10px;
  background: white;
}
.vt-fields .vt-search input,
.vt-product-dialog .vt-search input {
  border: 0 !important;
  outline: none;
  min-width: 0;
  width: 100%;
  padding: 10px 0 !important;
  background: none;
  font: inherit;
  font-size: 13px;
}
.vt-search svg {
  flex: none;
  color: #777;
}
.vt-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.vt-chips > span {
  display: flex;
  align-items: center;
  gap: 6px;
  background: #f1f1f1;
  border: 1px solid #e5e5e5;
  border-radius: 7px;
  padding: 5px 5px 5px 10px;
  font-size: 12px;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.ms-page .vt-chips button {
  border: 0;
  padding: 4px;
  background: none;
  flex: none;
}
.ms-page .vt-add-zone {
  margin-top: 10px;
  font-size: 12px;
  min-height: 40px;
}
.vt-chosen-products {
  display: grid;
  gap: 0;
}
.vt-product-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center;
  gap: 12px !important;
  border-bottom: 1px solid #eee;
  padding: 14px 0;
  font-size: 12px;
  min-width: 0;
}
.vt-product-row img {
  width: 44px;
  height: 44px;
  border-radius: 7px;
  object-fit: cover;
  flex: none;
}
.vt-product-row > svg {
  flex: none;
  color: #777;
}
.vt-product-row > div {
  flex: 1;
  min-width: 0;
  display: grid;
  gap: 6px;
}
.vt-product-row strong {
  font-size: 13px;
  font-weight: 550;
  overflow-wrap: anywhere;
}
.vt-product-row small {
  font-size: 11px;
  color: #777;
  font-weight: 400;
}
.ms-page .vt-product-row button {
  border: 0;
  padding: 6px;
  background: none;
}
.vt-product-row > span {
  font-size: 12px;
  white-space: nowrap;
}
.vt-product-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(640px, calc(100vw - 24px));
  max-height: 85dvh;
  box-sizing: border-box;
  border: 1px solid #ddd;
  border-radius: 16px;
  padding: 0;
  color: #222;
  background: #fff;
}
.vt-product-dialog[open] {
  display: flex;
  flex-direction: column;
}
.vt-product-dialog::backdrop {
  background: #0006;
}
.vt-product-dialog header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 24px;
  border-bottom: 1px solid #eee;
  gap: 12px;
  flex: none;
}
.vt-product-dialog h2 {
  font-size: 20px;
  margin: 0 0 8px;
}
.vt-product-dialog header p {
  font-size: 13px;
  color: #777;
  margin: 0;
}
.vt-product-filters {
  padding: 20px 24px;
  display: grid;
  grid-template-columns: 1fr 190px;
  gap: 12px;
  flex: none;
}
.vt-product-results {
  padding: 0 24px 20px;
  overflow: auto;
  min-height: 80px;
}
.vt-product-results > .vt-check-row {
  padding: 8px 0 16px;
  border-bottom: 1px solid #eee;
}
.vt-product-dialog footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 18px 24px;
  border-top: 1px solid #eee;
  flex: none;
}
.vt-product-dialog footer > span {
  margin-right: auto;
  font-size: 12px;
}
.ms-page .vt-product-dialog .primary-button {
  background: #222;
  color: #fff;
  border-color: #222;
  min-height: 42px;
}
.vt-product-dialog :is(button, input, select):focus-visible {
  outline: 2px solid #333;
  outline-offset: 2px;
}
@media (max-width: 600px) {
  .vt-product-dialog header,
  .vt-product-results,
  .vt-product-dialog footer {
    padding: 16px;
  }
  .vt-product-filters {
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .vt-product-dialog footer {
    flex-wrap: wrap;
  }
  .vt-product-dialog footer > span {
    width: 100%;
  }
  .vt-product-row {
    gap: 8px !important;
  }
  .vt-product-row > span {
    font-size: 11px;
  }
  .vt-product-dialog h2 {
    font-size: 18px;
  }
}
.vt-quote-options {
  border: 0;
  padding: 0;
  display: grid;
  gap: 14px;
  min-width: 0;
}
.vt-quote-options legend {
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 18px;
}
.vt-quote-formula {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid #ddd;
  border-radius: 12px;
}

/* src/components/generated/SiteBuilder.css */
.sb-settings {
  background: white;
  border: 1px solid #e0dfe5;
  border-radius: 10px;
  padding: 13px;
  margin-bottom: 20px;
}
.sb-panel-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 12px;
  margin-bottom: 12px;
}
.sb-panel-title button {
  padding: 4px;
}
.sb-settings p {
  font-size: 11px;
  color: #777;
  line-height: 1.6;
}
.sb-settings-menu {
  display: grid;
  gap: 8px;
}
.sb-settings form > label {
  display: grid;
  gap: 7px;
  font-size: 11px;
  margin: 12px 0;
}
.sb-settings input,
.sb-settings textarea {
  width: 100%;
  min-width: 0;
  font: inherit;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: white;
}
.sb-settings input[type=color] {
  height: 36px;
  padding: 4px;
}
.sb-settings input[type=file] {
  font-size: 10px;
}
.sb-settings textarea {
  min-height: 75px;
  resize: vertical;
}
.sb-settings h4 {
  font-size: 12px;
  margin-bottom: 10px;
}
.sb-photo-options {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 6px;
}
.sb-photo-options button {
  padding: 0;
  overflow: hidden;
  aspect-ratio: 1;
}
.sb-photo-options img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sb-style {
  padding: 10px;
  border: 1px solid #e3e3e3;
  border-radius: 9px;
  margin: 10px 0;
}
.sb-style > strong {
  font-size: 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
}
.sb-style button {
  font-size: 9px;
  padding: 7px;
  margin: 3px 4px 0 0;
}
.sb-style-mini {
  display: flex;
  background: #f3eddf;
  height: 85px;
  border-radius: 6px;
  overflow: hidden;
  align-items: center;
  gap: 9px;
}
.sb-style-mini img {
  width: 50%;
  height: 100%;
  object-fit: cover;
}
.sb-style-mini span {
  font-size: 18px;
  font-weight: 600;
}
.sb-style-mini small {
  font-size: 9px;
  font-weight: 400;
}
.sb-style-direct .sb-style-mini {
  flex-direction: row-reverse;
  background: #eff4e6;
}
.sb-style-editorial .sb-style-mini {
  background: #252525;
  color: white;
  font-family: Georgia, serif;
}
.sb-user-message {
  margin: 15px 0 18px 28px;
  background: white;
  border: 1px solid #e4e3e7;
  border-radius: 12px 12px 3px 12px;
  padding: 10px 13px;
  font-size: 12px;
  line-height: 1.6;
}
.sb-user-message p {
  margin: 0;
}
.sb-reply {
  margin: 18px 0;
}
.sb-reply button {
  font-size: 10px;
  padding: 6px;
}
.ms-chat-heading > button {
  margin-left: auto;
  font-size: 9px;
  padding: 6px;
}
.sb-error {
  font-size: 11px;
  color: #9a2727;
  padding: 10px;
  line-height: 1.6;
  background: #fff3f3;
  border-radius: 7px;
}
.sb-view-site {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  text-decoration: none;
  color: #333;
  font-size: 10px;
  padding: 8px;
  border: 1px solid #ddd;
  border-radius: 7px;
  white-space: nowrap;
}
.sb-publish-dialog {
  border: 0;
  border-radius: 14px;
  padding: 26px;
  width: min(470px, calc(100vw - 30px));
  box-shadow: 0 20px 60px #0003;
  font-family:
    Inter,
    Arial,
    sans-serif;
}
.sb-publish-dialog::backdrop {
  background: #0006;
}
.sb-publish-dialog h2 {
  font-size: 20px;
  margin-top: 0;
}
.sb-publish-dialog p {
  font-size: 13px;
  line-height: 1.7;
  color: #666;
}
.sb-publish-dialog dl {
  font-size: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.sb-publish-dialog dd {
  margin: 0;
  text-align: right;
}
.sb-publish-dialog > div {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 22px;
}
.sb-publish-dialog button {
  border: 1px solid #ddd;
  border-radius: 7px;
  padding: 10px;
  background: white;
}
.sb-publish-dialog button:last-child {
  background: #222;
  color: white;
}
.ms-header .ms-heading h1 {
  font-size: 15px;
}
.ms-heading h1 > span {
  display: inline-block;
  line-height: 1.4;
}
.ms-header-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}
.awa-custom-logo {
  display: block;
  width: 100px;
  height: 55px;
  object-fit: contain;
}
.awa-site .awa-title-line {
  display: block;
  color: inherit;
}
.awa-site .awa-title-line:last-child {
  color: #53643e;
}
.awa-site .awa-button,
.awa-site .awa-sticker {
  background: var(--lime);
  color: #20271d;
}
.awa-site .awa-button:hover {
  filter: brightness(.96);
}
.awa-site .awa-events {
  background: color-mix(in srgb, var(--lime) 23%, white);
}
.awa-site .awa-ribbon {
  background: color-mix(in srgb, var(--lime) 13%, white);
}
.awa-style-direct main {
  display: flex;
  flex-direction: column;
}
.awa-style-direct .awa-hero {
  width: 100%;
  max-width: 1320px;
  margin: 18px auto;
  min-height: 0;
  grid-template-columns: 1fr 160px;
  gap: 25px;
}
.awa-style-direct .awa-hero-image {
  height: 150px;
}
.awa-style-direct .awa-hero h1 {
  font-size: 34px;
  letter-spacing: -1px;
}
.awa-style-direct .awa-title-line {
  display: inline;
}
.awa-style-direct .awa-title-line:after {
  content: " ";
}
.awa-style-direct .awa-hero-copy > p {
  max-width: 600px;
  margin-bottom: 12px;
  font-size: 13px;
}
.awa-style-direct .awa-hero-note,
.awa-style-direct .awa-sticker,
.awa-style-direct .awa-image-caption,
.awa-style-direct .awa-ribbon {
  display: none;
}
.awa-style-direct .awa-section {
  width: 100%;
}
.awa-style-direct .awa-events {
  width: 90%;
}
.awa-style-direct .awa-product-photo {
  border-radius: 6px;
}
.awa-style-direct #awa-carte h2 {
  font-size: 26px;
}
.awa-style-editorial .awa-hero {
  grid-template-columns: 1fr 1.2fr;
  background: #23251f;
  color: white;
  padding: 35px 5%;
  max-width: none;
  margin: 0;
}
.awa-style-editorial .awa-hero h1,
.awa-style-editorial h2 {
  font-family: Georgia, serif;
  font-weight: 400;
  letter-spacing: -1px;
}
.awa-style-editorial .awa-hero h1 {
  font-size: clamp(45px, 5.8vw, 82px);
}
.awa-style-editorial .awa-title-line:last-child {
  color: var(--lime);
}
.awa-style-editorial .awa-hero-copy > p,
.awa-style-editorial .awa-hero-note {
  color: #d0d3c8;
}
.awa-style-editorial .awa-hero-image {
  height: 440px;
}
.awa-style-editorial .awa-product-photo,
.awa-style-editorial .awa-hero-image > img {
  border-radius: 0;
}
.awa-style-editorial .awa-products {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.awa-style-editorial .awa-product h3 {
  font-family: Georgia, serif;
  font-size: 20px;
}
@media (max-width: 790px) {
  .ms-header-actions .ms-publish {
    display: inline-flex;
    font-size: 10px;
  }
  .ms-header-actions .sb-view-site {
    font-size: 10px;
  }
  .ms-header {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .ms-header-actions {
    max-width: 190px;
  }
  .ms-heading h1 > span {
    margin: 5px 0 0;
    font-size: 9px;
  }
  .awa-style-editorial .awa-hero {
    grid-template-columns: 1fr;
  }
  .awa-style-editorial .awa-hero-image {
    height: 280px;
  }
  .awa-style-editorial .awa-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .awa-style-direct .awa-hero {
    grid-template-columns: 1fr;
  }
  .awa-style-direct .awa-hero-image {
    display: none;
  }
}

/* src/components/generated/MySite.css */
.ms-page {
  height: calc(100dvh - 120px);
  min-height: 580px;
  display: flex;
  flex-direction: column;
  border: 1px solid #e1e1e1;
  border-radius: 12px;
  overflow: hidden;
  background: #fff;
}
.ms-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid #e8e8e8;
}
.ms-heading {
  display: flex;
  align-items: center;
  gap: 12px;
}
.ms-site-icon {
  display: grid;
  place-items: center;
  border: 1px solid #e7e7e7;
  border-radius: 10px;
  width: 40px;
  height: 40px;
}
.ms-heading h1 {
  margin: 0;
  font-size: 18px;
  letter-spacing: -.5px;
}
.ms-heading h1 > span {
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0;
  background: #f1f1f1;
  border: 1px solid #e2e2e2;
  border-radius: 5px;
  padding: 4px 7px;
  margin-left: 9px;
}
.ms-heading p {
  font-size: 11px;
  color: #777;
  margin: 7px 0 0;
}
.ms-header-actions {
  display: flex;
  gap: 9px;
}
.ms-page button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #ddd;
  border-radius: 7px;
  background: white;
  font-size: 11px;
  padding: 9px 11px;
}
.ms-page button:focus-visible,
.ms-page textarea:focus-visible {
  outline: 2px solid #7964ac;
  outline-offset: 2px;
}
.ms-page button:disabled {
  cursor: not-allowed;
  opacity: .45;
}
.ms-page .ms-publish {
  background: #202020;
  color: white;
  border-color: #202020;
}
.ms-workspace {
  display: grid;
  grid-template-columns: 290px minmax(0, 1fr);
  flex: 1;
  min-height: 0;
}
.ms-chat {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border-right: 1px solid #e4e4e4;
  background:
    linear-gradient(
      150deg,
      #f2f1fa 0%,
      #f7f8fa 45%,
      #faf7f3 100%);
  padding: 0 14px 12px;
}
.ms-chat-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 19px 3px;
  border-bottom: 1px solid #e7e6ed;
}
.ms-chat-heading img,
.ms-assistant > img {
  width: 25px;
  height: 25px;
}
.ms-chat-heading strong {
  font-size: 12px;
}
.ms-chat-heading > span {
  font-size: 9px;
  color: #888;
  margin-left: auto;
}
.ms-conversation {
  flex: 1;
  overflow: auto;
  padding: 22px 2px;
}
.ms-assistant {
  display: flex;
  align-items: start;
  gap: 10px;
  font-size: 12px;
  line-height: 1.8;
}
.ms-assistant > img {
  width: 20px;
  height: 20px;
  flex: none;
  margin-top: 3px;
}
.ms-assistant p {
  margin: 0 0 12px;
}
.ms-tip {
  margin: 10px 0 25px 30px;
  background: white;
  border: 1px solid #e8e6ea;
  box-shadow: 0 2px 3px #00000004;
  padding: 14px;
  border-radius: 10px;
  font-size: 11px;
}
.ms-tip p {
  font-size: 11px;
  line-height: 1.7;
  color: #777;
}
.ms-tip button {
  font-size: 10px !important;
}
.ms-suggestions {
  display: grid;
  gap: 8px;
}
.ms-suggestions > span {
  font-size: 10px;
  color: #888;
  margin-bottom: 3px;
}
.ms-suggestions button {
  justify-content: space-between;
  text-align: left;
  background: #ffffff99;
  font-size: 10px;
  line-height: 1.5;
}
.ms-composer {
  background: white;
  border: 1px solid #e3e2e6;
  border-radius: 12px;
  padding: 12px;
}
.ms-composer textarea {
  width: 100%;
  resize: none;
  border: 0;
  min-height: 75px;
  font: inherit;
  font-size: 12px;
  line-height: 1.6;
  background: white;
  outline: none;
}
.ms-composer > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.ms-composer span {
  font-size: 9px;
  color: #999;
}
.ms-composer button {
  padding: 7px;
  border-radius: 50%;
  background: #222;
  color: white;
}
.ms-chat-note {
  font-size: 9px;
  color: #888;
  margin: 9px 3px 0;
  line-height: 1.5;
}
.ms-preview {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
  background: #eeefef;
}
.ms-preview-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid #e5e5e5;
  background: white;
}
.ms-preview-toolbar > div {
  display: flex;
  gap: 5px;
}
.ms-preview-toolbar button {
  border-color: transparent;
}
.ms-preview-toolbar button[aria-pressed=true] {
  background: #efefef;
  border-color: #e4e4e4;
}
.ms-preview-address {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 11px 18px;
  background: #f7f7f7;
  font-size: 10px;
  color: #777;
}
.ms-preview-address > span:first-child {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #bbb;
}
.ms-preview-address small {
  margin-left: auto;
  font-size: 9px;
}
.ms-preview-stage {
  flex: 1;
  min-height: 0;
  display: flex;
  justify-content: center;
  align-items: start;
  padding-top: 12px;
  overflow: hidden;
}
.ms-frame-wrap {
  border-radius: 9px;
  overflow: hidden;
  background: white;
  box-shadow: 0 3px 16px #0000000d;
  flex: none;
}
.ms-frame-wrap iframe {
  display: block;
  border: 0;
  background: white;
}
.ms-mobile-tabs {
  display: none;
}
.ms-expanded {
  position: fixed;
  inset: 12px;
  z-index: 90;
  height: auto;
  min-height: 0;
  box-shadow: 0 0 0 20px #2228;
}
.ms-expanded .ms-chat {
  display: none;
}
.ms-expanded .ms-workspace {
  grid-template-columns: 1fr;
}
.blooom-app:has(.ms-page) .content {
  padding: 18px;
}
.awa-edit-product {
  display: block !important;
  margin: 9px 0 0;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 6px;
  padding: 7px 10px;
  font-size: 11px;
}
.awa-edit-product:hover {
  background: #f5f5f5;
}
@media (max-width: 1100px) {
  .ms-workspace {
    grid-template-columns: 255px minmax(0, 1fr);
  }
  .ms-header {
    padding: 14px;
  }
  .ms-header-actions button {
    font-size: 10px;
    padding: 8px;
  }
  .ms-site-icon {
    display: none;
  }
}
@media (max-width: 790px) {
  .ms-page {
    height: calc(100dvh - 145px);
    min-height: 520px;
  }
  .ms-header {
    flex-wrap: wrap;
    gap: 12px;
  }
  .ms-header-actions {
    width: 100%;
    justify-content: space-between;
  }
  .ms-workspace {
    grid-template-columns: 1fr;
  }
  .ms-mobile-tabs {
    display: flex;
    flex: none;
    justify-content: center;
    gap: 8px;
    background: white;
    border-top: 1px solid #ddd;
    padding: 10px;
  }
  .ms-mobile-tabs button {
    width: 45%;
    border: 0;
  }
  .ms-mobile-tabs button[aria-pressed=true] {
    background: #eee;
  }
  .ms-mobile-tabs img {
    width: 18px;
    height: 18px;
  }
  .ms-tab-preview .ms-chat,
  .ms-tab-chat .ms-preview {
    display: none;
  }
  .ms-tab-chat .ms-chat {
    border: 0;
  }
  .ms-expanded {
    inset: 5px;
    height: auto;
    min-height: 0;
  }
  .ms-expanded .ms-preview {
    display: flex;
  }
  .ms-expanded .ms-mobile-tabs {
    display: none;
  }
  .ms-preview-toolbar span {
    font-size: 10px;
  }
  .ms-preview-address small {
    display: none;
  }
  .blooom-app:has(.ms-page) .content {
    padding: 10px;
  }
}
.site-preview .awa-preview {
  display: none;
}
.awa-product {
  width: 100%;
}
.ms-header {
  display: grid;
  grid-template-columns: minmax(200px, 1fr) auto minmax(200px, 1fr);
  align-items: center;
  min-height: 70px;
}
.ms-header-actions {
  justify-self: end;
}
.ms-device-switch {
  display: flex;
  gap: 4px;
  justify-self: center;
}
.ms-device-switch button {
  border-color: transparent;
}
.ms-device-switch button[aria-pressed=true] {
  background: #efefef;
  border-color: #e4e4e4;
}
.ms-preview-toolbar {
  justify-content: flex-end;
  padding: 8px 14px;
  background: #f8f8f8;
  border-top: 1px solid #eee;
}
.ms-preview-stage {
  padding-top: 10px;
}
.ms-frame-wrap {
  box-shadow: 0 4px 18px #00000012;
}
@media (max-width: 790px) {
  .ms-header {
    grid-template-columns: 1fr auto;
    gap: 10px;
    min-height: 0;
  }
  .ms-heading {
    grid-column: 1;
    grid-row: 1;
  }
  .ms-header-actions {
    grid-column: 2;
    grid-row: 1;
    width: auto;
  }
  .ms-header-actions button {
    font-size: 0;
  }
  .ms-header-actions .ms-publish {
    display: none;
  }
  .ms-device-switch {
    grid-column: 1/-1;
    grid-row: 2;
    justify-self: center;
  }
  .ms-device-switch button {
    font-size: 11px;
  }
  .ms-preview-toolbar {
    padding: 5px 12px;
  }
  .site-workspace .ms-page {
    height: 100dvh;
  }
}
.blooom-app.site-workspace .content {
  padding: 0 !important;
  max-width: none !important;
  margin: 0 !important;
}
.blooom-app.site-workspace .ms-page {
  height: 100dvh;
  min-height: 0;
  border: 0;
  border-radius: 0;
}
@media (max-width: 790px) {
  .ms-header .ms-header-actions {
    grid-column: 1/-1;
    grid-row: 2;
    width: 100%;
    justify-content: flex-start;
  }
  .ms-header .ms-header-actions .ms-publish {
    display: inline-flex;
    font-size: 10px;
    margin-left: auto;
  }
  .ms-header .ms-device-switch {
    grid-row: 3;
  }
  .ms-header .ms-heading {
    grid-column: 1/-1;
  }
}
.vt-publish-confirm::backdrop {
  background: rgba(0, 0, 0, .4);
}
.ms-header {
  grid-template-columns: minmax(0, 1fr) auto auto auto;
}
.ms-mobile-label {
  display: none;
}
.ms-header .ms-exit {
  width: 44px;
  height: 44px;
  padding: 0;
  flex: none;
}
.ms-header-actions {
  align-items: center;
}
.ms-header-actions .sb-view-site {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  white-space: nowrap;
}
.ms-header-actions button {
  white-space: nowrap;
}
.ms-header :is(button, a):focus-visible {
  outline: 2px solid #7964ac;
  outline-offset: 2px;
}
@media (min-width: 791px) and (max-width: 1250px) {
  .ms-header {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }
  .ms-header .ms-device-switch {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .ms-heading h1 > span {
    display: block;
    width: fit-content;
    margin: 6px 0 0;
  }
}
@media (max-width: 790px) {
  .ms-header {
    grid-template-columns: auto minmax(0, 1fr) 44px;
    gap: 8px;
    padding: 10px 12px;
    flex: none;
  }
  .ms-header .ms-heading {
    grid-column: 1/3;
    grid-row: 1;
    min-width: 0;
  }
  .ms-heading > div {
    min-width: 0;
  }
  .ms-heading h1 {
    font-size: 17px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px 8px;
  }
  .ms-heading h1 > span {
    margin: 0;
    font-size: 9px;
    padding: 3px 5px;
  }
  .ms-heading p {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-top: 4px;
  }
  .ms-header .ms-exit {
    grid-column: 3;
    grid-row: 1;
    justify-self: end;
  }
  .ms-header .ms-device-switch {
    grid-column: 1;
    grid-row: 2;
    gap: 2px;
    justify-self: start;
  }
  .ms-header .ms-header-actions {
    grid-column: 2/4;
    grid-row: 2;
    justify-self: end;
    width: auto;
    gap: 4px;
    justify-content: flex-end;
  }
  .ms-header .ms-action-label,
  .ms-device-switch button span {
    display: none;
  }
  .ms-header .ms-mobile-label {
    display: inline;
  }
  .ms-header .ms-device-switch button,
  .ms-header-actions > button,
  .ms-header-actions .sb-view-site {
    width: 44px;
    height: 44px;
    min-height: 44px;
    padding: 0;
    margin: 0;
    border-radius: 8px;
  }
  .ms-header .ms-header-actions .ms-publish {
    width: auto;
    min-width: 88px;
    margin: 0;
    padding: 0 10px;
    font-size: 12px;
    gap: 6px;
  }
  .ms-header svg {
    width: 19px;
    height: 19px;
    flex: none;
  }
  .ms-mobile-tabs {
    padding: 8px 12px max(8px, env(safe-area-inset-bottom));
    gap: 8px;
  }
  .ms-mobile-tabs button {
    min-height: 44px;
    font-size: 13px;
  }
}

/* src/components/generated/HomeRefresh.css */
.summary-grid.home-summary {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.home-summary .summary-value {
  font-size: 29px;
}
.home-summary .revenue-summary .summary-value {
  font-size: 23px;
  white-space: normal;
}
.compact-daily .dm-card {
  margin: 20px 0;
}
.compact-daily .dm-gallery {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  padding: 0 20px 16px;
}
.compact-daily .dm-feature-photo {
  height: 90px;
  width: 100px;
}
.compact-daily .dm-feature-caption {
  padding: 0;
  display: block;
}
.compact-daily .dm-feature-caption > span {
  display: block;
  margin-top: 8px;
}
.compact-daily .dm-thumbnails {
  padding: 0;
}
.compact-daily .dm-empty {
  min-height: 0;
  padding: 8px 20px 20px;
}
.revenue-setting {
  padding: 20px;
  margin-bottom: 20px;
}
.revenue-setting label {
  display: flex;
  align-items: center;
  gap: 18px;
  font-size: 13px;
}
.revenue-setting select {
  padding: 9px;
  border: 1px solid #ddd;
  border-radius: 7px;
  background: white;
}
.order-deadline {
  display: block;
  color: #666;
  font-size: 10px;
  margin: 7px 0 0 46px;
}
@media (max-width: 790px) {
  .summary-grid.home-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .home-summary .summary-card {
    min-height: 130px;
  }
  .compact-daily .dm-gallery {
    grid-template-columns: 75px minmax(0, 1fr);
  }
  .compact-daily .dm-feature-photo {
    width: 75px;
    height: 75px;
  }
  .compact-daily .dm-thumbnails {
    grid-column: 1/-1;
  }
  .order-deadline {
    margin-left: 0;
  }
}
.home-summary .summary-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 22px 18px;
  min-height: 150px;
}
.home-summary .summary-copy {
  display: block;
  min-width: 0;
  flex: 1;
}
.home-summary .summary-value {
  display: block;
  margin: 0 0 10px;
}
.home-summary .summary-copy strong {
  display: block;
  line-height: 1.4;
}
.home-summary .summary-illustration {
  width: 72px;
  height: 80px;
  object-fit: contain;
  flex: none;
}
.home-summary .summary-copy p {
  display: block;
  line-height: 1.5;
}
@media (min-width: 791px) and (max-width: 1150px) {
  .summary-grid.home-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 790px) {
  .home-summary .summary-card {
    padding: 18px 12px;
    gap: 5px;
    min-height: 140px;
  }
  .home-summary .summary-illustration {
    width: 48px;
    height: 60px;
  }
  .home-summary .summary-value {
    font-size: 27px;
  }
  .home-summary .revenue-summary .summary-value {
    font-size: 19px;
  }
  .home-summary .summary-copy strong {
    font-size: 12px;
  }
  .home-summary .summary-copy p {
    font-size: 11px;
  }
}
.focus-panel .focus-icon {
  width: 72px;
  height: 80px;
  background: transparent;
  border: 0;
  border-radius: 0;
  margin: 4px 0 16px;
}
.focus-panel .focus-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media (max-width: 1000px) {
  .focus-panel .focus-content {
    grid-template-columns: 64px minmax(0, 1fr);
  }
  .focus-panel .focus-icon {
    width: 64px;
    height: 72px;
    margin: 0;
  }
}
.focus-panel .panel-heading {
  align-items: center;
}
.focus-heading-icon {
  width: 54px;
  height: 58px;
  object-fit: contain;
  flex-shrink: 0;
}
.focus-panel .focus-content {
  padding-top: 12px;
}
@media (max-width: 650px) {
  .focus-heading-icon {
    width: 46px;
    height: 50px;
  }
}

/* src/components/generated/RequestDetail.css */
.detail-drawer[role=dialog] {
  width: min(900px, 100vw);
  max-width: 100vw;
  overflow: hidden;
  border-left: 1px solid #ddd;
}
.drawer-top {
  min-height: 60px;
  padding: 0 22px;
}
.drawer-breadcrumb {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #666;
  font-size: 12px;
}
.drawer-breadcrumb strong {
  font-weight: 600;
  color: #222;
  margin-left: 7px;
}
.drawer-close {
  width: 32px;
  height: 32px;
  justify-content: center;
  border-radius: 6px !important;
}
.drawer-close:hover {
  background: #f2f2f2 !important;
}
.case-layout {
  display: grid;
  grid-template-columns: 230px minmax(0, 1fr);
  flex: 1;
  min-height: 0;
  overflow: auto;
}
.client-summary {
  background: #fafafa;
  border-right: 1px solid #e6e6e6;
  padding: 25px 21px;
}
.client-avatar {
  width: 43px;
  height: 43px;
  border: 1px solid #ddd;
  border-radius: 10px;
  background: #eee;
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 16px;
}
.client-summary h2 {
  font-size: 22px;
  line-height: 1.2;
  letter-spacing: -.045em;
  font-weight: 650;
  margin: 0 0 7px;
}
.client-caption {
  color: #777;
  font-size: 11px;
  margin: 0 0 14px;
}
.case-amount {
  background: #E9EDDF;
  border: 1px solid #e5e5e5;
  border-radius: 9px;
  padding: 14px;
  margin: 23px 0;
}
.case-amount > span,
.case-amount strong,
.case-amount small {
  display: block;
}
.case-amount > span {
  font-size: 10px;
  color: #777;
}
.case-amount strong {
  font-size: 21px;
  letter-spacing: -.045em;
  font-weight: 650;
  margin: 7px 0;
  font-variant-numeric: tabular-nums;
}
.case-amount small {
  font-size: 10px;
  color: #777;
}
.client-field {
  margin-bottom: 20px;
}
.client-field > span {
  display: block;
  font-size: 10px;
  color: #777;
  margin-bottom: 6px;
}
.client-field strong {
  font-weight: 500;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.client-record {
  border-top: 1px solid #e4e4e4;
  padding-top: 19px;
  margin-top: 26px;
  display: flex;
  gap: 8px;
  align-items: center;
  color: #777;
  font-size: 10px;
}
.case-main {
  min-width: 0;
  background: #fff;
}
.case-progress {
  padding: 25px 24px 21px;
}
.case-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.case-section-title h3,
.case-section h3 {
  font-size: 13px;
  font-weight: 650;
  letter-spacing: -.02em;
  margin: 0;
}
.case-section-title > span {
  font-size: 10px;
  color: #777;
  white-space: nowrap;
}
.case-steps {
  list-style: none;
  display: flex;
  padding: 0;
  margin: 23px 0 26px;
  gap: 0;
}
.case-steps li {
  flex: 1;
  min-width: 0;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 10px;
  font-weight: 500;
  color: #888;
  line-height: 1.4;
}
.case-steps li:before {
  content: "";
  position: absolute;
  height: 1px;
  left: 27px;
  right: 6px;
  top: 11px;
  background: #e1e1e1;
}
.case-steps li:last-child:before {
  display: none;
}
.step-marker {
  position: relative;
  width: 24px;
  height: 24px;
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 10px;
}
.case-steps .step-current {
  color: #171717;
  font-weight: 650;
}
.step-current .step-marker {
  background: #202020;
  border-color: #202020;
  color: #fff;
}
.case-steps .step-complete {
  color: #555;
}
.step-complete .step-marker {
  background: #eee;
  border-color: #ddd;
}
.step-complete:before {
  background: #888 !important;
}
.next-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 1px solid #e5e5e5;
  background: #fafafa;
  border-radius: 9px;
  padding: 13px;
}
.case-label {
  display: block;
  font-size: 10px;
  color: #777;
  margin-bottom: 5px;
}
.next-action strong {
  font-size: 12px;
  font-weight: 550;
  line-height: 1.5;
  display: block;
}
.next-action .primary-button {
  font-size: 11px;
  min-height: 34px;
  padding: 0 10px;
}
.case-tabs {
  display: flex;
  gap: 24px;
  border-top: 1px solid #ededed;
  border-bottom: 1px solid #e5e5e5;
  padding: 0 24px;
}
.case-tabs button {
  background: none;
  border: 0;
  border-bottom: 2px solid transparent;
  color: #777;
  font-size: 11px;
  padding: 14px 0 12px;
  font-weight: 550;
}
.case-tabs .case-tab-active {
  color: #111;
  border-bottom-color: #111;
}
.case-tabs button > span {
  display: inline-block;
  background: #eee;
  padding: 1px 5px;
  border-radius: 4px;
  margin-left: 4px;
  font-size: 10px;
}
.case-sections {
  padding: 0 24px;
}
.case-section {
  padding: 22px 0;
  border-bottom: 1px solid #ededed;
}
.case-section:last-child {
  border-bottom: 0;
}
.fulfillment-box {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  padding: 14px;
  margin-top: 14px;
}
.fulfillment-box > svg {
  color: #555;
  margin-top: 2px;
}
.fulfillment-box strong {
  font-size: 12px;
  font-weight: 550;
}
.fulfillment-box p {
  font-size: 11px;
  color: #777;
  line-height: 1.5;
  margin: 6px 0 0;
}
.case-help {
  font-size: 10px;
  color: #777;
  line-height: 1.6;
  margin: 10px 0 0;
}
.case-section blockquote {
  font-size: 12px;
  color: #555;
  line-height: 1.7;
  border-left: 2px solid #ddd;
  padding: 1px 0 1px 13px;
  margin: 14px 0 0;
}
.case-timeline {
  list-style: none;
  padding: 0;
  margin: 20px 0 0;
}
.case-timeline li {
  display: flex;
  gap: 11px;
  position: relative;
  padding-bottom: 20px;
}
.case-timeline li:before {
  content: "";
  position: absolute;
  left: 10px;
  top: 22px;
  bottom: 0;
  width: 1px;
  background: #e2e2e2;
}
.case-timeline li:last-child {
  padding-bottom: 0;
}
.case-timeline li:last-child:before {
  display: none;
}
.event-marker {
  display: grid;
  place-items: center;
  border: 1px solid #ddd;
  background: #fafafa;
  border-radius: 50%;
  width: 22px;
  height: 22px;
  color: #666;
  flex: none;
}
.case-timeline strong {
  display: block;
  font-size: 11px;
  font-weight: 550;
  padding-top: 3px;
}
.case-timeline time {
  display: block;
  color: #777;
  font-size: 10px;
  margin-top: 5px;
}
.client-history-section {
  padding: 24px;
}
.client-empty {
  border: 1px dashed #ddd;
  border-radius: 9px;
  padding: 30px 18px;
  margin-top: 20px;
  text-align: center;
  color: #777;
}
.client-empty > svg {
  margin: 0 auto 14px;
}
.client-empty strong {
  display: block;
  font-size: 12px;
  font-weight: 550;
  color: #444;
}
.client-empty p {
  font-size: 11px;
  line-height: 1.6;
  margin: 8px 0 0;
}
.prior-request {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  text-align: left;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 14px;
  margin-top: 14px;
}
.prior-request > div {
  flex: 1;
}
.prior-request strong,
.prior-request span {
  display: block;
}
.prior-request strong {
  font-size: 12px;
  font-weight: 550;
}
.prior-request > div > span {
  font-size: 10px;
  color: #777;
  margin-top: 4px;
}
.case-demo-footer {
  border-top: 1px solid #e5e5e5;
  padding: 12px 22px;
  font-size: 10px;
  line-height: 1.5;
  color: #777;
  background: #fafafa;
}
@media (max-width: 680px) {
  .detail-drawer[role=dialog] {
    width: 100vw;
  }
  .case-layout {
    grid-template-columns: 1fr;
  }
  .client-summary {
    border-right: 0;
    border-bottom: 1px solid #e5e5e5;
    padding: 20px;
    display: grid;
    grid-template-columns: 44px 1fr;
    column-gap: 13px;
  }
  .client-avatar {
    grid-row: span 2;
    margin: 0;
  }
  .client-summary h2 {
    font-size: 21px;
  }
  .client-caption {
    margin-bottom: 12px;
  }
  .client-summary > .status {
    grid-column: 2;
  }
  .case-amount {
    grid-column: span 2;
    margin: 18px 0;
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 4px 10px;
  }
  .case-amount strong {
    margin: 0;
    font-size: 20px;
    grid-column: 2;
    grid-row: span 2;
  }
  .case-amount small {
    grid-column: 1;
  }
  .client-field,
  .client-record {
    grid-column: span 2;
  }
  .client-field {
    display: flex;
    justify-content: space-between;
    gap: 15px;
    margin-bottom: 10px;
  }
  .client-field > span {
    margin-top: 3px;
  }
  .client-field strong {
    text-align: right;
  }
  .client-record {
    padding-top: 12px;
    margin-top: 8px;
  }
  .case-progress {
    padding: 22px 20px;
  }
  .case-tabs {
    padding: 0 20px;
    gap: 20px;
  }
  .case-sections {
    padding: 0 20px;
  }
  .case-demo-footer {
    padding: 10px 20px;
  }
  .case-section-title > span {
    font-size: 9px;
  }
  .next-action {
    flex-wrap: wrap;
  }
  .case-steps li {
    font-size: 9px;
  }
}
.case-remise-banner {
  margin: 0 24px 20px;
  padding: 18px;
  border: 1px solid #e3e3e6;
  border-radius: 12px;
  background: #fafafa;
}
.case-remise-banner strong {
  display: block;
  font-size: 15px;
  font-weight: 600;
}
.case-remise-banner p {
  font-size: 12px;
  color: #777;
  margin: 7px 0;
  line-height: 1.6;
}
.case-courier {
  display: inline-block;
  border: 1px solid #ddd;
  border-radius: 5px;
  padding: 5px 8px;
  font-size: 11px;
  margin-top: 5px;
}
.case-remise-address {
  border-top: 1px solid #e3e3e6;
  padding-top: 13px;
  margin-top: 13px;
}
.case-remise-address > span {
  display: block;
  color: #777;
  font-size: 11px;
  margin-bottom: 7px;
}
.case-remise-address > strong {
  font-size: 13px;
  line-height: 1.6;
}
.case-remise-unknown {
  margin: 0 24px 20px;
  padding: 14px;
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 9px;
  color: #777;
  font-size: 12px;
}
.dish-options {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 7px;
}
.dish-options > span {
  display: inline-block;
  border: 1px solid #dcdde0;
  border-radius: 5px;
  background: #f3f3f5;
  padding: 5px 8px;
  font-size: 11px;
  color: #222;
}
.case-order-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 15px;
  padding: 18px 0;
  border-top: 1px solid #e7e7e7;
  font-size: 13px;
}
.case-order-total strong {
  font-size: 17px;
}
.case-payment-rows {
  margin: 18px 0 0;
}
.case-payment-rows > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 0;
  border-bottom: 1px solid #eee;
  font-size: 12px;
}
.case-payment-rows dd {
  margin: 0;
  text-align: right;
}
.case-payment-rows dt {
  color: #666;
}
.case-main .case-progress {
  display: flex;
  flex-direction: column;
  padding-bottom: 12px;
}
.case-progress > .next-action {
  order: -1;
  margin-bottom: 18px;
  background: white;
  border: 0;
  padding: 0;
}
.case-progress > .case-section-title {
  display: none;
}
.case-steps {
  margin: 5px 0 12px;
}
.case-main .client-history-section {
  padding: 22px 0;
}
.case-tabs {
  justify-content: flex-start;
}
.case-main .rq-dish-detail > .rq-photo {
  width: 64px;
  height: 64px;
}
@media (max-width: 680px) {
  .client-summary .client-record,
  .client-summary .case-amount {
    display: none;
  }
  .case-remise-banner {
    margin-left: 20px;
    margin-right: 20px;
  }
  .case-steps {
    margin-bottom: 10px;
  }
}
.client-summary .client-field-icon {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  column-gap: 10px;
  row-gap: 5px;
}
.client-field-icon > svg {
  grid-row: 1/3;
  color: #808087;
  margin-top: 1px;
}
.client-summary .client-field-icon > span {
  margin: 0;
}
.client-summary .client-field-icon > strong {
  grid-column: 2;
  text-align: left;
}
.case-remise-heading,
.case-remise-address {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.case-remise-heading > svg,
.case-remise-address > svg {
  color: #808087;
  flex: none;
  margin-top: 2px;
}
.case-remise-heading > div,
.case-remise-address > div {
  min-width: 0;
}
.case-remise-address > div > span {
  display: block;
  color: #777;
  font-size: 11px;
  margin-bottom: 7px;
}
.case-remise-address > div > strong {
  font-size: 13px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.case-courier {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.detail-drawer .drawer-top {
  flex-shrink: 0;
}
.detail-drawer .client-summary {
  min-width: 0;
  overflow-wrap: anywhere;
}
.detail-drawer .next-action {
  flex-wrap: wrap;
}
.detail-drawer .next-action > div {
  flex: 1 1 150px;
}
.detail-drawer .next-action .primary-button {
  flex-shrink: 0;
}
.detail-drawer .rq-dish-detail {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  align-items: start;
}
.detail-drawer .rq-dish-detail > b {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  text-align: right;
}
.detail-drawer .rq-dish-detail strong {
  overflow-wrap: anywhere;
}
.detail-drawer .drawer-breadcrumb {
  min-width: 0;
  overflow-wrap: anywhere;
}
.detail-drawer .drawer-close {
  flex-shrink: 0;
}
.case-received > span,
.case-offer-lines > span {
  display: block;
}
.case-offer-lines > span + span {
  margin-top: 6px;
}
.detail-drawer .case-order-total strong {
  text-align: right;
  white-space: nowrap;
}
@media (max-width: 420px) {
  .detail-drawer .rq-dish-detail {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    gap: 10px;
  }
  .detail-drawer .case-main .rq-dish-detail > .rq-photo {
    width: 44px;
    height: 44px;
  }
}
.client-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  min-width: 0;
  margin-bottom: 7px;
}
.client-summary .client-title-row h2 {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}
.client-title-row > .status {
  flex: none;
  margin: 2px 0 0;
  max-width: 55%;
  white-space: normal;
}
@media (max-width: 680px) {
  .client-title-row {
    grid-column: 2;
    grid-row: 1;
  }
  .client-summary .client-caption {
    grid-column: 2;
    grid-row: 2;
  }
}
.case-remise-illustration {
  width: 54px;
  height: 58px;
  object-fit: contain;
  flex: none;
}
.case-remise-heading,
.case-remise-address {
  gap: 14px;
}
@media (max-width: 650px) {
  .case-remise-illustration {
    width: 46px;
    height: 50px;
  }
  .case-remise-heading,
  .case-remise-address {
    gap: 10px;
  }
}

/* src/components/generated/RequestRows.css */
.rq-client,
.rq-offer {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.rq-avatar {
  display: grid;
  place-items: center;
  flex: none;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f0f0f0;
  border: 1px solid #e2e2e2;
  color: #555;
  font-size: 11px;
  font-weight: 600;
}
.rq-client-copy,
.rq-offer-copy {
  min-width: 0;
}
.rq-client-copy strong,
.rq-offer-copy strong {
  display: block;
  font-size: 12px;
  font-weight: 550;
  color: #222;
  line-height: 1.5;
}
.rq-client-copy small,
.rq-offer-copy small {
  display: block;
  font-size: 10px;
  color: #737373;
  margin-top: 4px;
  line-height: 1.5;
}
.rq-offer .rq-photo {
  width: 40px;
  height: 40px;
}
.request-table .table-header,
.request-table .table-row {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.35fr) 130px 122px 100px 16px;
  column-gap: 20px;
}
.request-table .table-header > span:nth-child(3),
.request-table .table-row > span:nth-child(3) {
  padding-right: 12px;
}
.request-table .table-row {
  min-height: 86px;
}
.activity-list .activity-row:has(.rq-photo) {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr) 105px 12px;
  gap: 14px;
}
.activity-list .rq-client-copy small {
  font-size: 9px;
}
.activity-list .rq-offer-copy strong {
  font-size: 11px;
}
.activity-list .rq-avatar {
  width: 30px;
  height: 30px;
}
.activity-list .rq-offer .rq-photo {
  width: 36px;
  height: 36px;
}
@media (max-width: 1180px) {
  .request-table .table-header,
  .request-table .table-row {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.2fr) 118px 108px 12px;
    column-gap: 16px;
  }
  .activity-list .activity-row:has(.rq-photo) {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 95px;
    gap: 10px;
  }
  .activity-list .row-chevron {
    display: none;
  }
}
@media (max-width: 790px) {
  .request-table .table-header {
    display: none;
  }
  .request-table .table-row {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "client status" "offer amount";
    gap: 16px 12px;
    padding: 18px 16px;
  }
  .request-table .table-row > span:nth-child(1) {
    grid-area: client;
  }
  .request-table .table-row > span:nth-child(2) {
    display: flex;
    grid-area: offer;
  }
  .request-table .table-row > span:nth-child(3) {
    display: block;
    grid-area: amount;
    padding: 0;
    align-self: center;
  }
  .request-table .table-row > span:nth-child(4) {
    grid-area: status;
    justify-self: end;
  }
  .request-table .table-row > svg {
    display: none;
  }
  .request-table .rq-client-copy strong,
  .request-table .rq-offer-copy strong {
    font-size: 11px;
  }
}
@media (max-width: 540px) {
  .activity-list .activity-row:has(.rq-photo) {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px 10px;
  }
  .activity-list .rq-client {
    grid-column: 1;
    grid-row: 1;
  }
  .activity-list .status {
    grid-column: 2;
    grid-row: 1;
  }
  .activity-list .rq-offer {
    grid-column: 1/-1;
    grid-row: 2;
    padding-left: 40px;
  }
  .activity-list .rq-offer-copy strong {
    font-size: 12px;
  }
}

/* src/components/generated/RevenueCard.css */
.home-business-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
  gap: 20px;
  margin-bottom: 22px;
  align-items: stretch;
}
.home-business-grid > .dm-card {
  margin: 0;
  display: flex;
  flex-direction: column;
}
.rv-card {
  display: flex;
  flex-direction: column;
}
.rv-period select {
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 6px;
  padding: 7px 9px;
  font: inherit;
  font-size: 11px;
  color: #444;
  cursor: pointer;
}
.rv-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.rv-content {
  padding: 0 22px 18px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
.rv-total {
  font-size: 29px;
  letter-spacing: -1px;
  font-weight: 650;
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
  margin: 2px 0 10px;
}
.rv-date-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #777;
  font-size: 11px;
}
.rv-date-row > div {
  display: flex;
  gap: 5px;
}
.rv-date-row button {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 5px;
  color: #444;
}
.rv-date-row button:disabled {
  opacity: .35;
  cursor: default;
}
.rv-plot {
  position: relative;
  min-height: 170px;
  flex: 1;
  margin-top: 24px;
}
.rv-bars {
  height: 100%;
  min-height: 170px;
  display: flex;
  gap: 10px;
  position: relative;
  z-index: 1;
}
.rv-bucket {
  background: transparent;
  border: 0;
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  padding: 0;
  color: #777;
  justify-content: flex-end;
}
.rv-bar-space {
  height: 145px;
  min-height: 145px;
  display: flex;
  align-items: flex-end;
}
.rv-bar {
  display: block;
  width: 100%;
  background: #e6e6e6;
  border-radius: 7px 7px 2px 2px;
  transition: background .12s;
}
.rv-bucket:hover .rv-bar {
  background: #999;
}
.rv-selected .rv-bar {
  background: #252525;
}
.rv-bar-label {
  font-size: 10px;
  margin-top: 12px;
  text-align: center;
}
.rv-grid-lines {
  position: absolute;
  inset: 0 0 28px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.rv-grid-lines i {
  width: 100%;
  height: 1px;
  background: #efefef;
}
.rv-empty {
  position: absolute;
  left: 15px;
  right: 15px;
  top: 45%;
  text-align: center;
  font-size: 11px;
  line-height: 1.6;
  color: #888;
  pointer-events: none;
}
.rv-caption {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 8px;
  color: #777;
  font-size: 10px;
  border-top: 1px solid #eee;
  margin-top: 17px;
  padding-top: 12px;
  min-height: 30px;
}
.rv-caption button {
  font: inherit;
  background: none;
  border: 0;
  color: #333;
  text-decoration: underline;
  padding: 0;
}
.dm-gallery {
  padding: 0 21px 18px;
  flex: 1;
}
.dm-feature-photo {
  height: 185px;
  border: 1px solid #eee;
  overflow: hidden;
  border-radius: 9px;
  background: #f5f5f5;
}
.dm-feature-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dm-feature-caption {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: start;
  margin-top: 12px;
}
.dm-feature-caption strong {
  display: block;
  font-size: 13px;
}
.dm-feature-caption span,
.dm-feature-caption small {
  font-size: 11px;
  color: #777;
}
.dm-feature-caption small {
  display: block;
  margin-top: 5px;
}
.dm-thumbnails {
  display: flex;
  gap: 8px;
  margin-top: 15px;
}
.dm-thumbnails button {
  width: 48px;
  height: 43px;
  border: 1px solid #ddd;
  border-radius: 6px;
  overflow: hidden;
  padding: 2px;
  background: #fff;
}
.dm-thumbnails button[aria-pressed=true] {
  border: 2px solid #222;
}
.dm-thumbnails img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 3px;
}
.home-business-grid .dm-catalogue-link {
  margin-top: auto;
}
.home-business-grid .dm-choices {
  grid-template-columns: 1fr;
}
.home-business-grid .dm-empty {
  flex: 1;
  min-height: 220px;
}
.rv-period select:focus-visible {
  outline: 2px solid #333;
  outline-offset: 2px;
}
@media (max-width: 1000px) {
  .home-business-grid {
    grid-template-columns: 1fr 1fr;
  }
  .home-business-grid .panel-heading {
    padding: 18px 16px;
    gap: 8px;
    flex-wrap: wrap;
  }
  .home-business-grid .panel-heading button {
    font-size: 10px;
  }
  .rv-content {
    padding: 0 16px 16px;
  }
  .rv-total {
    font-size: 25px;
  }
  .dm-gallery {
    padding: 0 16px 16px;
  }
  .dm-feature-photo {
    height: 170px;
  }
  .dm-feature-caption {
    flex-direction: column;
    gap: 6px;
  }
  .rv-bars {
    gap: 7px;
  }
}
@media (max-width: 680px) {
  .home-business-grid {
    grid-template-columns: 1fr;
  }
  .dm-feature-photo {
    height: 200px;
  }
  .rv-plot {
    flex: none;
  }
  .dm-feature-caption {
    flex-direction: row;
  }
  .rv-total {
    font-size: 28px;
  }
}

/* src/components/generated/DailyMenu.css */
.dm-card {
  margin-bottom: 22px;
}
.dm-card .panel-heading {
  padding-bottom: 15px;
}
.dm-dishes {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  padding: 0 21px 20px;
}
.dm-dish {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}
.dm-photo {
  display: block;
  width: 65px;
  height: 65px;
  flex: none;
  border-radius: 8px;
  overflow: hidden;
  background: #f5f5f5;
  border: 1px solid #eee;
}
.dm-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.dm-dish strong,
.dm-choice strong {
  display: block;
  font-size: 12px;
  font-weight: 600;
}
.dm-dish small,
.dm-choice small {
  display: block;
  color: #777;
  font-size: 10px;
  line-height: 1.6;
  margin-top: 6px;
}
.dm-catalogue-link {
  display: flex;
  align-items: center;
  gap: 6px;
  border: 0;
  border-top: 1px solid #eee;
  background: #fff;
  padding: 12px 21px;
  width: 100%;
  font-size: 11px;
  color: #555;
}
.dm-empty {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 6px 21px 22px;
  color: #666;
}
.dm-empty strong {
  font-size: 12px;
  color: #333;
}
.dm-empty p {
  font-size: 11px;
  margin: 6px 0 0;
}
.dm-editor {
  padding: 0 21px 20px;
}
.dm-selection-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 12px;
}
.dm-selection-heading span {
  color: #777;
  font-size: 11px;
}
.dm-editor > p {
  color: #666;
  font-size: 11px;
  line-height: 1.7;
}
.dm-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.dm-choice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  cursor: pointer;
}
.dm-choice input {
  accent-color: #222;
  flex: none;
}
.dm-choice .dm-photo {
  width: 43px;
  height: 43px;
}
.dm-chosen {
  border-color: #222;
  background: #fafafa;
}
.dm-choice:has(input:disabled) {
  opacity: .5;
  cursor: default;
}
.dm-actions {
  display: flex;
  justify-content: flex-end;
  gap: 9px;
  margin-top: 20px;
}
.rq-photo {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  flex: none;
  border: 1px solid #e3e3e3;
  border-radius: 7px;
  overflow: hidden;
  background: #f7f7f7;
  color: #aaa;
}
.rq-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rq-customer-cell {
  display: flex;
  align-items: center;
  gap: 11px;
}
.rq-customer-cell > span:last-child {
  min-width: 0;
}
.rq-customer-cell .rq-mobile-offer {
  font-size: 10px;
  color: #666;
  margin-top: 4px;
  display: block;
}
.rq-dish-detail {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 18px 0 2px;
}
.rq-dish-detail > .rq-photo {
  width: 82px;
  height: 82px;
}
.rq-dish-detail > div {
  flex: 1;
  min-width: 0;
}
.rq-dish-detail strong {
  font-size: 12px;
  line-height: 1.5;
}
.rq-dish-detail p {
  font-size: 11px;
  color: #777;
  line-height: 1.6;
  margin: 7px 0;
}
.rq-dish-detail > b {
  font-size: 11px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.dm-order-form {
  margin-top: 25px;
}
.dm-order-total {
  display: flex;
  justify-content: space-between;
  gap: 15px;
  font-size: 13px;
  border-top: 1px solid #ddd;
  padding-top: 18px;
}
.activity-row:has(.rq-photo) {
  grid-template-columns: 42px minmax(0, 1fr) 105px 14px;
}
.dm-order-success {
  padding: 40px;
  text-align: center;
}
.dm-order-success h2 {
  font-size: 24px;
}
.dm-order-success p {
  font-size: 13px;
  color: #666;
  line-height: 1.8;
}
.cat-public-detail .dm-order-button {
  margin-top: 20px;
}
@media (max-width: 1100px) {
  .dm-choices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .dm-dishes {
    gap: 12px;
  }
  .dm-dish {
    align-items: start;
    flex-direction: column;
  }
  .dm-dish .dm-photo {
    width: 100%;
    height: 90px;
  }
  .request-table {
    --columns:minmax(0,1.5fr) minmax(0,1fr) 100px 110px 18px;
  }
}
@media (max-width: 790px) {
  .request-table {
    --columns:minmax(0,1fr) 110px 18px;
  }
  .rq-customer-cell {
    gap: 9px;
  }
  .activity-row:has(.rq-photo) {
    grid-template-columns: 36px minmax(0, 1fr) 100px 12px;
  }
  .activity-row > .rq-photo {
    width: 36px;
    height: 36px;
  }
  .dm-dishes {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .dm-dish strong {
    font-size: 11px;
  }
  .dm-dish small {
    font-size: 9px;
  }
  .dm-choices {
    grid-template-columns: 1fr;
  }
  .rq-dish-detail {
    flex-wrap: wrap;
  }
  .rq-dish-detail > b {
    margin-left: 95px;
  }
  .rq-dish-detail > .rq-photo {
    width: 72px;
    height: 72px;
  }
}
@media (max-width: 430px) {
  .activity-row:has(.rq-photo) {
    grid-template-columns: 32px minmax(0, 1fr) 95px;
  }
  .activity-row > .rq-photo {
    width: 32px;
    height: 32px;
  }
  .rq-customer-cell > .rq-photo {
    width: 35px;
    height: 35px;
  }
  .dm-dishes {
    padding: 0 16px 17px;
    gap: 10px;
  }
  .dm-dish .dm-photo {
    height: 75px;
  }
  .dm-editor {
    padding: 0 16px 18px;
  }
}

/* src/components/generated/StatusFilter.css */
.request-panel {
  overflow: visible;
}
.request-toolbar {
  flex-wrap: nowrap;
}
.request-toolbar .search-field {
  min-width: 0;
}
.sf-root {
  position: relative;
  flex: none;
}
.sf-trigger {
  position: relative;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 7px;
  color: #666;
}
.sf-trigger:hover,
.sf-active {
  background: #f1f1f1;
  color: #171717;
  border-color: #bbb;
}
.sf-dot {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #171717;
}
.sf-popover {
  position: absolute;
  right: 0;
  top: 46px;
  width: 242px;
  max-width: calc(100vw - 48px);
  z-index: 25;
  background: #fff;
  border: 1px solid #ddd;
  box-shadow: 0 8px 28px #00000016;
  border-radius: 10px;
  padding: 8px;
}
.sf-popover fieldset {
  border: 0;
  padding: 0;
  margin: 0;
}
.sf-popover legend {
  font-size: 11px;
  font-weight: 650;
  padding: 10px 9px 12px;
}
.sf-popover label {
  position: relative;
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 35px;
  border-radius: 6px;
  padding: 8px 9px;
  font-size: 12px;
  cursor: pointer;
}
.sf-popover label:hover,
.sf-selected {
  background: #f3f3f3;
}
.sf-popover input {
  accent-color: #222;
  margin: 0;
  width: 14px;
  height: 14px;
}
.sf-popover label > svg {
  margin-left: auto;
}
.sf-apply {
  width: 100%;
  min-height: 34px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fafafa;
  margin-top: 8px;
  font-size: 11px;
  font-weight: 550;
}
.sf-applied {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 20px 12px;
  font-size: 11px;
  color: #555;
}
.sf-applied button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 8px;
  border: 1px solid #ddd;
  background: #f5f5f5;
  border-radius: 5px;
  font-size: 11px;
}
.request-table {
  border-radius: 0 0 12px 12px;
  overflow: hidden;
}
@media (max-width: 790px) {
  .request-toolbar .search-field {
    min-width: 0;
  }
  .sf-popover label {
    min-height: 40px;
  }
}
.request-panel .request-toolbar {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.request-panel .request-toolbar .search-field {
  flex: 1 1 180px;
  min-width: 140px;
  max-width: 340px;
  height: 38px;
}
.request-toolbar .bf-kind-filters {
  padding: 0;
  margin-left: auto;
  flex-wrap: nowrap;
  gap: 6px;
}
.request-toolbar .bf-kind-filters .filter {
  min-height: 36px;
  white-space: nowrap;
}
.request-panel .sf-applied {
  padding-top: 12px;
}
@media (max-width: 650px) {
  .request-panel .request-toolbar .search-field {
    max-width: none;
    flex: 1 1 calc(100% - 50px);
  }
  .request-toolbar .bf-kind-filters {
    flex-basis: 100%;
    margin-left: 0;
    flex-wrap: wrap;
  }
}
.request-spaces {
  display: flex;
  gap: 24px;
  border-bottom: 1px solid #e3e3e3;
  margin: 0 0 24px;
}
.request-spaces button {
  display: flex;
  align-items: center;
  gap: 9px;
  border: 0;
  border-bottom: 3px solid transparent;
  background: transparent;
  padding: 14px 2px;
  color: #72776d;
  font-size: 15px;
  font-weight: 600;
}
.request-spaces button[aria-selected=true] {
  color: #263426;
  border-bottom-color: #526333;
}
.request-spaces button span {
  background: #eeefe9;
  border-radius: 20px;
  padding: 3px 8px;
  font-size: 12px;
}
.request-spaces button[aria-selected=true] span {
  background: #E9EDDF;
  color: #526333;
}
@media (max-width: 650px) {
  .request-spaces {
    gap: 18px;
  }
  .request-spaces button {
    font-size: 14px;
    gap: 6px;
  }
}
.order-visible-filters {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-left: auto;
}
.order-visible-filters button {
  border: 1px solid #ddd;
  border-radius: 9px;
  background: white;
  padding: 10px 14px;
  font-size: 13px;
  min-height: 40px;
  color: #526333;
}
.order-visible-filters button[aria-pressed=true] {
  background: #E9EDDF;
  border-color: #526333;
  color: #263426;
}
.request-toolbar .search-field[hidden] {
  display: none;
}
.daily-order-recap header {
  padding: 22px;
  border-top: 1px solid #eee;
}
.daily-order-recap h2 {
  font-size: 20px;
  margin: 0 0 10px;
}
.daily-order-recap header p {
  font-size: 13px;
  color: #71776d;
  line-height: 1.7;
  margin: 6px 0;
}
.daily-order-row {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
  padding: 20px 22px;
  border: 0;
  border-top: 1px solid #eee;
  background: white;
  text-align: left;
}
.daily-order-row:hover {
  background: #fafafa;
}
.daily-order-row > span {
  min-width: 0;
  display: grid;
  gap: 7px;
}
.daily-order-row small,
.daily-order-recap footer small {
  display: block;
  color: #777;
  font-size: 12px;
}
.daily-order-products {
  display: grid;
  gap: 4px;
  font-size: 13px;
}
.daily-order-row > b {
  white-space: nowrap;
}
.daily-order-recap footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  background: #E9EDDF;
  padding: 24px 22px;
}
.daily-order-recap footer b {
  font-size: 23px;
  white-space: nowrap;
}
.daily-order-recap footer small {
  margin-top: 6px;
}
@media (max-width: 650px) {
  .order-visible-filters {
    margin-left: 0;
    width: 100%;
  }
  .order-visible-filters button {
    padding: 10px 12px;
  }
  .daily-order-recap footer {
    flex-wrap: wrap;
  }
  .daily-order-row {
    padding: 18px 16px;
  }
}

/* src/components/generated/BusinessFlow.css */
.bf-client {
  font-family:
    Inter,
    Arial,
    sans-serif;
  color: #171717;
  background: #f5f5f5;
  min-height: 100vh;
  font-size: 13px;
}
.bf-testbar {
  background: #191919;
  color: #ddd;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px max(20px, calc((100vw - 1100px)/2));
  gap: 16px;
  font-size: 11px;
}
.bf-testbar button {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  background: none;
  border: 0;
  min-height: 28px;
  white-space: nowrap;
}
.bf-brand {
  display: flex;
  align-items: center;
  gap: 12px;
  background: #fff;
  border-bottom: 1px solid #e3e3e3;
  padding: 22px max(20px, calc((100vw - 1100px)/2));
}
.bf-brand > span {
  margin-left: 16px;
  color: #666;
  font-size: 12px;
}
.bf-brand > .bf-secondary {
  margin-left: auto;
}
.bf-monogram {
  height: 36px;
  width: 36px;
  border-radius: 9px;
  background: #202020;
  color: #fff;
  display: grid;
  place-items: center;
  font-weight: 600;
  flex-shrink: 0;
}
.bf-brand > strong {
  white-space: nowrap;
  font-size: 16px;
  letter-spacing: -.5px;
}
.bf-client-grid {
  max-width: 1140px;
  margin: auto;
  padding: 40px 20px 50px;
  display: grid;
  grid-template-columns: minmax(250px, .85fr) minmax(0, 1.4fr);
  gap: 56px;
  align-items: start;
}
.bf-offer {
  position: sticky;
  top: 35px;
  padding: 16px 0;
}
.bf-offer-icon {
  height: 64px;
  width: 64px;
  border: 1px solid #ddd;
  border-radius: 16px;
  background: #fff;
  display: grid;
  place-items: center;
  margin-bottom: 28px;
}
.bf-offer h1 {
  font-size: 43px;
  letter-spacing: -2px;
  font-weight: 650;
  line-height: 1.08;
  margin: 14px 0 18px;
}
.bf-offer > p {
  font-size: 14px;
  color: #666;
  line-height: 1.8;
}
.bf-offer-facts {
  display: grid;
  gap: 17px;
  margin: 30px 0;
  font-size: 12px;
}
.bf-offer-facts > span {
  display: flex;
  align-items: center;
  gap: 12px;
}
.bf-offer-bottom {
  border-top: 1px solid #ddd;
  padding-top: 26px;
  margin-top: 35px;
}
.bf-offer-bottom ol {
  padding-left: 18px;
  line-height: 2.2;
  color: #666;
  font-size: 12px;
}
.bf-form {
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 12px;
  box-shadow: 0 1px 2px #0000000b;
  overflow: hidden;
}
.bf-form-heading {
  padding: 26px 28px;
}
.bf-form-heading h2 {
  margin: 0;
  font-size: 23px;
  letter-spacing: -.7px;
  font-weight: 650;
}
.bf-form-heading p,
.bf-form-submit p {
  font-size: 11px;
  line-height: 1.7;
  color: #666;
  margin: 9px 0 0;
}
.bf-form-section {
  padding: 23px 28px;
  border-top: 1px solid #ededed;
}
.bf-form-section h3 {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 600;
  font-size: 14px;
  margin: 0 0 18px;
}
.bf-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.bf-wide {
  grid-column: 1/-1;
}
.bf-form label,
.bf-quote-editor label {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 12px;
  font-weight: 500;
  margin: 0 0 14px;
}
.bf-fields label {
  margin-bottom: 0;
}
.bf-form input:not([type=checkbox]):not([type=radio]),
.bf-form select,
.bf-form textarea,
.bf-quote-editor input:not([type=checkbox]),
.bf-quote-editor textarea {
  min-width: 0;
  width: 100%;
  background: #fdfdfd;
  color: #171717;
  border: 1px solid #d7d7d7;
  border-radius: 7px;
  min-height: 40px;
  padding: 10px 11px;
  font: inherit;
  font-size: 13px;
  box-shadow: 0 1px 1px #00000003;
}
.bf-form textarea,
.bf-quote-editor textarea {
  resize: vertical;
  line-height: 1.6;
}
.bf-form input:focus-visible,
.bf-form select:focus-visible,
.bf-form textarea:focus-visible,
.bf-quote-editor input:focus-visible,
.bf-quote-editor textarea:focus-visible {
  outline: 2px solid #222;
  outline-offset: 2px;
}
.bf-form input[type=checkbox],
.bf-form input[type=radio],
.bf-quote-editor input[type=checkbox],
.bf-response input {
  accent-color: #171717;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.bf-options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.bf-form .bf-option {
  flex-direction: row;
  align-items: center;
  gap: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 14px 12px;
  cursor: pointer;
  font-size: 12px;
}
.bf-option small {
  display: block;
  color: #666;
  font-size: 10px;
  font-weight: 400;
  line-height: 1.5;
  margin-top: 5px;
}
.bf-form .bf-selected {
  border-color: #222;
  box-shadow: inset 0 0 0 .5px #222;
  background: #fafafa;
}
.bf-form .bf-check,
.bf-quote-editor .bf-check,
.bf-check {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 9px;
  min-height: 40px;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 400;
  margin: 8px 0;
}
.bf-form-section > .bf-fields + label {
  margin-top: 17px;
}
.bf-form-submit {
  padding: 22px 28px;
  border-top: 1px solid #eee;
  display: flex;
  flex-direction: column;
  gap: 18px;
}
.bf-form-submit p {
  margin: 0;
}
.bf-form-submit > .primary-button {
  min-height: 44px;
}
.bf-test-note {
  font-size: 10px;
  color: #707070;
  line-height: 1.7;
  margin: 16px 0 0;
}
.bf-form > .bf-test-note {
  margin: 0;
  padding: 0 28px 22px;
  text-align: center;
}
.bf-muted {
  font-size: 11px;
  line-height: 1.7;
  color: #666;
  font-weight: 400;
}
.bf-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  border: 1px solid #d8d8d8;
  border-radius: 7px;
  background: #fff;
  padding: 8px 11px;
  font-size: 11px;
  font-weight: 550;
  color: #333;
}
.bf-secondary:hover {
  background: #f4f4f4;
}
.bf-client-footer {
  text-align: center;
  color: #777;
  font-size: 11px;
  padding: 25px;
  border-top: 1px solid #e3e3e3;
}
.bf-success {
  max-width: 520px;
  margin: 50px auto;
  padding: 30px 24px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
}
.bf-success h1 {
  font-size: 30px;
  font-weight: 650;
  letter-spacing: -1px;
  line-height: 1.2;
  margin: 0;
}
.bf-success p {
  color: #666;
  line-height: 1.8;
  margin: 0;
}
.bf-reference {
  display: flex;
  flex-direction: column;
  gap: 9px;
  background: white;
  border: 1px solid #ddd;
  border-radius: 10px;
  padding: 20px;
  width: 100%;
  font-size: 12px;
}
.bf-reference strong {
  font-size: 20px;
}
.bf-error {
  border: 1px solid #555;
  background: #f4f4f4;
  padding: 12px;
  font-size: 12px;
  line-height: 1.6;
}
.bf-form > .bf-error {
  margin: 15px 28px;
}
.bf-brief,
.bf-quote-editor {
  border-bottom: 1px solid #e5e5e5;
  padding: 22px 0;
}
.bf-section-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}
.bf-section-title h3 {
  font-size: 14px;
  font-weight: 650;
  margin: 0;
}
.bf-section-title > span {
  font-size: 10px;
  color: #666;
}
.bf-section-title p {
  margin: 5px 0 0;
}
.bf-brief dl {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 0;
}
.bf-brief dt {
  color: #777;
  font-size: 10px;
  margin-bottom: 5px;
}
.bf-brief dd {
  margin: 0;
  font-size: 12px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.bf-quote-editor > .bf-fields {
  margin-bottom: 16px;
}
.bf-total {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border-top: 1px solid #ddd;
  padding: 18px 0;
  margin-top: 12px;
  font-size: 12px;
}
.bf-total strong {
  font-size: 20px;
  letter-spacing: -.6px;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.bf-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.bf-buttons button {
  white-space: normal;
}
.bf-document {
  border: 1px solid #dedede;
  background: #fff;
  border-radius: 10px;
  padding: 24px;
  margin-top: 20px;
}
.bf-document-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 22px;
  border-bottom: 1px solid #eee;
}
.bf-document-top strong,
.bf-document-top span {
  display: block;
}
.bf-document-top span {
  font-size: 10px;
  color: #777;
  margin-top: 5px;
}
.bf-document-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin: 22px 0;
}
.bf-document-title h2 {
  font-size: 26px;
  letter-spacing: -.8px;
  margin: 0;
  font-weight: 650;
}
.bf-document-title > span {
  font-size: 10px;
  color: #666;
}
.bf-document > p {
  font-size: 12px;
  line-height: 1.7;
}
.bf-document-lines {
  margin-top: 24px;
}
.bf-document-lines > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 0;
  border-top: 1px solid #eee;
  font-size: 12px;
}
.bf-document-lines strong {
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.bf-document-lines small {
  display: block;
  margin-top: 5px;
  color: #666;
  font-size: 10px;
}
.bf-terms {
  white-space: pre-wrap;
  color: #555;
}
.bf-portal {
  max-width: 660px;
  margin: auto;
  padding: 36px 20px;
}
.bf-portal-heading h1 {
  font-size: 28px;
  font-weight: 650;
  letter-spacing: -1px;
  margin: 0 0 10px;
}
.bf-portal-heading p {
  color: #666;
}
.bf-response {
  display: grid;
  gap: 16px;
  padding: 22px 0;
}
.bf-response .primary-button:disabled {
  background: #999;
  border-color: #999;
  cursor: not-allowed;
}
.bf-kind-filters {
  display: flex;
  gap: 7px;
  padding: 0 20px 14px;
  flex-wrap: wrap;
}
.bf-storage-warning {
  font-size: 12px;
  padding: 12px;
  background: #fff;
  border: 1px solid #555;
  margin-bottom: 16px;
}
.bf-quote-editor .primary-button {
  font-size: 11px;
}
.bf-quote-editor .bf-document {
  padding: 18px;
}
@media (max-width: 850px) {
  .bf-client-grid {
    gap: 28px;
    grid-template-columns: minmax(200px, .8fr) minmax(0, 1.3fr);
  }
  .bf-offer h1 {
    font-size: 34px;
  }
  .bf-form-heading,
  .bf-form-section,
  .bf-form-submit {
    padding: 22px;
  }
  .bf-brand > span {
    display: none;
  }
}
@media (max-width: 650px) {
  .bf-client-grid {
    grid-template-columns: 1fr;
    padding-top: 24px;
    gap: 20px;
  }
  .bf-offer {
    position: static;
    padding: 0;
  }
  .bf-offer-icon,
  .bf-offer-facts,
  .bf-offer-bottom {
    display: none;
  }
  .bf-offer h1 {
    font-size: 32px;
    margin: 8px 0 12px;
  }
  .bf-offer > p {
    font-size: 12px;
    margin: 0;
  }
  .bf-brand {
    padding: 17px 20px;
    flex-wrap: wrap;
  }
  .bf-brand > .bf-secondary {
    font-size: 10px;
  }
  .bf-fields {
    grid-template-columns: 1fr;
  }
  .bf-options {
    grid-template-columns: 1fr 1fr;
  }
  .bf-form .bf-option {
    padding: 12px 9px;
  }
  .bf-form-heading,
  .bf-form-section,
  .bf-form-submit {
    padding: 20px;
  }
  .bf-testbar {
    font-size: 10px;
    padding: 8px 16px;
  }
  .bf-testbar button {
    font-size: 10px;
  }
  .bf-document {
    padding: 20px;
  }
  .bf-document-title {
    align-items: start;
    flex-direction: column;
  }
  .bf-quote-editor .bf-fields {
    grid-template-columns: 1fr 1fr;
  }
  .bf-portal-heading h1 {
    font-size: 25px;
  }
}

/* src/components/generated/SignaturePayment.css */
.sp-portal {
  max-width: 720px;
}
.sp-steps {
  display: flex;
  list-style: none;
  padding: 0;
  margin: 0 0 35px;
  gap: 12px;
}
.sp-steps li {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 9px;
  border-bottom: 2px solid #ddd;
  padding: 0 0 15px;
  color: #888;
  font-size: 11px;
}
.sp-steps li > span {
  display: grid;
  place-items: center;
  width: 25px;
  height: 25px;
  border: 1px solid #ddd;
  border-radius: 50%;
  flex: none;
}
.sp-steps .sp-step-active {
  color: #171717;
  border-color: #171717;
}
.sp-step-active > span {
  background: #222;
  color: #fff;
  border-color: #222 !important;
}
.sp-steps strong {
  font-weight: 550;
}
.sp-sign,
.sp-payment,
.sp-confirmation {
  background: #fff;
  border: 1px solid #e3e3e3;
  border-radius: 12px;
  padding: 25px;
  margin-top: 22px;
}
.sp-sign h2,
.sp-payment h2,
.sp-confirmation h2 {
  font-size: 19px;
  font-weight: 650;
  letter-spacing: -.5px;
  margin: 0 0 12px;
}
.sp-sign > p,
.sp-payment > p,
.sp-confirmation > p {
  font-size: 12px;
  color: #666;
  line-height: 1.8;
}
.sp-sign form > label:first-child {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin: 22px 0;
  font-size: 12px;
}
.sp-sign input:not([type=checkbox]) {
  width: 100%;
  min-height: 42px;
  border: 1px solid #ccc;
  background: #fdfdfd;
  padding: 10px;
  border-radius: 7px;
}
.sp-sign .bf-check {
  align-items: flex-start;
  margin: 18px 0;
  line-height: 1.7;
}
.sp-sign input[type=checkbox] {
  margin-top: 3px;
}
.sp-sign .primary-button {
  min-height: 42px;
  white-space: normal;
}
.sp-sign button:disabled {
  opacity: .4;
  cursor: not-allowed;
}
.sp-quote-details {
  border: 1px solid #ddd;
  background: #fff;
  border-radius: 9px;
  margin-top: 22px;
}
.sp-quote-details summary {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 16px;
  font-size: 12px;
  list-style: none;
}
.sp-quote-details summary span {
  margin-left: auto;
  font-weight: 600;
}
.sp-quote-details .bf-document {
  border: 0;
  margin: 0;
}
.sp-signed {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 11px;
  color: #555;
  padding-bottom: 18px;
  border-bottom: 1px solid #eee;
  margin-bottom: 22px;
}
.sp-payment fieldset {
  border: 0;
  padding: 0;
  margin: 24px 0;
}
.sp-payment legend {
  font-size: 12px;
  font-weight: 600;
  margin-bottom: 13px;
}
.sp-payment-option {
  display: flex;
  align-items: start;
  gap: 12px;
  padding: 18px;
  border: 1px solid #ddd;
  border-radius: 9px;
  margin-bottom: 12px;
  cursor: pointer;
}
.sp-payment-option input,
.sp-methods input {
  accent-color: #171717;
  flex: none;
  margin-top: 2px;
  width: 16px;
  height: 16px;
}
.sp-payment-option strong {
  display: block;
  font-size: 13px;
}
.sp-payment-option small {
  display: block;
  margin-top: 7px;
  font-size: 11px;
  line-height: 1.8;
  color: #666;
}
.sp-selected {
  border-color: #222 !important;
  background: #fafafa;
  box-shadow: inset 0 0 0 .5px #222;
}
.sp-methods {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.sp-methods label {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #ddd;
  border-radius: 7px;
  padding: 12px;
  font-size: 12px;
  cursor: pointer;
  flex: 1;
  white-space: nowrap;
}
.sp-pay-total {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 15px;
  background: #f7f7f7;
  border: 1px solid #e8e8e8;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
}
.sp-pay-total > span {
  font-size: 11px;
  color: #666;
}
.sp-pay-total strong {
  display: block;
  font-size: 21px;
  color: #171717;
  letter-spacing: -.6px;
  font-variant-numeric: tabular-nums;
  margin-top: 8px;
}
.sp-pay-button {
  width: 100%;
  min-height: 44px;
  white-space: normal;
}
.sp-failure-test {
  display: block;
  margin: 12px auto 0;
  border: 0;
  background: transparent;
  text-decoration: underline;
  font-size: 10px;
  color: #666;
  padding: 8px;
}
.sp-confirmation > svg {
  margin-bottom: 18px;
}
.sp-crm-payment,
.sp-whatsapp {
  padding: 22px 0;
  border-bottom: 1px solid #e5e5e5;
}
.sp-crm-payment dl {
  margin: 0;
  display: grid;
  gap: 14px;
}
.sp-crm-payment dl > div {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  font-size: 11px;
}
.sp-crm-payment dt {
  color: #666;
}
.sp-crm-payment dd {
  margin: 0;
  text-align: right;
  font-weight: 550;
}
.sp-whatsapp h3 {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sp-message {
  background: #f6f6f6;
  border: 1px solid #e0e0e0;
  padding: 16px;
  border-radius: 10px;
}
.sp-message p {
  font-size: 12px;
  line-height: 1.8;
  margin: 0 0 16px;
}
.sp-message button {
  width: 100%;
}
.sp-quote-details summary:focus-visible {
  outline: 2px solid #222;
  outline-offset: 3px;
}
@media (max-width: 500px) {
  .sp-steps {
    gap: 8px;
  }
  .sp-steps li {
    flex-direction: column;
    align-items: start;
    gap: 7px;
    font-size: 10px;
  }
  .sp-sign,
  .sp-payment,
  .sp-confirmation {
    padding: 20px;
  }
  .sp-pay-total {
    padding: 15px;
    gap: 10px;
  }
  .sp-pay-total strong {
    font-size: 18px;
  }
  .sp-methods label {
    flex-basis: 100%;
  }
  .sp-quote-details summary {
    flex-wrap: wrap;
  }
  .sp-quote-details summary span {
    margin-left: 27px;
  }
  .sp-payment-option {
    padding: 14px;
  }
  .sp-payment-option strong {
    font-size: 12px;
  }
}

/* src/components/generated/BrandTheme.css */
.blooom-app {
  --brand-ivory:#F7F4E9;
  --brand-white:#fff;
  --brand-olive:#526333;
  --brand-petal:#E5A5B5;
  --brand-sprout:#DCEAA1;
  --brand-leaf:#263426;
  --state-success-bg:#EAF1E7;
  --state-success-ink:#35552E;
  --state-warning-bg:#FFF3DC;
  --state-warning-ink:#795015;
  --state-error-bg:#FBEDEC;
  --state-error-ink:#943A35;
  background: #FAFAFA;
  color: var(--brand-leaf);
}
.blooom-app .main-area,
.blooom-app .content,
.blooom-app .sidebar {
  background: #FAFAFA;
}
.blooom-app .logo-row {
  background: var(--brand-leaf);
}
.blooom-app .topbar {
  background: #FAFAFA;
  color: var(--brand-leaf);
}
.blooom-app .topbar .header-identity p {
  color: #71776D;
}
.blooom-app .topbar .header-search {
  background: transparent;
  border-color: #DEDEDE;
  color: #62695D;
}
.blooom-app .topbar .header-search input {
  color: var(--brand-leaf);
  background: transparent;
}
.blooom-app .topbar .header-search input::placeholder {
  color: #71776D;
}
.blooom-app .topbar :is(.bell, .menu-toggle, .mobile-search-toggle) {
  color: var(--brand-leaf);
}
.blooom-app .nav-item.nav-active,
.blooom-app .nav-item.nav-active:hover {
  background: #E9EDDF;
  color: var(--brand-leaf);
  box-shadow: none;
}
.blooom-app .nav-item:hover {
  background: #EFEEE4;
}
.blooom-app .nav-item {
  color: #56604F;
}
.blooom-app .primary-button {
  background: var(--brand-olive);
  border-color: var(--brand-olive);
  color: white;
}
.blooom-app .primary-button:hover {
  background: #435329;
  border-color: #435329;
}
.blooom-app .settings-tabs button[aria-current=page] {
  background: var(--brand-olive);
  color: white;
}
.blooom-app .settings-invite-banner {
  background:
    linear-gradient(
      110deg,
      #DCEAA1,
      #F7F4E9 55%,
      #E5A5B5);
  color: var(--brand-leaf);
}
.blooom-app .settings-invite-banner small {
  color: #535C49;
}
.blooom-app .subscription-featured {
  background: var(--brand-leaf);
  border-color: var(--brand-leaf);
  color: #fff;
}
.blooom-app .subscription-featured .subscription-unavailable {
  background: var(--brand-sprout);
  color: var(--brand-leaf);
  border-color: var(--brand-sprout);
}
.blooom-app .status[data-status] {
  background: #EFEFE9;
  color: #5E6459;
  border-color: transparent;
}
.blooom-app .status[data-status] i {
  background: currentColor;
}
.blooom-app .status:is([data-status=Accept\e9 e], [data-status=Confirm\e9 e], [data-status="En pr\e9paration"], [data-status="Devis pr\e9par\e9"], [data-status="Devis partag\e9"]) {
  background: #EEF1E5;
  color: #526333;
}
.blooom-app .status[data-status=Pr\eate] {
  background: #DCEAA1;
  color: #263426;
}
.blooom-app .status:is([data-status=Remise], [data-status=Livr\e9 e], [data-status=Termin\e9 e], [data-status=Publi\e9]) {
  background: var(--state-success-bg);
  color: var(--state-success-ink);
}
.blooom-app .status[data-status="Acompte attendu"] {
  background: var(--state-warning-bg);
  color: var(--state-warning-ink);
}
.blooom-app .status:is([data-status=Refus\e9 e], [data-status=Annul\e9 e], [data-status="Devis refus\e9"]) {
  background: var(--state-error-bg);
  color: var(--state-error-ink);
}
.blooom-app .case-steps .step-current .step-marker {
  background: var(--brand-sprout);
  color: var(--brand-leaf);
  border-color: var(--brand-sprout);
}
.blooom-app .case-steps .step-complete .step-marker {
  background: var(--state-success-bg);
  color: var(--state-success-ink);
  border-color: #D4E2CE;
}
.blooom-app .order-deadline.is-overdue {
  background: transparent;
  color: var(--state-error-ink);
}
.blooom-app .bf-storage-warning {
  background: var(--state-warning-bg);
  color: var(--state-warning-ink);
}
.blooom-app .settings-alert,
.blooom-app .cat-error {
  background: var(--state-error-bg);
  color: var(--state-error-ink);
  border-color: #EBCBC7;
}
.blooom-app .settings-notice,
.blooom-app .cat-notice {
  background: var(--state-success-bg);
  color: var(--state-success-ink);
  border-color: #D4E2CE;
}
.blooom-app :is(button, a, input, select, textarea):focus-visible {
  outline: 2px solid var(--brand-olive);
  outline-offset: 3px;
}
.blooom-app .settings-page input[type=checkbox],
.blooom-app .sf-popover input {
  accent-color: var(--brand-olive);
}
.blooom-app :is(.settings-heading, .section-title, .cat-heading, .subscription-heading) :is(h1, h2) {
  color: var(--brand-leaf);
}
.blooom-app :is(.cl-avatar, .client-avatar, .rq-avatar, .account-avatar, .top-avatar, .settings-avatar) {
  border-radius: 50%;
  flex-shrink: 0;
  overflow: hidden;
}
@media (min-width: 791px) {
  .blooom-app .topbar {
    padding-left: max(24px, calc((100% - 1250px)/2 + 24px));
    padding-right: max(24px, calc((100% - 1250px)/2 + 24px));
  }
}
@media (min-width: 1181px) {
  .blooom-app .topbar {
    padding-left: max(32px, calc((100% - 1250px)/2 + 32px));
    padding-right: max(32px, calc((100% - 1250px)/2 + 32px));
  }
}
.blooom-app .topbar {
  border-bottom: 1px solid #E3E3E3;
}
@media (max-width: 790px) {
  .blooom-app .topbar .header-identity h1 {
    font-size: 18px;
    font-weight: 700;
  }
}
.blooom-app .header-search {
  text-align: left;
}
.blooom-app .header-search > span {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: 12px;
}
.blooom-app .quick-search-field:focus-within {
  outline: none;
  border-color: #526333;
  box-shadow: 0 0 0 1px #526333;
}
.blooom-app .quick-search-field input:focus-visible {
  outline: none;
  box-shadow: none;
  background: transparent;
}
@media (min-width: 791px) {
  .blooom-app .quick-search {
    inset: 0;
    margin: auto;
    width: min(520px, calc(100vw - 32px));
    max-height: 80dvh;
    height: auto;
    min-height: 220px;
    padding: 18px;
    border: 1px solid #E3E3E3;
    border-radius: 16px;
    box-shadow: 0 12px 36px #2634261A;
    z-index: 50;
  }
  .blooom-app .quick-search header h2 {
    font-size: 14px;
  }
  .blooom-app .quick-search header button {
    width: 30px;
    height: 30px;
    background: transparent;
  }
  .blooom-app .quick-search-field {
    margin-top: 12px;
    padding: 10px;
  }
  .blooom-app .quick-search-field input {
    font-size: 14px;
  }
  .blooom-app .quick-search-results > button {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    padding: 14px 10px;
    border-radius: 10px;
    border-bottom: 0;
  }
  .blooom-app .quick-search-results .rq-client {
    grid-column: 1;
    grid-row: 1;
  }
  .blooom-app .quick-search-results .rq-offer {
    grid-column: 1;
    grid-row: 2;
    margin-left: 46px;
  }
  .blooom-app .quick-search-results .status {
    grid-column: 2;
    grid-row: 1;
  }
  .blooom-app .quick-search-results > button > svg {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
  .blooom-app .quick-search-results > button:hover {
    background: #F5F6F2;
  }
}
.blooom-app .quick-search-field input::-webkit-search-cancel-button {
  display: none;
  -webkit-appearance: none;
}
.blooom-app .quick-search-clear {
  display: grid;
  place-items: center;
  flex: none;
  width: 28px;
  height: 28px;
  padding: 0;
  background: transparent;
  border: 0;
  border-radius: 6px;
  color: #777;
}
.blooom-app .quick-search-clear:hover {
  background: #f1f1f1;
  color: #444;
}
.blooom-app .quick-search::backdrop {
  background: #26342655;
}

/* src/components/generated/Onboarding.css */
.ob-auth,
.ob-wizard,
.ob-loading {
  font-family:
    Inter,
    Arial,
    sans-serif;
  color: #242424;
  background: #fafaf9;
  min-height: 100dvh;
  box-sizing: border-box;
}
.ob-auth *,
.ob-wizard * {
  box-sizing: border-box;
}
.ob-auth button,
.ob-wizard button {
  font: inherit;
  cursor: pointer;
}
.ob-auth button:disabled,
.ob-wizard button:disabled {
  opacity: .45;
  cursor: wait;
}
.ob-auth {
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 24px;
  gap: 28px;
}
.ob-auth-left {
  display: flex;
  flex-direction: column;
  padding: 20px 6%;
  min-height: calc(100dvh - 48px);
}
.ob-brand {
  display: flex;
  gap: 7px;
  align-items: center;
  font-size: 32px;
  font-weight: 750;
  letter-spacing: -1.4px;
}
.ob-brand img {
  width: 29px;
  height: 31px;
  filter: brightness(0);
}
.ob-auth-form {
  width: 100%;
  max-width: 390px;
  margin: auto;
  padding: 45px 0;
}
.ob-auth h1 {
  text-align: center;
  font-size: 38px;
  line-height: 1.14;
  letter-spacing: -1.5px;
  white-space: pre-line;
  margin: 0 0 16px;
  font-weight: 600;
}
.ob-auth-form > p {
  text-align: center;
  color: #727272;
  font-size: 14px;
  line-height: 1.7;
  margin-bottom: 26px;
}
.ob-auth form,
.ob-card {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.ob-auth label,
.ob-wizard label {
  display: flex;
  flex-direction: column;
  gap: 9px;
  font-size: 13px;
  font-weight: 500;
}
.ob-auth input,
.ob-wizard input:not([type=checkbox]),
.ob-wizard textarea,
.ob-wizard select {
  width: 100%;
  min-width: 0;
  font: inherit;
  font-size: 14px;
  line-height: 1.5;
  border: 1px solid #dfdfdf;
  border-radius: 12px;
  padding: 13px 15px;
  background: #fff;
  color: #242424;
  outline: none;
}
.ob-auth input:focus,
.ob-wizard input:focus,
.ob-wizard textarea:focus,
.ob-wizard select:focus {
  border-color: #8d79ae;
  box-shadow: 0 0 0 3px #baa3d51c;
}
.ob-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.ob-row > * {
  min-width: 0;
}
.ob-primary,
.ob-secondary,
.ob-google {
  min-height: 48px;
  border-radius: 12px;
  padding: 13px 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  font-size: 14px;
  font-weight: 550;
  border: 1px solid #dedede;
  background: white;
  color: #242424;
  text-decoration: none;
}
.ob-auth .ob-primary,
.ob-wizard .ob-primary {
  background: #242424;
  border-color: #242424;
  color: white;
}
.ob-primary:hover {
  filter: brightness(1.15);
}
.ob-google {
  width: 100%;
  background: transparent;
}
.ob-google span {
  font-size: 19px;
  font-weight: 700;
}
.ob-divider {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 12px;
  color: #858585;
  margin: 23px 0;
}
.ob-divider span {
  height: 1px;
  flex: 1;
  background: #e6e6e6;
}
.ob-password {
  position: relative;
}
.ob-password input {
  padding-right: 48px;
}
.ob-password button {
  position: absolute;
  right: 12px;
  top: 12px;
  border: 0;
  background: transparent;
  color: #777;
  padding: 3px;
}
.ob-text {
  background: none;
  border: 0;
  padding: 0;
  color: inherit;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  font-size: 13px;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.ob-forgot {
  align-self: flex-end;
  margin-top: -9px;
  color: #646464;
}
.ob-auth-form .ob-switch {
  text-align: center;
  font-size: 13px;
  margin: 24px 0 0;
}
.ob-switch button {
  font-weight: 600;
  color: #242424;
}
.ob-auth-left footer {
  font-size: 12px;
  color: #888;
}
.ob-auth-photo {
  position: relative;
  border-radius: 65px 26px 65px 26px;
  overflow: hidden;
  min-height: 650px;
  background: #ece6f5;
  isolation: isolate;
}
.ob-auth-photo > img {
  width: 100%;
  height: 100%;
  position: absolute;
  object-fit: cover;
  object-position: 54% 44%;
}
.ob-auth-photo:before,
.ob-auth-photo:after {
  content: "";
  position: absolute;
  z-index: 2;
  width: 100px;
  height: 210px;
  background: #fafaf9;
  border-radius: 50%;
  left: -85px;
  top: 12%;
  transform: rotate(10deg);
}
.ob-auth-photo:after {
  left: auto;
  top: auto;
  right: -85px;
  bottom: 12%;
  transform: rotate(10deg);
}
.ob-glass {
  position: absolute;
  bottom: 30px;
  left: 30px;
  right: 30px;
  padding: 28px 30px;
  color: #242424;
  background:
    linear-gradient(
      130deg,
      #ffffff70,
      #ffffff30);
  border: 1px solid #ffffffa0;
  box-shadow: 0 10px 40px #3028400a;
  backdrop-filter: blur(6px);
  border-radius: 22px;
}
.ob-glass p {
  font-size: 28px;
  line-height: 1.22;
  font-weight: 500;
  letter-spacing: -.8px;
  margin: 12px 0 20px;
}
.ob-glass small {
  font-size: 13px;
  line-height: 1.6;
}
.ob-glass-dot {
  display: block;
  width: 25px;
  height: 6px;
  border-radius: 9px;
  background: #fff;
}
.ob-notice {
  font-size: 13px !important;
  line-height: 1.65;
  background: #f0edf5;
  border: 1px solid #e4ddec;
  border-radius: 12px;
  padding: 14px;
  color: #51485e;
  margin: 10px 0;
}
.ob-loading {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 20px;
}
.ob-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 28px 5%;
}
.ob-wizard {
  background-color: #fafaf9;
  background-image:
    linear-gradient(
      90deg,
      #e8e8e84d 1px,
      transparent 1px);
  background-size: 140px 100%;
  padding-bottom: 20px;
}
.ob-progress {
  display: flex;
  justify-content: center;
  gap: 34px;
  margin: 22px auto 38px;
}
.ob-progress > span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #a0a0a0;
}
.ob-progress b {
  width: 23px;
  height: 23px;
  background: #ebebeb;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 11px;
  font-weight: 500;
}
.ob-progress .active {
  color: #333;
}
.ob-progress .active b {
  background: #252525;
  color: #fff;
}
.ob-progress small {
  font-size: 12px;
}
.ob-stage {
  width: min(100% - 40px, 620px);
  margin: auto;
}
.ob-stage-wide {
  width: min(100% - 40px, 780px);
}
.ob-guide {
  text-align: center;
  margin: 0 auto 28px;
}
.ob-avatar {
  width: 58px;
  height: 58px;
  border-radius: 20px;
  background: #242424;
  display: grid;
  place-items: center;
  margin: 0 auto 20px;
  box-shadow: 0 5px 25px #a58ac51f;
}
.ob-avatar img {
  width: 30px;
  height: 32px;
  filter: brightness(0) invert(1);
}
.ob-guide h1 {
  font-size: 31px;
  line-height: 1.2;
  letter-spacing: -1px;
  font-weight: 550;
  margin: 0 0 12px;
  outline: none;
}
.ob-guide p {
  color: #777;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 auto;
  max-width: 450px;
}
.ob-card {
  background: white;
  border: 1px solid #efefef;
  border-radius: 25px;
  padding: 30px;
  box-shadow: 0 15px 45px #22222205;
}
.ob-wizard label small {
  font-weight: 400;
  color: #888;
}
.ob-drop {
  min-height: 190px;
  border: 1px dashed #d4d4d4;
  background: #f5f5f4;
  border-radius: 17px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  padding: 20px;
  color: #292929;
}
.ob-drop > span {
  background: white;
  border-radius: 16px;
  display: grid;
  place-items: center;
  width: 60px;
  height: 60px;
}
.ob-drop strong {
  font-size: 14px;
  font-weight: 500;
}
.ob-drop small,
.ob-hint {
  font-size: 12px;
  color: #858585;
}
.ob-hint {
  margin: -8px 0 0;
  line-height: 1.6;
}
.ob-drop.has-photo {
  padding: 0;
  height: 210px;
}
.ob-drop img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  border-radius: 16px;
}
.ob-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin: 25px 0 0;
}
.ob-secondary {
  background: white;
}
.ob-welcome {
  display: grid;
  gap: 18px;
  background: white;
  border: 1px solid #eee;
  border-radius: 24px;
  padding: 30px;
  margin: 38px 0 26px;
}
.ob-welcome > span {
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 15px;
}
.ob-welcome svg {
  width: 21px;
  color: #7f748a;
}
.ob-start {
  width: 100%;
}
.ob-save-note {
  font-size: 12px;
  color: #7c7c7c;
  line-height: 1.7;
  text-align: center;
  margin: 18px auto;
  max-width: 560px;
}
.ob-bottom {
  text-align: center;
  font-size: 11px;
  color: #999;
  margin: 35px 0 0;
}
.ob-wizard .ob-choice {
  flex-direction: row;
  align-items: center;
  border: 1px solid #ddd;
  border-radius: 13px;
  padding: 18px;
  gap: 12px;
  cursor: pointer;
}
.ob-choice.selected {
  border-color: #333;
  background: #f8f8f7;
}
.ob-choice svg {
  width: 21px;
}
.ob-choice input {
  margin-left: auto;
  accent-color: #222;
}
.ob-preview-card {
  padding: 30px;
  border-radius: 24px;
  background: white;
  border: 1px solid #eee;
  display: grid;
  grid-template-columns: 1fr 230px;
  gap: 25px;
}
.ob-preview-card > div > span {
  font-size: 15px;
  font-weight: 650;
}
.ob-preview-card h2 {
  font-size: 28px;
  line-height: 1.3;
  letter-spacing: -.6px;
  margin-top: 28px;
}
.ob-preview-card p {
  font-size: 13px;
  color: #777;
  line-height: 1.6;
}
.ob-preview-card article img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 15px;
}
.ob-preview-card h3 {
  font-size: 16px;
  margin: 12px 0 5px;
}
.ob-preview-card article strong {
  font-size: 14px;
}
.ob-preview-card > section {
  grid-column: 1/-1;
  border-top: 1px solid #eee;
  padding-top: 12px;
}
.ob-no-photo {
  height: 180px;
  background: #f4f4f4;
  border-radius: 15px;
  display: grid;
  place-content: center;
  justify-items: center;
  gap: 12px;
  color: #777;
  font-size: 12px;
}
.ob-later {
  display: flex;
  margin: 20px auto;
}
.ob-finish {
  display: grid;
  gap: 24px;
  justify-items: center;
  margin: 35px 0;
}
.ob-finish > a {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #333;
}
.ob-wizard button:focus-visible,
.ob-auth button:focus-visible {
  outline: 3px solid #b19acb;
  outline-offset: 3px;
}
@media (min-width: 1500px) {
  .ob-auth {
    max-width: 1600px;
    margin: auto;
  }
}
@media (max-width: 800px) {
  .ob-auth {
    grid-template-columns: 1fr;
    padding: 20px;
  }
  .ob-auth-photo {
    display: none;
  }
  .ob-auth-left {
    padding: 10px 4%;
    min-height: calc(100dvh - 40px);
  }
  .ob-auth h1 {
    font-size: 34px;
  }
  .ob-progress {
    gap: 16px;
    margin: 15px auto 28px;
  }
  .ob-progress small {
    display: none;
  }
  .ob-guide h1 {
    font-size: 27px;
  }
  .ob-top {
    padding: 20px;
  }
  .ob-card {
    padding: 22px;
  }
  .ob-guide p {
    font-size: 13px;
  }
  .ob-stage {
    width: calc(100% - 32px);
  }
  .ob-preview-card {
    grid-template-columns: 1fr;
    padding: 23px;
  }
  .ob-preview-card article {
    max-width: 290px;
  }
  .ob-preview-card h2 {
    font-size: 24px;
  }
  .ob-actions {
    gap: 12px;
  }
  .ob-primary,
  .ob-secondary {
    padding: 13px 12px;
  }
  .ob-drop strong {
    text-align: center;
    font-size: 13px;
  }
}

/* src/index.css */
:root {
  --canvas:#FAFAFA;
  --surface:#fff;
  --sidebar:#FAFAFA;
  --ink:#171717;
  --muted:#666;
  --border:#e3e3e3;
  --action:#202020;
  --hover:#f4f4f4;
  --radius:12px;
  --shadow:0 1px 2px #0000000b,0 1px 0 #00000006;
  font-family:
    Inter,
    Arial,
    sans-serif;
  color: var(--ink);
  background: var(--canvas);
}
* {
  box-sizing: border-box;
}
body {
  margin: 0;
}
button,
input {
  font: inherit;
}
button {
  cursor: pointer;
}
button:focus-visible,
input:focus-visible {
  outline: 2px solid #171717;
  outline-offset: 3px;
}
button {
  transition: background .12s;
}
svg {
  stroke-width: 1.8;
  flex-shrink: 0;
}
.blooom-app {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
  color: var(--ink);
  font-family:
    Inter,
    Arial,
    sans-serif;
  font-size: 13px;
}
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  min-height: 650px;
  background: var(--sidebar);
  padding: 83px 12px 16px;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #e6e6e6;
}
.logo-row {
  position: fixed;
  top: 0;
  left: 0;
  width: 224px;
  height: 64px;
  background: #191919;
  display: flex;
  align-items: center;
  padding: 0 25px;
  z-index: 20;
}
.brand-logo {
  display: block;
  width: 112px;
  height: 35px;
  object-fit: contain;
  object-position: left center;
}
.business-switch {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 8px 24px;
}
.business-avatar,
.account-avatar,
.top-avatar {
  display: grid;
  place-items: center;
  font-weight: 650;
  background: #ddd;
  color: #222;
}
.business-avatar {
  width: 34px;
  height: 34px;
  border: 1px solid #d1d1d1;
  border-radius: 8px;
  font-size: 11px;
}
.business-switch strong,
.business-switch span,
.account strong,
.account span {
  display: block;
}
.business-switch strong {
  font-size: 12px;
  font-weight: 650;
}
.business-switch span {
  font-size: 10px;
  color: #707070;
  margin-top: 3px;
}
.sidebar nav {
  display: grid;
  gap: 5px;
}
.nav-item {
  border: 0;
  background: transparent;
  border-radius: 7px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  width: 100%;
  font-size: 12px;
  line-height: 1.4;
  font-weight: 550;
  text-align: left;
  color: #4d4d4d;
}
.nav-item:hover {
  background: #f6f6f6;
}
.nav-active,
.nav-active:hover {
  background: #EBEBEB;
  color: #111;
  box-shadow: 0 1px 2px #00000008;
  font-weight: 650;
}
.nav-number {
  margin-left: auto;
  min-width: 20px;
  text-align: center;
  padding: 2px 5px;
  background: #e8e8e8;
  border-radius: 5px;
  font-size: 10px;
}
.sidebar-bottom {
  margin-top: auto;
}
.demo-disclaimer {
  font-size: 11px;
  line-height: 1.6;
  color: #707070;
  padding: 0 10px;
  margin: 22px 0 16px;
}
.reset {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 11px;
  border: 0;
  background: transparent;
  color: #555;
  padding: 8px 10px;
  margin-bottom: 16px;
}
.account {
  display: flex;
  gap: 9px;
  align-items: center;
  padding: 13px 7px 0;
  border-top: 1px solid #dcdcdc;
}
.account-avatar {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  font-size: 10px;
}
.account > div:nth-child(2) {
  flex: 1;
}
.account strong {
  font-size: 11px;
}
.account span {
  font-size: 9px;
  color: #707070;
  margin-top: 3px;
}
.account > svg {
  color: #6b6b6b;
}
.main-area {
  min-width: 0;
}
.topbar {
  height: 64px;
  position: sticky;
  top: 0;
  z-index: 19;
  background: #191919;
  padding: 0 32px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  color: #fff;
}
.topbar-left,
.topbar-right {
  display: flex;
  align-items: center;
  gap: 14px;
}
.topbar-left {
  flex-shrink: 0;
}
.header-identity h1 {
  font-size: 15px;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: -.02em;
  margin: 0;
}
.header-identity p {
  font-size: 10px;
  color: #b8b8b8;
  margin: 3px 0 0;
}
.header-search {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 34px;
  width: clamp(210px, 25vw, 350px);
  background: #303030;
  border: 1px solid #484848;
  border-radius: 7px;
  padding: 0 10px;
  color: #bbb;
}
.header-search input {
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 11px;
  outline: 0;
  width: 100%;
  min-width: 0;
}
.header-search input::placeholder {
  color: #b8b8b8;
}
.header-search:focus-within {
  outline: 2px solid #aaa;
  outline-offset: 2px;
}
.demo-pill {
  font-size: 10px;
  border: 1px solid #555;
  border-radius: 5px;
  padding: 4px 7px;
  color: #ddd;
}
.demo-pill span {
  display: none;
}
.bell {
  background: none;
  border: 0;
  padding: 6px;
  color: #ccc;
}
.top-avatar {
  width: 29px;
  height: 29px;
  border-radius: 6px;
  background: #e8e8e8;
  font-size: 10px;
}
.menu-toggle,
.mobile-close {
  display: none;
}
.content {
  max-width: 1250px;
  padding: 34px 32px 50px;
  margin: auto;
}
.dashboard-section-heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  margin: 0 0 20px;
}
.section-title h2 {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: -.055em;
  line-height: 1.25;
  margin: 0;
}
.section-title p {
  font-size: 12px;
  color: var(--muted);
  margin: 7px 0 0;
}
.stats-heading-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}
.compact-date {
  font-size: 11px;
  color: #666;
  white-space: nowrap;
}
.primary-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 36px;
  border: 1px solid #111;
  border-radius: 7px;
  background: var(--action);
  color: #fff;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 600;
  box-shadow: inset 0 1px 0 #ffffff20, 0 1px 2px #00000016;
  white-space: nowrap;
}
.primary-button:hover {
  background: #000;
}
.summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
  margin-bottom: 22px;
}
.summary-card {
  position: relative;
  border: 0;
  background: #fff;
  min-height: 145px;
  padding: 19px 22px;
  text-align: left;
  display: flex;
  flex-direction: column;
}
.summary-card:not(:last-child):after {
  content: "";
  position: absolute;
  right: 0;
  top: 20px;
  bottom: 20px;
  width: 1px;
  background: #e8e8e8;
}
.summary-card:hover {
  background: #fafafa;
}
.summary-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  color: #8a8a8a;
}
.action-icon {
  display: grid;
  place-items: center;
  width: 23px;
  height: 23px;
  color: #4a4a4a;
}
.summary-value {
  font-size: 29px;
  line-height: 1.15;
  font-weight: 650;
  letter-spacing: -.04em;
  margin: 13px 0 8px;
  font-variant-numeric: tabular-nums;
}
.summary-card strong {
  font-size: 12px;
  font-weight: 600;
}
.summary-card p {
  font-size: 11px;
  color: #777;
  margin: 5px 0 0;
}
.lower-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.8fr) minmax(260px, 1fr);
  align-items: start;
  gap: 20px;
}
.panel {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  overflow: hidden;
}
.panel-heading {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
  padding: 21px 21px 19px;
}
.panel-heading h2 {
  font-size: 15px;
  line-height: 1.3;
  font-weight: 650;
  letter-spacing: -.025em;
  margin: 0;
}
.panel-heading p {
  font-size: 11px;
  color: #777;
  line-height: 1.5;
  margin: 5px 0 0;
}
.panel-heading button {
  display: flex;
  align-items: center;
  gap: 4px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fff;
  padding: 5px 8px;
  font-size: 10px;
  font-weight: 550;
  white-space: nowrap;
  color: #333;
}
.panel-heading button:hover {
  background: #f5f5f5;
}
.activity-list {
  padding-bottom: 4px;
}
.activity-row {
  width: 100%;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) 105px 14px;
  gap: 10px;
  align-items: center;
  text-align: left;
  background: #fff;
  border: 0;
  border-top: 1px solid #ededed;
  padding: 16px 20px;
  min-height: 70px;
}
.activity-row:hover {
  background: #fafafa;
}
.initials {
  width: 30px;
  height: 30px;
  border-radius: 7px;
  border: 1px solid #e4e4e4;
  background: #f5f5f5;
  color: #555;
  display: grid;
  place-items: center;
  font-size: 10px;
  font-weight: 600;
}
.activity-info {
  min-width: 0;
}
.activity-info strong,
.activity-info small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.activity-info strong {
  font-size: 12px;
  font-weight: 550;
}
.activity-info small {
  font-size: 10px;
  color: #737373;
  margin-top: 5px;
}
.activity-time {
  display: none;
}
.row-chevron {
  color: #929292;
}
.status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: max-content;
  font-size: 10px;
  font-weight: 550;
  line-height: 1.3;
  padding: 5px 7px;
  border-radius: 5px;
  border: 1px solid #e2e2e2;
  background: #f6f6f6;
  color: #4e4e4e;
  white-space: nowrap;
}
.status i {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  display: block;
}
.status-new {
  background: #eaeaea;
  color: #222;
  border-color: #dedede;
}
.status-confirmed {
  background: #f5f5f5;
  color: #555;
}
.status-progress i {
  background: transparent;
  border: 1.5px solid #555;
}
.status-done {
  background: #fff;
  color: #666;
}
.status-done i {
  border-radius: 0;
  width: 7px;
  height: 4px;
  background: transparent;
  border-left: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg);
}
.focus-dot {
  width: 7px;
  height: 7px;
  background: #555;
  border-radius: 50%;
  margin-top: 4px;
}
.focus-content {
  padding: 7px 21px 22px;
}
.focus-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  background: #f2f2f2;
  border: 1px solid #e6e6e6;
  border-radius: 9px;
  color: #222;
  margin: 7px 0 19px;
}
.focus-content h3 {
  font-size: 22px;
  font-weight: 650;
  letter-spacing: -.045em;
  margin: 0 0 7px;
}
.focus-content p {
  font-size: 12px;
  line-height: 1.5;
  color: #666;
  margin: 0 0 24px;
}
.focus-content button {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  border: 1px solid #d5d5d5;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 1px 1px #00000008;
  padding: 9px 11px;
  font-size: 12px;
  font-weight: 600;
  color: #222;
}
.focus-content button:hover {
  background: #f5f5f5;
}
.heading-row {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 16px;
  margin-bottom: 22px;
}
.heading-row h1 {
  font-size: 25px;
  font-weight: 700;
  letter-spacing: -.045em;
  margin: 0 0 7px;
}
.heading-row p {
  font-size: 12px;
  color: #666;
  margin: 0;
}
.heading-count {
  font-size: 11px;
  color: #777;
}
.request-toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  padding: 17px 20px;
  border-bottom: 1px solid #e7e7e7;
}
.search-field {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 220px;
  flex: 1;
  border: 1px solid #d5d5d5;
  border-radius: 7px;
  height: 36px;
  padding: 0 10px;
  color: #777;
}
.search-field input {
  min-width: 0;
  width: 100%;
  border: 0;
  background: none;
  outline: 0;
  font-size: 12px;
}
.filter-icon {
  color: #777;
}
.filters {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}
.filter {
  font-size: 11px;
  font-weight: 550;
  padding: 7px 9px;
  border-radius: 6px;
  background: #fff;
  border: 1px solid #dedede;
  color: #666;
}
.active-filter {
  background: #e8e8e8;
  border-color: #d3d3d3;
  color: #111;
}
.result-count {
  padding: 12px 20px;
  font-size: 11px;
  color: #666;
}
.request-table {
  --columns:minmax(0,1.2fr) minmax(0,1.3fr) 108px 116px 110px 18px;
}
.table-header,
.table-row {
  display: grid;
  grid-template-columns: var(--columns);
  column-gap: 16px;
  align-items: center;
  width: 100%;
  box-sizing: border-box;
  padding: 0 20px;
  text-align: left;
  margin: 0;
}
.table-header {
  min-height: 38px;
  background: #f7f7f7;
  border-top: 1px solid #eee;
  font-size: 10px;
  font-weight: 600;
  color: #666;
}
.table-row {
  background: #fff;
  border: 0;
  border-top: 1px solid #ededed;
  padding-top: 16px;
  padding-bottom: 16px;
  min-height: 70px;
  font-size: 11px;
  color: #555;
}
.table-row:hover {
  background: #fafafa;
}
.table-header > span,
.table-row > span {
  min-width: 0;
  line-height: 1.5;
}
.table-row strong,
.table-row small {
  display: block;
}
.table-row strong {
  font-size: 12px;
  color: #222;
  font-weight: 550;
}
.table-row small {
  font-size: 10px;
  margin-top: 4px;
  color: #737373;
}
.table-row > span:nth-child(1),
.table-row > span:nth-child(2) {
  overflow-wrap: anywhere;
}
.table-header > span:nth-child(3),
.table-row > span:nth-child(3) {
  text-align: right;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}
.table-row > span:nth-child(3) {
  color: #222;
  font-weight: 550;
}
.table-row > svg {
  justify-self: end;
  color: #888;
}
.empty-state {
  padding: 50px 20px;
  text-align: center;
  color: #666;
}
.detail-scrim {
  position: fixed;
  inset: 0;
  background: #0006;
  border: 0;
  z-index: 40;
}
.detail-drawer {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 41;
  width: min(450px, 100vw);
  background: #fff;
  display: flex;
  flex-direction: column;
  box-shadow: -8px 0 40px #0002;
}
.drawer-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  min-height: 64px;
  border-bottom: 1px solid #e5e5e5;
}
.drawer-top button {
  display: flex;
  align-items: center;
  gap: 8px;
  border: 0;
  background: none;
  font-size: 12px;
  color: #444;
}
.drawer-content {
  padding: 27px 25px;
  overflow: auto;
}
.detail-reference {
  font-size: 12px;
  color: #666;
}
.drawer-content h2 {
  font-size: 28px;
  letter-spacing: -.05em;
  margin: 9px 0 14px;
  font-weight: 650;
}
.drawer-content > .status {
  margin-bottom: 25px;
}
.drawer-block,
.drawer-columns {
  border-top: 1px solid #e8e8e8;
  padding: 19px 0;
}
.drawer-columns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.field-label {
  display: block;
  font-size: 10px;
  color: #737373;
  font-weight: 600;
  letter-spacing: .035em;
  margin-bottom: 8px;
}
.drawer-block strong,
.drawer-columns strong {
  font-size: 13px;
  font-weight: 550;
}
.drawer-block p {
  font-size: 13px;
  line-height: 1.6;
  color: #555;
  margin: 0;
}
.history {
  list-style: none;
  margin: 0;
  padding: 0;
}
.history li {
  position: relative;
  margin-left: 4px;
  padding: 0 0 18px 20px;
  border-left: 1px solid #dcdcdc;
  font-size: 12px;
  color: #666;
}
.history li:before {
  content: "";
  position: absolute;
  left: -4px;
  top: 3px;
  width: 7px;
  height: 7px;
  background: #555;
  border-radius: 50%;
}
.history li:last-child {
  border-left: 0;
}
.drawer-footer {
  margin-top: auto;
  border-top: 1px solid #e5e5e5;
  padding: 20px 25px;
}
.drawer-footer .primary-button {
  width: 100%;
  min-height: 42px;
}
.drawer-footer small {
  display: block;
  font-size: 11px;
  color: #777;
  line-height: 1.5;
  margin-top: 11px;
}
.drawer-footer p {
  font-size: 13px;
}
.toast {
  position: fixed;
  bottom: 24px;
  right: 24px;
  z-index: 60;
  background: #222;
  color: white;
  box-shadow: 0 4px 20px #0002;
  border-radius: 8px;
  padding: 14px 18px;
  font-size: 12px;
}
.mobile-scrim {
  display: none;
}
@media (max-width: 1180px) {
  .topbar {
    padding: 0 24px;
  }
  .topbar-right {
    gap: 10px;
  }
  .demo-pill {
    display: none;
  }
  .content {
    padding: 28px 24px 44px;
  }
  .header-search {
    width: 240px;
  }
  .lower-grid {
    grid-template-columns: minmax(0, 1.65fr) minmax(230px, 1fr);
  }
  .activity-row {
    grid-template-columns: 30px minmax(0, 1fr) 100px 12px;
    padding: 15px;
  }
  .request-table {
    --columns:minmax(0,1.2fr) minmax(0,1.3fr) 100px 110px 18px;
  }
  .table-header,
  .table-row {
    column-gap: 12px;
  }
  .table-header > span:nth-child(5),
  .table-row > span:nth-child(5) {
    display: none;
  }
}
@media (max-width: 1000px) {
  .lower-grid {
    grid-template-columns: 1fr;
  }
  .header-search {
    width: 210px;
  }
  .top-avatar {
    display: none;
  }
  .stats-heading-actions {
    gap: 10px;
  }
  .summary-card {
    padding: 18px;
  }
  .focus-content {
    display: grid;
    grid-template-columns: 38px 1fr;
    column-gap: 15px;
  }
  .focus-icon {
    grid-row: span 2;
    margin: 0;
  }
  .focus-content h3 {
    font-size: 20px;
  }
  .focus-content p {
    margin-bottom: 15px;
  }
  .focus-content button {
    grid-column: span 2;
  }
  .compact-date {
    font-size: 10px;
  }
}
@media (max-width: 790px) {
  .blooom-app {
    display: block;
  }
  .sidebar {
    position: fixed;
    z-index: 30;
    left: 0;
    top: 0;
    bottom: 0;
    width: 240px;
    height: 100dvh;
    min-height: 0;
    transform: translateX(-100%);
    transition: transform .15s;
  }
  .sidebar-open {
    transform: translateX(0);
  }
  .logo-row {
    width: 240px;
    justify-content: space-between;
  }
  .mobile-close,
  .menu-toggle {
    display: block;
    border: 0;
    background: none;
    color: #fff;
    padding: 5px;
  }
  .mobile-scrim {
    display: block;
    position: fixed;
    inset: 0;
    background: #0006;
    z-index: 29;
    border: 0;
  }
  .topbar {
    min-height: 114px;
    height: auto;
    padding: 15px 18px;
    flex-wrap: wrap;
    gap: 14px;
    position: relative;
  }
  .topbar-left {
    width: 100%;
  }
  .topbar-right {
    width: 100%;
  }
  .header-search {
    flex: 1;
    width: auto;
  }
  .top-avatar {
    display: grid;
  }
  .header-identity p {
    display: none;
  }
  .content {
    padding: 25px 18px 40px;
  }
  .dashboard-section-heading {
    align-items: start;
    flex-direction: column;
    gap: 16px;
  }
  .stats-heading-actions {
    width: 100%;
    justify-content: space-between;
  }
  .section-title h2 {
    font-size: 24px;
  }
  .summary-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .summary-card {
    min-height: 140px;
    padding: 14px 12px;
  }
  .summary-card strong {
    font-size: 11px;
  }
  .summary-card p {
    font-size: 10px;
    line-height: 1.5;
  }
  .summary-value {
    font-size: 26px;
  }
  .heading-row {
    align-items: start;
    flex-direction: column;
  }
  .request-toolbar {
    padding: 15px;
  }
  .search-field {
    min-width: 100%;
  }
  .filters {
    flex-wrap: nowrap;
    overflow: auto;
    max-width: 100%;
    padding-bottom: 3px;
  }
  .filter {
    white-space: nowrap;
  }
  .filter-icon {
    display: none;
  }
  .table-header {
    display: none;
  }
  .request-table {
    --columns:minmax(0,1fr) 110px 18px;
  }
  .table-row {
    padding-left: 16px;
    padding-right: 16px;
  }
  .table-row > span:nth-child(2),
  .table-row > span:nth-child(3) {
    display: none;
  }
  .activity-row {
    grid-template-columns: 30px minmax(0, 1fr) 100px 12px;
  }
  .toast {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
}
@media (max-width: 430px) {
  .summary-card {
    padding: 13px 10px;
  }
  .summary-card p {
    display: none;
  }
  .summary-top > svg {
    display: none;
  }
  .activity-row {
    grid-template-columns: 26px minmax(0, 1fr) 95px;
    gap: 8px;
  }
  .activity-row > .row-chevron {
    display: none;
  }
  .initials {
    width: 26px;
    height: 26px;
  }
  .activity-info small {
    font-size: 9px;
  }
  .activity-row .status {
    font-size: 9px;
    padding: 5px;
  }
  .summary-card strong {
    line-height: 1.4;
  }
  .panel-heading {
    padding: 18px 16px;
  }
}
@media (prefers-reduced-motion: reduce) {
  button,
  .sidebar {
    transition: none;
  }
}
.sidebar-collapse-toggle {
  border: 0;
  background: none;
  color: #ddd;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  margin-left: -10px;
  border-radius: 7px;
}
.sidebar-collapse-toggle:hover {
  background: #333;
}
.sidebar-collapsed {
  grid-template-columns: 64px minmax(0, 1fr);
}
.sidebar-collapsed .sidebar {
  padding-left: 9px;
  padding-right: 9px;
}
.sidebar-collapsed .logo-row {
  width: 64px;
  padding: 0 15px;
}
.sidebar-collapsed .brand-logo {
  width: 34px;
  height: 34px;
}
.sidebar-collapsed .business-switch {
  justify-content: center;
  padding: 0 0 23px;
}
.sidebar-collapsed .business-switch > div:last-child,
.sidebar-collapsed .nav-item .nav-number,
.sidebar-collapsed .account > div:nth-child(2),
.sidebar-collapsed .account > svg {
  display: none;
}
.sidebar-collapsed .nav-item {
  font-size: 0;
  justify-content: center;
  padding: 11px 0;
  gap: 0;
}
.sidebar-collapsed .nav-item > svg {
  width: 19px;
  height: 19px;
}
.sidebar-collapsed .account {
  justify-content: center;
  padding: 13px 0 0;
}
.site-workspace {
  height: 100dvh;
  min-height: 0;
}
.site-workspace .sidebar {
  height: 100dvh;
  min-height: 0;
}
.site-workspace .topbar {
  display: none;
}
.site-workspace .main-area {
  min-height: 0;
  height: 100dvh;
}
.site-workspace .content {
  max-width: none;
  margin: 0;
  padding: 0;
  height: 100dvh;
  min-height: 0;
}
.site-workspace .ms-page {
  height: 100dvh;
  min-height: 0;
  border: 0;
  border-radius: 0;
}
.site-workspace .ms-workspace {
  grid-template-columns: 310px minmax(0, 1fr);
}
.site-workspace.sidebar-collapsed .ms-workspace {
  grid-template-columns: 310px minmax(0, 1fr);
}
@media (max-width: 790px) {
  .sidebar-collapse-toggle {
    display: none;
  }
  .site-workspace .main-area {
    height: 100dvh;
  }
  .site-workspace .ms-page {
    height: 100dvh;
  }
  .site-workspace .ms-workspace {
    grid-template-columns: 1fr;
  }
  .site-workspace .content {
    padding: 0 !important;
  }
  .site-workspace .sidebar {
    z-index: 30;
  }
  .site-workspace .sidebar.sidebar-open {
    display: flex;
  }
  .site-workspace .sidebar:not(.sidebar-open) {
    display: none;
  }
}
.sidebar-logo-toggle {
  margin-left: auto;
  border: 0;
  background: none;
  color: #ddd;
  width: 26px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 6px;
}
.sidebar-logo-toggle:hover {
  background: #333;
}
.sidebar-collapsed .sidebar-logo-toggle {
  position: absolute;
  top: 66px;
  left: 13px;
  color: #555;
}
.sidebar-collapsed .sidebar-logo-toggle:hover {
  background: #ddd;
}
.site-workspace.sidebar-collapsed .sidebar {
  padding-top: 106px;
}
@media (max-width: 790px) {
  .sidebar-logo-toggle {
    display: none;
  }
}
.sidebar .logo-row {
  justify-content: space-between;
  gap: 12px;
}
.sidebar-logo-toggle {
  flex: none;
  margin-left: auto;
}
.sidebar-collapsed .logo-row {
  padding: 0 22px;
  justify-content: center;
}
.sidebar-collapsed .brand-logo {
  width: 20px;
  height: 22px;
  flex: none;
}
.sidebar-collapsed .sidebar-logo-toggle {
  top: 68px;
  left: 19px;
  width: 26px;
  height: 28px;
  margin: 0;
}
.sidebar-collapsed .sidebar {
  padding-top: 108px;
}
.sidebar-collapsed .nav-item > svg:last-child:not(:first-child) {
  display: none;
}
@media (max-width: 790px) {
  .sidebar .sidebar-logo-toggle {
    display: none;
  }
  .sidebar-collapsed .logo-row {
    width: 240px;
    padding: 0 25px;
    justify-content: space-between;
  }
  .sidebar-collapsed .sidebar {
    padding-top: 108px;
  }
}
.sidebar .nav-item:disabled {
  opacity: .5;
  cursor: wait;
}
.sidebar-signout-error {
  font-size: 12px;
  line-height: 1.5;
  padding: 8px;
  color: #9c3333;
  overflow-wrap: anywhere;
}
.mobile-search-toggle {
  display: none;
}
.top-avatar {
  border: 0;
}
.quick-search {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(720px, 100vw);
  height: 90dvh;
  max-width: 100vw;
  max-height: 100dvh;
  padding: 24px;
  border: 0;
  border-radius: 16px;
  background: #fff;
  color: #222;
  overflow: hidden;
}
.quick-search[open] {
  display: flex;
  flex-direction: column;
}
.quick-search::backdrop {
  background: #0007;
}
.quick-search header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex: none;
}
.quick-search h2 {
  font-size: 20px;
  margin: 0;
}
.quick-search header button {
  width: 44px;
  height: 44px;
  border: 0;
  background: #f3f3f3;
  border-radius: 8px;
  display: grid;
  place-items: center;
}
.quick-search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #ccc;
  border-radius: 10px;
  padding: 12px;
  margin-top: 20px;
  flex: none;
}
.quick-search-field input {
  min-width: 0;
  width: 100%;
  font-size: 16px;
  border: 0;
  outline: none;
}
.quick-search-field:focus-within {
  outline: 2px solid #555;
}
.quick-search > p {
  font-size: 13px;
  color: #666;
}
.quick-search-results {
  overflow: auto;
  min-height: 0;
  flex: 1;
}
.quick-search-results > button {
  display: grid;
  grid-template-columns: 1fr 1fr auto 18px;
  align-items: center;
  width: 100%;
  gap: 14px;
  padding: 16px 0;
  text-align: left;
  border: 0;
  border-bottom: 1px solid #eee;
  background: white;
}
.quick-search-results > button:hover {
  background: #f8f8f8;
}
.activity-row .order-deadline {
  display: flex;
  align-items: center;
  gap: 5px;
}
.activity-row .order-deadline.is-overdue {
  color: #bc2626;
}
@media (max-width: 790px) {
  .topbar {
    position: sticky;
    top: 0;
    min-height: 64px;
    height: 64px;
    padding: 8px 10px;
    gap: 4px;
    flex-wrap: nowrap;
    z-index: 19;
  }
  .topbar-left {
    width: auto;
    min-width: 0;
    flex: 1;
    gap: 4px;
  }
  .header-identity {
    min-width: 0;
  }
  .header-identity h1 {
    font-size: 14px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .topbar-right {
    width: auto;
    gap: 0;
    flex: none;
  }
  .topbar .header-search {
    display: none;
  }
  .topbar .mobile-search-toggle {
    display: grid;
    background: none;
    color: #ddd;
    border: 0;
    place-items: center;
  }
  .topbar .menu-toggle,
  .topbar .mobile-search-toggle,
  .topbar .bell,
  .topbar .top-avatar {
    width: 44px;
    height: 44px;
    flex: none;
    padding: 10px;
  }
  .topbar .top-avatar {
    width: 36px;
    height: 36px;
    padding: 0;
    margin-left: 4px;
  }
  .quick-search {
    width: 100%;
    height: 100dvh;
    max-height: 100dvh;
    margin: 0;
    border-radius: 0;
    padding: 16px;
    padding-bottom: max(16px, env(safe-area-inset-bottom));
  }
  .quick-search-results > button {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
  }
  .quick-search-results .rq-offer {
    grid-column: 1;
    grid-row: 2;
  }
  .quick-search-results .badge {
    grid-column: 2;
    grid-row: 1;
  }
  .quick-search-results > button > svg {
    grid-column: 2;
    grid-row: 2;
    justify-self: end;
  }
}
.sidebar-collapsed .brand-logo {
  filter: brightness(0) invert(1);
}
.sidebar-expand-target {
  position: absolute;
  inset: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.sidebar-expand-target:hover {
  background: transparent;
}
.sidebar-expand-target:focus-visible {
  outline: 2px solid white;
  outline-offset: -5px;
}
@media (min-width: 791px) {
  .sidebar-collapsed .sidebar,
  .site-workspace.sidebar-collapsed .sidebar {
    padding-top: 83px;
    cursor: pointer;
  }
}
@media (max-width: 790px) {
  .sidebar .nav-item {
    font-size: 14px;
    min-height: 44px;
    justify-content: flex-start;
    gap: 10px;
    padding: 11px 10px;
  }
  .sidebar .nav-number {
    font-size: 12px;
  }
}
select:not([multiple]):not([size]),
select[size="1"] {
  appearance: none !important;
  -webkit-appearance: none !important;
  padding-right: 42px !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23263426' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  background-size: 16px 16px !important;
}
