:root {
	--rto-ink: #1a3a5c;
	--rto-muted: #5a7a9a;
	--rto-line: rgba(197, 218, 240, 0.75);
	--rto-surface: transparent;
	--rto-panel: rgba(255, 255, 255, 0.55);
	--rto-glass: rgba(255, 255, 255, 0.48);
	--rto-glass-strong: rgba(255, 255, 255, 0.62);
	--rto-accent: #3b9dd9;
	--rto-accent-deep: #2a7eb8;
	--rto-yellow: #f5d76e;
	--rto-yellow-soft: rgba(255, 246, 214, 0.72);
	--rto-yellow-deep: #e0b84a;
	--rto-ok: #2a7eb8;
	--rto-warn: #c9a227;
	--rto-bad: #c9892a;
	--rto-radius: 12px;
	--rto-shadow: none;
	--rto-sidebar: 240px;
	--rto-font: "Nunito", "Segoe UI", sans-serif;
	--rto-display: "Nunito", "Segoe UI", sans-serif;
	--rto-blur: blur(28px) saturate(1.55);
	--rto-blur-soft: blur(18px) saturate(1.4);
}

*, *::before, *::after {
	box-sizing: border-box;
	box-shadow: none !important;
	text-shadow: none !important;
}

html {
	min-height: 100%;
	background: #e8f3fb;
}

body {
	margin: 0;
	padding: 0;
	min-height: 100%;
	position: relative;
	isolation: isolate;
	color: var(--rto-ink);
	font-family: var(--rto-font);
	font-size: 17px;
	line-height: 1.5;
	letter-spacing: 0.01em;
	-webkit-font-smoothing: antialiased;
	background: transparent;
}

/* Ambient Apple-style blurred color field behind everything */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	background:
		radial-gradient(900px 620px at 12% 8%, rgba(245, 215, 110, 0.55), transparent 58%),
		radial-gradient(820px 580px at 88% 12%, rgba(59, 157, 217, 0.42), transparent 55%),
		radial-gradient(700px 520px at 70% 88%, rgba(255, 246, 214, 0.7), transparent 50%),
		radial-gradient(640px 480px at 8% 78%, rgba(120, 190, 230, 0.35), transparent 52%),
		linear-gradient(160deg, #f7fbfe 0%, #e7f2fb 45%, #f4f8e8 100%);
}

body::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	backdrop-filter: blur(48px) saturate(1.25);
	-webkit-backdrop-filter: blur(48px) saturate(1.25);
	background: rgba(255, 255, 255, 0.18);
}

a { color: var(--rto-accent-deep); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font: inherit; }
.ti { vertical-align: -0.12em; }
.rto-container { width: min(1100px, calc(100% - 40px)); margin: 0 auto; }
.rto-muted { color: var(--rto-muted); }
code {
	font-size: .9em;
	background: var(--rto-yellow-soft);
	color: var(--rto-ink);
	padding: 2px 6px;
	border-radius: 6px;
	border: 1px solid rgba(224, 184, 74, 0.35);
}

/* Shared frosted surface */
.rto-glass-surface {
	background: var(--rto-glass);
	border: 1px solid rgba(255, 255, 255, 0.7);
	backdrop-filter: var(--rto-blur);
	-webkit-backdrop-filter: var(--rto-blur);
}

