/* Shared interaction tokens. Keep the navy brand; reserve colour for meaning. */
:root{--ui-ink:#193540;--ui-muted:#526774;--ui-primary:#175166;--ui-line:#8a9ea8;--ui-paper:#f4f7f9;--ui-ok:#176144;--ui-ok-bg:#e9f5ee;--ui-warn:#765000;--ui-warn-bg:#fff4d6;--ui-error:#a12626;--ui-error-bg:#fff0f0;--ui-focus:#176d97;color-scheme:light}
html{font-size:16px}body{overflow-wrap:break-word}main,section,form,fieldset,article,header>*{min-width:0}label,legend{font-size:.9375rem;line-height:1.5}input,select,textarea{font:inherit;font-size:1rem;color:var(--ui-ink);max-width:100%}textarea{resize:vertical;line-height:1.6}input:not([type=checkbox]):not([type=radio]),select{min-height:48px}input[type=checkbox],input[type=radio]{width:22px;height:22px;min-height:22px;vertical-align:middle;accent-color:var(--ui-primary);flex-shrink:0}label:has(>input[type=checkbox]),label:has(>input[type=radio]){min-height:44px;cursor:pointer}
button,.button,.outline,.messenger-link{min-height:48px;line-height:1.45;white-space:normal;font-size:1rem;border-radius:8px}button{touch-action:manipulation}button:disabled{cursor:not-allowed;opacity:1;background:#e5ebee!important;color:#576b74!important;border-color:#b6c3c9!important}button[aria-busy=true]{cursor:wait}input,select,textarea{scroll-margin:90px 0 140px}:focus-visible{outline:3px solid var(--ui-focus)!important;outline-offset:3px!important}header :focus-visible,.hero :focus-visible,.contacts :focus-visible{outline-color:#e5bd80!important}a{text-underline-offset:3px}main p a:not(.button):not(.messenger-link),.contact-alternatives a{text-decoration:underline}small,.small,.hint,.muted,.booking-note,.offer-help{font-size:.875rem}.muted,.small,.booking-note{color:var(--ui-muted)}[hidden]{display:none!important}
.status-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:7px;font-size:.9375rem;line-height:1.45;font-weight:700;background:#e8f0f5;color:#1d5275}.status-badge[data-state=confirmed],.status-badge[data-state=arrived]{background:var(--ui-ok-bg);color:var(--ui-ok)}.status-badge[data-state=partial],.status-badge[data-state=selected],.status-badge[data-state=hold]{background:var(--ui-warn-bg);color:var(--ui-warn)}.status-badge[data-state=cancelled],.status-badge[data-state=payment_canceled]{background:var(--ui-error-bg);color:var(--ui-error)}.status-badge[data-state=departed]{background:#edf1f3;color:#526774}
.danger{color:var(--ui-error)!important;background:var(--ui-error-bg)!important;border:1px solid #d99c9c!important}.secondary,.button.secondary{background:#e8eff3!important;color:var(--ui-ink)!important;border:1px solid #9eb1bc!important}.primary{background:var(--ui-primary)!important;color:white!important;border:1px solid var(--ui-primary)!important}
#status:not(:empty){position:sticky;top:8px;z-index:35;background:#e8f0f5;border:1px solid #8eaab8;color:var(--ui-ink);padding:14px 16px;border-radius:8px;box-shadow:0 4px 14px #19354012;max-height:32dvh;overflow:auto}#status:empty{display:none}.form-message{padding:12px 14px;border-radius:8px;border:1px solid #99adb9;background:#edf4f8;color:var(--ui-ink);margin:14px 0}.form-message[data-tone=error]{border-color:#d99c9c;background:var(--ui-error-bg);color:var(--ui-error)}.form-message[data-tone=success]{border-color:#7fa58f;background:var(--ui-ok-bg);color:var(--ui-ok)}.form-message:empty{display:none}.sum-check{font-weight:700}.sum-check[data-balanced=false]{color:var(--ui-error);background:var(--ui-error-bg)}.field-help{display:block;font-weight:400;font-size:.875rem;color:var(--ui-muted);margin:6px 0}.choice-card{border:1px solid var(--ui-line);padding:12px 14px;border-radius:8px;display:flex;gap:10px;align-items:flex-start;background:white}.choice-card:has(:checked){border-color:var(--ui-primary);box-shadow:inset 3px 0 var(--ui-primary);background:#edf4f8}
.workflow-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:18px 0}.workflow-tabs button{padding:12px 8px;font-size:.9375rem}.workflow-tabs button[aria-pressed=true]{background:var(--ui-primary);color:white;border:2px solid var(--ui-primary);font-weight:700}.next-action{padding:14px 16px;border-left:4px solid var(--ui-primary);background:#edf4f8;margin:14px 0}.order-heading{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;flex-wrap:wrap}.order-heading h2{margin:0}.order-actions{display:flex;gap:10px;flex-wrap:wrap}.record-id{font-size:.875rem;color:var(--ui-muted);overflow-wrap:anywhere}.empty-state{padding:22px;border:1px dashed #9eb1bc;border-radius:10px;background:white}.receipt-state{font-size:.9375rem;color:var(--ui-muted)}
body[data-workspace] header{align-items:center;flex-wrap:wrap;padding:16px 24px;gap:14px}body[data-workspace] header a{font-size:.9375rem;padding:8px 0;min-height:44px}body[data-workspace] main{max-width:1120px}body[data-workspace] #workspace>.bar{align-items:center}#mode-notice{font-size:.9375rem;color:var(--ui-muted);padding:12px 16px}#business-workspace{border:1px solid #8fa7b3;border-top:4px solid var(--ui-primary)}#business-content form{border:1px solid #c5d2d9;border-radius:10px;padding:20px;margin:18px 0;background:white}#business-content form fieldset{padding:16px}#business-content>h3{margin-top:26px}.table-wrap{max-width:100%;border:1px solid #d0dce2;border-radius:8px;overflow:auto}.table-wrap table{margin:0}.table-wrap th{font-size:.9375rem}.table-wrap td{min-width:100px}.table-wrap td:first-child{min-width:180px}.table-wrap small{overflow-wrap:anywhere}.table-wrap button{margin-top:8px;font-size:.9375rem}#orders>article{margin:16px 0}#orders>article>details{border-top:1px solid #d3dfe5;margin-top:18px}summary{min-height:48px;padding:12px 0;line-height:1.5}#share{border-left:4px solid var(--ui-primary)}#archive:empty:after{content:'Документы появятся здесь после подготовки.';color:var(--ui-muted)}.request-saved{background:var(--ui-ok-bg);color:var(--ui-ok);padding:12px;border-radius:8px}
/* Public booking form: dates, purpose, then the requested details and action. */
#booking-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}#booking-form>.button,#booking-form>.consent-check,#booking-form>.small{grid-column:1/-1}#booking-form>.button{justify-self:start;min-width:250px}#booking-form .trip-fields{grid-template-columns:repeat(2,minmax(0,1fr));margin:4px 0 0;padding:20px;gap:16px}#booking-form label{font-size:.9375rem}#booking-form input:not([type=checkbox]):not([type=radio]),#booking-form select{border:1px solid var(--ui-line);border-radius:7px;padding:10px;margin-top:6px}#booking-form textarea{border-color:var(--ui-line);font-size:1rem;margin-top:6px}.trip-purpose,.trip-extra,.trip-fields>p{grid-column:1/-1}.trip-purpose{display:grid;grid-template-columns:1fr 1fr;gap:12px}.trip-purpose>span{grid-column:1/-1;font-size:.9375rem;font-weight:700}.trip-extra{border:0}.trip-extra label{margin-top:10px}.trip-extra summary{font-size:.9375rem}.trip-extra summary:after{display:none}.consent-check{font-size:.9375rem!important;line-height:1.6}#booking-result .actions{margin:16px 0}.booking-note{font-size:.875rem}.booking .eyebrow{font-size:.875rem}.booking-intro{align-self:start;padding-top:10px}.brand small{font-size:.75rem;letter-spacing:.8px}.header-phone small{font-size:.875rem}.section .eyebrow,.feature-num,.photo-caption small{font-size:.875rem}.room-image>span,.room-footer,.features p,.guest-steps p,.business-note p,.review-source,.review-source small{font-size:.875rem}.text-link{min-height:44px;display:inline-flex;align-items:center}.weather-cards p,.weather-credit,#weather-status{font-size:.875rem}.section .eyebrow,.feature-num{color:#8a562b}nav a{display:inline-flex;align-items:center;min-height:44px}footer{font-size:.875rem}.booking .button{font-size:1rem}.mobile-contact{padding-bottom:max(10px,env(safe-area-inset-bottom))}body:has(dialog[open]){overflow:hidden}body:has(dialog[open]) .mobile-contact{display:none}
@media(max-width:760px){.workflow-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}body[data-workspace] header{padding:14px 16px}#business-content form{padding:14px}#business-workspace{padding:14px}.order-actions>*{flex:1 1 170px}body[data-workspace] .bar>*{flex:initial}body[data-workspace] .bar button{flex:1 1 150px}body[data-workspace] .grid{grid-template-columns:minmax(0,1fr)}.bar>h2{flex-basis:100%!important}.table-wrap table{font-size:.9375rem}.trip-purpose{grid-template-columns:1fr}#booking-form{grid-template-columns:1fr 1fr}#booking-form>label:nth-child(3){grid-column:1/-1}#booking-form>.button{width:100%;min-width:0}#booking-form .trip-fields{grid-template-columns:1fr;padding:16px}.hero h1{font-size:clamp(2.125rem,9.5vw,2.875rem);letter-spacing:-.6px}.menu{width:48px;min-height:48px}nav.open{top:100%;max-height:calc(100dvh - 140px);overflow:auto}.brand small{font-size:.75rem}.features p{font-size:.9375rem}.booking-note{font-size:.875rem}#gallery-dialog .actions>*{width:100%}.contact-links a{min-height:44px}.header-phone small{font-size:.875rem}}
@media(max-width:380px){#booking-form{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr}.features{grid-template-columns:1fr}.workflow-tabs button{font-size:.875rem}.brand{letter-spacing:.8px}.brand small{max-width:150px;white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation:none!important;transition:none!important}}
@media print{#status,.form-message,.workflow-tabs,.next-action,button,.button{display:none!important}}
#status[data-tone=error]{background:#fff0f0;color:#a12626;border-color:#a12626}#status[data-tone=success]{background:#e9f5ee;color:#176144;border-color:#176144}
.date-range-field{display:grid;gap:8px;grid-column:span 2;align-content:start;font-size:15px;font-weight:600}.range-trigger{text-align:left!important;white-space:normal;line-height:1.5!important;min-height:52px!important;width:100%}.range-dialog{width:min(96vw,460px);max-height:94dvh;overflow:auto;padding:20px;border:0;border-radius:16px;background:white;color:#193540;box-shadow:0 18px 70px #19354055}.range-dialog::backdrop{background:#102c3abc}.range-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.range-dialog h2{font-family:inherit;font-size:23px;margin:0;letter-spacing:normal;line-height:1.3}.range-dialog h3{font-family:inherit;font-size:18px;margin:0;text-align:center;letter-spacing:normal;line-height:1.3;text-transform:none}.range-close{width:48px;padding:0!important;flex-shrink:0;font-size:24px!important}.range-instruction,.range-summary{font-size:16px;line-height:1.5;margin:14px 0}.range-month-nav{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:8px}.range-prev,.range-next{font-size:24px!important;padding:0!important}.range-week,.range-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}.range-week{margin:12px 0 6px;color:#526774;text-align:center;font-size:14px}.range-days .range-day{padding:0!important;min-width:0;min-height:44px!important;border:1px solid transparent!important;border-radius:6px;background:#f1f5f7!important;color:#193540!important;box-shadow:none!important;font:500 16px/1.2 Arial,sans-serif;letter-spacing:normal!important}.range-days .range-day.range-between{background:#d9eaf1!important;color:#193540!important;border-radius:0}.range-days .range-day.range-edge{background:#175166!important;color:white!important;border-color:#175166!important}.range-days .range-day:disabled{background:white!important;color:#77828a!important;opacity:1}.range-days .range-day:focus-visible{outline:3px solid #176d97!important;outline-offset:1px;position:relative;z-index:1}.range-note{font-size:14px;line-height:1.5;color:#526774}.range-summary{font-weight:600}.range-footer{display:grid;grid-template-columns:1fr 1fr;gap:8px}.range-footer button{padding:10px!important;min-width:0}.range-dialog :focus-visible{scroll-margin:10px}@media(max-width:500px){.range-dialog{padding:14px}.date-range-field{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.range-dialog *{scroll-behavior:auto!important}}
.range-dialog,.range-dialog *{box-sizing:border-box}.range-dialog{margin:auto}body[data-workspace] #offer-rooms .offer-row{align-items:start}body[data-workspace] main>nav{display:flex;gap:8px;flex-wrap:wrap}body[data-workspace] main>nav button:not(.active){background:#e8eff3;color:#193540;border:1px solid #9eb1bc}body[data-workspace] main>nav button.active{background:#175166;color:white}#link-error:not(:empty),#wizard-error:not(:empty){padding:12px;background:#fff0f0;color:#a12626;border-radius:8px}@media(max-width:760px){#booking-form>label:has(>[name=guests]){grid-column:1/-1}.date-range-field{grid-column:1/-1}}
.range-timing{display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:10px 0;padding:10px 12px;border:1px solid #d7e1e6;border-radius:10px;background:#f7fafb}.range-timing label{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:14px;font-weight:600}.range-timing input{width:18px;height:18px;margin:0}.range-timing small{margin-left:auto;color:#526774;font-size:12px}.submit-consent{grid-column:1/-1;margin:0;color:var(--muted);font-size:12px;line-height:1.45}@media(max-width:500px){.range-timing{gap:8px 12px}.range-timing small{width:100%;margin-left:0}}

#booking-form .choice-card{display:flex;align-items:flex-start;gap:10px}#booking-form input[type=radio]{margin-top:2px;padding:0;flex-shrink:0}

/* Keep the catalogue call to action legible in every interaction state. */
#request-any-apartment{background:#24546b;color:#fff;border:2px solid #173d51}
#request-any-apartment:hover,#request-any-apartment:focus-visible,#request-any-apartment:active{background:#173d51;color:#fff;border-color:#173d51}
.range-timing .range-special-time{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.range-timing .range-special-time[hidden]{display:none!important}.range-timing .range-special-time input{width:112px;min-height:38px;padding:5px;border:1px solid #8a9ea8;border-radius:7px;background:#fff;color:#193540}

/* Outline actions stay readable on pale surfaces, including custom site themes. */
html .button.outline{background:transparent;color:var(--navy,#142f3c)}
html .button.outline:hover,html .button.outline:focus-visible{background:#28546a;color:#fff}
