.fo-page {max-width: var(--layout-width-form, 800px);margin: 0 auto;padding: 18px 16px 32px}
.fo-page-wide {max-width: var(--layout-width-wide, 1080px)}
.fo-back-link {display: inline-flex;align-items: center;gap: 4px;font-size: 13px;color: var(--color-text-muted);text-decoration: none;margin-bottom: 10px}
.fo-page-title {font-size: 20px;font-weight: 800;line-height: 1.35;overflow-wrap: anywhere}
.fo-page-lead {font-size: 13.5px;color: var(--color-text-secondary);margin-top: 6px;overflow-wrap: anywhere}
.fo-card {--fo-card-pad: 16px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: var(--fo-card-pad);box-shadow: var(--shadow-sm);min-width: 0}
.fo-card + .fo-card {margin-top: 14px}
.fo-card + .fo-notice,
.fo-notice + .fo-card {margin-top: 14px}
.fo-card-title {display: flex;align-items: center;gap: 8px;font-size: 15px;font-weight: 700;margin-bottom: 12px}
.fo-plan-note {font-size: 13.5px;line-height: 1.7;color: var(--color-text-secondary);margin: 8px 0 12px;overflow-wrap: anywhere}
.fo-plan-actions {display: flex;flex-direction: column;gap: 10px;margin-top: 12px}
.fo-plan-mini + .fo-notice {margin-top: 12px}
.fo-badge-icon {display: inline-flex;align-items: center;justify-content: center;width: 28px;height: 28px;border-radius: 8px;background: var(--mode-facility);color: #fff;flex: none}
.fo-badge-icon .fo-ic {width: 15px;height: 15px}
.fo-section-h {display: flex;align-items: center;justify-content: space-between;gap: 8px;font-size: 15px;font-weight: 800;margin: 22px 0 10px}
.fo-btn {display: inline-flex;align-items: center;justify-content: center;gap: 8px;border: 0;border-radius: 10px;padding: 13px 20px;font-size: 15px;font-weight: 700;text-decoration: none;cursor: pointer;transition: transform .15s, box-shadow .15s, opacity .15s}
.fo-btn .fo-ic {width: 1em;height: 1em}
.fo-btn-primary {background: var(--mode-facility);color: #fff;box-shadow: 0 4px 12px rgba(15, 118, 110, .28)}
.fo-btn-primary:hover:not(:disabled) {background: var(--mode-facility-dark)}
.fo-btn-ghost {background: #fff;color: var(--color-text-secondary);border: 1px solid var(--color-border)}
.fo-btn-danger-ghost {background: #fff;color: var(--color-danger-dark);border: 1px solid #fecaca}
.fo-btn-text {background: transparent;color: var(--color-text-muted);text-decoration: underline;text-underline-offset: 3px;box-shadow: none}
.fo-btn-text:hover,
.fo-btn-text:focus-visible {color: var(--color-text-primary)}
.fo-btn-sm {padding: 8px 14px;font-size: 13px;border-radius: 8px}
@media (max-width: 767px) {.fo-btn-sm,
.location-picker-btn {min-height: 44px}
.fo-back-link {min-height: 44px;margin: -12px 0 -2px}}
.fo-btn-block {width: 100%;max-width: 100%}
.fo-btn:disabled {opacity: .45;cursor: not-allowed;box-shadow: none}
.fo-actions {display: flex;flex-direction: column;gap: 10px;margin-top: 18px}
.fo-lp-sub-link {display: inline;border: 0;background: transparent;padding: 0;font: inherit;font-weight: 700;color: inherit;text-decoration: underline;text-underline-offset: 3px;cursor: pointer}
.fo-notice {display: flex;gap: 10px;padding: 12px 14px;border-radius: var(--radius-md);font-size: 13px;line-height: 1.6}
.fo-notice .fo-ic {width: 18px;height: 18px;margin-top: 2px;flex: none}
.fo-notice strong {display: block;font-size: 13.5px}
.fo-notice > div {min-width: 0;overflow-wrap: anywhere}
.fo-notice p {margin: 0}
.fo-notice p + p {margin-top: 6px}
.fo-notice a {color: inherit;text-decoration: underline;font-weight: 600}
.fo-notice-info {background: var(--mode-facility-50);border: 1px solid var(--mode-facility-100);color: #134e4a}
.fo-notice-warn {background: var(--color-status-pending-bg, #fef3c7);border: 1px solid #fde68a;color: var(--color-status-pending-text, #92400e)}
.fo-notice-danger {background: var(--color-status-cancelled-bg, #fee2e2);border: 1px solid #fecaca;color: var(--color-status-cancelled-text, #991b1b)}
.fo-beta-notice {margin: 0 0 16px;padding: 14px 16px;border-radius: var(--radius-md);font-size: 13px;line-height: 1.6}
.fo-beta-notice .beta-notice__title {margin: 0 0 6px;font-size: 14px;font-weight: 700}
.fo-beta-notice ul {margin: 0;padding-left: 18px}
.fo-beta-notice li + li {margin-top: 2px}
.fo-form-errors {background: var(--color-status-cancelled-bg, #fee2e2);border: 1px solid #fecaca;color: var(--color-status-cancelled-text, #991b1b);border-radius: var(--radius-md);padding: 12px 14px;font-size: 13px;margin-bottom: 16px}
.fo-lp-hero {background: linear-gradient(160deg, #134e4a 0%, #0f766e 55%, #14b8a6 100%);color: #fff;padding: 34px 20px 30px;position: relative;overflow: hidden}
.fo-lp-eyebrow {display: inline-flex;align-items: center;gap: 6px;font-size: 12px;font-weight: 700;background: rgba(255, 255, 255, .16);padding: 4px 11px;border-radius: 999px}
.fo-lp-hero h1 {font-size: 26px;line-height: 1.4;font-weight: 800;margin: 14px 0 10px}
.fo-lp-hero p {font-size: 14px;color: rgba(255, 255, 255, .9);max-width: 520px;overflow-wrap: anywhere}
.fo-lp-hero-actions {display: flex;flex-direction: column;align-items: stretch;gap: 10px;margin-top: 20px;position: relative;z-index: 1}
.fo-lp-hero-actions .fo-btn {width: 100%;max-width: 100%}
.fo-lp-hero .fo-btn-primary {background: #fff;color: var(--mode-facility-dark);box-shadow: 0 6px 18px rgba(0, 0, 0, .2);position: relative;z-index: 1}
.fo-lp-hero .fo-btn-primary:hover:not(:disabled) {background: var(--mode-facility-50);color: var(--mode-facility-dark)}
.fo-lp-hero-actions .fo-btn-primary {border: 1px solid transparent}
.fo-lp-hero-link {background: rgba(255, 255, 255, .12);color: #fff;border: 1px solid rgba(255, 255, 255, .5)}
.fo-lp-hero-link:hover {background: rgba(255, 255, 255, .22);color: #fff}
.fo-lp-sub {margin-top: 12px;font-size: 12.5px;color: rgba(255, 255, 255, .85);position: relative;z-index: 1}
.fo-lp-cats {display: grid;grid-template-columns: repeat(2, 1fr);gap: 10px}
.fo-lp-cats > :last-child:nth-child(odd) {grid-column: 1 / -1}
.fo-lp-cat {display: flex;align-items: center;gap: 10px;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 12px;font-size: 13.5px;font-weight: 700;min-width: 0}
.fo-lp-cat-ic {width: 38px;height: 38px;border-radius: 10px;display: flex;align-items: center;justify-content: center;font-size: 20px;color: #fff;background: var(--cat);flex: none}
.fo-lp-h2 {font-size: 17px;font-weight: 800;margin: 26px 0 12px}
.fo-lp-points {display: grid;gap: 10px}
.fo-lp-point {display: flex;gap: 12px}
.fo-lp-point-ic {width: 40px;height: 40px;border-radius: 50%;background: var(--mode-facility-100);color: var(--mode-facility-dark);display: flex;align-items: center;justify-content: center;font-size: 20px;flex: none}
.fo-lp-point h3 {font-size: 14.5px}
.fo-lp-point p {font-size: 13px;color: var(--color-text-secondary);margin-top: 2px;overflow-wrap: anywhere}
.fo-lp-flow {counter-reset: fostep;display: grid;gap: 8px;margin: 0;padding: 0;list-style: none}
.fo-lp-flow li {counter-increment: fostep;display: flex;gap: 12px;align-items: flex-start;background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 12px;font-size: 13px;color: var(--color-text-secondary);min-width: 0}
.fo-lp-flow li::before {content: counter(fostep);width: 26px;height: 26px;border-radius: 50%;background: var(--mode-facility);color: #fff;font-weight: 800;font-size: 13px;display: flex;align-items: center;justify-content: center;flex: none}
.fo-lp-flow strong {display: block;color: var(--color-text-primary);font-size: 14px}
.fo-lp-login .fo-page-lead {margin: 0 0 14px}
.fo-lp-login form + form {margin-top: 10px}
.fo-form {min-width: 0}
.fo-trial-grid {display: block;min-width: 0}
.fo-trial-pane {min-width: 0}
.fo-field {margin-bottom: 16px;min-width: 0}
.fo-field:last-child {margin-bottom: 0}
.fo-label {display: flex;align-items: center;gap: 6px;font-size: 13.5px;font-weight: 700;margin-bottom: 6px;flex-wrap: wrap}
.fo-req,
.fo-opt {font-size: 10.5px;font-weight: 700;padding: 1px 6px;border-radius: 4px}
.fo-req {background: #fee2e2;color: #b91c1c}
.fo-opt {background: var(--color-bg-secondary);color: var(--color-text-muted)}
.fo-input,
.fo-textarea {width: 100%;max-width: 100%;box-sizing: border-box;border: 1px solid var(--color-border);border-radius: 10px;padding: 12px;font-size: 16px;background: #fff;outline: none;transition: border-color .2s, box-shadow .2s}
.fo-textarea {min-height: 110px;resize: vertical;line-height: 1.6}
.fo-input:focus,
.fo-textarea:focus {border-color: var(--mode-facility);box-shadow: 0 0 0 3px rgba(15, 118, 110, .12)}
.fo-hint {font-size: 12px;color: var(--color-text-muted);margin-top: 5px;overflow-wrap: anywhere}
.fo-counter {float: right;font-size: 12px;font-weight: 500;color: var(--color-text-muted)}
.fo-counter .is-over {color: var(--color-danger);font-weight: 700}
.fo-cat-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 8px}
.fo-cat-grid > :last-child:nth-child(odd) {grid-column: 1 / -1}
.fo-cat-opt {position: relative}
.fo-cat-opt input {position: absolute;opacity: 0;pointer-events: none}
.fo-cat-opt label {display: flex;align-items: center;gap: 8px;border: 2px solid var(--color-border);border-radius: 10px;padding: 10px;font-size: 13.5px;font-weight: 700;background: #fff;cursor: pointer;min-width: 0}
.fo-cat-opt label .fo-ic {width: 20px;height: 20px;color: var(--cat)}
.fo-cat-opt input:checked + label {border-color: var(--cat);background: color-mix(in srgb, var(--cat) 8%, #fff)}
.fo-cat-opt input:focus-visible + label {outline: 2px solid var(--cat);outline-offset: 2px}
.fo-cat-fixed {display: flex;align-items: center;gap: 8px;border: 1px solid var(--color-border);border-radius: 10px;padding: 10px;font-size: 13.5px;font-weight: 700;background: var(--color-bg-secondary)}
.fo-cat-fixed .fo-ic {width: 20px;height: 20px;color: var(--cat)}
.fo-row2 {display: grid;grid-template-columns: 1fr 1fr;gap: 10px}
.fo-field > p.fo-label {margin-top: 0}
.fo-hours-rows {display: grid;gap: 8px;min-width: 0}
.fo-hours-rows:not(:empty) {margin-bottom: 8px}
.fo-hours-row {display: flex;align-items: center;gap: 8px;min-width: 0;padding: 8px;border: 1px solid var(--color-border);border-radius: var(--radius-sm);background: var(--color-bg-muted)}
.fo-hours-row-fields {flex: 1;display: grid;gap: 6px;min-width: 0}
.fo-hours-row .fo-input {min-width: 0;padding: 9px 11px;font-size: 14px;background: #fff}
.fo-hours-remove {flex: none;width: 36px;height: 36px;display: flex;align-items: center;justify-content: center;border: 0;border-radius: 8px;background: transparent;color: var(--color-text-muted);cursor: pointer;position: relative}
.fo-hours-remove::before {content: "";position: absolute;inset: -4px}
.fo-hours-remove:hover {background: color-mix(in srgb, var(--color-danger) 10%, #fff);color: var(--color-danger)}
.fo-hours-remove .fo-ic {width: 18px;height: 18px}
.fo-hours-add {display: inline-flex;align-items: center;gap: 5px;padding: 8px 14px;border: 1px dashed #cbd5e1;border-radius: 999px;background: #fff;color: var(--color-text-secondary);font-size: 13px;font-weight: 700;cursor: pointer}
.fo-hours-add:hover:not(:disabled) {border-color: var(--color-primary);color: var(--color-primary)}
.fo-hours-add:disabled {opacity: 0.5;cursor: not-allowed}
.fo-hours-add .fo-ic {width: 15px;height: 15px}
.fo-hours-remove:focus-visible,
.fo-hours-add:focus-visible {outline: 2px solid var(--color-primary);outline-offset: 2px}
@media (min-width: 600px) {.fo-hours-row-fields {grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)}}
.fo-sns-row {display: flex;align-items: center;gap: 8px;margin-bottom: 8px;min-width: 0}
.fo-sns-row:last-child {margin-bottom: 0}
.fo-si {width: 36px;height: 36px;border-radius: 8px;background: var(--color-bg-secondary);color: var(--color-text-secondary);display: flex;align-items: center;justify-content: center;font-size: 17px;flex: none}
.fo-sns-row .fo-input {flex: 1;min-width: 0;padding: 9px 11px;font-size: 14px}
.fo-preview-lead {font-size: 13px;color: var(--color-text-secondary);line-height: 1.6;margin: 0 0 12px;overflow-wrap: anywhere}
.fo-plan-lead {margin-bottom: 14px}
.fo-plan-picker {container-type: inline-size}
.fo-plan-list {display: grid;gap: 8px}
.fo-plan-tile {position: relative;display: grid;grid-template-columns: auto minmax(0, 1fr) auto;grid-template-areas:
"emblem head price"
"body body body";align-items: center;column-gap: 12px;background: #fff;border: 1.5px solid var(--color-border);border-radius: var(--radius-md);padding: 12px 14px 12px 10px;cursor: pointer;transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s}
.fo-plan-tile:hover {border-color: color-mix(in srgb, var(--pc) 55%, var(--color-border))}
.fo-plan-tile input {position: absolute;opacity: 0;pointer-events: none}
.fo-plan-tile:has(input:focus-visible) {outline: 2px solid var(--pc);outline-offset: 2px}
.fo-plan-tile input:focus-visible ~ .fo-plan-tile-head {outline: 2px solid var(--pc);outline-offset: 4px;border-radius: 4px}
.fo-plan-tile:has(input:checked),
.fo-plan-tile:has(input:checked):hover {border-color: var(--pc);background: color-mix(in srgb, var(--pc) 5%, #fff);box-shadow: 0 0 0 3px color-mix(in srgb, var(--pc) 14%, transparent)}
.fo-plan-tile.is-coming-soon {cursor: not-allowed}
.fo-plan-tile.is-coming-soon:hover {border-color: var(--color-border)}
.fo-plan-tile.is-coming-soon .fo-plan-tile-emblem,
.fo-plan-tile.is-coming-soon .fo-plan-tile-catch,
.fo-plan-tile.is-coming-soon .fo-plan-tile-price,
.fo-plan-tile.is-coming-soon .fo-plan-tile-body {opacity: 0.55}
.fo-plan-tile-emblem {grid-area: emblem;display: flex;padding: 8px}
.fo-plan-tile-head {grid-area: head;min-width: 0}
.fo-plan-tile-name {display: flex;align-items: center;flex-wrap: wrap;gap: 6px;font-size: 12px;font-weight: 700;letter-spacing: 0.08em;color: var(--color-text-secondary)}
.fo-plan-tile input:checked ~ .fo-plan-tile-head .fo-plan-tile-name {color: var(--pc)}
.fo-plan-pill {font-size: 9.5px;font-weight: 700;letter-spacing: 0.02em;line-height: 1.4;color: #fff;background: var(--pc);padding: 2px 8px;border-radius: 999px;white-space: nowrap}
.fo-plan-pill-soon {color: var(--color-text-secondary);background: transparent;border: 1px dashed var(--color-text-muted);padding: 1px 7px}
.fo-plan-tile-selected {display: none;font-size: 9.5px;font-weight: 700;letter-spacing: 0.02em;line-height: 1.4;color: var(--color-text-secondary);border: 1px solid color-mix(in srgb, var(--pc) 50%, transparent);border-radius: 999px;padding: 1px 7px;white-space: nowrap}
.fo-plan-tile input:checked ~ .fo-plan-tile-head .fo-plan-tile-selected {display: inline-block}
.fo-plan-tile-catch {display: block;margin-top: 3px;font-size: 15px;font-weight: 700;line-height: 1.35;color: var(--color-text-primary);overflow-wrap: anywhere}
.fo-plan-tile-price {grid-area: price;text-align: right;white-space: nowrap}
.fo-plan-price {font-size: 18px;font-weight: 700;letter-spacing: -0.02em;line-height: 1.1;font-variant-numeric: tabular-nums}
.fo-plan-price small {font-size: 11px;font-weight: 500;letter-spacing: 0;color: var(--color-text-muted);margin-left: 2px}
.fo-plan-tile-body {grid-area: body;display: none;min-width: 0;margin-top: 10px;padding-top: 10px;border-top: 1px solid color-mix(in srgb, var(--pc) 25%, var(--color-border))}
.fo-plan-tile input:checked ~ .fo-plan-tile-body {display: block;animation: fo-plan-body-in 0.16s ease both}
@keyframes fo-plan-body-in {from { opacity: 0; transform: translateY(3px); }
to { opacity: 1; transform: translateY(0); }}
@media (prefers-reduced-motion: reduce) {.fo-plan-tile-body { animation: none !important; }}
.fo-plan-feat {list-style: none;margin: 0;padding: 0;display: grid;gap: 6px}
.fo-plan-feat li {display: flex;gap: 7px;align-items: flex-start;font-size: 12.5px;line-height: 1.5;color: var(--color-text-secondary);overflow-wrap: anywhere}
.fo-plan-chip {flex: none;width: 15px;height: 15px;border-radius: 50%;background: var(--pc);color: #fff;display: flex;align-items: center;justify-content: center;margin-top: 2px}
.fo-plan-chip .fo-ic {width: 9px;height: 9px;stroke-width: 3}
.fo-plan-feat li.is-coming-soon {color: var(--color-text-muted)}
.fo-plan-feat li.is-coming-soon .fo-plan-chip {background: var(--color-text-muted)}
.fo-plan-soon {flex: none;align-self: center;margin-left: 4px;padding: 0 6px;border: 1px solid currentColor;border-radius: 999px;font-size: 10px;font-weight: 700;line-height: 1.6}
.fo-plan-tile-note {display: block;margin-top: 8px;font-size: 11px;line-height: 1.5;color: var(--color-text-muted);overflow-wrap: anywhere}
.fo-plan-tile-note:empty {display: none}
@container (min-width: 480px) {.fo-plan-tile {grid-template-columns: auto minmax(120px, 0.9fr) minmax(0, 1.4fr) auto;grid-template-areas: "emblem head body price";column-gap: 14px;padding: 14px 16px 14px 10px}
.fo-plan-tile-body,
.fo-plan-tile input:checked ~ .fo-plan-tile-body {display: block;margin: 0;padding: 0 0 0 14px;border-top: 0;border-left: 1px solid var(--color-border);animation: none}
.fo-plan-tile-catch {font-size: 14px}
.fo-plan-price {font-size: 20px}}
@supports not (container-type: inline-size) {@media (min-width: 900px) {.fo-plan-tile {grid-template-columns: auto minmax(120px, 0.9fr) minmax(0, 1.4fr) auto;grid-template-areas: "emblem head body price";column-gap: 14px;padding: 14px 16px 14px 10px}
.fo-plan-tile-body,
.fo-plan-tile input:checked ~ .fo-plan-tile-body {display: block;margin: 0;padding: 0 0 0 14px;border-top: 0;border-left: 1px solid var(--color-border);animation: none}
.fo-plan-tile-catch {font-size: 14px}
.fo-plan-price {font-size: 20px}}}
.fo-sticky-next {position: sticky;bottom: 0;z-index: 4;margin: 18px -16px -32px;padding: 12px 16px;background: rgba(255, 255, 255, .96);border-top: 1px solid var(--color-border);backdrop-filter: blur(6px)}
.fo-photos {min-width: 0}
.fo-photo-tiles {display: grid;grid-template-columns: repeat(3, 1fr);gap: 8px}
.fo-photo-tile {position: relative;aspect-ratio: 1;border-radius: 10px;overflow: hidden;border: 1px solid var(--color-border);background: var(--color-bg-muted)}
.fo-photo-tile img {width: 100%;height: 100%;object-fit: cover;display: block}
.fo-photo-cover-badge {position: absolute;left: 5px;bottom: 5px;font-size: 10.5px;font-weight: 600;background: rgba(15, 23, 42, .55);color: #fff;padding: 1px 7px;border-radius: 999px}
.fo-photo-tile:first-child .fo-photo-cover-badge {display: inline-block}
.fo-photo-tile:not(:first-child) .fo-photo-cover-badge {display: none}
.fo-photo-remove {position: absolute;top: 0;right: 0;width: 44px;height: 44px;padding: 10px 10px 0 0;border: 0;background: transparent;color: #fff;display: flex;align-items: flex-start;justify-content: flex-end;cursor: pointer}
.fo-photo-remove::before {content: "";position: absolute;top: 4px;right: 4px;width: 24px;height: 24px;border-radius: 50%;background: rgba(15, 23, 42, .6)}
.fo-photo-remove:hover::before {background: rgba(15, 23, 42, .8)}
.fo-photo-remove .fo-ic {position: relative;width: 12px;height: 12px}
.fo-photo-add {border: 2px dashed #cbd5e1;background: var(--color-bg-muted);color: var(--color-text-muted);display: flex;flex-direction: column;align-items: center;justify-content: center;gap: 3px;font-size: 11.5px;font-weight: 600;cursor: pointer}
.fo-photo-add .fo-ic {width: 22px;height: 22px}
.fo-photo-add[hidden] {display: none !important}
.fo-rules {min-width: 0}
.fo-rule {display: flex;gap: 12px;align-items: flex-start;padding: 14px;border: 1px solid var(--color-border);border-radius: var(--radius-md);background: #fff;cursor: pointer;min-width: 0}
.fo-rule + .fo-rule {margin-top: 8px}
.fo-rule input {width: 20px;height: 20px;margin: 2px 0 0;accent-color: var(--mode-facility);flex: none}
.fo-rule h3 {margin: 0;font-size: 14px;line-height: 1.5}
.fo-rule p {margin-top: 3px;font-size: 12.5px;color: var(--color-text-secondary);overflow-wrap: anywhere}
.fo-rule:has(input:checked) {border-color: #5eead4;background: var(--mode-facility-50)}
.fo-rule-all {display: flex;align-items: center;gap: 10px;font-size: 14px;font-weight: 700;padding: 12px 14px;margin-top: 12px;border-radius: var(--radius-md);background: var(--color-bg-secondary);cursor: pointer}
.fo-rule-all input {width: 20px;height: 20px;accent-color: var(--mode-facility)}
.fo-done-hero {text-align: center;padding: 26px 16px}
.fo-done-ic {width: 76px;height: 76px;border-radius: 50%;display: inline-flex;align-items: center;justify-content: center;margin-bottom: 12px}
.fo-done-ic .fo-ic {width: 38px;height: 38px}
.fo-done-ic-wait {background: var(--color-status-pending-bg, #fef3c7);color: #b45309}
.fo-done-ic-ng {background: var(--color-status-cancelled-bg, #fee2e2);color: var(--color-danger-dark)}
.fo-done-ic-ok {background: var(--color-status-confirmed-bg, #dcfce7);color: var(--color-success-dark)}
.fo-done-hero h1 {font-size: 21px;line-height: 1.4}
.fo-done-hero p {font-size: 13.5px;color: var(--color-text-secondary);margin-top: 8px;overflow-wrap: anywhere}
.fo-done-hero-link {display: inline-flex;align-items: center;min-height: 44px;margin-top: 2px;font-size: 13px;font-weight: 700;color: var(--mode-facility-dark);text-decoration: underline;text-underline-offset: 3px}
.fo-timeline {display: grid;gap: 0;margin: 0;padding: 0;list-style: none}
.fo-timeline li {position: relative;padding: 0 0 16px 30px;font-size: 13px;color: var(--color-text-muted)}
.fo-timeline li:last-child {padding-bottom: 0}
.fo-timeline li::before {content: "";position: absolute;left: 5px;top: 4px;width: 12px;height: 12px;border-radius: 50%;background: #fff;border: 3px solid #cbd5e1}
.fo-timeline li::after {content: "";position: absolute;left: 10px;top: 20px;bottom: 0;width: 2px;background: var(--color-border)}
.fo-timeline li:last-child::after {display: none}
.fo-timeline li.fo-timeline-done::before {border-color: var(--mode-facility);background: var(--mode-facility)}
.fo-timeline li.fo-timeline-now::before {border-color: #f59e0b}
.fo-timeline strong {display: block;color: var(--color-text-primary);font-size: 14px}
.fo-summary {display: flex;gap: 12px;align-items: center;min-width: 0}
.fo-summary h3 {font-size: 15px;overflow-wrap: anywhere}
.fo-summary p {font-size: 12.5px;color: var(--color-text-muted);overflow-wrap: anywhere}
.fo-ph {position: relative;display: flex;align-items: center;justify-content: center;color: var(--color-text-light);background: var(--color-bg-secondary);overflow: hidden;border-radius: 10px;flex: none;min-width: 0}
.fo-summary .fo-ph {width: 64px;height: 64px}
.fo-summary .fo-ph .fo-ic {width: 26px;height: 26px}
.fo-summary .fo-ph img {width: 100%;height: 100%;object-fit: cover}
.fo-quota {display: grid;grid-template-columns: 1fr 1fr;gap: 10px;margin: 14px 0}
.fo-quota > div {background: #fff;border: 1px solid var(--color-border);border-radius: var(--radius-md);padding: 12px;min-width: 0}
.fo-quota small {display: block;font-size: 11.5px;color: var(--color-text-muted);font-weight: 600}
.fo-quota b {font-size: 18px}
.fo-quota p {margin: 4px 0 0;font-size: 11.5px;line-height: 1.5;color: var(--color-text-muted)}
.fo-own-grid {display: grid;gap: 14px}
.fo-own {display: flex;gap: 12px;min-width: 0}
.fo-own .fo-ph {width: 76px;height: 76px}
.fo-own .fo-ph .fo-ic {width: 26px;height: 26px}
.fo-own .fo-ph img {width: 100%;height: 100%;object-fit: cover}
.fo-own-body {flex: 1;min-width: 0}
.fo-own-body h3 {font-size: 15px;margin: 4px 0 2px;overflow-wrap: anywhere}
.fo-own-stats {display: flex;flex-direction: column;gap: 4px;font-size: 12.5px;color: var(--color-text-muted);margin-top: 4px}
.fo-own-actions {display: flex;gap: 8px;flex-wrap: wrap;margin-top: 12px}
.fo-status {display: inline-flex;align-items: center;gap: 4px;font-size: 11px;font-weight: 700;padding: 2px 9px;border-radius: 999px;white-space: nowrap;margin-bottom: 4px}
.fo-status-approved {background: var(--color-status-confirmed-bg, #dcfce7);color: var(--color-status-confirmed-text, #166534)}
.fo-status-pending {background: var(--color-status-pending-bg, #fef3c7);color: var(--color-status-pending-text, #92400e)}
.fo-status-rejected {background: var(--color-status-cancelled-bg, #fee2e2);color: var(--color-status-cancelled-text, #991b1b)}
.fo-status-draft {background: var(--color-bg-secondary);color: var(--color-text-secondary)}
.fo-status-lapsed {background: var(--color-status-pending-bg, #fef3c7);color: var(--color-status-pending-text, #92400e)}
.location-picker {border: 1px solid var(--color-border);border-radius: 12px;overflow: hidden;background: #fff;margin-top: 8px}
.location-picker-header {display: flex;justify-content: space-between;align-items: center;padding: 12px 16px;background: var(--color-bg-muted);border-bottom: 1px solid var(--color-border);gap: 12px;flex-wrap: wrap}
.location-picker-info {flex: 1;min-width: 0}
.location-picker-display {display: inline-flex;align-items: center;gap: 6px;font-size: 14px;color: var(--color-text-primary);overflow-wrap: anywhere}
.location-picker-check {display: inline-flex;flex: none;color: var(--mode-facility)}
.location-picker-check svg {width: 14px;height: 14px;stroke-width: 3}
.location-picker-display.location-picker-no-selection {color: var(--color-text-light)}
.location-picker-display.location-picker-no-selection .location-picker-check {display: none}
.location-picker-actions {display: flex;gap: 8px;flex-shrink: 0}
.location-picker-btn {display: inline-flex;align-items: center;gap: 6px;padding: 8px 12px;font-size: 13px;color: var(--color-text-secondary);background: #fff;border: 1px solid var(--color-border);border-radius: 6px;cursor: pointer;transition: all .2s}
.location-picker-btn:hover {background: var(--color-bg-secondary);border-color: #cbd5e1}
.location-picker-btn .fo-ic {width: 14px;height: 14px}
.location-picker-map {width: 100%;height: 260px}
.fo-autocomplete {position: relative}
.fo-autocomplete-list {position: absolute;top: calc(100% + 4px);left: 0;right: 0;z-index: 5;margin: 0;padding: 4px 0;list-style: none;background: #fff;border: 1px solid var(--color-border);border-radius: 10px;box-shadow: 0 8px 24px rgba(15, 23, 42, .14);max-height: 280px;overflow-y: auto}
.fo-autocomplete-list[hidden] {display: none}
.fo-autocomplete-item {display: flex;flex-direction: column;gap: 2px;padding: 10px 14px;cursor: pointer}
.fo-autocomplete-item:hover,
.fo-autocomplete-item[aria-selected="true"] {background: var(--color-bg-muted)}
.fo-autocomplete-main {font-size: 14px;color: var(--color-text-primary);overflow-wrap: anywhere}
.fo-autocomplete-sub {font-size: 12px;color: var(--color-text-muted);overflow-wrap: anywhere}
@media (min-width: 768px) {.fo-page {padding: 28px 24px 48px}
.fo-page-title {font-size: 24px}
.fo-actions {flex-direction: row-reverse;justify-content: flex-start}
.fo-actions .fo-btn {width: auto;min-width: 220px}
.fo-actions .fo-btn-text {min-width: 0}
.fo-lp-hero {padding: 64px 48px 56px}
.fo-lp-hero-actions {flex-direction: row;align-items: center}
.fo-lp-hero-actions .fo-btn {width: auto}
.fo-lp-hero h1 {font-size: 38px}
.fo-lp-cats {grid-template-columns: repeat(5, 1fr)}
.fo-lp-cats > :last-child:nth-child(odd) {grid-column: auto}
.fo-lp-points {grid-template-columns: repeat(3, 1fr);gap: 18px}
.fo-lp-point {flex-direction: column}
.fo-lp-flow {grid-template-columns: repeat(4, 1fr)}
.fo-lp-flow li {flex-direction: column}
.fo-lp-login .fo-btn {width: auto;min-width: 260px}
.fo-lp-login form {display: inline-block}
.fo-lp-login form + form {margin: 0 0 0 10px}
.fo-trial-grid {display: grid;grid-template-columns: minmax(0, 1fr) 380px;gap: 20px;align-items: start}
.fo-trial-grid--single {grid-template-columns: minmax(0, 1fr)}
.fo-trial-pane[data-pane="preview"] {position: sticky;top: 16px}
.fo-photo-tiles {grid-template-columns: repeat(5, 1fr)}
.fo-sticky-next {position: static;margin: 18px 0 0;padding: 0;background: transparent;border: 0;display: flex;align-items: center;justify-content: flex-end}
.fo-sticky-next .fo-btn {width: auto;min-width: 280px}
.fo-quota {grid-template-columns: repeat(2, 240px)}
.fo-own-grid {grid-template-columns: 1fr 1fr}
.fo-own-grid .fo-card + .fo-card {margin-top: 0}}
.fo-fc-card[hidden],
.fo-fc-details[hidden],
.fo-fc-species[hidden] {display: none !important}
.fo-fc-intro {margin: -4px 0 14px}
.fo-fc-choices {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 8px}
.fo-fc-opt {position: relative;min-width: 0}
.fo-fc-opt input {position: absolute;opacity: 0;pointer-events: none}
.fo-fc-opt label {display: block;box-sizing: border-box;max-width: 100%;padding: 10px;border: 2px solid var(--color-border);border-radius: 10px;background: #fff;font-size: 13.5px;font-weight: 700;text-align: center;cursor: pointer}
.fo-fc-opt input:checked + label {border-color: var(--mode-facility);background: color-mix(in srgb, var(--mode-facility) 8%, #fff);color: var(--mode-facility)}
.fo-fc-opt input:focus-visible + label {outline: 2px solid var(--mode-facility);outline-offset: 2px}
.fo-fc-species {margin-top: 8px}