:root {
	color-scheme: light;
	--bg: oklch(97% 0.012 74);
	--fg: oklch(20% 0.018 70);
	--muted: oklch(43% 0.025 70);
	--accent: oklch(45% 0.13 250);
	--accent-hover: oklch(37% 0.14 250);
	--accent-soft: oklch(94% 0.035 250);
	--border: oklch(86% 0.018 74);
	--danger: oklch(46% 0.16 25);
	--danger-soft: oklch(94% 0.045 25);
	--danger-border: oklch(82% 0.08 25);
	--card: oklch(99% 0.006 74);
	--card-tinted: oklch(96% 0.018 74);
	--on-accent: oklch(99% 0.006 74);
	--banner-error-bg: var(--danger-soft);
	--banner-error-border: var(--danger-border);
	--banner-info-bg: var(--accent-soft);
	--banner-info-border: oklch(82% 0.07 250);
	--success: oklch(43% 0.13 145);
	--ease-out: cubic-bezier(0.22, 1, 0.36, 1);
	--motion-fast: 160ms;
}

html[data-theme="dark"] {
	color-scheme: dark;
	--bg: oklch(19% 0.018 250);
	--fg: oklch(92% 0.018 74);
	--muted: oklch(73% 0.03 74);
	--accent: oklch(72% 0.12 250);
	--accent-hover: oklch(79% 0.105 250);
	--accent-soft: oklch(28% 0.055 250);
	--border: oklch(34% 0.028 250);
	--danger: oklch(72% 0.15 25);
	--danger-soft: oklch(28% 0.06 25);
	--danger-border: oklch(43% 0.095 25);
	--card: oklch(23% 0.022 250);
	--card-tinted: oklch(26% 0.028 250);
	--on-accent: oklch(18% 0.02 250);
	--banner-info-border: oklch(43% 0.08 250);
	--success: oklch(75% 0.14 145);
}

@media (prefers-color-scheme: dark) {
	:root:not([data-theme="light"]) {
		color-scheme: dark;
		--bg: oklch(19% 0.018 250);
		--fg: oklch(92% 0.018 74);
		--muted: oklch(73% 0.03 74);
		--accent: oklch(72% 0.12 250);
		--accent-hover: oklch(79% 0.105 250);
		--accent-soft: oklch(28% 0.055 250);
		--border: oklch(34% 0.028 250);
		--danger: oklch(72% 0.15 25);
		--danger-soft: oklch(28% 0.06 25);
		--danger-border: oklch(43% 0.095 25);
		--card: oklch(23% 0.022 250);
		--card-tinted: oklch(26% 0.028 250);
		--on-accent: oklch(18% 0.02 250);
		--banner-info-border: oklch(43% 0.08 250);
		--success: oklch(75% 0.14 145);
	}
}

* { box-sizing: border-box; }

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

