.restaurant-launch {
    --rl-ink: #17201c;
    --rl-muted: #66736d;
    --rl-line: rgba(23, 32, 28, 0.12);
    --rl-soft: #f6f8f6;
    --rl-canvas: #fbfcfa;
    --rl-green: #2f7d57;
    --rl-coral: #d95745;
    --rl-blue: #2f6f9f;
    --rl-brass: #a97928;
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 1rem;
    align-items: start;
    color: var(--rl-ink);
}

.restaurant-launch-page {
    width: min(100%, 1540px);
}

.public-signup-page.container {
    width: 100%;
    max-width: none;
    padding: 14px;
}

.public-signup-page .restaurant-launch-page {
    width: 100%;
    max-width: none;
}

.restaurant-create-fullscreen {
    overflow: hidden;
    background: #f4f7f4;
}

.restaurant-create-fullscreen .app-sidenav,
.restaurant-create-fullscreen .app-navbar,
.restaurant-create-fullscreen .ra-topbar--admin,
.restaurant-create-fullscreen .footer,
.restaurant-create-fullscreen footer {
    display: none !important;
}

.restaurant-create-fullscreen .main-content {
    width: 100% !important;
    max-width: none !important;
    min-height: 100vh !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

.restaurant-create-fullscreen .main-content > .container-fluid {
    width: 100%;
    max-width: none;
    min-height: 100vh;
    padding: 0 !important;
}

.restaurant-create-studio {
    --rl-ink: #17201c;
    --rl-muted: #66736d;
    --rl-line: rgba(23, 32, 28, 0.12);
    --rl-green: #2f7d57;
    --rl-coral: #d95745;
    min-height: 100vh;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    gap: 0.75rem;
    padding: 0.75rem;
    background:
        linear-gradient(90deg, rgba(47, 125, 87, 0.05), transparent 34%),
        #f4f7f4;
}

.restaurant-create-studio__topbar {
    display: grid;
    grid-template-columns: auto minmax(280px, 1fr) auto;
    gap: 1rem;
    align-items: center;
    min-height: 70px;
    padding: 0.75rem 0.9rem;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.96);
    box-shadow: 0 14px 32px rgba(23, 32, 28, 0.07);
}

.restaurant-create-studio__brand {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    min-width: 0;
}

.restaurant-create-studio__mark {
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    border-radius: 8px;
    color: #ffffff;
    background: var(--rl-ink);
    box-shadow: 0 10px 22px rgba(23, 32, 28, 0.16);
}

.restaurant-create-studio__eyebrow {
    display: block;
    color: var(--rl-green);
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
}

.restaurant-create-studio__topbar h1 {
    margin: 0.16rem 0 0;
    color: var(--rl-ink);
    font-size: 1.15rem;
    line-height: 1.1;
}

.restaurant-create-studio__topbar p {
    margin: 0;
    color: var(--rl-muted);
    font-size: 0.84rem;
    font-weight: 760;
    line-height: 1.35;
}

.restaurant-create-studio__back {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 40px;
    padding: 0.55rem 0.75rem;
    border: 1px solid rgba(217, 87, 69, 0.24);
    border-radius: 8px;
    color: #9f2f23;
    background: rgba(217, 87, 69, 0.06);
    font-size: 0.82rem;
    font-weight: 900;
}

.restaurant-create-studio__back:hover {
    color: #7f231a;
    background: rgba(217, 87, 69, 0.1);
}

.restaurant-create-fullscreen .restaurant-launch {
    position: relative;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
    min-height: 0;
    height: 100%;
}

.restaurant-create-fullscreen .restaurant-builder {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
}

.restaurant-create-fullscreen .restaurant-builder__hero {
    padding: 0.75rem 0.95rem;
}

.restaurant-create-fullscreen .restaurant-builder__hero h1 {
    font-size: 1.55rem;
}

.restaurant-create-fullscreen .restaurant-builder__hero p {
    max-width: 960px;
    font-size: 0.88rem;
}

.restaurant-create-fullscreen .restaurant-builder__status span {
    min-height: 58px;
    padding: 0.55rem;
}

.restaurant-create-fullscreen .restaurant-builder__shell {
    grid-template-columns: minmax(720px, 1fr) 255px;
    grid-template-rows: auto minmax(0, 1fr);
    min-height: 0;
    height: 100%;
}

.restaurant-create-fullscreen .restaurant-builder__palette {
    grid-column: 1 / -1;
    grid-row: 1;
    display: grid;
    grid-template-columns: 360px 410px 260px minmax(290px, 1fr);
    gap: 0.55rem;
    min-height: 0;
    overflow: hidden;
    padding: 0.55rem;
    border-right: 0;
    border-bottom: 1px solid var(--rl-line);
}

.restaurant-create-fullscreen .restaurant-builder__palette .restaurant-builder-panel {
    min-width: 0;
    padding: 0.62rem;
}

.restaurant-create-fullscreen .restaurant-builder__palette .restaurant-builder-panel__title {
    margin-bottom: 0.45rem;
}

.restaurant-create-fullscreen .restaurant-builder__palette .restaurant-builder-panel__title small {
    font-size: 0.7rem;
}

.restaurant-create-fullscreen .builder-template,
.restaurant-create-fullscreen .builder-tool-grid button,
.restaurant-create-fullscreen .builder-action-list button,
.restaurant-create-fullscreen .builder-preset-list button {
    min-height: 34px;
    padding: 0.42rem 0.48rem;
    font-size: 0.72rem;
}

.restaurant-create-fullscreen .builder-tool-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.38rem;
}

.restaurant-create-fullscreen .builder-tool-grid button {
    gap: 0.12rem;
}

.restaurant-create-fullscreen .builder-action-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.38rem;
}

.restaurant-create-fullscreen .builder-planner-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.restaurant-create-fullscreen .builder-mix-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.restaurant-create-fullscreen .builder-preset-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.restaurant-create-fullscreen .restaurant-builder-panel--ai .builder-ai {
    grid-template-columns: minmax(150px, 1fr) 210px;
    align-items: start;
}

.restaurant-create-fullscreen .restaurant-builder-panel--ai .builder-ai textarea {
    min-height: 76px;
}

.restaurant-create-fullscreen .restaurant-builder-panel--ai .builder-ai__chips,
.restaurant-create-fullscreen .restaurant-builder-panel--ai .builder-ai__constraints,
.restaurant-create-fullscreen .restaurant-builder-panel--ai .builder-ai__preview {
    display: none;
}

.restaurant-create-fullscreen .restaurant-builder-panel--ai .builder-ai__actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.restaurant-create-fullscreen .restaurant-builder__canvas {
    grid-column: 1;
    grid-row: 2;
}

.restaurant-create-fullscreen .restaurant-builder__inspector {
    grid-column: 2;
    grid-row: 2;
    min-height: 0;
    overflow: auto;
}

.restaurant-create-fullscreen .restaurant-builder__canvas {
    min-height: 0;
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.restaurant-create-fullscreen .builder-stage-wrap {
    min-height: 0;
    height: min(62vh, 720px);
    padding: 0.75rem;
}

.restaurant-create-fullscreen .restaurant-launch__side {
    position: fixed;
    top: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    z-index: 1060;
    width: min(420px, calc(100vw - 1.5rem));
    height: auto;
    padding: 0.75rem;
    overflow: auto;
    transform: translateX(calc(100% + 1rem));
    opacity: 0;
    pointer-events: none;
    transition: transform 180ms ease, opacity 180ms ease;
}

.restaurant-create-fullscreen .restaurant-launch.is-details-open .restaurant-launch__side {
    transform: translateX(0);
    opacity: 1;
    pointer-events: auto;
}

.restaurant-launch__drawer-scrim {
    display: none;
}

.restaurant-create-fullscreen .restaurant-launch.is-details-open .restaurant-launch__drawer-scrim {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: block;
    background: rgba(23, 32, 28, 0.18);
    backdrop-filter: blur(2px);
}

.restaurant-launch__drawer-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.7rem;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: var(--rl-soft);
}

.restaurant-launch__drawer-head strong,
.restaurant-launch__drawer-head span {
    display: block;
}

.restaurant-launch__drawer-head strong {
    color: var(--rl-ink);
    font-size: 0.95rem;
}

.restaurant-launch__drawer-head span {
    margin-top: 0.14rem;
    color: var(--rl-muted);
    font-size: 0.76rem;
    font-weight: 800;
}

.restaurant-launch__drawer-head button {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    color: var(--rl-ink);
    background: #ffffff;
}

.restaurant-create-fullscreen .restaurant-launch__section {
    padding: 0.75rem;
}

.restaurant-create-fullscreen .restaurant-launch__actions {
    position: sticky;
    bottom: -0.75rem;
    margin: 0 -0.75rem -0.75rem;
    padding: 0.75rem;
    border-top: 1px solid var(--rl-line);
    background: rgba(255, 255, 255, 0.96);
}

.restaurant-builder,
.restaurant-launch__side,
.restaurant-launch__section,
.restaurant-builder-panel {
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
    box-shadow: 0 14px 36px rgba(23, 32, 28, 0.07);
}

.restaurant-builder {
    overflow: hidden;
}

.restaurant-builder__hero {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.1rem;
    border-bottom: 1px solid var(--rl-line);
    background:
        linear-gradient(90deg, rgba(47, 125, 87, 0.08), transparent 38%),
        linear-gradient(180deg, #ffffff, #f8faf8);
}

.restaurant-launch__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    color: var(--rl-green);
    font-size: 0.72rem;
    font-weight: 900;
    text-transform: uppercase;
}

.restaurant-launch__eyebrow::before {
    content: "";
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 999px;
    background: var(--rl-green);
}

.restaurant-builder__hero h1 {
    margin: 0.35rem 0 0;
    color: var(--rl-ink);
    font-size: clamp(1.55rem, 2.2vw, 2.35rem);
    line-height: 1.08;
    letter-spacing: 0;
}

.restaurant-builder__hero p {
    max-width: 820px;
    margin: 0.45rem 0 0;
    color: var(--rl-muted);
    line-height: 1.45;
}

.restaurant-builder__hero-actions {
    display: grid;
    gap: 0.55rem;
    align-content: start;
}

.restaurant-builder__status {
    display: grid;
    grid-template-columns: repeat(3, minmax(86px, 1fr));
    gap: 0.5rem;
    min-width: 330px;
}

.restaurant-builder__status span {
    display: grid;
    gap: 0.18rem;
    min-height: 72px;
    padding: 0.68rem;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--rl-muted);
    font-size: 0.75rem;
    font-weight: 850;
}

.restaurant-builder__status i {
    color: var(--rl-blue);
}

.restaurant-builder__status strong {
    color: var(--rl-ink);
    font-size: 1.25rem;
}

.restaurant-builder__details-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.42rem;
    min-height: 38px;
    border: 1px solid rgba(47, 125, 87, 0.24);
    border-radius: 8px;
    color: var(--rl-green);
    background: rgba(47, 125, 87, 0.08);
    font-size: 0.8rem;
    font-weight: 900;
}