/* Public top */
.rto-public-top {
	position: sticky; top: 0; z-index: 40;
	background: rgba(255, 255, 255, 0.42);
	border-bottom: 1px solid rgba(255, 255, 255, 0.55);
	backdrop-filter: var(--rto-blur-soft);
	-webkit-backdrop-filter: var(--rto-blur-soft);
}
.rto-public-top__inner {
	height: 72px; display: flex; align-items: center; justify-content: space-between; gap: 16px;
}
.rto-brand {
	display: inline-flex; align-items: center; gap: 10px;
	color: var(--rto-ink); text-decoration: none; font-weight: 700; letter-spacing: 0;
}
.rto-brand:hover { text-decoration: none; }
.rto-brand__mark {
	width: 36px; height: 36px; border-radius: 12px;
	background: rgba(245, 215, 110, 0.85);
	color: var(--rto-ink); display: grid; place-items: center; font-size: 18px;
	border: 1px solid rgba(224, 184, 74, 0.55);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.rto-brand__name { font-size: 1.3rem; font-family: var(--rto-display); }
.rto-public-nav { display: flex; align-items: center; gap: 10px; }
.rto-public-link { color: var(--rto-muted); font-weight: 600; padding: 8px 6px; text-decoration: none !important; }
.rto-public-link:hover { color: var(--rto-ink); }

.rto-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	min-height: 44px; padding: 0 18px; border-radius: 12px;
	border: 1px solid transparent; font-weight: 600; cursor: pointer;
	transition: transform .18s ease, background .18s ease, border-color .18s ease;
	text-decoration: none !important;
}
.rto-btn:active { transform: translateY(1px); }
.rto-btn--primary {
	background: rgba(59, 157, 217, 0.92);
	color: #fff;
	border-color: rgba(42, 126, 184, 0.55);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.rto-btn--primary:hover { background: var(--rto-accent-deep); }
.rto-btn--ghost {
	background: rgba(255, 255, 255, 0.45);
	border-color: rgba(255, 255, 255, 0.7);
	color: var(--rto-ink);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.rto-btn--ghost:hover {
	background: var(--rto-yellow-soft);
	border-color: rgba(224, 184, 74, 0.55);
}
.rto-btn--sm { min-height: 36px; padding: 0 12px; font-size: .9rem; }
.rto-btn--block { width: 100%; }
.rto-btn--danger {
	color: var(--rto-bad);
	border-color: rgba(240, 212, 168, 0.8);
	background: rgba(255, 250, 240, 0.65);
}
.rto-btn:disabled { opacity: .5; cursor: not-allowed; }

/* Legacy hero bits (unused on chooser, kept consistent) */
.rto-hero {
	position: relative; overflow: hidden;
	min-height: min(92vh, 820px);
	display: flex; align-items: center;
	background: transparent;
}
.rto-hero__glow { display: none; }
.rto-hero__stage {
	position: relative; z-index: 1;
	display: grid; grid-template-columns: 1.1fr .9fr; gap: 48px; align-items: center;
	padding: 56px 0 72px;
}
.rto-section { padding: 72px 0; background: transparent; }
.rto-section--alt { background: transparent; }
.rto-public-foot {
	border-top: 1px solid rgba(255, 255, 255, 0.5);
	padding: 28px 0;
	color: var(--rto-muted);
	font-size: .92rem;
	background: rgba(255, 255, 255, 0.35);
	backdrop-filter: var(--rto-blur-soft);
	-webkit-backdrop-filter: var(--rto-blur-soft);
}
.rto-public-foot__inner { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }

/* Auth */
.rto-auth {
	padding: 48px 0 72px;
	display: grid;
	place-items: center;
	min-height: calc(100vh - 72px);
	background: transparent;
}
.rto-auth__panel {
	width: min(440px, calc(100% - 32px));
	background: var(--rto-glass-strong);
	border-radius: 24px;
	padding: 32px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	backdrop-filter: var(--rto-blur);
	-webkit-backdrop-filter: var(--rto-blur);
}
.rto-auth__panel h1 { font-family: var(--rto-display); margin: 0 0 8px; letter-spacing: 0; }
.rto-auth__panel > p { color: var(--rto-muted); margin: 0 0 22px; }
.rto-auth__foot { margin-top: 18px; color: var(--rto-muted); font-size: .95rem; }
.rto-form-group { margin-bottom: 14px; }
.rto-form-group label { display: block; font-weight: 600; margin-bottom: 6px; font-size: .92rem; }
.rto-input {
	width: 100%; min-height: 44px; padding: 10px 12px;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.55);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.rto-input:focus {
	outline: none;
	border-color: rgba(59, 157, 217, 0.7);
	background: rgba(255, 255, 255, 0.72);
}
.rto-input--sm { min-height: 34px; padding: 4px 8px; font-size: .85rem; }
textarea.rto-input { min-height: 90px; resize: vertical; }
.rto-pin-row {
	display: flex;
	gap: 6px;
	flex-wrap: nowrap;
	justify-content: space-between;
	width: 100%;
}
.rto-pin-digit {
	flex: 1 1 0;
	min-width: 0;
	width: 100%;
	max-width: 42px;
	height: 46px;
	text-align: center;
	font-size: 1.15rem;
	font-weight: 700;
	border: 1px solid rgba(255, 255, 255, 0.75);
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.55);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: var(--rto-ink);
	padding: 0;
}
.rto-pin-digit:focus {
	outline: none;
	border-color: rgba(224, 184, 74, 0.7);
	background: var(--rto-yellow-soft);
}
.rto-phone {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 44px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.75);
	background: rgba(255, 255, 255, 0.55);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	overflow: hidden;
}
.rto-phone:focus-within {
	border-color: rgba(59, 157, 217, 0.7);
	background: rgba(255, 255, 255, 0.78);
}
.rto-phone__cc {
	display: grid;
	place-items: center;
	padding: 0 12px;
	font-weight: 800;
	font-size: .92rem;
	color: var(--rto-muted);
	border-right: 1px solid rgba(197, 218, 240, 0.7);
	background: rgba(255, 255, 255, 0.28);
	white-space: nowrap;
}
.rto-phone__input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 0 14px;
	font-size: 1.08rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: var(--rto-ink);
}
.rto-phone__input:focus { outline: none; }
.rto-phone__input::placeholder {
	letter-spacing: 0.08em;
	font-weight: 600;
	color: #9ab0c4;
}
.rto-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}
.rto-filters__phone {
	flex: 1 1 220px;
	min-width: 200px;
	max-width: 280px;
}
.rto-filters .rto-input { width: auto; min-width: 140px; flex: 1; }
.rto-error {
	display: none;
	background: var(--rto-yellow-soft);
	color: #8a6a10;
	border: 1px solid rgba(224, 184, 74, 0.55);
	padding: 10px 12px;
	border-radius: 12px;
	margin-bottom: 14px;
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
}
.rto-error.is-on { display: block; }