body {
	margin: 0;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	background: var(--bg);
	color: var(--fg);
	line-height: 1.5;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

.container {
	max-width: 720px;
	margin: 0 auto;
	padding: clamp(1rem, 4vw, 1.5rem);
}

header { margin-bottom: 1.5rem; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.brand-row { display: inline-flex; align-items: center; gap: 0.5rem; }
.logo {
	font-weight: 700;
	font-size: 1.25rem;
	text-decoration: none;
	color: var(--fg);
	letter-spacing: -0.02em;
}
.nav-right { display: flex; align-items: center; justify-content: flex-end; gap: 0.75rem 1rem; font-size: 0.85rem; flex-wrap: wrap; min-width: 0; }
.nav-right a { color: var(--accent); text-decoration: none; transition: color var(--motion-fast) var(--ease-out); }
.nav-right a:hover { text-decoration: underline; }

.login-page { display: flex; flex-direction: column; align-items: center; min-height: 80vh; }
.login-card {
	width: 100%;
	max-width: 360px;
	padding: 2rem;
	background: var(--card);
	border: 1px solid var(--border);
	border-radius: 8px;
	margin-top: auto;
	margin-bottom: auto;
}
.login-card h1 { text-align: center; margin-bottom: 0.5rem; }
.login-form { display: flex; flex-direction: column; gap: 0.75rem; margin-top: 1rem; }
.login-form input { font-family: ui-monospace, "SF Mono", Menlo, monospace; letter-spacing: 0.05em; text-align: center; }
.login-divider {
	text-align: center;
	margin: 1.25rem 0;
	color: var(--muted);
	font-size: 0.85rem;
	position: relative;
}
.login-divider::before, .login-divider::after {
	content: "";
	position: absolute;
	top: 50%;
	width: 40%;
	height: 1px;
	background: var(--border);
}
.login-divider::before { left: 0; }
.login-divider::after { right: 0; }
.login-card form button { width: 100%; }

.how-it-works {
	width: 100%;
	max-width: 480px;
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--border);
}
.how-it-works h2 {
	border-bottom: none;
	text-align: center;
	margin-top: 0;
}
.steps {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.steps li {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
}
.steps .step-num {
	flex-shrink: 0;
	width: 26px;
	height: 26px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--accent);
	color: var(--on-accent);
	font-size: 0.8rem;
	font-weight: 700;
	margin-top: 0.1rem;
}
.steps p { margin: 0.15rem 0 0; font-size: 0.9rem; color: var(--muted); }

h1 { font-size: clamp(1.35rem, 6vw, 1.5rem); margin: 0 0 0.5rem; display: flex; align-items: center; gap: 0.35rem; flex-wrap: wrap; overflow-wrap: anywhere; }
.title-actions {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	margin-left: 0.45rem;
}
.icon-action {
	width: 32px;
	height: 32px;
	min-width: 32px;
	min-height: 32px;
	padding: 0;
	border: 1px solid var(--border);
	border-radius: 6px;
	background: transparent;
	color: var(--muted);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	text-decoration: none;
	transition: border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);
}
.icon-action:hover { background: transparent; color: var(--accent); border-color: var(--accent); }
.icon-action:active { transform: translateY(1px); }
.icon-action:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.icon-action svg { display: block; }
.icon-action-danger:hover { color: var(--danger); border-color: var(--danger); }
@media (pointer: coarse) { .icon-action { width: 44px; height: 44px; min-width: 44px; min-height: 44px; } }
.text-action {
	padding: 0;
	border: none;
	background: transparent;
	color: var(--accent);
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	transition: color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);
}
.text-action:hover { background: transparent; color: var(--accent-hover); text-decoration: underline; }
.text-action:active { transform: translateY(1px); }
.text-action:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.text-action-danger { color: var(--muted); }
.text-action-danger:hover { color: var(--danger); }
h2 {
	font-size: 1.1rem;
	margin: 1.5rem 0 0.5rem;
	padding-bottom: 0.25rem;
	border-bottom: 1px solid var(--border);
}
.hint { color: var(--muted); font-size: 0.9rem; margin: 0.5rem 0 1rem; }

.create-form { display: flex; flex-direction: column; gap: 0.75rem; }

textarea {
	width: 100%;
	padding: 0.75rem;
	border: 1px solid var(--border);
	border-radius: 6px;
	font-family: ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 0.85rem;
	resize: vertical;
	background: var(--card);
	color: var(--fg);
	transition: border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);
}
textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-color: transparent; }

input[type="text"], input[type="time"], input[type="date"] {
	padding: 0.4rem 0.5rem;
	border: 1px solid var(--border);
	border-radius: 4px;
	font-size: 1rem;
	background: var(--card);
	color: var(--fg);
	width: 100%;
	transition: border-color var(--motion-fast) var(--ease-out), box-shadow var(--motion-fast) var(--ease-out);
}
input[type="text"]:focus-visible, input[type="time"]:focus-visible, input[type="date"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-color: transparent; }

.actions { margin: 1rem 0; display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }

button {
	padding: 0.55rem 1rem;
	border: none;
	border-radius: 6px;
	background: var(--accent);
	color: var(--on-accent);
	font-weight: 600;
	cursor: pointer;
	font-size: 1rem;
	min-height: 44px;
	transition: background-color var(--motion-fast) var(--ease-out), border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out), opacity var(--motion-fast) var(--ease-out);
}
button:hover { background: var(--accent-hover); }
button:active { transform: translateY(1px); }
button:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: 2px; }
button.ghost { background: transparent; color: var(--accent); border: 1px solid var(--accent); }
button.ghost:hover { background: var(--banner-info-bg); color: var(--accent-hover); border-color: var(--accent-hover); }
button.danger { background: var(--danger); }
button:disabled, button[disabled] { cursor: not-allowed; opacity: 0.65; transform: none; }
button:disabled:hover, button[disabled]:hover { background: var(--accent); }
button.ghost:disabled:hover, button.ghost[disabled]:hover { background: transparent; color: var(--accent); border-color: var(--accent); }
button.danger:disabled:hover, button.danger[disabled]:hover { background: var(--danger); }
button[type="button"].ghost { font-weight: 400; }

