:root {
	--ink:#213335;
	--muted:#687776;
	--accent:#b44b2e;
	--accent-soft:#faeee7;
	--paper:#f6f7f5;
	--line:#e1e6e1;
	--white:#fff;
	--forest:#284a43;
	--bs-body-font-family:"Segoe UI",Arial,sans-serif;
	--bs-body-color:var(--ink);
	--bs-body-bg:var(--paper);
	--bs-border-color:var(--line);
	--bs-border-radius:10px;
}
* {
	box-sizing:border-box;
}
body {
	margin:0;
	font-size:16px;
	line-height:1.5;
}
button,input,select,textarea {
	font:inherit;
}
button,a,input,select,textarea {
	touch-action:manipulation;
}
a {
	color:inherit;
}
button {
	cursor:pointer;
}
button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible {
	outline:3px solid #c97542;
	outline-offset:3px;
}
h1,h2,h3,h4,p {
	margin-top:0;
}
h2 {
	font-size:1.7rem;
	letter-spacing:-.045em;
	font-weight:650;
}
h3 {
	font-size:1.1rem;
	font-weight:650;
}
h4 {
	font-size:1rem;
	font-weight:600;
}
.icon {
	width:20px;
	height:20px;
	flex-shrink:0;
	vertical-align:middle;
	stroke-width:1.7;
}
.skip-link {
	position:fixed;
	top:-70px;
	left:20px;
	z-index:100;
	padding:10px;
	background:white;
}
.skip-link:focus {
	top:10px;
}
.sidebar {
	position:fixed;
	inset:0 auto 0 0;
	width:224px;
	background:#1e3033;
	color:#ccd5d1;
	padding:30px 18px;
	display:flex;
	flex-direction:column;
	z-index:10;
}
.sidebar__brand {
	display:flex;
	align-items:center;
	gap:12px;
	text-decoration:none;
	font-size:19px;
	font-weight:700;
	letter-spacing:2px;
	color:#fff;
	padding:0 8px;
}
.brand-mark {
	width:40px;
	height:43px;
	border-radius:10px;
	background:#edbc7b;
	color:#203737;
	display:grid;
	place-items:center;
	font-family:serif;
	font-size:28px;
	font-weight:400;
}
.sidebar__brand-caption {
	display:block;
	font-size:10px;
	font-weight:400;
	letter-spacing:1px;
	color:#c2cfca;
	margin-top:1px;
}
.sidebar__trip {
	margin:38px 8px 28px;
	display:flex;
	flex-direction:column;
	gap:8px;
}
.sidebar__eyebrow {
	font-size:11px;
	letter-spacing:1.7px;
	color:#a2b9b2;
}
.sidebar__trip strong {
	font-size:19px;
	color:#f2f4f0;
	font-weight:600;
}
.sidebar__trip strong span {
	font-family:serif;
	font-weight:400;
	font-size:16px;
	color:#a7b8b1;
	margin-left:8px;
}
.sidebar__trip>span:last-child {
	font-size:13px;
	color:#bfcbc5;
}
.sidebar__nav {
	display:grid;
	gap:6px;
}
.nav-link {
	display:flex;
	gap:12px;
	align-items:center;
	color:#c2cfcb;
	border-radius:8px;
	padding:12px 14px;
	text-decoration:none;
	font-size:14px;
	font-weight:500;
	position:relative;
}
.nav-link:hover {
	color:white;
	background:#2b4042;
}
.nav-link[aria-current="page"] {
	background:#eac291;
	color:#253637;
}
.nav-link[aria-current="page"]::after {
	content:"";
	width:5px;
	height:5px;
	border-radius:50%;
	background:#495a4e;
	margin-left:auto;
}
.nav-link .icon {
	width:19px;
	height:19px;
}
.sidebar__bottom {
	margin-top:auto;
	padding:38px 9px 0;
}
.sidebar__bottom p {
	font-size:18px;
	line-height:1.55;
	color:#e4e9e4;
	margin:12px 0 28px;
}
.sidebar__storage {
	display:flex;
	gap:10px;
	align-items:center;
	font-size:12px;
	color:#b6c9c0;
	border-top:1px solid #405351;
	padding-top:20px;
}
.workspace {
	margin-left:224px;
}
.topbar {
	height:75px;
	padding:0 38px;
	display:flex;
	align-items:center;
	justify-content:space-between;
	background:#fff;
	border-bottom:1px solid var(--line);
}
.topbar__breadcrumb {
	font-size:14px;
	color:var(--muted);
}
.topbar__breadcrumb span {
	margin:0 13px;
	color:#c0c6c2;
}
.topbar__breadcrumb strong {
	font-weight:500;
	color:var(--ink);
}
.topbar__right {
	display:flex;
	align-items:center;
	gap:20px;
}
.draft-badge {
	font-size:12px;
	background:#f3f5f0;
	color:#526257;
	padding:6px 12px;
	border-radius:5px;
}
.avatar {
	width:32px;
	height:32px;
	display:grid;
	place-items:center;
	border-radius:50%;
	background:#e9ede8;
	color:#526052;
	font-size:13px;
}
.main {
	max-width:1536px;
	padding:28px 38px 0;
}
.trip-cover {
	height:215px;
	position:relative;
	overflow:hidden;
	border-radius:13px;
	color:white;
	background:#2a4944;
}
.trip-cover__image {
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 80%;
	position:absolute;
	inset:0;
}
.trip-cover::after {
	content:"";
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(14,37,34,.87),rgba(15,41,36,.37) 55%,rgba(14,38,34,.03));
}
.trip-cover__content {
	position:relative;
	z-index:1;
	padding:24px 32px;
}
.trip-cover__eyebrow {
	font-size:11px;
	letter-spacing:2px;
	color:#e3e6d8;
}
.trip-cover h1 {
	font-family:Georgia,"Times New Roman",serif;
	font-size:54px;
	letter-spacing:-2px;
	line-height:1.12;
	margin:8px 0;
}
.trip-cover h1 span {
	font-size:34px;
	font-weight:400;
	color:#e0dac3;
	margin-left:14px;
	letter-spacing:3px;
}
.trip-cover p {
	font-size:14px;
	color:#e6e9e3;
	margin-bottom:16px;
}
.trip-cover__dates {
	display:flex;
	gap:10px;
	align-items:center;
	font-size:12px;
	color:#e7eae1;
}
.trip-cover__dates .icon {
	width:16px;
	height:16px;
}
.trip-cover__divider {
	width:1px;
	height:12px;
	background:#a2b6a7;
	margin:0 4px;
}
.trip-cover__stamp {
	position:absolute;
	right:26px;
	top:26px;
	z-index:1;
	border:1px solid #d7e0d3;
	color:#f0f1e5;
	padding:10px;
	font-size:10px;
	letter-spacing:2px;
	line-height:1.65;
	transform:rotate(5deg);
	background:#24463844;
}
.trip-cover__credit {
	position:absolute;
	bottom:10px;
	right:15px;
	font-size:10px;
	z-index:1;
	color:#fff;
	text-shadow:0 1px 3px #000;
}
.route-bar {
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:16px;
	padding:19px 0 14px;
}
.route-bar__cities {
	display:flex;
	align-items:center;
	gap:11px;
	flex-wrap:wrap;
	font-size:12px;
	color:#435850;
}
.route-bar__cities .icon {
	width:13px;
	height:13px;
	color:#89978e;
}
.route-bar__cities strong {
	font-weight:600;
}
.route-bar__select {
	width:182px;
	flex-shrink:0;
}
.route-bar__select .form-select {
	font-size:12px;
	padding:8px 28px 8px 12px;
	background-color:transparent;
}
.plan-notice {
	display:flex;
	gap:10px;
	align-items:flex-start;
	color:#697369;
	font-size:12px;
	margin:0 0 24px;
}
.plan-notice .icon {
	width:16px;
	height:16px;
	margin-top:1px;
	flex-shrink:0;
}
.view-heading {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:12px;
	margin:0 0 20px;
}
.view-heading h2 {
	margin-bottom:5px;
}
.view-heading p {
	font-size:13px;
	color:var(--muted);
	margin:0;
}
.btn {
	font-size:13px;
	font-weight:600;
	border-radius:7px;
	padding:10px 15px;
	display:inline-flex;
	gap:8px;
	align-items:center;
	justify-content:center;
}
.btn .icon {
	width:16px;
	height:16px;
}
.btn-primary {
	--bs-btn-bg:var(--forest);
	--bs-btn-border-color:var(--forest);
	--bs-btn-hover-bg:#203c36;
	--bs-btn-hover-border-color:#203c36;
	--bs-btn-active-bg:#203c36;
	--bs-btn-active-border-color:#203c36;
}
.btn-light {
	background:white;
	border:1px solid var(--line);
	color:var(--ink);
}
.day-strip {
	display:flex;
	gap:8px;
	overflow-x:auto;
	padding:2px 2px 12px;
	scrollbar-width:thin;
	scrollbar-color:#ced7ce transparent;
	margin-bottom:17px;
}
.day-button {
	flex:1 0 65px;
	max-width:96px;
	border:1px solid var(--line);
	background:#fff;
	border-radius:9px;
	padding:10px 8px;
	color:#768078;
	text-align:center;
	transition:background .15s;
}
.day-button span {
	display:block;
	font-size:11px;
}
.day-button strong {
	display:block;
	color:var(--ink);
	font-size:23px;
	line-height:1.3;
	font-weight:550;
	margin:4px 0;
}
.day-button[aria-pressed="true"] {
	background:var(--forest);
	border-color:var(--forest);
	color:#d8e1d4;
}
.day-button[aria-pressed="true"] strong {
	color:white;
}
.day-button:hover {
	border-color:#69877b;
}
.day-layout {
	display:grid;
	grid-template-columns:minmax(0,1fr) 268px;
	gap:23px;
	align-items:start;
}
.day-header {
	display:flex;
	justify-content:space-between;
	align-items:flex-start;
	gap:12px;
	padding:5px 0 21px;
}
.day-header h3 {
	font-size:20px;
	letter-spacing:-.025em;
	margin:0 0 5px;
}
.day-header p {
	font-size:12px;
	color:var(--muted);
	margin:0;
}
.day-index {
	font-size:11px;
	text-transform:uppercase;
	letter-spacing:1.2px;
	background:#e9eee8;
	color:#536b5e;
	border-radius:5px;
	padding:5px 8px;
	white-space:nowrap;
}
.timeline {
	display:grid;
	gap:12px;
	position:relative;
}
.timeline::before {
	content:"";
	position:absolute;
	top:25px;
	bottom:35px;
	left:67px;
	width:1px;
	background:#d9e0d9;
}
.event {
	display:grid;
	grid-template-columns:52px 10px minmax(0,1fr);
	gap:11px;
	align-items:start;
	position:relative;
}
.event__time {
	padding-top:17px;
	color:#455a51;
	text-align:right;
	font-size:15px;
	font-weight:600;
}
.event__time small {
	display:block;
	font-size:10px;
	color:#768479;
	font-weight:400;
}
.event__dot {
	width:9px;
	height:9px;
	margin-top:23px;
	border-radius:50%;
	background:#a2b4a5;
	border:2px solid var(--paper);
	box-shadow:0 0 0 1px #a2b4a5;
	z-index:1;
}
.event:first-child .event__dot {
	background:var(--accent);
	box-shadow:0 0 0 1px var(--accent);
}
.event__card {
	background:#fff;
	border:1px solid var(--line);
	border-radius:10px;
	overflow:hidden;
}
.event__summary {
	list-style:none;
	cursor:pointer;
	padding:16px 18px;
	display:flex;
	align-items:flex-start;
	gap:13px;
}
.event__summary::-webkit-details-marker {
	display:none;
}
.category-icon {
	width:36px;
	height:36px;
	border-radius:9px;
	background:#eaf0ef;
	color:#4d6964;
	display:grid;
	place-items:center;
	flex-shrink:0;
}
.category-icon--stay {
	background:#f3ede3;
	color:#8b7351;
}
.category-icon--food {
	background:#f8eee5;
	color:#ab713f;
}
.category-icon--activity {
	background:#edf1e9;
	color:#647657;
}
.category-icon--rest {
	background:#f0edf4;
	color:#82718d;
}
.category-icon--shopping {
	background:#f9eae8;
	color:#a06153;
}
.event__text {
	min-width:0;
	flex:1;
}
.event__text h4 {
	margin:1px 0 5px;
	line-height:1.35;
}
.event__text p {
	font-size:12px;
	color:var(--muted);
	margin-bottom:8px;
	overflow-wrap:anywhere;
}
.event__meta {
	display:flex;
	align-items:center;
	gap:8px;
	flex-wrap:wrap;
}
.status {
	font-size:10px;
	line-height:1.6;
	padding:2px 7px;
	border-radius:4px;
	background:#f5f0e6;
	color:#856b3e;
	display:inline-block;
}
.status--confirmed {
	background:#eaf1e9;
	color:#547050;
}
.status--proposed {
	background:#eef0f2;
	color:#68757a;
}
.event__price {
	font-size:11px;
	color:#64746b;
}
.event__chevron {
	width:15px;
	height:15px;
	margin-top:10px;
	color:#7c8a80;
}
.event__card[open] .event__chevron {
	transform:rotate(180deg);
}
.event__details {
	padding:0 18px 18px 67px;
	font-size:13px;
	color:#647267;
}
.event__details>p {
	white-space:pre-line;
	overflow-wrap:anywhere;
}
.detail-grid {
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:10px 16px;
	border-top:1px solid var(--line);
	padding-top:12px;
	margin-bottom:14px;
}
.detail-grid dt {
	font-size:10px;
	font-weight:400;
	color:#7d897f;
	margin-bottom:3px;
}
.detail-grid dd {
	font-size:12px;
	margin:0;
	color:#344c40;
	overflow-wrap:anywhere;
}
.detail-actions {
	display:flex;
	gap:10px;
	align-items:center;
	flex-wrap:wrap;
}
.text-link {
	font-size:12px;
	color:#516c5c;
	text-underline-offset:3px;
}
.aside-stack {
	display:grid;
	gap:15px;
}
.info-card {
	border:1px solid var(--line);
	border-radius:10px;
	padding:19px;
	background:#fff;
}
.info-card__title {
	display:flex;
	gap:9px;
	align-items:center;
	font-size:14px;
	font-weight:600;
	margin-bottom:14px;
}
.info-card__title .icon {
	width:17px;
	height:17px;
	color:#778f74;
}
.info-card p {
	font-size:12px;
	line-height:1.65;
	color:#728071;
}
.info-card p:last-child {
	margin-bottom:0;
}
.info-card--note {
	background:#f1f0e7;
	border-color:#e7e6d9;
}
.info-card--note .info-card__title {
	color:#6c6548;
}
.info-card--note .icon {
	color:#9b8660;
}
.info-card--note ul {
	padding-left:16px;
	margin:0;
	color:#7a725c;
	font-size:12px;
	line-height:1.7;
}
.info-card--note li+li {
	margin-top:8px;
}
.budget-amount {
	font-size:clamp(22px, 2.2vw, 30px);
	font-weight:550;
	letter-spacing:-1px;
	margin-bottom:2px;
	overflow-wrap:anywhere;
}
.budget-rubles {
	font-size:14px;
	color:#798778;
	margin-bottom:13px;
}
.info-card .btn {
	width:100%;
	font-size:12px;
	margin-top:12px;
}
.mini-divider {
	height:1px;
	background:var(--line);
	margin:14px 0;
}
.eyebrow {
	display:block;
	font-size:10px;
	letter-spacing:1.7px;
	color:#82917f;
	margin-bottom:7px;
}
.page-footer {
	font-size:10px;
	color:#7b877d;
	display:flex;
	justify-content:space-between;
	gap:16px;
	padding:30px 0 20px;
	margin-top:28px;
	border-top:1px solid var(--line);
}
.category-list {
	display:grid;
	grid-template-columns:repeat(2,minmax(0,1fr));
	gap:16px;
}
.category-list .event {
	display:block;
}
.category-list .event__time,.category-list .event__dot {
	display:none;
}
.category-list .event__card {
	height:100%;
}
.list-date {
	display:block;
	color:#8c7561;
	font-size:10px;
	text-transform:uppercase;
	letter-spacing:.9px;
	margin-bottom:5px;
}
.empty-state {
	background:white;
	border:1px dashed #cbd6cb;
	border-radius:12px;
	text-align:center;
	padding:50px 24px;
}
.empty-state .category-icon {
	width:50px;
	height:50px;
	margin:0 auto 15px;
}
.empty-state h3 {
	font-size:20px;
}
.empty-state p {
	max-width:430px;
	margin:0 auto 21px;
	color:var(--muted);
	font-size:14px;
}
.section-note {
	font-size:13px;
	color:var(--muted);
	line-height:1.7;
	margin-bottom:22px;
}
.overview-list {
	display:grid;
	border:1px solid var(--line);
	border-radius:10px;
	overflow:hidden;
}
.overview-row {
	border:0;
	border-bottom:1px solid var(--line);
	background:#fff;
	display:grid;
	grid-template-columns:90px 170px 1fr 20px;
	gap:18px;
	padding:17px 20px;
	text-align:left;
	align-items:center;
	color:var(--ink);
}
.overview-row:last-child {
	border-bottom:0;
}
.overview-row:hover {
	background:#eef2ed;
}
.overview-row__date {
	font-size:13px;
	color:#667660;
}
.overview-row__city {
	font-size:14px;
	font-weight:600;
}
.overview-row__plan {
	font-size:13px;
	color:#778471;
}
.overview-row .icon {
	width:17px;
}
.budget-grid {
	display:grid;
	grid-template-columns:minmax(0,1fr) 330px;
	gap:22px;
}
.budget-totals {
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:20px;
	margin-bottom:24px;
}
.budget-totals .budget-amount {
	font-size:40px;
}
.budget-totals p {
	margin:0;
	color:var(--muted);
	font-size:13px;
}
.budget-table-wrap {
	overflow-x:auto;
}
.budget-table {
	width:100%;
	font-size:14px;
	border-collapse:collapse;
}
.budget-table th {
	font-size:11px;
	color:#7a887e;
	font-weight:500;
	padding:13px 0;
	border-bottom:1px solid var(--line);
}
.budget-table td {
	padding:16px 0;
	border-bottom:1px solid var(--line);
}
.budget-table th+th,.budget-table td+td {
	padding-left:14px;
}
.budget-table th:not(:first-child),.budget-table td:not(:first-child) {
	text-align:right;
}
.budget-table .icon {
	width:17px;
	margin-right:10px;
	color:#6d846f;
}
.budget-table small {
	font-size:11px;
	color:var(--muted);
}
.calculator .form-control {
	font-size:20px;
	padding:10px 14px;
}
.calculator__result {
	border-top:1px solid var(--line);
	margin-top:18px;
	padding-top:15px;
}
.calculator__result>div {
	display:flex;
	justify-content:space-between;
	font-size:12px;
	color:#6b7b6e;
	margin-bottom:8px;
	gap:10px;
}
.calculator__result>div:last-child {
	font-size:16px;
	color:var(--ink);
	font-weight:600;
	margin-top:16px;
}
.rate-source {
	display:block;
	color:#6d7c70;
	font-size:12px;
	overflow-wrap:anywhere;
}
/* Фиксирует фон без скачка страницы; прокрутка остаётся только внутри диалога. */
html.dialog-open {
	overflow:hidden;
	overscroll-behavior:none;
}
html.dialog-open body {
	position:fixed;
	top:var(--dialog-scroll-top);
	left:var(--dialog-scroll-left);
	width:100%;
	padding-right:var(--dialog-scrollbar-width);
	overflow:hidden;
}
.editor-dialog {
	border:1px solid var(--line);
	border-radius:15px;
	padding:27px;
	width:650px;
	max-width:calc(100% - 24px);
	max-height:90vh;
	max-height:90dvh;
	overflow-y:auto;
	overscroll-behavior:contain;
	background:var(--paper);
	box-shadow:0 30px 100px #122b3655;
	color:var(--ink);
}
.editor-dialog--small {
	width:470px;
}
.editor-dialog::backdrop {
	background:#172c32a6;
	backdrop-filter:blur(3px);
	touch-action:none;
}
.dialog-heading {
	display:flex;
	justify-content:space-between;
	gap:16px;
	margin-bottom:23px;
}
.dialog-heading h2 {
	font-size:24px;
	margin:0;
}
.icon-button {
	border:0;
	border-radius:6px;
	width:32px;
	height:32px;
	display:grid;
	place-items:center;
	background:transparent;
	color:#738478;
}
.icon-button:hover {
	background:#e4ebe1;
}
.dialog-actions {
	display:flex;
	justify-content:flex-end;
	gap:12px;
	margin-top:22px;
}
.form-label {
	font-size:12px;
	font-weight:500;
	color:#536658;
	margin-bottom:6px;
}
.form-control,.form-select {
	font-size:14px;
	border-color:#d9e0d7;
	padding:10px 12px;
	background-color:#fff;
	color:var(--ink);
}
.form-control:focus,.form-select:focus {
	border-color:#8ca18c;
	box-shadow:0 0 0 .2rem #9eb49d44;
}
.form-select {
	padding-right:32px;
}
.form-hint {
	font-size:12px;
	color:#7a867b;
	line-height:1.6;
}
.form-error {
	font-size:13px;
	color:#a33424;
	margin:12px 0 0;
}
.notification {
	position:fixed;
	bottom:25px;
	left:50%;
	transform:translateX(-50%);
	background:#213d33;
	color:white;
	border-radius:9px;
	padding:13px 21px;
	box-shadow:0 8px 30px #19392b33;
	z-index:100;
	max-width:90vw;
	font-size:14px;
}
.noscript {
	position:fixed;
	inset:20px;
	z-index:100;
	background:white;
	padding:40px;
}
@media(min-width:1650px) {
	.main {
		padding-top:35px;
	}
	.trip-cover {
		height:240px;
	}
	.trip-cover__content {
		padding-top:34px;
	}
	.day-layout {
		grid-template-columns:minmax(0,1fr) 310px;
	}
}
@media(max-width:1200px) {
	.sidebar {
		width:194px;
		padding:28px 12px;
	}
	.workspace {
		margin-left:194px;
	}
	.main {
		padding:24px;
	}
	.topbar {
		padding:0 24px;
	}
	.day-layout {
		grid-template-columns:minmax(0,1fr) 235px;
		gap:16px;
	}
	.day-button {
		flex-basis:61px;
	}
	.event__summary {
		padding:14px;
		gap:10px;
	}
	.event__details {
		padding-left:60px;
	}
	.category-list {
		grid-template-columns:1fr;
	}
	.route-bar__cities {
		gap:6px;
		font-size:11px;
	}
	.budget-grid {
		grid-template-columns:minmax(0,1fr) 285px;
	}
}
@media(max-width:980px) {
	.sidebar {
		width:76px;
		padding:24px 11px;
	}
	.sidebar__brand {
		padding:0;
		justify-content:center;
	}
	.sidebar__brand>span:last-child,.sidebar__trip,.sidebar__bottom,.nav-link>span {
		display:none;
	}
	.sidebar__nav {
		margin-top:32px;
	}
	.nav-link {
		padding:14px;
		justify-content:center;
	}
	.nav-link[aria-current="page"]::after {
		display:none;
	}
	.workspace {
		margin-left:76px;
	}
	.day-layout {
		grid-template-columns:minmax(0,1fr) 235px;
	}
	.trip-cover {
		height:205px;
	}
	.overview-row {
		grid-template-columns:80px 130px 1fr 20px;
		gap:12px;
	}
	.budget-grid {
		grid-template-columns:1fr;
	}
	.calculator {
		max-width:none;
	}
}
@media(max-width:720px) {
	.sidebar {
		inset:auto 0 0;
		width:100%;
		height:69px;
		padding:5px 8px calc(5px + env(safe-area-inset-bottom));
		display:block;
		border-top:1px solid #40514d;
	}
	.sidebar__brand {
		display:none;
	}
	.sidebar__nav {
		display:flex;
		margin:0;
		overflow-x:auto;
		gap:2px;
		justify-content:space-between;
	}
	.nav-link {
		padding:8px 7px;
		flex-direction:column;
		gap:3px;
		min-width:53px;
		font-size:9px;
		border-radius:5px;
	}
	.nav-link>span {
		display:block;
	}
	.nav-link .icon {
		width:18px;
		height:18px;
	}
	.nav-link[aria-current="page"] {
		background:#3e5650;
		color:#f4d4a9;
	}
	.workspace {
		margin:0 0 69px;
	}
	.topbar {
		height:59px;
		padding:0 18px;
	}
	.topbar__breadcrumb {
		font-size:12px;
	}
	.topbar__right {
		gap:9px;
	}
	.draft-badge {
		font-size:10px;
		padding:5px 8px;
	}
	.avatar {
		width:27px;
		height:27px;
		font-size:11px;
	}
	.main {
		padding:18px 16px 0;
	}
	.trip-cover {
		height:200px;
		border-radius:10px;
	}
	.trip-cover__content {
		padding:25px 22px;
	}
	.trip-cover h1 {
		font-size:43px;
		margin:10px 0;
	}
	.trip-cover h1 span {
		font-size:27px;
	}
	.trip-cover p {
		font-size:12px;
	}
	.trip-cover__eyebrow {
		font-size:9px;
	}
	.trip-cover__dates {
		font-size:10px;
		gap:6px;
		flex-wrap:wrap;
	}
	.trip-cover__stamp {
		right:16px;
		top:23px;
		font-size:8px;
		padding:7px;
	}
	.trip-cover__credit {
		font-size:8px;
	}
	.route-bar {
		flex-wrap:wrap;
		padding:15px 0;
		gap:13px;
	}
	.route-bar__cities {
		width:100%;
		font-size:11px;
		gap:6px;
	}
	.route-bar__select {
		width:100%;
	}
	.route-bar__select .form-select {
		font-size:12px;
		padding:8px 28px 8px 12px;
	}
	.plan-notice {
		font-size:11px;
		line-height:1.55;
		margin-bottom:22px;
		gap:7px;
	}
	.view-heading {
		align-items:flex-start;
		margin-bottom:17px;
	}
	.view-heading h2 {
		font-size:24px;
	}
	.view-heading p {
		font-size:11px;
		max-width:240px;
	}
	.view-heading .btn {
		font-size:11px;
		padding:9px 11px;
		white-space:nowrap;
		margin-top:3px;
	}
	.day-strip {
		gap:7px;
		margin-bottom:14px;
	}
	.day-button {
		flex:0 0 56px;
		padding:8px 6px;
	}
	.day-button strong {
		font-size:21px;
	}
	.day-button span {
		font-size:10px;
	}
	.day-layout {
		grid-template-columns:1fr;
		gap:26px;
	}
	.day-header {
		padding-bottom:19px;
	}
	.day-header h3 {
		font-size:19px;
	}
	.day-header p {
		font-size:11px;
	}
	.event {
		grid-template-columns:42px 9px minmax(0,1fr);
		gap:8px;
	}
	.timeline::before {
		left:54px;
	}
	.event__time {
		font-size:13px;
	}
	.event__time small {
		font-size:9px;
	}
	.event__dot {
		width:8px;
		height:8px;
	}
	.event__summary {
		padding:13px;
		gap:9px;
	}
	.category-icon {
		width:30px;
		height:32px;
		border-radius:7px;
	}
	.category-icon .icon {
		width:18px;
		height:18px;
	}
	.event__text h4 {
		font-size:14px;
	}
	.event__text p {
		font-size:11px;
	}
	.event__chevron {
		width:12px;
	}
	.event__details {
		padding:0 13px 14px;
		font-size:12px;
	}
	.detail-grid {
		gap:10px;
	}
	.detail-grid dd {
		font-size:11px;
	}
	.aside-stack {
		grid-template-columns:1fr 1fr;
		gap:12px;
	}
	.info-card {
		padding:16px;
	}
	.aside-stack .info-card:last-child {
		grid-column:1/-1;
	}
	.info-card__title {
		font-size:12px;
		gap:6px;
	}
	.info-card p,.info-card--note ul {
		font-size:11px;
	}
	.budget-amount {
		font-size:26px;
	}
	.info-card .btn {
		font-size:10px;
		padding:8px;
	}
	.budget-rubles {
		font-size:12px;
	}
	.page-footer {
		font-size:9px;
		display:block;
		padding:18px 0 25px;
		margin-top:22px;
	}
	.page-footer span {
		display:block;
		margin-top:5px;
	}
	.overview-row {
		grid-template-columns:65px 1fr 16px;
		gap:10px;
		padding:15px 13px;
	}
	.overview-row__plan {
		grid-column:2;
		grid-row:2;
		font-size:12px;
	}
	.overview-row .icon {
		grid-column:3;
		grid-row:1;
	}
	.overview-row__city {
		font-size:13px;
	}
	.overview-row__date {
		font-size:11px;
	}
	.budget-totals {
		align-items:flex-start;
	}
	.budget-totals .budget-amount {
		font-size:32px;
	}
	.budget-totals p {
		font-size:11px;
	}
	.budget-table {
		font-size:12px;
	}
	.budget-table th {
		font-size:10px;
	}
	.budget-table .icon {
		width:14px;
		margin-right:5px;
	}
	.editor-dialog {
		padding:21px 18px;
	}
	.notification {
		bottom:83px;
		font-size:12px;
	}
	.empty-state {
		padding:35px 22px;
	}
}
@media(prefers-reduced-motion:reduce) {
	* {
		scroll-behavior:auto!important;
		transition:none!important;
	}
}
.event__text p,.info-card p,.info-card--note ul,.view-heading p,.form-label,.btn,.detail-grid dd,.event__details,.section-note,.overview-row__plan {
	font-size:.875rem;
}
.event__text h4 {
	font-size:1rem;
}
.status,.event__price,.day-button span,.day-header p,.detail-grid dt,.plan-notice,.route-bar__cities,.route-bar__select .form-select,.day-index,.form-hint,.text-link,.page-footer,.trip-cover__eyebrow,.list-date {
	font-size:.75rem;
}
.trip-cover p {
	font-size:1rem;
}
.event__time small,.eyebrow,.sidebar__eyebrow,.sidebar__brand-caption,.sidebar__storage {
	font-size:.75rem;
}
@media(max-width:720px) {
	.aside-stack {
		grid-template-columns:1fr;
	}
	.day-button {
		flex-basis:60px;
	}
	.event__summary {
		gap:8px;
	}
	.event__text h4 {
		font-size:.9375rem;
	}
	.info-card__title,.info-card .btn {
		font-size:.875rem;
	}
	.nav-link {
		font-size:10px;
		min-width:0;
		flex:1 1 0;
		padding:8px 2px;
	}
	.nav-link>span {
		white-space:nowrap;
	}
	.sidebar__nav {
		gap:1px;
	}
	.trip-cover p {
		font-size:.875rem;
	}
	.view-heading {
		flex-wrap:wrap;
	}
	.day-header {
		flex-wrap:wrap;
	}
	.trip-cover__dates {
		font-size:.75rem;
	}
	.trip-cover__divider {
		display:none;
	}
}