/* App shell */
.rto-app {
	display: flex;
	min-height: 100vh;
	background: transparent;
}
.rto-sidebar {
	width: var(--rto-sidebar);
	flex-shrink: 0;
	background: rgba(255, 255, 255, 0.78);
	color: var(--rto-ink);
	padding: 18px 14px 16px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	position: sticky;
	top: 0;
	height: 100vh;
	border-right: 1px solid var(--rto-line);
	backdrop-filter: var(--rto-blur-soft);
	-webkit-backdrop-filter: var(--rto-blur-soft);
}
.rto-sidebar .rto-brand { color: var(--rto-ink); padding: 2px 6px 4px; gap: 10px; }
.rto-sidebar .rto-brand__name { font-size: 1.2rem; }
.rto-sidebar .rto-brand__mark { width: 34px; height: 34px; font-size: 17px; border-radius: 10px; }
.rto-side-nav {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
	justify-content: flex-start;
}
.rto-side-nav a {
	display: flex;
	align-items: center;
	gap: 10px;
	height: 42px;
	min-height: 42px;
	max-height: 42px;
	padding: 0 12px;
	color: var(--rto-muted);
	border-radius: 10px;
	background: transparent;
	text-decoration: none !important;
	font-weight: 700;
	font-size: .98rem;
	line-height: 1;
	flex: 0 0 42px;
}
.rto-side-nav a i { font-size: 1.2rem; width: 22px; text-align: center; }
.rto-side-nav a:hover {
	background: rgba(59, 157, 217, 0.1);
	color: var(--rto-ink);
}
.rto-side-nav a.is-active {
	background: #fff6d6;
	color: var(--rto-ink);
}
.rto-sidebar__foot {
	display: grid;
	gap: 10px;
	border-top: 1px solid var(--rto-line);
	padding: 14px 4px 0;
	margin-top: auto;
}
.rto-userchip strong { display: block; font-size: .95rem; }
.rto-userchip span { color: var(--rto-muted); font-size: .8rem; word-break: break-all; }
.rto-sidebar .rto-btn--ghost {
	color: var(--rto-ink);
	border-color: var(--rto-line);
	background: #fff;
	min-height: 38px;
	padding: 0 12px;
	font-size: .9rem;
	border-radius: 10px;
}
.rto-main {
	flex: 1;
	min-width: 0;
	background: transparent;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
.rto-topbar {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 28px;
	min-height: 64px;
	border-bottom: 1px solid var(--rto-line);
	background: rgba(255, 255, 255, 0.7);
	position: sticky; top: 0; z-index: 20;
	backdrop-filter: var(--rto-blur-soft);
	-webkit-backdrop-filter: var(--rto-blur-soft);
}
.rto-topbar h1 { margin: 0; font-family: var(--rto-display); font-size: 1.45rem; font-weight: 800; letter-spacing: 0; }
.rto-topbar__left { display: flex; align-items: center; gap: 10px; }
.rto-topbar__date { color: var(--rto-muted); font-size: .95rem; }
.rto-menu-btn { display: none; }
.rto-content {
	padding: 24px 28px 40px;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.rto-dash { display: flex; flex-direction: column; gap: 20px; flex: 1; }
.rto-scrim {
	position: fixed; inset: 0;
	background: rgba(26, 58, 92, .22);
	backdrop-filter: blur(14px) saturate(1.3);
	-webkit-backdrop-filter: blur(14px) saturate(1.3);
	z-index: 45;
}

.rto-stats {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
}
.rto-stat {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid var(--rto-line);
	border-radius: 14px;
	padding: 18px 20px;
	backdrop-filter: var(--rto-blur-soft);
	-webkit-backdrop-filter: var(--rto-blur-soft);
}
.rto-stat:nth-child(even) {
	background: rgba(255, 255, 255, 0.82);
	border-color: var(--rto-line);
}
.rto-stat span { display: block; color: var(--rto-muted); font-size: .9rem; margin-bottom: 6px; font-weight: 700; }
.rto-stat strong { font-family: var(--rto-display); font-size: 2rem; letter-spacing: 0; color: var(--rto-ink); font-weight: 800; line-height: 1.1; }
.rto-stat--warn strong { color: var(--rto-warn); }
.rto-stat--bad strong { color: var(--rto-bad); }

.rto-panel {
	background: rgba(255, 255, 255, 0.82);
	border: 1px solid var(--rto-line);
	border-radius: 14px;
	padding: 22px 24px;
	margin-bottom: 16px;
	backdrop-filter: var(--rto-blur-soft);
	-webkit-backdrop-filter: var(--rto-blur-soft);
}
.rto-panel--narrow { max-width: 520px; }
.rto-profile { display: grid; justify-items: start; }
.rto-profile__owner {
	margin: 8px 0 18px;
	padding: 14px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.4);
	border: 1px solid rgba(255, 255, 255, 0.7);
}
.rto-profile__owner h2 {
	margin: 0 0 6px;
	font-size: 1rem;
	font-family: var(--rto-display);
}
.rto-profile__owner > .rto-muted { margin: 0 0 14px; }
.rto-profile__status {
	margin: 0 0 12px;
	font-weight: 700;
	font-size: .9rem;
	color: var(--rto-warn);
}
.rto-profile__status.is-ok { color: var(--rto-ok); }
.rto-profile__doc { margin: 8px 0 0; font-weight: 600; }
.rto-input--file { padding: 8px 10px; }
.rto-profile__logout { margin-top: 10px; }
.rto-panel__head {
	display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px;
}
.rto-panel__head h2 { margin: 0; font-family: var(--rto-display); font-size: 1.15rem; font-weight: 800; }
.rto-dash__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(260px, .9fr);
	gap: 16px;
	align-items: stretch;
	flex: 1;
}
.rto-dash__main,
.rto-dash__side {
	margin-bottom: 0;
	min-height: 320px;
}
.rto-empty--in {
	text-align: center;
	padding: 48px 20px;
	border: 0;
	background: transparent;
}
.rto-empty--in i {
	font-size: 2.4rem;
	color: var(--rto-accent);
}
.rto-empty--in h3 {
	margin: 12px 0 8px;
	font-size: 1.25rem;
}
.rto-empty--in p {
	margin: 0 auto 18px;
	max-width: 36ch;
	color: var(--rto-muted);
}
.rto-empty__actions { display: flex; gap: 10px; justify-content: center; flex-wrap: wrap; }
.rto-steps {
	margin: 0;
	padding-left: 1.2rem;
	display: grid;
	gap: 10px;
	color: var(--rto-ink);
	font-size: 1rem;
}
.rto-mini-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; }
.rto-mini-list li {
	padding: 8px 10px;
	border-radius: 8px;
	background: rgba(238, 246, 252, 0.8);
	font-weight: 700;
	font-size: .95rem;
}
.rto-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.rto-empty {
	text-align: center; padding: 48px 20px;
	background: var(--rto-glass);
	border-radius: var(--rto-radius);
	border: 1px dashed rgba(255, 255, 255, 0.75);
	backdrop-filter: var(--rto-blur-soft);
	-webkit-backdrop-filter: var(--rto-blur-soft);
}
.rto-empty h2 { font-family: var(--rto-display); margin: 0 0 8px; }
.rto-empty .rto-btn { margin-top: 16px; }