.banner { padding: 0.75rem 1rem; border-radius: 6px; margin: 1rem 0; }
.banner.error { background: var(--banner-error-bg); color: var(--danger); border: 1px solid var(--banner-error-border); }
.banner.info { background: var(--banner-info-bg); color: var(--accent); border: 1px solid var(--banner-info-border); }
.banner.dismissable { display: flex; align-items: center; justify-content: space-between; }
.banner.info .spinner { display: inline-flex; align-items: center; gap: 0.4rem; }
.acct-num {
	cursor: pointer;
	font-family: ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 0.8rem;
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	min-height: 44px;
	padding: 0.25rem 0.5rem;
	border: 1px solid transparent;
	border-radius: 6px;
	background: transparent;
	color: var(--fg);
	transition: border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out), transform var(--motion-fast) var(--ease-out);
}
.acct-num:hover { color: var(--accent); border-color: var(--border); background: transparent; }
.acct-num:active { transform: translateY(1px); }
.acct-num:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.theme-toggle {
	width: 34px;
	height: 34px;
	min-height: 34px;
	padding: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--card-tinted);
	color: var(--fg);
	border: 1px solid var(--border);
	border-radius: 999px;
}
.theme-toggle:hover { background: var(--accent-soft); color: var(--accent-hover); border-color: var(--banner-info-border); }
.theme-toggle:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.theme-icon { display: none; }
.theme-toggle[data-next="dark"] .theme-icon-moon,
.theme-toggle[data-next="light"] .theme-icon-sun { display: block; }
button.tiny { padding: 0.2rem 0.5rem; font-size: 0.75rem; min-height: 32px; }
@media (pointer: coarse) {
	.theme-toggle { width: 44px; height: 44px; min-height: 44px; }
	button.tiny { min-height: 44px; padding: 0.4rem 0.75rem; }
}

.share-card {
	margin: 1rem 0;
	padding: 0.75rem;
	background: var(--card-tinted);
	border: 1px solid var(--border);
	border-radius: 6px;
}
.share-card label { display: block; font-size: 0.8rem; color: var(--muted); margin-bottom: 0.25rem; }
.share-card input { width: 100%; cursor: pointer; }
.share-row { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; min-width: 0; }
.share-row input { flex: 1 1 auto; min-width: 0; }
.copy-btn { flex-shrink: 0; }
.copy-btn .copy-icon.copied { color: var(--success); }

.events-edit {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	margin: 1rem 0;
}
.event-row {
	display: grid;
	grid-template-columns: 1.2fr 0.8fr 0.8fr 1.8fr 1.8fr 0.8fr auto;
	grid-template-areas: "day start end title location price remove";
	gap: 0.5rem;
	align-items: end;
	padding: 0.5rem;
	background: var(--card-tinted);
	border: 1px solid var(--border);
	border-radius: 6px;
}
.event-row .field-day { grid-area: day; }
.event-row .field-start { grid-area: start; }
.event-row .field-end { grid-area: end; }
.event-row .field-title { grid-area: title; }
.event-row .field-loc { grid-area: location; }
.event-row .field-price { grid-area: price; }
.event-row .field-remove { grid-area: remove; }
.event-row label {
	font-size: 0.8rem;
	color: var(--muted);
	display: block;
	margin-bottom: 0.15rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}
.event-row button, .event-row .remove-row {
	background: transparent;
	color: var(--muted);
	border: 1px solid var(--border);
	padding: 0.3rem 0.6rem;
	font-size: 0.8rem;
	min-height: 32px;
	min-width: 32px;
}
.event-row button:hover, .event-row .remove-row:hover { color: var(--danger); border-color: var(--danger); }
.event-row button:active, .event-row .remove-row:active { transform: translateY(1px); }
.event-row .remove-row:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (pointer: coarse) {
	.event-row button, .event-row .remove-row { min-height: 44px; min-width: 44px; }
}

