@charset "UTF-8";
.plugin_runtime_main {
  min-height: 70vh;
}

.manage_content_inner_weddings {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
}

.manage_content:has(.wedding_mood_editor_workspace) {
  overflow: hidden;
}

.manage_content_inner_weddings:has(.wedding_mood_editor_workspace) {
  height: 100%;
  min-height: 0;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  overflow: hidden;
}
.manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .manage_section_body, .manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .wedding_hub, .manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .wedding_mood_editor_workspace {
  min-height: 0;
  overflow: hidden;
}
.manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .manage_section_body {
  display: grid;
}
.manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .wedding_hub, .manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .wedding_mood_editor_workspace {
  height: 100%;
}

.wedding_planner_page {
  display: grid;
  gap: 18px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 24px;
  font-family: "Inter", sans-serif;
}

.wedding_planner_header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.page_kicker {
  margin: 0 0 5px;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.wedding_switcher {
  display: grid;
  gap: 5px;
  min-width: min(300px, 100%);
}
.wedding_switcher span {
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 700;
}
.wedding_switcher select {
  min-height: 44px;
  border: 1px solid var(--border_color);
  border-radius: 9px;
  background: var(--bg_color);
  color: var(--text_color);
  padding: 0 12px;
}

.wedding_planner_nav {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding: 5px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--bg_color_darker1);
}
.wedding_planner_nav a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  padding: 0 14px;
  border-radius: 8px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 700;
}
.wedding_planner_nav a.active {
  background: var(--main_color);
  color: #fff;
}

.wedding_empty_setup, .wedding_next_steps, .wedding_settings_card, .wedding_table_card, .wedding_checkin_panel, .wedding_mood_intro {
  padding: 20px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--bg_color);
}

.wedding_empty_setup {
  max-width: 820px;
  margin: 20px auto;
}
.wedding_empty_setup form {
  margin-top: 18px;
}

.wedding_overview_grid, .wedding_budget_summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}
.wedding_overview_grid article, .wedding_budget_summary article {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--bg_color);
}
.wedding_overview_grid article span, .wedding_overview_grid article small, .wedding_budget_summary article span, .wedding_budget_summary article small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_overview_grid article strong, .wedding_budget_summary article strong {
  color: var(--text_color);
  font-size: 18px;
}

.wedding_overview_grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.budget_under {
  border-color: #8ec9ab !important;
}
.budget_under strong, .budget_under small {
  color: #14633f !important;
}

.budget_on {
  border-color: #dfc26f !important;
}
.budget_on strong, .budget_on small {
  color: #795b00 !important;
}

.budget_over {
  border-color: #e1a3a3 !important;
}
.budget_over strong, .budget_over small {
  color: #8a2020 !important;
}

.wedding_two_column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.wedding_two_column > section {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--bg_color);
}
.wedding_two_column form {
  display: grid;
  gap: 9px;
}

.wedding_card_list {
  display: grid;
  gap: 8px;
}
.wedding_card_list article {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
}
.wedding_card_list article span, .wedding_card_list article small {
  color: var(--text_color_lighter1);
}

.wedding_event_timeline_dialog .wedding_card_list > button {
  min-height: 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4px 12px;
  padding: 10px 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--bg_color);
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.wedding_event_timeline_dialog .wedding_card_list > button strong {
  color: var(--text_color);
}
.wedding_event_timeline_dialog .wedding_card_list > button span {
  color: var(--text_color_lighter1);
}
.wedding_event_timeline_dialog .wedding_card_list > button small {
  grid-column: 1/-1;
  color: var(--text_color_lighter1);
}
.wedding_event_timeline_dialog .wedding_card_list > button:hover, .wedding_event_timeline_dialog .wedding_card_list > button:focus-visible {
  border-color: var(--main_color);
}

.wedding_dialog > .wedding_event_delete_form {
  min-height: auto;
  display: flex;
  flex: 0 0 auto;
  justify-content: flex-start;
  padding: 0 20px 14px;
  overflow: visible;
}
.wedding_dialog > .wedding_event_delete_form button {
  min-height: 40px;
  padding: 0 12px;
  border: 1px solid color-mix(in srgb, var(--red_color, #c62f3b) 42%, var(--border_color_lighter));
  border-radius: 8px;
  background: color-mix(in srgb, var(--red_color, #c62f3b) 8%, var(--white_color));
  color: var(--red_color, #c62f3b);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.wedding_checklist {
  display: grid;
  gap: 6px;
}
.wedding_checklist label {
  min-height: 44px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_checklist label small {
  color: var(--text_color_lighter1);
}
.wedding_checklist label input:checked + span {
  text-decoration: line-through;
  color: var(--text_color_lighter1);
}

.wedding_inline_form {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 9px;
  padding: 15px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--bg_color);
}
.wedding_inline_form .form_input {
  flex: 1 1 150px;
  margin: 0;
}

.wedding_collaborator_form {
  display: grid;
  gap: 14px;
}

.wedding_permission_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
}
.wedding_permission_grid legend {
  padding: 0 6px;
  font-weight: 700;
}
.wedding_permission_grid label {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 9px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--bg_color);
  cursor: pointer;
}
.wedding_permission_grid label:has(input:checked) {
  border-color: var(--main_color_lighter3);
  background: var(--main_color_lighter5);
}
.wedding_permission_grid label > span {
  display: flex;
  align-items: center;
  margin: 0;
  line-height: 1.35;
}
.wedding_permission_grid input[type=checkbox] {
  width: 20px !important;
  min-width: 20px;
  height: 20px !important;
  min-height: 20px;
  aspect-ratio: 1;
  box-sizing: border-box;
  flex: 0 0 20px;
  align-self: center;
  margin: 0;
  padding: 0 !important;
  border-radius: 3px;
  accent-color: var(--main_color);
}
.wedding_permission_grid input[type=checkbox]::after {
  top: 50% !important;
  left: 50% !important;
  margin: 0 !important;
  transform: translate(-50%, -50%);
}

.wedding_table_card {
  overflow-x: auto;
  padding: 0;
}
.wedding_table_card table {
  width: 100%;
  border-collapse: collapse;
}
.wedding_table_card th, .wedding_table_card td {
  padding: 12px;
  border-bottom: 1px solid var(--border_color_lighter);
  text-align: left;
  white-space: nowrap;
}
.wedding_table_card th {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_section_header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}
.wedding_section_header p {
  margin: 4px 0 0;
  color: var(--text_color_lighter1);
}

.wedding_invitation_grid, .wedding_mood_grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.wedding_invitation_grid article, .wedding_mood_grid article {
  min-height: 150px;
  padding: 17px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--bg_color);
}
.wedding_invitation_grid article h3, .wedding_mood_grid article h3 {
  margin: 18px 0 5px;
}
.wedding_invitation_grid article p, .wedding_invitation_grid article small, .wedding_mood_grid article p, .wedding_mood_grid article small {
  color: var(--text_color_lighter1);
}

.wedding_checkin_list {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.wedding_checkin_list article {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
}
.wedding_checkin_list article div {
  display: grid;
  gap: 4px;
}
.wedding_checkin_list article small {
  color: var(--text_color_lighter1);
}
.wedding_checkin_list article form {
  display: flex;
  gap: 7px;
}
.wedding_checkin_list article form input {
  width: 72px;
  margin: 0;
}

.wedding_public_invitation {
  max-width: 720px;
  margin: 40px auto 70px;
  padding: clamp(36px, 8vw, 80px);
  border: 1px solid #d8e1dc;
  border-radius: 16px;
  background: #fff;
  text-align: center;
  font-family: "Inter", sans-serif;
}
.wedding_public_invitation h1 {
  color: #173c3a;
  font: 600 clamp(34px, 7vw, 64px)/1.05 "Inter", sans-serif;
}
.wedding_public_invitation h2 {
  color: #102f2d;
}
.wedding_public_invitation p {
  color: #4d625f;
}
.wedding_public_invitation .wedding_public_guest {
  margin: 30px 0;
  font-size: clamp(22px, 5vw, 36px);
  font-weight: 700;
}

.wedding_hub {
  display: grid;
  gap: 18px;
  font-family: "Inter", sans-serif;
}

.manage_content_inner_weddings .manage_section_header {
  align-items: center;
  flex-wrap: wrap;
}
.manage_content_inner_weddings .manage_section_header .manage_section_heading, .manage_content_inner_weddings .manage_section_header .manage_section_title {
  display: flex;
  align-items: center;
}

.wedding_detail_header {
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 14px;
  background: var(--white_color);
}
.wedding_detail_header h1, .wedding_detail_header h2 {
  margin: 0;
  color: var(--text_color);
}
.wedding_detail_header p {
  margin: 5px 0 0;
  color: var(--text_color_lighter1);
}

.wedding_manage_header_tools {
  max-width: 100%;
  min-width: 0;
  flex: 1 1 auto;
}
.wedding_manage_header_tools .wedding_hub_mobile_select {
  display: none;
}
.wedding_manage_header_tools .wedding_hub_tabs {
  max-width: 100%;
  min-width: 0;
  margin: 0;
  overflow-x: auto;
}
.wedding_manage_header_tools .sa_page_tab {
  justify-content: center;
  text-align: center;
  white-space: nowrap;
}
.wedding_manage_header_tools .sa_page_tab.active {
  color: #fff !important;
}
.wedding_manage_header_tools .manage_add_new_btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.wedding_help {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  align-items: start;
  gap: 18px;
}

.wedding_help_sidebar {
  position: sticky;
  top: 20px;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_help_sidebar .wedding_help_search {
  display: grid;
  gap: 6px;
  color: var(--text_color);
  font-size: 13px;
  font-weight: 700;
}
.wedding_help_sidebar .wedding_help_search .form_input {
  width: 100%;
  min-width: 0;
  margin: 0;
}
.wedding_help_sidebar nav {
  display: grid;
  gap: 4px;
}
.wedding_help_sidebar nav a {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}
.wedding_help_sidebar nav a:hover, .wedding_help_sidebar nav a:focus-visible {
  border-color: var(--border_color);
  color: var(--main_color);
}
.wedding_help_sidebar nav a.active {
  border-color: var(--main_color_lighter4);
  background: var(--main_color_lighter5);
  color: var(--main_color);
}

.wedding_help_empty {
  margin: 0;
  padding: 10px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.45;
}

.wedding_help_guides {
  min-width: 0;
  display: grid;
  gap: 14px;
}
.wedding_help_guides > header {
  display: grid;
  gap: 5px;
  padding: 4px 2px 8px;
}
.wedding_help_guides > header p, .wedding_help_guides > header h1, .wedding_help_guides > header span {
  margin: 0;
}
.wedding_help_guides > header p {
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_help_guides > header h1 {
  color: var(--text_color);
  font-size: 24px;
}
.wedding_help_guides > header span {
  max-width: 720px;
  color: var(--text_color_lighter1);
  line-height: 1.5;
}
.wedding_help_guides > section {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(220px, 34%) minmax(0, 1fr);
  gap: 18px;
  scroll-margin-top: 76px;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_help_guides > section figure {
  min-width: 0;
  margin: 0;
  padding: 12px;
  border-right: 1px solid var(--border_color_lighter);
  background: var(--bg_color_darker1);
}
.wedding_help_guides > section figure img {
  width: 100%;
  aspect-ratio: 16/10;
  display: block;
  object-fit: contain;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--white_color);
}
.wedding_help_guides > section figure figcaption {
  margin-top: 7px;
  color: var(--text_color_lighter1);
  font-size: 12px;
  text-align: center;
}
.wedding_help_guides > section > div {
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 9px;
  padding: 18px 18px 18px 0;
}
.wedding_help_guides > section > div h2, .wedding_help_guides > section > div p, .wedding_help_guides > section > div ol {
  margin: 0;
}
.wedding_help_guides > section > div h2 {
  color: var(--text_color);
  font-size: 19px;
}
.wedding_help_guides > section > div p {
  color: var(--text_color_lighter1);
  line-height: 1.5;
}
.wedding_help_guides > section > div ol {
  display: grid;
  gap: 7px;
  padding-left: 22px;
  color: var(--text_color);
  line-height: 1.45;
}
.wedding_help_guides > section > div .sa_btn {
  margin-top: 3px;
}

.wedding_metric_grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.wedding_metric_grid article {
  display: grid;
  gap: 8px;
  padding: 16px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--bg_color);
}
.wedding_metric_grid article span {
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 600;
}
.wedding_metric_grid article strong {
  color: var(--text_color);
  font-size: 20px;
}

.wedding_activity_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}
.wedding_activity_grid > section {
  padding: 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--bg_color);
}
.wedding_activity_grid h2 {
  margin: 0 0 12px;
  font-size: 17px;
}
.wedding_activity_grid article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px 0;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_activity_grid article div {
  display: grid;
  gap: 4px;
}
.wedding_activity_grid article small {
  color: var(--text_color_lighter1);
}
.wedding_activity_grid article form {
  display: flex;
  gap: 6px;
}

.wedding_invites_page {
  display: grid;
  gap: 16px;
}

.wedding_invites_intro {
  min-height: 82px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_invites_intro > div {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 12px;
}
.wedding_invites_intro > div > span {
  width: 44px;
  height: 44px;
  display: grid;
  flex: 0 0 44px;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 20px;
}
.wedding_invites_intro h2, .wedding_invites_intro p {
  margin: 0;
}
.wedding_invites_intro h2 {
  color: var(--text_color);
  font-size: 18px;
}
.wedding_invites_intro p {
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_invites_intro > small {
  min-height: 28px;
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.wedding_invite_activity_grid {
  align-items: start;
}
.wedding_invite_activity_grid > section {
  overflow: visible;
  padding: 0;
  background: var(--white_color);
}
.wedding_invite_activity_grid .wedding_empty {
  margin: 14px;
}
.wedding_invite_activity_grid .wedding_collaborator_actions[open] {
  z-index: 40;
}

.wedding_activity_heading {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid var(--border_color_lighter);
  background: var(--bg_color_darker1);
}
.wedding_activity_heading h2, .wedding_activity_heading p {
  margin: 0;
}
.wedding_activity_heading h2 {
  color: var(--text_color);
  font-size: 16px;
}
.wedding_activity_heading p {
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_activity_heading .manage_add_new_btn {
  min-height: 40px;
  flex: 0 0 auto;
  white-space: nowrap;
}

.wedding_invite_activity_grid article.wedding_invite_activity {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 8px 12px;
  padding: 13px 16px;
  border-top: 0;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_invite_activity_grid article.wedding_invite_activity:last-child {
  border-bottom: 0;
}
.wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_avatar {
  width: 44px;
  height: 44px;
  grid-row: 1/3;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 50%;
  background: var(--main_color_lighter5);
}
.wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_avatar img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_identity {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_identity strong, .wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_identity small, .wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_identity time {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_identity strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_identity small, .wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_identity time {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_role {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 3px 8px;
  border: 1px solid var(--main_color_lighter4);
  border-radius: 999px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_role.is_rejected, .wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_role.is_revoked {
  border-color: color-mix(in srgb, var(--red_color, #c62f3b) 25%, var(--border_color));
  background: color-mix(in srgb, var(--red_color, #c62f3b) 7%, var(--white_color));
  color: var(--red_color, #c62f3b);
}
.wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_role.is_approved {
  border-color: #a9d9b3;
  background: #eff9f1;
  color: #28743a;
}
.wedding_invite_activity_grid article.wedding_invite_activity form {
  grid-column: 2/-1;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.wedding_invite_activity_grid article.wedding_invite_activity form .sa_btn {
  min-height: 36px;
}

.wedding_direct_invite_fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.wedding_direct_invite_fields > label {
  min-width: 0;
}
.wedding_direct_invite_fields .wedding_team_user_results {
  top: calc(100% + 4px);
}

.wedding_filters {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--border_color);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_filters .form_input {
  min-width: 140px;
  margin: 0;
}
.wedding_filters .wedding_filter_search {
  position: relative;
  flex: 1 1 250px;
  min-width: 180px;
  margin: 0;
}
.wedding_filters .wedding_filter_search svg {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 12px;
  width: 17px;
  height: 17px;
  fill: var(--text_color_lighter2);
  transform: translateY(-50%);
  pointer-events: none;
}
.wedding_filters .wedding_filter_search input {
  width: 100%;
  padding-left: 38px;
}
.wedding_filters .wedding_filter_group {
  display: flex;
  flex: 2 1 420px;
  gap: 8px;
}
.wedding_filters .wedding_filter_group > * {
  flex: 1 1 130px;
}
.wedding_filters .sa_btn {
  flex: 0 0 auto;
}
.wedding_filters .sa_view_switch {
  display: flex;
  flex: 0 0 auto;
  gap: 4px;
  padding: 5px;
  border: 1px solid var(--border_color);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_filters .sa_view_switch button {
  min-height: 32px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
}
.wedding_filters .sa_view_switch button.active, .wedding_filters .sa_view_switch button:hover, .wedding_filters .sa_view_switch button:focus-visible {
  border-color: var(--main_color_lighter4);
  background: var(--main_color_lighter5);
  color: var(--main_color);
}

.wedding_directory {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.wedding_directory .wedding_plan_card {
  position: relative;
  min-width: 0;
  overflow: visible;
  border: 1px solid var(--border_color_lighter);
  border-radius: 14px;
  background: var(--white_color);
  cursor: pointer;
}
.wedding_directory .wedding_plan_card:focus-visible {
  border-color: var(--main_color);
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 2px;
}
.wedding_directory.is_list {
  grid-template-columns: 1fr;
}
.wedding_directory.is_list .wedding_plan_card {
  display: grid;
  grid-template-columns: minmax(220px, 28%) minmax(220px, 260px) minmax(0, 1fr);
  align-items: center;
  min-height: 220px;
  overflow: visible;
}
.wedding_directory.is_list .wedding_card_cover {
  height: 100%;
  min-height: 220px;
  border-radius: 13px 0 0 13px;
}
.wedding_directory.is_list .wedding_card_people {
  margin: 0 0 0 -24px;
  padding: 14px 0;
}
.wedding_directory.is_list .wedding_card_main {
  padding: 20px;
}

.wedding_card_cover {
  position: relative;
  height: 154px;
  overflow: hidden;
  border-radius: 13px 13px 0 0;
  background: var(--main_color_lighter5);
}
.wedding_card_cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.wedding_card_cover .plugin_badge {
  position: absolute;
  top: 12px;
  left: 12px;
  border: 1px solid rgba(255, 255, 255, 0.75);
  background: rgba(9, 48, 47, 0.82);
  color: #fff;
}

.wedding_card_people, .wedding_detail_people {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  gap: 9px;
  margin: -34px 14px 0;
}
.wedding_card_people > span, .wedding_detail_people > span {
  width: min(46%, 150px);
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 8px;
  padding: 7px 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_card_people > span img, .wedding_detail_people > span img {
  width: 42px;
  height: 42px;
  grid-row: 1/3;
  border-radius: 50%;
  object-fit: cover;
}
.wedding_card_people > span small, .wedding_card_people > span strong, .wedding_detail_people > span small, .wedding_detail_people > span strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_card_people > span small, .wedding_detail_people > span small {
  align-self: end;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_card_people > span strong, .wedding_detail_people > span strong {
  align-self: start;
  color: var(--text_color);
  font-size: 13px;
}

.wedding_card_main {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 16px;
}
.wedding_card_main h3, .wedding_card_main p {
  margin: 0;
}
.wedding_card_main h3 {
  text-align: center;
}
.wedding_card_main h3 a {
  color: var(--text_color);
}
.wedding_card_main p, .wedding_card_main small {
  color: var(--text_color_lighter1);
}

.wedding_card_stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.wedding_card_stats > span {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--bg_color_darker1);
}
.wedding_card_stats > span small, .wedding_card_stats > span strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_card_stats > span small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_card_stats > span strong {
  color: var(--text_color);
  font-size: 13px;
}

.wedding_member_tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
}
.wedding_member_tags span {
  max-width: 150px;
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  overflow: hidden;
  padding: 4px 8px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 999px;
  color: var(--text_color_lighter1);
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_member_tags .wedding_member_person {
  padding: 2px 7px 2px 2px;
  color: var(--text_color);
}
.wedding_member_tags .wedding_member_person img {
  width: 22px;
  height: 22px;
  flex: 0 0 22px;
  border-radius: 50%;
  object-fit: cover;
}
.wedding_member_tags .wedding_member_person b {
  overflow: hidden;
  font-weight: 700;
  text-overflow: ellipsis;
}
.wedding_member_tags .wedding_member_permission {
  border-color: var(--main_color_lighter4);
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-weight: 700;
}

.wedding_actions {
  position: absolute;
  z-index: 5;
  top: 10px;
  right: 10px;
}
.wedding_actions summary {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.7);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.92);
  color: #173c3a;
  cursor: pointer;
  list-style: none;
}
.wedding_actions > div {
  position: absolute;
  z-index: 8;
  top: 44px;
  right: 0;
  min-width: 176px;
  padding: 6px;
  border: 1px solid var(--border_color);
  border-radius: 10px;
  background: var(--white_color);
}
.wedding_actions > div a, .wedding_actions > div button {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--text_color);
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.wedding_actions > div a:hover, .wedding_actions > div a:focus-visible, .wedding_actions > div button:hover, .wedding_actions > div button:focus-visible {
  background: var(--main_color_lighter5);
  color: var(--main_color);
}
.wedding_actions > div a.danger, .wedding_actions > div button.danger {
  color: var(--red_color, #c62f3b);
}
.wedding_actions > div a.danger:hover, .wedding_actions > div a.danger:focus-visible, .wedding_actions > div button.danger:hover, .wedding_actions > div button.danger:focus-visible {
  background: #fff0f1;
}
.wedding_actions > div form {
  margin: 0;
}

.wedding_event_actions_heading, .wedding_event_actions_cell {
  width: 56px;
  text-align: center !important;
}

.wedding_event_actions {
  position: relative;
  top: auto;
  right: auto;
  display: inline-block;
}
.wedding_event_actions[open] {
  z-index: 100;
}
.wedding_event_actions summary {
  width: 36px;
  height: 36px;
  border-color: var(--border_color);
  background: var(--white_color);
}
.wedding_event_actions > div {
  z-index: 101;
  top: 40px;
  min-width: 190px;
  box-shadow: 0 8px 24px rgba(14, 38, 37, 0.16);
}

.wedding_action_icon {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  fill: currentColor;
}

.wedding_back {
  width: fit-content;
  color: var(--main_color);
  font-size: 15px;
  font-weight: 600;
}

.save_draft_header_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 1 1 360px;
  gap: 12px;
}
.save_draft_header_row > div {
  display: flex;
  align-items: center;
}
.save_draft_header_row > div:first-child {
  min-width: 0;
  gap: 10px;
}
.save_draft_header_row > div:first-child h2 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  color: var(--text_color);
  font-size: 18px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.save_draft_actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.save_draft_actions form {
  display: flex;
  align-items: center;
  margin: 0;
}

.wedding_detail_cover {
  height: clamp(190px, 26vw, 320px);
  background: var(--main_color_lighter5);
}
.wedding_detail_cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.wedding_detail_content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 20px;
  padding: 22px;
}

.wedding_detail_identity {
  min-width: 0;
  display: grid;
  gap: 8px;
}
.wedding_detail_identity h2 {
  font-size: clamp(23px, 3vw, 34px);
}
.wedding_detail_identity .plugin_badge {
  width: fit-content;
}

.wedding_detail_people {
  justify-content: flex-start;
  margin: 6px 0 0;
}
.wedding_detail_people > span {
  width: min(210px, 48%);
}

.wedding_detail_actions {
  max-width: 440px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.wedding_dialog {
  width: min(760px, 100vw - 28px);
  max-height: calc(100dvh - 28px);
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--border_color);
  border-radius: 14px;
  background: var(--white_color);
  color: var(--text_color);
}
.wedding_dialog[open] {
  display: flex;
  flex-direction: column;
}
.wedding_dialog::backdrop {
  background: rgba(8, 25, 24, 0.62);
  backdrop-filter: blur(2px);
}
.wedding_dialog > header {
  min-height: 78px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex: 0 0 auto;
  gap: 16px;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border_color_lighter);
  background: var(--bg_color_darker1);
}
.wedding_dialog > header > div {
  min-width: 0;
}
.wedding_dialog > header h2, .wedding_dialog > header p {
  margin: 0;
}
.wedding_dialog > header h2 {
  color: var(--text_color);
  font-size: 19px;
  line-height: 1.25;
}
.wedding_dialog > header p {
  max-width: 64ch;
  margin-top: 5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.5;
}
.wedding_dialog > header button {
  width: 44px;
  height: 44px;
  display: grid;
  flex: 0 0 44px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--white_color);
  color: var(--text_color_lighter1);
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}
.wedding_dialog > header button:hover, .wedding_dialog > header button:focus-visible {
  border-color: var(--main_color_lighter3);
  background: var(--main_color_lighter5);
  color: var(--main_color);
  outline: 0;
}
.wedding_dialog > form, .wedding_dialog > div, .wedding_dialog > section {
  min-height: 0;
  flex: 1 1 auto;
  padding: 20px;
  overflow-y: auto;
  background: var(--white_color);
}
.wedding_dialog > [hidden] {
  display: none;
}
.wedding_dialog > form {
  display: grid;
  gap: 14px;
}
.wedding_dialog label > span, .wedding_dialog fieldset > legend {
  color: var(--text_color);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}
.wedding_dialog label > span {
  display: block;
  margin-bottom: 6px;
}
.wedding_dialog input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]), .wedding_dialog select, .wedding_dialog textarea {
  width: 100%;
  min-height: 44px;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid var(--border_color);
  border-radius: 9px;
  background: var(--bg_color);
  color: var(--text_color);
  font: inherit;
}
.wedding_dialog input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=color]):not([type=file]):focus, .wedding_dialog select:focus, .wedding_dialog textarea:focus {
  border-color: var(--main_color);
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 1px;
}
.wedding_dialog textarea {
  min-height: 96px;
  resize: vertical;
}
.wedding_dialog input[type=checkbox], .wedding_dialog input[type=radio] {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--main_color);
}
.wedding_dialog > footer, .wedding_dialog > form > footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 10px;
  margin: 4px -20px -20px;
  padding: 14px 20px;
  border-top: 1px solid var(--border_color_lighter);
  background: var(--bg_color_darker1);
}
.wedding_dialog > footer .manage_add_new_btn, .wedding_dialog > footer .sa_btn, .wedding_dialog > footer .pub_btn, .wedding_dialog > form > footer .manage_add_new_btn, .wedding_dialog > form > footer .sa_btn, .wedding_dialog > form > footer .pub_btn {
  min-height: 44px;
}
.wedding_dialog > form > footer {
  position: sticky;
  z-index: 2;
  bottom: -20px;
}

.wedding_feature_dialog {
  width: min(1120px, 100vw - 28px);
}
.wedding_feature_dialog > header {
  background: var(--white_color);
}
.wedding_feature_dialog > form, .wedding_feature_dialog > div {
  display: grid;
  gap: 16px;
  padding: clamp(14px, 2vw, 22px);
  background: var(--bg_color_darker1);
}
.wedding_feature_dialog .wedding_two_column {
  gap: 14px;
}
.wedding_feature_dialog .wedding_two_column > section, .wedding_feature_dialog .wedding_settings_card, .wedding_feature_dialog .wedding_table_card, .wedding_feature_dialog .wedding_checkin_panel, .wedding_feature_dialog .wedding_mood_intro, .wedding_feature_dialog .wedding_import_panel, .wedding_feature_dialog .wedding_delivery_selector {
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_feature_dialog .wedding_table_card {
  padding: 0;
}
.wedding_feature_dialog h2, .wedding_feature_dialog h3 {
  margin-top: 0;
}
.wedding_feature_dialog .wedding_inline_form {
  padding: 12px;
  background: var(--bg_color_darker1);
}
.wedding_feature_dialog .manage_add_new_btn, .wedding_feature_dialog .sa_btn, .wedding_feature_dialog .pub_btn {
  min-height: 42px;
}

.wedding_empty {
  margin: 0;
  padding: 16px;
  border: 1px dashed var(--border_color);
  border-radius: 10px;
  color: var(--text_color_lighter1);
  text-align: center;
}

.wedding_hub article {
  background: var(--white_color);
}

.wedding_hub.is_invites .wedding_invites_page, .wedding_hub.is_invites .wedding_invites_page section {
  background: transparent;
}

.wedding_hub.is_library section, .wedding_hub.is_profile section {
  background: transparent;
}

.wedding_hub.is_profile .wedding_provider_section_card, .wedding_hub.is_profile .wedding_provider_listings {
  background: var(--white_color);
}

.wedding_new_dialog {
  width: min(820px, 100vw - 28px);
}
.wedding_new_dialog > form {
  display: grid;
  grid-auto-rows: max-content;
  gap: 16px;
  background: var(--white_color);
}

.wedding_new_cover {
  display: grid;
  grid-template-columns: minmax(200px, 44%) minmax(0, 1fr);
  align-items: center;
  gap: 18px;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
}
.wedding_new_cover img {
  width: 100%;
  height: 170px;
  display: block;
  object-fit: cover;
}
.wedding_new_cover > div {
  display: grid;
  gap: 7px;
  padding: 16px 16px 16px 0;
}
.wedding_new_cover > div strong {
  color: var(--text_color);
}
.wedding_new_cover > div span {
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.45;
}

.wedding_upload_button {
  width: fit-content;
  min-height: 40px;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 5px 0 0 !important;
  padding: 8px 12px;
  border: 1px solid var(--main_color);
  border-radius: 8px;
  color: var(--main_color) !important;
  font-size: 13px !important;
  font-weight: 700;
  cursor: pointer;
}
.wedding_upload_button input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  opacity: 0;
}
.wedding_upload_button.smaller {
  min-height: 34px;
  padding: 6px 9px;
}

.wedding_new_people {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.wedding_new_person {
  display: grid;
  gap: 13px;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
}
.wedding_new_person .wedding_new_person_identity {
  display: grid;
  grid-template-columns: 78px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
}
.wedding_new_person img {
  width: 78px;
  height: 78px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 50%;
  object-fit: cover;
}
.wedding_new_person > div {
  min-width: 0;
}

.wedding_new_parents {
  display: grid;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_new_parents > strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_new_parents > div {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.wedding_new_details {
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
}
.wedding_new_details .plugins_form_grid {
  margin: 0;
}

.wedding_optional_details {
  margin-top: 12px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
}
.wedding_optional_details summary {
  min-height: 42px;
  display: flex;
  align-items: center;
  color: var(--main_color);
  font-weight: 700;
  cursor: pointer;
}
.wedding_optional_details > label {
  display: block;
  margin-top: 10px;
}

.wedding_colors_toggle {
  min-height: 48px;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--bg_color);
  color: var(--text_color);
  font-size: 13px;
  cursor: pointer;
}
.wedding_colors_toggle:hover, .wedding_colors_toggle:focus-within {
  border-color: color-mix(in srgb, var(--main_color) 55%, var(--border_color));
}
.wedding_colors_toggle:has(input:checked) {
  border-color: color-mix(in srgb, var(--main_color) 48%, var(--border_color_lighter));
  background: var(--main_color_lighter5);
}
.wedding_colors_toggle span {
  margin: 0 !important;
  font-weight: 700;
}
.wedding_colors_toggle input {
  position: relative;
  width: 46px;
  height: 26px;
  flex: 0 0 46px;
  margin: 0;
  appearance: none;
  border: 1px solid var(--border_color);
  border-radius: 999px;
  background: var(--bg_color_darker1);
  cursor: pointer;
}
.wedding_colors_toggle input::before {
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--text_color_lighter2);
  content: "";
}
.wedding_colors_toggle input:checked {
  border-color: var(--main_color);
  background: var(--main_color);
}
.wedding_colors_toggle input:checked::before {
  left: 23px;
  background: #fff;
}
.wedding_colors_toggle input:focus-visible {
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 2px;
}

.wedding_color_inputs, .wedding_color_swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.wedding_color_editor {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--bg_color);
}

.wedding_color_inputs {
  gap: 12px;
}
.wedding_color_inputs .wedding_color_item {
  display: grid;
  grid-template-columns: auto 38px;
  align-items: start;
  gap: 2px;
}
.wedding_color_inputs .wedding_color_item label {
  display: grid;
  justify-items: center;
  gap: 4px;
  cursor: pointer;
}
.wedding_color_inputs .wedding_color_item input {
  width: 46px;
  height: 46px;
  padding: 3px;
  overflow: hidden;
  border: 1px solid var(--border_color);
  border-radius: 50%;
  background: var(--white_color);
  cursor: pointer;
}
.wedding_color_inputs .wedding_color_item input::-webkit-color-swatch-wrapper {
  padding: 0;
}
.wedding_color_inputs .wedding_color_item input::-webkit-color-swatch {
  border: 0;
  border-radius: 50%;
}
.wedding_color_inputs .wedding_color_item input::-moz-color-swatch {
  border: 0;
  border-radius: 50%;
}
.wedding_color_inputs .wedding_color_item input:focus-visible {
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 2px;
}
.wedding_color_inputs .wedding_color_item input:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
.wedding_color_inputs .wedding_color_item small {
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 700;
}
.wedding_color_inputs .wedding_color_item > button {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--text_color_lighter1);
  font: inherit;
  font-size: 18px;
  cursor: pointer;
}
.wedding_color_inputs .wedding_color_item > button:hover, .wedding_color_inputs .wedding_color_item > button:focus-visible {
  background: var(--white_color);
  color: var(--red_color, #c62f3b);
}
.wedding_color_inputs .wedding_color_item > button:focus-visible {
  outline: 2px solid var(--main_color_lighter4);
}
.wedding_color_inputs .wedding_color_item > button:disabled {
  visibility: hidden;
}

.wedding_color_add {
  width: fit-content;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 11px;
  border: 1px solid var(--main_color);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.wedding_color_add:hover, .wedding_color_add:focus-visible {
  background: var(--main_color_lighter5);
}
.wedding_color_add:focus-visible {
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 2px;
}
.wedding_color_add:disabled {
  border-color: var(--border_color);
  color: var(--text_color_lighter2);
  cursor: not-allowed;
}

.wedding_color_swatches span {
  width: 38px;
  height: 38px;
  border: 2px solid var(--white_color);
  border-radius: 50%;
  outline: 1px solid var(--border_color);
  background: var(--wedding-color);
}

.wedding_settings_people {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 16px 0;
}

.wedding_settings_media {
  display: grid;
  gap: 12px;
  margin: 14px 0;
}
.wedding_settings_media label {
  max-width: 360px;
}
.wedding_settings_media img {
  width: 100%;
  height: 150px;
  display: block;
  margin-bottom: 8px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  object-fit: cover;
}

.wedding_settings_summary {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px 16px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_settings_summary .wedding_settings_summary_icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 18px;
}
.wedding_settings_summary h2, .wedding_settings_summary p {
  margin: 0;
}
.wedding_settings_summary h2 {
  color: var(--text_color);
  font-size: 15px;
}
.wedding_settings_summary p {
  margin-top: 3px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.45;
}

.wedding_settings_summary_actions {
  display: flex;
  align-items: center;
  gap: 8px;
}
.wedding_settings_summary_actions .sa_btn, .wedding_settings_summary_actions .manage_add_new_btn {
  min-height: 38px;
  padding-inline: 12px;
  white-space: nowrap;
}

.wedding_settings_dashboard {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: stretch;
  gap: 12px;
}

.wedding_settings_cards_form {
  display: contents;
}

.wedding_settings_panel {
  min-width: 0;
  grid-column: span 2;
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 15px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_settings_panel > header {
  min-width: 0;
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding-bottom: 11px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_settings_panel > header > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 14px;
  font-weight: 800;
}
.wedding_settings_panel > header h3, .wedding_settings_panel > header p {
  margin: 0;
}
.wedding_settings_panel > header h3 {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_settings_panel > header p {
  margin-top: 3px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.4;
}
.wedding_settings_panel.wedding_settings_panel_wide {
  grid-column: span 3;
}

.wedding_settings_fields {
  display: grid;
  gap: 9px;
}
.wedding_settings_fields label > span {
  margin-bottom: 4px;
  font-size: 13px;
}
.wedding_settings_fields > small {
  margin-top: -5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_settings_fields .form_input {
  min-height: 38px;
  margin: 0;
  font-size: 13px;
}

.wedding_settings_split {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.wedding_settings_details {
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_settings_details summary {
  min-height: 38px;
  display: flex;
  align-items: center;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.wedding_settings_details > .wedding_settings_fields {
  padding-top: 8px;
}

.wedding_settings_toggles {
  display: grid;
  gap: 8px;
}
.wedding_settings_toggles > label {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 9px 11px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--bg_color);
  color: var(--text_color);
  font-size: 13px;
  cursor: pointer;
}
.wedding_settings_toggles > label:hover, .wedding_settings_toggles > label:focus-within {
  border-color: color-mix(in srgb, var(--main_color) 55%, var(--border_color));
}
.wedding_settings_toggles > label:has(input:checked) {
  border-color: color-mix(in srgb, var(--main_color) 48%, var(--border_color_lighter));
  background: var(--main_color_lighter5);
}
.wedding_settings_toggles > label > span {
  margin: 0;
  font-size: inherit;
  font-weight: 700;
}
.wedding_settings_toggles > label input[role=switch] {
  position: relative;
  width: 46px;
  height: 26px;
  flex: 0 0 46px;
  margin: 0;
  appearance: none;
  border: 1px solid var(--border_color);
  border-radius: 999px;
  background: var(--bg_color_darker1);
  cursor: pointer;
}
.wedding_settings_toggles > label input[role=switch]::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--text_color_lighter2);
}
.wedding_settings_toggles > label input[role=switch]:checked {
  border-color: var(--main_color);
  background: var(--main_color);
}
.wedding_settings_toggles > label input[role=switch]:checked::before {
  left: 23px;
  background: #fff;
}
.wedding_settings_toggles > label input[role=switch]:focus-visible {
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 2px;
}

.wedding_notification_channels, .wedding_notification_preference {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 46px 46px;
  align-items: center;
  gap: 10px;
}

.wedding_notification_channels {
  padding-inline: 10px;
  color: var(--text_color_lighter1);
  text-align: center;
}
.wedding_notification_channels strong {
  font-size: 11px;
}

.wedding_notification_preferences {
  display: grid;
  gap: 7px;
}

.wedding_notification_preference {
  min-height: 58px;
  padding: 9px 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--bg_color);
}
.wedding_notification_preference > span {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.wedding_notification_preference strong {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  color: var(--text_color);
  font-size: 12px;
}
.wedding_notification_preference small {
  color: var(--text_color_lighter1);
  font-size: 11px;
  line-height: 1.4;
}
.wedding_notification_preference em {
  padding: 2px 6px;
  border-radius: 999px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 10px;
  font-style: normal;
}
.wedding_notification_preference > label {
  width: 46px;
  margin: 0;
  cursor: pointer;
}
.wedding_notification_preference input[role=switch] {
  position: relative;
  width: 46px !important;
  height: 26px !important;
  margin: 0;
  padding: 0 !important;
  appearance: none;
  border: 1px solid var(--border_color);
  border-radius: 999px;
  background: var(--bg_color_darker1);
  box-sizing: border-box;
  cursor: pointer;
}
.wedding_notification_preference input[role=switch]::after {
  content: none !important;
  display: none !important;
}
.wedding_notification_preference input[role=switch]::before {
  content: "";
  position: absolute;
  top: 3px !important;
  left: 3px;
  width: 18px;
  height: 18px;
  margin: 0 !important;
  border-radius: 50%;
  background: var(--text_color_lighter2);
}
.wedding_notification_preference input[role=switch]:checked {
  border-color: var(--main_color);
  background: var(--main_color);
}
.wedding_notification_preference input[role=switch]:checked::before {
  left: 23px;
  background: #fff;
}
.wedding_notification_preference input[role=switch]:focus-visible {
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 2px;
}

.wedding_notification_hint {
  color: var(--text_color_lighter1);
  font-size: 11px;
  line-height: 1.4;
}

.wedding_notification_save {
  width: fit-content;
  min-height: 38px;
  margin-top: auto;
}

.wedding_settings_dashboard input[type=checkbox]::after {
  content: none !important;
  display: none !important;
}
.wedding_settings_dashboard input[type=checkbox]:not(.wedding_image_visibility_toggle)::before {
  top: calc(50% - 9px) !important;
  margin-top: 0;
}

.wedding_settings_collaborators {
  display: grid;
  gap: 8px;
}
.wedding_settings_collaborators article {
  position: relative;
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  padding: 8px 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--bg_color);
}
.wedding_settings_collaborators article > img {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border-radius: 50%;
  object-fit: cover;
}
.wedding_settings_collaborators article > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_settings_collaborators article strong, .wedding_settings_collaborators article small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_settings_collaborators article strong {
  font-size: 12px;
}
.wedding_settings_collaborators article small {
  color: var(--text_color_lighter1);
  font-size: 11px;
}
.wedding_settings_collaborators article button {
  min-height: 40px;
  flex: 0 0 auto;
}

.wedding_organizer_badge {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  margin-left: auto;
  padding: 3px 8px;
  border-radius: 999px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 11px;
  font-weight: 800;
}

.wedding_settings_team_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
}

.wedding_settings_stat {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px;
  border-radius: 9px;
  background: var(--main_color_lighter5);
}
.wedding_settings_stat strong {
  color: var(--main_color);
  font-size: 24px;
}
.wedding_settings_stat span {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_settings_card_action {
  width: fit-content;
  min-height: 38px;
  margin-top: auto;
}

.wedding_branding_group {
  min-width: 0;
  display: grid;
  gap: 11px;
}
.wedding_branding_group + .wedding_branding_group {
  margin-top: 2px;
  padding-top: 14px;
  border-top: 1px solid var(--border_color_lighter);
}

.wedding_branding_group_header h4, .wedding_branding_group_header p {
  margin: 0;
}
.wedding_branding_group_header h4 {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_branding_group_header p {
  max-width: 70ch;
  margin-top: 3px;
  color: var(--text_color_lighter1);
  font-size: 12px;
  line-height: 1.45;
}

.wedding_branding_media_grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.wedding_image_picker {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--white_color);
}
.wedding_image_picker.is_cover {
  grid-column: 1/-1;
}
.wedding_image_picker > header {
  min-width: 0;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.wedding_image_picker > header > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_image_picker > header strong, .wedding_image_picker > header small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_image_picker > header strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_image_picker > header small {
  color: var(--text_color_lighter1);
  font-size: 11px;
}

.wedding_image_picker > header > .wedding_image_picker_actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 0 0 auto;
}

.wedding_image_picker input.wedding_image_visibility_toggle {
  position: relative;
  width: 46px !important;
  height: 26px !important;
  flex: 0 0 46px;
  margin: 0;
  padding: 0 !important;
  appearance: none;
  border: 1px solid var(--border_color);
  border-radius: 999px;
  background: var(--bg_color_darker1);
  box-sizing: border-box;
  cursor: pointer;
}
.wedding_image_picker input.wedding_image_visibility_toggle::after {
  content: none !important;
  display: none !important;
}
.wedding_image_picker input.wedding_image_visibility_toggle::before {
  content: "";
  position: absolute;
  top: 3px;
  left: 3px;
  width: 18px;
  height: 18px;
  margin: 0;
  border: 0;
  border-radius: 50%;
  background: var(--text_color_lighter2);
}
.wedding_image_picker input.wedding_image_visibility_toggle:checked {
  border-color: var(--main_color);
  background: var(--main_color);
}
.wedding_image_picker input.wedding_image_visibility_toggle:checked::before {
  left: 23px;
  background: #fff;
}
.wedding_image_picker input.wedding_image_visibility_toggle:focus-visible {
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 2px;
}

.wedding_image_dropzone {
  position: relative;
  min-width: 0;
  min-height: 112px;
  display: grid;
  grid-template-columns: minmax(112px, 38%) minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  margin: 0;
  padding: 7px;
  overflow: hidden;
  border: 1px dashed var(--border_color);
  border-radius: 9px;
  background: var(--bg_color);
  cursor: pointer;
}
.wedding_image_dropzone:hover, .wedding_image_dropzone:focus-within, .wedding_image_dropzone.is_dragging {
  border-color: var(--main_color);
  background: var(--main_color_lighter5);
}
.wedding_image_dropzone:focus-within {
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 2px;
}
.wedding_image_dropzone img {
  width: 100%;
  height: 96px;
  display: block;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px;
  background: var(--white_color);
  object-fit: cover;
}
.wedding_image_dropzone img.is_portrait {
  object-position: center top;
}

.wedding_image_dropzone > .wedding_image_dropzone_prompt {
  min-width: 0;
  display: grid;
  align-items: start;
  justify-content: stretch;
  gap: 3px;
  margin: 0;
  padding-right: 4px;
}
.wedding_image_dropzone > .wedding_image_dropzone_prompt strong {
  color: var(--main_color);
  font-size: 13px;
}
.wedding_image_dropzone > .wedding_image_dropzone_prompt small {
  color: var(--text_color_lighter1);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.4;
  white-space: normal;
}

.wedding_image_file_input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.wedding_image_remove {
  width: 40px;
  height: 40px;
  min-width: 40px;
  min-height: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  padding: 0;
  border: 1px solid color-mix(in srgb, var(--red_color, #c62f3b) 38%, var(--border_color_lighter));
  border-radius: 8px;
  background: color-mix(in srgb, var(--red_color, #c62f3b) 7%, var(--white_color));
  color: var(--red_color, #c62f3b);
  cursor: pointer;
}
.wedding_image_remove svg {
  width: 18px;
  height: 18px;
  fill: currentColor;
}
.wedding_image_remove:hover, .wedding_image_remove:focus-visible {
  border-color: var(--red_color, #c62f3b);
  outline: 0;
  background: color-mix(in srgb, var(--red_color, #c62f3b) 12%, var(--white_color));
}
.wedding_image_remove:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--red_color, #c62f3b) 35%, transparent);
  outline-offset: 2px;
}

.wedding_settings_color {
  min-width: 0;
  padding: 3px !important;
}

.wedding_settings_danger {
  grid-column: 1/-1;
  border-color: color-mix(in srgb, var(--red_color, #c62f3b) 28%, var(--border_color_lighter));
  background: color-mix(in srgb, var(--red_color, #c62f3b) 4%, var(--white_color)) !important;
}
.wedding_settings_danger > header {
  padding-bottom: 12px;
  border-bottom: 1px solid color-mix(in srgb, var(--red_color, #c62f3b) 16%, var(--border_color_lighter));
}
.wedding_settings_danger > header > span {
  background: color-mix(in srgb, var(--red_color, #c62f3b) 11%, var(--white_color));
  color: var(--red_color, #c62f3b);
}

.wedding_settings_danger_actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.wedding_settings_danger_actions form {
  flex: 0 0 auto;
  margin: 0;
}
.wedding_settings_danger_actions button {
  width: auto;
  min-width: 138px;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--text_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_settings_danger_actions button:hover, .wedding_settings_danger_actions button:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
}
.wedding_settings_danger_actions button:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.wedding_settings_danger_actions button.danger {
  border-color: color-mix(in srgb, var(--red_color, #c62f3b) 42%, var(--border_color_lighter));
  background: color-mix(in srgb, var(--red_color, #c62f3b) 8%, var(--white_color));
  color: var(--red_color, #c62f3b);
}
.wedding_settings_danger_actions button.danger:hover, .wedding_settings_danger_actions button.danger:focus-visible {
  border-color: var(--red_color, #c62f3b);
  color: var(--red_color, #c62f3b);
}

.wedding_settings_team_dialog {
  width: min(880px, 100vw - 28px);
}
.wedding_settings_team_dialog .wedding_card_list {
  max-height: 260px;
  overflow-y: auto;
}

.wedding_settings_team_dialog .wedding_card_list article[data-wp-collaborator-actions] {
  position: relative;
  grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr) auto auto;
  align-items: center;
  gap: 8px 12px;
}
.wedding_settings_team_dialog .wedding_card_list article[data-wp-collaborator-actions] .wedding_collaborator_actions {
  grid-column: 4;
  align-self: center;
}

.wedding_team_identity {
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
}
.wedding_team_identity img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
}
.wedding_team_identity > span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_team_identity strong, .wedding_team_identity small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_team_identity strong {
  color: var(--text_color);
  font-size: 12px;
}
.wedding_team_identity small {
  color: var(--text_color_lighter1);
  font-size: 11px;
}

.wedding_permission_pills {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.wedding_permission_pills > span {
  padding: 3px 7px;
  border: 1px solid var(--main_color_lighter4);
  border-radius: 999px;
  background: var(--main_color_lighter5);
  color: var(--main_color) !important;
  font-size: 11px;
  font-weight: 700;
}

.wedding_team_invite_status {
  font-size: 11px;
}

.wedding_team_lookup {
  align-items: start;
}
.wedding_team_lookup > div, .wedding_team_lookup > span:last-child {
  position: relative;
  min-width: 0;
}
.wedding_team_lookup input.is_selected {
  border-color: var(--main_color);
  background: var(--main_color_lighter5);
}

.wedding_team_user_results {
  position: absolute;
  z-index: 12;
  top: calc(100% + 3px);
  right: 0;
  left: 0;
  display: grid;
  gap: 4px;
  padding: 5px;
  border: 1px solid var(--border_color);
  border-radius: 9px;
  background: var(--white_color);
}
.wedding_team_user_results:empty {
  display: none;
}
.wedding_team_user_results > button {
  min-height: 52px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--text_color);
  text-align: left;
  cursor: pointer;
}
.wedding_team_user_results > button:hover, .wedding_team_user_results > button:focus-visible {
  border-color: var(--main_color);
  background: var(--main_color_lighter5);
  outline: 0;
}
.wedding_team_user_results > button img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
}
.wedding_team_user_results > button span {
  min-width: 0;
}
.wedding_team_user_results > button strong, .wedding_team_user_results > button small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_team_user_results > button small {
  margin-top: 2px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_team_user_results > p {
  margin: 0;
  padding: 10px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  text-align: center;
}

.wedding_guest_lookup > span:last-child {
  position: relative;
  display: block;
}

.wedding_guest_suggestions {
  position: absolute;
  z-index: 80;
  top: calc(100% + 4px);
  right: 0;
  left: 0;
  max-height: 300px;
  display: grid;
  gap: 3px;
  overflow-y: auto;
  padding: 5px;
  border: 1px solid var(--border_color);
  border-radius: 9px;
  background: var(--white_color);
}
.wedding_guest_suggestions:empty {
  display: none;
}
.wedding_guest_suggestions > button {
  min-height: 54px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  padding: 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--text_color);
  text-align: left;
  cursor: pointer;
}
.wedding_guest_suggestions > button:hover, .wedding_guest_suggestions > button:focus-visible {
  border-color: var(--main_color);
  background: var(--main_color_lighter5);
  outline: 0;
}
.wedding_guest_suggestions > button img {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  object-fit: cover;
}
.wedding_guest_suggestions > button span {
  min-width: 0;
}
.wedding_guest_suggestions > button strong, .wedding_guest_suggestions > button small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_guest_suggestions > button small {
  margin-top: 2px;
  color: var(--text_color_lighter1);
  font-size: 12px;
}
.wedding_guest_suggestions > button em {
  color: var(--text_color_lighter1);
  font-size: 11px;
  font-style: normal;
  white-space: nowrap;
}
.wedding_guest_suggestions > p {
  margin: 0;
  padding: 10px;
  color: var(--text_color_lighter1);
  font-size: 12px;
  text-align: center;
}
.wedding_guest_suggestions.is_categories > button {
  min-height: 46px;
  grid-template-columns: minmax(0, 1fr);
}

.wedding_financial_form label {
  flex: 1 1 150px;
}

.wedding_workspace {
  display: grid;
  grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: start;
  column-gap: 20px;
  row-gap: 14px;
}
.wedding_workspace.is_full_width {
  grid-template-columns: minmax(0, 1fr);
}

.wedding_workspace.is_full_width .wedding_profile_rail {
  display: none;
}

.wedding_workspace.is_full_width .wedding_workspace_panel {
  grid-column: 1;
}

.wedding_profile_rail {
  min-width: 0;
  grid-column: 1;
  grid-row: 2;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 14px;
  background: var(--white_color);
}
.wedding_profile_rail .wedding_profile_cover {
  height: 190px;
  padding: 0;
  border: 0;
}
.wedding_profile_rail .wedding_profile_cover img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.wedding_profile_rail > section {
  display: grid;
  gap: 9px;
  padding: 14px 16px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_profile_rail > section h3, .wedding_profile_rail > section strong, .wedding_profile_rail > section small {
  margin: 0;
}
.wedding_profile_rail > section h3 {
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--text_color);
  font-size: 13px;
}
.wedding_profile_rail > section h3 .wedding_profile_edit {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 700;
}
.wedding_profile_rail > section > small {
  color: var(--text_color_lighter1);
}
.wedding_profile_rail > section progress {
  width: 100%;
  height: 8px;
  accent-color: var(--main_color);
}

.wedding_profile_people, .wedding_parent_names {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.wedding_profile_people > span, .wedding_parent_names > span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 8px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
}
.wedding_profile_people > span small, .wedding_parent_names > span small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_profile_people > span strong, .wedding_parent_names > span strong {
  overflow: hidden;
  color: var(--text_color);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wedding_profile_people > span {
  grid-template-columns: 38px minmax(0, 1fr);
  grid-template-rows: auto auto;
}
.wedding_profile_people > span img {
  width: 38px;
  height: 38px;
  grid-row: 1/3;
  border-radius: 50%;
  object-fit: cover;
}

.wedding_workspace_main {
  display: contents;
}

.wedding_currency_control {
  display: flex;
  align-items: end;
  flex-wrap: wrap;
  gap: 9px;
}
.wedding_currency_control label {
  min-width: 220px;
}
.wedding_currency_control .form_input {
  margin: 0;
}
.wedding_currency_control small {
  padding-bottom: 7px;
  color: var(--text_color_lighter1);
}

.wedding_workspace_tabs {
  position: sticky;
  z-index: 30;
  top: 0;
  width: 100%;
  grid-column: 1/-1;
  grid-row: 1;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 0;
  background: var(--bg_color);
}
.wedding_workspace_tabs a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 1 0 auto;
  padding: 0 15px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--white_color);
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.wedding_workspace_tabs a:hover, .wedding_workspace_tabs a:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
}
.wedding_workspace_tabs a.active {
  border-color: var(--main_color);
  background: var(--main_color);
  color: #fff;
}

.wedding_workspace_panel {
  min-width: 0;
  grid-column: 2;
  grid-row: 2;
  display: grid;
  gap: 14px;
  background: transparent !important;
  font-size: 1.05em;
}
.wedding_workspace_panel p, .wedding_workspace_panel li, .wedding_workspace_panel label, .wedding_workspace_panel th, .wedding_workspace_panel td {
  line-height: 1.5;
}

.wedding_overview_report_header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 14px 20px;
  padding: 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_overview_report_header > div {
  min-width: 0;
}
.wedding_overview_report_header h2, .wedding_overview_report_header p {
  margin: 0;
}
.wedding_overview_report_header h2 {
  color: var(--text_color);
  font-size: 20px;
}
.wedding_overview_report_header p {
  max-width: 68ch;
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_overview_report_header dl {
  grid-column: 1/-1;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--border_color_lighter);
}
.wedding_overview_report_header dl div {
  display: grid;
  gap: 3px;
  padding: 11px 12px;
  background: var(--white_color);
}
.wedding_overview_report_header dl dt {
  color: var(--text_color_lighter1);
  font-size: 12px;
}
.wedding_overview_report_header dl dd {
  margin: 0;
  color: var(--text_color);
  font-size: 16px;
  font-weight: 800;
}

.wedding_report_status {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 4px 9px;
  border: 1px solid var(--main_color);
  border-radius: 7px;
  color: var(--main_color);
  font-size: 12px;
  font-weight: 800;
}

.wedding_overview_metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.wedding_overview_metrics article {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
}
.wedding_overview_metrics article[role=button] {
  cursor: pointer;
}
.wedding_overview_metrics article[role=button]:hover, .wedding_overview_metrics article[role=button]:focus-visible {
  border-color: var(--main_color);
  outline: 0;
}
.wedding_overview_metrics article span, .wedding_overview_metrics article small {
  overflow: hidden;
  color: var(--text_color_lighter1);
  font-size: 13px;
  text-overflow: ellipsis;
}
.wedding_overview_metrics article strong {
  overflow: hidden;
  color: var(--text_color);
  font-size: 17px;
  text-overflow: ellipsis;
}

.wedding_overview_attention {
  display: grid;
  gap: 8px;
  padding: 13px 15px;
  border: 1px solid var(--border_color_lighter);
  border-left: 3px solid var(--main_color);
  border-radius: 9px;
  background: var(--white_color);
}
.wedding_overview_attention header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.wedding_overview_attention h3, .wedding_overview_attention p, .wedding_overview_attention ul {
  margin: 0;
}
.wedding_overview_attention h3 {
  color: var(--text_color);
  font-size: 14px;
}
.wedding_overview_attention header span {
  min-width: 24px;
  min-height: 24px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 12px;
  font-weight: 800;
}
.wedding_overview_attention p, .wedding_overview_attention li {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_overview_attention ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px 24px;
  padding-left: 18px;
}

.wedding_overview_finance_report {
  display: grid;
  gap: 11px;
  padding: 15px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_overview_finance_report > header {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}
.wedding_overview_finance_report > header h3, .wedding_overview_finance_report > header p {
  margin: 0;
}
.wedding_overview_finance_report > header h3 {
  color: var(--text_color);
  font-size: 15px;
}
.wedding_overview_finance_report > header p {
  max-width: 72ch;
  margin-top: 3px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_overview_finance_report > header > a {
  flex: 0 0 auto;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_overview_finance_report dl {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--border_color_lighter);
}
.wedding_overview_finance_report dl div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 10px;
  background: var(--white_color);
}
.wedding_overview_finance_report dl div[role=button] {
  cursor: pointer;
}
.wedding_overview_finance_report dl div[role=button]:hover, .wedding_overview_finance_report dl div[role=button]:focus-visible {
  background: var(--main_color_lighter5);
  outline: 0;
}
.wedding_overview_finance_report dl dt {
  color: var(--text_color_lighter1);
  font-size: 11px;
}
.wedding_overview_finance_report dl dd {
  overflow: hidden;
  margin: 0;
  color: var(--text_color);
  font-size: 14px;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_overview_finance_report .wedding_budget_formula {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 12px;
}

.wedding_overview_cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.wedding_overview_card {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 15px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_overview_card h3 {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin: 0 0 2px;
  color: var(--text_color);
  font-size: 15px;
}
.wedding_overview_card h3 small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_overview_card > article {
  min-height: 39px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 0;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_overview_card > article strong {
  min-width: 0;
  overflow: hidden;
  color: var(--text_color);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_overview_card > article small {
  flex: 0 0 auto;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_overview_card > a {
  width: fit-content;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 700;
}
.wedding_overview_card progress {
  width: 100%;
  height: 8px;
  accent-color: var(--main_color);
}

.wedding_activity_card {
  grid-column: span 2;
}
.wedding_activity_card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.wedding_activity_card > header h3 {
  margin: 0;
}
.wedding_activity_card > header button {
  min-height: 36px;
  padding: 0 10px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_activity_card > header button:hover, .wedding_activity_card > header button:focus-visible {
  border-color: var(--main_color);
  background: var(--main_color_lighter5);
}

.wedding_activity_list {
  display: grid;
  gap: 0;
}
.wedding_activity_list article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 5px 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_activity_list article div {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
}
.wedding_activity_list article strong {
  color: var(--text_color);
}
.wedding_activity_list article span, .wedding_activity_list article time, .wedding_activity_list article small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_activity_list article time {
  white-space: nowrap;
}
.wedding_activity_list article small {
  grid-column: 1/-1;
}

.wedding_timeline_card > article {
  position: relative;
  padding-left: 18px;
}
.wedding_timeline_card > article > span {
  position: absolute;
  left: 1px;
  width: 9px;
  height: 9px;
  border: 2px solid var(--white_color);
  border-radius: 50%;
  outline: 1px solid var(--main_color);
  background: var(--main_color);
}

.wedding_rsvp_metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.wedding_rsvp_metrics span {
  display: grid;
  gap: 3px;
  padding: 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_rsvp_metrics span strong {
  color: var(--main_color);
  font-size: 18px;
}
.wedding_rsvp_metrics span small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_events_dashboard {
  display: grid;
  gap: 12px;
}

.wedding_event_metrics {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.wedding_event_metrics article {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
}
.wedding_event_metrics article > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 2px solid var(--main_color);
  border-radius: 50%;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_event_metrics article div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_event_metrics article small, .wedding_event_metrics article em {
  overflow: hidden;
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_event_metrics article strong {
  color: var(--text_color);
  font-size: 19px;
}

.wedding_events_primary {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(260px, 2fr);
  gap: 12px;
}

.wedding_event_schedule, .wedding_next_event, .wedding_event_support > section {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}

.wedding_event_schedule {
  display: grid;
  gap: 10px;
}
.wedding_event_schedule header, .wedding_event_schedule footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.wedding_event_schedule header h2 {
  margin: 0;
  color: var(--text_color);
  font-size: 15px;
}
.wedding_event_schedule footer small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_event_action, .wedding_next_actions button, .wedding_event_quick_actions button, .wedding_event_quick_actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.wedding_event_table {
  min-width: 0;
  overflow-x: auto;
}
.wedding_event_table table {
  width: 100%;
  border-collapse: collapse;
}
.wedding_event_table th, .wedding_event_table td {
  padding: 9px 8px;
  border-bottom: 1px solid var(--border_color_lighter);
  color: var(--text_color_lighter1);
  font-size: 13px;
  text-align: left;
  white-space: nowrap;
}
.wedding_event_table th {
  background: var(--bg_color_darker1);
  font-weight: 700;
}
.wedding_event_table td:first-child {
  position: relative;
  padding-left: 24px;
}
.wedding_event_table td:first-child::before {
  position: absolute;
  top: 50%;
  left: 7px;
  width: 8px;
  height: 8px;
  border: 2px solid var(--white_color);
  border-radius: 50%;
  outline: 1px solid var(--main_color);
  background: var(--main_color);
  content: "";
  transform: translateY(-50%);
}
.wedding_event_table td:first-child button {
  max-width: 180px;
  overflow: hidden;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text_color);
  font: inherit;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}

.wedding_event_status {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 3px 7px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 700;
}
.wedding_event_status.is_planned {
  border-color: #c9ced3;
  background: #f3f5f6;
  color: #5d6670;
}
.wedding_event_status.is_confirmed {
  border-color: #a6d7ef;
  background: #edf8fd;
  color: #0875aa;
}
.wedding_event_status.is_completed {
  border-color: #addbb7;
  background: #eff9f1;
  color: #28743a;
}
.wedding_event_status.is_canceled {
  border-color: #efc4c4;
  background: #fff2f2;
  color: #a33333;
}

.wedding_next_event {
  display: grid;
  align-content: start;
  gap: 12px;
}
.wedding_next_event header h2 {
  margin: 0;
  color: var(--text_color);
  font-size: 15px;
}
.wedding_next_event > article {
  display: grid;
  gap: 7px;
  padding: 13px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--bg_color_darker1);
}
.wedding_next_event > article h3, .wedding_next_event > article strong, .wedding_next_event > article small {
  margin: 0;
}
.wedding_next_event > article h3 {
  color: var(--text_color);
  font-size: 17px;
}
.wedding_next_event > article strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_next_event > article small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_next_actions, .wedding_event_card_actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.wedding_event_support {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.wedding_event_support > section {
  display: grid;
  align-content: start;
  gap: 10px;
}
.wedding_event_support > section h3 {
  margin: 0;
  color: var(--text_color);
  font-size: 14px;
}

.wedding_event_status_list {
  display: grid;
  gap: 6px;
}
.wedding_event_status_list > span {
  min-height: 40px;
  display: grid;
  grid-template-columns: 10px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 7px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_event_status_list > span i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--main_color);
}
.wedding_event_status_list > span i.is_completed {
  background: #55a868;
}
.wedding_event_status_list > span i.is_confirmed {
  background: #37a2d8;
}
.wedding_event_status_list > span i.is_canceled {
  background: #d56a6a;
}
.wedding_event_status_list > span strong {
  overflow: hidden;
  color: var(--text_color);
  font-size: 13px;
  text-overflow: ellipsis;
}
.wedding_event_status_list > span b {
  width: 25px;
  height: 25px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
}

.wedding_event_assignees {
  display: grid;
  gap: 4px;
}
.wedding_event_assignees article {
  min-width: 0;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 5px 0;
}
.wedding_event_assignees article > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_event_assignees article div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_event_assignees article strong, .wedding_event_assignees article small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_event_assignees article strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_event_assignees article small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_event_assignees article em {
  color: var(--main_color);
  font-size: 13px;
  font-style: normal;
}

.wedding_event_card_actions a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 700;
}

.wedding_event_notes {
  display: grid;
  gap: 3px;
}
.wedding_event_notes article {
  min-height: 38px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  padding: 6px 0;
}
.wedding_event_notes article > span {
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff3d8;
  color: #a36700;
  font-size: 13px;
  font-weight: 800;
}
.wedding_event_notes article strong {
  color: var(--text_color);
  font-size: 13px;
  line-height: 1.35;
}
.wedding_event_notes article.is_done > span {
  background: #eaf7ed;
  color: #28743a;
}
.wedding_event_notes article.is_urgent > span {
  background: #fff0f0;
  color: #a33333;
}

.wedding_event_quick_actions {
  background: var(--white_color);
}
.wedding_event_quick_actions button, .wedding_event_quick_actions a {
  width: 100%;
  justify-content: flex-start;
  border-bottom: 1px solid var(--border_color_lighter);
}

.wedding_event_timeline_dialog {
  width: min(860px, 100vw - 28px);
}

.wedding_budget_dashboard, .wedding_mood_dashboard {
  display: grid;
  gap: 12px;
}

.wedding_budget_metrics, .wedding_mood_metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 10px;
}
.wedding_budget_metrics article, .wedding_mood_metrics article {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 13px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
}
.wedding_budget_metrics article[role=button], .wedding_mood_metrics article[role=button] {
  cursor: pointer;
}
.wedding_budget_metrics article[role=button]:hover, .wedding_budget_metrics article[role=button]:focus-visible, .wedding_mood_metrics article[role=button]:hover, .wedding_mood_metrics article[role=button]:focus-visible {
  border-color: var(--main_color);
  outline: 0;
}
.wedding_budget_metrics article > span, .wedding_mood_metrics article > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border: 2px solid var(--main_color);
  border-radius: 50%;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_budget_metrics article div, .wedding_mood_metrics article div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_budget_metrics article small, .wedding_budget_metrics article em, .wedding_mood_metrics article small, .wedding_mood_metrics article em {
  overflow: hidden;
  color: var(--text_color_lighter1);
  font-size: 12px;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_budget_metrics article strong, .wedding_mood_metrics article strong {
  overflow: hidden;
  color: var(--text_color);
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.wedding_mood_metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wedding_contributions {
  min-width: 0;
  display: grid;
  gap: 11px;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_contributions > header, .wedding_contributions > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 10px;
}
.wedding_contributions h2, .wedding_contributions p {
  margin: 0;
}
.wedding_contributions h2 {
  color: var(--text_color);
  font-size: 15px;
}
.wedding_contributions p, .wedding_contributions footer {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_contributions td:first-child strong, .wedding_contributions td:first-child small {
  display: block;
}
.wedding_contributions td:first-child small {
  margin-top: 3px;
  color: var(--text_color_lighter1);
  font-size: 12px;
}
.wedding_contributions footer {
  justify-content: flex-start;
  gap: 18px;
  padding-top: 2px;
}
.wedding_contributions footer strong {
  color: var(--text_color);
}

.wedding_contribution_status {
  width: fit-content;
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  padding: 3px 7px;
  border: 1px solid var(--border_color);
  border-radius: 6px;
  font-size: 12px;
  font-weight: 800;
}
.wedding_contribution_status.is_received {
  border-color: #8ec9ab;
  background: #eff9f1;
  color: #28743a;
}
.wedding_contribution_status.is_pledged {
  border-color: #f0d39d;
  background: #fff8e8;
  color: #8b5b00;
}
.wedding_contribution_status.is_returned {
  border-color: #c9ced3;
  background: #f3f5f6;
  color: #5d6670;
}

.wedding_table_action {
  min-height: 34px;
  padding: 0 9px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--white_color);
  color: var(--main_color);
  font: inherit;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}
.wedding_table_action:hover, .wedding_table_action:focus-visible {
  border-color: var(--main_color);
}

.wedding_budget_primary {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(190px, 0.75fr) minmax(220px, 1fr);
  gap: 10px;
}

.wedding_budget_breakdown, .wedding_budget_health, .wedding_budget_upcoming, .wedding_budget_support > section, .wedding_mood_board_area, .wedding_mood_sidebar > section {
  min-width: 0;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}

.wedding_budget_breakdown {
  display: grid;
  gap: 10px;
}
.wedding_budget_breakdown > header, .wedding_budget_breakdown > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.wedding_budget_breakdown h2, .wedding_budget_breakdown p {
  margin: 0;
}
.wedding_budget_breakdown h2 {
  color: var(--text_color);
  font-size: 15px;
}
.wedding_budget_breakdown p, .wedding_budget_breakdown footer small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_budget_breakdown footer button {
  min-height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_budget_breakdown td:first-child {
  padding-left: 8px;
}
.wedding_budget_breakdown td:first-child::before {
  content: none;
}
.wedding_budget_breakdown td:first-child strong, .wedding_budget_breakdown td:first-child small {
  display: block;
}
.wedding_budget_breakdown td:first-child small {
  margin-top: 3px;
  color: var(--text_color_lighter1);
}

.wedding_budget_status, .wedding_mood_status {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 23px;
  padding: 3px 7px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 800;
}
.wedding_budget_status.is_healthy, .wedding_budget_status.is_approved, .wedding_mood_status.is_healthy, .wedding_mood_status.is_approved {
  border-color: #a9d9b3;
  background: #eff9f1;
  color: #28743a;
}
.wedding_budget_status.is_near, .wedding_budget_status.is_under_review, .wedding_mood_status.is_near, .wedding_mood_status.is_under_review {
  border-color: #f0d39d;
  background: #fff8e8;
  color: #8b5b00;
}
.wedding_budget_status.is_over, .wedding_mood_status.is_over {
  border-color: #efb6b6;
  background: #fff1f1;
  color: #a33333;
}
.wedding_budget_status.is_draft, .wedding_mood_status.is_draft {
  border-color: #c9ced3;
  background: #f3f5f6;
  color: #5d6670;
}

.wedding_budget_health {
  display: grid;
  align-content: start;
  justify-items: center;
  gap: 12px;
}
.wedding_budget_health h2 {
  width: 100%;
  margin: 0;
  color: var(--text_color);
  font-size: 15px;
}

.wedding_budget_donut {
  width: 116px;
  height: 116px;
  display: grid;
  place-content: center;
  border-radius: 50%;
  background: conic-gradient(var(--main_color) calc(var(--budget-used) * 1%), var(--bg_color_darker1) 0);
  text-align: center;
  position: relative;
}
.wedding_budget_donut::before {
  position: absolute;
  inset: 12px;
  border-radius: 50%;
  background: var(--white_color);
  content: "";
}
.wedding_budget_donut strong, .wedding_budget_donut span {
  position: relative;
  z-index: 1;
}
.wedding_budget_donut strong {
  color: var(--text_color);
  font-size: 20px;
}
.wedding_budget_donut span {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_budget_health_list {
  width: 100%;
  display: grid;
  gap: 6px;
}
.wedding_budget_health_list > span {
  min-height: 34px;
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_budget_health_list > span i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #55a868;
}
.wedding_budget_health_list > span i.is_near {
  background: #e7a73a;
}
.wedding_budget_health_list > span i.is_over {
  background: #d66060;
}
.wedding_budget_health_list > span b {
  color: var(--text_color);
}

.wedding_budget_upcoming {
  display: grid;
  align-content: start;
  gap: 8px;
}
.wedding_budget_upcoming header h2 {
  margin: 0;
  color: var(--text_color);
  font-size: 15px;
}
.wedding_budget_upcoming > div {
  display: grid;
  gap: 3px;
}
.wedding_budget_upcoming > div > button {
  min-width: 0;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 7px 0;
  border: 0;
  border-bottom: 1px solid var(--border_color_lighter);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.wedding_budget_upcoming > div > button span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_budget_upcoming > div > button span:last-child {
  flex: 0 0 auto;
  text-align: right;
}
.wedding_budget_upcoming > div > button strong, .wedding_budget_upcoming > div > button b, .wedding_budget_upcoming > div > button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_budget_upcoming > div > button strong, .wedding_budget_upcoming > div > button b {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_budget_upcoming > div > button small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_budget_upcoming footer button {
  min-height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.wedding_budget_support {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.wedding_budget_support > section {
  display: grid;
  align-content: start;
  gap: 9px;
}
.wedding_budget_support > section h3 {
  margin: 0;
  color: var(--text_color);
  font-size: 14px;
}
.wedding_budget_support > section > a, .wedding_budget_support > section > button {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.wedding_budget_contracts {
  display: grid;
  gap: 3px;
}
.wedding_budget_contracts article {
  min-width: 0;
  display: grid;
  grid-template-columns: 25px minmax(0, 1fr) auto;
  align-items: center;
  gap: 7px;
  padding: 6px 0;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_budget_contracts article > span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
}
.wedding_budget_contracts article div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_budget_contracts article strong, .wedding_budget_contracts article small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_budget_contracts article strong, .wedding_budget_contracts article b {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_budget_contracts article small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_budget_alerts {
  display: grid;
  gap: 5px;
}
.wedding_budget_alerts article {
  display: grid;
  grid-template-columns: 21px minmax(0, 1fr);
  align-items: start;
  gap: 7px;
  padding: 8px;
  border-radius: 8px;
  background: var(--main_color_lighter5);
}
.wedding_budget_alerts article > span {
  width: 20px;
  height: 20px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}
.wedding_budget_alerts article p {
  margin: 0;
  color: var(--text_color);
  font-size: 13px;
  line-height: 1.4;
}
.wedding_budget_alerts article.is_warning {
  background: #fff7e5;
}
.wedding_budget_alerts article.is_warning > span {
  background: #bf7a08;
}
.wedding_budget_alerts article.is_success > span {
  background: #458955;
}

.wedding_budget_quick_actions button, .wedding_budget_quick_actions a {
  width: 100%;
  justify-content: flex-start;
  border-bottom: 1px solid var(--border_color_lighter);
}

.wedding_budget_ledger_dialog {
  width: min(860px, 100vw - 28px);
}
.wedding_budget_ledger_dialog .wedding_card_list > button {
  min-height: 58px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 10px;
  padding: 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.wedding_budget_ledger_dialog .wedding_card_list > button strong {
  color: var(--text_color);
}
.wedding_budget_ledger_dialog .wedding_card_list > button span, .wedding_budget_ledger_dialog .wedding_card_list > button small {
  color: var(--text_color_lighter1);
}

.wedding_mood_filters {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto auto auto;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_mood_filters > * {
  min-width: 0;
}
.wedding_mood_filters label {
  min-width: 0;
}
.wedding_mood_filters .form_input {
  width: 100%;
  margin: 0;
}
.wedding_mood_filters .sa_btn, .wedding_mood_filters .manage_add_new_btn {
  justify-content: center;
  white-space: nowrap;
}

.wedding_mood_layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(220px, 1fr);
  gap: 10px;
}

.wedding_mood_board_area {
  display: grid;
  gap: 12px;
}
.wedding_mood_board_area > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}
.wedding_mood_board_area > header h2, .wedding_mood_board_area > header p {
  margin: 0;
}
.wedding_mood_board_area > header h2 {
  color: var(--text_color);
  font-size: 15px;
}
.wedding_mood_board_area > header p, .wedding_mood_board_area > header > span {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_mood_board_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.wedding_mood_board_grid > .plugins_empty {
  grid-column: 1/-1;
}

.wedding_mood_board_card {
  position: relative;
  min-width: 0;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_mood_board_card[data-wp-card-url] {
  cursor: pointer;
}
.wedding_mood_board_card[data-wp-card-url]:focus-visible {
  outline: 2px solid var(--main_color);
  outline-offset: 2px;
}
.wedding_mood_board_card .wedding_mood_collage {
  width: 100%;
  height: 145px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 2px;
  padding: 0;
  overflow: hidden;
  border: 0;
  border-radius: 10px 10px 0 0;
  background: var(--bg_color_darker1);
  cursor: pointer;
}
.wedding_mood_board_card .wedding_mood_collage > span {
  min-width: 0;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 7px;
  background: var(--main_color_lighter5);
  color: var(--text_color);
  text-align: center;
}
.wedding_mood_board_card .wedding_mood_collage > span.is_color {
  background: var(--mood-color, var(--main_color_lighter5));
}
.wedding_mood_board_card .wedding_mood_collage > span.is_empty {
  grid-column: 1/-1;
  grid-row: 1/-1;
}
.wedding_mood_board_card .wedding_mood_collage > span b {
  font-size: 13px;
  line-height: 1.3;
}
.wedding_mood_board_card .wedding_mood_collage > span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wedding_mood_board_card .wedding_mood_collage > img {
  width: 100%;
  height: 100%;
  display: block;
  grid-column: 1/-1;
  grid-row: 1/-1;
  object-fit: cover;
}

.wedding_mood_board_body {
  display: grid;
  gap: 4px;
  padding: 11px;
}
.wedding_mood_board_body h3, .wedding_mood_board_body p {
  margin: 0;
}
.wedding_mood_board_body h3 {
  overflow: hidden;
  color: var(--text_color);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_mood_board_body p {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_mood_board_body > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 3px;
}
.wedding_mood_board_body > div span {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_mood_board_card > footer {
  min-height: 46px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 6px 11px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_mood_board_card > footer button, .wedding_mood_board_card > footer a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_mood_board_card > footer > span {
  margin-left: auto;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_mood_sidebar {
  display: grid;
  align-content: start;
  gap: 10px;
}
.wedding_mood_sidebar > section {
  display: grid;
  gap: 8px;
}
.wedding_mood_sidebar > section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wedding_mood_sidebar > section h3 {
  margin: 0;
  color: var(--text_color);
  font-size: 14px;
}
.wedding_mood_sidebar > section > header > span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_mood_sidebar > section > button {
  min-width: 0;
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  padding: 7px 0;
  border: 0;
  border-bottom: 1px solid var(--border_color_lighter);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.wedding_mood_sidebar > section > button span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_mood_sidebar > section > button strong, .wedding_mood_sidebar > section > button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_mood_sidebar > section > button strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_mood_sidebar > section > button small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_mood_sidebar > section > button b {
  color: var(--main_color);
}
.wedding_mood_sidebar > section > article {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 7px;
  padding: 5px 0;
}
.wedding_mood_sidebar > section > article > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_mood_sidebar > section > article p {
  margin: 0;
  color: var(--text_color);
  font-size: 13px;
  line-height: 1.4;
}
.wedding_mood_sidebar > section > article small {
  display: block;
  margin-top: 2px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_mood_sidebar > section.wedding_mood_tip {
  grid-template-columns: 24px minmax(0, 1fr);
  background: var(--white_color);
}
.wedding_mood_sidebar > section.wedding_mood_tip > span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}
.wedding_mood_sidebar > section.wedding_mood_tip p {
  margin: 5px 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.45;
}
.wedding_mood_sidebar > section.wedding_mood_tip a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 700;
}

.wedding_mood_dialog {
  width: min(880px, 100vw - 28px);
}
.wedding_mood_dialog .wedding_mood_dialog_items {
  display: grid;
  gap: 7px;
  max-height: 34vh;
  padding-bottom: 0;
}
.wedding_mood_dialog .wedding_mood_dialog_items article {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 9px;
  padding: 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_mood_dialog .wedding_mood_dialog_items article > span {
  padding: 3px 6px;
  border-radius: 5px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_mood_dialog .wedding_mood_dialog_items article strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_mood_dialog .wedding_mood_dialog_items article p, .wedding_mood_dialog .wedding_mood_dialog_items article small {
  margin: 3px 0 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.4;
}
.wedding_mood_dialog .wedding_mood_item_form {
  border-top: 1px solid var(--border_color_lighter);
}

.wedding_mood_dialog_actions form {
  display: flex;
  align-items: center;
  gap: 7px;
}

.wedding_dialog > form .plugins_form_grid {
  margin: 0;
}

.wedding_invitation_dashboard {
  min-width: 0;
  display: grid;
  gap: 10px;
}

.wedding_invitation_metrics, .wedding_guest_metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}
.wedding_invitation_metrics article, .wedding_guest_metrics article {
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 9px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
}
.wedding_invitation_metrics article > span, .wedding_guest_metrics article > span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--main_color_lighter4);
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 16px;
}
.wedding_invitation_metrics article div, .wedding_guest_metrics article div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_invitation_metrics article small, .wedding_invitation_metrics article strong, .wedding_invitation_metrics article em, .wedding_guest_metrics article small, .wedding_guest_metrics article strong, .wedding_guest_metrics article em {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invitation_metrics article small, .wedding_guest_metrics article small {
  color: var(--text_color);
  font-size: 13px;
  font-weight: 700;
}
.wedding_invitation_metrics article strong, .wedding_guest_metrics article strong {
  color: var(--text_color);
  font-size: 19px;
}
.wedding_invitation_metrics article em, .wedding_guest_metrics article em {
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-style: normal;
}

.wedding_invitation_filters {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(180px, 1fr) auto auto auto auto;
  align-items: center;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_invitation_filters > * {
  min-width: 0;
}
.wedding_invitation_filters label {
  min-width: 0;
}
.wedding_invitation_filters .form_input {
  width: 100%;
  margin: 0;
}
.wedding_invitation_filters .sa_btn, .wedding_invitation_filters .manage_add_new_btn {
  justify-content: center;
  white-space: nowrap;
}

.wedding_invitation_layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(220px, 1fr);
  align-items: start;
  gap: 10px;
}

.wedding_invitation_designs {
  min-width: 0;
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_invitation_designs > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.wedding_invitation_designs > header h2, .wedding_invitation_designs > header p {
  margin: 0;
}
.wedding_invitation_designs > header h2 {
  color: var(--text_color);
  font-size: 15px;
}
.wedding_invitation_designs > header p {
  margin-top: 3px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_invitation_designs > header > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.wedding_invitation_designs > header > div:last-child button {
  min-height: 38px;
  padding: 0 9px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_invitation_designs > header > div:last-child button:hover, .wedding_invitation_designs > header > div:last-child button:focus-visible {
  border-color: var(--main_color);
  background: var(--main_color_lighter5);
}

.wedding_invitation_design_grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.wedding_invitation_design_grid > .plugins_empty {
  grid-column: 1/-1;
}

.wedding_invitation_design_card {
  position: relative;
  min-width: 0;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}

.wedding_invitation_preview {
  width: 100%;
  aspect-ratio: 1.4/1;
  display: block;
  border: 0;
  border-bottom: 1px solid var(--border_color_lighter);
  border-radius: 10px 10px 0 0;
  background-color: #faf7f3;
  background-image: var(--invitation-thumbnail);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  cursor: pointer;
}
.wedding_invitation_preview:focus-visible {
  outline: 2px solid var(--main_color);
  outline-offset: -3px;
}

.wedding_invitation_design_body {
  display: grid;
  gap: 4px;
  padding: 10px;
}
.wedding_invitation_design_body h3, .wedding_invitation_design_body p {
  margin: 0;
}
.wedding_invitation_design_body h3 {
  overflow: hidden;
  color: var(--text_color);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invitation_design_body p {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_invitation_design_body > div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 3px;
}
.wedding_invitation_design_body > div span {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_invitation_status {
  width: fit-content;
  min-height: 22px;
  display: inline-flex;
  align-items: center;
  padding: 2px 7px;
  border: 1px solid;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 800;
}
.wedding_invitation_status.is_draft {
  border-color: #f0d39d;
  background: #fff8e8;
  color: #8b5b00;
}
.wedding_invitation_status.is_frozen {
  border-color: #a9d9b3;
  background: #eff9f1;
  color: #28743a;
}

.wedding_invitation_design_card > footer {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_invitation_design_card > footer button, .wedding_invitation_design_card > footer a {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_invitation_design_card > footer > span {
  margin-left: auto;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_record_more {
  position: absolute;
  z-index: 20;
  top: 8px;
  right: 8px;
  margin: 0;
}
.wedding_record_more summary {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--text_color);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1px;
  list-style: none;
  cursor: pointer;
}
.wedding_record_more summary::-webkit-details-marker {
  display: none;
}
.wedding_record_more > div {
  position: absolute;
  top: 40px;
  right: 0;
  min-width: 170px;
  display: grid;
  gap: 3px;
  padding: 5px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
}
.wedding_record_more > div button, .wedding_record_more > div a {
  width: 100%;
  min-height: 38px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--text_color);
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.wedding_record_more > div button:hover, .wedding_record_more > div button:focus-visible, .wedding_record_more > div a:hover, .wedding_record_more > div a:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
}

.wedding_record_more > div button.danger {
  color: var(--red_color, #c62f3b);
}

.wedding_record_more > div svg {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.6;
}

.wedding_collaborator_actions {
  position: relative;
  top: auto;
  right: auto;
  margin-left: auto;
}
.wedding_invite_activity .wedding_collaborator_actions {
  grid-column: 4;
  grid-row: 1/3;
}

.wedding_settings_collaborators .wedding_collaborator_actions {
  flex: 0 0 auto;
}

.wedding_budget_breakdown td:last-child {
  position: relative;
  width: 48px;
}

.wedding_budget_actions {
  position: relative;
  z-index: 70;
  top: auto;
  right: auto;
  width: 36px;
  margin-left: auto;
}
.wedding_budget_actions[open] {
  z-index: 220;
}
.wedding_budget_actions > div {
  z-index: 230;
}
.wedding_budget_actions form {
  display: contents;
}

.wedding_collaborator_actions[open] {
  z-index: 220;
}
.wedding_collaborator_actions[open] > div {
  z-index: 230;
}

.wedding_confirm_dialog {
  width: min(480px, 100vw - 28px);
}
.wedding_confirm_dialog > footer {
  margin: 0;
}
.wedding_confirm_dialog .wedding_confirm_content {
  min-height: auto;
}
.wedding_confirm_dialog .wedding_confirm_content p {
  margin: 0;
  color: var(--text_color);
  line-height: 1.55;
}

.wedding_collaborator_profile_dialog {
  width: min(560px, 100vw - 28px);
}
.wedding_collaborator_profile_dialog > footer {
  margin: 0;
}

.wedding_collaborator_profile {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
}
.wedding_collaborator_profile > img {
  width: 64px;
  height: 64px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 50%;
  object-fit: cover;
  background: var(--bg_color);
}
.wedding_collaborator_profile > div {
  min-width: 0;
  display: grid;
  gap: 4px;
}
.wedding_collaborator_profile > div strong, .wedding_collaborator_profile > div small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_collaborator_profile > div strong {
  color: var(--text_color);
  font-size: 16px;
}
.wedding_collaborator_profile > div small {
  color: var(--text_color_lighter1);
}
.wedding_collaborator_profile dl {
  grid-column: 1/-1;
  display: grid;
  gap: 8px;
  margin: 4px 0 0;
}
.wedding_collaborator_profile dl > div {
  display: grid;
  grid-template-columns: minmax(90px, 0.45fr) minmax(0, 1fr);
  gap: 10px;
  padding: 9px 0;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_collaborator_profile dl dt {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_collaborator_profile dl dd {
  margin: 0;
  color: var(--text_color);
  font-size: 13px;
  font-weight: 700;
}

.wedding_invitation_sidebar {
  display: grid;
  align-content: start;
  gap: 10px;
}
.wedding_invitation_sidebar > section {
  min-width: 0;
  display: grid;
  gap: 8px;
  padding: 13px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_invitation_sidebar > section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wedding_invitation_sidebar > section h3 {
  margin: 0;
  color: var(--text_color);
  font-size: 13px;
}
.wedding_invitation_sidebar > section > header > span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_invitation_sidebar > section > button {
  min-width: 0;
  min-height: 46px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 0;
  border: 0;
  border-bottom: 1px solid var(--border_color_lighter);
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.wedding_invitation_sidebar > section > button span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_invitation_sidebar > section > button strong, .wedding_invitation_sidebar > section > button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invitation_sidebar > section > button strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_invitation_sidebar > section > button small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_invitation_sidebar > section > button b {
  color: var(--main_color);
}
.wedding_invitation_sidebar > section > article {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 7px;
  padding: 4px 0;
}
.wedding_invitation_sidebar > section > article > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_invitation_sidebar > section > article p {
  margin: 0;
  color: var(--text_color);
  font-size: 13px;
  line-height: 1.4;
}
.wedding_invitation_sidebar > section > article small {
  display: block;
  margin-top: 2px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_invitation_sidebar > section.wedding_invitation_tip {
  grid-template-columns: 24px minmax(0, 1fr);
  background: var(--white_color);
}
.wedding_invitation_sidebar > section.wedding_invitation_tip > span {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color);
  color: #fff;
  font-size: 13px;
}
.wedding_invitation_sidebar > section.wedding_invitation_tip p {
  margin: 5px 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.45;
}
.wedding_invitation_sidebar > section.wedding_invitation_tip a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 700;
}

.wedding_invitation_share_dialog .wedding_delivery_selector {
  display: grid;
  gap: 12px;
}
.wedding_invitation_share_dialog .wedding_select_all {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 8px;
}

.wedding_delivery_rows {
  display: grid;
  max-height: 280px;
  overflow-y: auto;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
}
.wedding_delivery_rows label {
  min-height: 48px;
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_delivery_rows label:last-child {
  border-bottom: 0;
}
.wedding_delivery_rows label span {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_delivery_rows label small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_invitation_detail {
  display: grid;
  gap: 8px;
}
.wedding_invitation_detail p {
  margin: 0;
  color: var(--text_color_lighter1);
}

.wedding_guest_dashboard, .wedding_guest_main {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 10px;
}

.wedding_guest_metrics {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wedding_guest_filters {
  display: contents;
}
.wedding_guest_filters .form_input {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.wedding_guest_primary_filters {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_guest_primary_filters > * {
  min-width: 0;
  margin: 0;
}

.wedding_guest_search {
  grid-column: 1/4;
}

.wedding_guest_primary_filters .wedding_guest_toolbar {
  grid-column: 4/-1;
}

.wedding_guest_toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 0 0 auto;
  gap: 8px;
}
.wedding_guest_toolbar nav {
  display: flex;
  gap: 3px;
  padding: 4px;
  border: 1px solid var(--border_color);
  border-radius: 9px;
}
.wedding_guest_toolbar nav a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: 0 10px;
  border-radius: 7px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 700;
}
.wedding_guest_toolbar nav a.active {
  background: var(--main_color);
  color: #fff;
}

.wedding_guest_sources {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}
.wedding_guest_sources button {
  min-width: 0;
  min-height: 50px;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  grid-template-rows: auto auto;
  align-items: center;
  column-gap: 8px;
  padding: 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--white_color);
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.wedding_guest_sources button > span {
  width: 32px;
  height: 32px;
  display: grid;
  grid-row: 1/3;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
}
.wedding_guest_sources button strong, .wedding_guest_sources button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_guest_sources button strong {
  align-self: end;
  color: var(--text_color);
  font-size: 13px;
}
.wedding_guest_sources button small {
  align-self: start;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_guest_sources button:hover, .wedding_guest_sources button:focus-visible {
  border-color: var(--main_color);
}

.wedding_guest_layout {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(205px, 0.26fr);
  align-items: start;
  gap: 10px;
}

.wedding_guest_grid {
  min-width: 0;
  display: grid;
  grid-column: 1;
  grid-row: 1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.wedding_guest_grid > .plugins_empty {
  grid-column: 1/-1;
}
.wedding_guest_grid.is_list {
  grid-template-columns: 1fr;
}
.wedding_guest_grid.is_list .wedding_guest_card {
  display: grid;
  grid-template-columns: minmax(180px, 1.3fr) minmax(130px, 0.8fr) minmax(150px, 0.8fr) minmax(220px, 1fr);
  align-items: center;
}
.wedding_guest_grid.is_list .wedding_guest_card > header, .wedding_guest_grid.is_list .wedding_guest_card > div, .wedding_guest_grid.is_list .wedding_guest_card > p, .wedding_guest_grid.is_list .wedding_guest_card > footer {
  border: 0;
}

.wedding_guest_card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
}
.wedding_guest_card > header {
  min-width: 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 32px;
  align-items: center;
  gap: 8px;
  padding: 10px;
}
.wedding_guest_card > header .wedding_guest_avatar {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_guest_card > header div {
  min-width: 0;
}
.wedding_guest_card > header h3 {
  overflow: hidden;
  margin: 0;
  color: var(--text_color);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_guest_card > header small {
  width: fit-content;
  display: inline-flex;
  margin-top: 4px;
  padding: 2px 6px;
  border-radius: 5px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
}
.wedding_guest_card > header button {
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--text_color_lighter1);
  cursor: pointer;
}
.wedding_guest_card > header button:hover, .wedding_guest_card > header button:focus-visible {
  background: var(--bg_color_darker1);
}
.wedding_guest_card > p {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0;
  padding: 7px 10px;
  border-top: 1px solid var(--border_color_lighter);
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_guest_card > p b {
  font-weight: 400;
}
.wedding_guest_card > footer {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_guest_card > footer > span {
  min-width: 0;
  overflow: hidden;
  color: var(--text_color_lighter1);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_guest_card > footer > span:nth-child(2) {
  flex: 0 0 auto;
  color: #28743a;
}
.wedding_guest_card > footer > span:nth-child(2).is_not_ready {
  color: #a33333;
}
.wedding_guest_card > footer button {
  min-height: 34px;
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0 7px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.wedding_guest_badges {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  padding: 0 10px 9px;
}
.wedding_guest_badges span {
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border: 1px solid var(--main_color_lighter4);
  border-radius: 5px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
}
.wedding_guest_badges span.is_success {
  border-color: #a9d9b3;
  background: #eff9f1;
  color: #28743a;
}
.wedding_guest_badges span.is_pending {
  border-color: #f0d39d;
  background: #fff8e8;
  color: #8b5b00;
}
.wedding_guest_badges span.is_danger {
  border-color: #efb6b6;
  background: #fff1f1;
  color: #a33333;
}

.wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_main {
  grid-template-columns: 1fr;
}
.wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_metrics {
  grid-row: 1;
}
.wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_primary_filters {
  grid-row: 2;
}
.wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_list_table {
  grid-row: 3;
}
.wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_sources, .wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_layout, .wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_next {
  display: none;
}

.wedding_guest_list_table {
  min-width: 0;
  display: grid;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}

.wedding_guest_list_actions {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 9px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_guest_list_actions > div {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}
.wedding_guest_list_actions .sa_btn, .wedding_guest_list_actions .manage_add_new_btn {
  min-height: 38px;
  padding: 0 11px;
  font-size: 13px;
}

.wedding_guest_table_scroll {
  min-width: 0;
  overflow-x: auto;
}
.wedding_guest_table_scroll table {
  width: 100%;
  min-width: 1040px;
  border-collapse: collapse;
  color: var(--text_color);
  font-size: 13px;
}
.wedding_guest_table_scroll th {
  padding: 9px 8px;
  background: var(--bg_color);
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 800;
  text-align: left;
  white-space: nowrap;
}
.wedding_guest_table_scroll td {
  min-width: 78px;
  padding: 8px;
  border-top: 1px solid var(--border_color_lighter);
  vertical-align: middle;
}
.wedding_guest_table_scroll td > strong {
  display: block;
  margin-bottom: 3px;
  font-size: 13px;
  white-space: nowrap;
}
.wedding_guest_table_scroll tbody tr:hover {
  background: var(--main_color_lighter5);
}

.wedding_guest_list_identity {
  min-width: 170px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.wedding_guest_list_identity .wedding_guest_avatar {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_guest_list_identity > span:last-child {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.wedding_guest_list_identity strong, .wedding_guest_list_identity small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_guest_list_identity strong {
  font-size: 13px;
}
.wedding_guest_list_identity small {
  max-width: 145px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_guest_list_tag, .wedding_guest_list_status {
  width: fit-content;
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  padding: 2px 6px;
  border: 1px solid var(--main_color_lighter4);
  border-radius: 5px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  white-space: nowrap;
}
.wedding_guest_list_tag.is_success, .wedding_guest_list_status.is_success {
  border-color: #a9d9b3;
  background: #eff9f1;
  color: #28743a;
}
.wedding_guest_list_tag.is_pending, .wedding_guest_list_status.is_pending {
  border-color: #f0d39d;
  background: #fff8e8;
  color: #8b5b00;
}
.wedding_guest_list_tag.is_danger, .wedding_guest_list_status.is_danger {
  border-color: #efb6b6;
  background: #fff1f1;
  color: #a33333;
}
.wedding_guest_list_tag.is_ready, .wedding_guest_list_status.is_ready {
  border-color: #a9d9b3;
  color: #28743a;
}

.wedding_guest_list_activity {
  min-width: 118px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text_color_lighter1);
  font: inherit;
  font-size: 13px;
  text-align: left;
  cursor: pointer;
}
.wedding_guest_list_activity b {
  color: var(--main_color);
  letter-spacing: 1px;
}

.wedding_guest_list_table > footer {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 12px;
  border-top: 1px solid var(--border_color_lighter);
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_guest_list_table > footer nav {
  display: flex;
  gap: 5px;
}
.wedding_guest_list_table > footer a {
  min-width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  color: var(--text_color);
  font-weight: 700;
}
.wedding_guest_list_table > footer a.active {
  border-color: var(--main_color);
  background: var(--main_color);
  color: #fff;
}

.wedding_guest_sidebar {
  min-width: 0;
  display: grid;
  grid-column: 3;
  grid-row: 1/span 5;
  align-content: start;
  gap: 10px;
}
.wedding_guest_sidebar > section {
  min-width: 0;
  display: grid;
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_guest_sidebar > section > header {
  min-height: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wedding_guest_sidebar > section h3 {
  margin: 0;
  color: var(--text_color);
  font-size: 14px;
  line-height: 1.3;
}
.wedding_guest_sidebar > section > header > span {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  flex: 0 0 24px;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_guest_sidebar > section > p {
  min-width: 0;
  min-height: 24px;
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_guest_sidebar > section > p i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--main_color);
}
.wedding_guest_sidebar > section > p strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_guest_sidebar > section > p strong small {
  color: var(--text_color_lighter1);
  font-weight: 400;
}
.wedding_guest_sidebar > section > article {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 8px;
  padding: 3px 0;
}
.wedding_guest_sidebar > section > article > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
}
.wedding_guest_sidebar > section > article p {
  margin: 0;
  color: var(--text_color);
  font-size: 13px;
  line-height: 1.4;
}
.wedding_guest_sidebar > section > article small {
  display: block;
  margin-top: 3px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_guest_sidebar > section > button, .wedding_guest_sidebar > section > a {
  width: 100%;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid var(--main_color_lighter4);
  border-radius: 8px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  cursor: pointer;
}
.wedding_guest_sidebar > section > button:hover, .wedding_guest_sidebar > section > a:hover {
  border-color: var(--main_color);
}
.wedding_guest_sidebar > section > button:focus-visible, .wedding_guest_sidebar > section > a:focus-visible {
  border-color: var(--main_color);
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 1px;
}
.wedding_guest_sidebar > section progress {
  width: 100%;
  height: 8px;
  accent-color: var(--main_color);
}
.wedding_guest_sidebar > section > div {
  display: grid;
  gap: 7px;
}
.wedding_guest_sidebar > section > div > span {
  min-height: 22px;
  display: grid;
  grid-template-columns: 8px minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_guest_sidebar > section > div > span i {
  width: 7px;
  height: 7px;
  background: var(--text_color_lighter2);
}
.wedding_guest_sidebar > section > div > span i.is_shared {
  background: #3da66b;
}
.wedding_guest_sidebar > section > div > span i.is_pending {
  background: #e79a38;
}
.wedding_guest_sidebar > section > div > span b {
  color: var(--text_color);
}

.wedding_guest_next {
  min-width: 0;
  display: grid;
  grid-column: 1/-1;
  grid-row: 6;
  grid-template-columns: 42px minmax(0, 1fr) auto auto;
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid var(--main_color_lighter4);
  border-radius: 11px;
  background: var(--main_color_lighter5) !important;
}
.wedding_guest_next > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color);
  color: #fff;
}
.wedding_guest_next h3, .wedding_guest_next p {
  margin: 0;
}
.wedding_guest_next h3 {
  color: var(--main_color);
  font-size: 13px;
}
.wedding_guest_next p {
  margin-top: 3px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_guest_next > button {
  min-height: 40px;
  padding: 0 10px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.wedding_guest_next {
  grid-column: 1;
  grid-row: auto;
}

.wedding_guest_sidebar {
  grid-column: 2;
  grid-row: 1;
}

.wedding_guest_sidebar > section:has(> progress) > p, .wedding_guest_sidebar > section:has(> a) > p {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 2px 0;
}
.wedding_guest_sidebar > section:has(> progress) > p span, .wedding_guest_sidebar > section:has(> a) > p span {
  min-width: 0;
  color: var(--text_color_lighter1);
  line-height: 1.4;
}
.wedding_guest_sidebar > section:has(> progress) > p strong, .wedding_guest_sidebar > section:has(> a) > p strong {
  color: var(--text_color);
  font-size: 16px;
  line-height: 1.2;
  text-align: right;
  white-space: nowrap;
}
.wedding_guest_sidebar > section > p.wedding_empty {
  display: block;
  min-height: 0;
  line-height: 1.45;
}
.wedding_guest_sidebar > section:has(> progress) progress {
  margin-top: -2px;
}
.wedding_guest_sidebar > section:has(> progress) > div {
  padding-top: 2px;
}

.wedding_dialog_actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.wedding_hub .form_input, .wedding_dialog .form_input, .wedding_planner_page .form_input {
  min-height: 44px;
  border-radius: 9px;
}
.wedding_hub .form_input:focus, .wedding_dialog .form_input:focus, .wedding_planner_page .form_input:focus {
  border-color: var(--main_color);
  outline: 2px solid var(--main_color_lighter4);
  outline-offset: 1px;
}
.wedding_hub label > span, .wedding_dialog label > span, .wedding_planner_page label > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
  color: var(--text_color);
  font-size: 13px;
  font-weight: 700;
}
.wedding_hub .sa_btn, .wedding_hub .manage_add_new_btn, .wedding_dialog .sa_btn, .wedding_dialog .manage_add_new_btn, .wedding_planner_page .sa_btn, .wedding_planner_page .manage_add_new_btn {
  min-height: 42px;
}

.wedding_hub .plugins_empty {
  min-height: 180px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 12px;
  padding: clamp(24px, 4vw, 40px);
  background: var(--white_color);
  text-align: center;
}
.wedding_hub .plugins_empty h3, .wedding_hub .plugins_empty p {
  margin: 0;
}
.wedding_hub .plugins_empty p {
  max-width: 520px;
  line-height: 1.55;
}
.wedding_hub .plugins_empty .sa_btn, .wedding_hub .plugins_empty .manage_add_new_btn {
  margin-top: 4px;
}

.wedding_activity_grid > section h2, .wedding_activity_grid > section h3, .wedding_two_column > section h2, .wedding_two_column > section h3, .wedding_settings_card h2, .wedding_settings_card h3, .wedding_table_card h2, .wedding_table_card h3, .wedding_checkin_panel h2, .wedding_checkin_panel h3, .wedding_mood_intro h2, .wedding_mood_intro h3 {
  color: var(--text_color);
}

.wedding_activity_grid > section {
  min-width: 0;
}

.wedding_directory article:focus-within {
  border-color: var(--main_color);
}

.wedding_actions summary {
  border: 1px solid transparent;
}
.wedding_actions summary:hover, .wedding_actions summary:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
}

.wedding_rsvp_form {
  max-width: 520px;
  display: grid;
  gap: 12px;
  margin: 28px auto 0;
  padding-top: 24px;
  border-top: 1px solid #d8e1dc;
  text-align: left;
}
.wedding_rsvp_form h3 {
  text-align: center;
}

.wedding_public_qr {
  width: min(220px, 70vw);
  margin: 20px auto;
  padding: 10px;
  border: 1px solid #d8e1dc;
  border-radius: 12px;
  background: #fff;
}

.wedding_dev_settings {
  overflow: visible !important;
}

.wedding_dev_settings_form {
  display: grid;
  gap: 16px;
  padding: 18px;
}

.wedding_provider_grid {
  display: grid;
  gap: 14px;
}

.wedding_provider_section {
  min-width: 0;
  margin: 0;
  padding: 16px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--bg_color);
}
.wedding_provider_section legend {
  padding: 0 7px;
  color: var(--text_color);
  font-size: 15px;
  font-weight: 800;
}
.wedding_provider_section > p {
  margin: 0 0 14px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.45;
}
.wedding_provider_section .plugins_form_grid {
  margin: 0;
}

.plugin_configured {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.wedding_dev_settings_actions {
  position: sticky;
  bottom: -18px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 -18px -18px;
  padding: 14px 18px;
  border-top: 1px solid var(--border_color);
  background: var(--white_color);
}
.wedding_dev_settings_actions p {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

html.wedding_mood_is_maximized, body.wedding_mood_is_maximized {
  overflow: hidden;
}

.wedding_mood_editor_workspace {
  width: 100%;
  min-width: 0;
  height: calc(100dvh - 118px);
  min-height: 640px;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 14px;
  background: var(--white_color);
}
.wedding_mood_editor_workspace.is_maximized {
  position: fixed;
  z-index: 10000;
  inset: 0;
  width: 100vw;
  height: 100dvh;
  min-height: 0;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.wedding_mood_editor_workspace .wedding_mood_editor_header {
  min-width: 0;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 5px 14px;
  border-bottom: 1px solid var(--border_color_lighter);
  background: var(--white_color);
}
.wedding_mood_editor_workspace .wedding_mood_editor_identity, .wedding_mood_editor_workspace .wedding_mood_editor_actions {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 9px;
}
.wedding_mood_editor_workspace .wedding_mood_editor_identity {
  flex: 1 1 auto;
}
.wedding_mood_editor_workspace .wedding_mood_editor_identity .wedding_mood_back {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  flex: 0 0 auto;
  color: var(--main_color);
  font-size: 12px;
  font-weight: 800;
}
.wedding_mood_editor_workspace .wedding_mood_editor_identity h2 {
  max-width: 280px;
  margin: 0;
  overflow: hidden;
  color: var(--text_color);
  font-size: 20px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_mood_editor_workspace .wedding_mood_title {
  width: min(260px, 24vw);
  min-height: 40px;
  padding: 0 8px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--text_color);
  font: inherit;
  font-size: 20px;
  font-weight: 700;
}
.wedding_mood_editor_workspace .wedding_mood_title:hover, .wedding_mood_editor_workspace .wedding_mood_title:focus {
  border-color: var(--border_color);
  outline: none;
  background: var(--bg_color);
}
.wedding_mood_editor_workspace .wedding_mood_version_select {
  width: auto;
  min-width: unset;
  min-height: unset;
  margin: 0;
  padding: 5px 10px;
}
.wedding_mood_editor_workspace .wedding_mood_save_state {
  min-width: 120px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--text_color_lighter1);
  font-size: 10px;
  white-space: nowrap;
}
.wedding_mood_editor_workspace .wedding_mood_save_state i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #6faaa0;
}
.wedding_mood_editor_workspace .wedding_mood_save_state[data-state=saving] i {
  background: #df9b2c;
}
.wedding_mood_editor_workspace .wedding_mood_save_state[data-state=warning] i, .wedding_mood_editor_workspace .wedding_mood_save_state[data-state=conflict] i {
  background: #d45b5b;
}
.wedding_mood_editor_workspace .wedding_mood_save_state[data-state=degraded] i {
  background: #d18b35;
}
.wedding_mood_editor_workspace .wedding_mood_editor_actions {
  flex: 0 0 auto;
}
.wedding_mood_editor_workspace .wedding_mood_editor_actions > button {
  min-height: 40px;
  padding-block: 5px;
  white-space: nowrap;
}
.wedding_mood_editor_workspace .wedding_mood_editor_actions .wedding_mood_maximize {
  width: 40px;
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  padding: 0;
}
.wedding_mood_editor_workspace .wedding_mood_editor_actions .wedding_mood_maximize span {
  display: grid;
  place-items: center;
}
.wedding_mood_editor_workspace .wedding_mood_editor_actions .wedding_mood_maximize span[hidden] {
  display: none;
}
.wedding_mood_editor_workspace .wedding_mood_editor_actions .wedding_mood_maximize svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_mood_editor_workspace .wedding_mood_avatar_stack {
  display: flex;
  flex-direction: row-reverse;
  justify-content: flex-end;
  padding-left: 9px;
}
.wedding_mood_editor_workspace .wedding_mood_avatar_stack span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  margin-left: -9px;
  overflow: hidden;
  border: 2px solid var(--white_color);
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 10px;
  font-weight: 800;
}
.wedding_mood_editor_workspace .wedding_mood_avatar_stack span img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wedding_mood_editor_workspace .wedding_mood_editor_body {
  position: relative;
  min-width: 0;
  min-height: 0;
  max-height: 100%;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 292px;
  overflow: hidden;
}
.wedding_mood_editor_workspace .wedding_mood_editor_body > * {
  min-height: 0;
  max-height: 100%;
}
.wedding_mood_editor_workspace .wedding_mood_tool_rail {
  z-index: 6;
  display: grid;
  align-content: start;
  gap: 4px;
  padding: 10px 7px;
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
  border-right: 1px solid var(--border_color_lighter);
  background: var(--white_color);
}
.wedding_mood_editor_workspace .wedding_mood_tool_rail::-webkit-scrollbar {
  display: none;
}
.wedding_mood_editor_workspace .wedding_mood_tool_rail button {
  min-width: 54px;
  min-height: 58px;
  display: grid;
  place-items: center;
  gap: 3px;
  padding: 5px 3px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: var(--text_color_lighter1);
  font: inherit;
  font-size: 9px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_mood_editor_workspace .wedding_mood_tool_rail button svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
}
.wedding_mood_editor_workspace .wedding_mood_tool_rail button:hover, .wedding_mood_editor_workspace .wedding_mood_tool_rail button:focus-visible, .wedding_mood_editor_workspace .wedding_mood_tool_rail button.active {
  border-color: var(--main_color_lighter4);
  background: var(--main_color_lighter5);
  color: var(--main_color);
  outline: none;
}
.wedding_mood_editor_workspace .wedding_mood_tool_rail button.is_dragging {
  border-color: var(--main_color);
  color: var(--main_color);
  opacity: 0.55;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_shell {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--bg_color_darker1);
  outline: none;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_shell:focus-visible {
  outline: 2px solid var(--main_color);
  outline-offset: -2px;
}
.wedding_mood_editor_workspace .wedding_mood_canvas {
  position: absolute;
  inset: 0;
  overflow: hidden;
  touch-action: none;
  cursor: default;
  background-color: var(--bg_color_darker1);
  background-image: radial-gradient(circle, var(--border_color) 1px, transparent 1.2px);
  background-size: 20px 20px;
}
.wedding_mood_editor_workspace .wedding_mood_canvas[data-tool=note], .wedding_mood_editor_workspace .wedding_mood_canvas[data-tool=text], .wedding_mood_editor_workspace .wedding_mood_canvas[data-tool=frame], .wedding_mood_editor_workspace .wedding_mood_canvas[data-tool=shape], .wedding_mood_editor_workspace .wedding_mood_canvas[data-tool=comment], .wedding_mood_editor_workspace .wedding_mood_canvas[data-tool=connector] {
  cursor: crosshair;
}
.wedding_mood_editor_workspace.is_panning .wedding_mood_canvas, .wedding_mood_editor_workspace .wedding_mood_canvas[data-tool=pan] {
  cursor: grabbing;
}
.wedding_mood_editor_workspace .wedding_mood_camera {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  transform-origin: 0 0;
  will-change: transform;
}
.wedding_mood_editor_workspace .wedding_mood_item_layer, .wedding_mood_editor_workspace .wedding_mood_connectors, .wedding_mood_editor_workspace .wedding_mood_selection_layer, .wedding_mood_editor_workspace .wedding_mood_cursor_layer {
  position: absolute;
  inset: 0;
  width: 1px;
  height: 1px;
  overflow: visible;
  pointer-events: none;
}
.wedding_mood_editor_workspace .wedding_mood_item_layer {
  pointer-events: auto;
}
.wedding_mood_editor_workspace .wedding_mood_connectors {
  pointer-events: auto;
}
.wedding_mood_editor_workspace .wedding_mood_connectors > g > path:first-child {
  pointer-events: none;
}
.wedding_mood_editor_workspace .wedding_mood_connectors .wedding_mood_connector_hit {
  fill: none;
  stroke: transparent;
  stroke-width: 16;
  cursor: pointer;
  pointer-events: stroke;
}
.wedding_mood_editor_workspace .wedding_mood_connectors g.is_selected > path:first-of-type {
  stroke-width: 4;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item {
  position: absolute;
  box-sizing: border-box;
  min-width: 24px;
  min-height: 24px;
  display: flex;
  flex-direction: column;
  overflow: visible;
  border: 1px solid var(--mood-border, #c9d5d3);
  border-radius: 8px;
  background: var(--mood-bg, #fff);
  color: var(--mood-color, #243230);
  opacity: var(--mood-opacity, 1);
  transform-origin: center;
  cursor: grab;
  touch-action: none;
  user-select: none;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item > svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  fill: var(--mood-bg, #fff);
  stroke: var(--mood-border, #c9d5d3);
  stroke-width: 2;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item .wedding_mood_item_content {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  overflow: hidden;
  padding: 14px;
  color: inherit;
  font-size: var(--mood-font-size, 18px);
  font-weight: var(--mood-font-weight, 400);
  line-height: 1.45;
  text-align: var(--mood-align, left);
  white-space: pre-wrap;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item img, .wedding_mood_editor_workspace .wedding_mood_canvas_item iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  border-radius: 7px;
  image-rendering: auto;
  pointer-events: none;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item h3 {
  position: absolute;
  top: -34px;
  left: 0;
  max-width: 100%;
  margin: 0;
  overflow: hidden;
  color: var(--text_color);
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item [contenteditable] {
  cursor: text;
  user-select: text;
  outline: 2px solid var(--main_color);
  outline-offset: 2px;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item.is_frame {
  border-style: dashed;
  background: color-mix(in srgb, var(--mood-bg) 18%, transparent);
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item.is_frame .wedding_mood_item_content {
  display: none;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item.is_note {
  border-radius: 3px;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item.is_text, .wedding_mood_editor_workspace .wedding_mood_canvas_item.is_shape {
  border-color: transparent;
  background: transparent;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item.is_color .wedding_mood_item_content {
  align-content: end;
  color: color-mix(in srgb, var(--mood-color) 80%, #000);
  font-size: 12px;
  font-weight: 800;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item.is_selected {
  border-color: var(--main_color);
  outline: 2px solid color-mix(in srgb, var(--main_color) 28%, transparent);
  outline-offset: 2px;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item.is_remote_locked {
  border-color: #7a58d6;
  outline: 2px solid rgba(122, 88, 214, 0.22);
}
.wedding_mood_editor_workspace .wedding_mood_canvas_item.is_locked {
  cursor: not-allowed;
}
.wedding_mood_editor_workspace .wedding_mood_item_content {
  font-family: var(--mood-font-family, Arial, sans-serif);
}
.wedding_mood_editor_workspace .wedding_mood_resize_handle, .wedding_mood_editor_workspace .wedding_mood_rotate_handle {
  position: absolute;
  z-index: 5;
  display: grid;
  place-items: center;
  border: 2px solid var(--main_color);
  border-radius: 50%;
  background: var(--white_color);
  cursor: pointer;
}
.wedding_mood_editor_workspace .wedding_mood_resize_handle {
  right: -10px;
  bottom: -10px;
  width: 18px;
  height: 18px;
  cursor: nwse-resize;
}
.wedding_mood_editor_workspace .wedding_mood_rotate_handle {
  top: -38px;
  left: calc(50% - 10px);
  width: 20px;
  height: 20px;
}
.wedding_mood_editor_workspace .wedding_mood_rotate_handle::before {
  width: 1px;
  height: 17px;
  position: absolute;
  top: 18px;
  background: var(--main_color);
  content: "";
}
.wedding_mood_editor_workspace .wedding_mood_lock_badge {
  position: absolute;
  top: 5px;
  right: 5px;
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 6px;
  background: color-mix(in srgb, var(--white_color) 85%, transparent);
  font-size: 11px;
}
.wedding_mood_editor_workspace .wedding_mood_lasso {
  position: absolute;
  z-index: 30;
  border: 1px solid var(--main_color);
  background: color-mix(in srgb, var(--main_color) 12%, transparent);
  pointer-events: none;
}
.wedding_mood_editor_workspace .wedding_mood_cursor_layer span {
  position: absolute;
  display: grid;
  gap: 2px;
  color: var(--cursor-color, #008fa3);
}
.wedding_mood_editor_workspace .wedding_mood_cursor_layer span::before {
  width: 0;
  height: 0;
  border-top: 13px solid currentColor;
  border-right: 8px solid transparent;
  content: "";
}
.wedding_mood_editor_workspace .wedding_mood_cursor_layer span b {
  width: max-content;
  max-width: 120px;
  margin-left: 8px;
  padding: 3px 6px;
  overflow: hidden;
  border-radius: 5px;
  background: currentColor;
  color: #fff;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_notice {
  position: absolute;
  z-index: 8;
  top: 18px;
  left: 50%;
  padding: 8px 12px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--text_color_lighter1);
  font-size: 11px;
  transform: translateX(-50%);
}
.wedding_mood_editor_workspace .wedding_mood_canvas_notice[hidden] {
  display: none;
}
.wedding_mood_editor_workspace .wedding_mood_tool_popover {
  position: absolute;
  z-index: 11;
  top: 10px;
  left: 10px;
  width: min(260px, 100% - 20px);
  max-height: calc(100% - 20px);
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  padding: 8px;
  overflow-y: auto;
  border: 1px solid var(--border_color);
  border-radius: 10px;
  background: var(--white_color);
}
.wedding_mood_editor_workspace .wedding_mood_tool_popover[hidden] {
  display: none;
}
.wedding_mood_editor_workspace .wedding_mood_tool_popover button {
  min-height: 44px;
  padding: 6px 8px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--text_color);
  font: inherit;
  font-size: 9px;
  text-align: left;
  cursor: pointer;
}
.wedding_mood_editor_workspace .wedding_mood_tool_popover button.active, .wedding_mood_editor_workspace .wedding_mood_tool_popover button:hover, .wedding_mood_editor_workspace .wedding_mood_tool_popover button:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
  outline: none;
}
.wedding_mood_editor_workspace .wedding_mood_comment_marker {
  position: absolute;
  z-index: 100001;
  width: max-content;
  max-width: 220px;
  min-height: 34px;
  display: grid;
  gap: 4px;
  padding: 7px 9px;
  border: 1px solid color-mix(in srgb, #d9a600 48%, var(--border_color));
  border-radius: 8px;
  background: color-mix(in srgb, #fff2a8 82%, var(--white_color));
  color: #4b4022;
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  opacity: 0.62;
  cursor: pointer;
}
.wedding_mood_editor_workspace .wedding_mood_comment_marker span {
  display: none;
  font-weight: 400;
  line-height: 1.4;
  white-space: pre-wrap;
}
.wedding_mood_editor_workspace .wedding_mood_comment_marker:hover, .wedding_mood_editor_workspace .wedding_mood_comment_marker:focus-visible {
  opacity: 1;
  outline: 2px solid color-mix(in srgb, #d9a600 45%, transparent);
}
.wedding_mood_editor_workspace .wedding_mood_comment_marker:hover span, .wedding_mood_editor_workspace .wedding_mood_comment_marker:focus-visible span {
  display: block;
}
.wedding_mood_editor_workspace .wedding_mood_minimap {
  position: absolute;
  z-index: 5;
  bottom: 18px;
  left: 18px;
  width: 180px;
  height: 110px;
  padding: 5px;
  overflow: hidden;
  border: 1px solid var(--border_color);
  border-radius: 9px;
  background: color-mix(in srgb, var(--white_color) 94%, transparent);
  pointer-events: none;
}
.wedding_mood_editor_workspace .wedding_mood_minimap svg {
  width: 100%;
  height: 100%;
}
.wedding_mood_editor_workspace .wedding_mood_minimap svg rect {
  stroke: var(--border_color);
  stroke-width: 2;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_controls {
  position: absolute;
  z-index: 8;
  right: 18px;
  bottom: 18px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--border_color);
  border-radius: 9px;
  background: var(--white_color);
}
.wedding_mood_editor_workspace .wedding_mood_canvas_controls button, .wedding_mood_editor_workspace .wedding_mood_canvas_controls output {
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  border: 0;
  border-right: 1px solid var(--border_color_lighter);
  background: transparent;
  color: var(--text_color);
  font: inherit;
  font-size: 12px;
  cursor: pointer;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_controls output {
  min-width: 60px;
  cursor: default;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_controls button:last-child {
  border-right: 0;
}
.wedding_mood_editor_workspace .wedding_mood_canvas_controls button:hover, .wedding_mood_editor_workspace .wedding_mood_canvas_controls button:focus-visible, .wedding_mood_editor_workspace .wedding_mood_canvas_controls button.active {
  background: var(--main_color_lighter5);
  color: var(--main_color);
  outline: none;
}
.wedding_mood_editor_workspace .wedding_mood_outline {
  position: absolute;
  z-index: 12;
  inset: 18px;
  overflow: auto;
  border: 1px solid var(--border_color);
  border-radius: 10px;
  background: var(--white_color);
  color: var(--text_color);
}
.wedding_mood_editor_workspace .wedding_mood_outline header {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 8px 14px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_mood_editor_workspace .wedding_mood_outline header h3 {
  margin: 0;
}
.wedding_mood_editor_workspace .wedding_mood_outline header button {
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  color: inherit;
  font-size: 22px;
}
.wedding_mood_editor_workspace .wedding_mood_outline ol {
  display: grid;
  gap: 5px;
  margin: 0;
  padding: 14px 14px 14px 36px;
}
.wedding_mood_editor_workspace .wedding_mood_outline ol button {
  width: 100%;
  min-height: 44px;
  padding: 8px 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--text_color);
  text-align: left;
}
.wedding_mood_editor_workspace .wedding_mood_inspector {
  z-index: 7;
  min-width: 0;
  min-height: 0;
  height: 100%;
  max-height: 100%;
  align-self: stretch;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-left: 1px solid var(--border_color_lighter);
  background: var(--white_color);
}
.wedding_mood_editor_workspace .wedding_mood_inspector > * {
  min-width: 0;
  min-height: 0;
  max-height: 100%;
}
.wedding_mood_editor_workspace .wedding_mood_inspector > header {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 5px;
  padding: 4px 7px;
  overflow: hidden;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_mood_editor_workspace .wedding_mood_inspector > header > div {
  min-width: 0;
  display: flex;
  overflow-x: auto;
}
.wedding_mood_editor_workspace .wedding_mood_inspector > header button {
  min-height: 42px;
  padding: 0 8px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--text_color_lighter1);
  font: inherit;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.wedding_mood_editor_workspace .wedding_mood_inspector > header button.active, .wedding_mood_editor_workspace .wedding_mood_inspector > header button:hover, .wedding_mood_editor_workspace .wedding_mood_inspector > header button:focus-visible {
  background: var(--main_color_lighter5);
  color: var(--main_color);
  outline: none;
}
.wedding_mood_editor_workspace .wedding_mood_inspector > header > button {
  width: 42px;
  flex: 0 0 42px;
  padding: 0;
  font-size: 19px;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content {
  min-width: 0;
  min-height: 0;
  max-height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content > section {
  display: grid;
  gap: 9px;
  padding: 14px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content > section h3, .wedding_mood_editor_workspace .wedding_mood_inspector_content > section p {
  margin: 0;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content > section h3 {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content > section p {
  color: var(--text_color_lighter1);
  font-size: 11px;
  line-height: 1.5;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content > section label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 10px;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content > section label .form_input {
  width: 100%;
  margin: 0;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content > section label input[type=color] {
  width: 100%;
  min-height: 44px;
  padding: 4px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--bg_color);
}
.wedding_mood_editor_workspace .wedding_mood_status_radios {
  width: 100%;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  box-sizing: border-box;
}
.wedding_mood_editor_workspace .wedding_mood_status_radios legend {
  width: 100%;
  margin-bottom: 6px;
  color: var(--text_color);
  font-size: 11px;
  font-weight: 700;
}
.wedding_mood_editor_workspace .wedding_mood_status_radios label {
  min-width: 0;
  min-height: 48px;
  height: 48px;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 5px;
  padding: 7px 6px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--bg_color);
  color: var(--text_color) !important;
  font-size: 13px !important;
  text-align: left;
  cursor: pointer;
}
.wedding_mood_editor_workspace .wedding_mood_status_radios label:has(input:checked) {
  border-color: var(--main_color);
  background: var(--main_color_lighter5);
}
.wedding_mood_editor_workspace .wedding_mood_status_radios input[type=radio] {
  width: 28px !important;
  min-width: 28px;
  max-width: 28px;
  height: 28px !important;
  min-height: 28px;
  max-height: 28px;
  flex: 0 0 28px;
  aspect-ratio: 1;
  margin: 0;
  padding: 0 !important;
  border-radius: 50% !important;
  box-sizing: border-box;
  accent-color: var(--main_color);
}
.wedding_mood_editor_workspace .wedding_mood_recovery {
  --recovery-main: var(--main_color);
  --recovery-border: color-mix(in srgb, var(--main_color) 28%, var(--border_color));
  --recovery-text: color-mix(in srgb, var(--main_color) 78%, var(--text_color));
  position: relative;
  display: grid;
  gap: 9px;
  margin: 8px 14px 0;
  padding: 12px;
  overflow: hidden;
  border: 1px solid var(--recovery-border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--main_color) 6%, var(--white_color));
  color: var(--text_color);
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_title {
  margin: 0;
  min-height: 26px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: color-mix(in srgb, var(--recovery-main) 90%, var(--text_color));
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_title::before {
  content: "✓";
  width: 16px;
  height: 16px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: color-mix(in srgb, var(--recovery-main) 45%, #000);
  color: #fff;
  font-size: 11px;
  font-weight: 800;
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_status {
  margin: 0;
  color: var(--recovery-text);
  font-size: 10px;
  line-height: 1.35;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_status::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: currentColor;
  display: inline-block;
  flex: 0 0 8px;
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_summary {
  margin: 0;
  color: var(--text_color);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  max-width: 42ch;
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_hint {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 10px;
  line-height: 1.45;
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_actions button {
  width: 100%;
  min-width: 0;
  min-height: 44px;
  justify-content: center;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_actions button.sa_btn_danger {
  border-color: color-mix(in srgb, #a33333 55%, var(--border_color));
  color: #a33333;
  background: color-mix(in srgb, #a33333 5%, var(--white_color));
}
.wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_actions button.manage_add_new_btn {
  border-color: var(--main_color);
  background: var(--main_color);
  color: #fff;
}
.wedding_mood_editor_workspace .wedding_mood_recovery.is_conflict {
  --recovery-main: #a33333;
  --recovery-border: color-mix(in srgb, #a33333 56%, var(--border_color));
  --recovery-text: color-mix(in srgb, #a33333 82%, var(--text_color));
}
.wedding_mood_editor_workspace .wedding_mood_recovery.is_conflict .wedding_mood_recovery_status::before {
  background: #a33333;
}
.wedding_mood_editor_workspace .wedding_mood_recovery p {
  margin: 0;
  line-height: 1.45;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_preview {
  min-height: 120px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  padding: 12px;
  background: var(--bg_color);
  color: var(--text_color);
  white-space: pre-wrap;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_preview img {
  width: 100%;
  max-height: 180px;
  object-fit: contain;
}
.wedding_mood_editor_workspace .wedding_mood_multi_actions, .wedding_mood_editor_workspace .wedding_mood_item_actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}
.wedding_mood_editor_workspace .wedding_mood_multi_actions button, .wedding_mood_editor_workspace .wedding_mood_item_actions button {
  min-height: 42px;
  padding: 6px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--text_color);
  font: inherit;
  font-size: 10px;
  cursor: pointer;
}
.wedding_mood_editor_workspace .wedding_mood_multi_actions button.sa_btn_danger, .wedding_mood_editor_workspace .wedding_mood_item_actions button.sa_btn_danger {
  color: #a33333;
}
.wedding_mood_editor_workspace .wedding_mood_comment_list {
  display: grid;
  gap: 8px;
}
.wedding_mood_editor_workspace .wedding_mood_comment_list article {
  display: grid;
  gap: 6px;
  padding: 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_mood_editor_workspace .wedding_mood_comment_list article header {
  display: flex;
  justify-content: space-between;
  gap: 8px;
}
.wedding_mood_editor_workspace .wedding_mood_comment_list article header strong {
  color: var(--text_color);
  font-size: 10px;
}
.wedding_mood_editor_workspace .wedding_mood_comment_list article header time {
  color: var(--text_color_lighter2);
  font-size: 8px;
}
.wedding_mood_editor_workspace .wedding_mood_comment_list article p {
  color: var(--text_color);
}
.wedding_mood_editor_workspace .wedding_mood_comment_list article button {
  width: fit-content;
  min-height: 36px;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font-size: 9px;
}
.wedding_mood_editor_workspace .wedding_mood_comment_list article.is_resolved {
  opacity: 0.6;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content form {
  display: grid;
  gap: 8px;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content form textarea {
  resize: vertical;
}
.wedding_mood_editor_workspace .wedding_mood_inspector_content form button {
  justify-self: end;
}
.wedding_mood_editor_workspace .wedding_mood_activity_list {
  display: grid;
  gap: 7px;
}
.wedding_mood_editor_workspace .wedding_mood_activity_list article {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 8px;
  padding-bottom: 7px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_mood_editor_workspace .wedding_mood_activity_list article strong {
  color: var(--text_color);
  font-size: 10px;
}
.wedding_mood_editor_workspace .wedding_mood_activity_list article span, .wedding_mood_editor_workspace .wedding_mood_activity_list article time {
  color: var(--text_color_lighter1);
  font-size: 9px;
}
.wedding_mood_editor_workspace .wedding_mood_activity_list article span {
  grid-column: 1;
}
.wedding_mood_editor_workspace .wedding_mood_activity_list article time {
  grid-column: 2;
  grid-row: 1/3;
}
.wedding_mood_editor_workspace .wedding_mood_layers, .wedding_mood_editor_workspace .wedding_mood_history {
  display: grid;
  gap: 6px;
}
.wedding_mood_editor_workspace .wedding_mood_layers article, .wedding_mood_editor_workspace .wedding_mood_history article {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto auto;
  align-items: center;
  gap: 4px;
  padding: 6px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--bg_color);
}
.wedding_mood_editor_workspace .wedding_mood_layers article button, .wedding_mood_editor_workspace .wedding_mood_history article button {
  min-width: 40px;
  min-height: 40px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--text_color);
  font: inherit;
  font-size: 9px;
  cursor: pointer;
}
.wedding_mood_editor_workspace .wedding_mood_layers article .wedding_mood_layer_name, .wedding_mood_editor_workspace .wedding_mood_history article .wedding_mood_layer_name {
  min-width: 0;
  overflow: hidden;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_mood_editor_workspace .wedding_mood_history article {
  grid-template-columns: minmax(0, 1fr) auto;
}
.wedding_mood_editor_workspace .wedding_mood_history article strong {
  color: var(--text_color);
  font-size: 10px;
  line-height: 1.4;
}
.wedding_mood_editor_workspace .wedding_mood_history article button {
  border: 1px solid var(--border_color);
}
.wedding_mood_editor_workspace .wedding_mood_suggestion {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_mood_editor_workspace .wedding_mood_suggestion header, .wedding_mood_editor_workspace .wedding_mood_suggestion footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wedding_mood_editor_workspace .wedding_mood_suggestion header strong {
  color: var(--text_color);
  font-size: 10px;
}
.wedding_mood_editor_workspace .wedding_mood_suggestion header span {
  color: var(--main_color);
  font-size: 9px;
  font-weight: 700;
}
.wedding_mood_editor_workspace .wedding_mood_suggestion img {
  width: 100%;
  max-height: 160px;
  border-radius: 7px;
  object-fit: contain;
}
.wedding_mood_editor_workspace .wedding_mood_suggestion footer button {
  min-height: 38px;
}
.wedding_mood_editor_workspace .wedding_mood_suggestion_color {
  min-height: 70px;
  display: grid;
  place-items: end start;
  padding: 7px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  color: #172b29;
  font-size: 10px;
  font-weight: 700;
}
.wedding_mood_editor_workspace[data-realtime=degraded] .wedding_mood_cursor_layer {
  display: none;
}

.wedding_mood_share_dialog fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
}
.wedding_mood_share_dialog fieldset legend {
  padding: 0 5px;
  font-weight: 700;
}
.wedding_mood_share_dialog fieldset label {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 7px;
}
.wedding_mood_share_dialog > section {
  display: flex;
  align-items: end;
  gap: 8px;
  padding: 14px 20px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_mood_share_dialog > section label {
  flex: 1 1 auto;
}
.wedding_mood_share_dialog > section button {
  min-height: 44px;
}

.wedding_mood_existing_shares {
  display: grid;
  gap: 6px;
  padding: 14px 20px !important;
}
.wedding_mood_existing_shares article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_mood_existing_shares article div {
  display: grid;
  gap: 3px;
}
.wedding_mood_existing_shares article strong {
  color: var(--text_color);
  font-size: 11px;
}
.wedding_mood_existing_shares article small {
  color: var(--text_color_lighter1);
  font-size: 9px;
}
.wedding_mood_existing_shares article button {
  min-height: 38px;
  border: 0;
  background: transparent;
  color: #a33333;
}

.wedding_mood_permission_manager {
  margin: 0 20px 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  color: var(--text_color);
}
.wedding_mood_permission_manager summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_mood_permission_manager > form {
  display: grid;
  gap: 12px;
  padding: 0 12px 12px;
}
.wedding_mood_permission_manager > form > label {
  display: grid;
  gap: 5px;
  font-size: 10px;
}
.wedding_mood_permission_manager > form > p {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 10px;
  line-height: 1.5;
}
.wedding_mood_permission_manager > form > button {
  justify-self: end;
}
.wedding_mood_permission_manager [data-wp-permission-members] {
  display: grid;
  gap: 7px;
}
.wedding_mood_permission_manager [data-wp-permission-members] article {
  display: grid;
  gap: 7px;
  padding: 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px;
}
.wedding_mood_permission_manager [data-wp-permission-members] article header div {
  display: grid;
  gap: 2px;
}
.wedding_mood_permission_manager [data-wp-permission-members] article strong {
  font-size: 11px;
}
.wedding_mood_permission_manager [data-wp-permission-members] article small {
  color: var(--text_color_lighter1);
  font-size: 9px;
  text-transform: capitalize;
}
.wedding_mood_permission_manager [data-wp-permission-members] article > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}
.wedding_mood_permission_manager [data-wp-permission-members] article > div label {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 5px;
  font-size: 9px;
}

.wedding_mood_export_choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.wedding_mood_export_choices button {
  min-height: 64px;
  font-size: 15px;
}

.wedding_public_mood_page {
  max-width: none !important;
  padding: 0 !important;
}

.wedding_public_mood {
  min-height: calc(100dvh - 80px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  grid-template-rows: auto minmax(640px, 1fr);
  background: var(--bg_color_darker1);
  color: var(--text_color);
  font-family: "Inter", sans-serif;
}
.wedding_public_mood > header {
  grid-column: 1/-1;
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--border_color_lighter);
  background: var(--white_color);
}
.wedding_public_mood > header > div:first-child {
  display: grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 2px 12px;
}
.wedding_public_mood > header > div:first-child p {
  grid-column: 1/-1;
  margin: 0;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}
.wedding_public_mood > header > div:first-child h1 {
  margin: 0;
  color: var(--text_color);
  font-size: 22px;
}
.wedding_public_mood > header > div:first-child span {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_public_mood > header > div:last-child {
  display: flex;
  gap: 8px;
}
.wedding_public_mood .wedding_public_mood_canvas {
  position: relative;
  min-width: 0;
  min-height: 640px;
  overflow: hidden;
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas {
  position: absolute;
  inset: 0;
  overflow: hidden;
  touch-action: none;
  background-color: var(--bg_color_darker1);
  background-image: radial-gradient(circle, var(--border_color) 1px, transparent 1.2px);
  background-size: 20px 20px;
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_camera {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  transform-origin: 0 0;
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_item_layer, .wedding_public_mood .wedding_public_mood_canvas .wedding_mood_connectors {
  position: absolute;
  inset: 0;
  width: 1px;
  height: 1px;
  overflow: visible;
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas_item {
  position: absolute;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  overflow: visible;
  border: 1px solid var(--mood-border, #c9d5d3);
  border-radius: 8px;
  background: var(--mood-bg, #fff);
  color: var(--mood-color, #243230);
  opacity: var(--mood-opacity, 1);
  transform-origin: center;
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas_item .wedding_mood_item_content {
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  overflow: hidden;
  padding: 14px;
  color: inherit;
  font-size: var(--mood-font-size, 18px);
  line-height: 1.45;
  white-space: pre-wrap;
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas_item img {
  width: 100%;
  height: 100%;
  border-radius: 7px;
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas_item h3 {
  position: absolute;
  top: -32px;
  margin: 0;
  color: var(--text_color);
  font-size: 13px;
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas_item.is_frame {
  border-style: dashed;
  background: color-mix(in srgb, var(--mood-bg) 18%, transparent);
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas_item.is_frame .wedding_mood_item_content {
  display: none;
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas_controls {
  position: absolute;
  z-index: 4;
  right: 18px;
  bottom: 18px;
  display: flex;
  overflow: hidden;
  border: 1px solid var(--border_color);
  border-radius: 9px;
  background: var(--white_color);
}
.wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas_controls button, .wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas_controls output {
  min-width: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  border: 0;
  border-right: 1px solid var(--border_color_lighter);
  background: transparent;
  color: var(--text_color);
}
.wedding_public_mood .wedding_public_mood_comments {
  min-width: 0;
  padding: 16px;
  overflow-y: auto;
  border-left: 1px solid var(--border_color_lighter);
  background: var(--white_color);
}
.wedding_public_mood .wedding_public_mood_comments h2 {
  margin: 0 0 12px;
  color: var(--text_color);
  font-size: 15px;
}
.wedding_public_mood .wedding_public_mood_comments > div {
  display: grid;
  gap: 8px;
}
.wedding_public_mood .wedding_public_mood_comments > div article {
  display: grid;
  gap: 5px;
  padding: 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_public_mood .wedding_public_mood_comments > div article strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_public_mood .wedding_public_mood_comments > div article p {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.5;
}

.wedding_invitation_builder {
  width: 100%;
  min-width: 0;
  height: calc(100dvh - 79px);
  min-height: 720px;
  display: grid;
  grid-template-rows: 64px minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
  color: var(--text_color);
  font-family: "Inter", sans-serif;
}
.wedding_invitation_builder button, .wedding_invitation_builder input, .wedding_invitation_builder select {
  font: inherit;
}
.wedding_invitation_builder button {
  cursor: pointer;
}
.wedding_invitation_builder button:focus-visible, .wedding_invitation_builder input:focus-visible, .wedding_invitation_builder select:focus-visible {
  outline: 2px solid var(--main_color);
  outline-offset: 1px;
}
.wedding_invitation_builder .wedding_invitation_builder_topbar {
  min-width: 0;
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 7px 12px;
  border-bottom: 1px solid var(--border_color_lighter);
  background: var(--white_color);
}
.wedding_invitation_builder .wedding_invitation_builder_identity, .wedding_invitation_builder .wedding_invitation_builder_actions {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.wedding_invitation_builder .wedding_invitation_builder_identity {
  flex: 1 1 auto;
  overflow: hidden;
}
.wedding_invitation_builder .wedding_invitation_builder_identity .wedding_back {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  color: var(--main_color);
  font-size: 11px;
  font-weight: 800;
}
.wedding_invitation_builder .wedding_invitation_builder_identity input {
  width: min(230px, 20vw);
  min-height: 40px;
  padding: 0 7px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--text_color);
  font-size: 18px;
  font-weight: 800;
}
.wedding_invitation_builder .wedding_invitation_builder_identity input:hover, .wedding_invitation_builder .wedding_invitation_builder_identity input:focus {
  border-color: var(--border_color);
  background: var(--bg_color);
}
.wedding_invitation_builder .wedding_invitation_builder_identity select {
  min-height: 36px;
  padding: 0 28px 0 10px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--bg_color);
  color: var(--text_color);
}
.wedding_invitation_builder .wedding_invitation_builder_identity .wedding_new_version {
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--main_color);
}
.wedding_invitation_builder .wedding_invitation_builder_identity .wedding_new_version svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}
.wedding_invitation_builder .wedding_invitation_status {
  min-height: 28px;
  gap: 5px;
  padding-inline: 9px;
}
.wedding_invitation_builder .wedding_invitation_status svg {
  width: 14px;
  height: 14px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder .wedding_invitation_autosave {
  min-width: 0;
  overflow: hidden;
  color: var(--text_color_lighter1);
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invitation_builder .wedding_invitation_autosave.is_saving {
  color: #b66a00;
}
.wedding_invitation_builder .wedding_invitation_autosave.is_conflict {
  color: #aa3232;
}
.wedding_invitation_builder .wedding_invitation_autosave.is_saved {
  color: #2e8b57;
}
.wedding_invitation_builder .wedding_invitation_builder_actions {
  flex: 0 0 auto;
}
.wedding_invitation_builder .wedding_invitation_builder_actions > button {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 0 11px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--text_color);
  font-size: 10px;
  font-weight: 750;
  white-space: nowrap;
}
.wedding_invitation_builder .wedding_invitation_builder_actions > button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder .wedding_invitation_builder_actions > button:hover, .wedding_invitation_builder .wedding_invitation_builder_actions > button:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
}
.wedding_invitation_builder .wedding_invitation_builder_actions > button.manage_add_new_btn {
  border-color: var(--main_color);
  background: var(--main_color);
  color: #fff;
}
.wedding_invitation_builder .wedding_invitation_builder_actions [data-invitation-export] svg {
  fill: #fff;
  stroke: none;
}
.wedding_invitation_builder .wedding_invitation_builder_actions [data-invitation-export] svg path {
  fill: #fff;
}
.wedding_invitation_builder .wedding_invitation_collaborators {
  display: flex;
  align-items: center;
  padding-right: 7px;
  border-right: 1px solid var(--border_color_lighter);
}
.wedding_invitation_builder .wedding_invitation_collaborators span, .wedding_invitation_builder .wedding_invitation_collaborators b {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  margin-left: -6px;
  overflow: hidden;
  border: 2px solid var(--white_color);
  border-radius: 50%;
  background: var(--main_color_lighter4);
  color: var(--main_color);
  font-size: 9px;
  font-weight: 800;
}
.wedding_invitation_builder .wedding_invitation_collaborators span:first-child, .wedding_invitation_builder .wedding_invitation_collaborators b:first-child {
  margin-left: 0;
}
.wedding_invitation_builder .wedding_invitation_collaborators span img, .wedding_invitation_builder .wedding_invitation_collaborators b img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wedding_invitation_builder .wedding_invitation_builder_body {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: grid;
  grid-template-columns: 240px 72px minmax(430px, 1fr) 340px;
  overflow: hidden;
}
.wedding_invitation_builder .wedding_invitation_toolrail {
  min-width: 0;
  min-height: 0;
  grid-column: 2;
  grid-row: 1;
  display: grid;
  align-content: start;
  gap: 3px;
  padding: 8px 7px;
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-width: none;
  border-right: 1px solid var(--border_color_lighter);
  background: var(--white_color);
}
.wedding_invitation_builder .wedding_invitation_toolrail::-webkit-scrollbar {
  display: none;
}
.wedding_invitation_builder .wedding_invitation_toolrail button {
  min-height: 54px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  padding: 5px 3px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: transparent;
  color: var(--text_color_lighter1);
  font-size: 9px;
  font-weight: 750;
  line-height: 1.15;
}
.wedding_invitation_builder .wedding_invitation_toolrail button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder .wedding_invitation_toolrail button span {
  line-height: 1.15;
}
.wedding_invitation_builder .wedding_invitation_toolrail button:hover, .wedding_invitation_builder .wedding_invitation_toolrail button:focus-visible, .wedding_invitation_builder .wedding_invitation_toolrail button.active {
  border-color: var(--main_color_lighter4);
  background: var(--main_color_lighter5);
  color: var(--main_color);
}
.wedding_invitation_builder .wedding_invitation_tool_popover {
  position: absolute;
  z-index: 55;
  top: 8px;
  left: 320px;
  width: min(310px, 100% - 340px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 8px;
  border: 1px solid var(--border_color);
  border-radius: 10px;
  background: var(--white_color);
}
.wedding_invitation_builder .wedding_invitation_tool_popover[hidden] {
  display: none;
}
.wedding_invitation_builder .wedding_invitation_tool_popover button {
  min-width: 0;
  min-height: 54px;
  display: grid;
  place-items: center;
  gap: 4px;
  padding: 7px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--bg_color);
  color: var(--text_color);
  font: inherit;
  font-size: 9px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_invitation_builder .wedding_invitation_tool_popover button span:first-child {
  font-size: 20px;
  line-height: 1;
}
.wedding_invitation_builder .wedding_invitation_tool_popover button:hover, .wedding_invitation_builder .wedding_invitation_tool_popover button:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
}
.wedding_invitation_builder .wedding_invitation_context_panel {
  min-width: 0;
  min-height: 0;
  grid-column: 1;
  grid-row: 1;
  display: grid;
  align-content: start;
  overflow-y: auto;
  scrollbar-width: none;
  border-right: 1px solid var(--border_color_lighter);
  background: var(--white_color);
}
.wedding_invitation_builder .wedding_invitation_context_panel::-webkit-scrollbar {
  display: none;
}
.wedding_invitation_builder .wedding_invitation_context_panel > section {
  display: grid;
  gap: 10px;
  padding: 13px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_invitation_builder .wedding_invitation_context_panel > section[hidden] {
  display: none;
}
.wedding_invitation_builder .wedding_invitation_context_panel > section > h2, .wedding_invitation_builder .wedding_invitation_context_panel > section > h3 {
  margin: 0;
  color: var(--text_color);
  font-size: 11px;
}
.wedding_invitation_builder .wedding_invitation_context_panel > section > h3 {
  margin-top: 2px;
  font-size: 9px;
}
.wedding_invitation_builder .wedding_invitation_context_panel > section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wedding_invitation_builder .wedding_invitation_context_panel > section > header h2 {
  margin: 0;
  font-size: 11px;
}
.wedding_invitation_builder .wedding_invitation_context_panel > section > header button {
  min-height: 36px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font-size: 9px;
  font-weight: 800;
}
.wedding_invitation_builder .wedding_invitation_presets {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
}
.wedding_invitation_builder .wedding_invitation_presets button {
  min-width: 0;
  min-height: 64px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 5px;
  padding: 5px 2px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--text_color_lighter1);
  font-size: 8px;
  font-weight: 700;
}
.wedding_invitation_builder .wedding_invitation_presets button svg {
  width: 23px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder .wedding_invitation_presets button span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invitation_builder .wedding_invitation_presets button.active, .wedding_invitation_builder .wedding_invitation_presets button:hover, .wedding_invitation_builder .wedding_invitation_presets button:focus-visible {
  border-color: #2f7df6;
  background: color-mix(in srgb, #2f7df6 7%, var(--white_color));
  color: #2f7df6;
}
.wedding_invitation_builder .wedding_invitation_dimensions {
  display: grid;
  grid-template-columns: 1fr 1fr 34px;
  gap: 5px;
}
.wedding_invitation_builder .wedding_invitation_dimensions label {
  min-width: 0;
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 7px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  color: var(--text_color_lighter1);
  font-size: 9px;
}
.wedding_invitation_builder .wedding_invitation_dimensions label input {
  min-width: 0;
  width: 100%;
  border: 0;
  background: transparent;
  color: var(--text_color);
}
.wedding_invitation_builder .wedding_invitation_dimensions button {
  display: grid;
  place-items: center;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--main_color);
}
.wedding_invitation_builder .wedding_invitation_dimensions button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder .wedding_invitation_bleed {
  min-height: 36px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 7px;
  font-size: 9px;
}
.wedding_invitation_builder .wedding_invitation_bleed select {
  min-height: 32px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--bg_color);
  color: inherit;
}
.wedding_invitation_builder .wedding_invitation_template_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.wedding_invitation_builder .wedding_invitation_template_grid > button {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
}
.wedding_invitation_builder .wedding_invitation_template_grid > button small {
  overflow: hidden;
  color: var(--text_color_lighter1);
  font-size: 8px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invitation_builder .wedding_invitation_asset_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.wedding_invitation_builder .wedding_invitation_asset_grid > button {
  min-width: 0;
  display: grid;
  gap: 5px;
  padding: 5px;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--text_color);
  text-align: left;
}
.wedding_invitation_builder .wedding_invitation_asset_grid > button:hover, .wedding_invitation_builder .wedding_invitation_asset_grid > button:focus-visible {
  border-color: var(--main_color);
}
.wedding_invitation_builder .wedding_invitation_asset_grid > button img, .wedding_invitation_builder .wedding_invitation_asset_grid > button .wedding_asset_preview {
  width: 100%;
  aspect-ratio: 4/3;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: var(--bg_color);
  object-fit: cover;
}
.wedding_invitation_builder .wedding_invitation_asset_grid > button .wedding_asset_preview {
  overflow: hidden;
  color: var(--asset-color, var(--main_color));
  font: 700 24px Georgia, serif;
}
.wedding_invitation_builder .wedding_invitation_asset_grid > button .wedding_asset_preview img {
  height: 100%;
  object-fit: contain;
}
.wedding_invitation_builder .wedding_invitation_asset_grid > button .wedding_asset_preview.is_background {
  background: var(--asset-color, var(--main_color_lighter3));
}
.wedding_invitation_builder .wedding_invitation_asset_grid > button .wedding_asset_preview.is_frame, .wedding_invitation_builder .wedding_invitation_asset_grid > button .wedding_asset_preview.is_couple_frame {
  border: 3px double var(--asset-color, var(--main_color_lighter2));
  background: transparent;
}
.wedding_invitation_builder .wedding_invitation_asset_grid > button .wedding_asset_preview.is_font {
  font-size: 20px;
  font-style: italic;
}
.wedding_invitation_builder .wedding_invitation_asset_grid > button > span:last-child {
  overflow: hidden;
  padding-inline: 2px;
  font-size: 9px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invitation_builder .wedding_template_mini, .wedding_invitation_builder .wedding_template_large {
  position: relative;
  overflow: hidden;
  border: 1px solid #dccfbf;
  border-radius: 7px;
  background: #faf7f3;
}
.wedding_invitation_builder .wedding_template_mini svg, .wedding_invitation_builder .wedding_template_large svg {
  width: 100%;
  height: 100%;
  display: block;
}
.wedding_invitation_builder .wedding_template_mini {
  width: 100%;
  aspect-ratio: 7/5;
}
.wedding_invitation_builder .wedding_invitation_blank {
  width: 100%;
  font-size: 9px;
}
.wedding_invitation_builder .wedding_invitation_canvas_shell {
  position: relative;
  min-width: 0;
  min-height: 0;
  grid-column: 3;
  grid-row: 1;
  overflow: hidden;
  background-color: #fbfcfd;
  background-image: radial-gradient(circle, color-mix(in srgb, var(--border_color) 65%, transparent) 0.8px, transparent 1px);
  background-size: 16px 16px;
}
.wedding_invitation_builder .wedding_invitation_canvas_toolbar, .wedding_invitation_builder .wedding_invitation_zoom {
  position: absolute;
  z-index: 20;
  left: var(--invitation-controls-center, 50%);
  min-height: 38px;
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
  box-shadow: 0 6px 18px rgba(23, 60, 58, 0.12);
  transform: translateX(-50%);
}
.wedding_invitation_builder .wedding_invitation_canvas_toolbar button, .wedding_invitation_builder .wedding_invitation_canvas_toolbar output, .wedding_invitation_builder .wedding_invitation_zoom button, .wedding_invitation_builder .wedding_invitation_zoom output {
  min-width: 38px;
  min-height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  border-right: 1px solid var(--border_color_lighter);
  background: transparent;
  color: var(--text_color_lighter1);
}
.wedding_invitation_builder .wedding_invitation_canvas_toolbar button:hover, .wedding_invitation_builder .wedding_invitation_canvas_toolbar button:focus-visible, .wedding_invitation_builder .wedding_invitation_canvas_toolbar button.active, .wedding_invitation_builder .wedding_invitation_canvas_toolbar output:hover, .wedding_invitation_builder .wedding_invitation_canvas_toolbar output:focus-visible, .wedding_invitation_builder .wedding_invitation_canvas_toolbar output.active, .wedding_invitation_builder .wedding_invitation_zoom button:hover, .wedding_invitation_builder .wedding_invitation_zoom button:focus-visible, .wedding_invitation_builder .wedding_invitation_zoom button.active, .wedding_invitation_builder .wedding_invitation_zoom output:hover, .wedding_invitation_builder .wedding_invitation_zoom output:focus-visible, .wedding_invitation_builder .wedding_invitation_zoom output.active {
  background: var(--main_color_lighter5);
  color: var(--main_color);
}
.wedding_invitation_builder .wedding_invitation_canvas_toolbar button[hidden], .wedding_invitation_builder .wedding_invitation_canvas_toolbar output[hidden], .wedding_invitation_builder .wedding_invitation_zoom button[hidden], .wedding_invitation_builder .wedding_invitation_zoom output[hidden] {
  display: none;
}
.wedding_invitation_builder .wedding_invitation_canvas_toolbar output[data-invitation-toolbar-mode], .wedding_invitation_builder .wedding_invitation_zoom output[data-invitation-toolbar-mode] {
  min-width: 66px;
  padding-inline: 10px;
  font-size: 9px;
  font-weight: 750;
  white-space: nowrap;
}
.wedding_invitation_builder .wedding_invitation_canvas_toolbar button[data-invitation-image-fit], .wedding_invitation_builder .wedding_invitation_zoom button[data-invitation-image-fit] {
  min-width: auto;
  padding-inline: 10px;
  font-size: 9px;
  font-weight: 750;
}
.wedding_invitation_builder .wedding_invitation_canvas_toolbar svg, .wedding_invitation_builder .wedding_invitation_zoom svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder .wedding_invitation_canvas_toolbar i, .wedding_invitation_builder .wedding_invitation_zoom i {
  width: 1px;
  height: 22px;
  background: var(--border_color);
}
.wedding_invitation_builder .wedding_invitation_canvas_toolbar {
  top: 10px;
}
.wedding_invitation_builder .wedding_invitation_zoom {
  bottom: 14px;
}
.wedding_invitation_builder .wedding_invitation_zoom output {
  min-width: 54px;
  font-size: 10px;
}
.wedding_invitation_builder .wedding_invitation_stage {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 22px;
  overflow: auto;
  padding: 64px 18px 76px;
  touch-action: none;
}
.wedding_invitation_builder .wedding_invitation_artboard {
  position: relative;
  width: min(52vw, 560px);
  aspect-ratio: var(--artboard-ratio, 5/7);
  flex: 0 0 auto;
  border: 1px solid #2f7df6;
  background: #faf7f3;
  transform: scale(var(--invitation-zoom, 0.75));
  transform-origin: top center;
}
.wedding_invitation_builder .wedding_invitation_artboard > [data-invitation-item-layer], .wedding_invitation_builder .wedding_invitation_artboard > [data-invitation-selection-layer] {
  position: absolute;
  inset: 0;
}
.wedding_invitation_builder .wedding_invitation_artboard > [data-invitation-selection-layer] {
  z-index: 10001;
  pointer-events: none;
}
.wedding_invitation_builder .wedding_invitation_marquee {
  position: absolute;
  border: 1px solid #2f7df6;
  background: color-mix(in srgb, #2f7df6 10%, transparent);
}
.wedding_invitation_builder .wedding_invitation_item {
  position: absolute;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: visible;
  padding: 2px;
  line-height: 1.2;
  white-space: pre-wrap;
  user-select: none;
  cursor: move;
  transform-origin: center;
}
.wedding_invitation_builder .wedding_invitation_item img, .wedding_invitation_builder .wedding_invitation_item iframe {
  width: 100%;
  height: 100%;
  display: block;
  border: 0;
  border-radius: inherit;
  image-rendering: auto;
  pointer-events: none;
}
.wedding_invitation_builder .wedding_invitation_item.is_selected {
  outline: 2px solid #2f7df6;
  outline-offset: 1px;
}
.wedding_invitation_builder .wedding_invitation_item.is_locked {
  cursor: not-allowed;
}
.wedding_invitation_builder .wedding_invitation_item > i[data-resize] {
  position: absolute;
  width: 12px;
  height: 12px;
  border: 2px solid #2f7df6;
  border-radius: 50%;
  background: #fff;
}
.wedding_invitation_builder .wedding_invitation_item > i[data-resize][data-resize=nw] {
  top: -7px;
  left: -7px;
}
.wedding_invitation_builder .wedding_invitation_item > i[data-resize][data-resize=ne] {
  top: -7px;
  right: -7px;
}
.wedding_invitation_builder .wedding_invitation_item > i[data-resize][data-resize=sw] {
  bottom: -7px;
  left: -7px;
}
.wedding_invitation_builder .wedding_invitation_item > i[data-resize][data-resize=se] {
  right: -7px;
  bottom: -7px;
}
.wedding_invitation_builder .wedding_invitation_item.is_qr {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 3px;
  padding: 8%;
  background: #fff !important;
  border: 2px solid #173c3a !important;
}
.wedding_invitation_builder .wedding_invitation_item.is_qr span {
  border: 3px solid #173c3a;
}
.wedding_invitation_builder .wedding_invitation_item.is_qr b {
  grid-column: 2/4;
  grid-row: 2/4;
  place-self: center;
  color: #173c3a;
  font: 800 12px Arial;
}
.wedding_invitation_builder .wedding_invitation_artboards {
  width: 126px;
  display: grid;
  align-content: start;
  gap: 14px;
  flex: 0 0 126px;
}
.wedding_invitation_builder .wedding_invitation_artboards > div {
  position: relative;
  min-height: 154px;
  padding: 5px;
  border: 1px solid transparent;
  border-radius: 8px;
}
.wedding_invitation_builder .wedding_invitation_artboards > div.active {
  border-color: #2f7df6;
  background: color-mix(in srgb, #2f7df6 8%, var(--white_color));
}
.wedding_invitation_builder .wedding_invitation_artboards > div > button {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text_color);
}
.wedding_invitation_builder .wedding_invitation_artboards > div > button:first-child {
  width: 100%;
  display: grid;
  gap: 6px;
}
.wedding_invitation_builder .wedding_invitation_artboards > div > button:last-child {
  position: absolute;
  z-index: 2;
  top: 8px;
  right: 8px;
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px;
  background: var(--white_color);
  font-size: 14px;
}
.wedding_invitation_builder .wedding_invitation_artboards > div > button > span {
  width: 100%;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--border_color);
  border-radius: 5px;
  background: #faf7f3;
}
.wedding_invitation_builder .wedding_invitation_artboards > div > button > span i {
  width: 35%;
  height: 35%;
  border: 1px solid #b89b6a;
}
.wedding_invitation_builder .wedding_invitation_artboards > div > button strong {
  overflow: hidden;
  padding-inline: 3px;
  font-size: 9px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invitation_builder .wedding_invitation_artboards .wedding_add_artboard {
  min-height: 76px;
  padding: 8px;
  border: 1px dashed var(--main_color);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--main_color);
  font-size: 9px;
  font-weight: 800;
}
.wedding_invitation_builder .wedding_invitation_starter {
  position: absolute;
  z-index: 25;
  inset: 0;
  padding: 34px;
  overflow-y: auto;
  background: var(--bg_color);
}
.wedding_invitation_builder .wedding_invitation_starter > header {
  max-width: 680px;
  display: grid;
  justify-items: center;
  gap: 7px;
  margin: 0 auto 24px;
  text-align: center;
}
.wedding_invitation_builder .wedding_invitation_starter > header h1, .wedding_invitation_builder .wedding_invitation_starter > header p {
  margin: 0;
}
.wedding_invitation_builder .wedding_invitation_starter > header h1 {
  font-size: 25px;
}
.wedding_invitation_builder .wedding_invitation_starter > header p {
  color: var(--text_color_lighter1);
  line-height: 1.5;
}
.wedding_invitation_builder .wedding_invitation_starter > div {
  max-width: 900px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin: auto;
}
.wedding_invitation_builder .wedding_invitation_starter > div > button {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 9px;
  border: 1px solid var(--border_color);
  border-radius: 10px;
  background: var(--white_color);
  color: var(--text_color);
  text-align: left;
}
.wedding_invitation_builder .wedding_invitation_starter > div > button:hover, .wedding_invitation_builder .wedding_invitation_starter > div > button:focus-visible {
  border-color: var(--main_color);
}
.wedding_invitation_builder .wedding_invitation_starter > div > button strong, .wedding_invitation_builder .wedding_invitation_starter > div > button small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_invitation_builder .wedding_invitation_starter > div > button small {
  color: var(--text_color_lighter1);
  font-size: 8px;
}
.wedding_invitation_builder .wedding_invitation_starter > div > button.is_blank span {
  min-height: 160px;
  display: grid;
  place-items: center;
  border: 1px dashed var(--main_color);
  border-radius: 7px;
  color: var(--main_color);
  font-size: 36px;
}
.wedding_invitation_builder .wedding_invitation_starter .wedding_template_large {
  width: 100%;
  aspect-ratio: 7/5;
}
.wedding_invitation_builder .wedding_invitation_inspector {
  min-width: 0;
  min-height: 0;
  grid-column: 4;
  grid-row: 1;
  overflow-y: auto;
  scrollbar-width: none;
  background: var(--white_color);
}
.wedding_invitation_builder .wedding_invitation_inspector::-webkit-scrollbar {
  display: none;
}
.wedding_invitation_builder .wedding_invitation_inspector > details, .wedding_invitation_builder .wedding_invitation_inspector > section {
  display: grid;
  gap: 8px;
  padding: 11px 13px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_invitation_builder .wedding_invitation_inspector > section[hidden] {
  display: none;
}
.wedding_invitation_builder .wedding_invitation_inspector details summary, .wedding_invitation_builder .wedding_invitation_inspector h2 {
  color: var(--text_color);
  font-size: 11px;
  font-weight: 800;
}
.wedding_invitation_builder .wedding_invitation_inspector details summary {
  min-height: 32px;
  display: flex;
  align-items: center;
  cursor: pointer;
}
.wedding_invitation_builder .wedding_invitation_inspector h2 {
  margin: 0;
}
.wedding_invitation_builder .wedding_invitation_inspector > section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wedding_invitation_builder .wedding_invitation_inspector > section > header button {
  min-height: 32px;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font-size: 9px;
  font-weight: 750;
}
.wedding_invitation_builder .wedding_invitation_inspector label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 9px;
  font-weight: 650;
}
.wedding_invitation_builder .wedding_invitation_inspector label input, .wedding_invitation_builder .wedding_invitation_inspector label select {
  width: 100%;
  min-height: 34px;
  padding: 0 8px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--text_color);
  font-weight: 500;
}
.wedding_invitation_builder .wedding_inspector_approval > header button {
  padding: 0 5px;
}
.wedding_invitation_builder .wedding_inspector_approval .wedding_inspector_approval_state {
  min-height: 40px;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--bg_color);
}
.wedding_invitation_builder .wedding_inspector_approval .wedding_inspector_approval_state > span {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: color-mix(in srgb, #b66a00 12%, var(--white_color));
  color: #9a5c00;
}
.wedding_invitation_builder .wedding_inspector_approval .wedding_inspector_approval_state > span svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder .wedding_inspector_approval .wedding_inspector_approval_state > div {
  min-width: 0;
  display: grid;
}
.wedding_invitation_builder .wedding_inspector_approval .wedding_inspector_approval_state > div small {
  color: var(--text_color_lighter1);
  font-size: 8px;
  font-weight: 700;
  text-transform: uppercase;
}
.wedding_invitation_builder .wedding_inspector_approval .wedding_inspector_approval_state > div strong {
  color: #9a5c00;
  font-size: 11px;
}
.wedding_invitation_builder .wedding_inspector_approval.is_approved .wedding_inspector_approval_state {
  border-color: color-mix(in srgb, #28743a 30%, var(--border_color_lighter));
}
.wedding_invitation_builder .wedding_inspector_approval.is_approved .wedding_inspector_approval_state > span {
  background: color-mix(in srgb, #28743a 12%, var(--white_color));
  color: #28743a;
}
.wedding_invitation_builder .wedding_inspector_approval.is_approved .wedding_inspector_approval_state strong {
  color: #28743a;
}
.wedding_invitation_builder .wedding_inspector_dimensions {
  display: grid;
  grid-template-columns: 1.3fr 1fr 0.8fr;
  gap: 6px;
}
.wedding_invitation_builder .wedding_inspector_dimensions output {
  font-size: 9px;
}
.wedding_invitation_builder .wedding_inspector_type_row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.wedding_invitation_builder .wedding_inspector_align, .wedding_invitation_builder .wedding_inspector_exports {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}
.wedding_invitation_builder .wedding_inspector_align button, .wedding_invitation_builder .wedding_inspector_exports button {
  min-height: 34px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--text_color);
}
.wedding_invitation_builder .wedding_inspector_align button svg, .wedding_invitation_builder .wedding_inspector_exports button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder .wedding_inspector_exports {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.wedding_invitation_builder .wedding_inspector_exports button {
  padding-inline: 4px;
  font-size: 8px;
}
.wedding_invitation_builder .wedding_inspector_palette {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.wedding_invitation_builder .wedding_inspector_palette button {
  width: 34px;
  height: 34px;
  border: 3px solid var(--white_color);
  border-radius: 7px;
  outline: 1px solid var(--border_color);
}
.wedding_invitation_builder .wedding_inspector_layers {
  display: grid;
  max-height: 230px;
  overflow-y: auto;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--white_color);
}
.wedding_invitation_builder .wedding_inspector_layers > article {
  min-width: 0;
  min-height: 44px;
  display: grid;
  grid-template-columns: 13px 22px minmax(0, 1fr) auto 36px;
  align-items: center;
  gap: 6px;
  padding: 4px 4px 4px 8px;
  border-bottom: 1px solid var(--border_color_lighter);
  background: var(--white_color);
  color: var(--text_color);
  cursor: pointer;
}
.wedding_invitation_builder .wedding_inspector_layers > article:last-child {
  border-bottom: 0;
}
.wedding_invitation_builder .wedding_inspector_layers > article.active {
  background: var(--main_color_lighter5);
}
.wedding_invitation_builder .wedding_inspector_layers > article.is_dragging {
  opacity: 0.55;
}
.wedding_invitation_builder .wedding_inspector_layers > article.is_hidden .wedding_layer_icon, .wedding_invitation_builder .wedding_inspector_layers > article.is_hidden .wedding_layer_name, .wedding_invitation_builder .wedding_inspector_layers > article.is_hidden .wedding_layer_type {
  opacity: 0.5;
}
.wedding_invitation_builder .wedding_layer_drag {
  width: 12px;
  height: 22px;
  background-image: radial-gradient(circle, var(--text_color_lighter2) 1.2px, transparent 1.3px);
  background-position: center;
  background-size: 5px 5px;
  cursor: grab;
}
.wedding_invitation_builder .wedding_layer_icon {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  color: var(--text_color_lighter1);
}
.wedding_invitation_builder .wedding_layer_icon svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder .wedding_layer_name {
  min-width: 0;
  width: 100%;
  height: 34px;
  padding: 0 4px;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: 6px;
  background: transparent;
  color: var(--text_color);
  font: inherit;
  font-size: 10px;
  font-weight: 750;
  text-overflow: ellipsis;
}
.wedding_invitation_builder .wedding_layer_name:hover, .wedding_invitation_builder .wedding_layer_name:focus {
  border-color: var(--border_color);
  background: var(--white_color);
  outline: 0;
}
.wedding_invitation_builder .wedding_layer_type {
  color: var(--text_color_lighter1);
  font-size: 8px;
  font-weight: 650;
  white-space: nowrap;
}
.wedding_invitation_builder .wedding_layer_visibility {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--text_color_lighter1);
}
.wedding_invitation_builder .wedding_layer_visibility:hover, .wedding_invitation_builder .wedding_layer_visibility:focus-visible {
  background: var(--main_color_lighter5);
  color: var(--main_color);
}
.wedding_invitation_builder .wedding_layer_visibility svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_invitation_builder [data-inspector-comments] {
  display: grid;
  gap: 5px;
  max-height: 145px;
  overflow-y: auto;
}
.wedding_invitation_builder [data-inspector-comments] > article {
  min-width: 0;
  min-height: 34px;
  padding: 7px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--text_color);
}
.wedding_invitation_builder [data-invitation-comment-form] {
  display: grid;
  grid-template-columns: 1fr 36px;
  gap: 5px;
}
.wedding_invitation_builder [data-invitation-comment-form] input {
  min-width: 0;
  min-height: 36px;
  padding: 0 8px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--text_color);
}
.wedding_invitation_builder [data-invitation-comment-form] button {
  min-height: 36px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 7px;
  background: var(--main_color);
  color: #fff;
}
.wedding_invitation_builder [data-invitation-comment-form] button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.wedding_invitation_export_dialog, .wedding_invitation_library_dialog {
  width: min(960px, 100vw - 28px);
}
.wedding_invitation_export_dialog .wedding_download_choices, .wedding_invitation_library_dialog .wedding_download_choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 18px;
}
.wedding_invitation_export_dialog .wedding_download_choices button, .wedding_invitation_library_dialog .wedding_download_choices button {
  min-height: 100px;
  display: grid;
  align-content: center;
  gap: 5px;
  padding: 15px;
  border: 1px solid var(--border_color);
  border-radius: 9px;
  background: var(--bg_color);
  color: var(--text_color);
  text-align: left;
}
.wedding_invitation_export_dialog [data-library-picker-results], .wedding_invitation_library_dialog [data-library-picker-results] {
  max-height: 72vh;
  padding: 14px;
  overflow-y: auto;
}

.wedding_library_manage, .wedding_public_library {
  min-width: 0;
  display: grid;
  gap: 15px;
}

.wedding_library_hero, .wedding_public_library > header {
  min-height: 138px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 13px;
  background: linear-gradient(120deg, var(--main_color_lighter5), var(--white_color));
}
.wedding_library_hero p, .wedding_library_hero h1, .wedding_library_hero span, .wedding_public_library > header p, .wedding_public_library > header h1, .wedding_public_library > header span {
  margin: 0;
}
.wedding_library_hero p, .wedding_public_library > header p {
  color: var(--main_color);
  font-size: 13px;
  font-weight: 850;
  text-transform: uppercase;
}
.wedding_library_hero h1, .wedding_public_library > header h1 {
  color: var(--text_color);
  font-size: clamp(22px, 3vw, 34px);
}
.wedding_library_hero span, .wedding_public_library > header span {
  color: var(--text_color_lighter1);
  line-height: 1.55;
}
.wedding_library_hero > div:first-child, .wedding_public_library > header > div:first-child {
  max-width: 760px;
  display: grid;
  gap: 6px;
}
.wedding_library_hero > div:last-child, .wedding_public_library > header > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.wedding_library_hero > div:last-child a, .wedding_library_hero > div:last-child button, .wedding_public_library > header > div:last-child a, .wedding_public_library > header > div:last-child button {
  min-height: 44px;
}

.wedding_library_hero {
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.9) 48%, rgba(255, 255, 255, 0.18) 82%), url("wedding-library-hero.webp");
  background-position: center;
  background-size: cover;
}
.wedding_library_hero h1 {
  font-size: clamp(20px, 2.5vw, 30px);
}

.wedding_library_filters {
  display: grid;
  grid-template-columns: minmax(240px, 1.6fr) repeat(3, minmax(120px, 1fr)) auto;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_library_filters.is_asset {
  grid-template-columns: minmax(230px, 1.5fr) repeat(4, minmax(110px, 1fr)) auto;
}
.wedding_library_filters select, .wedding_library_filters input {
  min-width: 0;
  min-height: 44px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--bg_color);
  color: var(--text_color);
}
.wedding_library_filters select {
  padding: 0 30px 0 9px;
}

.wedding_library_filters.wedding_operations_filters .form_input {
  margin: 0;
}

.wedding_organizer_filters {
  grid-template-columns: minmax(190px, 1.5fr) repeat(5, minmax(105px, 1fr));
  align-items: center;
  overflow-x: auto;
}
.wedding_organizer_filters input, .wedding_organizer_filters select {
  width: 100%;
}

.wedding_library_view_switcher {
  min-width: max-content;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  padding: 3px;
  border: 1px solid var(--border_color);
  border-radius: 9px;
  background: var(--bg_color);
}
.wedding_library_view_switcher button {
  min-width: 60px;
  min-height: 40px;
  padding: 0 9px;
  border: 1px solid transparent;
  border-radius: 7px;
  background: transparent;
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_library_view_switcher button.active, .wedding_library_view_switcher button:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
}
.wedding_library_view_switcher button.active {
  background: var(--main_color);
  color: #fff;
}

.wedding_provider_profile_manage {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 18px;
  padding-bottom: 28px;
}

.wedding_provider_profile_hero {
  min-height: 230px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 13px;
  background-image: linear-gradient(90deg, var(--white_color) 5%, rgba(255, 255, 255, 0.9) 42%, rgba(255, 255, 255, 0.2) 100%), var(--wedding-profile-cover);
  background-position: center;
  background-size: cover;
}
.wedding_provider_profile_hero > div:first-child {
  max-width: 620px;
  display: grid;
  gap: 8px;
}
.wedding_provider_profile_hero > div:last-child {
  align-self: flex-start;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.wedding_provider_profile_hero p, .wedding_provider_profile_hero h1, .wedding_provider_profile_hero span {
  margin: 0;
}
.wedding_provider_profile_hero p {
  color: var(--main_color);
  font-size: 13px;
  font-weight: 850;
  text-transform: uppercase;
}
.wedding_provider_profile_hero h1 {
  max-width: 520px;
  color: var(--text_color);
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.12;
}
.wedding_provider_profile_hero span {
  max-width: 520px;
  color: var(--text_color_lighter1);
  font-size: 14px;
  line-height: 1.55;
}
.wedding_provider_profile_hero a {
  min-height: 44px;
}

.wedding_provider_profile_tabs {
  min-width: 0;
  display: flex;
  gap: 6px;
  padding: 6px;
  overflow-x: auto;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_provider_profile_tabs a {
  min-width: 120px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.wedding_provider_profile_tabs a.active, .wedding_provider_profile_tabs a:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
}
.wedding_provider_profile_tabs a.active {
  background: var(--main_color);
  color: #fff;
}

.wedding_provider_notice {
  margin: 0;
  padding: 12px 14px;
  border: 1px solid #f0d39d;
  border-radius: 9px;
  background: #fff8e8;
  color: #8b5b00;
  font-size: 13px;
}

.wedding_provider_status {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--text_color_lighter1) !important;
  font-size: 13px !important;
  font-weight: 800;
}
.wedding_provider_status.is_published, .wedding_provider_status.is_approved {
  border-color: #a9d9b3;
  background: #eff9f1;
  color: #28743a !important;
}
.wedding_provider_status.is_pending_review, .wedding_provider_status.is_pending {
  border-color: #f0d39d;
  background: #fff8e8;
  color: #8b5b00 !important;
}
.wedding_provider_status.is_rejected, .wedding_provider_status.is_suspended {
  border-color: #efb6b6;
  background: #fff1f1;
  color: #a33333 !important;
}

.wedding_provider_profile_layout {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(290px, 1fr);
  align-items: stretch;
  gap: 14px;
}

.wedding_provider_identity_card, .wedding_provider_profile_form, .wedding_provider_profile_summary, .wedding_provider_listings, .wedding_provider_section_card {
  min-width: 0;
  padding: 20px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}

.wedding_provider_identity_card {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  align-content: start;
  gap: 18px;
}
.wedding_provider_identity_card > div:nth-child(2) {
  align-self: center;
}
.wedding_provider_identity_card > div:nth-child(2) h2, .wedding_provider_identity_card > div:nth-child(2) p {
  margin: 0;
}
.wedding_provider_identity_card > div:nth-child(2) h2 {
  color: var(--text_color);
  font-size: 22px;
}
.wedding_provider_identity_card > div:nth-child(2) strong {
  display: block;
  margin: 4px 0 8px;
  color: var(--main_color);
  font-size: 13px;
}
.wedding_provider_identity_card > div:nth-child(2) p {
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.6;
}
.wedding_provider_identity_card dl {
  grid-column: 1/-1;
  display: grid;
  gap: 0;
  margin: 4px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_provider_identity_card dl > div {
  display: grid;
  grid-template-columns: minmax(120px, 0.55fr) minmax(0, 1fr);
  gap: 12px;
  padding: 9px 0;
}
.wedding_provider_identity_card dl dt, .wedding_provider_identity_card dl dd {
  margin: 0;
  font-size: 13px;
}
.wedding_provider_identity_card dl dt {
  color: var(--text_color_lighter1);
}
.wedding_provider_identity_card dl dd {
  color: var(--text_color);
}

.wedding_provider_avatar {
  position: relative;
  width: 112px;
  height: 112px;
  overflow: hidden;
  border: 3px solid var(--main_color_lighter4);
  border-radius: 50%;
  background: var(--main_color);
}
.wedding_provider_avatar img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wedding_provider_avatar span {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 36px;
  font-weight: 800;
}

.wedding_provider_profile_form {
  display: grid;
  gap: 14px;
  padding: 0;
  border: 0;
  background: transparent;
}
.wedding_provider_profile_form > section {
  display: grid;
  gap: 14px;
  padding: 20px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_provider_profile_form header h2, .wedding_provider_profile_form header p {
  margin: 0;
}
.wedding_provider_profile_form header h2 {
  color: var(--text_color);
  font-size: 17px;
}
.wedding_provider_profile_form header p {
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_provider_profile_form > footer {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  padding: 12px 20px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_provider_profile_form > footer [data-library-form-status] {
  margin-right: auto;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_provider_profile_fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.wedding_provider_profile_fields > label {
  min-width: 0;
  display: grid;
  gap: 6px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_provider_profile_fields > label.is_wide {
  grid-column: 1/-1;
}
.wedding_provider_profile_fields > label .form_input {
  width: 100%;
  min-height: 44px;
  margin: 0;
}

.wedding_provider_contact_toggles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.wedding_provider_contact_toggles > label {
  min-height: 48px;
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 8px 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  color: var(--text_color);
  font-size: 13px;
  cursor: pointer;
}
.wedding_provider_contact_toggles > label:hover, .wedding_provider_contact_toggles > label:focus-within {
  border-color: var(--main_color);
}
.wedding_provider_contact_toggles > label input {
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--main_color);
}

.wedding_provider_appearance > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.wedding_provider_appearance > header > span {
  min-height: 32px;
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  border: 1px solid var(--main_color_lighter3);
  border-radius: 7px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
}

.wedding_provider_media_fields {
  display: grid;
  grid-template-columns: minmax(230px, 0.7fr) minmax(0, 1.3fr);
  gap: 12px;
}

.wedding_provider_media_card {
  min-width: 0;
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--bg_color);
}
.wedding_provider_media_card.is_cover {
  grid-template-columns: minmax(150px, 0.8fr) minmax(150px, 1fr);
}
.wedding_provider_media_card > div:nth-child(2) {
  min-width: 0;
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 6px;
}
.wedding_provider_media_card > div:nth-child(2) strong {
  color: var(--text_color);
  font-size: 14px;
}
.wedding_provider_media_card > div:nth-child(2) small {
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.45;
}
.wedding_provider_media_card > div:nth-child(2) input {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.wedding_provider_media_card > div:nth-child(2) label.sa_btn {
  min-height: 44px;
  margin-top: 2px;
  cursor: pointer;
}

.wedding_provider_media_preview {
  width: 100%;
  height: 94px;
  overflow: hidden;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
}
.wedding_provider_media_preview img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.is_avatar .wedding_provider_media_preview {
  width: 94px;
  border-radius: 50%;
}

.wedding_provider_media_remove {
  grid-column: 1/-1;
  width: fit-content;
  min-height: 44px;
  padding: 0 8px;
  border: 0;
  background: transparent;
  color: var(--warning_color, #a33);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.wedding_provider_media_note {
  margin: -2px 0 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_provider_profile_summary {
  display: grid;
  align-content: start;
  gap: 14px;
}
.wedding_provider_profile_summary > header, .wedding_provider_profile_summary .wedding_provider_section_card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wedding_provider_profile_summary h2 {
  margin: 0;
  color: var(--text_color);
  font-size: 17px;
}
.wedding_provider_profile_summary > p {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.55;
}
.wedding_provider_profile_summary > a {
  width: fit-content;
}

.wedding_provider_profile_counts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.wedding_provider_profile_counts > span {
  min-width: 0;
  display: grid;
  gap: 2px;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--bg_color);
}
.wedding_provider_profile_counts > span strong {
  color: var(--main_color);
  font-size: 24px;
}
.wedding_provider_profile_counts > span small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_provider_section_card {
  display: grid;
  gap: 14px;
}
.wedding_provider_section_card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.wedding_provider_section_card > header h2, .wedding_provider_section_card > header p {
  margin: 0;
}
.wedding_provider_section_card > header h2 {
  color: var(--text_color);
  font-size: 17px;
}
.wedding_provider_section_card > header p {
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_provider_section_card > header > a {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 750;
}

.wedding_provider_services {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 9px;
}
.wedding_provider_services span {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  color: var(--main_color);
  font-size: 13px;
}
.wedding_provider_services p {
  grid-column: 1/-1;
  margin: 0;
  color: var(--text_color_lighter1);
}

.wedding_provider_visibility_grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.wedding_provider_visibility_grid article {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--bg_color);
}
.wedding_provider_visibility_grid article span, .wedding_provider_visibility_grid article small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_provider_visibility_grid article strong {
  color: var(--main_color);
  font-size: 14px;
}

.wedding_provider_listings {
  display: grid;
  gap: 14px;
}
.wedding_provider_listings > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.wedding_provider_listings > header h2, .wedding_provider_listings > header p {
  margin: 0;
}
.wedding_provider_listings > header h2 {
  color: var(--text_color);
  font-size: 17px;
}
.wedding_provider_listings > header p {
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_provider_listing_grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.wedding_provider_listing_grid > article {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
}
.wedding_provider_listing_grid > article h3, .wedding_provider_listing_grid > article p {
  margin: 0;
}
.wedding_provider_listing_grid > article h3 {
  overflow: hidden;
  color: var(--text_color);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_provider_listing_grid > article p {
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.45;
}
.wedding_provider_listing_grid > article > a {
  width: fit-content;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  margin-top: auto;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 700;
}
.wedding_provider_listing_grid > .plugins_empty {
  grid-column: 1/-1;
}

.wedding_provider_listing_preview {
  min-height: 130px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(145deg, var(--main_color_lighter5), var(--bg_color));
  color: var(--main_color);
}
.wedding_provider_listing_preview span {
  font: 600 42px Georgia, serif;
}

.wedding_provider_pricing_grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
}
.wedding_provider_pricing_grid > article {
  position: relative;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 20px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--bg_color);
}
.wedding_provider_pricing_grid > article.is_featured {
  border-color: var(--main_color);
}
.wedding_provider_pricing_grid > article header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
}
.wedding_provider_pricing_grid > article header h3, .wedding_provider_pricing_grid > article header strong {
  margin: 0;
}
.wedding_provider_pricing_grid > article header h3 {
  color: var(--text_color);
  font-size: 15px;
}
.wedding_provider_pricing_grid > article header strong {
  color: var(--main_color);
  font-size: 16px;
}
.wedding_provider_pricing_grid > article p {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.55;
}
.wedding_provider_pricing_grid > article ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--text_color);
  font-size: 13px;
}
.wedding_provider_pricing_grid > .plugins_empty {
  grid-column: 1/-1;
}

.wedding_provider_popular {
  position: absolute;
  top: -10px;
  right: 12px;
  padding: 4px 8px;
  border-radius: 6px;
  background: var(--main_color);
  color: #fff;
  font-size: 13px;
  font-weight: 800;
}

.wedding_provider_pricing_note {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_provider_pricing_dialog {
  width: min(920px, 100vw - 28px);
}
.wedding_provider_pricing_dialog > form {
  display: grid;
  gap: 14px;
  padding: 18px 20px;
}
.wedding_provider_pricing_dialog > form > label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_provider_pricing_dialog > form > footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.wedding_provider_pricing_dialog > form > footer [data-library-form-status] {
  margin-right: auto;
}

.wedding_provider_package_editor {
  display: grid;
  gap: 10px;
}
.wedding_provider_package_editor > article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(140px, 0.45fr);
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--bg_color);
}
.wedding_provider_package_editor > article > label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_provider_package_editor > article > label.is_wide {
  grid-column: 1/-1;
}
.wedding_provider_package_editor > article .wedding_provider_featured {
  display: flex;
  align-items: center;
  flex-direction: row;
}
.wedding_provider_package_editor > article .wedding_provider_featured input {
  width: 20px;
  height: 20px;
  accent-color: var(--main_color);
}

.wedding_provider_package_actions {
  display: flex;
  justify-content: flex-end;
  gap: 6px;
}
.wedding_provider_package_actions button {
  min-width: 40px;
  min-height: 40px;
}

.wedding_provider_access form {
  display: grid;
  gap: 10px;
}
.wedding_provider_access form label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_provider_access form footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.wedding_provider_access form footer [data-library-form-status] {
  margin-right: auto;
}
.wedding_provider_access > p {
  margin: 0;
  color: var(--text_color_lighter1);
}

.wedding_library_search {
  position: relative;
  min-width: 0;
}
.wedding_library_search span {
  position: absolute;
  top: 50%;
  left: 12px;
  transform: translateY(-50%);
}
.wedding_library_search input {
  width: 100%;
  padding: 0 10px 0 34px;
}

.wedding_library_grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
  gap: 12px;
}
.wedding_library_grid > .plugins_empty {
  grid-column: 1/-1;
}
.wedding_library_grid > [hidden] {
  display: none;
}
.wedding_library_grid[data-library-view=masonry] {
  display: block;
  columns: 4 230px;
  column-gap: 12px;
}
.wedding_library_grid[data-library-view=masonry] .wedding_library_card {
  width: 100%;
  display: inline-grid;
  margin: 0 0 12px;
  break-inside: avoid;
}
.wedding_library_grid[data-library-view=masonry] .wedding_library_card .wedding_library_preview {
  height: auto;
  min-height: 150px;
}
.wedding_library_grid[data-library-view=masonry] .wedding_library_card .wedding_library_preview > svg, .wedding_library_grid[data-library-view=masonry] .wedding_library_card .wedding_library_preview > img {
  height: auto;
  min-height: 150px;
}
.wedding_library_grid[data-library-view=list] {
  grid-template-columns: 1fr;
}
.wedding_library_grid[data-library-view=list] .wedding_library_card {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr) auto;
  align-items: stretch;
}
.wedding_library_grid[data-library-view=list] .wedding_library_card .wedding_library_preview {
  width: 104px;
  height: 104px;
  min-height: 104px;
  border-right: 1px solid var(--border_color_lighter);
  border-bottom: 0;
  border-radius: 10px 0 0 10px;
}
.wedding_library_grid[data-library-view=list] .wedding_library_card .wedding_library_preview > svg, .wedding_library_grid[data-library-view=list] .wedding_library_card .wedding_library_preview > img {
  min-height: 104px;
  object-fit: cover;
}
.wedding_library_grid[data-library-view=list] .wedding_library_card > div:nth-child(2) {
  align-content: center;
  padding: 10px 14px;
}
.wedding_library_grid[data-library-view=list] .wedding_library_card > footer {
  min-width: 220px;
  border-top: 0;
  border-left: 1px solid var(--border_color_lighter);
}

.wedding_library_card {
  overflow: visible;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
  background: var(--white_color);
}
.wedding_library_card:focus-within {
  border-color: var(--main_color);
}
.wedding_library_card > div:nth-child(2) {
  display: grid;
  gap: 6px;
  padding: 12px;
}
.wedding_library_card > div:nth-child(2) h3, .wedding_library_card > div:nth-child(2) p {
  margin: 0;
}
.wedding_library_card > div:nth-child(2) h3 {
  font-size: 13px;
}
.wedding_library_card > div:nth-child(2) h3 button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--text_color);
  font: inherit;
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}
.wedding_library_card > div:nth-child(2) h3 button:hover, .wedding_library_card > div:nth-child(2) h3 button:focus-visible {
  color: var(--main_color);
  outline: none;
}
.wedding_library_card > div:nth-child(2) p, .wedding_library_card > div:nth-child(2) small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_library_card > footer {
  position: relative;
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_library_card > footer button, .wedding_library_card > footer a, .wedding_library_card > footer summary {
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 10px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--main_color);
  font-size: 13px;
  cursor: pointer;
}
.wedding_library_card > footer > .manage_add_new_btn {
  border-color: var(--main_color_lighter3);
  background: var(--main_color_lighter5);
  color: var(--text_color) !important;
}
.wedding_library_card > footer .wedding_library_more {
  margin-left: auto;
}
.wedding_library_card > footer .wedding_library_more summary {
  min-width: 40px;
  list-style: none;
}
.wedding_library_card > footer .wedding_library_more summary::-webkit-details-marker {
  display: none;
}
.wedding_library_card > footer .wedding_library_more > div {
  position: absolute;
  z-index: 25;
  right: 8px;
  bottom: 52px;
  min-width: 170px;
  display: grid;
  gap: 4px;
  padding: 6px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--white_color);
}
.wedding_library_card > footer .wedding_library_more > div button {
  width: 100%;
  justify-content: flex-start;
  gap: 8px;
  border-color: transparent;
  background: transparent;
  color: var(--text_color);
  font-size: 13px;
}
.wedding_library_card > footer .wedding_library_more > div button:hover, .wedding_library_card > footer .wedding_library_more > div button:focus-visible {
  border-color: var(--main_color);
  color: var(--main_color);
}

.wedding_library_preview {
  position: relative;
  height: 190px;
  min-height: 190px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border-bottom: 1px solid var(--border_color_lighter);
  border-radius: 10px 10px 0 0;
  background: linear-gradient(145deg, #faf7f3, #e8dccb);
  color: var(--asset-color, #173c3a);
  cursor: pointer;
}
.wedding_library_preview > svg, .wedding_library_preview > img {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-fit: contain;
}
.wedding_library_preview > span {
  width: 72%;
  height: 74%;
  display: grid;
  place-items: center;
  border: 1px solid var(--asset-color, #b89b6a);
  background: #fff;
  font: 600 56px Georgia, serif;
}
.wedding_library_preview.is_background {
  background: var(--asset-color, #e8dccb);
}
.wedding_library_preview.is_background > span {
  border: 0;
  background: transparent;
}
.wedding_library_preview.is_frame > span, .wedding_library_preview.is_couple_frame > span {
  border: 5px double var(--asset-color, #b89b6a);
  background: transparent;
}
.wedding_library_preview.is_couple_frame > span {
  border-radius: 50%;
}
.wedding_library_preview.is_font > span {
  font-size: 44px;
  font-style: italic;
}
.wedding_library_preview.is_wedding_card_template {
  background: var(--bg_color_darker1);
}
.wedding_library_preview.is_wedding_card_template .wedding_public_card {
  position: absolute;
  top: 0;
  left: 50%;
  width: 780px;
  margin-left: -128.7px;
  transform: scale(0.33);
  transform-origin: top left;
}
.wedding_library_preview > button {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 34px;
  height: 34px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--white_color);
}

.wedding_library_badges, .wedding_library_metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.wedding_library_badges span, .wedding_library_metrics span {
  padding: 4px 6px;
  border-radius: 5px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}

.wedding_library_asset_groups {
  display: grid;
  gap: 18px;
}
.wedding_library_asset_groups > section {
  display: grid;
  gap: 9px;
}
.wedding_library_asset_groups > section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wedding_library_asset_groups > section > header h3 {
  margin: 0;
  color: var(--text_color);
  font-size: 13px;
}
.wedding_library_asset_groups > section > header span {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_library_asset_groups > section .wedding_library_grid {
  grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
}

.wedding_library_scroll_sentinel {
  height: 2px;
}

.wedding_library_back_top {
  position: fixed;
  z-index: 80;
  right: 24px;
  bottom: 24px;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border: 1px solid var(--main_color);
  border-radius: 50%;
  background: var(--main_color);
  color: var(--white_color);
  font-size: 20px;
  cursor: pointer;
}
.wedding_library_back_top[hidden] {
  display: none;
}

.wedding_public_library {
  max-width: 1500px;
  margin: auto;
  padding: 24px;
}
.wedding_public_library .wedding_library_filters {
  grid-template-columns: minmax(220px, 1fr) minmax(150px, auto) auto;
}

.wedding_library_publish_dialog, .wedding_library_use_dialog, .wedding_invitation_ai_dialog {
  width: min(760px, 100vw - 28px);
}
.wedding_library_publish_dialog > form, .wedding_library_use_dialog > form, .wedding_invitation_ai_dialog > form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 18px 20px;
}
.wedding_library_publish_dialog > form label, .wedding_library_use_dialog > form label, .wedding_invitation_ai_dialog > form label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_library_publish_dialog > form label input, .wedding_library_publish_dialog > form label select, .wedding_library_publish_dialog > form label textarea, .wedding_library_use_dialog > form label input, .wedding_library_use_dialog > form label select, .wedding_library_use_dialog > form label textarea, .wedding_invitation_ai_dialog > form label input, .wedding_invitation_ai_dialog > form label select, .wedding_invitation_ai_dialog > form label textarea {
  width: 100%;
  min-height: 42px;
  padding: 8px 10px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--bg_color);
  color: var(--text_color);
}
.wedding_library_publish_dialog > form .sa_full, .wedding_library_publish_dialog > form > p, .wedding_library_publish_dialog > form footer, .wedding_library_use_dialog > form .sa_full, .wedding_library_use_dialog > form > p, .wedding_library_use_dialog > form footer, .wedding_invitation_ai_dialog > form .sa_full, .wedding_invitation_ai_dialog > form > p, .wedding_invitation_ai_dialog > form footer {
  grid-column: 1/-1;
}
.wedding_library_publish_dialog > form > p, .wedding_library_use_dialog > form > p, .wedding_invitation_ai_dialog > form > p {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.5;
}
.wedding_library_publish_dialog > form footer, .wedding_library_use_dialog > form footer, .wedding_invitation_ai_dialog > form footer {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  border: 0;
}
.wedding_library_publish_dialog > form footer [data-library-form-status], .wedding_library_publish_dialog > form footer [data-invitation-ai-status], .wedding_library_use_dialog > form footer [data-library-form-status], .wedding_library_use_dialog > form footer [data-invitation-ai-status], .wedding_invitation_ai_dialog > form footer [data-library-form-status], .wedding_invitation_ai_dialog > form footer [data-invitation-ai-status] {
  margin-right: auto;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_library_preview_dialog {
  width: min(920px, 100vw - 28px);
}
.wedding_library_preview_dialog .wedding_library_preview_modal_media {
  max-height: 520px;
  overflow: auto;
  padding: 16px;
  background: var(--bg_color_darker1);
}
.wedding_library_preview_dialog .wedding_library_preview_modal_media .wedding_library_preview {
  width: 100%;
  height: auto;
  min-height: 260px;
  border: 0;
  border-radius: 0;
  cursor: default;
}
.wedding_library_preview_dialog .wedding_library_preview_modal_media .wedding_library_preview.is_wedding_card_template {
  min-height: 0;
}
.wedding_library_preview_dialog .wedding_library_preview_modal_media .wedding_library_preview.is_wedding_card_template .wedding_public_card {
  position: relative;
  left: auto;
  width: min(780px, 100%);
  margin: 0 auto;
  transform: none;
}
.wedding_library_preview_dialog > [data-library-preview-content] {
  display: grid;
  gap: 14px;
  padding: 18px 20px;
}
.wedding_library_preview_dialog .wedding_library_preview_copy {
  display: grid;
  gap: 5px;
}
.wedding_library_preview_dialog .wedding_library_preview_copy h2, .wedding_library_preview_dialog .wedding_library_preview_copy p {
  margin: 0;
}
.wedding_library_preview_dialog .wedding_library_preview_copy p, .wedding_library_preview_dialog .wedding_library_preview_copy small {
  color: var(--text_color_lighter1);
}
.wedding_library_preview_dialog .wedding_library_preview_details {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  background: var(--border_color_lighter);
}
.wedding_library_preview_dialog .wedding_library_preview_details > div {
  min-width: 0;
  padding: 10px;
  background: var(--white_color);
}
.wedding_library_preview_dialog .wedding_library_preview_details dt {
  color: var(--text_color_lighter1);
  font-size: 12px;
}
.wedding_library_preview_dialog .wedding_library_preview_details dd {
  margin: 3px 0 0;
  overflow-wrap: anywhere;
  color: var(--text_color);
  font-weight: 800;
}
.wedding_library_preview_dialog > form {
  display: grid;
  grid-template-columns: minmax(140px, 0.35fr) minmax(0, 1fr);
  gap: 12px;
  padding: 18px 20px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_library_preview_dialog > form h3, .wedding_library_preview_dialog > form footer {
  grid-column: 1/-1;
}
.wedding_library_preview_dialog > form h3 {
  margin: 0;
}
.wedding_library_preview_dialog > form label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_library_preview_dialog > form footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.wedding_library_preview_dialog > form footer [data-library-form-status] {
  margin-right: auto;
}

.wedding_library_preview_dialog[open] {
  display: block;
  overflow-y: auto;
}
.wedding_library_preview_dialog[open] > header {
  position: sticky;
  z-index: 3;
  top: 0;
}
.wedding_library_preview_dialog[open] > .wedding_library_preview_modal_media, .wedding_library_preview_dialog[open] > [data-library-preview-content], .wedding_library_preview_dialog[open] > form {
  min-height: auto;
  overflow: visible;
}
.wedding_library_preview_dialog[open] > .wedding_library_preview_modal_media {
  max-height: none;
}

.wedding_library_use_dialog > form {
  grid-template-columns: 1fr;
}

.wedding_invitation_ai_dialog > form {
  grid-template-columns: 1fr;
}

.wedding_invitation_share_dialog {
  width: min(780px, 100vw - 28px);
}
.wedding_invitation_share_dialog > form {
  display: grid;
  gap: 12px;
  padding: 18px 20px;
}
.wedding_invitation_share_dialog > form > label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_invitation_share_dialog > form > label select {
  min-height: 42px;
  padding: 0 10px;
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--bg_color);
  color: var(--text_color);
}
.wedding_invitation_share_dialog > form footer {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  border: 0;
}
.wedding_invitation_share_dialog > form footer span {
  margin-right: auto;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_share_dialog {
  width: min(920px, 100vw - 28px);
}
.wedding_share_dialog > form {
  display: grid;
  gap: 12px;
  padding: 14px 20px 18px;
  overflow: hidden;
}
.wedding_share_dialog .wedding_share_loading {
  min-height: 180px;
  display: grid;
  place-items: center;
  color: var(--text_color_lighter1);
}
.wedding_share_dialog input[type=checkbox] {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin: 0;
  accent-color: var(--main_color);
  cursor: pointer;
}

.wedding_share_filterbar {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto;
  align-items: center;
  gap: 10px;
}
.wedding_share_filterbar > label input {
  min-height: 44px;
}

.wedding_share_chips, .wedding_share_channels {
  display: flex;
  align-items: center;
  gap: 6px;
}
.wedding_share_chips button, .wedding_share_chips summary, .wedding_share_channels button, .wedding_share_channels summary {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--bg_color);
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.wedding_share_chips button.active, .wedding_share_chips button[aria-pressed=true], .wedding_share_chips summary.active, .wedding_share_chips summary[aria-pressed=true], .wedding_share_channels button.active, .wedding_share_channels button[aria-pressed=true], .wedding_share_channels summary.active, .wedding_share_channels summary[aria-pressed=true] {
  border-color: var(--main_color);
  background: var(--main_color_lighter5);
  color: var(--main_color);
}
.wedding_share_chips button:focus-visible, .wedding_share_chips summary:focus-visible, .wedding_share_channels button:focus-visible, .wedding_share_channels summary:focus-visible {
  outline: 2px solid var(--main_color);
  outline-offset: 2px;
}
.wedding_share_chips details, .wedding_share_channels details {
  position: relative;
}
.wedding_share_chips details summary, .wedding_share_channels details summary {
  list-style: none;
}
.wedding_share_chips details > button, .wedding_share_channels details > button {
  position: absolute;
  z-index: 3;
  top: 48px;
  right: 0;
  min-width: 100px;
  background: var(--white_color);
}

.wedding_share_setup {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(360px, 1.2fr);
  gap: 14px;
  padding: 11px 13px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--bg_color_darker1);
}
.wedding_share_setup > label, .wedding_share_setup fieldset {
  min-width: 0;
  display: grid;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
}
.wedding_share_setup > label > span, .wedding_share_setup > label legend, .wedding_share_setup fieldset > span, .wedding_share_setup fieldset legend {
  color: var(--text_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_share_setup select {
  min-height: 44px;
}
.wedding_share_setup .wedding_share_channels button {
  flex: 1 1 0;
  background: var(--white_color);
}

.wedding_share_design_choice {
  min-width: 0;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 7px;
}
.wedding_share_design_choice img {
  width: 38px;
  height: 38px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 6px;
  object-fit: cover;
}
.wedding_share_design_choice img[hidden] {
  display: block;
  visibility: hidden;
}

.wedding_share_approval {
  min-height: 44px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 1px solid #e8b85d;
  border-radius: 9px;
  background: #fff8e8;
  color: #704a08;
  font-size: 13px;
}
.wedding_share_approval a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  color: inherit;
  font-weight: 800;
}

.wedding_share_table {
  min-height: 220px;
  max-height: min(44dvh, 430px);
  overflow: auto;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
}
.wedding_share_table table {
  width: 100%;
  border-collapse: collapse;
}
.wedding_share_table th, .wedding_share_table td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--border_color_lighter);
  color: var(--text_color_lighter1);
  font-size: 13px;
  text-align: left;
  vertical-align: middle;
}
.wedding_share_table th {
  position: sticky;
  z-index: 2;
  top: 0;
  background: var(--bg_color_darker1);
  color: var(--text_color);
  font-weight: 800;
}
.wedding_share_table td strong, .wedding_share_table td small, .wedding_share_table td span, .wedding_share_table td em {
  display: block;
}
.wedding_share_table td strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_share_table td small {
  margin-top: 3px;
}
.wedding_share_table td em {
  margin-top: 5px;
  color: #a34b32;
  font-size: 13px;
  font-style: normal;
}
.wedding_share_table tr.is_blocked {
  opacity: 0.62;
}
.wedding_share_table .plugins_empty {
  margin: 18px;
}

.wedding_share_row_settings {
  display: flex;
  align-items: center;
  gap: 8px;
}
.wedding_share_row_settings label {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  white-space: nowrap;
}
.wedding_share_row_settings select {
  min-height: 36px;
  padding: 0 7px;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  background: var(--bg_color);
  color: var(--text_color);
  font-size: 13px;
}

.wedding_share_consent {
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_share_summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
}
.wedding_share_summary span {
  min-height: 58px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-content: center;
  align-items: center;
  gap: 2px 8px;
  padding: 9px 14px;
  border-right: 1px solid var(--border_color_lighter);
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_share_summary span:last-child {
  border-right: 0;
}
.wedding_share_summary span b {
  grid-row: 1/3;
  color: var(--main_color);
  font-size: 19px;
}

.wedding_share_notice {
  min-height: 18px;
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_share_notice button {
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.wedding_share_dialog > form > footer {
  display: grid;
  grid-template-columns: 1fr 1.25fr 1.5fr;
  gap: 10px;
  padding-top: 12px;
}
.wedding_share_dialog > form > footer button {
  min-height: 44px;
  justify-content: center;
}

.wedding_invitation_permission_members {
  display: grid;
  gap: 7px;
}
.wedding_invitation_permission_members article {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) repeat(5, auto);
  align-items: center;
  gap: 8px;
  padding: 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_invitation_permission_members article header {
  display: grid;
  gap: 2px;
}
.wedding_invitation_permission_members article header strong {
  font-size: 13px;
}
.wedding_invitation_permission_members article header small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_invitation_permission_members article label {
  min-height: 36px;
  display: flex;
  align-items: center;
  gap: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_public_organizer {
  max-width: 1400px;
  display: grid;
  gap: 18px;
  margin: auto;
  padding: 24px;
  color: var(--text_color);
}
.wedding_public_organizer > h2 {
  margin: 10px 0 0;
  font-size: 18px;
}

.wedding_public_organizer_hero {
  min-height: 240px;
  display: flex;
  align-items: flex-end;
  gap: 18px;
  padding: 24px;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 13px;
  background-image: linear-gradient(90deg, var(--white_color), rgba(255, 255, 255, 0.38)), var(--wedding-profile-cover);
  background-position: center;
  background-size: cover;
}
.wedding_public_organizer_hero img {
  width: 110px;
  height: 110px;
  object-fit: cover;
  border: 3px solid var(--white_color);
  border-radius: 50%;
}
.wedding_public_organizer_hero p, .wedding_public_organizer_hero h1, .wedding_public_organizer_hero span {
  margin: 0;
}
.wedding_public_organizer_hero p {
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}
.wedding_public_organizer_hero h1 {
  color: var(--text_color);
  font-size: clamp(26px, 4vw, 42px);
}
.wedding_public_organizer_hero span {
  color: var(--text_color_lighter1);
}

.wedding_organizer_profile {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(240px, 1fr);
  gap: 14px;
}
.wedding_organizer_profile > * {
  padding: 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 11px;
}
.wedding_organizer_profile p {
  margin: 0;
  color: var(--text_color_lighter1);
  line-height: 1.65;
}
.wedding_organizer_profile h2 {
  margin: 0 0 12px;
  font-size: 14px;
}
.wedding_organizer_profile main div {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.wedding_organizer_profile main div span {
  padding: 5px 8px;
  border-radius: 6px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 700;
}
.wedding_organizer_profile aside {
  display: grid;
  align-content: start;
  gap: 9px;
}
.wedding_organizer_profile aside a {
  color: var(--main_color);
}

.wedding_public_pricing {
  display: grid;
  gap: 12px;
}
.wedding_public_pricing > h2, .wedding_public_pricing > p {
  margin: 0;
}
.wedding_public_pricing > p {
  color: var(--text_color_lighter1);
}
.wedding_public_pricing > div {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 12px;
}
.wedding_public_pricing > div article {
  padding: 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
}
.wedding_public_pricing > div article.is_featured {
  border-color: var(--main_color);
}
.wedding_public_pricing > div article h3 {
  margin: 0;
}
.wedding_public_pricing > div article strong {
  display: block;
  margin: 6px 0;
  color: var(--main_color);
}
.wedding_public_pricing > div article p {
  color: var(--text_color_lighter1);
}
.wedding_public_pricing > div article ul {
  display: grid;
  gap: 5px;
  padding: 0;
  list-style: none;
}

.wedding_section_intro {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_section_intro h1 {
  margin: 0;
  color: var(--text_color);
  font-size: 24px;
}
.wedding_section_intro > strong {
  color: var(--main_color);
  font-size: 26px;
}

.wedding_operations_filters {
  grid-template-columns: minmax(180px, 1.5fr) minmax(110px, 0.7fr) repeat(2, minmax(130px, 0.8fr)) minmax(140px, 1fr);
  align-items: center;
}
.wedding_operations_filters > label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.wedding_organizer_directory {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 14px;
}

.wedding_organizer_card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_organizer_card .wedding_organizer_card_body {
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 0 14px 14px;
}
.wedding_organizer_card .wedding_organizer_card_body p {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_organizer_card .wedding_organizer_card_body strong {
  color: var(--main_color);
  font-size: 13px;
}
.wedding_organizer_card .wedding_organizer_card_body .manage_add_new_btn {
  width: fit-content;
  margin-top: 4px;
}

.wedding_organizer_card_cover {
  display: block;
  height: 150px;
  overflow: hidden;
}
.wedding_organizer_card_cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.organizer_identity {
  min-height: 76px;
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 14px;
  color: var(--text_color);
  text-decoration: none;
}
.organizer_identity img {
  width: 56px;
  height: 56px;
  flex: 0 0 56px;
  border: 2px solid var(--white_color);
  border-radius: 50%;
  object-fit: cover;
}
.organizer_identity h2 {
  min-width: 0;
  margin: 0;
  overflow: hidden;
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.organizer_identity:hover, .organizer_identity:focus-visible {
  background: var(--main_color_lighter5);
  color: var(--main_color);
  outline: none;
}

.wedding_organizer_rating {
  color: #ad7b00 !important;
  font-weight: 800;
}
.wedding_organizer_rating span {
  color: var(--text_color_lighter1);
  font-weight: 500;
}

.wedding_profile_chips {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.wedding_profile_chips span {
  padding: 4px 7px;
  border-radius: 6px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 12px;
}

.wedding_profile_services {
  display: grid;
  gap: 12px;
}

.wedding_profile_service {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--bg_color);
}
.wedding_profile_service > header, .wedding_profile_service > label:last-child {
  grid-column: 1/-1;
}
.wedding_profile_service > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wedding_profile_service > header button {
  width: 40px;
  height: 40px;
  border: 0;
  background: transparent;
  color: var(--warning_color, #a33);
  font-size: 20px;
  cursor: pointer;
}
.wedding_profile_service > label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_profile_service fieldset {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_profile_service fieldset legend {
  padding: 0 4px;
  color: var(--text_color_lighter1);
  font-size: 12px;
}
.wedding_profile_service fieldset label {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--text_color);
  font-size: 13px;
}
.wedding_profile_service fieldset input {
  accent-color: var(--main_color);
}

.wedding_service_prices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.wedding_service_prices label {
  display: grid;
  gap: 5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_service_prices [hidden] {
  display: none;
}

.wedding_profile_socials {
  display: grid;
  gap: 8px;
}

.wedding_profile_social {
  display: grid;
  grid-template-columns: minmax(130px, 0.35fr) minmax(0, 1fr) 44px;
  gap: 8px;
}
.wedding_profile_social button {
  border: 1px solid var(--border_color);
  border-radius: 8px;
  background: var(--bg_color);
  color: var(--warning_color, #a33);
  cursor: pointer;
}

.wedding_public_services {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 10px;
}
.wedding_public_services article {
  display: grid;
  gap: 7px;
  padding: 14px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--bg_color);
}
.wedding_public_services article h3, .wedding_public_services article p {
  margin: 0;
}
.wedding_public_services article p {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_public_services article strong, .wedding_public_services article span {
  color: var(--main_color);
  font-size: 13px;
}

.wedding_organizer_reviews {
  display: grid;
  gap: 9px;
}
.wedding_organizer_reviews article {
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
}
.wedding_organizer_reviews article p {
  margin: 6px 0;
  color: var(--text_color_lighter1);
}
.wedding_organizer_reviews article small {
  color: var(--text_color_lighter2);
}

.wedding_operations_list {
  display: grid;
  gap: 14px;
}

.wedding_operations_card {
  overflow: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
  color: var(--text_color);
}

.wedding_operations_hero {
  display: grid;
}
.has_cover .wedding_operations_hero {
  grid-template-columns: 360px minmax(0, 1fr);
}

.wedding_operations_card.has_cover .wedding_operations_cover {
  width: 360px;
}

.wedding_operations_cover {
  min-height: 220px;
  margin: 0;
  background: var(--bg_color);
}
.wedding_operations_cover img {
  width: 100%;
  height: 226px;
  display: block;
  object-fit: cover;
}

.wedding_operations_identity {
  min-width: 0;
  display: grid;
  gap: 16px;
  padding: 18px;
}
.wedding_operations_identity > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}
.wedding_operations_identity > header h2, .wedding_operations_identity > header small {
  margin: 0;
}
.wedding_operations_identity > header h2 {
  margin-top: 3px;
  font-size: 20px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}
.wedding_operations_identity > header small {
  color: var(--text_color_lighter1);
}
.wedding_operations_identity > header .wedding_operations_creator_name, .wedding_operations_identity > header .wedding_operations_family_name {
  color: var(--text_color);
}
.wedding_operations_identity > header .wedding_operations_identity_sep {
  color: var(--text_color);
  font-size: 20px;
  line-height: 1;
  padding: 0 6px;
}

.wedding_operations_badges {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 6px;
}
.wedding_operations_badges .plugin_badge, .wedding_operations_badges .wedding_date_badge {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 3px 9px;
  border: 1px solid transparent;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}
.wedding_operations_badges .plugin_badge {
  background: color-mix(in srgb, var(--main_color) 10%, var(--white_color));
  color: var(--main_color);
}
.wedding_operations_badges .plugin_badge.is_completed {
  border-color: color-mix(in srgb, #278b51 28%, transparent);
  background: color-mix(in srgb, #278b51 10%, var(--white_color));
  color: #278b51;
}
.wedding_operations_badges .plugin_badge.is_archived {
  border-color: var(--border_color);
  background: var(--bg_color);
  color: var(--text_color_lighter1);
}
.wedding_operations_badges .plugin_badge.is_draft {
  border-color: color-mix(in srgb, #b07820 28%, transparent);
  background: color-mix(in srgb, #b07820 10%, var(--white_color));
  color: #99630d;
}

.wedding_date_badge.is_not_set {
  border-color: var(--border_color);
  background: var(--bg_color);
  color: var(--text_color_lighter1);
}
.wedding_date_badge.is_upcoming {
  border-color: color-mix(in srgb, var(--main_color) 28%, transparent);
  background: color-mix(in srgb, var(--main_color) 9%, var(--white_color));
  color: var(--main_color);
}
.wedding_date_badge.is_tomorrow {
  border-color: color-mix(in srgb, #d48316 30%, transparent);
  background: color-mix(in srgb, #d48316 10%, var(--white_color));
  color: #ae6607;
}
.wedding_date_badge.is_today {
  border-color: color-mix(in srgb, #278b51 30%, transparent);
  background: color-mix(in srgb, #278b51 10%, var(--white_color));
  color: #278b51;
}
.wedding_date_badge.is_yesterday, .wedding_date_badge.is_passed {
  border-color: var(--border_color);
  background: var(--bg_color);
  color: var(--text_color_lighter1);
}

.wedding_operations_people {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.wedding_operations_people section {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--bg_color);
}
.wedding_operations_people section img {
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 50%;
  object-fit: cover;
}
.wedding_operations_people section div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_operations_people section strong {
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_operations_people section p, .wedding_operations_people section small {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 11px;
  line-height: 1.35;
}
.wedding_operations_people section p {
  overflow-wrap: anywhere;
}

.wedding_operations_schedule {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.wedding_operations_schedule span {
  min-width: 0;
  display: grid;
  gap: 3px;
}
.wedding_operations_schedule small {
  color: var(--text_color_lighter1);
  font-size: 11px;
}
.wedding_operations_schedule strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.wedding_operations_countdown {
  display: grid;
  grid-template-columns: minmax(190px, 0.8fr) minmax(300px, 1.2fr);
  align-items: center;
  gap: 12px 20px;
  margin: 0;
  padding: 20px;
  border: 1px solid color-mix(in srgb, var(--main_color_lighter3) 18%, var(--border_color_lighter2));
  border-left: none;
  border-right: none;
  border-bottom: none;
  border-radius: 0;
}
.wedding_operations_countdown > header {
  min-width: 0;
}
.wedding_operations_countdown > header small, .wedding_operations_countdown > header strong {
  display: block;
}
.wedding_operations_countdown > header small {
  margin-bottom: 3px;
  color: var(--main_color);
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}
.wedding_operations_countdown > header strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}
.wedding_operations_countdown[hidden] {
  display: none;
}

.wedding_countdown_numbers {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.wedding_countdown_numbers span {
  min-width: 0;
  text-align: center;
}
.wedding_countdown_numbers b, .wedding_countdown_numbers small {
  display: block;
}
.wedding_countdown_numbers b {
  font-size: clamp(18px, 2vw, 24px);
  font-variant-numeric: tabular-nums;
  line-height: 1;
}
.wedding_countdown_numbers small {
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 10px;
}

.wedding_countdown_progress {
  height: 5px;
  grid-column: 1/-1;
  overflow: hidden;
  border-radius: 999px;
  background: var(--border_color_lighter);
}
.wedding_countdown_progress i {
  width: 100%;
  height: 100%;
  display: block;
  border-radius: inherit;
  background: var(--main_color);
  transform: scaleX(var(--wedding-progress, 0));
  transform-origin: left center;
  transition: transform 1s linear;
}
.wedding_countdown_progress[hidden] {
  display: none;
}

.wedding_operations_highlights {
  display: grid;
  grid-template-columns: repeat(6, minmax(120px, 1fr));
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_operations_highlights span {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 3px;
  min-height: 72px;
  padding: 11px 13px;
  border-right: 1px solid var(--border_color_lighter);
}
.wedding_operations_highlights span:last-child {
  border-right: 0;
}
.wedding_operations_highlights small {
  color: var(--text_color_lighter1);
  font-size: 11px;
}
.wedding_operations_highlights strong {
  overflow-wrap: anywhere;
  font-size: 13px;
}

.wedding_operations_details {
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_operations_details summary {
  min-height: 44px;
  display: flex;
  align-items: center;
  padding: 0 18px;
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
  cursor: pointer;
}
.wedding_operations_details[open] summary {
  border-bottom: 1px solid var(--border_color_lighter);
}

.wedding_operations_details_content {
  display: grid;
  gap: 16px;
  padding: 16px 18px 18px;
}
.wedding_operations_details_content > section {
  display: grid;
  gap: 8px;
}
.wedding_operations_details_content > section h3 {
  margin: 0;
  font-size: 14px;
}

.wedding_operations_metadata {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 0;
}
.wedding_operations_metadata > div {
  min-width: 0;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_operations_metadata > div dt {
  color: var(--text_color_lighter1);
  font-size: 11px;
}
.wedding_operations_metadata > div dd {
  margin: 4px 0 0;
  overflow-wrap: anywhere;
  color: var(--text_color);
  font-size: 12px;
}

.wedding_operations_stats, .wedding_operations_finance {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 7px;
}
.wedding_operations_stats span, .wedding_operations_finance span {
  display: grid;
  gap: 2px;
  padding: 9px;
  border-radius: 8px;
  background: var(--bg_color);
}
.wedding_operations_stats span small, .wedding_operations_finance span small {
  color: var(--text_color_lighter1);
  font-size: 11px;
}
.wedding_operations_stats span strong, .wedding_operations_finance span strong {
  color: var(--text_color);
  font-size: 12px;
}

.wedding_operations_finance strong {
  color: var(--main_color) !important;
}

.wedding_pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
}
.wedding_pagination a {
  min-width: 40px;
  min-height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border_color);
  border-radius: 7px;
  color: var(--text_color);
}
.wedding_pagination a.active {
  border-color: var(--main_color);
  background: var(--main_color);
  color: #fff;
}

.wedding_checkin_dashboard {
  --checkin-teal: #0799aa;
  --checkin-green: #43a047;
  --checkin-orange: #ef9300;
  --checkin-red: #e84343;
  display: grid;
  gap: 12px;
  color: var(--text_color);
}
.wedding_checkin_dashboard svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.wedding_checkin_dashboard button, .wedding_checkin_dashboard a, .wedding_checkin_dashboard input, .wedding_checkin_dashboard select {
  min-height: 40px;
}
.wedding_checkin_dashboard button, .wedding_checkin_dashboard a {
  cursor: pointer;
}

.wedding_checkin_mobile_heading {
  display: none;
}

.wedding_checkin_metrics {
  display: grid;
  grid-template-columns: repeat(6, minmax(128px, 1fr));
  gap: 10px;
  background: transparent;
}
.wedding_checkin_metrics article {
  min-width: 0;
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--white_color);
}
.wedding_checkin_metrics article > span {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  display: grid;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--metric-color) 22%, transparent);
  border-radius: 50%;
  background: color-mix(in srgb, var(--metric-color) 8%, transparent);
  color: var(--metric-color);
}
.wedding_checkin_metrics article div {
  min-width: 0;
  display: grid;
  grid-template-columns: auto auto;
  align-items: baseline;
  gap: 2px 7px;
}
.wedding_checkin_metrics article div small {
  grid-column: 1/-1;
  overflow: hidden;
  color: var(--text_color_lighter1);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_checkin_metrics article div strong {
  font-size: clamp(20px, 2vw, 26px);
  line-height: 1;
}
.wedding_checkin_metrics article div em {
  color: var(--metric-color);
  font-size: 13px;
  font-style: normal;
}
.wedding_checkin_metrics .metric_total {
  --metric-color: var(--checkin-teal);
}
.wedding_checkin_metrics .metric_checked_in {
  --metric-color: var(--checkin-green);
}
.wedding_checkin_metrics .metric_pending {
  --metric-color: var(--checkin-orange);
}
.wedding_checkin_metrics .metric_vip {
  --metric-color: #ef8700;
}
.wedding_checkin_metrics .metric_walk_ins {
  --metric-color: #e74c5b;
}
.wedding_checkin_metrics .metric_qr_today {
  --metric-color: #058ab8;
}

.wedding_checkin_filters {
  display: grid;
  grid-template-columns: minmax(230px, 1fr) repeat(4, minmax(105px, auto)) auto auto;
  gap: 8px;
  align-items: center;
}
.wedding_checkin_filters input, .wedding_checkin_filters select {
  width: 100%;
  margin: 0;
  padding: 0 11px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px;
  background: var(--white_color);
  color: var(--text_color);
  font-size: 13px;
}
.wedding_checkin_filters .sa_btn {
  margin: 0;
  white-space: nowrap;
}

.wedding_checkin_search {
  position: relative;
}
.wedding_checkin_search svg {
  position: absolute;
  z-index: 1;
  top: 10px;
  right: 10px;
  width: 17px;
  color: var(--text_color_lighter1);
}
.wedding_checkin_search input {
  padding-right: 38px;
}

.wedding_checkin_view_switch {
  display: flex;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px;
  overflow: hidden;
}
.wedding_checkin_view_switch a {
  min-height: 38px;
  display: grid;
  place-items: center;
  padding: 0 12px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  text-decoration: none;
}
.wedding_checkin_view_switch a.active {
  background: var(--main_color);
  color: #fff;
}

.wedding_checkin_actions {
  display: flex;
  align-items: center;
  gap: 8px;
  overflow-x: auto;
}
.wedding_checkin_actions button, .wedding_checkin_actions a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 0 14px;
  border: 1px solid var(--main_color_lighter3);
  border-radius: 7px;
  background: var(--white_color);
  color: var(--main_color);
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
  white-space: nowrap;
}
.wedding_checkin_actions button.active, .wedding_checkin_actions a.active {
  background: var(--main_color);
  color: #fff;
}
.wedding_checkin_actions button.active svg, .wedding_checkin_actions a.active svg {
  color: #fff;
  stroke: #fff;
}
.wedding_checkin_actions .wedding_checkin_cache {
  margin-left: auto;
  color: var(--text_color_lighter1);
  font-size: 13px;
  white-space: nowrap;
}
.wedding_checkin_actions .wedding_checkin_cache.is_ready {
  color: var(--checkin-green);
}
.wedding_checkin_actions .wedding_checkin_cache.is_stale {
  color: var(--checkin-orange);
}

.wedding_checkin_workspace {
  display: grid;
  grid-template-columns: minmax(320px, 250px) minmax(620px, 1fr) minmax(210px, 250px);
  gap: 12px;
  align-items: start;
}

.wedding_checkin_left, .wedding_checkin_right {
  display: grid;
  gap: 10px;
}

.wedding_checkin_scanner, .wedding_checkin_manual, .wedding_last_scanned, .wedding_checkin_roster, .wedding_checkin_right > section, .wedding_checkin_reports > section, .wedding_checkin_mobile_overview {
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--white_color);
}

.wedding_checkin_scanner, .wedding_checkin_manual {
  padding: 16px;
}
.wedding_checkin_scanner h3, .wedding_checkin_manual h3 {
  margin: 0 0 12px;
  color: var(--text_color);
  font-size: 15px;
  line-height: 1.35;
}

.wedding_scanner_view {
  min-height: 210px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 11px;
  padding: 16px;
  border: 1px solid var(--main_color_lighter4);
  border-radius: 10px;
  background: var(--main_color_lighter6);
  text-align: center;
}
.wedding_scanner_view video {
  width: 100%;
  max-height: 180px;
  border-radius: 8px;
  object-fit: cover;
}
.wedding_scanner_view > span {
  width: 104px;
  height: 82px;
  display: grid;
  place-items: center;
  border: 2px dashed var(--main_color);
  border-radius: 10px;
  color: var(--main_color);
}
.wedding_scanner_view > span svg {
  width: 46px;
  height: 46px;
}
.wedding_scanner_view p {
  margin: 0;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_scanner_view button {
  width: 100%;
  min-height: 42px;
  margin: 0;
  padding: 0 12px;
}

.wedding_code_divider {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 10px 0 7px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  white-space: nowrap;
}
.wedding_code_divider::before, .wedding_code_divider::after {
  height: 1px;
  flex: 1;
  content: "";
  background: var(--border_color_lighter);
}

[data-wp-checkin-submit] {
  display: flex;
  align-items: flex-end;
}
[data-wp-checkin-submit] label {
  min-width: 0;
  display: grid;
  flex: 1;
}
[data-wp-checkin-submit] input {
  width: 100%;
  min-height: 38px;
  margin: 0;
  padding: 0 9px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px 0 0 7px;
  background: var(--white_color);
  color: var(--text_color);
  font-size: 13px;
}
[data-wp-checkin-submit] button {
  min-width: 40px;
  height: 38px;
  min-height: 38px;
  align-self: flex-end;
  border: 0;
  border-radius: 0 7px 7px 0;
  background: var(--main_color);
  color: #fff;
}

.wedding_checkin_manual label {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid var(--border_color);
  border-radius: 9px;
}
.wedding_checkin_manual label input {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text_color);
}
.wedding_checkin_manual > p {
  margin: 0 0 12px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.5;
}
.wedding_checkin_manual > button {
  width: 100%;
  min-height: 42px;
  margin-top: 10px;
}
.wedding_checkin_manual [data-wp-manual-results] {
  max-height: 300px;
  display: grid;
  gap: 7px;
  overflow: auto;
  margin-top: 10px;
}
.wedding_checkin_manual [data-wp-manual-results] button {
  min-height: 52px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 3px 8px;
  padding: 9px 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--white_color);
  color: var(--text_color);
  text-align: left;
}
.wedding_checkin_manual [data-wp-manual-results] button strong {
  font-size: 13px;
}
.wedding_checkin_manual [data-wp-manual-results] button small {
  grid-column: 1;
  color: var(--text_color_lighter1);
}
.wedding_checkin_manual [data-wp-manual-results] button b {
  grid-column: 2;
  grid-row: 1/3;
  align-self: center;
  color: var(--main_color);
}
.wedding_checkin_manual [data-wp-manual-results] button:hover, .wedding_checkin_manual [data-wp-manual-results] button:focus-visible {
  border-color: var(--main_color);
}

.wedding_last_scanned {
  padding: 13px;
}
.wedding_last_scanned header {
  display: flex;
  justify-content: space-between;
}
.wedding_last_scanned header h3 {
  margin: 0;
  font-size: 13px;
}
.wedding_last_scanned header small {
  color: var(--main_color);
}
.wedding_last_scanned > div {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 4px 9px;
  align-items: center;
  margin-top: 12px;
}
.wedding_last_scanned > div .wedding_guest_avatar {
  grid-row: 1/3;
}
.wedding_last_scanned > div small, .wedding_last_scanned > div p {
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_guest_avatar {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  display: grid;
  place-items: center;
  border: 1px solid var(--main_color_lighter4);
  border-radius: 50%;
  background: var(--main_color_lighter6);
  color: var(--main_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_guest_avatar.is_walkin {
  color: #7b4bcc;
}

.wedding_checkin_roster {
  min-width: 0;
  overflow: hidden;
}

.wedding_checkin_table_wrap {
  overflow-x: auto;
}
.wedding_checkin_table_wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.wedding_checkin_table_wrap th {
  padding: 8px 7px;
  border-bottom: 1px solid var(--border_color_lighter);
  color: var(--text_color_lighter1);
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}
.wedding_checkin_table_wrap td {
  padding: 7px;
  border-bottom: 1px solid var(--border_color_lighter);
  vertical-align: middle;
  white-space: nowrap;
}
.wedding_checkin_table_wrap td:first-child {
  display: flex;
  align-items: center;
  gap: 7px;
  min-width: 145px;
}
.wedding_checkin_table_wrap td > span:not(.wedding_checkin_status):not(.wedding_rsvp) {
  display: grid;
  gap: 2px;
}
.wedding_checkin_table_wrap td small {
  display: block;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_checkin_table_wrap td form {
  display: flex;
}
.wedding_checkin_table_wrap td form input {
  width: 40px;
  min-height: 30px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 5px 0 0 5px;
}
.wedding_checkin_table_wrap td form button {
  min-height: 30px;
  padding: 0 8px;
  border: 1px solid var(--main_color_lighter3);
  border-radius: 0 5px 5px 0;
  background: var(--white_color);
  color: var(--main_color);
  font-size: 13px;
}
.wedding_checkin_table_wrap td > button {
  min-height: 30px;
  padding: 0 7px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 5px;
  background: var(--white_color);
  color: var(--main_color);
  font-size: 13px;
}

.wedding_checkin_roster > footer {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_checkin_roster > footer nav {
  display: flex;
  gap: 5px;
}
.wedding_checkin_roster > footer nav a {
  min-width: 30px;
  min-height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border_color_lighter);
  border-radius: 6px;
  color: var(--text_color);
  text-decoration: none;
}
.wedding_checkin_roster > footer nav a.active {
  border-color: var(--main_color);
  background: var(--main_color);
  color: #fff;
}

.wedding_checkin_roster.is_grid .wedding_checkin_table_wrap {
  padding: 10px;
  overflow: visible;
}
.wedding_checkin_roster.is_grid table, .wedding_checkin_roster.is_grid tbody {
  display: block;
}
.wedding_checkin_roster.is_grid thead {
  display: none;
}
.wedding_checkin_roster.is_grid tbody {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}
.wedding_checkin_roster.is_grid tr {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_checkin_roster.is_grid td {
  display: block;
  padding: 0;
  border: 0;
  white-space: normal;
}
.wedding_checkin_roster.is_grid td:first-child {
  grid-column: 1/-1;
}
.wedding_checkin_roster.is_grid td:nth-child(3), .wedding_checkin_roster.is_grid td:nth-child(6), .wedding_checkin_roster.is_grid td:nth-child(7) {
  display: none;
}
.wedding_checkin_roster.is_grid td:last-child {
  grid-column: 1/-1;
  display: flex;
  gap: 6px;
}

.wedding_rsvp, .wedding_checkin_status {
  display: inline-flex;
  align-items: center;
  min-height: 21px;
  padding: 2px 6px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 5px;
  font-size: 13px;
  white-space: nowrap;
}
.wedding_rsvp.is_attending, .wedding_rsvp.is_checked_in, .wedding_checkin_status.is_attending, .wedding_checkin_status.is_checked_in {
  border-color: color-mix(in srgb, var(--checkin-green) 25%, transparent);
  background: color-mix(in srgb, var(--checkin-green) 8%, transparent);
  color: var(--checkin-green);
}
.wedding_rsvp.is_waiting, .wedding_rsvp.is_partial, .wedding_checkin_status.is_waiting, .wedding_checkin_status.is_partial {
  border-color: color-mix(in srgb, var(--checkin-orange) 25%, transparent);
  background: color-mix(in srgb, var(--checkin-orange) 8%, transparent);
  color: #b36a00;
}
.wedding_rsvp.is_declined, .wedding_checkin_status.is_declined {
  color: var(--checkin-red);
}

.wedding_checkin_right > section {
  padding: 12px;
}
.wedding_checkin_right > section h3 {
  margin: 0 0 10px;
  font-size: 13px;
}
.wedding_checkin_right > section header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.wedding_checkin_right > section header button {
  min-height: 28px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font-size: 13px;
}

.wedding_recent_checkins article {
  min-height: 40px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) auto;
  gap: 3px 7px;
  align-items: center;
  padding: 5px 0;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_recent_checkins article .wedding_guest_avatar {
  width: 30px;
  height: 30px;
  grid-row: 1/3;
}
.wedding_recent_checkins article div {
  display: grid;
}
.wedding_recent_checkins article div strong {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_recent_checkins article div small {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_recent_checkins article time {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_recent_checkins article .wedding_checkin_status {
  grid-column: 3;
  font-size: 13px;
}

.wedding_checkin_operators article {
  display: grid;
  grid-template-columns: 8px 1fr auto;
  gap: 2px 6px;
  align-items: center;
  padding: 5px 0;
  font-size: 13px;
}
.wedding_checkin_operators article .wedding_presence_dot {
  width: 7px;
  height: 7px;
  grid-row: 1/3;
  border-radius: 50%;
  background: var(--checkin-red);
}
.wedding_checkin_operators article .wedding_presence_dot.is_online {
  background: var(--checkin-green);
}
.wedding_checkin_operators article small {
  grid-column: 2;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_checkin_operators article b {
  grid-column: 3;
  grid-row: 1/3;
  display: grid;
  text-align: right;
}
.wedding_checkin_operators article b em {
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
}

.wedding_checkin_issues [data-wp-issue-list] {
  display: grid;
}
.wedding_checkin_issues [data-wp-issue-list] button {
  min-height: 34px;
  display: grid;
  grid-template-columns: 16px 1fr auto auto;
  gap: 6px;
  align-items: center;
  padding: 4px 0;
  border: 0;
  border-bottom: 1px solid var(--border_color_lighter);
  background: transparent;
  color: var(--text_color);
  font-size: 13px;
  text-align: left;
}
.wedding_checkin_issues [data-wp-issue-list] button svg {
  width: 15px;
  color: var(--checkin-red);
}
.wedding_checkin_issues [data-wp-issue-list] button b {
  min-width: 20px;
  padding: 3px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--checkin-red) 9%, transparent);
  color: var(--checkin-red);
  text-align: center;
}
.wedding_checkin_issues [data-wp-issue-list] button em {
  color: var(--text_color_lighter1);
  font-size: 14px;
  font-style: normal;
}

.wedding_checkin_reports {
  display: grid;
  grid-template-columns: 1.1fr 1.1fr 0.8fr;
  gap: 12px;
}
.wedding_checkin_reports > section {
  min-width: 0;
  padding: 13px 16px;
}
.wedding_checkin_reports > section h3 {
  margin: 0 0 9px;
  font-size: 13px;
}
.wedding_checkin_reports > section > article {
  display: grid;
  grid-template-columns: minmax(70px, 1fr) auto minmax(90px, 1.2fr) auto;
  gap: 7px;
  align-items: center;
  margin: 5px 0;
  font-size: 13px;
}
.wedding_checkin_reports > section > article progress {
  width: 100%;
  height: 4px;
  border: 0;
  accent-color: var(--main_color);
}
.wedding_checkin_reports > section > div {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 6px;
}
.wedding_checkin_reports > section > div article {
  min-width: 0;
  display: grid;
  gap: 3px;
  padding: 7px;
  border-right: 1px solid var(--border_color_lighter);
}
.wedding_checkin_reports > section > div article svg {
  color: var(--main_color);
}
.wedding_checkin_reports > section > div article span {
  overflow: hidden;
  color: var(--text_color_lighter1);
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_checkin_reports > section > div article strong {
  font-size: 16px;
}
.wedding_checkin_reports > section > a {
  display: inline-block;
  min-height: auto;
  margin-top: 8px;
  color: var(--main_color);
  font-size: 13px;
  text-decoration: none;
}

.wedding_checkin_mobile_overview {
  display: none;
}

.wedding_checkin_dialog {
  width: min(900px, 100vw - 28px);
}
.wedding_checkin_dialog .wedding_checkin_dialog_list {
  min-height: 180px;
  max-height: 65vh;
  display: grid;
  align-content: start;
  overflow: auto;
  padding: 16px 20px;
}
.wedding_checkin_dialog .wedding_checkin_dialog_list article {
  min-height: 58px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) auto auto auto;
  gap: 8px 12px;
  align-items: center;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_checkin_dialog .wedding_checkin_dialog_list article div {
  display: grid;
  gap: 3px;
}
.wedding_checkin_dialog .wedding_checkin_dialog_list article div small {
  color: var(--text_color_lighter1);
}
.wedding_checkin_dialog .wedding_checkin_dialog_list article form {
  display: flex;
  gap: 6px;
}
.wedding_checkin_dialog .wedding_checkin_dialog_list article form input {
  min-width: 180px;
}
.wedding_checkin_dialog .wedding_checkin_dialog_list article button {
  min-height: 36px;
}
.wedding_checkin_dialog .wedding_checkin_history_empty {
  min-height: 148px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  padding: 24px;
  color: var(--text_color_lighter1);
  text-align: center;
}
.wedding_checkin_dialog .wedding_checkin_history_empty svg {
  width: 30px;
  height: 30px;
  color: var(--main_color);
}
.wedding_checkin_dialog .wedding_checkin_history_empty strong {
  color: var(--text_color);
  font-size: 14px;
}
.wedding_checkin_dialog .wedding_checkin_history_empty p {
  margin: 0;
  font-size: 13px;
}
.wedding_checkin_dialog > form {
  display: grid;
  gap: 12px;
  padding: 16px;
}
.wedding_checkin_dialog > form label {
  display: grid;
  gap: 5px;
}
.wedding_checkin_dialog > form input, .wedding_checkin_dialog > form textarea {
  width: 100%;
  margin: 0;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 7px;
  background: var(--white_color);
  color: var(--text_color);
}

.wedding_operations_grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 16px;
  margin-top: 16px;
}

.wedding_checklist_workspace, .wedding_logistics_workspace {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 0;
  overflow: hidden;
}

.wedding_settings_card.wedding_checklist_workspace {
  background: var(--white_color);
}

.wedding_workspace_header {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  border-bottom: 1px solid var(--border_color_lighter);
  background: var(--bg_color_darker1);
}
.wedding_workspace_header .wedding_workspace_icon {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 18px;
  font-weight: 800;
}
.wedding_workspace_header h2, .wedding_workspace_header p {
  margin: 0;
}
.wedding_workspace_header h2 {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 16px;
}
.wedding_workspace_header h2 b {
  min-width: 25px;
  min-height: 25px;
  display: inline-grid;
  place-items: center;
  padding: 2px 7px;
  border-radius: 999px;
  background: var(--main_color_lighter5);
  color: var(--main_color);
  font-size: 13px;
}
.wedding_workspace_header p {
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
  line-height: 1.45;
}
.wedding_workspace_header .manage_add_new_btn {
  min-height: 40px;
  white-space: nowrap;
}

.wedding_workspace_list {
  display: grid;
  gap: 0;
  padding: 0 18px;
}
.wedding_workspace_list article {
  min-width: 0;
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  min-height: 62px;
  padding: 10px 0;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_workspace_list article:last-child {
  border-bottom: 0;
}
.wedding_workspace_list article.is_done {
  opacity: 0.68;
}
.wedding_workspace_list article.is_done strong {
  text-decoration: line-through;
}
.wedding_workspace_list article > div {
  min-width: 0;
}
.wedding_workspace_list article strong, .wedding_workspace_list article small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_workspace_list article strong {
  color: var(--text_color);
  font-size: 13px;
}
.wedding_workspace_list article small {
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_workspace_list article > em {
  padding: 4px 7px;
  border-radius: 999px;
  background: var(--bg_color_darker1);
  color: var(--text_color_lighter1);
  font-size: 13px;
  font-style: normal;
  text-transform: capitalize;
}
.wedding_workspace_list article > em.is_high, .wedding_workspace_list article > em.is_urgent {
  background: color-mix(in srgb, var(--red_color, #c62f3b) 9%, var(--white_color));
  color: var(--red_color, #c62f3b);
}
.wedding_workspace_list article .wedding_workspace_dependency {
  grid-column: 2/-1;
  margin-top: -5px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}

.wedding_workspace_marker {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid var(--border_color);
  border-radius: 50%;
  color: var(--main_color);
  font-weight: 800;
}

.wedding_checklist_workspace .wedding_template_controls {
  margin: 0 18px 18px;
}

.wedding_logistics_workspace .wedding_schedule_conflicts {
  margin: 0 18px;
}

.wedding_logistics_workspace .wedding_timeline_list {
  padding-bottom: 8px;
}
.wedding_logistics_workspace .wedding_timeline_list article {
  grid-template-columns: 28px minmax(0, 1fr) auto;
  padding-block: 10px;
}

.wedding_template_controls {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid var(--border_color_lighter);
}
.wedding_template_controls form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
}
.wedding_template_controls form label {
  min-width: 0;
}

.wedding_schedule_conflicts {
  margin-bottom: 12px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, #d64b4b 35%, var(--border_color));
  border-radius: 10px;
  background: color-mix(in srgb, #d64b4b 7%, var(--white_color));
  color: var(--text_color);
}
.wedding_schedule_conflicts ul {
  margin: 8px 0 0;
  padding-left: 20px;
}

.wedding_timeline_list {
  display: grid;
  gap: 2px;
}
.wedding_timeline_list article {
  min-width: 0;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr) auto;
  align-items: center;
  gap: 9px;
  min-height: 52px;
  padding-block: 8px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_timeline_list article > span {
  color: var(--main_color);
  text-align: center;
}
.wedding_timeline_list article div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_timeline_list article strong, .wedding_timeline_list article small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_timeline_list article small, .wedding_timeline_list article em {
  color: var(--text_color_lighter1);
  font-size: 12px;
  font-style: normal;
}

.wedding_ai_limit_grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 14px;
}
.wedding_ai_limit_grid fieldset {
  min-width: 0;
  display: grid;
  gap: 9px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
}

.wedding_ai_operations {
  display: grid;
  gap: 16px;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_ai_operations > header h3, .wedding_ai_operations > header p {
  margin: 0;
}
.wedding_ai_operations > header p {
  margin-top: 4px;
  color: var(--text_color_lighter1);
}

.wedding_ai_usage_metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.wedding_ai_usage_metrics article {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
}
.wedding_ai_usage_metrics article strong {
  font-size: 20px;
}
.wedding_ai_usage_metrics article small {
  color: var(--text_color_lighter1);
}

.wedding_ai_usage_table {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
}
.wedding_ai_usage_table table {
  width: 100%;
  min-width: 680px;
  border-collapse: collapse;
}
.wedding_ai_usage_table th, .wedding_ai_usage_table td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--border_color_lighter);
  text-align: left;
  white-space: nowrap;
}
.wedding_ai_usage_table th {
  color: var(--text_color_lighter1);
  font-size: 12px;
}

.wedding_public_share {
  min-width: 0;
  display: grid;
  gap: 12px;
  color: var(--text_color);
}

.wedding_public_share_header {
  min-height: 92px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 17px 18px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}
.wedding_public_share_header h2, .wedding_public_share_header p {
  margin: 0;
}
.wedding_public_share_header h2 {
  margin-top: 7px;
  font-size: 20px;
}
.wedding_public_share_header p {
  margin-top: 4px;
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_public_share_header .plugin_badge {
  width: fit-content;
  padding: 4px 8px;
  border-radius: 999px;
  background: var(--main_color_lighter6);
  color: var(--main_color);
  font-size: 11px;
  font-weight: 800;
}

.wedding_public_share_meta {
  display: grid;
  gap: 2px;
  text-align: right;
  line-height: 1.25;
}
.wedding_public_share_meta small {
  color: var(--text_color_lighter1);
  font-size: 10px;
}
.wedding_public_share_meta strong {
  color: var(--text_color);
  font-size: 11px;
  font-weight: 700;
}

.wedding_public_share_link {
  display: flex;
  align-items: end;
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--white_color);
}
.wedding_public_share_link label {
  min-width: 220px;
  flex: 1;
  display: grid;
  gap: 4px;
}
.wedding_public_share_link label span {
  color: var(--text_color_lighter1);
  font-size: 12px;
}
.wedding_public_share_link form {
  display: contents;
}
.wedding_public_share_link .sa_btn {
  min-height: 40px;
  white-space: nowrap;
}

.wedding_public_share_sections {
  display: flex;
  flex-wrap: nowrap;
  gap: 5px;
  padding: 5px;
  overflow-x: auto;
  overflow-y: hidden;
  border: 1px solid var(--border_color_lighter);
  border-radius: 10px;
  background: var(--white_color);
}
.wedding_public_share_sections button {
  min-height: 38px;
  flex: 0 0 auto;
  padding: 0 14px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--text_color_lighter1);
  font: inherit;
  font-size: 13px;
  font-weight: 750;
  white-space: nowrap;
  cursor: pointer;
}
.wedding_public_share_sections button.active {
  background: var(--main_color_lighter6);
  color: var(--main_color);
}

.wedding_public_share_layout {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(340px, 0.8fr) minmax(430px, 1.2fr);
  gap: 12px;
  align-items: start;
  background: transparent;
}

.wedding_public_share_editor {
  min-width: 0;
  display: grid;
  gap: 12px;
}

.wedding_public_share_controls, .wedding_public_share_preview {
  min-width: 0;
  border: 1px solid var(--border_color_lighter);
  border-radius: 12px;
  background: var(--white_color);
}

.wedding_public_share_controls form {
  display: grid;
}
.wedding_public_share_controls form > section {
  display: grid;
  gap: 13px;
  padding: 18px;
}
.wedding_public_share_controls form > section[hidden] {
  display: none;
}
.wedding_public_share_controls form > section > h3, .wedding_public_share_controls form > section > p {
  margin: 0;
}
.wedding_public_share_controls form > section > p {
  color: var(--text_color_lighter1);
  font-size: 13px;
}
.wedding_public_share_controls form > section label {
  min-width: 0;
  display: grid;
  gap: 5px;
}
.wedding_public_share_controls form > section label > span {
  color: var(--text_color_lighter1);
  font-size: 12px;
  font-weight: 700;
}
.wedding_public_share_controls form > section .form_input {
  width: 100%;
  margin: 0;
}

.wedding_public_share_status {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-left: 3px solid var(--main_color);
  background: var(--main_color_lighter6);
}
.wedding_public_share_status span {
  color: var(--main_color);
  font-weight: 800;
}
.wedding_public_share_status small {
  color: var(--text_color_lighter1);
}

.wedding_public_design_heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.wedding_public_design_heading h3 {
  margin: 0;
}

.wedding_public_more_templates {
  min-height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.wedding_public_more_templates:hover, .wedding_public_more_templates:focus-visible {
  text-decoration: underline;
}
.wedding_public_more_templates:focus-visible {
  outline: 2px solid var(--main_color);
  outline-offset: 2px;
}

.wedding_public_template_grid {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  padding: 0;
  border: 0;
}
.wedding_public_template_grid label {
  min-width: 0;
  cursor: pointer;
}
.wedding_public_template_grid label input {
  position: absolute;
  opacity: 0;
}
.wedding_public_template_grid label > span {
  min-height: 142px;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-content: start;
  gap: 7px;
  padding: 6px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 6px;
  background: var(--bg_color);
  color: var(--text_color);
}
.wedding_public_template_grid label > span > strong {
  overflow-wrap: anywhere;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
}
.wedding_public_template_grid label > span i {
  position: relative;
  width: 100%;
  height: 150px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--template-accent) 25%, var(--border_color));
  border-radius: 3px;
  background: var(--template-bg);
  font-style: normal;
}
.wedding_public_template_grid label > span i .wedding_public_card {
  position: absolute;
  top: 0;
  left: 0;
  width: 780px;
  min-height: 620px;
  transform: scale(0.138692);
  transform-origin: top left;
}
.wedding_public_template_grid label > span.is_blank i {
  border-style: dashed;
}
.wedding_public_template_grid label input:focus-visible + span {
  outline: 2px solid var(--main_color);
  outline-offset: 2px;
}
.wedding_public_template_grid label input:checked + span {
  border-color: var(--main_color);
  background: var(--main_color_lighter6);
}

.wedding_public_template_grid label[data-wpc-template-option=editorial_split] > span {
  gap: 7px;
  padding: 0 0 6px;
  overflow: hidden;
}
.wedding_public_template_grid label[data-wpc-template-option=editorial_split] > span > i {
  border-width: 0 0 1px;
  border-radius: 0;
}
.wedding_public_template_grid label[data-wpc-template-option=editorial_split] > span > strong {
  padding-inline: 6px;
}

.wedding_public_template_library_dialog {
  width: min(1040px, 100vw - 28px);
}

.wedding_public_template_library_grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.wedding_public_template_library_grid button {
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.wedding_public_template_library_grid button > span {
  min-height: 184px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--bg_color);
}
.wedding_public_template_library_grid button > span > strong {
  font-weight: 600;
}
.wedding_public_template_library_grid button > span i {
  position: relative;
  width: 100%;
  height: 280px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--template-accent) 25%, var(--border_color));
  border-radius: 4px;
  background: var(--template-bg);
  font-style: normal;
}
.wedding_public_template_library_grid button > span i .wedding_public_card {
  position: absolute;
  top: 0;
  left: 0;
  width: 780px;
  min-height: 620px;
  transform: scale(0.284);
  transform-origin: top left;
}
.wedding_public_template_library_grid button > span.is_blank i {
  border-style: dashed;
}
.wedding_public_template_library_grid button:hover > span, .wedding_public_template_library_grid button:focus-visible > span, .wedding_public_template_library_grid button[aria-pressed=true] > span {
  border-color: var(--main_color);
}
.wedding_public_template_library_grid button:focus-visible {
  outline: 0;
}
.wedding_public_template_library_grid button[aria-pressed=true] > span {
  background: var(--main_color_lighter6);
}

.wedding_public_control_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.wedding_public_control_grid .is_wide {
  grid-column: 1/-1;
}
.wedding_public_control_grid input[type=color] {
  min-height: 42px;
  padding: 4px;
}

.wedding_public_translated_field {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 5px;
}
.wedding_public_translated_field > label {
  min-width: 0;
}

.wedding_public_translate_button {
  width: fit-content;
  min-height: 26px;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: var(--main_color);
  font: inherit;
  font-size: 11px;
  font-weight: 800;
  cursor: pointer;
}
.wedding_public_translate_button:hover, .wedding_public_translate_button:focus-visible {
  text-decoration: underline;
}
.wedding_public_translate_button:focus-visible {
  outline: 2px solid var(--main_color);
  outline-offset: 2px;
}

.wedding_public_translation_field {
  padding: 8px 0 2px 10px;
  border-left: 2px solid var(--main_color_lighter4);
}
.wedding_public_translation_field[hidden] {
  display: none;
}

.wedding_public_section_order {
  display: grid;
  gap: 5px;
  padding: 0;
  border: 0;
}
.wedding_public_section_order legend {
  margin-bottom: 4px;
  font-weight: 800;
}
.wedding_public_section_order > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 36px 36px;
  gap: 5px;
  align-items: center;
  min-height: 43px;
  padding: 5px 6px 5px 11px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_public_section_order > div .sa_btn {
  min-width: 36px;
  min-height: 32px;
  padding: 0;
}

.wedding_public_toggle_grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;
}
.wedding_public_toggle_grid label {
  min-height: 42px;
  display: flex !important;
  align-items: center;
  gap: 9px;
  padding: 7px 10px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--bg_color);
  cursor: pointer;
}
.wedding_public_toggle_grid label input {
  flex: 0 0 auto;
  accent-color: var(--main_color);
}
.wedding_public_toggle_grid label span {
  color: var(--text_color) !important;
}

.wedding_public_details_editor {
  display: grid;
  gap: 14px;
}

.wedding_public_event_picker {
  min-width: 0;
  display: grid;
  gap: 7px;
  padding: 0;
  border: 0;
}
.wedding_public_event_picker legend {
  margin-bottom: 7px;
  color: var(--text_color);
  font-size: 13px;
  font-weight: 800;
}
.wedding_public_event_picker label {
  min-width: 0;
  min-height: 54px;
  display: grid !important;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 9px 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 9px;
  background: var(--white_color);
  cursor: pointer;
}
.wedding_public_event_picker label input {
  place-self: center;
  margin: 0;
  accent-color: var(--main_color);
}
.wedding_public_event_picker label span {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_public_event_picker label strong, .wedding_public_event_picker label small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.wedding_public_event_picker label strong {
  color: var(--text_color);
  font-size: 13px;
  line-height: 1.3;
}
.wedding_public_event_picker label small {
  color: var(--text_color_lighter1);
  font-size: 11px;
  line-height: 1.3;
}
.wedding_public_event_picker label:has(input:checked) {
  border-color: var(--main_color);
  background: var(--main_color_lighter6);
}
.wedding_public_event_picker label:hover, .wedding_public_event_picker label:focus-within {
  border-color: var(--main_color);
}

.wedding_public_share_actions {
  position: sticky;
  z-index: 2;
  bottom: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 12px 18px;
  border-top: 1px solid var(--border_color_lighter);
  background: var(--white_color);
}
.wedding_public_share_actions .manage_add_new_btn {
  margin-left: auto;
}

.wedding_public_share_preview {
  position: sticky;
  top: 12px;
  overflow: hidden;
}
.wedding_public_share_preview > header {
  min-height: 48px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 7px 12px;
  border-bottom: 1px solid var(--border_color_lighter);
}
.wedding_public_share_preview > header .sa_btn {
  min-height: 34px;
}
.wedding_public_share_preview > div {
  max-height: calc(100dvh - 106px);
  overflow: auto;
  padding: 14px;
  background: var(--bg_color_darker1);
}
.wedding_public_share_preview > div[hidden] {
  display: none;
}

.wedding_public_feedback_summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.wedding_public_feedback_summary article {
  display: grid;
  gap: 3px;
  padding: 12px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
}
.wedding_public_feedback_summary article strong {
  font-size: 21px;
}
.wedding_public_feedback_summary article span {
  color: var(--text_color_lighter1);
}

.wedding_public_comment_inbox, .wedding_public_pledge_inbox {
  display: grid;
  gap: 7px;
}
.wedding_public_comment_inbox > h4, .wedding_public_pledge_inbox > h4 {
  margin: 10px 0 2px;
}
.wedding_public_comment_inbox article, .wedding_public_pledge_inbox article {
  display: grid;
  gap: 7px;
  padding: 11px;
  border: 1px solid var(--border_color_lighter);
  border-radius: 8px;
  background: var(--bg_color);
}
.wedding_public_comment_inbox article.is_new, .wedding_public_pledge_inbox article.is_new {
  border-left: 3px solid var(--main_color);
}
.wedding_public_comment_inbox article header, .wedding_public_comment_inbox article form, .wedding_public_pledge_inbox article header, .wedding_public_pledge_inbox article form {
  display: flex;
  justify-content: space-between;
  gap: 7px;
}
.wedding_public_comment_inbox article header > div, .wedding_public_pledge_inbox article header > div {
  min-width: 0;
  display: grid;
  gap: 2px;
}
.wedding_public_comment_inbox article header > div small, .wedding_public_pledge_inbox article header > div small {
  overflow-wrap: anywhere;
  color: var(--text_color_lighter1);
}
.wedding_public_comment_inbox article time, .wedding_public_pledge_inbox article time {
  color: var(--text_color_lighter1);
  font-size: 12px;
}
.wedding_public_comment_inbox article p, .wedding_public_pledge_inbox article p {
  margin: 0;
}

.wedding_public_card_page {
  min-height: calc(100dvh - 100px);
  display: grid;
  place-items: start center;
  padding: 30px 16px;
  background: var(--bg_color_darker1);
}

.wedding_public_card {
  --card-accent: #116D70;
  --card-background: #F3F7F7;
  position: relative;
  width: min(780px, 100%);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--card-accent) 22%, var(--border_color));
  border-radius: 10px;
  background: var(--card-background);
  color: #263634;
  text-align: center;
}
.wedding_public_card::before, .wedding_public_card::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
}
.wedding_public_card.is_align_left {
  text-align: left;
}
.wedding_public_card.is_classic_floral {
  background: radial-gradient(circle at 0 0, color-mix(in srgb, var(--card-accent) 16%, transparent) 0 90px, transparent 91px), radial-gradient(circle at 100% 100%, color-mix(in srgb, var(--card-accent) 12%, transparent) 0 120px, transparent 121px), var(--card-background);
}
.wedding_public_card.is_garden_celebration {
  background: linear-gradient(145deg, color-mix(in srgb, var(--card-accent) 8%, var(--card-background)), var(--card-background));
}
.wedding_public_card.is_evening_elegance {
  border-color: color-mix(in srgb, var(--card-accent) 62%, transparent);
  background: linear-gradient(145deg, color-mix(in srgb, var(--card-background) 82%, #101719), var(--card-background));
  color: #F6F0E4;
}
.wedding_public_card.is_evening_elegance [data-wpc-visibility=names] {
  color: #FFF7E6;
}
.wedding_public_card.is_editorial_split {
  background: color-mix(in srgb, var(--card-background) 94%, #F5F1EA);
}
.wedding_public_card.is_romantic_postcard {
  background: linear-gradient(180deg, color-mix(in srgb, var(--card-accent) 7%, var(--card-background)), var(--card-background));
}
.wedding_public_card.is_heritage_album {
  background: color-mix(in srgb, var(--card-background) 88%, #E6D8C5);
  color: #392E25;
}

.wedding_public_card_decoration {
  position: absolute;
  z-index: 1;
  top: 12px;
  right: 12px;
  width: min(110px, 22%);
  max-height: 130px;
  object-fit: contain;
  pointer-events: none;
}

.wedding_public_card_cover {
  position: relative;
  z-index: 1;
  min-height: 230px;
  background: linear-gradient(180deg, transparent, rgba(0, 0, 0, 0.16)), var(--card-cover) center/cover no-repeat;
}
.is_background_solid .wedding_public_card_cover {
  margin: 20px 20px 0;
  border: 1px solid color-mix(in srgb, var(--card-accent) 24%, transparent);
  border-radius: 6px;
}

.wedding_public_card_inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.wedding_public_card_inner > section, .wedding_public_card_inner > header {
  padding: 25px clamp(18px, 5vw, 48px);
  border-bottom: 1px solid color-mix(in srgb, var(--card-accent) 16%, transparent);
}
.wedding_public_card_inner > :last-child {
  border-bottom: 0;
}

.wedding_public_card_hero {
  display: grid;
  justify-items: center;
  gap: 9px;
}
.is_align_left .wedding_public_card_hero {
  justify-items: start;
}
.wedding_public_card_hero small {
  color: var(--card-accent);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.wedding_public_card_hero h1 {
  margin: 0;
  color: inherit;
  font-family: Georgia, serif;
  font-size: clamp(30px, 6vw, 56px);
  line-height: 1.08;
}
.wedding_public_card_hero p {
  max-width: 620px;
  margin: 3px 0 0;
  line-height: 1.65;
}

.wedding_public_card_people {
  display: flex;
  margin-bottom: 5px;
}
.wedding_public_card_people img {
  width: 72px;
  height: 72px;
  margin-right: -10px;
  border: 3px solid var(--card-background);
  border-radius: 14px;
  object-fit: cover;
}
.is_photo_round .wedding_public_card_people img {
  border-radius: 50%;
}
.is_photo_square .wedding_public_card_people img {
  border-radius: 0;
}

.wedding_public_card_countdown {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
}
.wedding_public_card_countdown span {
  display: grid;
  gap: 3px;
  padding: 13px;
  border: 1px solid color-mix(in srgb, var(--card-accent) 22%, transparent);
  border-radius: 6px;
  background: color-mix(in srgb, var(--card-accent) 7%, transparent);
}
.wedding_public_card_countdown strong {
  color: var(--card-accent);
  font-size: clamp(24px, 4vw, 38px);
  line-height: 1;
}

.wedding_public_card_details {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.wedding_public_card_details > div {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--card-accent) 18%, transparent);
  border-radius: 5px;
}
.wedding_public_card_details small {
  opacity: 0.72;
}

.wedding_public_card_colors {
  display: flex;
  justify-content: center;
  gap: 5px;
}
.is_align_left .wedding_public_card_colors {
  justify-content: flex-start;
}
.wedding_public_card_colors i {
  width: 22px;
  height: 22px;
  border: 1px solid rgba(0, 0, 0, 0.12);
  border-radius: 50%;
}

.wedding_public_card_events {
  display: grid;
  gap: 8px;
}
.wedding_public_card_events h2 {
  margin: 0 0 6px;
  color: inherit;
  font-size: 21px;
}
.wedding_public_card_events article {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 11px;
  border: 1px solid color-mix(in srgb, var(--card-accent) 18%, transparent);
  border-radius: 5px;
  text-align: left;
}
.wedding_public_card_events article div {
  display: grid;
  gap: 3px;
}
.wedding_public_card_events article small, .wedding_public_card_events article span {
  opacity: 0.72;
}
.wedding_public_card_events article em {
  color: var(--card-accent);
  font-style: normal;
  font-weight: 800;
  white-space: nowrap;
}

.wedding_public_card_message {
  display: grid;
  justify-items: center;
  gap: 15px;
}
.is_align_left .wedding_public_card_message {
  justify-items: start;
}
.wedding_public_card_message h2, .wedding_public_card_message p {
  margin: 0;
}
.wedding_public_card_message p {
  line-height: 1.7;
}
.wedding_public_card_message .wedding_public_card_hashtag {
  color: var(--card-accent);
  font-size: 20px;
}

.wedding_public_card [hidden] {
  display: none !important;
}

.wedding_public_card.is_type_modern {
  font-family: Arial, sans-serif;
}

.wedding_public_card.is_type_classic {
  font-family: Georgia, serif;
}

.wedding_public_card.is_type_elegant {
  font-family: Georgia, serif;
  letter-spacing: 0.015em;
}

.wedding_public_card.is_classic_floral .wedding_public_card_cover {
  height: 310px;
  margin: 20px 20px 0;
  border: 1px solid color-mix(in srgb, var(--card-accent) 32%, transparent);
  border-radius: 52px 52px 5px 5px;
}
.wedding_public_card.is_classic_floral .wedding_public_card_inner {
  display: block;
  padding: 0 20px 20px;
}
.wedding_public_card.is_classic_floral .wedding_public_card_inner > section, .wedding_public_card.is_classic_floral .wedding_public_card_inner > header {
  margin: 0 12px;
  padding: 32px clamp(20px, 6vw, 62px);
  border-bottom-style: double;
}
.wedding_public_card.is_classic_floral .wedding_public_card_hero {
  min-height: 250px;
  align-content: center;
}
.wedding_public_card.is_classic_floral .wedding_public_card_hero h1 {
  max-width: 560px;
  font-size: clamp(42px, 8vw, 72px);
  font-weight: 400;
}
.wedding_public_card.is_classic_floral .wedding_public_card_people img {
  width: 86px;
  height: 86px;
  border-radius: 50%;
}
.wedding_public_card.is_classic_floral .wedding_public_card_countdown {
  grid-template-columns: repeat(3, 90px);
  justify-content: center;
}
.wedding_public_card.is_classic_floral .wedding_public_card_countdown span {
  border: 0;
  border-radius: 0;
  background: transparent;
}
.wedding_public_card.is_classic_floral .wedding_public_card_details > div {
  border-width: 0 0 1px;
  border-radius: 0;
}
.wedding_public_card.is_classic_floral .wedding_public_card_events article {
  border-radius: 0;
}

.wedding_public_card.is_modern_minimal {
  display: grid;
  grid-template-columns: minmax(230px, 0.82fr) minmax(0, 1.18fr);
  border-radius: 0;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_cover {
  grid-column: 1;
  grid-row: 1;
  height: 100%;
  min-height: 620px;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_inner {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  min-width: 0;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_inner > section, .wedding_public_card.is_modern_minimal .wedding_public_card_inner > header {
  padding: 28px 30px;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_hero {
  min-height: 280px;
  align-content: end;
  justify-items: start;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_hero h1 {
  max-width: 430px;
  font-family: inherit;
  font-size: clamp(40px, 6vw, 62px);
  font-weight: 780;
  letter-spacing: -0.055em;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_details {
  grid-template-columns: 1fr;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_details > div {
  padding: 12px 0;
  border-width: 0 0 1px;
  border-radius: 0;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_countdown {
  padding-block: 18px;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_countdown span {
  padding: 8px 0;
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
  text-align: left;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_events article {
  border-width: 0 0 1px;
  border-radius: 0;
}
.wedding_public_card.is_modern_minimal .wedding_public_card_message {
  justify-items: start;
}

.wedding_public_card.is_garden_celebration {
  border-radius: 12px 4px 12px 4px;
}
.wedding_public_card.is_garden_celebration .wedding_public_card_cover {
  height: 330px;
  margin: 0;
  border: 0;
  border-radius: 0 0 18px 18px;
}
.wedding_public_card.is_garden_celebration .wedding_public_card_inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 14px;
}
.wedding_public_card.is_garden_celebration .wedding_public_card_inner > section, .wedding_public_card.is_garden_celebration .wedding_public_card_inner > header {
  margin: 7px;
  border: 1px solid color-mix(in srgb, var(--card-accent) 20%, transparent);
  border-radius: 10px 3px 10px 3px;
  background: color-mix(in srgb, var(--card-background) 92%, transparent);
}
.wedding_public_card.is_garden_celebration .wedding_public_card_hero, .wedding_public_card.is_garden_celebration .wedding_public_card_countdown, .wedding_public_card.is_garden_celebration .wedding_public_card_message, .wedding_public_card.is_garden_celebration .wedding_public_card_feedback {
  grid-column: 1/-1;
}
.wedding_public_card.is_garden_celebration .wedding_public_card_hero {
  min-height: 250px;
  align-content: center;
}
.wedding_public_card.is_garden_celebration .wedding_public_card_hero h1 {
  max-width: 600px;
  font-size: clamp(40px, 7vw, 64px);
}
.wedding_public_card.is_garden_celebration .wedding_public_card_people img {
  width: 82px;
  height: 96px;
  border-radius: 18px 18px 6px 6px;
}
.wedding_public_card.is_garden_celebration .wedding_public_card_details {
  grid-template-columns: 1fr;
}
.wedding_public_card.is_garden_celebration .wedding_public_card_events article {
  align-items: start;
  flex-direction: column;
}

.wedding_public_card.is_evening_elegance {
  min-height: 620px;
  border-radius: 0;
  background: linear-gradient(150deg, color-mix(in srgb, var(--card-background) 88%, #101719), var(--card-background));
}
.wedding_public_card.is_evening_elegance .wedding_public_card_cover {
  position: absolute;
  inset: 0 0 auto;
  width: 100%;
  height: 410px;
  margin: 0;
  border: 0;
  border-radius: 0;
  opacity: 0.42;
}
.wedding_public_card.is_evening_elegance .wedding_public_card_inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 24px;
}
.wedding_public_card.is_evening_elegance .wedding_public_card_inner > section, .wedding_public_card.is_evening_elegance .wedding_public_card_inner > header {
  border-color: color-mix(in srgb, var(--card-accent) 45%, transparent);
}
.wedding_public_card.is_evening_elegance .wedding_public_card_hero {
  grid-column: 1/-1;
  min-height: 370px;
  align-content: center;
  border: 1px solid var(--card-accent);
}
.wedding_public_card.is_evening_elegance .wedding_public_card_hero h1 {
  max-width: 620px;
  font-size: clamp(46px, 8vw, 74px);
  font-weight: 400;
  letter-spacing: 0.02em;
}
.wedding_public_card.is_evening_elegance .wedding_public_card_hero small {
  letter-spacing: 0.18em;
}
.wedding_public_card.is_evening_elegance .wedding_public_card_countdown {
  grid-column: 1;
  grid-template-columns: 1fr;
}
.wedding_public_card.is_evening_elegance .wedding_public_card_countdown span {
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
}
.wedding_public_card.is_evening_elegance .wedding_public_card_details {
  grid-column: 2/-1;
}
.wedding_public_card.is_evening_elegance .wedding_public_card_details > div {
  border-color: color-mix(in srgb, var(--card-accent) 38%, transparent);
  border-radius: 0;
}
.wedding_public_card.is_evening_elegance .wedding_public_card_events, .wedding_public_card.is_evening_elegance .wedding_public_card_message, .wedding_public_card.is_evening_elegance .wedding_public_card_feedback {
  grid-column: 1/-1;
}
.wedding_public_card.is_evening_elegance .wedding_public_card_events article {
  border-color: color-mix(in srgb, var(--card-accent) 42%, transparent);
  border-radius: 0;
}
.wedding_public_card.is_evening_elegance .pub_btn {
  border-radius: 0;
}

.wedding_public_card.is_editorial_split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(250px, 0.9fr);
  border-radius: 0;
}
.wedding_public_card.is_editorial_split .wedding_public_card_cover {
  grid-column: 2;
  grid-row: 1;
  min-height: 500px;
  height: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.wedding_public_card.is_editorial_split .wedding_public_card_inner {
  display: contents;
}
.wedding_public_card.is_editorial_split .wedding_public_card_hero {
  grid-column: 1;
  grid-row: 1;
  min-height: 500px;
  align-content: end;
  justify-items: start;
  padding: 44px;
}
.wedding_public_card.is_editorial_split .wedding_public_card_hero h1 {
  font-family: Arial, sans-serif;
  font-size: clamp(42px, 7vw, 68px);
  letter-spacing: -0.05em;
}
.wedding_public_card.is_editorial_split .wedding_public_card_countdown, .wedding_public_card.is_editorial_split .wedding_public_card_details, .wedding_public_card.is_editorial_split .wedding_public_card_events, .wedding_public_card.is_editorial_split .wedding_public_card_message, .wedding_public_card.is_editorial_split .wedding_public_card_feedback {
  grid-column: 1/-1;
}
.wedding_public_card.is_editorial_split .wedding_public_card_details {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.wedding_public_card.is_editorial_split .wedding_public_card_details > div {
  border-width: 0 0 1px;
  border-radius: 0;
}
.wedding_public_card.is_editorial_split .wedding_public_card_message {
  justify-items: start;
}

.wedding_public_card.is_romantic_postcard .wedding_public_card_cover {
  height: 360px;
  margin: 0;
  border: 0;
  border-radius: 0;
}
.wedding_public_card.is_romantic_postcard .wedding_public_card_inner {
  overflow: visible;
}
.wedding_public_card.is_romantic_postcard .wedding_public_card_hero {
  position: relative;
  margin: -72px 34px 0;
  padding: 34px;
  border: 1px solid color-mix(in srgb, var(--card-accent) 28%, transparent);
  border-radius: 8px;
  background: var(--card-background);
}
.wedding_public_card.is_romantic_postcard .wedding_public_card_hero h1 {
  max-width: 590px;
  font-size: clamp(42px, 8vw, 70px);
  font-weight: 400;
}
.wedding_public_card.is_romantic_postcard .wedding_public_card_people {
  margin-top: -74px;
}
.wedding_public_card.is_romantic_postcard .wedding_public_card_people img {
  width: 88px;
  height: 88px;
}
.wedding_public_card.is_romantic_postcard .wedding_public_card_details > div {
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--card-accent) 22%, transparent);
  border-radius: 0;
}
.wedding_public_card.is_romantic_postcard .wedding_public_card_countdown span {
  border-radius: 7px;
  background: color-mix(in srgb, var(--card-accent) 9%, var(--card-background));
}

.wedding_public_card.is_heritage_album {
  border-radius: 4px;
}
.wedding_public_card.is_heritage_album .wedding_public_card_cover {
  height: 310px;
  margin: 28px 28px 0;
  border: 7px double color-mix(in srgb, var(--card-accent) 48%, transparent);
  border-radius: 2px;
}
.wedding_public_card.is_heritage_album .wedding_public_card_inner {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 18px 28px 28px;
}
.wedding_public_card.is_heritage_album .wedding_public_card_hero, .wedding_public_card.is_heritage_album .wedding_public_card_events, .wedding_public_card.is_heritage_album .wedding_public_card_message, .wedding_public_card.is_heritage_album .wedding_public_card_feedback {
  grid-column: 1/-1;
}
.wedding_public_card.is_heritage_album .wedding_public_card_hero {
  min-height: 250px;
  align-content: center;
  justify-items: start;
  border-bottom: 3px double color-mix(in srgb, var(--card-accent) 36%, transparent);
}
.wedding_public_card.is_heritage_album .wedding_public_card_hero h1 {
  font-size: clamp(40px, 7vw, 64px);
  font-weight: 400;
}
.wedding_public_card.is_heritage_album .wedding_public_card_countdown {
  grid-template-columns: 1fr;
}
.wedding_public_card.is_heritage_album .wedding_public_card_countdown span {
  grid-template-columns: 70px 1fr;
  align-items: baseline;
  border-width: 0 0 1px;
  border-radius: 0;
  background: transparent;
  text-align: left;
}
.wedding_public_card.is_heritage_album .wedding_public_card_details {
  grid-template-columns: 1fr;
}
.wedding_public_card.is_heritage_album .wedding_public_card_details > div {
  border-width: 0 0 1px;
  border-radius: 0;
}
.wedding_public_card.is_heritage_album .wedding_public_card_events article {
  border-radius: 2px;
}
.wedding_public_card.is_heritage_album .wedding_public_card_message {
  justify-items: start;
}

.wedding_public_card_feedback {
  display: grid;
  gap: 13px;
}
.wedding_public_card_feedback h2, .wedding_public_card_feedback h3, .wedding_public_card_feedback p {
  margin: 0;
  color: inherit;
}
.wedding_public_card_feedback form {
  display: grid;
  gap: 8px;
}
.wedding_public_card_feedback form label {
  display: grid;
  gap: 5px;
  text-align: left;
}
.wedding_public_card_feedback form .form_input {
  width: 100%;
}

.wedding_public_pledge_form {
  margin-top: 8px;
  padding-top: 18px;
  border-top: 1px solid color-mix(in srgb, var(--card-accent) 20%, transparent);
}
.wedding_public_pledge_form > p {
  max-width: 600px;
  line-height: 1.5;
}
.wedding_public_pledge_form fieldset {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 0;
  border: 0;
}
.wedding_public_pledge_form fieldset legend {
  margin-bottom: 7px;
  font-size: 13px;
  font-weight: 800;
  text-align: left;
}
.wedding_public_pledge_form fieldset label {
  min-height: 42px;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 8px;
  padding: 8px 11px;
  border: 1px solid color-mix(in srgb, var(--card-accent) 24%, transparent);
  border-radius: 7px;
  cursor: pointer;
}

.wedding_public_pledge_contact {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}
.wedding_public_pledge_contact label:first-child {
  grid-column: 1/-1;
}

.wedding_public_card_honeypot {
  position: absolute !important;
  left: -10000px !important;
}

.wedding_public_card_unavailable {
  max-width: 620px;
  margin: 70px auto;
  text-align: center;
}

.wedding_planner_page, .wedding_hub, .wedding_mood_editor_workspace, .wedding_public_mood, .wedding_invitation_builder {
  --wedding-scrollbar-track: color-mix(in srgb,var(--border_color_lighter) 48%,var(--bg_color));
  --wedding-scrollbar-thumb: color-mix(in srgb,var(--text_color_lighter2) 46%,var(--bg_color));
}

.wedding_planner_nav, .wedding_table_card, .wedding_hub_tabs, .wedding_workspace_tabs, .wedding_event_table, .wedding_guest_table_scroll, .wedding_mood_inspector > header > div, .wedding_mood_outline, .wedding_invitation_stage, .wedding_organizer_filters, .wedding_provider_profile_tabs, .wedding_library_preview_modal_media, .wedding_share_table, .wedding_share_chips, .wedding_checkin_actions, .wedding_checkin_table_wrap, .wedding_checkin_manual [data-wp-manual-results], .wedding_checkin_dialog_list, .wedding_ai_usage_table, .wedding_public_share_sections, .wedding_public_share_preview > div, .wedding_invitation_builder_actions, .wedding_invitation_toolrail, .wedding_invitation_canvas_toolbar, .wedding_mood_editor_actions, .wedding_mood_tool_rail, .wedding_public_mood > header > div:last-child, .wedding_help_sidebar nav {
  scrollbar-color: var(--wedding-scrollbar-thumb) var(--wedding-scrollbar-track);
  scrollbar-width: thin;
}
.wedding_planner_nav::-webkit-scrollbar:horizontal, .wedding_table_card::-webkit-scrollbar:horizontal, .wedding_hub_tabs::-webkit-scrollbar:horizontal, .wedding_workspace_tabs::-webkit-scrollbar:horizontal, .wedding_event_table::-webkit-scrollbar:horizontal, .wedding_guest_table_scroll::-webkit-scrollbar:horizontal, .wedding_mood_inspector > header > div::-webkit-scrollbar:horizontal, .wedding_mood_outline::-webkit-scrollbar:horizontal, .wedding_invitation_stage::-webkit-scrollbar:horizontal, .wedding_organizer_filters::-webkit-scrollbar:horizontal, .wedding_provider_profile_tabs::-webkit-scrollbar:horizontal, .wedding_library_preview_modal_media::-webkit-scrollbar:horizontal, .wedding_share_table::-webkit-scrollbar:horizontal, .wedding_share_chips::-webkit-scrollbar:horizontal, .wedding_checkin_actions::-webkit-scrollbar:horizontal, .wedding_checkin_table_wrap::-webkit-scrollbar:horizontal, .wedding_checkin_manual [data-wp-manual-results]::-webkit-scrollbar:horizontal, .wedding_checkin_dialog_list::-webkit-scrollbar:horizontal, .wedding_ai_usage_table::-webkit-scrollbar:horizontal, .wedding_public_share_sections::-webkit-scrollbar:horizontal, .wedding_public_share_preview > div::-webkit-scrollbar:horizontal, .wedding_invitation_builder_actions::-webkit-scrollbar:horizontal, .wedding_invitation_toolrail::-webkit-scrollbar:horizontal, .wedding_invitation_canvas_toolbar::-webkit-scrollbar:horizontal, .wedding_mood_editor_actions::-webkit-scrollbar:horizontal, .wedding_mood_tool_rail::-webkit-scrollbar:horizontal, .wedding_public_mood > header > div:last-child::-webkit-scrollbar:horizontal, .wedding_help_sidebar nav::-webkit-scrollbar:horizontal {
  height: 6px;
}
.wedding_planner_nav::-webkit-scrollbar-track:horizontal, .wedding_table_card::-webkit-scrollbar-track:horizontal, .wedding_hub_tabs::-webkit-scrollbar-track:horizontal, .wedding_workspace_tabs::-webkit-scrollbar-track:horizontal, .wedding_event_table::-webkit-scrollbar-track:horizontal, .wedding_guest_table_scroll::-webkit-scrollbar-track:horizontal, .wedding_mood_inspector > header > div::-webkit-scrollbar-track:horizontal, .wedding_mood_outline::-webkit-scrollbar-track:horizontal, .wedding_invitation_stage::-webkit-scrollbar-track:horizontal, .wedding_organizer_filters::-webkit-scrollbar-track:horizontal, .wedding_provider_profile_tabs::-webkit-scrollbar-track:horizontal, .wedding_library_preview_modal_media::-webkit-scrollbar-track:horizontal, .wedding_share_table::-webkit-scrollbar-track:horizontal, .wedding_share_chips::-webkit-scrollbar-track:horizontal, .wedding_checkin_actions::-webkit-scrollbar-track:horizontal, .wedding_checkin_table_wrap::-webkit-scrollbar-track:horizontal, .wedding_checkin_manual [data-wp-manual-results]::-webkit-scrollbar-track:horizontal, .wedding_checkin_dialog_list::-webkit-scrollbar-track:horizontal, .wedding_ai_usage_table::-webkit-scrollbar-track:horizontal, .wedding_public_share_sections::-webkit-scrollbar-track:horizontal, .wedding_public_share_preview > div::-webkit-scrollbar-track:horizontal, .wedding_invitation_builder_actions::-webkit-scrollbar-track:horizontal, .wedding_invitation_toolrail::-webkit-scrollbar-track:horizontal, .wedding_invitation_canvas_toolbar::-webkit-scrollbar-track:horizontal, .wedding_mood_editor_actions::-webkit-scrollbar-track:horizontal, .wedding_mood_tool_rail::-webkit-scrollbar-track:horizontal, .wedding_public_mood > header > div:last-child::-webkit-scrollbar-track:horizontal, .wedding_help_sidebar nav::-webkit-scrollbar-track:horizontal {
  border-radius: 999px;
  background: var(--wedding-scrollbar-track);
}
.wedding_planner_nav::-webkit-scrollbar-thumb:horizontal, .wedding_table_card::-webkit-scrollbar-thumb:horizontal, .wedding_hub_tabs::-webkit-scrollbar-thumb:horizontal, .wedding_workspace_tabs::-webkit-scrollbar-thumb:horizontal, .wedding_event_table::-webkit-scrollbar-thumb:horizontal, .wedding_guest_table_scroll::-webkit-scrollbar-thumb:horizontal, .wedding_mood_inspector > header > div::-webkit-scrollbar-thumb:horizontal, .wedding_mood_outline::-webkit-scrollbar-thumb:horizontal, .wedding_invitation_stage::-webkit-scrollbar-thumb:horizontal, .wedding_organizer_filters::-webkit-scrollbar-thumb:horizontal, .wedding_provider_profile_tabs::-webkit-scrollbar-thumb:horizontal, .wedding_library_preview_modal_media::-webkit-scrollbar-thumb:horizontal, .wedding_share_table::-webkit-scrollbar-thumb:horizontal, .wedding_share_chips::-webkit-scrollbar-thumb:horizontal, .wedding_checkin_actions::-webkit-scrollbar-thumb:horizontal, .wedding_checkin_table_wrap::-webkit-scrollbar-thumb:horizontal, .wedding_checkin_manual [data-wp-manual-results]::-webkit-scrollbar-thumb:horizontal, .wedding_checkin_dialog_list::-webkit-scrollbar-thumb:horizontal, .wedding_ai_usage_table::-webkit-scrollbar-thumb:horizontal, .wedding_public_share_sections::-webkit-scrollbar-thumb:horizontal, .wedding_public_share_preview > div::-webkit-scrollbar-thumb:horizontal, .wedding_invitation_builder_actions::-webkit-scrollbar-thumb:horizontal, .wedding_invitation_toolrail::-webkit-scrollbar-thumb:horizontal, .wedding_invitation_canvas_toolbar::-webkit-scrollbar-thumb:horizontal, .wedding_mood_editor_actions::-webkit-scrollbar-thumb:horizontal, .wedding_mood_tool_rail::-webkit-scrollbar-thumb:horizontal, .wedding_public_mood > header > div:last-child::-webkit-scrollbar-thumb:horizontal, .wedding_help_sidebar nav::-webkit-scrollbar-thumb:horizontal {
  border-radius: 999px;
  background: var(--wedding-scrollbar-thumb);
}

@media (pointer: coarse) {
  .wedding_planner_page button, .wedding_planner_page a, .wedding_planner_page summary, .wedding_planner_page select, .wedding_planner_page input:not([type=hidden]), .wedding_planner_page textarea, .wedding_workspace_panel button, .wedding_workspace_panel a, .wedding_workspace_panel summary, .wedding_workspace_panel select, .wedding_workspace_panel input:not([type=hidden]), .wedding_workspace_panel textarea, .wedding_feature_dialog button, .wedding_feature_dialog a, .wedding_feature_dialog summary, .wedding_feature_dialog select, .wedding_feature_dialog input:not([type=hidden]), .wedding_feature_dialog textarea, .wedding_dev_settings button, .wedding_dev_settings a, .wedding_dev_settings summary, .wedding_dev_settings select, .wedding_dev_settings input:not([type=hidden]), .wedding_dev_settings textarea {
    min-height: 44px;
  }
  .wedding_planner_page input[type=checkbox], .wedding_planner_page input[type=radio], .wedding_workspace_panel input[type=checkbox], .wedding_workspace_panel input[type=radio], .wedding_feature_dialog input[type=checkbox], .wedding_feature_dialog input[type=radio], .wedding_dev_settings input[type=checkbox], .wedding_dev_settings input[type=radio] {
    min-width: 22px;
    min-height: 22px;
  }
  .wedding_planner_page .wedding_planner_nav a, .wedding_planner_page .wedding_hub_tabs a, .wedding_planner_page .wedding_invitation_toolrail button, .wedding_planner_page .wedding_mood_tool_rail button, .wedding_planner_page .wedding_library_card button, .wedding_planner_page .wedding_provider_profile_tabs a, .wedding_workspace_panel .wedding_planner_nav a, .wedding_workspace_panel .wedding_hub_tabs a, .wedding_workspace_panel .wedding_invitation_toolrail button, .wedding_workspace_panel .wedding_mood_tool_rail button, .wedding_workspace_panel .wedding_library_card button, .wedding_workspace_panel .wedding_provider_profile_tabs a, .wedding_feature_dialog .wedding_planner_nav a, .wedding_feature_dialog .wedding_hub_tabs a, .wedding_feature_dialog .wedding_invitation_toolrail button, .wedding_feature_dialog .wedding_mood_tool_rail button, .wedding_feature_dialog .wedding_library_card button, .wedding_feature_dialog .wedding_provider_profile_tabs a, .wedding_dev_settings .wedding_planner_nav a, .wedding_dev_settings .wedding_hub_tabs a, .wedding_dev_settings .wedding_invitation_toolrail button, .wedding_dev_settings .wedding_mood_tool_rail button, .wedding_dev_settings .wedding_library_card button, .wedding_dev_settings .wedding_provider_profile_tabs a {
    min-width: 44px;
    min-height: 44px;
  }
}
@media (max-width: 1400px) {
  .wedding_checkin_metrics {
    grid-template-columns: repeat(3, minmax(150px, 1fr));
  }
  .wedding_checkin_workspace {
    grid-template-columns: 220px minmax(560px, 1fr) 220px;
  }
  .wedding_checkin_filters {
    grid-template-columns: minmax(220px, 1fr) repeat(3, minmax(100px, auto)) auto;
  }
  .wedding_checkin_filters select[name=checkin_table] {
    display: none;
  }
  .wedding_checkin_filters .wedding_checkin_view_switch {
    grid-column: auto;
  }
  .wedding_invitation_builder .wedding_invitation_builder_body {
    grid-template-columns: 226px 64px minmax(454px, 1fr) 280px;
  }
  .wedding_invitation_builder .wedding_invitation_builder_actions > button {
    padding-inline: 8px;
  }
  .wedding_invitation_builder .wedding_invitation_builder_identity input {
    width: min(220px, 20vw);
  }
  .wedding_invitation_builder .wedding_invitation_artboard {
    width: min(48vw, 500px);
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_body {
    grid-template-columns: 66px minmax(0, 1fr) 260px;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_identity .wedding_mood_back span {
    display: none;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_actions > button {
    padding-inline: 9px;
  }
  .wedding_mood_editor_workspace .wedding_mood_title {
    width: min(220px, 22vw);
  }
  .wedding_guest_layout {
    grid-template-columns: 1fr;
  }
  .wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_primary_filters {
    grid-column: 1/-1;
    grid-row: 2;
  }
  .wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_list_table {
    grid-row: 3;
  }
  .wedding_guest_metrics, .wedding_guest_sources, .wedding_guest_grid, .wedding_guest_sidebar, .wedding_guest_next {
    grid-column: 1/-1;
  }
  .wedding_guest_metrics, .wedding_guest_sources {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wedding_guest_grid {
    grid-template-columns: 1fr;
  }
  .wedding_guest_sidebar {
    grid-row: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_guest_next {
    grid-row: auto;
  }
}
@media (max-width: 980px) {
  .wedding_operations_metadata {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_operations_filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_operations_filters #weddingOperationsSearch {
    grid-column: 1/-1;
  }
  .wedding_operations_card.has_cover .wedding_operations_hero {
    grid-template-columns: 300px minmax(0, 1fr);
  }
  .wedding_operations_countdown {
    padding: 18px;
  }
  .wedding_operations_card.has_cover .wedding_operations_cover {
    width: 300px;
  }
  .wedding_operations_highlights {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wedding_operations_highlights span:nth-child(3) {
    border-right: 0;
  }
  .wedding_operations_highlights span:nth-child(-n+3) {
    border-bottom: 1px solid var(--border_color_lighter);
  }
  .wedding_operations_grid {
    grid-template-columns: 1fr;
  }
  .wedding_ai_limit_grid {
    grid-template-columns: 1fr;
  }
  .wedding_ai_usage_metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wedding_checkin_workspace {
    grid-template-columns: 220px minmax(0, 1fr);
  }
  .wedding_checkin_workspace .wedding_checkin_right {
    grid-column: 1/-1;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wedding_checkin_filters {
    grid-template-columns: minmax(200px, 1fr) repeat(2, minmax(100px, auto)) auto;
  }
  .wedding_checkin_filters select[name=checkin_invitation] {
    display: none;
  }
  .wedding_checkin_reports {
    grid-template-columns: 1fr 1fr;
  }
  .wedding_checkin_reports > section:last-child {
    grid-column: 1/-1;
  }
  .wedding_invitation_builder {
    grid-template-rows: auto minmax(0, 1fr);
  }
  .wedding_invitation_builder .wedding_invitation_builder_topbar {
    align-items: flex-start;
    flex-direction: column;
  }
  .wedding_invitation_builder .wedding_invitation_builder_actions {
    width: 100%;
    overflow-x: auto;
  }
  .wedding_invitation_builder .wedding_invitation_builder_body {
    grid-template-columns: 60px minmax(0, 1fr);
  }
  .wedding_invitation_builder .wedding_invitation_toolrail {
    grid-column: 1;
  }
  .wedding_invitation_builder .wedding_invitation_tool_popover {
    left: 68px;
    width: min(300px, 100% - 84px);
  }
  .wedding_invitation_builder .wedding_invitation_context_panel, .wedding_invitation_builder .wedding_invitation_inspector {
    position: absolute;
    z-index: 40;
    top: 0;
    bottom: 0;
    width: min(330px, 88vw);
    display: none;
    background: var(--white_color);
  }
  .wedding_invitation_builder .wedding_invitation_context_panel {
    left: 60px;
  }
  .wedding_invitation_builder .wedding_invitation_inspector {
    right: 0;
  }
  .wedding_invitation_builder.is_context_open .wedding_invitation_context_panel {
    display: grid;
  }
  .wedding_invitation_builder.is_inspector_open .wedding_invitation_inspector {
    display: block;
  }
  .wedding_invitation_builder .wedding_invitation_canvas_shell {
    grid-column: 2;
  }
  .wedding_invitation_builder .wedding_invitation_artboard {
    width: min(70vw, 520px);
  }
  .wedding_invitation_builder .wedding_invitation_starter > div {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_library_filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_library_filters.is_asset {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_library_filters .wedding_library_search {
    grid-column: 1/-1;
  }
  .wedding_organizer_filters {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
  }
  .wedding_library_view_switcher {
    grid-column: 1/-1;
    justify-self: end;
  }
  .wedding_library_grid[data-library-view=list] .wedding_library_card {
    grid-template-columns: 90px minmax(0, 1fr);
  }
  .wedding_library_grid[data-library-view=list] .wedding_library_card .wedding_library_preview {
    width: 90px;
    height: 90px;
    min-height: 90px;
  }
  .wedding_library_grid[data-library-view=list] .wedding_library_card .wedding_library_preview > svg, .wedding_library_grid[data-library-view=list] .wedding_library_card .wedding_library_preview > img {
    min-height: 90px;
  }
  .wedding_library_grid[data-library-view=list] .wedding_library_card > footer {
    grid-column: 1/-1;
    min-width: 0;
    border-top: 1px solid var(--border_color_lighter);
    border-left: 0;
  }
  .wedding_library_hero {
    align-items: flex-start;
    flex-direction: column;
  }
  .wedding_provider_profile_hero {
    align-items: flex-start;
    flex-direction: column;
  }
  .wedding_provider_profile_layout {
    grid-template-columns: 1fr;
  }
  .wedding_provider_listing_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_provider_media_fields {
    grid-template-columns: 1fr;
  }
  .wedding_mood_editor_workspace {
    height: calc(100dvh - 96px);
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_header {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_identity, .wedding_mood_editor_workspace .wedding_mood_editor_actions {
    width: 100%;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_actions {
    justify-content: flex-end;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_body {
    position: relative;
    grid-template-columns: 64px minmax(0, 1fr);
  }
  .wedding_mood_editor_workspace .wedding_mood_inspector {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: min(320px, 88%);
    display: none;
    border-left: 1px solid var(--border_color);
  }
  .wedding_mood_editor_workspace .wedding_mood_inspector.open {
    display: grid;
  }
  .wedding_mood_editor_workspace .wedding_mood_minimap {
    width: 140px;
    height: 86px;
  }
  .wedding_public_mood {
    grid-template-columns: 1fr;
  }
  .wedding_public_mood > header {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_public_mood .wedding_public_mood_comments {
    border-top: 1px solid var(--border_color_lighter);
    border-left: 0;
  }
  .wedding_budget_summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wedding_two_column {
    grid-template-columns: 1fr;
  }
  .wedding_metric_grid, .wedding_directory {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_filters {
    grid-template-columns: 1fr 1fr;
  }
  .wedding_directory.is_list .wedding_plan_card {
    grid-template-columns: minmax(190px, 32%) minmax(0, 1fr);
  }
  .wedding_directory.is_list .wedding_plan_card .wedding_card_people {
    margin-left: -24px;
  }
  .wedding_directory.is_list .wedding_plan_card .wedding_card_main {
    grid-column: 2;
  }
  .wedding_detail_content {
    grid-template-columns: 1fr;
  }
  .wedding_detail_actions {
    max-width: none;
    justify-content: flex-start;
  }
  .manage_content_inner_weddings .manage_section_header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 10px;
  }
  .manage_content_inner_weddings .manage_section_header .manage_section_heading, .manage_content_inner_weddings .manage_section_header .save_draft_header_row {
    width: 100%;
  }
  .wedding_manage_header_tools {
    width: 100%;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    flex-wrap: nowrap;
    gap: 10px;
  }
  .wedding_manage_header_tools .wedding_hub_tabs {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(4, minmax(105px, 1fr));
    overflow: visible;
  }
  .wedding_manage_header_tools .wedding_hub_tabs .sa_page_tab {
    min-height: 44px;
  }
  .wedding_workspace_tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: visible;
  }
  .wedding_workspace_tabs a {
    min-height: 44px;
    padding-inline: 10px;
  }
  .wedding_help {
    grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
    gap: 12px;
  }
  .wedding_help_guides > section {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .wedding_help_guides > section figure {
    border-right: 0;
    border-bottom: 1px solid var(--border_color_lighter);
  }
  .wedding_help_guides > section > div {
    padding: 16px;
  }
  .wedding_workspace {
    grid-template-columns: 250px minmax(0, 1fr);
  }
  .wedding_overview_report_header dl, .wedding_overview_metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_overview_finance_report dl {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wedding_overview_cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_settings_people {
    grid-template-columns: 1fr;
  }
  .wedding_settings_dashboard {
    grid-template-columns: 1fr;
  }
  .wedding_settings_dashboard .wedding_settings_panel {
    grid-column: 1;
  }
  .wedding_settings_summary {
    grid-template-columns: 44px minmax(0, 1fr);
  }
  .wedding_settings_summary .wedding_settings_summary_actions {
    grid-column: 1/-1;
    justify-content: flex-end;
  }
  .wedding_event_metrics, .wedding_event_support {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_events_primary {
    grid-template-columns: 1fr;
  }
  .wedding_budget_metrics, .wedding_mood_metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_budget_primary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_budget_primary .wedding_budget_breakdown {
    grid-column: 1/-1;
  }
  .wedding_mood_layout {
    grid-template-columns: 1fr;
  }
  .wedding_invitation_metrics, .wedding_guest_metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_invitation_filters, .wedding_invitation_design_grid {
    grid-template-columns: 1fr;
  }
  .wedding_invitation_filters .sa_btn, .wedding_invitation_filters .manage_add_new_btn {
    width: 100%;
  }
  .wedding_invitation_layout {
    grid-template-columns: 1fr;
  }
  .wedding_guest_layout {
    grid-template-columns: 1fr;
  }
  .wedding_guest_dashboard:has(.wedding_guest_list_table) {
    grid-template-columns: 1fr;
  }
  .wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_primary_filters {
    grid-column: 1;
    grid-row: 2;
  }
  .wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_list_table {
    grid-column: 1;
    grid-row: 3;
  }
  .wedding_guest_primary_filters, .wedding_guest_sources, .wedding_guest_grid, .wedding_guest_sidebar, .wedding_guest_next {
    grid-column: 1;
  }
  .wedding_guest_primary_filters {
    grid-row: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_guest_primary_filters .wedding_guest_search, .wedding_guest_primary_filters .wedding_guest_toolbar {
    grid-column: 1/-1;
  }
  .wedding_guest_sources {
    grid-row: 3;
    grid-template-columns: 1fr;
  }
  .wedding_guest_grid {
    grid-row: 1;
  }
  .wedding_guest_sidebar {
    grid-row: 2;
    grid-template-columns: 1fr;
  }
  .wedding_guest_next {
    grid-row: auto;
  }
  .wedding_guest_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_guest_grid.is_list .wedding_guest_card {
    display: block;
  }
  .wedding_public_share_layout {
    grid-template-columns: 1fr;
  }
  .wedding_public_share_preview {
    position: static;
    order: -1;
  }
  .wedding_public_share_preview > div {
    max-height: 620px;
  }
}
@media (max-width: 820px) {
  .manage_page:has(.manage_content_inner_weddings) {
    grid-template-columns: minmax(0, 1fr);
  }
  .manage_page:has(.manage_content_inner_weddings) .manage_sidebar, .manage_page:has(.manage_content_inner_weddings) .manage_content {
    min-width: 0;
  }
  .manage_content:has(.wedding_mood_editor_workspace) {
    overflow: visible;
  }
  .manage_content_inner_weddings:has(.wedding_mood_editor_workspace) {
    height: auto;
    overflow: visible;
  }
  .manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .manage_section_body, .manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .wedding_hub {
    height: auto;
    overflow: visible;
  }
  .manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .wedding_mood_editor_workspace {
    height: calc(100dvh - 96px);
    min-height: 560px;
    overflow: hidden;
  }
}
@media (max-width: 640px) {
  .wedding_public_feedback_summary, .wedding_public_pledge_contact {
    grid-template-columns: 1fr;
  }
  .wedding_public_pledge_contact label:first-child {
    grid-column: 1;
  }
  .wedding_public_pledge_inbox article header, .wedding_public_pledge_inbox article form {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_section_intro {
    align-items: flex-start;
  }
  .wedding_organizer_directory, .wedding_operations_metadata, .wedding_profile_service {
    grid-template-columns: 1fr;
  }
  .wedding_operations_filters {
    grid-template-columns: 1fr;
  }
  .wedding_operations_filters #weddingOperationsSearch {
    grid-column: 1;
  }
  .wedding_operations_filters .form_input {
    margin-bottom: 10px;
  }
  .wedding_operations_filters .form_input:last-child {
    margin-bottom: 0;
  }
  .wedding_operations_card.has_cover .wedding_operations_hero {
    grid-template-columns: 1fr;
  }
  .wedding_operations_card.has_cover .wedding_operations_cover {
    width: 100%;
  }
  .wedding_operations_cover {
    min-height: 180px;
    max-height: 220px;
  }
  .wedding_operations_identity {
    padding: 15px;
  }
  .wedding_operations_identity > header {
    flex-direction: column;
  }
  .wedding_operations_badges {
    justify-content: flex-start;
  }
  .wedding_operations_people, .wedding_operations_schedule {
    grid-template-columns: 1fr;
  }
  .wedding_operations_countdown {
    grid-template-columns: 1fr;
    padding: 16px;
  }
  .wedding_operations_countdown .wedding_countdown_progress {
    grid-column: 1;
  }
  .wedding_operations_highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_operations_highlights span, .wedding_operations_highlights span:nth-child(3) {
    border-right: 1px solid var(--border_color_lighter);
    border-bottom: 1px solid var(--border_color_lighter);
  }
  .wedding_operations_highlights span:nth-child(even) {
    border-right: 0;
  }
  .wedding_operations_highlights span:nth-last-child(-n+2) {
    border-bottom: 0;
  }
  .wedding_operations_details summary {
    padding-inline: 15px;
  }
  .wedding_operations_details_content {
    padding: 14px 15px 16px;
  }
  .wedding_profile_service > header, .wedding_profile_service > label:last-child {
    grid-column: 1;
  }
  .wedding_profile_social {
    grid-template-columns: 1fr 44px;
  }
  .wedding_profile_social select {
    grid-column: 1/-1;
  }
  .wedding_invites_intro {
    align-items: flex-start;
  }
  .wedding_invites_intro > small {
    flex: 0 0 auto;
  }
  .wedding_activity_heading {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_activity_heading .manage_add_new_btn {
    width: 100%;
    justify-content: center;
  }
  .wedding_invite_activity_grid article.wedding_invite_activity {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    padding-inline: 12px;
  }
  .wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_avatar {
    width: 40px;
    height: 40px;
  }
  .wedding_invite_activity_grid article.wedding_invite_activity .wedding_invite_role {
    width: fit-content;
    grid-column: 2;
  }
  .wedding_invite_activity_grid article.wedding_invite_activity .wedding_collaborator_actions {
    grid-column: 3;
    grid-row: 1/3;
  }
  .wedding_invite_activity_grid article.wedding_invite_activity form {
    grid-column: 1/-1;
  }
  .wedding_invite_activity_grid article.wedding_invite_activity form .sa_btn {
    flex: 1 1 120px;
  }
  .wedding_direct_invite_fields {
    grid-template-columns: 1fr;
  }
  .wedding_operations_grid {
    gap: 12px;
    margin-top: 12px;
  }
  .wedding_template_controls {
    grid-template-columns: 1fr;
  }
  .wedding_template_controls form {
    grid-template-columns: 1fr;
  }
  .wedding_template_controls form button {
    width: 100%;
    justify-content: center;
  }
  .wedding_workspace_header {
    grid-template-columns: 38px minmax(0, 1fr);
    padding: 14px;
  }
  .wedding_workspace_header .wedding_workspace_icon {
    width: 38px;
    height: 38px;
  }
  .wedding_workspace_header .manage_add_new_btn {
    grid-column: 1/-1;
    width: 100%;
    justify-content: center;
  }
  .wedding_workspace_list {
    padding-inline: 14px;
  }
  .wedding_checklist_workspace .wedding_template_controls {
    margin: 0 14px 14px;
  }
  .wedding_logistics_workspace .wedding_schedule_conflicts {
    margin-inline: 14px;
  }
  .wedding_timeline_list article {
    grid-template-columns: 22px minmax(0, 1fr);
  }
  .wedding_timeline_list article em {
    grid-column: 2;
  }
  .wedding_ai_usage_metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_ai_operations {
    padding: 14px;
  }
  .wedding_workspace.is_full_width .wedding_workspace_main {
    min-width: 0;
  }
  .wedding_workspace.is_full_width .wedding_workspace_panel {
    padding-inline: 0;
  }
  .wedding_checkin_dashboard {
    display: grid;
    gap: 12px;
    padding: 14px;
    background: var(--bg_color_darker1);
  }
  .wedding_checkin_mobile_heading {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .wedding_checkin_mobile_heading h2 {
    margin: 0;
    font-size: 24px;
  }
  .wedding_checkin_mobile_heading button {
    width: 44px;
    height: 44px;
    min-height: 44px;
    display: grid;
    place-items: center;
    border: 1px solid var(--border_color_lighter);
    border-radius: 50%;
    background: var(--white_color);
    color: var(--main_color);
    font-weight: 800;
  }
  .wedding_checkin_metrics {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .wedding_checkin_metrics::-webkit-scrollbar {
    display: none;
  }
  .wedding_checkin_metrics article {
    min-width: 200px;
    min-height: 90px;
    flex: 0 0 200px;
    display: grid;
    grid-template-columns: 38px 1fr;
    gap: 8px;
    padding: 10px 8px;
  }
  .wedding_checkin_metrics article > span {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
  }
  .wedding_checkin_metrics article div {
    display: grid;
    grid-template-columns: 1fr;
  }
  .wedding_checkin_metrics article div small {
    min-height: 28px;
    font-size: 13px;
    white-space: normal;
  }
  .wedding_checkin_metrics article div strong {
    font-size: 25px;
  }
  .wedding_checkin_metrics article div em {
    display: none;
  }
  .wedding_checkin_metrics article[data-desktop-metric] {
    display: none;
  }
  .wedding_checkin_filters {
    display: none;
  }
  .wedding_checkin_actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0;
    padding: 8px;
    border: 1px solid var(--border_color_lighter);
    border-radius: 12px;
    background: var(--white_color);
  }
  .wedding_checkin_actions button, .wedding_checkin_actions a {
    min-height: 50px;
    justify-content: center;
    border-color: transparent;
    border-radius: 9px;
    font-size: 13px;
  }
  .wedding_checkin_actions button:nth-of-type(n+3), .wedding_checkin_actions button:not(:nth-child(-n+2)), .wedding_checkin_actions a:nth-of-type(n+3), .wedding_checkin_actions a:not(:nth-child(-n+2)) {
    display: none;
  }
  .wedding_checkin_actions .wedding_checkin_cache {
    grid-column: 1/-1;
    margin: 6px 4px 0;
    text-align: center;
  }
  .wedding_checkin_workspace, .wedding_checkin_right {
    display: contents;
  }
  .wedding_checkin_left {
    display: contents;
  }
  .wedding_checkin_scanner, .wedding_checkin_manual {
    order: 3;
    padding: 8px;
    border-radius: 12px;
  }
  .wedding_checkin_scanner > h3, .wedding_checkin_manual > h3 {
    display: none;
  }
  .wedding_scanner_view {
    min-height: 176px;
    padding: 18px 12px;
  }
  .wedding_scanner_view > span {
    width: 86px;
    height: 74px;
    border: 0;
    border-radius: 9px;
    background: color-mix(in srgb, var(--main_color) 6%, transparent);
    position: relative;
  }
  .wedding_scanner_view > span::before, .wedding_scanner_view > span::after {
    position: absolute;
    inset: -8px;
    border: 3px solid var(--main_color);
    border-right-color: transparent;
    border-bottom-color: transparent;
    border-radius: 8px;
    content: "";
  }
  .wedding_scanner_view > span::after {
    rotate: 180deg;
  }
  .wedding_scanner_view p {
    font-size: 13px;
  }
  .wedding_scanner_view button {
    height: 48px;
    min-height: 48px;
    font-size: 13px;
  }
  .wedding_code_divider {
    margin: 12px 6px 8px;
    font-size: 13px;
  }
  [data-wp-checkin-submit] input, [data-wp-checkin-submit] button {
    min-height: 46px;
    font-size: 13px;
  }
  [data-wp-checkin-submit] button {
    min-width: 46px;
  }
  .wedding_checkin_manual label {
    min-height: 48px;
  }
  .wedding_checkin_manual [data-wp-manual-results] button {
    min-height: 52px;
  }
  .wedding_last_scanned, .wedding_checkin_roster, .wedding_checkin_operators, .wedding_checkin_reports {
    display: none;
  }
  .wedding_recent_checkins {
    order: 4;
    padding: 10px 12px !important;
    border-radius: 12px !important;
  }
  .wedding_recent_checkins h3 {
    font-size: 13px !important;
  }
  .wedding_recent_checkins header button {
    min-width: 58px;
    min-height: 44px !important;
  }
  .wedding_recent_checkins article {
    min-height: 54px;
    grid-template-columns: 36px minmax(0, 1fr) auto auto;
  }
  .wedding_recent_checkins article .wedding_guest_avatar {
    width: 36px;
    height: 36px;
  }
  .wedding_recent_checkins article div strong {
    font-size: 13px;
  }
  .wedding_recent_checkins article div small, .wedding_recent_checkins article time {
    font-size: 13px;
  }
  .wedding_recent_checkins article .wedding_checkin_status {
    grid-column: 4;
    grid-row: 1/3;
    min-height: 32px;
    font-size: 13px;
  }
  .wedding_checkin_mobile_overview {
    order: 5;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 12px;
    border-radius: 12px;
  }
  .wedding_checkin_mobile_overview h3 {
    grid-column: 1/-1;
    margin: 0;
    font-size: 13px;
  }
  .wedding_checkin_mobile_overview article {
    min-width: 0;
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 3px 7px;
    padding: 9px;
    border: 1px solid var(--border_color_lighter);
    border-radius: 9px;
  }
  .wedding_checkin_mobile_overview article span {
    width: 34px;
    height: 34px;
    grid-row: 1/3;
    display: grid;
    place-items: center;
    border-radius: 8px;
    background: var(--main_color_lighter6);
    color: var(--main_color);
  }
  .wedding_checkin_mobile_overview article small {
    overflow: hidden;
    color: var(--text_color_lighter1);
    font-size: 13px;
    text-overflow: ellipsis;
  }
  .wedding_checkin_mobile_overview article strong {
    font-size: 19px;
  }
  .wedding_checkin_issues {
    order: 6;
    padding: 12px !important;
    border-radius: 12px !important;
  }
  .wedding_checkin_issues h3 {
    font-size: 13px !important;
  }
  .wedding_checkin_issues header button {
    min-width: 58px;
    min-height: 44px !important;
  }
  .wedding_checkin_issues [data-wp-issue-list] button {
    min-height: 48px;
    grid-template-columns: 22px 1fr auto auto;
    font-size: 13px;
  }
  .wedding_checkin_issues [data-wp-issue-list] button svg {
    width: 20px;
  }
  .wedding_checkin_issues [data-wp-issue-list] button b {
    min-width: 28px;
  }
  .wedding_checkin_dialog {
    width: 100vw;
    max-width: none;
    height: 100dvh;
    max-height: none;
    margin: 0;
    border: 0;
    border-radius: 0;
  }
  .wedding_checkin_dialog .wedding_checkin_dialog_list {
    max-height: calc(100dvh - 150px);
    padding: 10px;
  }
  .wedding_checkin_dialog .wedding_checkin_dialog_list article {
    grid-template-columns: 36px minmax(0, 1fr) auto;
  }
  .wedding_checkin_dialog .wedding_checkin_dialog_list article time {
    grid-column: 2;
  }
  .wedding_checkin_dialog .wedding_checkin_dialog_list article > b, .wedding_checkin_dialog .wedding_checkin_dialog_list article > button {
    grid-column: 3;
  }
  .wedding_checkin_dialog .wedding_checkin_dialog_list article form {
    grid-column: 1/-1;
  }
  .wedding_checkin_dialog .wedding_checkin_dialog_list article form input {
    min-width: 0;
    width: 100%;
  }
  .wedding_invitation_builder {
    height: calc(100dvh - 145px);
    min-height: 640px;
    border-inline: 0;
    border-radius: 0;
  }
  .wedding_invitation_builder .wedding_invitation_builder_identity {
    flex-wrap: wrap;
  }
  .wedding_invitation_builder .wedding_invitation_builder_identity .wedding_back {
    width: 100%;
  }
  .wedding_invitation_builder .wedding_invitation_builder_identity input {
    width: min(220px, 58vw);
  }
  .wedding_invitation_builder .wedding_invitation_builder_identity .wedding_invitation_autosave {
    width: 100%;
  }
  .wedding_invitation_builder .wedding_invitation_collaborators {
    display: none;
  }
  .wedding_invitation_builder .wedding_invitation_builder_body {
    grid-template-columns: 1fr;
    padding-bottom: 60px;
  }
  .wedding_invitation_builder .wedding_invitation_toolrail {
    position: absolute;
    z-index: 50;
    right: 0;
    bottom: 0;
    left: 0;
    min-height: 58px;
    display: flex;
    padding: 5px;
    overflow-x: auto;
    overflow-y: hidden;
    border-top: 1px solid var(--border_color);
    border-right: 0;
  }
  .wedding_invitation_builder .wedding_invitation_toolrail button {
    min-width: 54px;
    min-height: 50px;
  }
  .wedding_invitation_builder .wedding_invitation_tool_popover {
    top: auto;
    right: 8px;
    bottom: 66px;
    left: 8px;
    width: auto;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .wedding_invitation_builder .wedding_invitation_context_panel {
    top: auto;
    right: 0;
    bottom: 58px;
    left: 0;
    width: 100%;
    max-height: 55vh;
    border-top: 1px solid var(--border_color);
  }
  .wedding_invitation_builder .wedding_invitation_canvas_shell {
    grid-column: 1;
  }
  .wedding_invitation_builder .wedding_invitation_canvas_toolbar {
    max-width: calc(100% - 20px);
    overflow-x: auto;
  }
  .wedding_invitation_builder .wedding_invitation_stage {
    justify-content: flex-start;
    padding-inline: 12px;
  }
  .wedding_invitation_builder .wedding_invitation_artboard {
    width: min(86vw, 460px);
  }
  .wedding_invitation_builder .wedding_invitation_artboards {
    width: 112px;
    flex-basis: 112px;
  }
  .wedding_invitation_builder .wedding_invitation_starter {
    padding: 18px 12px;
  }
  .wedding_invitation_builder .wedding_invitation_starter > div {
    grid-template-columns: 1fr;
  }
  .wedding_invitation_export_dialog .wedding_download_choices, .wedding_invitation_library_dialog .wedding_download_choices {
    grid-template-columns: 1fr;
  }
  .wedding_library_filters, .wedding_public_library .wedding_library_filters {
    grid-template-columns: 1fr;
  }
  .wedding_library_filters.is_asset, .wedding_public_library .wedding_library_filters.is_asset {
    grid-template-columns: 1fr;
  }
  .wedding_library_filters .wedding_library_search, .wedding_public_library .wedding_library_filters .wedding_library_search {
    grid-column: 1;
  }
  .wedding_organizer_filters {
    grid-template-columns: 1fr;
  }
  .wedding_library_view_switcher {
    width: 100%;
    grid-column: 1;
    justify-self: stretch;
  }
  .wedding_library_view_switcher button {
    flex: 1 1 0;
  }
  .wedding_settings_danger_actions {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_settings_danger_actions form, .wedding_settings_danger_actions button {
    width: 100%;
  }
  .wedding_settings_danger_actions button {
    min-width: 0;
  }
  .wedding_notification_channels, .wedding_notification_preference {
    grid-template-columns: minmax(0, 1fr) 42px 42px;
    gap: 7px;
  }
  .wedding_notification_channels {
    padding-inline: 7px;
  }
  .wedding_notification_preference {
    padding-inline: 7px;
  }
  .wedding_notification_preference > label {
    width: 42px;
  }
  .wedding_notification_preference input[role=switch] {
    width: 42px !important;
  }
  .wedding_notification_preference input[role=switch]::before {
    width: 17px;
    height: 17px;
  }
  .wedding_notification_preference input[role=switch]:checked::before {
    left: 20px;
  }
  .wedding_library_grid {
    grid-template-columns: 1fr;
  }
  .wedding_provider_profile_hero {
    padding: 16px;
  }
  .wedding_provider_profile_hero {
    min-height: 260px;
    background-position: 62% center;
  }
  .wedding_provider_profile_hero > div:last-child {
    align-self: stretch;
  }
  .wedding_provider_profile_tabs a {
    min-width: 108px;
  }
  .wedding_provider_identity_card {
    grid-template-columns: 82px minmax(0, 1fr);
  }
  .wedding_provider_identity_card .wedding_provider_avatar {
    width: 82px;
    height: 82px;
  }
  .wedding_provider_identity_card dl > div {
    grid-template-columns: 1fr;
    gap: 3px;
  }
  .wedding_provider_profile_fields, .wedding_provider_contact_toggles {
    grid-template-columns: 1fr;
  }
  .wedding_provider_profile_fields > .is_wide, .wedding_provider_profile_fields > label.is_wide, .wedding_provider_contact_toggles > .is_wide, .wedding_provider_contact_toggles > label.is_wide {
    grid-column: 1;
  }
  .wedding_provider_profile_form > footer, .wedding_provider_listings > header {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_provider_profile_form > footer .manage_add_new_btn, .wedding_provider_listings > header .manage_add_new_btn {
    width: 100%;
    justify-content: center;
  }
  .wedding_provider_listing_grid {
    grid-template-columns: 1fr;
  }
  .wedding_provider_visibility_grid, .wedding_provider_services, .wedding_provider_pricing_grid {
    grid-template-columns: 1fr;
  }
  .wedding_provider_appearance > header {
    flex-direction: column;
  }
  .wedding_provider_appearance > header > span {
    white-space: normal;
  }
  .wedding_provider_media_card, .wedding_provider_media_card.is_cover {
    grid-template-columns: 84px minmax(0, 1fr);
  }
  .wedding_provider_media_card .wedding_provider_media_preview, .wedding_provider_media_card.is_avatar .wedding_provider_media_preview, .wedding_provider_media_card.is_cover .wedding_provider_media_preview, .wedding_provider_media_card.is_cover.is_avatar .wedding_provider_media_preview {
    width: 84px;
    height: 84px;
  }
  .wedding_provider_media_card .wedding_provider_media_remove, .wedding_provider_media_card.is_cover .wedding_provider_media_remove {
    grid-column: 2;
  }
  .wedding_provider_package_editor > article {
    grid-template-columns: 1fr;
  }
  .wedding_provider_package_editor > article > label.is_wide {
    grid-column: 1;
  }
  .wedding_provider_package_actions {
    justify-content: flex-start;
  }
  .wedding_public_organizer {
    padding: 12px;
  }
  .wedding_public_organizer_hero {
    min-height: 280px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: flex-end;
  }
  .wedding_public_organizer_hero img {
    width: 86px;
    height: 86px;
  }
  .wedding_organizer_profile {
    grid-template-columns: 1fr;
  }
  .wedding_public_library {
    padding: 12px;
  }
  .manage_content_inner_weddings:has(.wedding_mood_editor_workspace) .wedding_mood_editor_workspace {
    height: calc(100dvh - 182px);
  }
  .wedding_mood_editor_workspace {
    border-radius: 0;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_header {
    min-height: 0;
    padding: 4px 8px;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_identity {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_identity .wedding_mood_back {
    grid-column: 1;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_identity .wedding_mood_title, .wedding_mood_editor_workspace .wedding_mood_editor_identity h2 {
    grid-column: 2;
    width: 100%;
    max-width: none;
    font-size: 16px;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_identity .wedding_mood_status {
    grid-column: 3;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_identity .wedding_mood_version_select, .wedding_mood_editor_workspace .wedding_mood_editor_identity .wedding_mood_save_state {
    grid-row: 2;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_identity .wedding_mood_version_select {
    grid-column: 1/3;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_identity .wedding_mood_save_state {
    grid-column: 3;
    min-width: 0;
    justify-self: end;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_actions {
    overflow-x: auto;
    justify-content: flex-start;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_actions .wedding_mood_avatar_stack {
    display: none;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_actions > button {
    flex: 0 0 auto;
  }
  .wedding_mood_editor_workspace .wedding_mood_editor_body {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(0, 1fr) 68px;
  }
  .wedding_mood_editor_workspace .wedding_mood_tool_rail {
    grid-row: 2;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 5px;
    border-top: 1px solid var(--border_color_lighter);
    border-right: 0;
  }
  .wedding_mood_editor_workspace .wedding_mood_tool_rail button {
    min-width: 58px;
    min-height: 56px;
    flex: 0 0 58px;
  }
  .wedding_mood_editor_workspace .wedding_mood_canvas_shell {
    grid-row: 1;
  }
  .wedding_mood_editor_workspace .wedding_mood_inspector {
    top: auto;
    right: 0;
    bottom: 68px;
    left: 0;
    width: 100%;
    height: auto;
    max-height: min(68dvh, 620px, 100% - 68px);
    border-top: 1px solid var(--border_color);
    border-left: 0;
    border-radius: 14px 14px 0 0;
  }
  .wedding_mood_editor_workspace .wedding_mood_minimap {
    display: none;
  }
  .wedding_mood_editor_workspace .wedding_mood_canvas_controls {
    right: 8px;
    bottom: 8px;
  }
  .wedding_mood_editor_workspace .wedding_mood_canvas_controls button, .wedding_mood_editor_workspace .wedding_mood_canvas_controls output {
    min-width: 42px;
    min-height: 42px;
  }
  .wedding_public_mood {
    min-height: calc(100dvh - 60px);
  }
  .wedding_public_mood > header {
    padding: 10px 12px;
  }
  .wedding_public_mood > header > div:last-child {
    overflow-x: auto;
  }
  .wedding_public_mood .wedding_public_mood_canvas {
    min-height: 68dvh;
  }
  .wedding_public_mood .wedding_public_mood_comments {
    padding: 12px;
  }
  .wedding_mood_share_dialog fieldset, .wedding_mood_export_choices {
    grid-template-columns: 1fr;
  }
  .wedding_planner_page {
    padding: 14px;
  }
  .wedding_planner_header, .wedding_section_header {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_overview_grid, .wedding_budget_summary {
    grid-template-columns: 1fr;
  }
  .wedding_inline_form {
    display: grid;
  }
  .wedding_permission_grid {
    grid-template-columns: 1fr;
  }
  .wedding_team_list article {
    grid-template-columns: minmax(0, 1fr) auto;
  }
  .wedding_team_list article .wedding_team_identity, .wedding_team_list article .wedding_permission_pills, .wedding_team_list article .wedding_team_invite_status {
    grid-column: 1;
  }
  .wedding_team_list article .wedding_collaborator_actions {
    grid-column: 2;
    grid-row: 1/4;
    align-self: center;
  }
  .wedding_checkin_list article {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_detail_header {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_metric_grid, .wedding_activity_grid, .wedding_directory, .wedding_filters {
    grid-template-columns: 1fr;
  }
  .wedding_filters {
    align-items: stretch;
  }
  .wedding_filters .wedding_filter_group {
    display: grid;
    grid-template-columns: 1fr;
  }
  .wedding_filters .sa_btn, .wedding_filters .sa_view_switch {
    width: 100%;
  }
  .wedding_filters .sa_view_switch button {
    flex: 1 1 0;
  }
  .wedding_directory.is_list .wedding_plan_card {
    display: block;
    min-height: 0;
  }
  .wedding_directory.is_list .wedding_plan_card .wedding_card_cover {
    height: 154px;
    min-height: 0;
    border-radius: 13px 13px 0 0;
  }
  .wedding_directory.is_list .wedding_plan_card .wedding_card_people {
    margin: -34px 14px 0;
    padding: 0;
  }
  .wedding_directory.is_list .wedding_plan_card .wedding_card_main {
    padding: 16px;
  }
  .wedding_detail_actions {
    justify-content: flex-start;
  }
  .save_draft_header_row {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-items: stretch;
    flex: 1 1 100%;
    flex-direction: column;
  }
  .save_draft_header_row > div:first-child {
    width: 100%;
    min-width: 0;
    gap: 10px;
  }
  .save_draft_header_row > div:first-child .wedding_back {
    flex: 0 0 auto;
  }
  .save_draft_header_row > div:first-child h2 {
    width: auto;
    min-width: 0;
    font-size: 18px;
  }
  .save_draft_actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .save_draft_actions form, .save_draft_actions button {
    width: 100%;
  }
  .wedding_detail_content {
    padding: 16px;
  }
  .wedding_detail_people > span {
    width: 50%;
  }
  .wedding_new_cover {
    grid-template-columns: 1fr;
  }
  .wedding_new_cover img {
    height: 150px;
  }
  .wedding_new_cover > div {
    padding: 0 14px 14px;
  }
  .wedding_new_people, .wedding_settings_media {
    grid-template-columns: 1fr;
  }
  .wedding_new_parents > div {
    grid-template-columns: 1fr;
  }
  .wedding_workspace {
    grid-template-columns: 1fr;
  }
  .wedding_workspace .wedding_profile_rail {
    grid-column: 1;
    grid-row: 2;
  }
  .wedding_workspace .wedding_workspace_panel {
    grid-column: 1;
    grid-row: 3;
  }
  .wedding_workspace.is_full_width .wedding_workspace_panel {
    grid-row: 2;
  }
  .wedding_profile_rail .wedding_profile_cover {
    height: 180px;
  }
  .wedding_currency_control {
    width: 100%;
    align-items: stretch;
  }
  .wedding_currency_control label {
    width: 100%;
  }
  .wedding_currency_control small {
    padding: 0;
  }
  .wedding_overview_report_header {
    grid-template-columns: 1fr;
  }
  .wedding_overview_report_header .wedding_report_status {
    width: fit-content;
  }
  .wedding_overview_report_header dl {
    grid-column: 1;
    grid-template-columns: 1fr;
  }
  .wedding_overview_metrics, .wedding_overview_cards {
    grid-template-columns: 1fr;
  }
  .wedding_overview_attention ul, .wedding_overview_finance_report dl {
    grid-template-columns: 1fr;
  }
  .wedding_overview_finance_report > header, .wedding_contributions > header {
    align-items: flex-start;
    flex-direction: column;
  }
  .wedding_activity_card {
    grid-column: 1;
    gap: 0;
  }
  .wedding_activity_card > header {
    padding-bottom: 10px;
  }
  .wedding_activity_card > header button {
    min-height: 35px;
  }
  .wedding_activity_card > article {
    min-height: 0;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    gap: 3px;
    padding: 11px 0;
  }
  .wedding_activity_card > article strong, .wedding_activity_card > article small {
    width: 100%;
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  .wedding_activity_card > article strong {
    line-height: 1.35;
  }
  .wedding_activity_card > article small {
    flex: none;
    line-height: 1.45;
  }
  .manage_page .manage_content .manage_content_inner.manage_content_inner_weddings .manage_section_header {
    gap: 20px;
  }
  .manage_content_inner_weddings .manage_section_header {
    margin-bottom: 14px;
  }
  .manage_content_inner_weddings .manage_section_header .save_draft_header_row {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 9px;
  }
  .manage_content_inner_weddings .manage_section_header .save_draft_header_row > div:first-child {
    display: grid;
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .manage_content_inner_weddings .manage_section_header .save_draft_header_row > div:first-child .wedding_back {
    align-items: center;
    justify-self: start;
  }
  .manage_content_inner_weddings .manage_section_header .save_draft_header_row > div:first-child h2 {
    align-self: center;
    font-size: 17px;
  }
  .manage_content_inner_weddings .manage_section_header .save_draft_actions {
    width: 100%;
  }
  .manage_content_inner_weddings .manage_section_header .save_draft_actions button {
    flex: 1 1 auto;
  }
  .wedding_manage_header_tools {
    grid-template-columns: 1fr;
    gap: 20px;
    overflow: visible;
  }
  .wedding_manage_header_tools .wedding_hub_mobile_select {
    width: 100%;
    display: grid;
    gap: 5px;
    order: 2;
    color: var(--text_color);
    font-size: 13px;
    font-weight: 700;
  }
  .wedding_manage_header_tools .wedding_hub_mobile_select .form_input {
    width: 100%;
    margin: 0;
  }
  .wedding_manage_header_tools .wedding_hub_tabs {
    display: none;
  }
  .wedding_manage_header_tools .manage_add_new_btn {
    order: 1;
    width: 100%;
    min-height: 46px;
    justify-content: center;
  }
  .wedding_workspace_tabs {
    display: flex;
    grid-auto-flow: initial;
    grid-template-columns: none;
    grid-template-rows: none;
    grid-auto-columns: auto;
    gap: 6px;
    overflow-x: auto;
    overflow-y: hidden;
    padding: 4px 0;
    scroll-snap-type: x proximity;
  }
  .wedding_workspace_tabs a {
    min-width: 112px;
    min-height: 35px;
    flex: 0 0 auto;
    scroll-snap-align: start;
  }
  .wedding_public_share_header {
    align-items: stretch;
    flex-direction: column;
    padding: 14px;
  }
  .wedding_public_share_meta {
    text-align: left;
  }
  .wedding_public_share_link {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_public_share_link label, .wedding_public_share_link .sa_btn, .wedding_public_share_link form, .wedding_public_share_link form .sa_btn {
    width: 100%;
  }
  .wedding_public_share_sections {
    scroll-snap-type: x proximity;
  }
  .wedding_public_share_sections button {
    flex: 0 0 115px;
    scroll-snap-align: start;
  }
  .wedding_public_share_controls form > section {
    padding: 14px;
  }
  .wedding_public_template_grid, .wedding_public_control_grid, .wedding_public_toggle_grid, .wedding_public_card_details {
    grid-template-columns: 1fr;
  }
  .wedding_public_template_grid .is_wide, .wedding_public_control_grid .is_wide, .wedding_public_toggle_grid .is_wide, .wedding_public_card_details .is_wide {
    grid-column: 1;
  }
  .wedding_public_template_library_grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_public_share_actions {
    align-items: stretch;
    flex-direction: column;
    padding: 10px 14px;
  }
  .wedding_public_share_actions .sa_btn, .wedding_public_share_actions .manage_add_new_btn {
    width: 100%;
    margin-left: 0;
    justify-content: center;
  }
  .wedding_public_share_preview > div {
    padding: 8px;
  }
  .wedding_public_card_page {
    padding: 12px 6px;
  }
  .wedding_public_card {
    border-radius: 13px;
  }
  .wedding_public_card_cover {
    height: 180px;
  }
  .wedding_public_card_inner > section, .wedding_public_card_inner > header {
    padding: 20px 15px;
  }
  .wedding_library_preview_dialog .wedding_library_preview_details, .wedding_library_preview_dialog > form {
    grid-template-columns: 1fr;
  }
  .wedding_library_preview_dialog > form h3, .wedding_library_preview_dialog > form footer {
    grid-column: 1;
  }
  .wedding_public_card.is_classic_floral, .wedding_public_card.is_modern_minimal, .wedding_public_card.is_garden_celebration, .wedding_public_card.is_evening_elegance, .wedding_public_card.is_editorial_split, .wedding_public_card.is_romantic_postcard, .wedding_public_card.is_heritage_album {
    display: block;
  }
  .wedding_public_card.is_classic_floral .wedding_public_card_cover, .wedding_public_card.is_modern_minimal .wedding_public_card_cover, .wedding_public_card.is_garden_celebration .wedding_public_card_cover, .wedding_public_card.is_evening_elegance .wedding_public_card_cover, .wedding_public_card.is_editorial_split .wedding_public_card_cover, .wedding_public_card.is_romantic_postcard .wedding_public_card_cover, .wedding_public_card.is_heritage_album .wedding_public_card_cover {
    position: relative;
    inset: auto;
    width: auto;
    height: 210px;
    min-height: 210px;
    margin: 0;
    border-width: 0 0 1px;
    border-radius: 0;
    opacity: 1;
  }
  .wedding_public_card.is_classic_floral .wedding_public_card_inner, .wedding_public_card.is_modern_minimal .wedding_public_card_inner, .wedding_public_card.is_garden_celebration .wedding_public_card_inner, .wedding_public_card.is_evening_elegance .wedding_public_card_inner, .wedding_public_card.is_editorial_split .wedding_public_card_inner, .wedding_public_card.is_romantic_postcard .wedding_public_card_inner, .wedding_public_card.is_heritage_album .wedding_public_card_inner {
    display: flex;
    flex-direction: column;
    padding: 0;
  }
  .wedding_public_card.is_classic_floral .wedding_public_card_inner > section, .wedding_public_card.is_classic_floral .wedding_public_card_inner > header, .wedding_public_card.is_modern_minimal .wedding_public_card_inner > section, .wedding_public_card.is_modern_minimal .wedding_public_card_inner > header, .wedding_public_card.is_garden_celebration .wedding_public_card_inner > section, .wedding_public_card.is_garden_celebration .wedding_public_card_inner > header, .wedding_public_card.is_evening_elegance .wedding_public_card_inner > section, .wedding_public_card.is_evening_elegance .wedding_public_card_inner > header, .wedding_public_card.is_editorial_split .wedding_public_card_inner > section, .wedding_public_card.is_editorial_split .wedding_public_card_inner > header, .wedding_public_card.is_romantic_postcard .wedding_public_card_inner > section, .wedding_public_card.is_romantic_postcard .wedding_public_card_inner > header, .wedding_public_card.is_heritage_album .wedding_public_card_inner > section, .wedding_public_card.is_heritage_album .wedding_public_card_inner > header {
    grid-column: auto;
    grid-row: auto;
    min-height: 0;
    margin: 0;
    padding: 20px 15px;
    border-right: 0;
    border-radius: 0;
  }
  .wedding_public_card.is_classic_floral .wedding_public_card_hero, .wedding_public_card.is_modern_minimal .wedding_public_card_hero, .wedding_public_card.is_garden_celebration .wedding_public_card_hero, .wedding_public_card.is_evening_elegance .wedding_public_card_hero, .wedding_public_card.is_editorial_split .wedding_public_card_hero, .wedding_public_card.is_romantic_postcard .wedding_public_card_hero, .wedding_public_card.is_heritage_album .wedding_public_card_hero {
    min-height: 260px;
  }
  .wedding_public_card.is_classic_floral, .wedding_public_card.is_garden_celebration, .wedding_public_card.is_romantic_postcard {
    border-radius: 13px;
  }
  .wedding_public_card.is_modern_minimal, .wedding_public_card.is_evening_elegance, .wedding_public_card.is_editorial_split {
    border-radius: 0;
  }
  .wedding_public_card_events article {
    align-items: flex-start;
    flex-direction: column;
  }
  .wedding_help {
    grid-template-columns: 1fr;
  }
  .wedding_help_sidebar {
    position: static;
  }
  .wedding_help_sidebar .wedding_help_search {
    position: sticky;
    top: 0;
    z-index: 2;
    padding-bottom: 7px;
    background: var(--white_color);
  }
  .wedding_help_sidebar nav {
    display: flex;
    overflow-x: auto;
    padding-bottom: 4px;
    scroll-snap-type: x proximity;
  }
  .wedding_help_sidebar nav a {
    flex: 0 0 min(72vw, 250px);
    scroll-snap-align: start;
  }
  .wedding_help_guides > header h1 {
    font-size: 21px;
  }
  .wedding_help_guides > section figure {
    padding: 9px;
  }
  .wedding_event_metrics, .wedding_event_support {
    grid-template-columns: 1fr;
  }
  .wedding_branding_media_grid {
    grid-template-columns: 1fr;
  }
  .wedding_image_picker.is_cover {
    grid-column: 1;
  }
  .wedding_image_dropzone {
    grid-template-columns: 96px minmax(0, 1fr);
  }
  .wedding_image_dropzone img {
    height: 88px;
  }
  .wedding_image_picker:not(.is_cover) .wedding_image_dropzone {
    grid-template-columns: 96px minmax(0, 1fr);
    align-items: center;
  }
  .wedding_image_picker:not(.is_cover) .wedding_image_dropzone img {
    height: 88px;
  }
  .wedding_event_schedule header, .wedding_event_schedule footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .wedding_budget_metrics, .wedding_mood_metrics, .wedding_budget_primary, .wedding_budget_support, .wedding_mood_board_grid {
    grid-template-columns: 1fr;
  }
  .wedding_budget_primary .wedding_budget_breakdown {
    grid-column: auto;
  }
  .wedding_budget_primary .wedding_budget_breakdown > header, .wedding_budget_primary .wedding_budget_breakdown > footer {
    align-items: flex-start;
    flex-direction: column;
  }
  .wedding_mood_filters {
    grid-template-columns: 1fr;
  }
  .wedding_mood_filters .sa_btn, .wedding_mood_filters .manage_add_new_btn {
    width: 100%;
    justify-content: center;
  }
  .wedding_invitation_metrics, .wedding_invitation_design_grid, .wedding_guest_metrics, .wedding_guest_grid {
    grid-template-columns: 1fr;
  }
  .wedding_invitation_filters {
    grid-template-columns: 1fr;
  }
  .wedding_invitation_filters .sa_btn, .wedding_invitation_filters .manage_add_new_btn {
    width: 100%;
  }
  .wedding_invitation_designs > header {
    align-items: flex-start;
    flex-direction: column;
  }
  .wedding_invitation_designs > header > div:last-child {
    width: 100%;
  }
  .wedding_invitation_designs > header > div:last-child button {
    flex: 1 1 auto;
  }
  .wedding_share_dialog > form {
    overflow-y: auto;
  }
  .wedding_share_dialog .wedding_share_filterbar, .wedding_share_dialog .wedding_share_setup {
    grid-template-columns: 1fr;
  }
  .wedding_share_dialog .wedding_share_chips {
    overflow-x: auto;
  }
  .wedding_share_dialog .wedding_share_chips button {
    flex: 0 0 auto;
  }
  .wedding_share_dialog .wedding_share_channels {
    flex-wrap: wrap;
  }
  .wedding_share_dialog .wedding_share_channels button, .wedding_share_dialog .wedding_share_channels details {
    flex: 1 1 calc(50% - 6px);
  }
  .wedding_share_dialog .wedding_share_channels details summary {
    width: 100%;
  }
  .wedding_share_dialog .wedding_share_table {
    max-height: none;
    overflow: visible;
    border: 0;
  }
  .wedding_share_dialog .wedding_share_table table, .wedding_share_dialog .wedding_share_table tbody {
    display: block;
  }
  .wedding_share_dialog .wedding_share_table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
  }
  .wedding_share_dialog .wedding_share_table tr {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    gap: 7px;
    margin-bottom: 9px;
    padding: 11px;
    border: 1px solid var(--border_color_lighter);
    border-radius: 10px;
  }
  .wedding_share_dialog .wedding_share_table td {
    display: block;
    padding: 0;
    border: 0;
  }
  .wedding_share_dialog .wedding_share_table td:first-child {
    grid-row: 1/5;
  }
  .wedding_share_dialog .wedding_share_table td:last-child {
    grid-column: 2;
  }
  .wedding_share_dialog .wedding_share_row_settings {
    flex-wrap: wrap;
  }
  .wedding_share_dialog .wedding_share_summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .wedding_share_dialog .wedding_share_summary span {
    border-bottom: 1px solid var(--border_color_lighter);
  }
  .wedding_share_dialog .wedding_share_summary span:nth-child(2) {
    border-right: 0;
  }
  .wedding_share_dialog > form > footer {
    grid-template-columns: 1fr;
  }
  .wedding_guest_primary_filters {
    grid-template-columns: 1fr;
    align-items: stretch;
  }
  .wedding_guest_primary_filters .wedding_guest_search, .wedding_guest_primary_filters .wedding_guest_toolbar {
    grid-column: 1;
  }
  .wedding_guest_toolbar {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_guest_toolbar nav, .wedding_guest_toolbar .sa_btn, .wedding_guest_toolbar .manage_add_new_btn {
    width: 100%;
  }
  .wedding_guest_toolbar nav a {
    flex: 1 1 0;
    justify-content: center;
  }
  .wedding_guest_dashboard:has(.wedding_guest_list_table) {
    grid-template-columns: 1fr;
  }
  .wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_primary_filters {
    grid-column: 1;
    grid-row: 2;
  }
  .wedding_guest_dashboard:has(.wedding_guest_list_table) .wedding_guest_list_table {
    grid-column: 1;
    grid-row: 3;
  }
  .wedding_guest_list_actions, .wedding_guest_list_table > footer {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_guest_list_actions > div, .wedding_guest_list_table > footer > div {
    display: grid;
    grid-template-columns: 1fr;
  }
  .wedding_guest_list_actions .sa_btn, .wedding_guest_list_actions .manage_add_new_btn, .wedding_guest_list_table > footer .sa_btn, .wedding_guest_list_table > footer .manage_add_new_btn {
    width: 100%;
    justify-content: center;
  }
  .wedding_guest_next {
    grid-template-columns: 42px minmax(0, 1fr);
  }
  .wedding_guest_next > button, .wedding_guest_next > a {
    grid-column: 1/-1;
    width: 100%;
    justify-content: center;
  }
  .wedding_budget_ledger_dialog .wedding_card_list > button {
    grid-template-columns: 1fr;
  }
  .wedding_dialog {
    width: calc(100vw - 12px);
    max-height: calc(100dvh - 12px);
  }
  .wedding_dialog > header, .wedding_dialog > form, .wedding_dialog > div, .wedding_dialog > section {
    padding-right: 14px;
    padding-left: 14px;
  }
  .wedding_dialog > footer, .wedding_dialog > form > footer {
    align-items: stretch;
    flex-direction: column;
    margin-right: -14px;
    margin-left: -14px;
  }
  .wedding_dialog > footer button, .wedding_dialog > footer a, .wedding_dialog > form > footer button, .wedding_dialog > form > footer a {
    width: 100%;
    justify-content: center;
  }
  .wedding_dialog .wedding_dev_settings_actions {
    align-items: stretch;
    flex-direction: column;
  }
  .wedding_feature_dialog > div {
    gap: 12px;
    padding: 12px;
  }
  .wedding_feature_dialog .wedding_two_column > section, .wedding_feature_dialog .wedding_settings_card, .wedding_feature_dialog .wedding_checkin_panel, .wedding_feature_dialog .wedding_mood_intro, .wedding_feature_dialog .wedding_import_panel, .wedding_feature_dialog .wedding_delivery_selector {
    padding: 14px;
  }
  .wedding_dev_settings_form {
    padding: 14px;
  }
  .wedding_dev_settings_actions {
    margin: 0 -14px -14px;
  }
}
html:has(#dark_mode_stylesheet) .wedding_planner_page, html:has(#dark_mode_stylesheet) .wedding_hub, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace, html:has(#dark_mode_stylesheet) .wedding_public_mood, html:has(#dark_mode_stylesheet) .wedding_invitation_builder {
  --wedding-scrollbar-track: color-mix(in srgb,var(--border_color_lighter2) 38%,var(--bg_color));
  --wedding-scrollbar-thumb: color-mix(in srgb,var(--text_color_lighter2) 56%,var(--bg_color));
}
html:has(#dark_mode_stylesheet) .wedding_guest_sidebar > section {
  border-color: var(--border_color_lighter2);
  background: var(--white_color);
}
html:has(#dark_mode_stylesheet) .wedding_public_share_header, html:has(#dark_mode_stylesheet) .wedding_public_share_link, html:has(#dark_mode_stylesheet) .wedding_public_share_sections, html:has(#dark_mode_stylesheet) .wedding_public_share_controls, html:has(#dark_mode_stylesheet) .wedding_public_share_preview, html:has(#dark_mode_stylesheet) .wedding_public_share_actions {
  border-color: var(--border_color_lighter2);
  background: var(--white_color);
}
html:has(#dark_mode_stylesheet) .wedding_public_template_grid label span, html:has(#dark_mode_stylesheet) .wedding_public_template_library_grid button > span, html:has(#dark_mode_stylesheet) .wedding_public_toggle_grid label, html:has(#dark_mode_stylesheet) .wedding_public_event_picker label, html:has(#dark_mode_stylesheet) .wedding_public_comment_inbox article, html:has(#dark_mode_stylesheet) .wedding_public_pledge_inbox article {
  border-color: var(--border_color_lighter2);
  background: var(--bg_color);
  color: var(--text_color);
}
html:has(#dark_mode_stylesheet) .wedding_public_template_grid label input:checked + span, html:has(#dark_mode_stylesheet) .wedding_public_template_library_grid button[aria-pressed=true] > span {
  border-color: var(--main_color);
  background: color-mix(in srgb, var(--main_color) 12%, var(--bg_color));
}
html:has(#dark_mode_stylesheet) .wedding_public_share .form_input, html:has(#dark_mode_stylesheet) .wedding_public_share input:not([type=checkbox]):not([type=radio]):not([type=color]), html:has(#dark_mode_stylesheet) .wedding_public_share textarea, html:has(#dark_mode_stylesheet) .wedding_public_share select {
  border-color: var(--border_color_lighter2);
  background: var(--bg_color_darker2);
  color: var(--text_color);
  color-scheme: dark;
}
html:has(#dark_mode_stylesheet) .wedding_public_share input[type=color] {
  border-color: var(--border_color_lighter2);
  background: var(--bg_color_darker2);
  color-scheme: dark;
}
html:has(#dark_mode_stylesheet) .wedding_public_card_page {
  background: #101817;
}
html:has(#dark_mode_stylesheet) .wedding_operations_badges .plugin_badge.is_completed {
  border-color: #365e40;
  background: #1c3b25;
  color: #99d8a6;
}
html:has(#dark_mode_stylesheet) .wedding_operations_badges .plugin_badge.is_draft {
  border-color: #74591f;
  background: #493717;
  color: #f0cd80;
}
html:has(#dark_mode_stylesheet) .wedding_date_badge.is_upcoming {
  border-color: #176572;
  background: #123840;
  color: #8ddae4;
}
html:has(#dark_mode_stylesheet) .wedding_date_badge.is_tomorrow {
  border-color: #74591f;
  background: #493717;
  color: #f0cd80;
}
html:has(#dark_mode_stylesheet) .wedding_date_badge.is_today {
  border-color: #365e40;
  background: #1c3b25;
  color: #99d8a6;
}
html:has(#dark_mode_stylesheet) .wedding_public_invitation {
  border-color: #36504c;
  background: #132522;
}
html:has(#dark_mode_stylesheet) .wedding_public_invitation h1, html:has(#dark_mode_stylesheet) .wedding_public_invitation h2 {
  color: #edf7f3;
}
html:has(#dark_mode_stylesheet) .wedding_public_invitation p {
  color: #c2d0cc;
}
html:has(#dark_mode_stylesheet) .wedding_public_invitation .wedding_rsvp_form, html:has(#dark_mode_stylesheet) .wedding_public_invitation .wedding_public_qr {
  border-color: #36504c;
}
html:has(#dark_mode_stylesheet) .wedding_event_status.is_planned {
  background: #293036;
  color: #d0d5d9;
}
html:has(#dark_mode_stylesheet) .wedding_event_status.is_confirmed {
  background: #15394a;
  color: #8fd6f5;
}
html:has(#dark_mode_stylesheet) .wedding_event_status.is_completed {
  background: #1c3b25;
  color: #99d8a6;
}
html:has(#dark_mode_stylesheet) .wedding_event_status.is_canceled {
  background: #452323;
  color: #f0abab;
}
html:has(#dark_mode_stylesheet) .wedding_budget_status.is_healthy, html:has(#dark_mode_stylesheet) .wedding_budget_status.is_approved, html:has(#dark_mode_stylesheet) .wedding_mood_status.is_healthy, html:has(#dark_mode_stylesheet) .wedding_mood_status.is_approved {
  background: #1c3b25;
  color: #99d8a6;
}
html:has(#dark_mode_stylesheet) .wedding_budget_status.is_near, html:has(#dark_mode_stylesheet) .wedding_budget_status.is_under_review, html:has(#dark_mode_stylesheet) .wedding_mood_status.is_near, html:has(#dark_mode_stylesheet) .wedding_mood_status.is_under_review {
  background: #493717;
  color: #f0cd80;
}
html:has(#dark_mode_stylesheet) .wedding_budget_status.is_over, html:has(#dark_mode_stylesheet) .wedding_mood_status.is_over {
  background: #452323;
  color: #f0abab;
}
html:has(#dark_mode_stylesheet) .wedding_budget_status.is_draft, html:has(#dark_mode_stylesheet) .wedding_mood_status.is_draft {
  background: #293036;
  color: #d0d5d9;
}
html:has(#dark_mode_stylesheet) .wedding_contribution_status.is_received {
  background: #1c3b25;
  color: #99d8a6;
}
html:has(#dark_mode_stylesheet) .wedding_contribution_status.is_pledged {
  background: #493717;
  color: #f0cd80;
}
html:has(#dark_mode_stylesheet) .wedding_contribution_status.is_returned {
  background: #293036;
  color: #d0d5d9;
}
html:has(#dark_mode_stylesheet) .wedding_public_event_picker label:has(input:checked) {
  border-color: var(--main_color);
  background: color-mix(in srgb, var(--main_color) 12%, var(--bg_color));
}
html:has(#dark_mode_stylesheet) .wedding_budget_alerts article.is_warning {
  background: #493717;
}
html:has(#dark_mode_stylesheet) .wedding_invitation_status.is_draft {
  background: #493717;
  color: #f0cd80;
}
html:has(#dark_mode_stylesheet) .wedding_invitation_status.is_frozen {
  background: #1c3b25;
  color: #99d8a6;
}
html:has(#dark_mode_stylesheet) .wedding_invitation_builder {
  color-scheme: dark;
}
html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_canvas_shell {
  background-color: #111b1a;
}
html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_builder_topbar, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_context_panel, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_toolrail, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_inspector, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_tool_popover, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_canvas_toolbar, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_zoom {
  border-color: var(--border_color_lighter2);
  background: var(--white_color);
}
html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_builder_identity input, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_builder_identity select, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_context_panel input, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_context_panel select, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_inspector input:not([type=color]):not([type=range]), html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_inspector select, html:has(#dark_mode_stylesheet) .wedding_invitation_builder [data-invitation-comment-form] input {
  border-color: var(--border_color_lighter2);
  background: var(--bg_color_darker2);
  color: var(--text_color);
}
html:has(#dark_mode_stylesheet) .wedding_invitation_builder input[type=color] {
  border-color: var(--border_color_lighter2);
  background: var(--bg_color_darker2);
  color-scheme: dark;
}
html:has(#dark_mode_stylesheet) .wedding_invitation_builder input[type=range] {
  accent-color: var(--main_color);
}
html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_tool_popover button, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_asset_grid > button, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_presets button, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_artboards > div > button:last-child, html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_add_artboard {
  border-color: var(--border_color_lighter2);
  background: var(--bg_color);
  color: var(--text_color);
}
html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_artboards > div.active {
  background: color-mix(in srgb, var(--main_color) 12%, var(--white_color));
}
html:has(#dark_mode_stylesheet) .wedding_invitation_builder .wedding_invitation_cursor_layer b {
  color: #fff;
}
html:has(#dark_mode_stylesheet) .wedding_help_sidebar, html:has(#dark_mode_stylesheet) .wedding_help_guides > section {
  border-color: var(--border_color_lighter2);
  background: var(--white_color);
}
html:has(#dark_mode_stylesheet) .wedding_library_card > footer > .manage_add_new_btn {
  border-color: var(--main_color);
  background: var(--main_color);
  color: #fff !important;
}
html:has(#dark_mode_stylesheet) .wedding_guest_badges span.is_success {
  background: #1c3b25;
  color: #99d8a6;
}
html:has(#dark_mode_stylesheet) .wedding_guest_badges span.is_pending {
  background: #493717;
  color: #f0cd80;
}
html:has(#dark_mode_stylesheet) .wedding_guest_badges span.is_danger {
  background: #452323;
  color: #f0abab;
}
html:has(#dark_mode_stylesheet) .wedding_library_hero {
  background-image: linear-gradient(90deg, rgba(19, 37, 34, 0.97) 0%, rgba(19, 37, 34, 0.9) 48%, rgba(19, 37, 34, 0.18) 82%), url("wedding-library-hero.webp");
}
html:has(#dark_mode_stylesheet) .wedding_provider_profile_hero, html:has(#dark_mode_stylesheet) .wedding_public_organizer_hero {
  background-image: linear-gradient(90deg, var(--white_color) 5%, rgba(19, 37, 34, 0.88) 48%, rgba(19, 37, 34, 0.3) 100%), var(--wedding-profile-cover);
}
html:has(#dark_mode_stylesheet) .wedding_provider_status.is_published, html:has(#dark_mode_stylesheet) .wedding_provider_status.is_approved {
  background: #1c3b25;
  color: #99d8a6 !important;
}
html:has(#dark_mode_stylesheet) .wedding_provider_status.is_pending_review, html:has(#dark_mode_stylesheet) .wedding_provider_status.is_pending {
  background: #493717;
  color: #f0cd80 !important;
}
html:has(#dark_mode_stylesheet) .wedding_provider_status.is_rejected, html:has(#dark_mode_stylesheet) .wedding_provider_status.is_suspended {
  background: #452323;
  color: #f0abab !important;
}
html:has(#dark_mode_stylesheet) .wedding_share_approval {
  border-color: #74591f;
  background: #332812;
  color: #f0cd80;
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_canvas, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_public_mood_canvas .wedding_mood_canvas, html:has(#dark_mode_stylesheet) .wedding_public_mood .wedding_mood_canvas, html:has(#dark_mode_stylesheet) .wedding_public_mood .wedding_public_mood_canvas .wedding_mood_canvas {
  background-color: #111b1a;
  background-image: radial-gradient(circle, rgba(255, 255, 255, 0.1) 1px, transparent 1.2px);
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_canvas_item.is_note, html:has(#dark_mode_stylesheet) .wedding_public_mood .wedding_mood_canvas_item.is_note {
  color: #243230;
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_suggestion_color, html:has(#dark_mode_stylesheet) .wedding_public_mood .wedding_mood_suggestion_color {
  color: #13201e;
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_editor_header, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_tool_rail, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_inspector, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_canvas_controls, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_tool_popover, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_outline {
  background: var(--white_color);
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_canvas_shell {
  background: #111b1a;
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_minimap {
  border-color: var(--border_color_lighter2);
  background: color-mix(in srgb, #1d2a28 94%, transparent);
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_minimap svg {
  background: transparent;
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_canvas_notice, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_inspector_preview, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_layers article, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_history article, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_comment_list article, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_suggestion {
  border-color: var(--border_color_lighter2);
  background: var(--bg_color);
  color: var(--text_color);
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_inspector_content {
  color: var(--text_color);
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_inspector_content .form_input, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_inspector_content input:not([type=color]):not([type=range]), html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_inspector_content textarea, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_inspector_content select {
  border-color: var(--border_color_lighter2);
  background: var(--bg_color_darker2);
  color: var(--text_color);
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_inspector_content input[type=color] {
  border-color: var(--border_color_lighter2);
  background: var(--bg_color_darker2);
  color-scheme: dark;
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_inspector_content input[type=range] {
  accent-color: var(--main_color);
  color-scheme: dark;
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_version_select {
  border-color: var(--border_color_lighter2);
  background-color: var(--bg_color_darker2);
  color: var(--text_color);
  color-scheme: dark;
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_resize_handle, html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_rotate_handle {
  background: var(--bg_color);
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_recovery {
  background: color-mix(in srgb, var(--main_color) 10%, var(--white_color));
}
html:has(#dark_mode_stylesheet) .wedding_mood_editor_workspace .wedding_mood_recovery .wedding_mood_recovery_actions .sa_btn_danger {
  background: color-mix(in srgb, #a33333 13%, var(--white_color));
  color: #ef9b9b;
}

@media (prefers-reduced-motion: reduce) {
  .wedding_countdown_progress i {
    transition: none;
  }
  .wedding_mood_editor_workspace *, .wedding_public_mood * {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
  }
}

/*# sourceMappingURL=wedding-planner.css.map */