.rto-table-wrap { overflow-x: auto; }
.rto-table { width: 100%; border-collapse: collapse; font-size: .92rem; }
.rto-table th, .rto-table td {
	text-align: left; padding: 10px 8px;
	border-bottom: 1px solid rgba(197, 218, 240, 0.55);
	vertical-align: middle;
}
.rto-table th {
	color: var(--rto-muted); font-weight: 600; font-size: .8rem;
	text-transform: uppercase; letter-spacing: .04em;
}
.rto-badge {
	display: inline-flex; min-width: 2.4rem; justify-content: center;
	padding: 3px 8px; border-radius: 8px; font-weight: 700; font-size: .9rem;
}
.rto-badge--ok { background: rgba(223, 240, 251, 0.85); color: var(--rto-ok); }
.rto-badge--warn { background: var(--rto-yellow-soft); color: var(--rto-warn); }
.rto-badge--bad { background: rgba(255, 240, 212, 0.85); color: var(--rto-bad); }

.rto-store-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.rto-store-list li {
	display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap;
	padding-bottom: 14px; border-bottom: 1px solid rgba(197, 218, 240, 0.55);
}
.rto-store-list strong { display: block; }
.rto-store-list .rto-muted { display: block; font-size: .9rem; }
.rto-key {
	display: block; margin: 8px 0; padding: 8px 10px;
	background: rgba(255, 255, 255, 0.45);
	border: 1px solid rgba(255, 255, 255, 0.7);
	border-radius: 10px; word-break: break-all; cursor: pointer; font-size: .82rem;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.rto-key.is-copied {
	background: var(--rto-yellow-soft);
	border-color: rgba(245, 215, 110, 0.7);
}
.rto-store-actions { display: flex; gap: 8px; align-items: flex-start; }
.rto-inline-form { margin: 0; }
.rto-code {
	background: rgba(238, 246, 252, 0.55);
	color: var(--rto-ink);
	border: 1px solid rgba(255, 255, 255, 0.7);
	padding: 16px; border-radius: 14px;
	overflow-x: auto; font-size: .85rem; line-height: 1.45;
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.rto-docs .rto-panel h2 { font-family: var(--rto-display); font-size: 1.15rem; margin-top: 0; }

@media (max-width: 1100px) {
	.rto-dash__grid { grid-template-columns: 1fr; }
}
@media (max-width: 980px) {
	.rto-grid-2, .rto-stats { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
	.rto-grid-2, .rto-stats { grid-template-columns: 1fr; }
	.rto-menu-btn { display: none; }
	.rto-sidebar { display: none; }
	.rto-content { padding: 16px 16px 88px; }
	.rto-auth { padding-bottom: 96px; min-height: calc(100vh - 160px); }
	.rto-public-foot { padding-bottom: 88px; }
	.rto-public-nav { display: none; }
	.rto-btn,
	.rto-btn--sm,
	.rto-btn--block {
		width: 100%;
		min-height: 48px;
		font-size: 1rem;
		padding: 0 16px;
	}
	.rto-empty__actions,
	.rto-store-actions,
	.rto-tenant__bar,
	.rto-tenant-list li,
	.rto-result__compose-row,
	.rto-shopify-test {
		display: grid;
		grid-template-columns: 1fr;
		align-items: stretch;
	}
	.rto-tenant__bar { justify-items: stretch; }
}

/* Single-screen chooser landing */
html:has(body.rto-chooser-page),
body.rto-chooser-page {
	height: 100%;
	max-height: 100dvh;
	overflow: hidden;
}
.rto-chooser {
	height: 100dvh;
	max-height: 100dvh;
	overflow: hidden;
	display: grid;
	place-items: center;
	padding: 24px 24px 88px;
	position: relative;
	z-index: 1;
}
.rto-chooser__inner {
	width: min(720px, 100%);
	text-align: center;
	padding: 28px 24px;
	border-radius: 28px;
	background: var(--rto-glass);
	border: 1px solid rgba(255, 255, 255, 0.7);
	backdrop-filter: var(--rto-blur);
	-webkit-backdrop-filter: var(--rto-blur);
}
.rto-chooser__brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--rto-display);
	font-size: clamp(2rem, 5vw, 2.8rem);
	font-weight: 800;
	letter-spacing: 0;
	margin: 0 0 18px;
	color: var(--rto-ink);
}
.rto-chooser__brand .rto-brand__mark {
	width: 44px;
	height: 44px;
	font-size: 22px;
}
.rto-chooser__ask {
	font-family: var(--rto-display);
	font-size: clamp(1.35rem, 3vw, 1.85rem);
	font-weight: 700;
	letter-spacing: 0;
	margin: 0 0 8px;
}
.rto-chooser__hint {
	margin: 0 0 28px;
	color: var(--rto-muted);
}
.rto-chooser__options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}
.rto-chooser__card {
	display: grid;
	gap: 8px;
	justify-items: center;
	text-align: center;
	padding: 28px 18px;
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, 0.75);
	background: rgba(255, 255, 255, 0.4);
	color: var(--rto-ink);
	text-decoration: none !important;
	cursor: pointer;
	font: inherit;
	width: 100%;
	backdrop-filter: blur(16px) saturate(1.4);
	-webkit-backdrop-filter: blur(16px) saturate(1.4);
	transition: background .18s ease, border-color .18s ease, transform .18s ease;
}
.rto-chooser__card:hover {
	background: rgba(247, 251, 254, 0.72);
	border-color: rgba(59, 157, 217, 0.55);
	transform: translateY(-2px);
}
.rto-chooser__card--alt:hover {
	background: var(--rto-yellow-soft);
	border-color: rgba(224, 184, 74, 0.65);
}
.rto-chooser__card i {
	font-size: 2rem;
	color: var(--rto-accent);
}
.rto-chooser__card--alt i { color: var(--rto-yellow-deep); }
.rto-chooser__card strong {
	font-family: var(--rto-display);
	font-size: 1.25rem;
	letter-spacing: 0.01em;
}
.rto-chooser__card span {
	color: var(--rto-muted);
	font-size: .95rem;
	max-width: 18ch;
}
.rto-chooser__foot {
	margin: 22px 0 0;
	color: var(--rto-muted);
	font-size: .95rem;
}
@media (max-width: 640px) {
	.rto-chooser__options { grid-template-columns: 1fr; }
	.rto-chooser__card { padding: 22px 16px; }
}