/* Фотографии открываются по запросу и сохраняют исходные пропорции. */
.event__photos { margin-top:10px; font-size:13px; padding:6px 11px; }
.photo-gallery { width:min(920px, calc(100vw - 28px)); padding:24px; }
.photo-gallery__figure { margin:0; }
.photo-gallery__swiper { width:100%; height:min(55vh, 540px); border-radius:10px; background:#f3f1eb; }
.photo-gallery__image { display:block; width:100%; height:100%; object-fit:contain; background:#f3f1eb; border-radius:10px; }
.photo-gallery__image[hidden] { display:none; }
.photo-gallery__error { height:100%; margin:0; padding:24px; align-content:center; text-align:center; }
.photo-gallery__swipe-hint { margin:12px 0 0; text-align:center; }
.photo-gallery__figure figcaption { font-size:14px; margin-top:10px; }
.photo-gallery__figure a { color:var(--ink); display:inline-block; margin-left:8px; }
.photo-gallery__controls { display:flex; align-items:center; justify-content:center; gap:24px; margin:16px 0; }
/* Подсказки к снимкам и составу еды остаются рядом с фотографией. */
.photo-gallery__tip { margin:12px 0 0; padding:12px 14px; background:#f3f1eb; border-radius:10px; font-size:14px; }
.photo-gallery__food { margin:18px 0; padding:14px; border:1px solid #dedbd1; border-radius:10px; font-size:14px; }
.photo-gallery__food p { margin:8px 0; }
.food-photo-guide { margin:12px 0 20px; padding:12px 14px; background:#f3f1eb; border-radius:10px; font-size:14px; }
.food-photo-guide summary { cursor:pointer; font-weight:600; }
.food-photo-guide p { margin:12px 0 0; }
.food-photo-guide__translation { font-size:18px; line-height:1.8; }
.event__food-advice { padding:12px; border-left:3px solid #bd944e; background:#faf7ef; }
@media (max-width:575px) { .photo-gallery { padding:16px; } .photo-gallery .dialog-heading h2 { font-size:20px; } .photo-gallery__swiper { height:40vh; } }