.restaurant-builder__details-button:hover,
.restaurant-builder__details-button[aria-expanded="true"] {
    color: #ffffff;
    background: var(--rl-green);
}

.restaurant-builder__shell {
    display: grid;
    grid-template-columns: 230px minmax(520px, 1fr) 275px;
    min-height: 720px;
}

.restaurant-builder__palette,
.restaurant-builder__inspector {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding: 0.75rem;
    background: var(--rl-soft);
}

.restaurant-builder__palette {
    border-right: 1px solid var(--rl-line);
}

.restaurant-builder__inspector {
    border-left: 1px solid var(--rl-line);
}

.restaurant-builder-panel {
    padding: 0.75rem;
    box-shadow: none;
}

.restaurant-builder-panel__title {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: start;
    margin-bottom: 0.65rem;
}

.restaurant-builder-panel__title span {
    color: var(--rl-ink);
    font-size: 0.9rem;
    font-weight: 950;
}

.restaurant-builder-panel__title small,
.builder-toolbar span,
.builder-warning,
.builder-ok,
.builder-layer-list small,
.restaurant-launch__section-head p,
.restaurant-launch__password,
.restaurant-launch-plan em,
.restaurant-launch-plan small {
    color: var(--rl-muted);
}

.builder-template-list,
.builder-tool-grid,
.builder-action-list,
.builder-planner-grid,
.builder-mix-grid,
.builder-preset-list,
.builder-station-list,
.builder-layer-list,
.builder-warning-list {
    display: grid;
    gap: 0.5rem;
}

.builder-template,
.builder-tool-grid button,
.builder-action-list button,
.builder-preset-list button,
.builder-layer,
.builder-station {
    min-height: 38px;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--rl-ink);
    font-size: 0.8rem;
    font-weight: 850;
}

.builder-template,
.builder-action-list button,
.builder-preset-list button,
.builder-layer,
.builder-station {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0.5rem;
    padding: 0.55rem 0.65rem;
    text-align: left;
}

.builder-template.is-active,
.builder-tool-grid button:hover,
.builder-action-list button:hover,
.builder-preset-list button:hover {
    border-color: rgba(47, 125, 87, 0.35);
    background: rgba(47, 125, 87, 0.08);
}

.builder-planner-grid,
.builder-mix-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.builder-planner-grid label,
.builder-mix-grid label {
    display: grid;
    gap: 0.28rem;
    margin: 0;
    color: var(--rl-muted);
    font-size: 0.7rem;
    font-weight: 900;
}

.builder-planner-grid input,
.builder-planner-grid select,
.builder-mix-grid input {
    width: 100%;
    min-height: 34px;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--rl-ink);
    padding: 0.35rem 0.45rem;
    font-size: 0.78rem;
    font-weight: 850;
}

.builder-preset-list {
    grid-template-columns: 1fr;
}

.builder-preset-list button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
}

.builder-tool-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.builder-tool-grid button {
    display: grid;
    place-items: center;
    gap: 0.25rem;
    padding: 0.55rem 0.35rem;
}

.builder-tool-grid i {
    color: var(--rl-blue);
    font-size: 1.05rem;
}

.restaurant-builder__canvas {
    min-width: 0;
    background: var(--rl-canvas);
}

.builder-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 0.85rem;
    align-items: center;
    min-height: 58px;
    padding: 0.65rem 0.8rem;
    border-bottom: 1px solid var(--rl-line);
    background: #ffffff;
}

.builder-toolbar strong,
.builder-toolbar span {
    display: block;
}

.builder-toolbar strong {
    font-size: 0.95rem;
    color: var(--rl-ink);
}

.builder-toolbar__tools {
    display: flex;
    align-items: center;
    gap: 0.45rem;
}

.builder-toolbar__tools button {
    width: 34px;
    height: 34px;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--rl-ink);
}

.builder-toolbar__tools button.is-active,
.builder-toolbar__tools button:hover {
    border-color: rgba(217, 87, 69, 0.32);
    color: var(--rl-coral);
}

.builder-toolbar__tools label {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0;
    color: var(--rl-muted);
    font-size: 0.75rem;
    font-weight: 850;
}

.builder-stage-wrap {
    overflow: auto;
    height: 662px;
    padding: 1rem;
}

.builder-stage-wrap .restro-3d {
    min-width: 720px;
    height: 100%;
}

.builder-stage {
    position: relative;
    width: 1280px;
    height: 820px;
    transform-origin: top left;
    border: 1px solid rgba(23, 32, 28, 0.16);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(23, 32, 28, 0.07) 1px, transparent 1px),
        linear-gradient(0deg, rgba(23, 32, 28, 0.07) 1px, transparent 1px),
        #fffefb;
    background-size: 20px 20px;
    box-shadow: inset 0 0 0 6px rgba(47, 125, 87, 0.035);
}

.builder-stage--source {
    position: absolute;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
}

.builder-zone {
    position: absolute;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.75rem;
    border: 1px dashed rgba(47, 125, 87, 0.24);
    border-radius: 8px;
    color: var(--rl-muted);
    background: rgba(47, 125, 87, 0.035);
    pointer-events: none;
}

.builder-zone strong,
.builder-zone span {
    display: block;
}

.builder-zone strong {
    color: var(--rl-ink);
    font-size: 0.82rem;
    font-weight: 950;
}

.builder-zone span {
    font-size: 0.75rem;
    font-weight: 850;
}