/* Apple-style frosted glass popup */
.rto-glass[hidden] { display: none !important; }
.rto-glass {
	position: fixed;
	inset: 0;
	z-index: 80;
	display: grid;
	place-items: center;
	padding: 20px;
}
.rto-glass__backdrop {
	position: absolute;
	inset: 0;
	border: 0;
	padding: 0;
	cursor: pointer;
	background: rgba(26, 58, 92, 0.22);
	backdrop-filter: blur(22px) saturate(1.45);
	-webkit-backdrop-filter: blur(22px) saturate(1.45);
}
.rto-glass__sheet {
	position: relative;
	z-index: 1;
	width: min(420px, 100%);
	max-height: min(92vh, 760px);
	overflow: auto;
	border-radius: 28px;
	padding: 22px 20px 18px;
	background: rgba(255, 255, 255, 0.62);
	border: 1px solid rgba(255, 255, 255, 0.78);
	backdrop-filter: blur(32px) saturate(1.65);
	-webkit-backdrop-filter: blur(32px) saturate(1.65);
	animation: rto-glass-in .32s cubic-bezier(.22, 1, .36, 1);
}
@keyframes rto-glass-in {
	from { opacity: 0; transform: translateY(14px) scale(.96); }
	to { opacity: 1; transform: none; }
}
.rto-glass__x {
	position: absolute;
	top: 14px;
	right: 14px;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	border: 0;
	background: rgba(255, 255, 255, 0.45);
	color: var(--rto-ink);
	cursor: pointer;
	display: grid;
	place-items: center;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.rto-glass__x:hover { background: rgba(255, 255, 255, 0.7); }
.rto-glass__icon {
	width: 52px;
	height: 52px;
	border-radius: 16px;
	display: grid;
	place-items: center;
	margin: 0 auto 14px;
	background: var(--rto-yellow-soft);
	border: 1px solid rgba(245, 215, 110, 0.7);
	color: var(--rto-ink);
	font-size: 1.5rem;
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
}
.rto-glass__icon.is-rating {
	background: rgba(223, 240, 251, 0.7);
	border-color: rgba(197, 218, 240, 0.8);
	color: var(--rto-accent-deep);
}
.rto-glass__sheet h2 {
	margin: 0 0 8px;
	text-align: center;
	font-family: var(--rto-display);
	font-size: 1.45rem;
	letter-spacing: 0;
}
.rto-glass__lede {
	text-align: center;
	color: var(--rto-muted);
	margin: 0 0 18px;
	font-size: .95rem;
}
.rto-glass__label {
	display: block;
	font-weight: 600;
	font-size: .9rem;
	margin-bottom: 6px;
}
.rto-glass__lastname {
	margin: 12px 0 16px;
}
.rto-glass__phone {
	margin-bottom: 14px;
	text-align: center;
	font-size: 1.15rem;
	letter-spacing: 0.04em;
	background: rgba(255, 255, 255, 0.55);
}
.rto-glass__sheet .rto-phone {
	margin-bottom: 14px;
}
.rto-glass__eyebrow {
	text-transform: uppercase;
	letter-spacing: .1em;
	font-size: .68rem;
	color: var(--rto-muted);
	margin: 0 0 2px;
	font-weight: 700;
}
.rto-glass__score,
.rto-result__num {
	font-family: var(--rto-display);
	font-size: 3.1rem;
	font-weight: 800;
	letter-spacing: 0;
	line-height: .95;
	margin: 0;
	color: var(--rto-accent-deep);
}
.rto-glass__step[hidden],
.rto-result[hidden],
[data-rto-step="result"][hidden] {
	display: none !important;
}
.rto-result:not([hidden]) { display: grid; gap: 12px; }
.rto-result__hero {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 14px;
	align-items: center;
	padding: 4px 8px 2px 0;
}
.rto-result__num {
	min-width: 72px;
	height: 72px;
	border-radius: 20px;
	display: grid;
	place-items: center;
	background: rgba(223, 240, 251, 0.75);
	border: 1px solid rgba(255, 255, 255, 0.8);
	font-size: 2.2rem;
}
.rto-result__meta { min-width: 0; }
.rto-result__who {
	margin: 4px 0 0;
	color: var(--rto-ink);
	font-weight: 700;
	font-size: .92rem;
}
.rto-result__count {
	margin: 0;
	color: var(--rto-muted);
	font-size: .85rem;
	font-weight: 600;
}
.rto-result__block h3,
.rto-result__composer h3 {
	margin: 0 0 8px;
	font-size: .82rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--rto-muted);
}
.rto-result__composer {
	display: grid;
	gap: 8px;
	padding: 12px;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.42);
	border: 1px solid rgba(255, 255, 255, 0.7);
}
.rto-result__compose-row {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 8px;
}
.rto-scalebar {
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 8px;
	align-items: center;
	font-size: .75rem;
	font-weight: 700;
	color: var(--rto-muted);
}
.rto-scalebar b {
	display: block;
	height: 4px;
	border-radius: 99px;
	background: linear-gradient(90deg, rgba(223, 240, 251, 0.95), var(--rto-yellow));
}
.rto-rate__ends {
	display: flex;
	justify-content: space-between;
	margin: 0;
	font-size: .72rem;
	font-weight: 700;
	color: var(--rto-muted);
}
.rto-scale {
	margin: 0;
	color: var(--rto-muted);
	font-size: .82rem;
	font-weight: 600;
	line-height: 1.35;
}
.rto-scale--quiet {
	font-size: .72rem;
	font-weight: 500;
	text-align: left;
}
.rto-result .rto-scale--quiet { display: none; }
.rto-glass__label-big {
	font-weight: 800;
	font-size: 1.2rem;
	margin: 0;
	line-height: 1.2;
}
.rto-glass__cta {
	display: grid;
	gap: 8px;
	padding-top: 4px;
}
.rto-glass__cta > p {
	text-align: center;
	margin: 8px 0 2px;
	color: var(--rto-muted);
	font-size: .92rem;
}
body.rto-glass-open {
	overflow: hidden;
}