.day { margin-bottom: 1rem; }
.event {
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--border);
	min-width: 0;
}
.event:last-child { border-bottom: none; }
.event .time { font-weight: 600; font-size: 0.95rem; }
.event .title { font-size: 1rem; margin-top: 0.15rem; overflow-wrap: anywhere; }
.event .loc { margin-top: 0.15rem; font-size: 0.9rem; overflow-wrap: anywhere; }
.event .loc a { color: var(--accent); text-decoration: none; transition: color var(--motion-fast) var(--ease-out); }
.event .loc a:hover { text-decoration: underline; }
.event .price { margin-top: 0.15rem; color: var(--muted); font-size: 0.9rem; overflow-wrap: anywhere; }
.event .local-note { color: var(--muted); font-size: 0.8rem; display: block; }

.notes {
	margin: 1.5rem 0 1rem;
	padding: 0.75rem;
	background: var(--card-tinted);
	border: 1px solid var(--border);
	border-radius: 6px;
}
.notes h2 { margin-top: 0; }
.notes-text {
	margin: 0;
	white-space: pre-wrap;
	overflow-wrap: anywhere;
	line-height: 1.6;
}
.notes-edit { margin: 1rem 0; }
.notes-edit label {
	display: block;
	font-size: 0.8rem;
	color: var(--muted);
	margin-bottom: 0.25rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.muted { color: var(--muted); font-size: 0.85rem; font-weight: normal; }
.inline { display: inline; }
.itin-list { list-style: none; padding: 0; }
.itin-list li {
	display: flex;
	align-items: center;
	gap: 1rem;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--border);
	min-width: 0;
}
.itin-list li:last-child { border-bottom: none; }
.itin-list a { color: var(--accent); text-decoration: none; min-width: 0; overflow-wrap: anywhere; }
.itin-main { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.itin-title { display: flex; align-items: center; min-width: 0; }

.tabs { display: flex; gap: 0; border-bottom: 1px solid var(--border); margin-bottom: 1rem; }
button.tab {
	background: transparent;
	color: var(--muted);
	border: none;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	padding: 0.6rem 1rem;
	font-size: 0.95rem;
	font-weight: 600;
	cursor: pointer;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	transition: border-color var(--motion-fast) var(--ease-out), color var(--motion-fast) var(--ease-out);
}
button.tab:hover { background: transparent; color: var(--fg); }
button.tab.active { color: var(--accent); border-bottom-color: var(--accent); }
button.tab:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.tab-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	padding: 0 0.3rem;
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--on-accent);
	background: var(--accent);
	border-radius: 9px;
}
.tab-panel { display: none; }
.tab-panel.active { display: block; }
.share-create-form { display: flex; flex-direction: column; align-items: flex-start; gap: 0.65rem; }
.share-create-form label { font-weight: 600; }
.share-create-form input { width: 100%; }
.field-hint { color: var(--muted); font-size: 0.85rem; margin: -0.35rem 0 0; }

.share-card {
	margin: 1rem 0;
	padding: 1rem;
	background: var(--card-tinted);
	border: 1px solid var(--border);
	border-radius: 6px;
}
.share-card h2 { margin: 0 0 0.4rem; font-size: 1.05rem; }
.share-card > .hint { margin: 0 0 1rem; }

.qr-card {
	margin: 1rem 0;
	padding: 1rem;
	background: var(--card-tinted);
	border: 1px solid var(--border);
	border-radius: 6px;
}
.qr-card-body { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; }
.qr-card-text { flex: 1 1 240px; min-width: 0; }
.qr-card-text h2 { margin: 0 0 0.4rem; font-size: 1.05rem; }
.qr-card-text .hint { margin: 0 0 0.5rem; }
.qr-refresh-hint { color: var(--success); font-size: 0.8rem; margin: 0 0 0.5rem; min-height: 1.1em; }
.qr-img-wrap { flex: 0 0 auto; padding: 0.5rem; background: #fff; border-radius: 6px; }
.qr-img-wrap img { display: block; width: 200px; height: 200px; }
.share-list { list-style: none; padding: 0; margin-top: 1rem; }
.share-list li {
	padding: 0.75rem 0;
	border-bottom: 1px solid var(--border);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
}
.share-list li:last-child { border-bottom: none; }
.share-list .share-row { flex: 1 1 300px; flex-wrap: nowrap; }

.follow-list { list-style: none; padding: 0; }
.follow-list li {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--border);
	min-width: 0;
}
.follow-list li:last-child { border-bottom: none; }
.follow-main { flex: 1 1 200px; min-width: 0; }
.follow-main strong, .follow-main .muted { overflow-wrap: anywhere; }
.tag-form { display: inline-flex; gap: 0.25rem; align-items: center; }
.tag-form input { width: 140px; padding: 0.2rem 0.4rem; font-size: 0.85rem; }