.builder-station-marker {
    position: absolute;
    display: grid;
    gap: 0.1rem;
    width: 145px;
    min-height: 54px;
    padding: 0.52rem 0.6rem;
    border: 1px solid color-mix(in srgb, var(--station-color, #2563eb) 46%, #ffffff);
    border-left-width: 5px;
    border-radius: 8px;
    color: var(--rl-ink);
    background: #ffffff;
    box-shadow: 0 8px 18px rgba(23, 32, 28, 0.08);
}

.builder-station-marker strong,
.builder-station-marker span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.builder-station-marker strong {
    font-size: 0.75rem;
    font-weight: 950;
}

.builder-station-marker span {
    color: var(--rl-muted);
    font-size: 0.68rem;
    font-weight: 850;
    text-transform: uppercase;
}

.builder-planner-notice {
    position: absolute;
    left: 70px;
    bottom: 28px;
    max-width: 540px;
    padding: 0.52rem 0.62rem;
    border: 1px solid rgba(47, 111, 159, 0.22);
    border-radius: 8px;
    color: var(--rl-blue);
    background: rgba(47, 111, 159, 0.08);
    font-size: 0.75rem;
    font-weight: 850;
}

.builder-planner-notice--warning {
    border-color: rgba(169, 121, 40, 0.28);
    color: #805a1e;
    background: rgba(169, 121, 40, 0.08);
}

.builder-item {
    position: absolute;
    display: grid;
    place-items: center;
    border: 2px solid var(--item-color, #64748b);
    border-radius: 8px;
    background: color-mix(in srgb, var(--item-color, #64748b) 12%, #ffffff);
    color: var(--rl-ink);
    font-size: 0.72rem;
    font-weight: 900;
    line-height: 1.1;
    text-align: center;
    touch-action: none;
    user-select: none;
    cursor: pointer;
}

.builder-item.is-selected {
    outline: 3px solid rgba(217, 87, 69, 0.22);
    box-shadow: 0 10px 24px rgba(23, 32, 28, 0.16);
}

.builder-item--room,
.builder-item--covered_area {
    place-items: start;
    padding: 0.5rem;
    border-style: dashed;
    background: color-mix(in srgb, var(--item-color, #e2e8f0) 20%, #ffffff);
}

.builder-item--kitchen,
.builder-item--station {
    color: #ffffff;
    background: color-mix(in srgb, var(--item-color, #dc2626) 76%, #111827);
}

.builder-item--wall,
.builder-item--divider,
.builder-item--service_path {
    border-radius: 6px;
}

.builder-item--table {
    border-width: 3px;
    background: #ffffff;
}

.builder-item--round,
.builder-item--patio,
.builder-item--communal {
    border-radius: 999px;
}

.builder-table__name,
.builder-table__meta {
    position: relative;
    z-index: 2;
    display: block;
}

.builder-table__meta {
    margin-top: 0.18rem;
    color: var(--rl-muted);
    font-size: 0.65rem;
}

.builder-seat {
    position: absolute;
    width: 12px;
    height: 12px;
    border: 2px solid #ffffff;
    border-radius: 999px;
    background: var(--item-color, #2f7d57);
    box-shadow: 0 2px 6px rgba(23, 32, 28, 0.18);
    pointer-events: none;
}

.builder-inspector-empty,
.builder-ok,
.builder-warning {
    padding: 0.65rem;
    border-radius: 8px;
    background: var(--rl-soft);
    font-size: 0.8rem;
    font-weight: 800;
}

.builder-warning {
    border: 1px solid rgba(217, 87, 69, 0.22);
    color: #9f2f23;
    background: rgba(217, 87, 69, 0.08);
}

.builder-ok {
    border: 1px solid rgba(47, 125, 87, 0.22);
    color: var(--rl-green);
    background: rgba(47, 125, 87, 0.08);
}

.builder-inspector-form {
    display: grid;
    gap: 0.55rem;
}

.builder-inspector-form label {
    display: grid;
    gap: 0.28rem;
    margin: 0;
    color: var(--rl-muted);
    font-size: 0.72rem;
    font-weight: 900;
}

.builder-inspector-form input,
.builder-inspector-form select {
    width: 100%;
    min-height: 36px;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--rl-ink);
    padding: 0.4rem 0.5rem;
}

.builder-inspector-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem;
}

.builder-station {
    border-left: 5px solid var(--station-color, var(--rl-blue));
}

.restaurant-builder-panel--ai {
    border-color: rgba(47, 111, 159, 0.2);
    background:
        linear-gradient(180deg, rgba(47, 111, 159, 0.06), transparent 42%),
        #ffffff;
}

.builder-ai {
    display: grid;
    gap: 0.55rem;
}

.builder-ai textarea {
    width: 100%;
    min-height: 112px;
    resize: vertical;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--rl-ink);
    padding: 0.65rem;
    font-size: 0.8rem;
    line-height: 1.4;
}

.builder-ai textarea:focus {
    border-color: rgba(47, 111, 159, 0.45);
    outline: 3px solid rgba(47, 111, 159, 0.12);
}

.builder-ai__chips,
.builder-ai__actions,
.builder-ai__constraints,
.builder-ai__stats {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.builder-ai__chips button,
.builder-ai__actions button,
.builder-ai__apply {
    min-height: 34px;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--rl-ink);
    font-size: 0.74rem;
    font-weight: 900;
}

.builder-ai__chips button {
    padding: 0.35rem 0.5rem;
    color: var(--rl-muted);
}

.builder-ai__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.builder-ai__constraints {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.builder-ai__constraints label {
    display: grid;
    gap: 0.24rem;
    margin: 0;
    color: var(--rl-muted);
    font-size: 0.68rem;
    font-weight: 900;
}

.builder-ai__constraints input,
.builder-ai__constraints select {
    width: 100%;
    min-height: 32px;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
    color: var(--rl-ink);
    padding: 0.32rem 0.45rem;
    font-size: 0.74rem;
}

.builder-ai__constraints .builder-ai__toggle {
    display: flex;
    align-items: center;
    gap: 0.38rem;
    min-height: 32px;
    padding: 0.4rem 0.5rem;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: #ffffff;
}

.builder-ai__actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    padding: 0.45rem 0.5rem;
}

.builder-ai__actions button:hover,
.builder-ai__chips button:hover,
.builder-ai__apply:hover {
    border-color: rgba(47, 111, 159, 0.35);
    background: rgba(47, 111, 159, 0.07);
}

.builder-ai__actions button:disabled,
.builder-ai__apply:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.builder-ai__preview {
    min-height: 82px;
    padding: 0.65rem;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: var(--rl-soft);
    color: var(--rl-muted);
    font-size: 0.76rem;
    font-weight: 800;
    line-height: 1.45;
}

.builder-ai__preview strong,
.builder-ai__preview p,
.builder-ai__preview ul {
    margin: 0;
}

.builder-ai__preview ul {
    padding-left: 1rem;
}

.builder-ai__preview[data-tone="success"] {
    border-color: rgba(47, 125, 87, 0.24);
    background: rgba(47, 125, 87, 0.08);
    color: var(--rl-green);
}

.builder-ai__preview[data-tone="warning"] {
    border-color: rgba(169, 121, 40, 0.28);
    background: rgba(169, 121, 40, 0.08);
    color: #805a1e;
}

.builder-ai__preview[data-tone="danger"] {
    border-color: rgba(217, 87, 69, 0.26);
    background: rgba(217, 87, 69, 0.08);
    color: #9f2f23;
}

.builder-ai__preview[data-tone="loading"] {
    border-color: rgba(47, 111, 159, 0.28);
    background: rgba(47, 111, 159, 0.08);
    color: var(--rl-blue);
}

.builder-ai__stats {
    margin-top: 0.45rem;
}

.builder-ai__stats span {
    padding: 0.18rem 0.4rem;
    border-radius: 999px;
    background: #ffffff;
    color: var(--rl-ink);
    font-size: 0.68rem;
}

.builder-ai__apply {
    width: 100%;
    padding: 0.55rem;
    color: #ffffff;
    background: var(--rl-blue);
    border-color: var(--rl-blue);
}

.builder-readiness {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.85rem;
    min-height: 70px;
    padding: 0.65rem 0.8rem;
    border-top: 1px solid var(--rl-line);
    background: #ffffff;
}

.builder-readiness__score {
    display: grid;
    gap: 0.1rem;
    min-width: 118px;
}

.builder-readiness__score span {
    color: var(--rl-ink);
    font-size: 1.35rem;
    font-weight: 950;
    line-height: 1;
}

.builder-readiness__score span[data-tone="success"] {
    color: var(--rl-green);
}

.builder-readiness__score span[data-tone="warning"] {
    color: var(--rl-brass);
}

.builder-readiness__score span[data-tone="danger"] {
    color: var(--rl-coral);
}

.builder-readiness__score small,
.builder-readiness__checks span {
    color: var(--rl-muted);
    font-size: 0.74rem;
    font-weight: 900;
}

.builder-readiness__checks {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.45rem;
}

.builder-readiness__checks span {
    display: inline-flex;
    align-items: center;
    gap: 0.34rem;
    min-height: 32px;
    padding: 0.35rem 0.55rem;
    border: 1px solid var(--rl-line);
    border-radius: 999px;
    background: var(--rl-soft);
}

.builder-readiness__checks span.is-ok {
    color: var(--rl-green);
    border-color: rgba(47, 125, 87, 0.24);
    background: rgba(47, 125, 87, 0.08);
}

.builder-readiness__checks span.is-risk {
    color: var(--rl-coral);
    border-color: rgba(217, 87, 69, 0.22);
    background: rgba(217, 87, 69, 0.07);
}

.builder-minimap {
    position: relative;
    height: 140px;
    overflow: hidden;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background:
        linear-gradient(90deg, rgba(23, 32, 28, 0.05) 1px, transparent 1px),
        linear-gradient(0deg, rgba(23, 32, 28, 0.05) 1px, transparent 1px),
        #fffefb;
    background-size: 10px 10px;
}

.builder-minimap__object,
.builder-minimap__table {
    position: absolute;
    display: block;
    border-radius: 4px;
    background: color-mix(in srgb, var(--mini-color, #64748b) 42%, #ffffff);
}

.builder-minimap__table {
    border: 1px solid var(--rl-green);
    background: rgba(47, 125, 87, 0.2);
}

.builder-station strong,
.builder-layer strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.builder-layer {
    min-width: 0;
}

.builder-layer.is-active {
    border-color: rgba(47, 125, 87, 0.34);
    background: rgba(47, 125, 87, 0.08);
}

.restaurant-launch__side {
    position: sticky;
    top: 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    padding: 0.85rem;
}

.restaurant-launch__section {
    padding: 0.9rem;
    box-shadow: none;
}

.restaurant-launch__section-head {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 0.65rem;
    align-items: start;
    margin-bottom: 0.8rem;
}

.restaurant-launch__step {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--rl-ink);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 950;
}

.restaurant-launch__section-head h2 {
    margin: 0;
    color: var(--rl-ink);
    font-size: 1rem;
    line-height: 1.2;
}

.restaurant-launch__section-head p {
    margin: 0.18rem 0 0;
    font-size: 0.78rem;
    line-height: 1.35;
}

.restaurant-launch .mui-input-shell,
.restaurant-launch .mut-textarea-shell {
    background: var(--rl-soft);
}

.restaurant-launch__password {
    display: flex;
    gap: 0.45rem;
    align-items: center;
    margin-top: 0.75rem;
    padding: 0.55rem 0.65rem;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: var(--rl-soft);
    font-size: 0.78rem;
    font-weight: 850;
}

.restaurant-launch__password.is-match {
    color: var(--rl-green);
    border-color: rgba(47, 125, 87, 0.25);
    background: rgba(47, 125, 87, 0.08);
}

.restaurant-launch__password.is-mismatch {
    color: var(--rl-coral);
    border-color: rgba(217, 87, 69, 0.25);
    background: rgba(217, 87, 69, 0.08);
}

.restaurant-launch-plans {
    display: grid;
    gap: 0.55rem;
}

.restaurant-launch-plan {
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 0.6rem;
    padding: 0.7rem;
    border: 1px solid var(--rl-line);
    border-radius: 8px;
    background: var(--rl-soft);
    cursor: pointer;
}

.restaurant-launch-plan.is-selected {
    border-color: rgba(47, 125, 87, 0.35);
    background: rgba(47, 125, 87, 0.08);
}

.restaurant-launch-plan__input {
    position: absolute;
    opacity: 0;
}

.restaurant-launch-plan__dot {
    width: 18px;
    height: 18px;
    margin-top: 0.1rem;
    border: 2px solid rgba(23, 32, 28, 0.25);
    border-radius: 999px;
    background: #ffffff;
}

.restaurant-launch-plan.is-selected .restaurant-launch-plan__dot {
    border-color: var(--rl-green);
    background: var(--rl-green);
    box-shadow: inset 0 0 0 5px #ffffff;
}

.restaurant-launch-plan strong,
.restaurant-launch-plan em,
.restaurant-launch-plan small {
    display: block;
}

.restaurant-launch-plan strong {
    color: var(--rl-ink);
    font-size: 0.88rem;
}

.restaurant-launch-plan em {
    margin-top: 0.18rem;
    font-style: normal;
    font-size: 0.76rem;
    font-weight: 850;
}

.restaurant-launch-plan small {
    margin-top: 0.25rem;
    font-size: 0.72rem;
    line-height: 1.35;
}

.restaurant-launch__empty {
    display: flex;
    gap: 0.55rem;
    align-items: center;
    padding: 0.65rem;
    border: 1px dashed rgba(217, 87, 69, 0.3);
    border-radius: 8px;
    color: var(--rl-coral);
    background: rgba(217, 87, 69, 0.07);
    font-size: 0.8rem;
    font-weight: 850;
}

.restaurant-launch__actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 0.6rem;
}

.restaurant-launch__actions .btn {
    min-height: 40px;
}

@media (max-width: 1320px) {
    .restaurant-create-fullscreen {
        overflow: auto;
    }

    .restaurant-create-fullscreen .restaurant-launch {
        height: auto;
    }

    .restaurant-launch {
        grid-template-columns: 1fr;
    }

    .restaurant-launch__side {
        position: static;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .restaurant-create-fullscreen .restaurant-launch__side {
        height: auto;
        position: fixed;
        top: 0.5rem;
        right: 0.5rem;
        bottom: 0.5rem;
        display: flex;
        grid-template-columns: none;
        width: min(420px, calc(100vw - 1rem));
    }

    .restaurant-launch__actions {
        grid-column: 1 / -1;
    }
}

@media (max-width: 1080px) {
    .restaurant-create-studio__topbar {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .restaurant-create-fullscreen .restaurant-builder__shell {
        grid-template-columns: 1fr;
        grid-template-rows: auto minmax(540px, 1fr) auto;
    }

    .restaurant-create-fullscreen .restaurant-builder__palette {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        overflow: visible;
    }

    .restaurant-create-fullscreen .restaurant-builder__canvas,
    .restaurant-create-fullscreen .restaurant-builder__inspector {
        grid-column: 1;
    }

    .restaurant-create-fullscreen .restaurant-builder__canvas {
        grid-row: 2;
    }

    .restaurant-create-fullscreen .restaurant-builder__inspector {
        grid-row: 3;
        max-height: 360px;
    }

    .restaurant-builder__hero {
        display: grid;
    }

    .restaurant-builder__status {
        min-width: 0;
    }

    .restaurant-builder__shell {
        grid-template-columns: 1fr;
    }

    .restaurant-builder__palette,
    .restaurant-builder__inspector {
        border: 0;
    }
}

@media (max-width: 760px) {
    .restaurant-create-studio {
        padding: 0.5rem;
    }

    .restaurant-builder__status,
    .restaurant-launch__side {
        grid-template-columns: 1fr;
    }

    .builder-stage-wrap {
        height: 540px;
    }
}

/* Guided 3D restaurant setup */
.restaurant-launch.setup-wizard {
    position: relative;
    display: block !important;
    width: 100%;
    min-width: 0;
    border: 1px solid #dce4df;
    border-radius: 8px;
    background: #f4f7f5;
    box-shadow: 0 18px 52px rgba(27, 44, 35, .09);
    overflow: hidden;
}

.setup-wizard__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 22px;
    border-bottom: 1px solid #e2e8e4;
    background: #fff;
}

.setup-wizard__brand,
.setup-wizard__header-actions,
.setup-wizard__totals,
.setup-wizard__footer,
.setup-wizard__footer > div,
.setup-wizard__scene-head,
.setup-wizard__scene-tools,
.setup-wizard__panel-head,
.setup-details-card,
.setup-ai-card__title,
.setup-ai-card__actions,
.setup-table-group-head,
.setup-table-actions,
.setup-wizard__insights section > header {
    display: flex;
    align-items: center;
}

.setup-wizard__brand {
    min-width: 0;
    gap: 13px;
}

.setup-wizard__brand-icon {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 7px;
    background: #17261f;
    color: #fff;
    font-size: 20px;
}

.setup-wizard__brand h1 {
    margin: 2px 0 3px;
    color: #18231e;
    font-size: clamp(20px, 2vw, 29px);
    line-height: 1.12;
    letter-spacing: 0;
}

.setup-wizard__brand p {
    max-width: 720px;
    margin: 0;
    color: #708078;
    font-size: 13px;
}

.setup-wizard__header-actions {
    flex: 0 0 auto;
    gap: 12px;
}

.setup-wizard__totals {
    gap: 4px;
    padding: 5px;
    border: 1px solid #e1e7e3;
    border-radius: 7px;
    background: #f8faf9;
}

.setup-wizard__totals span {
    display: grid;
    min-width: 66px;
    padding: 4px 9px;
    border-right: 1px solid #e3e9e5;
    color: #76827c;
    font-size: 10px;
    text-transform: uppercase;
}

.setup-wizard__totals span:last-child {
    border-right: 0;
}

.setup-wizard__totals strong {
    color: #26342d;
    font-size: 15px;
}

.setup-wizard__details-button,
.setup-wizard__nav,
.setup-wizard__cancel,
.setup-add-row,
.setup-table-actions button,
.setup-ai-card__actions button,
.setup-launch-button {
    border-radius: 6px;
    font-weight: 800;
}

.setup-wizard__details-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 13px;
    border: 1px solid #d4ddd8;
    background: #fff;
    color: #26362e;
}

.setup-wizard__steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-bottom: 1px solid #dfe6e2;
    background: #fff;
}

.setup-wizard__step {
    position: relative;
    display: grid;
    grid-template-columns: auto auto 1fr;
    align-items: center;
    gap: 8px;
    min-height: 54px;
    padding: 10px 14px;
    border: 0;
    border-right: 1px solid #edf0ee;
    background: #fff;
    color: #7c8781;
    text-align: left;
}

.setup-wizard__step::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: -1px;
    left: 0;
    height: 3px;
    background: transparent;
}

.setup-wizard__step > span {
    display: grid;
    width: 24px;
    height: 24px;
    place-items: center;
    border: 1px solid #dbe2de;
    border-radius: 5px;
    font-size: 10px;
    font-weight: 900;
}

.setup-wizard__step i {
    font-size: 14px;
}

.setup-wizard__step strong {
    overflow: hidden;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.setup-wizard__step.is-active {
    color: #17663f;
    background: #f4faf6;
}

.setup-wizard__step.is-active::after {
    background: #218354;
}

.setup-wizard__step.is-active > span,
.setup-wizard__step.is-complete > span {
    border-color: #218354;
    background: #218354;
    color: #fff;
}

.setup-wizard__workspace {
    display: grid;
    grid-template-columns: minmax(290px, 330px) minmax(520px, 1fr) minmax(220px, 258px);
    min-height: 690px;
    background: #f4f7f5;
}

.setup-wizard__controls {
    min-width: 0;
    border-right: 1px solid #dde5e0;
    background: #fff;
}

.setup-wizard__panel {
    display: none;
    height: 100%;
    max-height: 760px;
    overflow-y: auto;
    padding: 20px;
    scrollbar-width: thin;
}

.setup-wizard__panel.is-active {
    display: block;
}

.setup-wizard__panel-head {
    align-items: flex-start;
    gap: 11px;
    margin-bottom: 20px;
}

.setup-wizard__panel-head > span {
    display: grid;
    flex: 0 0 34px;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 6px;
    background: #18261f;
    color: #fff;
    font-size: 11px;
    font-weight: 900;
}

.setup-wizard__panel-head h2 {
    margin: 0 0 4px;
    color: #19261f;
    font-size: 17px;
    letter-spacing: 0;
}

.setup-wizard__panel-head p {
    margin: 0;
    color: #75817b;
    font-size: 12px;
    line-height: 1.45;
}

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

.setup-choice {
    display: grid;
    min-height: 76px;
    place-items: center;
    gap: 5px;
    padding: 10px;
    border: 1px solid #dde4e0;
    border-radius: 7px;
    background: #fff;
    color: #516159;
    font-size: 11px;
    font-weight: 800;
}

.setup-choice i {
    font-size: 20px;
}

.setup-choice.is-selected {
    border-color: #2e845b;
    background: #edf7f1;
    box-shadow: inset 0 0 0 1px #2e845b;
    color: #1d6945;
}

.setup-details-card {
    width: 100%;
    gap: 11px;
    margin-top: 14px;
    padding: 13px;
    border: 1px solid #dbe3de;
    border-radius: 7px;
    background: #f8faf9;
    color: #25342d;
    text-align: left;
}

.setup-details-card__icon {
    display: grid;
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 6px;
    background: #fff;
    color: #25784f;
    box-shadow: 0 3px 10px rgba(28, 54, 40, .08);
}

.setup-details-card > span:nth-child(2) {
    display: grid;
    flex: 1;
}

.setup-details-card strong {
    font-size: 13px;
}

.setup-details-card small {
    color: #7a8780;
    font-size: 10px;
}

.setup-ai-card {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #d9e1dc;
    border-radius: 7px;
    background: #fff;
}

.setup-ai-card__title {
    gap: 9px;
    margin-bottom: 10px;
}

.setup-ai-card__title > i {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 6px;
    background: #f1eefb;
    color: #6a50bb;
}

.setup-ai-card__title span {
    display: grid;
}

.setup-ai-card__title strong {
    color: #28342e;
    font-size: 12px;
}

.setup-ai-card__title small,
.setup-ai-card__preview {
    color: #79867f;
    font-size: 10px;
}

.setup-ai-card textarea {
    width: 100%;
    min-height: 88px;
    padding: 10px;
    resize: vertical;
    border: 1px solid #d8e0dc;
    border-radius: 6px;
    color: #2e3a34;
    font-size: 11px;
}

.setup-ai-card__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin: 8px 0;
}

.setup-ai-card__chips button {
    padding: 4px 7px;
    border: 1px solid #ded9ef;
    border-radius: 5px;
    background: #f8f6fd;
    color: #675c80;
    font-size: 9px;
    font-weight: 800;
}

.setup-ai-card__actions {
    gap: 6px;
}

.setup-ai-card__actions button {
    flex: 1;
    padding: 8px;
    border: 1px solid #d9d2eb;
    background: #f5f2fc;
    color: #594493;
    font-size: 10px;
}

.setup-ai-card__actions button:disabled {
    cursor: not-allowed;
    opacity: .55;
}

.setup-ai-card__preview {
    display: grid;
    gap: 3px;
    margin-top: 9px;
    padding: 9px;
    border-radius: 5px;
    background: #f6f8f7;
    line-height: 1.45;
}

.setup-number-field {
    display: grid;
    gap: 8px;
    margin-bottom: 15px;
    color: #536159;
    font-size: 11px;
    font-weight: 800;
}

.setup-number-field > div {
    display: grid;
    grid-template-columns: 42px 1fr 42px;
    border: 1px solid #d7e0da;
    border-radius: 7px;
    overflow: hidden;
}

.setup-number-field button,
.setup-number-field input {
    min-height: 46px;
    border: 0;
    background: #fff;
    color: #26372e;
    text-align: center;
}

.setup-number-field button {
    background: #f3f6f4;
    font-size: 16px;
}

.setup-number-field input {
    border-right: 1px solid #dfe5e1;
    border-left: 1px solid #dfe5e1;
    font-size: 18px;
    font-weight: 900;
}

.setup-floor-name-list,
.setup-station-editor,
.setup-table-groups,
.setup-floor-overview,
.builder-station-list,
.builder-warning-list {
    display: grid;
    gap: 8px;
}

.setup-floor-name {
    display: grid;
    grid-template-columns: 52px 1fr;
    align-items: center;
    border: 1px solid #dce4df;
    border-radius: 7px;
    background: #fff;
    overflow: hidden;
}

.setup-floor-name > span {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    height: 100%;
    background: #f3f6f4;
    color: #66766e;
    font-size: 10px;
    font-weight: 900;
}

.setup-floor-name input {
    min-width: 0;
    padding: 12px;
    border: 0;
    color: #29372f;
    font-size: 12px;
    font-weight: 800;
}

.setup-floor-name.is-active {
    border-color: #398760;
    box-shadow: inset 0 0 0 1px #398760;
}

.setup-floor-tip {
    display: flex;
    gap: 8px;
    margin-top: 13px;
    padding: 10px;
    border-left: 3px solid #d39a25;
    background: #fffaf0;
    color: #756033;
    font-size: 10px;
    line-height: 1.45;
}

.setup-floor-tabs {
    display: flex;
    gap: 6px;
    margin-bottom: 14px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.setup-floor-tabs button {
    display: grid;
    flex: 0 0 auto;
    min-width: 118px;
    gap: 2px;
    padding: 9px;
    border: 1px solid #dce3df;
    border-radius: 6px;
    background: #fff;
    color: #526159;
    text-align: left;
}

.setup-floor-tabs strong {
    max-width: 120px;
    overflow: hidden;
    font-size: 11px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.setup-floor-tabs span {
    color: #839087;
    font-size: 9px;
}

.setup-floor-tabs button.is-active {
    border-color: #32835b;
    background: #edf7f1;
    color: #1e6b47;
}

.setup-table-group-head {
    justify-content: space-between;
    margin: 4px 0 7px;
    color: #324139;
    font-size: 11px;
    font-weight: 900;
}

.setup-table-group-head small {
    color: #869188;
    font-size: 9px;
}

.setup-table-group {
    display: grid;
    grid-template-columns: 68px 74px minmax(92px, 1fr) 30px;
    align-items: end;
    gap: 6px;
    padding: 9px;
    border: 1px solid #dce3df;
    border-radius: 7px;
    background: #fff;
}

.setup-table-group label,
.setup-station-card label {
    display: grid;
    min-width: 0;
    gap: 4px;
    color: #78857e;
    font-size: 9px;
    font-weight: 800;
}

.setup-table-group input,
.setup-table-group select,
.setup-station-card input,
.setup-station-card select {
    width: 100%;
    min-height: 35px;
    min-width: 0;
    padding: 6px 7px;
    border: 1px solid #dbe2de;
    border-radius: 5px;
    background: #fbfcfb;
    color: #344139;
    font-size: 10px;
}

.setup-table-group > button {
    display: grid;
    width: 30px;
    height: 35px;
    place-items: center;
    border: 1px solid #efd7d4;
    border-radius: 5px;
    background: #fff5f4;
    color: #b84d43;
}

.setup-add-row {
    width: 100%;
    margin-top: 9px;
    padding: 10px;
    border: 1px dashed #9fb7a9;
    background: #f7faf8;
    color: #2d7451;
    font-size: 10px;
}

.setup-table-actions {
    gap: 7px;
    margin-top: 9px;
}

.setup-table-actions button {
    flex: 1;
    padding: 8px;
    border: 1px solid #d8e0dc;
    background: #fff;
    color: #5d6b64;
    font-size: 10px;
}

.setup-station-card {
    display: grid;
    grid-template-columns: 30px 1fr 104px;
    gap: 8px;
    padding: 10px;
    border: 1px solid #dce3df;
    border-left: 4px solid var(--station-color);
    border-radius: 7px;
    background: #fff;
}

.setup-station-card__number {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 5px;
    background: color-mix(in srgb, var(--station-color) 12%, white);
    color: var(--station-color);
    font-size: 9px;
    font-weight: 900;
}

.setup-station-card__floors {
    grid-column: 2 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    padding-top: 7px;
    border-top: 1px solid #edf0ee;
    color: #617067;
    font-size: 9px;
}

.setup-station-card__floors > span {
    width: 100%;
    color: #7b8780;
    font-weight: 900;
    text-transform: uppercase;
}

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

.setup-review-grid article {
    display: grid;
    grid-template-columns: 28px 1fr;
    gap: 2px 8px;
    padding: 11px;
    border: 1px solid #dce3df;
    border-radius: 7px;
    background: #fff;
}

.setup-review-grid i {
    grid-row: 1 / 3;
    align-self: center;
    color: #287b54;
    font-size: 17px;
}

.setup-review-grid span {
    color: #7b8780;
    font-size: 9px;
    text-transform: uppercase;
}

.setup-review-grid strong {
    color: #27362e;
    font-size: 14px;
}

.setup-readiness-card {
    display: grid;
    grid-template-columns: 88px 1fr;
    gap: 12px;
    margin-top: 12px;
    padding: 13px;
    border: 1px solid #dbe3de;
    border-radius: 7px;
    background: #f8faf9;
}

.setup-readiness-card > div {
    display: grid;
    align-content: center;
    border-right: 1px solid #dfe5e1;
}

.setup-readiness-card strong {
    color: #24774e;
    font-size: 24px;
}

.setup-readiness-card span,
.setup-readiness-card li {
    color: #6f7d75;
    font-size: 9px;
}

.setup-readiness-card ul {
    display: grid;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.setup-readiness-card li.is-ok {
    color: #21744b;
}

.setup-readiness-card li.is-risk {
    color: #b55a43;
}

.setup-launch-button {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 12px;
    padding: 13px;
    border: 0;
    background: #18261f;
    color: #fff;
}

.setup-wizard__scene {
    min-width: 0;
    padding: 14px;
    background: #eef2ef;
}

.setup-wizard__scene-head {
    justify-content: space-between;
    gap: 12px;
    min-height: 48px;
    padding: 0 4px 10px;
}

.setup-wizard__scene-head > div:first-child {
    display: grid;
}

.setup-wizard__scene-head span {
    color: #718078;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.setup-wizard__scene-head strong {
    color: #26352d;
    font-size: 14px;
}

.setup-wizard__scene-tools {
    gap: 5px;
}

.setup-wizard__scene-tools button {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #d5ded8;
    border-radius: 6px;
    background: #fff;
    color: #52645a;
}

.setup-wizard__stage-wrap {
    position: relative;
    height: calc(100% - 48px);
    min-height: 610px;
}

.setup-wizard__stage-wrap .restro-3d-mount--setup {
    height: 100%;
    min-height: 610px;
}

.setup-wizard__scene-hint {
    position: absolute;
    right: 14px;
    bottom: 14px;
    z-index: 4;
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 7px 9px;
    border: 1px solid rgba(49, 66, 57, .14);
    border-radius: 5px;
    background: rgba(255, 255, 255, .9);
    color: #718078;
    font-size: 9px;
    backdrop-filter: blur(8px);
}

.setup-wizard__insights {
    min-width: 0;
    padding: 14px;
    border-left: 1px solid #dde4df;
    background: #fff;
}

.setup-wizard__insights section {
    margin-bottom: 11px;
    padding-bottom: 11px;
    border-bottom: 1px solid #e7ebe8;
}

.setup-wizard__insights section:last-child {
    border-bottom: 0;
}

.setup-wizard__insights section > header {
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 8px;
}

.setup-wizard__insights header span {
    color: #2c3a32;
    font-size: 11px;
    font-weight: 900;
}

.setup-wizard__insights header small {
    color: #8a958e;
    font-size: 8px;
    text-transform: uppercase;
}

.setup-floor-overview button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 7px;
    width: 100%;
    padding: 9px;
    border: 1px solid #e0e6e2;
    border-radius: 6px;
    background: #fff;
    color: #48584f;
    text-align: left;
}

.setup-floor-overview button > span {
    display: grid;
}

.setup-floor-overview strong {
    max-width: 130px;
    overflow: hidden;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.setup-floor-overview small,
.setup-floor-overview em {
    color: #849087;
    font-size: 8px;
    font-style: normal;
}

.setup-floor-overview button.is-active {
    border-color: #3a8962;
    background: #eef8f2;
    color: #1f6d48;
}

.builder-station {
    position: relative;
    display: grid;
    gap: 2px;
    padding: 9px 9px 9px 13px;
    border: 1px solid #e0e5e2;
    border-radius: 6px;
    background: #fff;
}

.builder-station::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: 5px;
    width: 3px;
    border-radius: 3px;
    background: var(--station-color);
}

.builder-station strong {
    color: #344139;
    font-size: 10px;
}

.builder-station small {
    color: #879188;
    font-size: 8px;
}

.builder-warning,
.builder-ok {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    padding: 9px;
    border-radius: 6px;
    font-size: 9px;
    line-height: 1.4;
}

.builder-warning {
    border: 1px solid #efd7cc;
    background: #fff7f2;
    color: #a04e3a;
}

.builder-ok {
    border: 1px solid #cfe5d7;
    background: #f0f8f3;
    color: #28744e;
}

.setup-wizard__footer {
    position: sticky;
    z-index: 8;
    bottom: 0;
    justify-content: space-between;
    gap: 16px;
    min-height: 62px;
    padding: 10px 18px;
    border-top: 1px solid #dce4df;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 -7px 22px rgba(33, 50, 41, .07);
    backdrop-filter: blur(10px);
}

.setup-wizard__footer > div:first-child {
    display: grid;
}

.setup-wizard__footer strong {
    color: #2a3931;
    font-size: 12px;
}

.setup-wizard__footer span {
    color: #87928b;
    font-size: 9px;
}

.setup-wizard__footer > div:last-child {
    gap: 7px;
}

.setup-wizard__nav,
.setup-wizard__cancel {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid #d6ded9;
    background: #fff;
    color: #536259;
    font-size: 10px;
    text-decoration: none;
}

.setup-wizard__nav--primary {
    border-color: #1f7149;
    background: #1f7149;
    color: #fff;
}

.setup-wizard__nav:disabled {
    opacity: .45;
}

.restaurant-launch.setup-wizard .restaurant-launch__side {
    position: fixed !important;
    z-index: 1060;
    top: 12px;
    right: 12px;
    bottom: 12px;
    display: flex !important;
    width: min(420px, calc(100vw - 24px));
    height: auto !important;
    max-height: none;
    flex-direction: column;
    overflow-y: auto;
    padding: 0;
    border: 1px solid #d6ded9;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 24px 70px rgba(20, 33, 27, .26);
    transform: translateX(calc(100% + 28px));
    transition: transform .2s ease;
}

.restaurant-launch.setup-wizard.is-details-open .restaurant-launch__side {
    transform: translateX(0);
}

.restaurant-launch.setup-wizard .restaurant-launch__drawer-scrim {
    position: fixed;
    z-index: 1050;
    inset: 0;
    display: block;
    visibility: hidden;
    background: rgba(25, 37, 31, .32);
    opacity: 0;
    transition: opacity .2s ease, visibility .2s ease;
}

.restaurant-launch.setup-wizard.is-details-open .restaurant-launch__drawer-scrim {
    visibility: visible;
    opacity: 1;
}

.restaurant-launch.setup-wizard .restaurant-launch__drawer-head {
    position: sticky;
    z-index: 2;
    top: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 16px;
    border-bottom: 1px solid #e2e7e4;
    background: #fff;
}

.restaurant-launch.setup-wizard .restaurant-launch__drawer-head > div {
    display: grid;
}

.restaurant-launch.setup-wizard .restaurant-launch__drawer-head strong {
    color: #26352d;
    font-size: 14px;
}

.restaurant-launch.setup-wizard .restaurant-launch__drawer-head span {
    color: #7e8a83;
    font-size: 10px;
}

.restaurant-launch.setup-wizard .restaurant-launch__drawer-head button {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid #dfe5e1;
    border-radius: 6px;
    background: #fff;
    color: #526159;
}

.restaurant-launch.setup-wizard .restaurant-launch__section {
    padding: 16px;
    border-bottom: 1px solid #e8ece9;
}

.restaurant-launch.setup-wizard .restaurant-launch__actions {
    position: sticky;
    bottom: 0;
    margin-top: auto;
    padding: 12px 16px;
    background: #fff;
}

@media (max-width: 1280px) {
    .setup-wizard__workspace {
        grid-template-columns: minmax(290px, 330px) minmax(500px, 1fr);
    }

    .setup-wizard__insights {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 14px;
        border-top: 1px solid #dde4df;
        border-left: 0;
    }

    .setup-wizard__insights section {
        margin: 0;
        border: 0;
    }
}

@media (max-width: 980px) {
    .setup-wizard__header {
        align-items: flex-start;
    }

    .setup-wizard__header-actions {
        display: grid;
    }

    .setup-wizard__totals {
        display: none;
    }

    .setup-wizard__step {
        grid-template-columns: auto 1fr;
    }

    .setup-wizard__step i {
        display: none;
    }

    .setup-wizard__workspace {
        grid-template-columns: 1fr;
    }

    .setup-wizard__controls {
        border-right: 0;
        border-bottom: 1px solid #dde4df;
    }

    .setup-wizard__panel {
        max-height: none;
    }

    .setup-wizard__scene {
        min-height: 600px;
    }

    .setup-wizard__insights {
        grid-column: 1;
    }
}

@media (max-width: 680px) {
    .public-signup-page.container {
        padding: 0;
    }

    .restaurant-launch.setup-wizard {
        border-right: 0;
        border-left: 0;
        border-radius: 0;
    }

    .setup-wizard__header {
        display: grid;
        padding: 14px;
    }

    .setup-wizard__brand p,
    .setup-wizard__details-button span,
    .setup-wizard__step strong {
        display: none;
    }

    .setup-wizard__header-actions {
        position: absolute;
        top: 17px;
        right: 14px;
    }

    .setup-wizard__details-button {
        width: 38px;
        height: 38px;
        justify-content: center;
        padding: 0;
    }

    .setup-wizard__step {
        grid-template-columns: 1fr;
        justify-items: center;
        padding: 8px;
    }

    .setup-wizard__panel {
        padding: 16px;
    }

    .setup-wizard__scene {
        min-height: 520px;
        padding: 8px;
    }

    .setup-wizard__stage-wrap,
    .setup-wizard__stage-wrap .restro-3d-mount--setup {
        min-height: 470px;
    }

    .setup-wizard__scene-hint {
        display: none;
    }

    .setup-wizard__insights {
        grid-template-columns: 1fr;
    }

    .setup-wizard__footer {
        padding: 9px 10px;
    }

    .setup-wizard__footer > div:first-child,
    .setup-wizard__cancel {
        display: none;
    }

    .setup-wizard__footer > div:last-child {
        width: 100%;
    }

    .setup-wizard__nav {
        flex: 1;
    }

    .setup-station-card {
        grid-template-columns: 30px 1fr;
    }

    .setup-station-card > label:nth-of-type(2) {
        grid-column: 2;
    }

    .setup-station-card__floors {
        grid-column: 1 / -1;
    }
}

/* Guided setup: keep the restaurant itself as the primary workspace. */
.restaurant-launch.setup-wizard {
    background: #f3f6f4;
    box-shadow: 0 24px 60px rgba(28, 47, 37, .1);
}

.setup-wizard__header {
    min-height: 94px;
    padding: 18px 24px;
}

.setup-wizard__brand h1 {
    font-size: clamp(22px, 1.8vw, 30px);
}

.setup-wizard__brand p {
    max-width: 660px;
    font-size: 12px;
    line-height: 1.5;
}

.setup-wizard__totals {
    padding: 4px;
    border-color: #dbe5df;
    background: #ffffff;
}

.setup-wizard__totals span {
    min-width: 58px;
    justify-items: center;
    padding: 4px 8px;
}

.setup-wizard__totals strong {
    font-size: 16px;
    line-height: 1.1;
}

.setup-wizard__totals small {
    color: #7d8982;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.setup-wizard__steps {
    background: #fbfcfb;
}

.setup-wizard__step {
    min-height: 58px;
    padding-inline: 18px;
    background: transparent;
}

.setup-wizard__workspace {
    grid-template-columns: minmax(300px, 336px) minmax(0, 1fr);
    min-height: 730px;
    background: #eff3f0;
}

.setup-wizard__controls {
    position: relative;
    z-index: 2;
    border-right-color: #dce6e0;
    background: #fbfcfb;
}

.setup-wizard__panel {
    max-height: 730px;
    padding: 22px;
}

.setup-wizard__panel-head {
    margin-bottom: 18px;
}

.setup-choice-grid {
    gap: 9px;
}

.setup-choice {
    min-height: 78px;
    border-color: #dfe7e2;
    background: #ffffff;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.setup-choice:hover {
    border-color: #9cc9af;
    background: #f5fbf7;
    transform: translateY(-1px);
}

.setup-choice.is-selected {
    box-shadow: inset 0 0 0 1px #2e845b, 0 8px 18px rgba(39, 121, 79, .08);
}

.setup-details-card {
    margin-top: 16px;
    border-color: #dce6e0;
    background: #f5f8f6;
}

.setup-ai-card {
    margin-top: 12px;
    padding: 0;
    overflow: hidden;
    border-color: #d9e2dc;
    background: #ffffff;
}

.setup-ai-card__summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding: 11px 12px;
    cursor: pointer;
    list-style: none;
}

.setup-ai-card__summary::-webkit-details-marker {
    display: none;
}

.setup-ai-card__summary-action {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 5px;
    color: #6d7c73;
    font-size: 9px;
    font-weight: 850;
    text-transform: uppercase;
}

.setup-ai-card[open] .setup-ai-card__summary {
    border-bottom: 1px solid #e5ebe7;
    background: #fbfcfb;
}

.setup-ai-card[open] .setup-ai-card__summary-action i {
    transform: rotate(180deg);
}

.setup-ai-card__body {
    padding: 12px;
}

.setup-wizard__scene {
    position: relative;
    padding: 16px;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, .58), transparent 28%),
        #eef3f0;
}

.setup-wizard__scene-head {
    min-height: 52px;
    padding: 0 4px 12px;
}

.setup-wizard__scene-head strong {
    font-size: 15px;
}

.setup-wizard__scene-tools button {
    width: 36px;
    height: 36px;
    border-color: #d5e0d9;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(28, 48, 37, .05);
}

.setup-wizard__stage-wrap {
    height: calc(100% - 52px);
    min-height: 660px;
}

.setup-wizard__stage-wrap .restro-3d-mount--setup {
    min-height: 660px;
}

.setup-wizard__operations-dock {
    position: absolute;
    z-index: 5;
    right: 18px;
    bottom: 18px;
    left: 18px;
    display: grid;
    grid-template-columns: minmax(185px, 1.2fr) minmax(175px, 1fr) minmax(155px, .9fr);
    gap: 0;
    padding: 7px;
    border: 1px solid rgba(207, 220, 212, .94);
    border-radius: 8px;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 16px 34px rgba(27, 47, 36, .12);
    backdrop-filter: blur(12px);
}

.setup-wizard__operations-dock section {
    min-width: 0;
    margin: 0;
    padding: 6px 10px;
    border: 0;
    border-right: 1px solid #e4ebe6;
}

.setup-wizard__operations-dock section:nth-child(3) {
    border-right: 0;
}

.setup-wizard__operations-dock section > header {
    margin-bottom: 6px;
}

.setup-wizard__operations-dock header span {
    font-size: 10px;
}

.setup-wizard__operations-dock header small {
    font-size: 8px;
}

.setup-wizard__operations-dock .setup-floor-overview,
.setup-wizard__operations-dock .builder-station-list {
    display: flex;
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: none;
}

.setup-wizard__operations-dock .setup-floor-overview::-webkit-scrollbar,
.setup-wizard__operations-dock .builder-station-list::-webkit-scrollbar {
    display: none;
}

.setup-wizard__operations-dock .setup-floor-overview button,
.setup-wizard__operations-dock .builder-station {
    flex: 0 0 auto;
    min-width: 118px;
    padding: 7px 8px;
    border-radius: 5px;
}

.setup-wizard__operations-dock .setup-floor-overview strong,
.setup-wizard__operations-dock .builder-station strong {
    font-size: 9px;
}

.setup-wizard__operations-dock .setup-floor-overview small,
.setup-wizard__operations-dock .setup-floor-overview em,
.setup-wizard__operations-dock .builder-station small {
    font-size: 8px;
}

.setup-wizard__operations-dock .builder-warning-list {
    display: block;
}

.setup-wizard__operations-dock .builder-warning,
.setup-wizard__operations-dock .builder-ok {
    min-height: 44px;
    padding: 7px 8px;
    font-size: 8px;
}

.setup-wizard__scene-hint {
    right: 16px;
    bottom: auto;
    top: 14px;
    padding: 6px 8px;
    color: #69786f;
}

@media (max-width: 1280px) {
    .setup-wizard__workspace {
        grid-template-columns: minmax(292px, 320px) minmax(0, 1fr);
    }

    .setup-wizard__operations-dock {
        grid-template-columns: minmax(160px, 1fr) minmax(150px, 1fr);
    }

    .setup-wizard__operations-dock section:nth-child(2) {
        border-right: 0;
    }

    .setup-wizard__operations-dock section:nth-child(3) {
        grid-column: 1 / -1;
        border-top: 1px solid #e4ebe6;
    }
}

@media (max-width: 980px) {
    .setup-wizard__workspace {
        grid-template-columns: 1fr;
    }

    .setup-wizard__controls {
        border-right: 0;
        border-bottom: 1px solid #dce6e0;
    }

    .setup-wizard__panel {
        max-height: none;
    }

    .setup-wizard__stage-wrap,
    .setup-wizard__stage-wrap .restro-3d-mount--setup {
        min-height: 600px;
    }

    .setup-wizard__operations-dock {
        position: static;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        margin-top: 12px;
    }

    .setup-wizard__operations-dock section:nth-child(3) {
        grid-column: auto;
        border-top: 0;
    }

    .setup-wizard__operations-dock section:nth-child(2) {
        border-right: 1px solid #e4ebe6;
    }
}

@media (max-width: 680px) {
    .setup-wizard__workspace {
        min-height: 0;
    }

    .setup-wizard__operations-dock {
        grid-template-columns: 1fr;
        padding: 5px;
    }

    .setup-wizard__operations-dock section,
    .setup-wizard__operations-dock section:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid #e4ebe6;
    }

    .setup-wizard__operations-dock section:last-child {
        border-bottom: 0;
    }
}

/* Guided restaurant selection flow. */
.restaurant-create-studio {
    display: block;
    min-height: 100vh;
    padding: 0;
    background: #edf3ef;
}

.restaurant-launch.guided-setup {
    width: min(100%, 1720px);
    min-height: 100vh;
    margin: 0 auto;
    border: 0;
    border-radius: 0;
    background: #f7faf8;
    box-shadow: none;
    overflow: visible;
}

.guided-setup__header {
    display: grid;
    grid-template-columns: minmax(96px, .55fr) minmax(0, 2.6fr) minmax(156px, .8fr);
    align-items: center;
    gap: 20px;
    min-height: 98px;
    padding: 18px 28px;
    border-bottom: 1px solid #dfe8e2;
    background: rgba(255, 255, 255, .96);
}

.guided-setup__back,
.guided-setup__previous,
.guided-setup__next {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 38px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

.guided-setup__back {
    justify-self: start;
    padding: 8px 10px;
    color: #516159;
}

.guided-setup__back:hover {
    color: #1f7149;
    background: #eef7f1;
}

.guided-setup__brand {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.guided-setup__brand-icon {
    display: grid;
    flex: 0 0 44px;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 8px;
    background: #17261f;
    color: #fff;
    font-size: 19px;
    box-shadow: 0 8px 18px rgba(24, 46, 34, .14);
}

.guided-setup__brand h1 {
    margin: 1px 0 3px;
    color: #18251f;
    font-size: clamp(22px, 2vw, 29px);
    line-height: 1.12;
    letter-spacing: 0;
}

.guided-setup__brand p {
    max-width: 720px;
    margin: 0;
    color: #75847b;
    font-size: 12px;
    line-height: 1.5;
}

.guided-setup__step-status {
    display: grid;
    justify-items: end;
    gap: 3px;
    text-align: right;
}

.guided-setup__step-status strong {
    color: #246e4a;
    font-size: 12px;
}

.guided-setup__step-status span {
    color: #77847d;
    font-size: 10px;
}

.guided-setup__progress {
    height: 3px;
    overflow: hidden;
    background: #dfe8e2;
}

.guided-setup__progress span {
    display: block;
    width: 20%;
    height: 100%;
    background: #2d8b5e;
    transition: width .22s ease;
}

.guided-setup__steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    border-bottom: 1px solid #dfe8e2;
    background: #fbfcfb;
}

.guided-setup__step {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 58px;
    border: 0;
    border-right: 1px solid #edf1ee;
    background: transparent;
    color: #8a958f;
    font-size: 12px;
    font-weight: 800;
}

.guided-setup__step:last-child { border-right: 0; }
.guided-setup__step > span {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 1px solid #d9e2dd;
    border-radius: 5px;
    color: #849088;
    font-size: 10px;
}
.guided-setup__step i { font-size: 14px; }
.guided-setup__step:disabled { cursor: not-allowed; opacity: .56; }
.guided-setup__step.is-active { color: #1f7149; background: #f0f8f3; box-shadow: inset 0 -3px 0 #2d8b5e; }
.guided-setup__step.is-active > span,
.guided-setup__step.is-complete > span { border-color: #2d8b5e; background: #2d8b5e; color: #fff; }
.guided-setup__step.is-complete { color: #547263; }
.guided-setup__step.is-ready { color: #267950; background: #fbfefc; box-shadow: inset 0 -2px 0 #a6d8b9; }
.guided-setup__step.is-ready > span { border-color: #98cdb0; background: #fff; color: #267950; }
.guided-setup__step.is-ready:hover { background: #f0f8f3; }

.guided-setup__workspace {
    display: grid;
    grid-template-columns: minmax(350px, 420px) minmax(0, 1fr);
    min-height: calc(100vh - 218px);
}

.guided-setup__question {
    min-width: 0;
    padding: 28px;
    border-right: 1px solid #dfe8e2;
    background: #fff;
}

.guided-setup__panel { display: none; }
.guided-setup__panel.is-active { display: block; animation: guided-panel-in .2s ease both; }
@keyframes guided-panel-in { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }

.guided-setup__question-number {
    display: inline-flex;
    margin-bottom: 12px;
    color: #2b8057;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.guided-setup__question h2 {
    margin: 0 0 8px;
    color: #1e2c25;
    font-size: clamp(20px, 1.6vw, 26px);
    line-height: 1.18;
    letter-spacing: 0;
}

.guided-setup__question > .guided-setup__panel > p {
    margin: 0 0 22px;
    color: #718078;
    font-size: 13px;
    line-height: 1.55;
}

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

.guided-service-card {
    position: relative;
    display: flex;
    min-height: 158px;
    overflow: hidden;
    align-items: flex-end;
    padding: 12px;
    border: 1px solid #dfe7e2;
    border-radius: 7px;
    background: #edf4ef;
    color: #fff;
    text-align: left;
    isolation: isolate;
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.guided-service-card img,
.guided-service-card__shade {
    position: absolute;
    z-index: -2;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.guided-service-card__shade {
    z-index: -1;
    background: linear-gradient(180deg, rgba(17, 35, 27, .03) 20%, rgba(12, 29, 22, .86) 100%);
}

.guided-service-card__copy { display: grid; gap: 3px; min-width: 0; }
.guided-service-card__copy i { font-size: 17px; }
.guided-service-card__copy strong { font-size: 13px; }
.guided-service-card__copy small { color: rgba(255, 255, 255, .82); font-size: 9px; line-height: 1.35; }
.guided-service-card__check { position: absolute; top: 10px; right: 10px; opacity: 0; font-size: 17px; }
.guided-service-card:hover { transform: translateY(-2px); box-shadow: 0 12px 22px rgba(24, 46, 34, .15); }
.guided-service-card.is-selected { border: 2px solid #42ad77; box-shadow: 0 0 0 3px rgba(66, 173, 119, .14), 0 12px 22px rgba(24, 46, 34, .14); }
.guided-service-card.is-selected .guided-service-card__check { opacity: 1; }

.guided-setup__ai {
    margin-top: 18px;
    border: 1px solid #dce6e0;
    border-radius: 7px;
    background: #fbfcfb;
}
.guided-setup__ai summary { display: flex; align-items: center; gap: 10px; padding: 12px; cursor: pointer; list-style: none; }
.guided-setup__ai summary::-webkit-details-marker { display: none; }
.guided-setup__ai summary > i:first-child { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 6px; background: #f0edfb; color: #6d53bd; }
.guided-setup__ai summary span { display: grid; flex: 1; }
.guided-setup__ai summary strong { color: #304038; font-size: 11px; }
.guided-setup__ai summary small { color: #7d8982; font-size: 9px; }
.guided-setup__ai summary > i:last-child { color: #7d8982; font-size: 11px; transition: transform .16s ease; }
.guided-setup__ai[open] summary > i:last-child { transform: rotate(180deg); }
.guided-setup__ai-body { display: grid; gap: 9px; padding: 0 12px 12px; }
.guided-setup__ai-body textarea { width: 100%; min-height: 86px; padding: 9px; border: 1px solid #dbe4df; border-radius: 6px; color: #334239; font-size: 11px; resize: vertical; }
.guided-setup__ai-actions { display: grid; grid-template-columns: repeat(2, 1fr); gap: 7px; }
.guided-setup__ai-actions button,
.guided-setup__ai-body [data-ai-apply-blueprint] { min-height: 34px; border: 1px solid #d8d3ea; border-radius: 6px; background: #f4f1fc; color: #604a9f; font-size: 10px; font-weight: 850; }
.guided-setup__ai-actions button:disabled { cursor: not-allowed; opacity: .5; }
.guided-setup__ai-body [data-ai-builder-preview] { padding: 8px; border-radius: 6px; background: #f1f5f2; color: #718078; font-size: 10px; line-height: 1.4; }

.guided-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.guided-choice-card { display: grid; min-height: 118px; align-content: center; justify-items: start; gap: 5px; padding: 14px; border: 1px solid #dce6e0; border-radius: 7px; background: #fff; color: #415248; text-align: left; transition: border-color .16s ease, background .16s ease, box-shadow .16s ease; }
.guided-choice-card > i { color: #2a8056; font-size: 20px; }
.guided-choice-card strong { color: #2a3931; font-size: 13px; }
.guided-choice-card small { color: #77857d; font-size: 10px; line-height: 1.4; }
.guided-choice-card:hover { border-color: #95c6aa; background: #f6fbf8; }
.guided-choice-card.is-selected { border-color: #2d8b5e; background: #eef8f2; box-shadow: inset 0 0 0 1px #2d8b5e; }
.guided-choice-card--custom { border-style: dashed; }
.guided-choice-grid--seating { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.guided-seat-art { position: relative; display: block; width: 46px; height: 30px; border: 2px solid #2d8056; border-radius: 5px; background: #f8faf9; }
.guided-seat-art::before,
.guided-seat-art::after { content: ""; position: absolute; width: 9px; height: 9px; border-radius: 50%; background: #d28a4a; box-shadow: 26px 0 0 #d28a4a; }
.guided-seat-art::before { top: -8px; left: 4px; }
.guided-seat-art::after { bottom: -8px; left: 4px; }
.guided-seat-art--intimate { width: 32px; border-radius: 50%; }
.guided-seat-art--intimate::before { left: 2px; box-shadow: 15px 0 0 #d28a4a; }.guided-seat-art--intimate::after { display: none; }
.guided-seat-art--family::before { box-shadow: 14px 0 0 #d28a4a, 28px 0 0 #d28a4a; }.guided-seat-art--family::after { box-shadow: 14px 0 0 #d28a4a, 28px 0 0 #d28a4a; }
.guided-seat-art--groups { width: 56px; height: 24px; border-radius: 999px; }.guided-seat-art--groups::before { left: 6px; box-shadow: 17px 0 0 #d28a4a, 34px 0 0 #d28a4a; }.guided-seat-art--groups::after { bottom: -8px; left: 6px; box-shadow: 17px 0 0 #d28a4a, 34px 0 0 #d28a4a; }

.guided-setup__advanced { display: grid; gap: 12px; margin-top: 16px; padding: 13px; border: 1px solid #dce6e0; border-radius: 7px; background: #f9fbfa; }
.guided-stepper { display: grid; gap: 7px; color: #526259; font-size: 11px; font-weight: 850; }
.guided-stepper > div { display: grid; grid-template-columns: 42px 1fr 42px; overflow: hidden; border: 1px solid #d5e1da; border-radius: 6px; background: #fff; }
.guided-stepper button,
.guided-stepper input { min-height: 42px; border: 0; background: transparent; color: #2b3a32; text-align: center; }
.guided-stepper button { background: #eef4f0; font-size: 16px; }.guided-stepper input { border-right: 1px solid #e1e8e3; border-left: 1px solid #e1e8e3; font-weight: 900; }
.guided-floor-names { display: grid; gap: 7px; margin-top: 14px; }
.guided-floor-name { display: grid; grid-template-columns: 34px 1fr; overflow: hidden; border: 1px solid #dce6e0; border-radius: 6px; background: #fff; }
.guided-floor-name span { display: grid; place-items: center; background: #eef4f0; color: #658075; font-size: 10px; font-weight: 900; }
.guided-floor-name input { min-width: 0; padding: 10px; border: 0; color: #2b3a32; font-size: 11px; font-weight: 800; }
.guided-floor-name.is-active { border-color: #2d8b5e; }
.guided-floor-tabs { display: flex; gap: 7px; margin-bottom: 14px; overflow-x: auto; padding-bottom: 2px; }
.guided-floor-tabs button { display: grid; flex: 0 0 auto; gap: 2px; min-width: 118px; padding: 9px; border: 1px solid #dce6e0; border-radius: 6px; background: #fff; color: #4a5d52; text-align: left; }.guided-floor-tabs button.is-active { border-color: #2d8b5e; background: #eef8f2; }.guided-floor-tabs strong { font-size: 10px; }.guided-floor-tabs small { color: #7a8980; font-size: 9px; }
.guided-setup__advanced-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }.guided-setup__advanced-head strong { color: #33433a; font-size: 11px; }.guided-setup__advanced-head button { border: 0; background: transparent; color: #267950; font-size: 10px; font-weight: 850; }
.guided-table-groups,
.guided-station-editor { display: grid; gap: 8px; }
.guided-station-editor { max-height: min(46vh, 430px); padding-right: 4px; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #b8ccc0 transparent; }
.guided-table-group { display: grid; grid-template-columns: 65px 72px minmax(88px, 1fr) 30px; align-items: end; gap: 6px; padding: 8px; border: 1px solid #dce6e0; border-radius: 6px; background: #fff; }
.guided-table-group label,
.guided-station label { display: grid; min-width: 0; gap: 4px; color: #74837a; font-size: 9px; font-weight: 850; }
.guided-table-group input,
.guided-table-group select,
.guided-station input,
.guided-station select { min-width: 0; min-height: 34px; padding: 6px; border: 1px solid #dce5df; border-radius: 5px; background: #fbfcfb; color: #344239; font-size: 10px; }
.guided-table-group > button { display: grid; width: 30px; height: 34px; place-items: center; border: 1px solid #efd7d2; border-radius: 5px; background: #fff6f4; color: #b5574a; }
.guided-station { display: grid; grid-template-columns: 28px 1fr 98px; gap: 8px; padding: 10px; border: 1px solid #dce6e0; border-left: 4px solid var(--station-color); border-radius: 6px; background: #fff; }.guided-station > span { display: grid; width: 26px; height: 26px; place-items: center; border-radius: 5px; background: color-mix(in srgb, var(--station-color) 12%, white); color: var(--station-color); font-size: 9px; font-weight: 900; }.guided-station__floors { grid-column: 2 / -1; display: flex; flex-wrap: wrap; gap: 6px; padding-top: 8px; border-top: 1px solid #edf1ee; }.guided-station__floor-route { display: inline-flex !important; align-items: center; gap: 6px; min-width: 0 !important; margin: 0; padding: 5px 7px; border: 1px solid #d9e7df; border-radius: 5px; background: #f8fbf9; color: #4d6255 !important; font-size: 9px !important; font-weight: 800 !important; cursor: pointer; }.guided-station__floor-route input[type="checkbox"] { flex: 0 0 15px; width: 15px; height: 15px; min-height: 15px; margin: 0; padding: 0; border: 0; border-radius: 3px; accent-color: #2d8b5e; cursor: pointer; }.guided-station__floor-route:has(input:checked) { border-color: #a7d3b8; background: #eef8f2; color: #24734b !important; }

.guided-launch-section { margin-top: 18px; padding-top: 18px; border-top: 1px solid #e6ece8; }.guided-launch-section h3 { margin: 0 0 12px; color: #334239; font-size: 13px; }.guided-password-status { display: flex; align-items: center; gap: 7px; margin-top: 10px; padding: 9px; border-radius: 6px; background: #f1f5f2; color: #66766d; font-size: 10px; font-weight: 750; }.guided-password-status.is-valid { color: #25794f; background: #eef8f2; }.guided-password-status.is-warning { color: #8a6927; background: #fff9e9; }.guided-password-status.is-danger { color: #ad5044; background: #fff4f2; }
.guided-plan-list { display: grid; gap: 7px; }.guided-plan { display: grid; grid-template-columns: 18px 1fr 18px; align-items: center; gap: 9px; padding: 10px; border: 1px solid #dce6e0; border-radius: 6px; background: #fff; cursor: pointer; }.guided-plan input { width: 15px; height: 15px; accent-color: #2d8b5e; }.guided-plan span { display: grid; gap: 1px; }.guided-plan strong { color: #334239; font-size: 11px; }.guided-plan small { color: #7a887f; font-size: 9px; }.guided-plan > i { color: #2d8b5e; opacity: 0; }.guided-plan.is-selected { border-color: #2d8b5e; background: #eef8f2; }.guided-plan.is-selected > i { opacity: 1; }
.guided-review { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 7px; margin-top: 18px; }.guided-review span { display: grid; gap: 2px; padding: 9px; border: 1px solid #dfe7e2; border-radius: 6px; background: #fbfcfb; }.guided-review i { color: #2d8b5e; font-size: 14px; }.guided-review small { color: #7a8980; font-size: 8px; text-transform: uppercase; }.guided-review strong { color: #334239; font-size: 13px; }
.guided-readiness { display: grid; grid-template-columns: 68px 1fr; gap: 10px; margin-top: 12px; padding: 10px; border: 1px solid #dce6e0; border-radius: 6px; background: #f7faf8; }.guided-readiness > strong { align-self: center; color: #267c52; font-size: 21px; }.guided-readiness > span { align-self: end; margin-left: -68px; color: #708078; font-size: 8px; }.guided-readiness ul { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }.guided-readiness li { color: #7b8981; font-size: 9px; }.guided-readiness li.is-ok { color: #287a52; }.guided-readiness li.is-risk { color: #b1574a; }
.guided-launch-button { display: flex; width: 100%; align-items: center; justify-content: center; gap: 8px; margin-top: 14px; padding: 12px; border: 0; border-radius: 6px; background: #1f7149; color: #fff; font-size: 12px; font-weight: 900; }
.guided-setup__empty { display: flex; gap: 7px; padding: 10px; border: 1px solid #efd8d1; border-radius: 6px; background: #fff6f4; color: #a55548; font-size: 10px; }

.guided-setup__scene { position: relative; min-width: 0; padding: 22px; background: radial-gradient(circle at 72% 6%, rgba(255, 255, 255, .9), transparent 34%), #edf3ef; }
.guided-setup__scene-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 44px; margin-bottom: 10px; }.guided-setup__scene-head > div:first-child { display: grid; }.guided-setup__scene-head span { color: #718078; font-size: 9px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }.guided-setup__scene-head strong { color: #26362d; font-size: 15px; }
.guided-setup__scene-tools { display: inline-flex; gap: 5px; padding: 4px; border: 1px solid #dbe5df; border-radius: 8px; background: rgba(255,255,255,.82); box-shadow: 0 8px 20px rgba(27,47,36,.07); }.guided-setup__scene-tools button { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid transparent; border-radius: 5px; background: transparent; color: #53645a; transition: background .16s ease, color .16s ease, transform .16s ease; }.guided-setup__scene-tools button:hover:not(:disabled) { background: #edf6f0; color: #1f7149; transform: translateY(-1px); }.guided-setup__scene-tools button:disabled { cursor: not-allowed; opacity: .38; }.guided-setup__scene-tools button.is-active { border-color: #99cdb0; background: #e8f5ed; color: #1e744c; }
.guided-setup__stage-wrap { position: relative; min-height: 630px; overflow: hidden; border-radius: 10px; }.guided-setup__stage-wrap .restro-3d-mount--setup { min-height: 630px; height: 100%; border-color: #d8e3dc; border-radius: 10px; background: #f7f9f6; box-shadow: 0 20px 44px rgba(28,47,37,.1); }.guided-setup__scene-caption { position: absolute; top: 14px; right: 14px; z-index: 5; max-width: 300px; padding: 8px 10px; border: 1px solid rgba(208,220,212,.9); border-radius: 6px; background: rgba(255,255,255,.92); color: #627269; font-size: 10px; line-height: 1.4; box-shadow: 0 7px 18px rgba(28,47,37,.06); backdrop-filter: blur(10px); }
.guided-setup__scene-rail { display: grid; grid-template-columns: minmax(180px,1.05fr) minmax(240px,1.35fr) minmax(190px,1fr); gap: 0; margin-top: 12px; overflow: hidden; border: 1px solid #d8e3dc; border-radius: 9px; background: rgba(255,255,255,.94); box-shadow: 0 10px 28px rgba(28,47,37,.08); }.guided-setup__scene-rail > section { display: grid; align-content: center; gap: 4px; min-height: 86px; padding: 14px 16px; border-right: 1px solid #e0e8e3; }.guided-setup__scene-rail > section:last-child { border-right: 0; }.guided-scene-rail__eyebrow { color: #87948c; font-size: 9px; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }.guided-scene-rail__floor { background: linear-gradient(135deg,#f8fcf9,#eef8f2); }.guided-scene-rail__floor strong,.guided-scene-rail__readiness strong { color: #2b4235; font-size: 14px; }.guided-scene-rail__floor small,.guided-scene-rail__readiness small { color: #6c7e73; font-size: 10px; font-weight: 700; }.guided-scene-rail__routes > div { display: flex; flex-wrap: wrap; gap: 6px; }.guided-scene-rail__routes span { display: inline-flex; align-items: center; gap: 5px; max-width: 150px; padding: 6px 8px; border: 1px solid color-mix(in srgb,var(--scene-route-color) 28%,white); border-radius: 5px; background: color-mix(in srgb,var(--scene-route-color) 8%,white); color: #405247; font-size: 10px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }.guided-scene-rail__routes i { color: var(--scene-route-color); }.guided-scene-rail__readiness { background: #fbfcfb; }.guided-scene-rail__readiness strong { color: #23734b; }

.guided-setup__footer { position: sticky; z-index: 10; bottom: 0; display: flex; align-items: center; justify-content: space-between; min-height: 68px; padding: 12px 28px; border-top: 1px solid #dfe8e2; background: rgba(255, 255, 255, .96); box-shadow: 0 -8px 20px rgba(27, 47, 36, .06); backdrop-filter: blur(12px); }.guided-setup__previous { padding: 8px 12px; border: 1px solid #d6e0da; background: #fff; color: #5a6b61; }.guided-setup__previous:disabled { opacity: .4; }.guided-setup__next { margin-left: auto; padding: 9px 14px; border: 1px solid #1f7149; background: #1f7149; color: #fff; }

@media (max-width: 1080px) {
    .guided-setup__workspace { grid-template-columns: minmax(320px, 360px) minmax(0, 1fr); }
    .guided-setup__question { padding: 22px; }
    .guided-service-card { min-height: 138px; }
    .guided-setup__stage-wrap,
    .guided-setup__stage-wrap .restro-3d-mount--setup { min-height: 560px; }
}

@media (max-width: 860px) {
    .guided-setup__header { grid-template-columns: auto minmax(0, 1fr) auto; padding: 15px 18px; }
    .guided-setup__brand p { display: none; }
    .guided-setup__workspace { grid-template-columns: 1fr; min-height: 0; }
    .guided-setup__question { border-right: 0; border-bottom: 1px solid #dfe8e2; }
    .guided-setup__scene { padding: 18px; }
    .guided-setup__stage-wrap,
    .guided-setup__stage-wrap .restro-3d-mount--setup { min-height: 520px; }
}

@media (max-width: 620px) {
    .restaurant-launch.guided-setup { min-height: 100vh; }
    .guided-setup__header { grid-template-columns: auto 1fr auto; gap: 10px; min-height: 76px; padding: 12px; }
    .guided-setup__back span,
    .guided-setup__step-status span,
    .guided-setup__brand .restaurant-launch__eyebrow { display: none; }
    .guided-setup__back { padding: 7px; }
    .guided-setup__brand-icon { flex-basis: 38px; width: 38px; height: 38px; font-size: 16px; }
    .guided-setup__brand h1 { font-size: 20px; }
    .guided-setup__step-status strong { font-size: 10px; white-space: nowrap; }
    .guided-setup__step { min-height: 52px; padding: 7px; }.guided-setup__step strong,
    .guided-setup__step i { display: none; }
    .guided-setup__question { padding: 18px; }.guided-setup__question h2 { font-size: 22px; }
    .guided-service-card { min-height: 138px; }.guided-service-card__copy small { display: none; }
    .guided-choice-card { min-height: 106px; }
    .guided-setup__scene { padding: 12px; }.guided-setup__stage-wrap,
    .guided-setup__stage-wrap .restro-3d-mount--setup { min-height: 440px; }
    .guided-setup__scene-caption { display: none; }
    .guided-setup__scene-rail { grid-template-columns: 1fr; }.guided-setup__scene-rail > section { min-height: 0; border-right: 0; border-bottom: 1px solid #e0e8e3; }.guided-setup__scene-rail > section:last-child { border-bottom: 0; }
    .guided-review { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .guided-setup__footer { padding: 10px 12px; }.guided-setup__previous,
    .guided-setup__next { flex: 1; }
    .guided-table-group { grid-template-columns: 60px 65px minmax(76px, 1fr) 28px; }
    .guided-station { grid-template-columns: 28px 1fr; }.guided-station > label:nth-of-type(2) { grid-column: 2; }.guided-station__floors { grid-column: 1 / -1; }
}