/* Compact ratings page */
.rto-rate { display: grid; gap: 12px; }
.rto-rate__stores {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.rto-rate__chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 12px 8px 8px;
	border-radius: 14px;
	background: var(--rto-glass);
	border: 1px solid rgba(255, 255, 255, 0.7);
	backdrop-filter: var(--rto-blur-soft);
	-webkit-backdrop-filter: var(--rto-blur-soft);
}
.rto-rate__chip-score {
	width: 40px;
	height: 40px;
	border-radius: 12px;
	display: grid;
	place-items: center;
	font-weight: 800;
	font-size: 1rem;
	background: var(--rto-yellow-soft);
	border: 1px solid rgba(245, 215, 110, 0.65);
	color: var(--rto-ink);
}
.rto-rate__chip-meta {
	display: grid;
	gap: 1px;
	line-height: 1.2;
}
.rto-rate__chip-meta strong {
	font-size: .92rem;
}
.rto-rate__chip-meta small {
	color: var(--rto-muted);
	font-size: .75rem;
}
.rto-rate__composer {
	padding: 12px !important;
	margin-bottom: 0 !important;
}
.rto-rate__form {
	display: grid;
	grid-template-columns: minmax(140px, 1.2fr) auto minmax(110px, .9fr) minmax(140px, 1.2fr) auto;
	gap: 8px;
	align-items: center;
}
.rto-rate__scorepick {
	display: flex;
	justify-content: space-between;
	gap: 4px;
	padding: 3px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.35);
	border: 1px solid rgba(255, 255, 255, 0.65);
}
.rto-glass__add .rto-rate__scorepick,
.rto-result__composer .rto-rate__scorepick { width: 100%; }
.rto-rate__star {
	flex: 1;
	cursor: pointer;
	margin: 0;
}
.rto-rate__star input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
.rto-rate__star span {
	display: grid;
	place-items: center;
	width: 100%;
	height: 32px;
	border-radius: 9px;
	font-weight: 700;
	font-size: .9rem;
	color: var(--rto-muted);
	background: transparent;
}
.rto-rate__star input:checked + span,
.rto-rate__star:hover span {
	background: var(--rto-yellow);
	color: var(--rto-ink);
}
.rto-rate__list-wrap {
	padding: 12px 14px !important;
	margin-bottom: 0 !important;
}
.rto-rate__list-head {
	margin-bottom: 8px !important;
}
.rto-rate__list-head h2 {
	font-size: 1rem !important;
}
.rto-rate__empty {
	margin: 6px 0 4px;
	font-size: .92rem;
}
.rto-rate__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0;
}
.rto-rate__row {
	display: grid;
	grid-template-columns: 44px 1fr auto;
	gap: 10px;
	align-items: center;
	padding: 8px 0;
	border-bottom: 1px solid rgba(197, 218, 240, 0.45);
}
.rto-rate__row:last-child { border-bottom: 0; }
.rto-rate__row-main {
	display: grid;
	gap: 2px;
	min-width: 0;
}
.rto-rate__row-main strong {
	font-size: .92rem;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rto-rate__row-main > span {
	font-size: .82rem;
	color: var(--rto-muted);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rto-rate__row-main code {
	font-size: .78rem;
	padding: 1px 5px;
}
.rto-rate__row time {
	font-size: .75rem;
	white-space: nowrap;
}
@media (max-width: 900px) {
	.rto-rate__form {
		grid-template-columns: 1fr 1fr;
	}
	.rto-rate__form .rto-btn { grid-column: 1 / -1; }
}
@media (max-width: 560px) {
	.rto-rate__form { grid-template-columns: 1fr; }
	.rto-rate__row {
		grid-template-columns: 40px 1fr;
	}
	.rto-rate__row time {
		grid-column: 2;
	}
}


/* Signup product picker */
.rto-pick {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}
.rto-pick__opt {
	display: grid;
	gap: 4px;
	justify-items: start;
	padding: 12px;
	border-radius: 14px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: rgba(255, 255, 255, 0.4);
	cursor: pointer;
	margin: 0;
}
.rto-pick__opt input { position: absolute; opacity: 0; pointer-events: none; }
.rto-pick__opt i { font-size: 1.25rem; color: var(--rto-accent); }
.rto-pick__opt strong { font-size: .95rem; }
.rto-pick__opt span { font-size: .78rem; color: var(--rto-muted); line-height: 1.3; }
.rto-pick__opt:has(input:checked) {
	background: var(--rto-yellow-soft);
	border-color: rgba(245, 215, 110, 0.8);
}
.rto-auth__panel { width: min(480px, calc(100% - 32px)); }

/* Tenant check page */
.rto-tenant-page { display: grid; gap: 16px; }
.rto-tenant__bar {
	padding: 16px 18px;
	border-radius: 18px;
	background: var(--rto-glass-strong);
	border: 1px solid rgba(255, 255, 255, 0.7);
	backdrop-filter: var(--rto-blur);
	-webkit-backdrop-filter: var(--rto-blur);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}
.rto-tenant__bar p { margin: 0; }
.rto-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
.rto-tenant-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.rto-tenant-list li {
	display: flex; justify-content: space-between; gap: 12px; align-items: center;
	padding: 10px 12px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.4);
	border: 1px solid rgba(255, 255, 255, 0.7);
}
.rto-tenant-list strong { display: block; }
.rto-tenant-list .rto-muted { display: block; font-size: .9rem; }
.rto-tenant-list .rto-badge { margin: 6px 8px 0 0; }
.rto-tenant-list small { color: var(--rto-muted); }
@media (max-width: 760px) {
	.rto-form-row,
	.rto-result__compose-row { grid-template-columns: 1fr; }
}

.rto-glass__reviews {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
	max-height: 160px;
	overflow: auto;
	text-align: left;
}
.rto-glass__reviews li {
	display: grid;
	grid-template-columns: 36px 1fr;
	gap: 10px;
	align-items: start;
	padding: 8px 10px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.48);
	border: 1px solid rgba(255, 255, 255, 0.7);
	font-size: .88rem;
}
.rto-glass__reviews strong {
	width: 36px;
	height: 36px;
	border-radius: 11px;
	display: grid;
	place-items: center;
	background: var(--rto-yellow-soft);
	font-size: .9rem;
}
.rto-glass__review-body {
	display: grid;
	gap: 2px;
	min-width: 0;
	padding-top: 2px;
}
.rto-glass__reviews small { color: var(--rto-muted); font-size: .72rem; }

