/* Header, section navigation, toolbar and notes are fluid (flex-wrap / grid auto-fit / clamp) so the same layout scales from phone to desktop without breakpoints */
.host_top {position:relative;background-color:#fdfdfd;box-shadow:0 1px 0 rgba(0,0,0,0.06);}
/* Logo-to-title spacing equals the logo height, so the pair keeps the same proportions at every width; the logo box takes official_black.webp's aspect ratio so it never adds padding of its own to that gap */
.host_header_container {--host-logo-h:clamp(44px,2.5vw + 34px,64px);display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0.35em var(--host-logo-h);padding:clamp(0.9em,2.5vw,1.5em) clamp(4.25em,6vw,5.5em) clamp(0.75em,2vw,1.1em);text-align:center;}
.host_header_container .host_header_logo {flex:none;height:var(--host-logo-h);aspect-ratio:749/256;background-position:center;background-repeat:no-repeat;background-size:contain;cursor:pointer;}
.host_header_container .host_header_title {flex:0 1 auto;min-width:min(100%,14em);color:#0099cc;}
.host_title {margin:0;padding:0;font-size:clamp(1.55em,1em + 2.2vw,2.4em);font-weight:700;line-height:1.15;text-wrap:balance;}
.host_subtitle {margin:0.15em 0 0 0;padding:0;font-size:clamp(1em,0.85em + 0.7vw,1.35em);font-weight:700;line-height:1.2;opacity:0.75;}
/* Holds the menu's own bottom spacing: without a block formatting context the
   segmented control's margin collapses out of .host_top and shows up as a strip of
   body background between the header and the banner below it. */
#host_menu {display:flow-root;}
/* Register / Log In: a segmented control, so the choice reads as one object rather
   than two underlined halves of the page */
.host_menu_btn_container {box-sizing:border-box;width:calc(100% - 2 * var(--gutter));max-width:26rem;margin:0 auto clamp(0.6em,1.6vw,0.9em) auto;display:flex;flex-wrap:wrap;padding:0.3em;border-radius:999px;background-color:#f1f4f6;}
.host_menu_btn {flex:1 1 7em;box-sizing:border-box;padding:0.7em 1em;border-radius:999px;color:#6b7278;text-align:center;font-weight:700;line-height:1.3;transition:background-color 0.1s ease,color 0.1s ease,box-shadow 0.1s ease;}
.host_menu_btn.host_menu_btn_active {background-color:#fdfdfd;color:#0099cc;box-shadow:0 1px 3px rgba(0,0,0,0.12);}
.host_menu_btn.host_menu_btn_active:nth-child(2) {color:#ed7014;}
/* Onboarding and log in: a card on the app's own surface over the banner photo, with
   the stage rail beside the form rather than in a layout table. The banner is a block
   formatting context so the card's own margins stay inside it, rather than collapsing out
   and showing up as a strip of body background above and below the photo. */
.registration_banner_container, .auth_banner_container {position:relative;display:flow-root;}
.registration_banner_container[data-banner-number="1"] .registration_banner_background {background-image:url('../homepage_image/background/onboarding_fullscreen_banner_2048x1536.webp');}
.registration_box, .auth_box {box-sizing:border-box;margin:clamp(1.5em,5vw,3em) auto;padding:clamp(1.5em,5vw,3em);border-radius:24px;background-color:#fdfdfd;box-shadow:0 24px 60px rgba(10,15,18,0.28);text-align:left;}
.registration_box {width:min(62rem,calc(100% - 2 * var(--gutter)));}
.auth_box {width:min(30rem,calc(100% - 2 * var(--gutter)));}

.onboarding_layout {display:flex;flex-wrap:wrap;align-items:flex-start;gap:clamp(1.25em,4vw,3em);}
.onboarding_layout .onboarding_progress {flex:0 0 auto;width:13em;}
.onboarding_layout .onboarding_fullscreen_content {flex:1 1 20em;min-width:0;}

/* The rail: a dot per stage joined by a connector, coloured from the data-state the
   script sets (done / current / upcoming). Each dot sits a fixed 0.65em below its row's
   top -- the centre of the label's first line -- so the connector can be anchored to
   that centre and given the step's own height, and still land on the next dot however
   many lines the label between them wraps to. */
.onboarding_progress {list-style:none;margin:0;padding:0;display:flex;flex-direction:column;}
.onboarding_progress_step {position:relative;padding-bottom:2.25em;animation:onboarding_step_in 0.6s ease both;animation-delay:calc(var(--i,0) * 0.1s);}
.onboarding_progress_step:last-child {padding-bottom:0;}
.onboarding_progress_row {position:relative;z-index:1;display:flex;align-items:flex-start;column-gap:0.85em;}
.onboarding_progress_line {position:absolute;top:0.65em;left:calc(0.55em - 1px);width:2px;height:100%;border-radius:1px;background-color:#d7dee2;transition:background-color 0.3s ease;}
.onboarding_progress_dot {flex:none;box-sizing:border-box;width:0.7em;height:0.7em;margin:0.3em 0.2em 0 0.2em;border-radius:50%;background-color:#c3ccd2;box-shadow:0 0 0 3px rgba(195,204,210,0.35);transition:background-color 0.3s ease,box-shadow 0.3s ease;}
.onboarding_progress_text {font-weight:700;line-height:1.3;color:#8a9399;font-style:italic;transition:color 0.3s ease;}
.onboarding_progress_line[data-state="done"] {background-color:#22bbee;}
.onboarding_progress_dot[data-state="done"] {background-color:#22bbee;box-shadow:0 0 0 3px rgba(34,187,238,0.3);}
.onboarding_progress_dot[data-state="current"] {background-color:#ed7014;box-shadow:0 0 0 4px rgba(237,112,20,0.28);}
.onboarding_progress_text[data-state="done"] {color:#0099cc;font-style:normal;}
.onboarding_progress_text[data-state="current"] {color:#ed7014;font-style:normal;}

/* The mirror under the form: the same rail, kept to a row of dots at every width, so
   the stage indicator is in reach at both ends without a second set of labels. */
.onboarding_progress[data-variant="compact"] {flex-direction:row;align-items:center;justify-content:center;margin:1.5em 0 0 0;}
.onboarding_progress[data-variant="compact"] .onboarding_progress_step {display:flex;align-items:center;padding-bottom:0;}
.onboarding_progress[data-variant="compact"] .onboarding_progress_line {position:static;width:1.5em;height:2px;margin:0;}
.onboarding_progress[data-variant="compact"] .onboarding_progress_dot {margin-top:0;}
.onboarding_progress[data-variant="compact"] .onboarding_progress_text {display:none;}

@keyframes onboarding_step_in {from {opacity:0;} to {opacity:1;}}

.onboarding_termination {margin-top:clamp(1.5em,4vw,2.5em);padding-top:1.25em;border-top:1px solid #e3e8eb;}

/* The forms: one rule per repeated element, in place of the same inline style on each */
.onboarding_heading {font-size:clamp(1.5em,1.2em + 1vw,2em);line-height:1.25;margin:0 0 0.5em 0;padding:0;text-align:center;}
.onboarding_heading[data-spacing="wide"] {margin-bottom:1em;}
.onboarding_subheading {font-size:clamp(1.1em,1em + 0.4vw,1.3em);line-height:1.35;margin:0 0 1.5em 0;padding:0;text-align:center;}
.onboarding_field {box-sizing:border-box;width:100%;max-width:100%;height:auto;font-size:1.1em;padding:0.65em 1em;white-space:normal;word-wrap:break-word;}
.onboarding_field[data-size="small"] {font-size:0.95em;padding:0.45em 0.75em;}
.onboarding_btn {box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;column-gap:0.5em;padding:0.8em 1.5em;border:0;border-radius:999px;font-size:1.15em;font-weight:700;line-height:1.3;text-align:center;}
.onboarding_btn[data-width="full"] {width:100%;}
.onboarding_btn[data-size="small"] {font-size:0.9em;padding:0.6em 1.1em;}
.auth_banner_container[data-banner-number="1"] .auth_banner_background {background-image:url('../homepage_image/background/onboarding_fullscreen_banner_2048x1536.webp');}
.dashboard_menu {display:flex;column-gap:0.5em;font-weight:700;}
.dashboard_menu_clickable {cursor:pointer;}

.dashboard_menu.dashboard_menu_horizontal.dashboard_menu_active, .dashboard_menu.dashboard_dropdown_menu_trigger.dashboard_menu_active,
.panel_button.panel_button_active
{background-color:#0099cc;color:#fdfdfd;border-color:#0099cc;}

/* Section tiles: 3-up on phones, a single row on wider screens, driven by available width */
.dashboard_menu_container {box-sizing:border-box;max-width:72rem;margin:0 auto;padding:0 clamp(0.75em,3vw,2em) clamp(0.75em,2vw,1.1em);color:#6b7278;}
.dashboard_menu_category[data-category=left] {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(6.4em,100%),1fr));gap:0.45em;}
.dashboard_menu_horizontal {flex-direction:column;align-items:center;justify-content:center;row-gap:0.3em;padding:0.65em 0.4em 0.6em;border-radius:12px;background-color:#f1f4f6;text-align:center;line-height:1.2;overflow-wrap:anywhere;transition:background-color 0.1s ease,color 0.1s ease;}
.dashboard_menu_horizontal > div:first-child {font-size:1.3em;line-height:1;}

/* Account menu: compact button pinned to the header's top-right corner */
.dashboard_menu_category[data-category=right] {position:absolute;top:clamp(0.8em,2vw,1.25em);right:clamp(0.75em,2.5vw,1.5em);z-index:3;}
.dashboard_menu.dashboard_dropdown_menu_trigger {box-sizing:border-box;align-items:center;justify-content:center;column-gap:0.35em;height:3.15em;padding:0 0.8em;border:1px solid #d6e6ee;border-radius:999px;background-color:#fdfdfd;color:#0099cc;transition:background-color 0.1s ease,color 0.1s ease;}
.dashboard_menu.dashboard_dropdown_menu_trigger > div:first-child {font-size:1.55em;line-height:1;}
.dashboard_dropdown_menu {position:absolute;top:calc(100% + 0.5em);right:0;z-index:3;display:none;box-sizing:border-box;min-width:15em;max-width:calc(100vw - 1.5em);background-color:#fdfdfd;border-radius:12px;padding:0.35em 0;overflow:hidden;cursor:default;text-align:left;box-shadow:0 12px 32px rgba(0,0,0,0.18);}
.dashboard_dropdown_menu ul {list-style:none;padding:0;margin:0;color:#5d656b;}
.dashboard_dropdown_menu ul li {padding:0;margin:0;}
.dashboard_dropdown_menu .dashboard_dropdown_menu_content {padding:0.8em 1.1em;align-items:center;column-gap:0.75em;}
.dashboard_dropdown_menu .dashboard_dropdown_menu_content > div:nth-child(1) {flex-basis:20px;text-align:center;color:#0099cc;}
/* Logged-out pages: site menu as a round button in the same corner as the account button */
.host_public_menu {position:absolute;top:clamp(0.8em,2vw,1.25em);right:clamp(0.75em,2.5vw,1.5em);z-index:3;}
.host_public_menu .rightmenutrigger {box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:3.15em;height:3.15em;border:1px solid #d6e6ee;border-radius:999px;background-color:#fdfdfd;color:#0099cc;cursor:pointer;font-size:1em;}
.host_public_menu .rightmenutrigger i {font-size:1.35em;}
.host_public_menu .rightmenutrigger.rightmenutrigger_pressed {background-color:#f1f5f7;color:#0088b8;}

/* Page actions: sticky so Save stays reachable on long forms */
.dashboard_toolbar {position:sticky;top:0;z-index:2;background-color:#fdfdfd;border-top:1px solid #eceff1;box-shadow:0 3px 8px rgba(0,0,0,0.06);}
.toolbar {box-sizing:border-box;max-width:72rem;margin:0 auto;padding:0.6em clamp(0.75em,3vw,2em);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:0.5em;}
.toolbar .toolbar_left, .toolbar .toolbar_center, .toolbar .toolbar_right {display:flex;flex-wrap:wrap;align-items:center;gap:0.5em;}
.toolbar .toolbar_left {justify-content:flex-start;}
.toolbar .toolbar_center {justify-content:center;}
.toolbar .toolbar_right {justify-content:flex-end;margin-left:auto;}
.toolbar .toolbar_btn {margin:0;display:flex;align-items:center;justify-content:center;column-gap:0.45em;box-sizing:border-box;min-height:2.75em;padding:0.45em 1em;border:1px solid #d5dde2;border-radius:999px;background-color:#fdfdfd;color:#4f575d;font-weight:700;font-size:0.95em;line-height:1.2;letter-spacing:0.03em;transition:background-color 0.1s ease,border-color 0.1s ease,color 0.1s ease;}
.toolbar .toolbar_btn.toolbar_btn_clickable {cursor:pointer;}
.toolbar .toolbar_btn[data-btn=add], .toolbar .toolbar_btn[data-btn=save_exit] {border-color:#9fd3e6;color:#0088b8;}
.toolbar .toolbar_btn[data-btn=save] {background-color:#0099cc;border-color:#0099cc;color:#fdfdfd;}
.toolbar .toolbar_btn[data-btn=remove] {border-color:#f3b8b8;color:#cc1f1f;}
.toolbar .toolbar_btn[data-btn=confirm_remove] {background-color:#e02424;border-color:#e02424;color:#fdfdfd;}
.toolbar .toolbar_btn[data-btn=save]:active {background-color:#0088b8;}
.toolbar .toolbar_btn[data-btn=confirm_remove]:active {background-color:#c81e1e;}

/* Notes and status messages: left-aligned cards with the icon beside the first line */
.toolbar_msg {box-sizing:border-box;width:calc(100% - 2em);max-width:60rem;margin:clamp(0.75em,2.5vw,1.25em) auto;padding:0.85em 1.1em;border-radius:12px;display:flex;flex-direction:column;row-gap:0.55em;text-align:left;line-height:1.45;}
.toolbar_msg > div, .toolbar_msg > a > div {justify-content:flex-start !important;align-items:flex-start;column-gap:0.65em !important;} /* overrides legacy inline centring on each line */
.toolbar_msg > div > div:first-child, .toolbar_msg > a > div > div:first-child {flex:0 0 1.15em;text-align:center;}
.toolbar_msg.white_bg {background-color:#fdfdfd;color:#5d656b;border-left:4px solid #0099cc;box-shadow:0 1px 3px rgba(0,0,0,0.08);}
.toolbar_msg.white_bg > div > div:first-child {color:#0099cc;}
.toolbar_msg.white_bg > .theme_text:not(:first-child) {margin-top:0.15em;padding-top:0.6em;border-top:1px solid #edf1f3;}
.toolbar_msg.white_bg:has(.warning_text) {border-left-color:#ff0000;}
.toolbar_msg.white_bg > .warning_text > div:first-child {color:inherit;}
/* Icon + text lines: the icon sits beside the first line and wrapped lines align under the text, so an icon is never stranded beside centred words and stacked icons share one column */
.icon_line {display:flex;align-items:baseline;column-gap:0.5em;text-align:left;}
.icon_line > div:first-child {flex:none;width:1.15em;text-align:center;}
.icon_line.icon_line_center {width:fit-content;max-width:100%;margin-left:auto;margin-right:auto;} /* a lone line in a centred layout, centred as one block */
.icon_line.icon_line_flow {display:block;text-align:center;} /* a centred line that may wrap (the help footers): the icon runs with the text, so a wrapped line stays centred instead of hanging left in a box that fills the width */
.icon_line.icon_line_flow > div {display:inline;}
.icon_line.icon_line_flow > div:first-child {margin-right:0.4em;}
/* Form responses can stack several messages: centre them as one column so their icons line up */
.onboarding_response {display:grid;justify-content:center;row-gap:0.5em;}
.onboarding_response:empty {display:none;} /* an empty grid would stop its margin collapsing and push the submit button down */
.left_right_layout {display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;row-gap:1em;margin:1em;}
.up_down_layout {display:flex;flex-direction:column;justify-content:center;align-items:center;row-gap:1em;margin:1em;}
.left_panel_container {display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:0.5em 0.5em;max-width:100%;}
.left_panel_container.left_panel_container_vertical {flex-wrap:nowrap;flex-direction:column;align-items:center;}
.listing {box-sizing:border-box;width:calc(100% - 2 * var(--gutter));max-width:52rem;margin:1em auto;padding:clamp(1em,3vw,2em);background-color:#fdfdfd;transition:background-color 0.1s ease,box-shadow 0.1s ease;border-radius:16px;box-shadow:0 1px 4px rgba(0,0,0,0.08);cursor:pointer;display:flex;flex-direction:column;row-gap:1.5em;min-width:0;}
.listing_flexbox {display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:2em;}
.listing.listing_highlight {background-color:#fffaf5;outline:2px solid #ed7014;}
.listing .listing_left {display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:1em;}
.listing .listing_right {display:flex;flex-wrap:wrap;gap:1em 2em;align-items:flex-start;justify-content:space-around;flex-grow:1;column-gap:2em;}
.tabular_listing {border-collapse:separate;border-spacing:0;width:calc(100% - 2 * var(--gutter));max-width:72rem;margin:0 auto;border:0;background-color:#fdfdfd;border-radius:12px;overflow:hidden;box-shadow:0 1px 4px rgba(0,0,0,0.08);}
.tabular_listing thead th {font-weight:700;color:#0088b8;}
.tabular_listing thead tr {background-color:#f1f5f7;border:0;}
.tabular_listing thead th {border:0;border-bottom:1px solid #dde4e8;}
.tabular_listing tbody tr {transition:background-color 0.1s ease;}
.tabular_listing tbody tr:nth-child(odd) {background-color:#fdfdfd;}
.tabular_listing tbody tr:nth-child(even) {background-color:#f8fafb;}
.tabular_listing tbody td {border:0;border-bottom:1px solid #edf1f3;}
.tabular_listing tbody tr:last-child td {border-bottom:0;}
.tabular_listing th, .tabular_listing td {padding:0.65em 1em;}
.entry_form_container {display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;}
.entry_form {box-sizing:border-box;margin:clamp(0.5em,1.5vw,1em);padding:clamp(1.25em,4vw,2.5em);max-width:min(500px,calc(100vw - 2 * var(--gutter)));background-color:#fdfdfd;border-radius:16px;box-shadow:0 2px 12px rgba(0,0,0,0.08);min-width:0;}
.entry_form select.white_theme {border:1px solid #cfd8de;border-radius:10px;background-color:#fdfdfd;font-size:1.1em;padding:0.55em 1em;max-width:100%;white-space:normal;word-wrap:break-word;transition:border-color 0.1s ease,box-shadow 0.1s ease;}

.entry_form input.white_theme[type=text],
.entry_form input.white_theme[type=password],
.entry_form input.white_theme[type=email],
.entry_form input.white_theme[type=tel],
.entry_form input.white_theme[type=date]
{border:1px solid #cfd8de;border-radius:10px;background-color:#fdfdfd;height:2.5em;font-size:1.1em;padding:0 0.75em;max-width:calc(100% - 1.5em);transition:border-color 0.1s ease,box-shadow 0.1s ease;}

.entry_form textarea.white_theme {border:1px solid #cfd8de;border-radius:10px;background-color:#fdfdfd;height:9em;font-size:0.95em;padding:0.6em 0.75em;width:calc(100% - 1.5em);transition:border-color 0.1s ease,box-shadow 0.1s ease;}
.entry_form .white_theme:focus {border-color:#0099cc;box-shadow:0 0 0 3px rgba(0,153,204,0.15);}
.entry_form .panel_container {display:flex;flex-wrap:wrap;gap:1em 2em;}
.entry_form .panel_container .panel_controller {display:flex;flex-wrap:wrap;align-content:flex-start;gap:0.4em;flex:1 1 8em;}
.entry_form .panel_container > .entry_form_field {flex:999 1 16em;min-width:0;}
.panel_button {padding:0.35em 0.95em;border:1px solid #dde3e7;border-radius:999px;background-color:#fdfdfd;cursor:pointer;transition:background-color 0.1s ease,color 0.1s ease,border-color 0.1s ease;color:#6b7278;font-weight:700;line-height:1.3;}
.entry_form.entry_form_unavailable {background-color:#efefef;}
.entry_form_field {display:flex;flex-wrap:wrap;column-gap:1em;align-items:center;margin:0.5em 0;padding:0.5em 0;}
.entry_form_field.entry_form_field_block {display:block;}
.entry_form_field.entry_form_field_large {padding:1em 0;margin:1em 0;border-top:1px solid #e3e8eb;}
.entry_form_field.entry_form_field_large .entry_form_field_large_fillable {display:flex;align-items:center;column-gap:1em;margin:1em 0;}
.entry_form_field .entry_heading {font-weight:700;font-size:1.1em;}
.entry_form_field .entry_description {font-size:0.9em;}
.entry_form_field ul {padding:0 0 0 1.5em;margin:0.25em 0;}
.entry_form_field .rental_rate_field_container {margin:1em 0 2em 0;}
.entry_form_field .rental_rate_field_container .rental_rate_fieldset {display:flex;flex-direction:column;row-gap:1em;border-color:#0099cc;border-style:dotted;border-width:3px 0 0 0;padding-top:0.5em;}
.entry_form_field .rental_rate_field {display:flex;flex-wrap:wrap;gap:0.1em 1em;align-items:center;}
.entry_form_field .min_dates_container, .entry_form_field .blocked_dates_container {display:flex;flex-direction:column;gap:2em 1em;}
.entry_form_field .min_date, .entry_form_field .blocked_date {display:flex;flex-direction:column;gap:0.25em;}
.entry_form_field .min_date:not(:first-of-type), .entry_form_field .blocked_date:not(:first-of-type) {padding-top:2em;border-style:dashed;border-width:1px 0 0 0;border-color:#cccccc;}
.entry_form_field .min_date_range, .entry_form_field .blocked_date_range {display:flex;column-gap:1em;align-items:flex-start;}
.entry_form_field .min_date_arrow_down, .entry_form_field .blocked_date_arrow_down {display:none;}
.entry_form_field .field_error_output {display:none;margin-top:0.25em;margin-bottom:0.25em;padding-left:0.5em;padding-right:0.5em;}
.dashboard_container {flex-grow:1;display:flex;flex-wrap:wrap;justify-content:center;gap:3em 3em;min-width:0;}
.dashboard_canvas_chart_container {position:relative;min-width:0;max-width:100%;text-align:center;}
.dashboard_canvas_chart {height:100%;}
.mb_container {display:flex;flex-direction:column;align-items:flex-start;row-gap:1em;flex-grow:1;min-width:0;width:100%;}
.mb_section {box-sizing:border-box;width:calc(100% - 2 * var(--gutter));max-width:72rem;margin-left:auto;margin-right:auto;}
.mb_heading {font-size:clamp(1.15em,1em + 0.6vw,1.4em);padding:0.85em 1.1em;border-radius:12px;background-color:#fdfdfd;box-shadow:0 1px 4px rgba(0,0,0,0.08);color:#5d656b;font-weight:700;display:flex;align-items:center;column-gap:0.85em;cursor:pointer;}
.mb_subheading {margin-bottom:1em;text-align:center;}
.mb_body {padding:1em; justify-content:center;}
.mb_body dt {font-weight:700;}
.mb_table {border-spacing:0 1em;}
.mb_table td:nth-child(1) {vertical-align:top;font-weight:700;padding-right:0.5em;color:#0099cc;}
.mb_table td:nth-child(2) {padding-left:0.5em;}
.season_dates_form .season_dates_layout {display:flex;flex-direction:column;row-gap:1em;}
.season_dates_form .season_dates_btn_container {display:flex;flex-wrap:wrap;flex-direction:row;gap:0.15em 1em;margin-bottom:0.5em;}
.season_dates_form .season_dates_field_container {display:flex;flex-direction:column;row-gap:3.5em;}
.season_dates_form .season_dates_field {display:flex;flex-direction:column;row-gap:0.25em;}
.season_dates_form .season_dates_range {display:flex;align-items:center;gap:0.25em 1em;}
.season_dates_form .season_dates_field_arrow_down {display:none;}
.transaction_listing th:nth-child(1), .transaction_listing th:nth-child(2),
.transaction_listing th:nth-child(3),
.transaction_listing td:nth-child(1), .transaction_listing td:nth-child(2),
.transaction_listing td:nth-child(3)
	{text-align:left;}
.transaction_listing th:nth-child(4),
.transaction_listing th:nth-child(5), .transaction_listing th:nth-child(6),
.transaction_listing td:nth-child(4),
.transaction_listing td:nth-child(5), .transaction_listing td:nth-child(6)
	{text-align:right;}
/*.transaction_listing th:nth-child(2), .transaction_listing td:nth-child(2) {width:40%;}*/
.edit_user_selectable_row {cursor:pointer;}
.edit_user_selectable_row.edit_user_selected_row {outline:2px solid #ed7014;}
.edit_user_selectable_row.edit_user_selected_row td {background-color:#fdfdfd;}
.edit_user_viewing_listing th, .edit_user_viewing_listing td {text-align:left;}

/* Help & FAQ: search in the sticky toolbar, category chips, then one card per question that expands in place */
.help_search {flex:1 1 16em;display:flex;align-items:center;column-gap:0.6em;box-sizing:border-box;min-height:2.75em;padding:0 1em;border:1px solid #d5dde2;border-radius:999px;background-color:#fdfdfd;color:#8a9399;cursor:text;transition:border-color 0.1s ease,box-shadow 0.1s ease;}
.help_search:focus-within {border-color:#0099cc;box-shadow:0 0 0 3px rgba(0,153,204,0.15);color:#0099cc;}
.help_search .help_search_input {flex:1 1 auto;min-width:0;border:0;outline:0;background-color:transparent;font:inherit;font-size:1em;color:#1c1c1c;padding:0.6em 0;}
.help_categories {box-sizing:border-box;width:calc(100% - 2 * var(--gutter));max-width:60rem;margin:0 auto 0.5em auto;display:flex;flex-wrap:wrap;justify-content:center;gap:0.45em;}
.help_categories .help_category_btn {font:inherit;display:inline-flex;align-items:center;column-gap:0.45em;}
.help_categories .help_category_btn > span:first-child {color:#0099cc;}
.help_section {box-sizing:border-box;width:calc(100% - 2 * var(--gutter));max-width:60rem;margin:1.5em auto;display:flex;flex-direction:column;row-gap:0.5em;}
.help_section .help_section_heading {margin:0 0 0.25em 0;padding:0 0.25em;font-size:clamp(1.15em,1em + 0.6vw,1.4em);font-weight:700;color:#0099cc;display:flex;align-items:center;column-gap:0.6em;}
.help_item {background-color:#fdfdfd;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,0.08);overflow:hidden;transition:box-shadow 0.1s ease;}
.help_item.help_item_open {box-shadow:0 2px 12px rgba(0,0,0,0.1);}
.help_item .help_question {width:100%;margin:0;padding:0.9em 1.1em;border:0;background-color:transparent;font:inherit;font-size:1.05em;font-weight:700;line-height:1.35;color:#4f575d;text-align:left;display:flex;align-items:flex-start;column-gap:0.75em;cursor:pointer;transition:background-color 0.1s ease;}
.help_item .help_question .help_question_caret {flex:0 0 0.8em;color:#0099cc;transition:transform 0.15s ease;}
.help_item.help_item_open .help_question {color:#0099cc;}
.help_item.help_item_open .help_question .help_question_caret {transform:rotate(90deg);}
.help_item .help_answer {padding:0 1.25em 1.25em 2.65em;color:#4f575d;line-height:1.55;overflow-wrap:anywhere;}
.help_item .help_answer p {margin:0 0 0.75em 0;}
.help_item .help_answer ul, .help_item .help_answer ol {margin:0 0 0.75em 0;padding:0 0 0 1.35em;}
.help_item .help_answer li {margin:0.3em 0;}
.help_item .help_answer strong {color:#1c1c1c;}
.help_item .help_answer .help_answer_actions {display:flex;flex-wrap:wrap;gap:0.5em;margin-top:1em;}
.help_item .help_answer .help_answer_actions button {font-size:0.9em;padding:8px 16px;display:inline-flex;align-items:center;column-gap:0.5em;cursor:pointer;}

/* Landing (the logged-out Register tab): it exists to sign up rental operators, so every
   section ends in reach of a Register button, and on phones a sticky one takes over
   between the hero and the form. Sections run hero (photo fading to black) -> the pitch
   on the same black -> the feature grid on grey -> the country photo fading to black ->
   the closing pitch and form on that black. Type and spacing are fluid clamp()s. */
.hx
{
	--hx_gutter:clamp(1.25rem,4vw,2.5rem);
	--hx_max:72rem;
	--hx_ease:cubic-bezier(0.16,1,0.3,1);
	/* self-hosted through Host::font_face(), like every face on the site */
	font-family:Inter,Helvetica,Arial,sans-serif;
	color:#1d1d1f;
	-webkit-font-smoothing:antialiased;
}
.hx_section {position:relative;overflow:hidden;padding:clamp(4rem,10vw,7.5rem) 0;}
.hx_dark {background-color:#000000;color:#f5f5f7;}
.hx_gray {background-color:#f5f5f7;}
.hx_wrap {box-sizing:border-box;position:relative;z-index:1;width:100%;max-width:calc(var(--hx_max) + 2 * var(--hx_gutter));margin:0 auto;padding:0 var(--hx_gutter);}
.hx_head {max-width:52rem;margin:0 auto clamp(2.5rem,6vw,4rem) auto;text-align:center;}
.hx_h {margin:0;font-size:clamp(2.1rem,1.3rem + 3.4vw,4rem);font-weight:700;line-height:1.08;letter-spacing:-0.025em;text-wrap:balance;}
.hx_h_xl {font-size:clamp(2.5rem,1.4rem + 4.8vw,5.5rem);letter-spacing:-0.03em;}
/* negative tracking crowds Thai marks */
html[lang="th"] .hx_h {letter-spacing:0;line-height:1.3;}
.hx_eyebrow {margin:0 0 1rem 0;font-size:clamp(1.15rem,0.95rem + 0.8vw,1.7rem);font-weight:600;line-height:1.3;color:#4cc9f5;text-wrap:balance;}
.hx_lead {margin:1.5rem auto 0 auto;max-width:42rem;font-size:clamp(1.1rem,0.95rem + 0.55vw,1.4rem);font-weight:500;line-height:1.5;color:rgba(255,255,255,0.82);text-wrap:pretty;}
.hx_note {margin:1.25rem 0 0 0;font-size:1rem;font-weight:500;color:rgba(255,255,255,0.75);text-wrap:balance;}
/* the copy marks its key word with %underline% (FREE, 5 minutes); keep it underlined, in brand colour */
.hx_em {text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.18em;text-decoration-color:#22bbee;}

.hx_gradient_silver, .hx_gradient_warm {color:#ffffff;}
@supports ((-webkit-background-clip:text) or (background-clip:text))
{
	.hx_gradient_silver, .hx_gradient_warm {-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
	.hx_gradient_silver {background-image:linear-gradient(180deg,#ffffff 20%,#9a9aa0 120%);}
	.hx_gradient_warm {background-image:linear-gradient(100deg,#ffb45e 0%,#ff8a3d 45%,#ed7014 100%);}
}

/* Buttons: pills in the landing face; colour and the pressed state still come from
   caution_btn / theme_btn (ui.css, and their touch pairs in core.js) */
.hx .hx_btn {box-sizing:border-box;display:inline-flex;justify-content:center;align-items:center;column-gap:0.6em;padding:0.9em 1.6em;border:0;border-radius:999px;font-family:inherit;font-size:1.05rem;font-weight:600;line-height:1.25;text-align:center;cursor:pointer;}
.hx .hx_btn_large {font-size:clamp(1.05rem,0.95rem + 0.4vw,1.3rem);padding:0.95em 2em;}
.hx .hx_btn.caution_btn {box-shadow:0 10px 30px rgba(237,112,20,0.35);}
.hx .hx_btn i {font-size:0.9em;}
.hx_cta_row {display:flex;justify-content:center;margin-top:clamp(2.5rem,6vw,3.5rem);}

/* Reveal: fade and rise each time a block scrolls into view (transform only, so nothing
   around it moves); hx_js is only set when IntersectionObserver exists and
   motion is allowed, so without it nothing is ever hidden */
.hx_js .hx_reveal {opacity:0;transform:translateY(24px);transition:opacity 0.9s var(--hx_ease),transform 0.9s var(--hx_ease);transition-delay:calc(var(--d,0) * 90ms);}
.hx_js .hx_reveal.hx_in {opacity:1;transform:none;}

/* Hero: the operator photo under a scrim that ends in solid black, so it runs straight
   into the pitch below */
.hx_hero {background-color:#000000;color:#ffffff;text-align:center;padding:clamp(4.5rem,15vw,10rem) 0 clamp(5rem,15vw,10rem) 0;}
.hx_hero_bg {position:absolute;inset:0;background-image:url('../homepage_image/background/registration_banner_2048x1152.webp');background-position:50% 50%;background-size:cover;transform:scaleX(-1);}
.hx_hero::after {content:"";position:absolute;inset:0;background-image:linear-gradient(to bottom,rgba(0,0,0,0.6) 0%,rgba(0,0,0,0.42) 45%,#000000 100%);}
.hx_hero .hx_h {max-width:18ch;margin:0 auto;text-shadow:0 10px 40px rgba(0,0,0,0.45);}
.hx_hero .hx_cta_row {margin-top:clamp(2rem,5vw,2.75rem);}

/* The pitch: the two reasons that cost an operator nothing, on the hero's black */
.hx_pitch {padding-top:clamp(1.5rem,4vw,3rem);}
.hx_pitch::before {content:"";position:absolute;left:50%;top:0;width:min(64rem,160vw);height:34rem;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(0,153,204,0.22),transparent);pointer-events:none;}
.hx_pitch_grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(22rem,100%),1fr));gap:clamp(1rem,2.5vw,1.5rem);}

/* Tiles: the pitch's dark pair and the feature grid share one card */
.hx_tile {box-sizing:border-box;display:flex;flex-direction:column;row-gap:1rem;overflow:hidden;padding:clamp(1.75rem,4vw,2.5rem);border-radius:28px;background-color:#ffffff;transition:transform 0.4s var(--hx_ease),box-shadow 0.4s var(--hx_ease);}
.hx_tile_dark {background-color:#1c1c1e;box-shadow:inset 0 0 0 1px rgba(255,255,255,0.07);}
.hx_tile_title {margin:0;font-size:clamp(1.45rem,1.2rem + 1vw,2rem);font-weight:700;line-height:1.15;letter-spacing:-0.02em;text-wrap:balance;}
.hx_tile_text {margin:0;font-size:1.05rem;line-height:1.55;color:#6e6e73;text-wrap:pretty;}
.hx_tile_dark .hx_tile_text {color:#a1a1a6;}
.hx_tile_copy {display:flex;flex-direction:column;row-gap:0.75rem;}
.hx_tile_media {display:flex;align-items:center;justify-content:center;}
.hx_tile_media img {display:block;max-width:100%;height:auto;}
.hx_pitch .hx_tile_media {height:clamp(9rem,24vw,13rem);margin-bottom:0.5rem;}
.hx_pitch .hx_tile_media img {max-height:100%;width:auto;}
/* the social icons are black cut-outs; on the dark tile they turn white */
.hx_tile_media_invert img {filter:invert(1);}

/* Features: a grid of white tiles, copy first and the screenshot settling at the bottom */
.hx_bento {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(24rem,100%),1fr));gap:clamp(1rem,2.5vw,1.5rem);}
.hx_bento .hx_tile {box-shadow:0 1px 3px rgba(0,0,0,0.04);}
.hx_bento .hx_tile_media {margin-top:auto;padding-top:0.75rem;}
.hx_bento .hx_tile_media img {width:100%;}
.hx_bento .hx_tile_media_icon img {width:min(11rem,55%);}

/* Proudly made for: the country photo, fading into the black of the closing pitch */
.hx_proud {color:#ffffff;text-align:center;padding:clamp(6rem,16vw,11rem) 0;}
.hx_proud_bg {position:absolute;inset:0;background-position:50% 50%;background-size:cover;}
.hx_proud::after {content:"";position:absolute;inset:0;background-image:linear-gradient(to bottom,rgba(0,0,0,0.5) 0%,rgba(0,0,0,0.45) 50%,#000000 100%);}
.hx_proud .hx_h {text-shadow:0 10px 40px rgba(0,0,0,0.45);}

/* Closing pitch and the sign-up form */
.hx_join {padding-top:clamp(1.5rem,4vw,3rem);}
.hx_join::before {content:"";position:absolute;left:50%;bottom:-6rem;width:min(64rem,160vw);height:36rem;transform:translateX(-50%);background:radial-gradient(closest-side,rgba(237,112,20,0.2),transparent);pointer-events:none;}
.hx_join_grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(20rem,100%),1fr));align-items:center;gap:clamp(2rem,5vw,4rem);}
.hx_join_copy {text-align:center;}
.hx_join_title {margin:0;font-size:clamp(1.6rem,1.2rem + 1.5vw,2.5rem);font-weight:700;line-height:1.15;letter-spacing:-0.02em;}
.hx_join_text {margin:0.75rem 0 0 0;font-size:clamp(1.1rem,1rem + 0.4vw,1.3rem);line-height:1.5;color:#a1a1a6;}
/* the form keeps the site face: it is step one of sign-up, and the onboarding screens after
   Next (and the Log In form) are set in News Cycle */
.hx_form_card {box-sizing:border-box;width:min(30rem,100%);margin:0 auto;padding:clamp(1.5em,5vw,2.75em);border-radius:28px;background-color:#fdfdfd;color:#1c1c1c;box-shadow:0 30px 80px rgba(0,0,0,0.5);text-align:left;font-family:"News Cycle",sans-serif;}

/* Phone sticky Register bar: frosted, above the safe area; the script shows it between
   the hero button and the form. Off-screen it is also hidden from focus. */
.hx_sticky_cta {position:fixed;left:0;right:0;bottom:0;z-index:3;display:flex;justify-content:center;padding:0.75rem var(--hx_gutter) calc(0.75rem + env(safe-area-inset-bottom)) var(--hx_gutter);background-color:rgba(255,255,255,0.78);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);box-shadow:0 -1px 0 rgba(0,0,0,0.08);transform:translateY(110%);visibility:hidden;transition:transform 0.35s var(--hx_ease),visibility 0s linear 0.35s;}
.hx_sticky_cta.hx_sticky_cta_on {transform:none;visibility:visible;transition:transform 0.35s var(--hx_ease),visibility 0s;}
.hx_sticky_cta .hx_btn {width:100%;max-width:26rem;}

/* The onboarding screen (fullscreen_mode) still sits its card on a dark scrim */
.home_banner_scrim {position:absolute;inset:0;z-index:-1;}
.home_banner_scrim[data-scrim="dark"] {background:linear-gradient(to bottom,rgba(10,15,18,0.72) 0%,rgba(10,15,18,0.45) 45%,rgba(10,15,18,0.68) 100%);}

.hx_tile.hx_pressed {transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,0.1);}
.hx_tile_dark.hx_pressed {box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14),0 18px 40px rgba(0,0,0,0.4);}

@media only screen and (max-width:900px)
{
	.hx_hero_bg {background-image:url('../homepage_image/background/registration_banner_975x1152.webp');}
}

@media only screen and (min-width:760px)
{
	.hx_sticky_cta {display:none;}
	.hx_join_copy {text-align:left;}
}

@media (pointer:fine)
{
	/*.host_menu_btn:hover {text-decoration:underline;}*/
	.dashboard_menu_clickable:hover {background-color:#ececec;}
	.dashboard_menu_horizontal.dashboard_menu_clickable:not(.dashboard_menu_active):hover {background-color:#e3e9ed;}
	.host_menu_btn:not(.host_menu_btn_active):hover {background-color:#e3e9ed;}

	.dashboard_dropdown_menu ul li:hover div,
	.toolbar .toolbar_btn.toolbar_btn_clickable:hover,
	.panel_button:not(.panel_button_active):hover
	{background-color:#ececec;}

	.toolbar .toolbar_btn.toolbar_btn_clickable[data-btn=save]:hover {background-color:#0088b8;}
	.toolbar .toolbar_btn.toolbar_btn_clickable[data-btn=confirm_remove]:hover {background-color:#c81e1e;}

	.tabular_listing tbody tr:hover {background-color:#f7f7f7;}
	
	.listing:not(.listing_highlight):hover {background-color:#f7f7f7;}
	.help_item .help_question:hover {background-color:#f7f7f7;}

	.host_public_menu .rightmenutrigger:hover {background-color:#f1f5f7;color:#0088b8;}

	.hx_tile:hover {transform:translateY(-4px);box-shadow:0 18px 40px rgba(0,0,0,0.1);}
	.hx_tile_dark:hover {box-shadow:inset 0 0 0 1px rgba(255,255,255,0.14),0 18px 40px rgba(0,0,0,0.4);}
}

@media only screen and (max-width:1100px)
{
	.registration_banner_container[data-banner-number="1"] .registration_banner_background {background-image:url('../homepage_image/background/onboarding_fullscreen_banner_975x1536.webp');}
	.auth_banner_container[data-banner-number="1"] .auth_banner_background {background-image:url('../homepage_image/background/onboarding_fullscreen_banner_975x1536.webp');}
}

@media only screen and (max-width:900px)
{
	.toolbar .toolbar_center_when_small {justify-content:center;flex-grow:1;}
	.entry_form_field .min_date_range, .entry_form_field .blocked_date_range {flex-direction:column;row-gap:0.5em;}
	.entry_form_field .min_date_arrow_down, .entry_form_field .blocked_date_arrow_down {display:initial;}
	.entry_form_field .min_date_arrow_right, .entry_form_field .blocked_date_arrow_right {display:none;}
	.season_dates_form .season_dates_range {flex-direction:column;align-items:flex-start;}
	.season_dates_form .season_dates_field_arrow_down {display:initial;}
	.season_dates_form .season_dates_field_arrow_right {display:none;}
	}

@media only screen and (max-width:700px)
{
	/* the rail turns into a row of dots above the form: still a position indicator,
	   without seven labels between the heading and the first field */
	.onboarding_layout .onboarding_progress {width:100%;flex-direction:row;align-items:center;justify-content:center;}
	.onboarding_progress_step {display:flex;align-items:center;padding-bottom:0;}
	.onboarding_progress_line {position:static;width:1.5em;height:2px;margin:0;}
	.onboarding_progress_dot {margin-top:0;}
	.onboarding_progress_text {display:none;}
}

@media only screen and (max-width:600px)
{
	.listing .listing_right {justify-content:flex-start;}
}

@media (prefers-reduced-motion:reduce)
{
	.hx_tile {transition:none;}
	.hx_sticky_cta, .hx_sticky_cta.hx_sticky_cta_on {transition:none;}
	.onboarding_progress_step {animation:none;}
}