.name-form { display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap; margin: 1rem 0; }
.name-form label { font-weight: 600; font-size: 0.9rem; }
.name-form input { flex: 1 1 240px; min-width: 0; }

.feed-list { list-style: none; padding: 0; }
.feed-list li {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--border);
	min-width: 0;
}
.feed-list li:last-child { border-bottom: none; }
.feed-list a, .follow-list a { color: var(--accent); text-decoration: none; overflow-wrap: anywhere; transition: color var(--motion-fast) var(--ease-out); }
.feed-list a:hover, .follow-list a:hover { text-decoration: underline; }
.feed-list a { min-width: 0; }

.tiny { font-size: 0.8rem; padding: 0.2rem 0.5rem; }
.danger.tiny { background: transparent; color: var(--danger); border-color: var(--danger); }
.reparse-btn { width: 100%; margin-top: 0.5rem; background: transparent; color: var(--accent); border: 1px solid var(--accent); }
.reparse-btn:hover { background: transparent; color: var(--accent); border-color: var(--accent); }
.reparse-btn:disabled { opacity: 0.6; cursor: not-allowed; }
.danger-zone { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid var(--border); }

details { margin-top: 2rem; margin-bottom: 1.5rem; }
summary { cursor: pointer; color: var(--muted); font-size: 0.9rem; }
pre {
	background: var(--card);
	padding: 0.75rem;
	border: 1px solid var(--border);
	border-radius: 6px;
	white-space: pre-wrap;
	font-size: 0.8rem;
	overflow-x: auto;
}

.htmx-indicator { display: none; color: var(--muted); font-size: 0.9rem; }
.htmx-request.htmx-indicator, .htmx-request .htmx-indicator { display: inline-flex; align-items: center; gap: 0.4rem; }
.spinner::before { content: ""; width: 14px; height: 14px; border: 2px solid var(--border); border-top-color: var(--accent); border-radius: 50%; animation: spin 0.6s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 1ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 1ms !important;
	}

	button:active,
	.icon-action:active,
	.acct-num:active,
	.event-row button:active,
	.event-row .remove-row:active {
		transform: none;
	}

	.spinner::before {
		animation: none;
	}
}

@media (max-width: 640px) {
	header {
		align-items: flex-start;
		flex-direction: column;
	}

	.nav-right {
		width: 100%;
		justify-content: flex-start;
	}

	.nav-right a {
		display: inline-flex;
		align-items: center;
		min-height: 44px;
	}

	.acct-num {
		width: 100%;
		justify-content: space-between;
	}

	.login-page {
		min-height: 100svh;
	}

	.login-card {
		padding: 1.25rem;
	}

	textarea {
		font-size: 1rem;
	}

	.actions,
	.name-form,
	.share-list li,
	.follow-list li,
	.feed-list li {
		align-items: stretch;
		flex-direction: column;
	}

	.qr-card-body { flex-direction: column; align-items: center; text-align: center; }
	.qr-card-text { flex: 1 1 auto; }

	.actions button,
	.name-form button,
	.reparse-form button,
	.share-list button,
	.follow-list button,
	.feed-list button,
	button.tiny,
	.tag-form,
	.tag-form input {
		width: 100%;
	}

	.name-form input {
		flex: 0 1 auto;
	}

	button.tiny {
		min-height: 44px;
	}

	.tab-panel > form.inline,
	.follow-list form.inline,
	.share-list form.inline {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		width: 100%;
	}

	.tab-panel > form.inline input,
	.tag-form input {
		font-size: 1rem;
	}

	.share-row {
		flex-wrap: nowrap;
		width: 100%;
	}

	.copy-btn {
		width: 44px;
		flex: 0 0 44px;
	}

	.itin-list li {
		align-items: stretch;
		gap: 0.5rem;
	}

	.itin-title {
		align-items: flex-start;
		flex-direction: column;
		gap: 0.4rem;
	}

	.title-actions {
		margin-left: 0;
	}

	.tabs {
		overflow-x: auto;
	}

	button.tab {
		flex: 1 0 auto;
		justify-content: center;
	}

	.event-row {
		grid-template-columns: 1fr 1fr;
		grid-template-areas:
			"day day"
			"start end"
			"title title"
			"location location"
			"price price"
			"remove remove";
	}

	.event-row .remove-row {
		width: 100%;
	}
}