/* Mobile footer — every page */
.rto-mfoot {
	display: none;
}
@media (max-width: 760px) {
	.rto-mfoot {
		display: flex;
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 70;
		justify-content: space-around;
		align-items: stretch;
		gap: 4px;
		padding: 6px 8px calc(6px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, 0.72);
		border-top: 1px solid rgba(255, 255, 255, 0.75);
		backdrop-filter: blur(22px) saturate(1.5);
		-webkit-backdrop-filter: blur(22px) saturate(1.5);
	}
	.rto-mfoot a {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2px;
		min-height: 48px;
		border-radius: 12px;
		color: var(--rto-muted);
		text-decoration: none !important;
		font-size: .68rem;
		font-weight: 700;
	}
	.rto-mfoot a i { font-size: 1.2rem; }
	.rto-mfoot a.is-active {
		color: var(--rto-ink);
		background: var(--rto-yellow-soft);
	}
	body.rto-glass-open .rto-mfoot { display: none; }
}

.rto-otp-demo {
	margin: 0 0 14px;
	padding: 10px 12px;
	border-radius: 12px;
	background: var(--rto-yellow-soft);
	border: 1px solid rgba(245, 215, 110, 0.7);
	font-weight: 600;
	color: var(--rto-ink);
}
.rto-otp-demo code {
	font-size: 1.15rem;
	letter-spacing: .18em;
	margin-left: 4px;
}
.rto-otp-resend { margin-top: 8px; }
.rto-pin-row--otp { max-width: 240px; }

.rto-flash {
	margin: 0 0 16px;
	padding: 12px 14px;
	border-radius: var(--rto-radius);
	border: 1px solid rgba(255, 255, 255, 0.7);
	backdrop-filter: var(--rto-blur-soft);
	-webkit-backdrop-filter: var(--rto-blur-soft);
	font-weight: 600;
}
.rto-flash--ok {
	background: rgba(223, 240, 251, 0.75);
	color: var(--rto-ok);
}
.rto-flash--err {
	background: var(--rto-yellow-soft);
	color: var(--rto-bad);
}
.rto-shopify-test {
	display: grid;
	grid-template-columns: minmax(160px, 1.2fr) minmax(140px, 1fr) auto;
	gap: 10px;
	align-items: end;
}
@media (max-width: 760px) {
	.rto-shopify-test { grid-template-columns: 1fr; }
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.rto-public-top,
	.rto-auth__panel,
	.rto-sidebar,
	.rto-topbar,
	.rto-panel,
	.rto-stat,
	.rto-chooser__inner,
	.rto-chooser__card,
	.rto-glass__sheet,
	.rto-empty {
		background: rgba(255, 255, 255, 0.92);
	}
}
