:root {
  --navy: #112b4f;
  --navy2: #173d70;
  --ink: #183458;
  --muted: #64758c;
  --cream: #f4f7fb;
  --paper: #ffffff;
  --coral: #ef6b27;
  --orange: #ffd439;
  --line: #dce5f0;
  --teal: #e9f2ff;
  --shadow: 0 20px 55px rgba(17, 52, 99, .12);
}

body { background: #fff; }
.header { border-bottom: 1px solid #e6edf6; }
.header-inner { height: 80px; }
.brand { color: #111c2b; font-style: italic; letter-spacing: -.07em; }
.brand-mark { background: #0d57af; color: #ffd828; border-radius: 10px; transform: skew(-7deg); }
.brand-mark svg { transform: skew(7deg); }
.brand-accent { color: #ed5c23; }
.desktop-nav a { color: #36506f; }
.desktop-nav a:hover, .desktop-nav a[aria-current] { color: #0d57af; }
.eyebrow { color: #0e60bd; }
.btn { border-radius: 10px; }
.btn-dark { background: #0c58b3; color: #fff; }
.btn-dark:hover { background: #06458f; }
.btn-coral { background: #ffcf24; color: #142844; }
.btn-coral:hover { background: #ffc40b; }
.btn-outline { border-color: #aac6e8; color: #0e5caf; }
.btn-light { color: #0e5caf; }
.btn:focus-visible, a:focus-visible, button:focus-visible { outline: 3px solid #ef6b27; outline-offset: 3px; }

.hero {
  color: #142c4b;
  background: linear-gradient(165deg, #fff 0%, #f7fbff 70%, #eef6ff 100%);
  padding: 54px 0 0;
  border-bottom: 1px solid #dce8f7;
}
.hero::before {
  border: 0;
  width: 660px;
  height: 660px;
  top: -330px;
  right: -290px;
  background: radial-gradient(circle, rgba(255, 217, 53, .23), transparent 67%);
}
.hero-grid { grid-template-columns: .95fr 1.05fr; gap: 34px; min-height: 395px; }
.hero-copy { padding: 0 0 25px; }
.hero-kicker { color: #0a5ab5; font-size: 11px; margin-bottom: 15px; }
.dot { background: #ef6b27; box-shadow: 0 0 0 5px rgba(239, 107, 39, .14); }
.hero h1 { color: #142c4b; font-size: clamp(42px, 4.7vw, 65px); margin-bottom: 16px; }
.hero h1 em { color: #0b5cba; }
.hero-copy > p { color: #4e6077; line-height: 1.7; margin-bottom: 15px; }
.hero-proof { gap: 12px 22px; }
.hero-proof span { color: #284967; }
.hero-proof svg { color: #ef6b27; }
.legacy-line {
  display: flex;
  flex-direction: column;
  gap: 3px;
  width: fit-content;
  max-width: 100%;
  padding: 11px 15px 11px 17px;
  margin: 19px 0 19px;
  border-left: 4px solid #ffce1c;
  border-radius: 0 8px 8px 0;
  background: #fff9dc;
}
.legacy-line span { color: #a35619; font-size: 10px; font-weight: 900; letter-spacing: .13em; }
.legacy-line strong { color: #203d61; font-size: 13px; line-height: 1.45; }
.brand-visual { position: relative; align-self: center; isolation: isolate; }
.brand-visual::after {
  content: '';
  position: absolute;
  inset: 12% -1% 5%;
  border-radius: 38px;
  background: #c9ddf5;
  opacity: .2;
  filter: blur(30px);
  z-index: -1;
}
.brand-visual img { width: 100%; height: auto; display: block; mix-blend-mode: multiply; }
.hero-search { transform: translateY(35px); }
.search-card { border: 1px solid #dfebf8; border-radius: 17px; position: relative; overflow: visible; box-shadow: 0 23px 58px rgba(11, 54, 111, .14); }
.search-card:focus-within { z-index: 20; }
.hero-search { position: relative; z-index: 2; }
.search-card::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 4px; background: linear-gradient(90deg, #0a61c2 0 42%, #ffd325 42% 76%, #ed6125 76%); }
.search-label { color: #0c58b3; }
.search-fields input, input, select, textarea { border-color: #d7e2ef; }
.search-fields input:focus, input:focus, select:focus, textarea:focus { border-color: #1b66bc; box-shadow: 0 0 0 3px rgba(27, 102, 188, .12); }
.search-bottom a { background: #eef5ff; color: #0d57aa; }
.search-bottom a:hover { background: #dfedff; }
.search-countries { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 0 14px; }
.search-countries label { display: grid; gap: 4px; min-width: 185px; color: #486789; font-size: 11px; font-weight: 800; }
.search-countries select { min-height: 40px; margin: 0; padding: 8px 34px 8px 11px; border: 1px solid #d5e4f3; border-radius: 9px; background: #f9fcff; color: #173f69; font-size: 12px; }
@media (max-width: 620px) { .search-countries { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; } .search-countries label { min-width: 0; } .search-countries select { width: 100%; } }

.section-cream { background: #f4f8fd; }
.hero + .section { padding-top: 120px; }
.feature { border-color: #e2eaf3; }
.feature-icon { background: #e9f2ff; color: #0b5bb5; }
.feature:nth-child(2) .feature-icon { background: #fff6cf; color: #a06c00; }
.feature:nth-child(3) .feature-icon { background: #ffecdf; color: #dd5d20; }
.feature:nth-child(4) .feature-icon { background: #e6f3ff; color: #0b5bb5; }
.destination-card { background: #e9f2ff; }
.destination-card.alt { background: #fff5d8; }
.destination-code, .destination-card.alt .destination-code { color: #0d5db7; }
.destination-card h3 span, .departure-card h3 span { color: #ed6b2c; }
.text-link, .article-card a, .prose a { color: #0d5fb7; }
.section-blue { background: #0d4f9b; }
.section-blue .section-head p, .trust-list p { color: #d7e7f7; }
.trust-list > div > span { color: #ffd538; }
.step-row > div { border-color: #dee8f4; }
.step-row strong { background: #ffecaa; color: #765800; }
.cta-section { background: #fff1b8; }
.cta-inner p { color: #526986; }

.brand-story { padding: 73px 0; background: #f5f9fe; border-block: 1px solid #e5eef9; }
.brand-story-inner { display: grid; grid-template-columns: .85fr 1.15fr; align-items: center; gap: 65px; }
.brand-story-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 17px;
  min-height: 210px;
  padding: 24px;
  border-radius: 23px;
  background: #fff;
  border: 1px solid #dce9f7;
  box-shadow: 0 16px 35px rgba(23, 68, 120, .07);
  transform: rotate(-2deg);
  white-space: nowrap;
}
.old-name, .new-name { font-style: italic; font-weight: 900; letter-spacing: -.07em; }
.old-name { color: #1c2b3d; font-size: clamp(26px, 2.8vw, 39px); text-decoration: underline; text-decoration-color: #ffd52a; text-decoration-thickness: 5px; text-underline-offset: 6px; }
.brand-arrow { color: #ee6a29; font-size: 35px; font-weight: 800; }
.new-name { color: #0c58b2; font-size: clamp(27px, 3vw, 41px); }
.new-name span { color: #e96025; }
.brand-story-copy h2 { color: #14365f; font-size: clamp(29px, 3vw, 42px); line-height: 1.16; letter-spacing: -.04em; margin: 10px 0 15px; }
.brand-story-copy p { max-width: 610px; color: #526983; line-height: 1.8; margin: 0; }
.community-section { padding: 22px 0; background: #eaf3ff; }
.community-inner { display: flex; align-items: center; gap: 23px; }
.community-icon { width: 53px; height: 53px; flex: none; display: grid; place-items: center; background: #0d60bb; color: #fff; border-radius: 15px; font-size: 27px; font-weight: 800; }
.community-copy { flex: 1; }
.community-copy .eyebrow { font-size: 10px; }
.community-copy h2 { color: #14365f; font-size: 21px; line-height: 1.2; margin: 3px 0 4px; }
.community-copy p { color: #5d7189; font-size: 12px; margin: 0; }
.btn-telegram { background: #0c5db6; color: #fff; }
.btn-telegram:hover { background: #07478d; }

.parcel-promo { padding: 73px 0 26px; background: #fff; }
.parcel-promo-inner { display: flex; align-items: center; gap: 18px; padding: 21px 24px; border: 1px solid #dce9f8; border-radius: 17px; background: #f0f7ff; }
.parcel-promo-icon { width: 45px; height: 45px; display: grid; place-items: center; flex: none; border-radius: 12px; background: #ffde54; color: #104d8f; font-size: 24px; }
.parcel-promo-inner > div { flex: 1; }
.parcel-promo strong { color: #14365f; font-size: 17px; }
.parcel-promo p { color: #60758c; margin: 2px 0 0; font-size: 12px; }
.parcel-promo + .section { padding-top: 72px; }
.parcel-layout { display: grid; grid-template-columns: 265px 1fr; gap: 32px; align-items: start; }
.parcel-aside { display: grid; gap: 20px; }
.parcel-help { padding: 20px; border: 1px solid #dce9f8; border-radius: 14px; background: #fff; }
.parcel-help strong { display: block; color: #14365f; margin-bottom: 10px; }
.parcel-help a { display: block; color: #0d5db5; font-size: 13px; font-weight: 700; margin-top: 8px; }
.parcel-form { padding: 0 34px; }
.parcel-form .form-block { padding: 30px 0; }
.parcel-check { display: flex; gap: 10px; align-items: center; align-self: end; min-height: 46px; }
.parcel-check input { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: #0d5db5; }
.parcel-note { margin: 18px 0 0; color: #65798e; font-size: 12px; line-height: 1.7; }
.parcel-note a { color: #0d5db5; text-decoration: underline; }
.request-badge { padding: 4px 9px; border-radius: 999px; background: #e8f2ff; color: #0e5db2; font-size: 11px; font-weight: 800; }
.parcel-summary { margin: 14px 0; padding: 15px; border-radius: 10px; background: #f1f7ff; color: #3a5571; font-size: 12px; line-height: 1.8; }
.parcel-summary strong { color: #183c63; }
.request-details { margin-top: 14px; border-top: 1px solid #e2eaf4; padding-top: 12px; }
.request-details summary { color: #0e5db2; font-size: 12px; font-weight: 800; cursor: pointer; }
.request-edit { padding-top: 15px; }
.request-edit .form-grid { gap: 12px; }
.request-edit .btn { margin-top: 10px; }
.operator-tabs { overflow-x: auto; gap: 22px; }
.operator-tabs button { white-space: nowrap; }
.route-policy { margin-bottom: 20px; background: #e9f3ff; }
.route-admin-list { margin-top: 22px; }
.source-link { display: inline-block; margin-top: 8px; color: #0d5db5; font-size: 12px; font-weight: 700; }
.notification-status { padding: 24px; margin-bottom: 19px; background: #fff5d9; border: 1px solid #f1e0a1; border-radius: 15px; }
.notification-status.ready { background: #eaf6ef; border-color: #c6e6d0; }
.notification-status h2 { margin: 0 0 6px; font-size: 22px; }
.notification-status p { margin: 0 0 13px; color: #536981; font-size: 13px; }
.notification-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.notification-actions button:disabled { opacity: .45; cursor: not-allowed; }
.request-card[data-status="new"] { border-left: 5px solid #24a66c; background: #f4fcf7; }
.request-card[data-status="contacted"], .request-card[data-status="matched"] { border-left: 5px solid #eebf2d; background: #fffaf0; }
.request-card[data-status="confirmed"], .request-card[data-status="cancelled"] { border-left: 5px solid #9bacbc; background: #f4f6f8; }
.request-card[data-status="selected"] { border-left: 5px solid #0d5db5; background: #f2f8ff; }
.carrier-create { margin-bottom: 22px; }
.carrier-create > summary { display: inline-flex; cursor: pointer; padding: 12px 18px; border-radius: 11px; background: #0d5db5; color: #fff; font-weight: 800; }
.carrier-create .form-card { margin-top: 15px; }
.carrier-admin-list { gap: 18px; }
.carrier-admin-card { padding: 24px; }
.carrier-admin-head { display: flex; gap: 17px; align-items: center; }
.carrier-admin-head strong { display: block; color: #153b64; font-size: 19px; }
.carrier-admin-head p { margin: 5px 0; color: #59718a; font-size: 13px; }
.carrier-admin-head small { color: #0d5db5; font-weight: 700; }
.carrier-thumb { width: 110px; height: 82px; flex: none; display: grid; place-items: center; text-align: center; padding: 6px; border-radius: 10px; background: #eaf3ff; color: #4e759f; font-size: 11px; }
.carrier-thumb img { width: 100%; height: 100%; object-fit: cover; border-radius: 7px; }
.carrier-admin-card details { margin-top: 16px; border-top: 1px solid #e1eaf4; padding-top: 12px; }
.carrier-admin-card summary { cursor: pointer; color: #0d5db5; font-weight: 800; }
.carrier-admin-card form { margin-top: 15px; }
.carrier-admin-card form .btn { margin-top: 12px; }
.carrier-admin-card .form-grid { gap: 12px; }
.catalog-check { display: flex; align-items: center; gap: 9px; font-size: 13px; color: #365878; }
.catalog-check input { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: #0d5db5; }
.photo-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.photo-form label { flex: 1; min-width: 200px; font-size: 12px; font-weight: 700; }
.photo-form input { width: 100%; margin-top: 5px; }
.schedule-admin-list { margin-top: 24px; }
.schedule-admin-list h3 { font-size: 16px; color: #183b61; }
.schedule-admin-item { padding: 12px 0; border-bottom: 1px solid #e1eaf4; }
.schedule-admin-head { display: flex; justify-content: space-between; gap: 10px; }
.schedule-admin-head strong, .schedule-admin-head small { display: block; }
.schedule-admin-head small { margin-top: 4px; color: #667d95; line-height: 1.5; }
.weekdays-field { border: 1px solid #dce6f1; border-radius: 10px; padding: 12px; }
.weekdays-field legend { font-size: 12px; font-weight: 800; color: #1b456e; }
.weekday-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.weekday-grid label { display: flex; align-items: center; gap: 4px; min-width: 45px; font-weight: 700; }
.weekday-grid input { min-height: 0; width: 16px; height: 16px; margin: 0; accent-color: #0d5db5; }
.cancel-date-form { display: flex; flex-wrap: wrap; align-items: end; gap: 12px; }
.cancel-date-form label { min-width: 200px; }
.cancelled-dates { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.cancelled-dates span { border-radius: 20px; padding: 5px 10px; background: #fff0ed; color: #a4432d; font-size: 11px; }
.cancelled-dates button { border: 0; background: transparent; color: inherit; cursor: pointer; font-weight: 900; }
.catalog-heading h2 { font-size: clamp(27px, 3vw, 40px); margin: 6px 0; color: #173b62; }
.catalog-heading p { margin: 0 0 20px; color: #5f7790; }
.public-carrier-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 20px; }
.carrier-intro { display: block; }
.carrier-intro > div:first-child { margin-bottom: 25px; }
.public-carrier-card { overflow: hidden; border-radius: 17px; border: 1px solid #dce9f5; background: #fff; box-shadow: 0 13px 30px rgba(17,61,107,.06); }
.public-carrier-photo { height: 210px; display: grid; place-items: center; background: linear-gradient(130deg,#e7f2ff,#fff2c0); color: #0d5db5; }
.public-carrier-photo img { width: 100%; height: 100%; object-fit: cover; }
.public-carrier-body { padding: 23px; }
.public-carrier-body h3 { margin: 9px 0 7px; color: #163a62; font-size: 26px; }
.public-carrier-body > p { color: #5b728a; line-height: 1.6; }
.vehicle-facts { display: flex; flex-wrap: wrap; gap: 7px; margin: 12px 0; }
.vehicle-facts span { background: #eaf3ff; color: #1a5b9d; border-radius: 20px; padding: 5px 9px; font-size: 11px; font-weight: 700; }
.public-carrier-body details { border-top: 1px solid #e0e9f3; border-bottom: 1px solid #e0e9f3; padding: 12px 0; }
.public-carrier-body summary { cursor: pointer; color: #0d5db5; font-weight: 800; }
.public-carrier-body details p { color: #61778d; font-size: 13px; }
.public-schedules { display: grid; gap: 10px; }
.public-schedules > div { padding: 10px; background: #f4f8fd; border-radius: 9px; }
.public-schedules strong, .public-schedules span, .public-schedules small, .public-schedules a { display: block; margin: 3px 0; }
.public-schedules span, .public-schedules small { color: #5b728b; font-size: 12px; }
.public-schedules a { color: #0d5db5; font-size: 12px; font-weight: 700; }
.upcoming-trips { margin-top: 16px; }
.upcoming-trips > strong { display: block; margin-bottom: 7px; color: #163c64; }
.upcoming-trips > a { display: flex; justify-content: space-between; gap: 10px; padding: 9px 0; border-bottom: 1px solid #e6edf5; color: #1a4f83; font-size: 12px; }
.upcoming-trips b { white-space: nowrap; }

.footer { background: #102b52; }
.footer-grid p, .footer-grid a:not(.brand) { color: #bdd0e7; }
.footer-bottom { border-color: #315174; color: #9fb9d3; }
.page-hero { background: #0e519e; overflow: hidden; }
.page-hero::after { border: 0; border-radius: 0; width: 480px; height: 180px; top: auto; bottom: -90px; right: -90px; transform: rotate(-22deg); background: linear-gradient(180deg, #ffda32 0 38%, transparent 38% 50%, #ed6729 50% 78%, transparent 78%); opacity: .9; }
.page-hero .wrap { position: relative; z-index: 1; }
.page-hero .eyebrow { color: #ffdb50; }
.page-hero p { color: #e1ecf8; }
.empty-results { background: #eaf3ff; border-color: #d3e4f6; }
.empty-icon, .article-icon, .contact-icon { color: #0e5eb6; background: #e8f2ff; }
.empty-results p { color: #5f748d; }
.price-row svg, .price-row strong, .departure-date, .contact-card small { color: #0d5db5; }
.info-banner { background: #fff4d7; color: #655a3f; }
.info-banner svg { color: #df6d2d; }
.side-index a:hover, .side-contact a { color: #0b5cb6; }
.article-cta, .side-card { background: #eaf3ff; }
.check-list li::before, .choice-row label input:checked + span { background: #e5f1ff; color: #0e5fb5; border-color: #a7cbf2; }
.check-label input { accent-color: #0d5db5; }
.check-label a, .contact-card > span:last-child { color: #0d5db5; }
.contact-panel { background: #fff2be; }
.form-step, .admin-tabs .selected { color: #0d5db5; }
.admin-tabs .selected { border-bottom-color: #0d5db5; }
.child-age-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 12px; margin-top: 8px; }
.child-age-fields > span { font-size: 13px; font-weight: 700; }
.cabin-gallery { display: flex; gap: 10px; overflow-x: auto; margin: 14px 0; }
.cabin-gallery > img, .cabin-gallery > div img { width: 150px; height: 105px; object-fit: cover; border-radius: 10px; }
.cabin-gallery > div { flex: none; display: grid; gap: 5px; }
.media-form { display: flex; align-items: end; flex-wrap: wrap; gap: 12px; }
.media-form label { flex: 1; min-width: 180px; }
.media-form input, .media-form select { width: 100%; }
.carrier-brief { width: 100%; margin: 8px 0; font-family: inherit; line-height: 1.45; }
.availability-form { display: grid; gap: 10px; }
.availability-form label { max-width: 360px; }
.availability-form input { width: 100%; }

/* Shared form controls and city suggestions */
[hidden] { display: none !important; }
input, select, textarea { border-color: #cbd9e9; background-color: #fff; transition: border-color .18s, box-shadow .18s; }
input:hover, select:hover, textarea:hover { border-color: #93b5dc; }
input:focus-visible, select:focus-visible, textarea:focus-visible { border-color: #0d5db5; box-shadow: 0 0 0 3px rgba(13,93,181,.16); outline: none; }
select { padding-right: 35px; accent-color: #0d5db5; }
input::placeholder, textarea::placeholder { color: #879bb1; opacity: 1; }
.form-grid label small { display: block; margin-top: 5px; color: #74879d; font-size: 11px; font-weight: 500; line-height: 1.45; }
.city-combobox { position: relative; width: 100%; }
.city-combobox > input { width: 100%; }
.search-fields .city-combobox > input { margin-top: 0; }
.city-suggestions { position: absolute; z-index: 80; left: 0; right: 0; top: calc(100% + 5px); max-height: 280px; overflow-y: auto; overflow-x: hidden; padding: 6px; border: 1px solid #bdd4ed; border-radius: 12px; background: #fff; box-shadow: 0 16px 35px rgba(16,55,103,.18); }
.city-option { display: flex; justify-content: space-between; gap: 12px; align-items: center; width: 100%; padding: 10px 12px; border: 0; border-radius: 8px; color: #193c64; background: transparent; text-align: left; }
.city-option strong { font-size: 13px; }
.city-option small { color: #6b829d; font-size: 11px; white-space: nowrap; }
.city-option strong { min-width: 0; overflow-wrap: anywhere; }
.city-option:hover, .city-option.active { background: #eaf3ff; }
.city-no-result { padding: 10px 12px; color: #6b829d; font-size: 12px; }
.country-picker { position: relative; width: 100%; }
.country-picker:focus-within { z-index: 90; }
.country-trigger { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 44px; margin-top: 6px; padding: 10px 12px; border: 1px solid #cbd9e9; border-radius: 9px; background: #fff; color: #193c64; font: inherit; font-weight: 700; text-align: left; box-shadow: 0 2px 5px rgba(16,55,103,.03); }
.country-trigger::after { content: ''; flex: none; width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230d5db5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") center / contain no-repeat; transition: transform .18s; }
.country-trigger[aria-expanded="true"]::after { transform: rotate(180deg); }
.country-trigger:hover { border-color: #93b5dc; background: #f9fcff; }
.country-trigger:focus-visible { outline: none; border-color: #0d5db5; box-shadow: 0 0 0 3px rgba(13,93,181,.16); }
.country-suggestions { position: absolute; z-index: 100; top: calc(100% + 5px); left: 0; width: 100%; min-width: 190px; max-height: 268px; overflow-y: auto; padding: 6px; border: 1px solid #bdd4ed; border-radius: 12px; background: #fff; box-shadow: 0 16px 35px rgba(16,55,103,.18); }
.country-option { display: block; width: 100%; padding: 9px 12px; border: 0; border-radius: 8px; background: transparent; color: #193c64; text-align: left; font-size: 13px; }
.country-option:hover, .country-option:focus-visible, .country-option[aria-selected="true"] { background: #eaf3ff; color: #0d5db5; outline: none; }
.route-endpoint select[name$="Country"] { font-weight: 700; color: #193c64; background-color: #fff; box-shadow: 0 2px 5px rgba(16,55,103,.03); }
.inline-choice { display: flex; align-items: center; gap: 9px; }
.inline-choice input { width: 18px; height: 18px; min-height: 0; margin: 0; accent-color: #0d5db5; }
.booking-for-other { padding: 14px 16px; border: 1px solid #cbdff3; border-radius: 11px; background: #f4f9ff; cursor: pointer; }
.booking-for-other span { display: grid; gap: 2px; }
.booking-for-other strong { color: #174778; font-size: 13px; }
.booking-for-other small { margin: 0 !important; }
.route-date { max-width: 310px; margin-bottom: 16px; }
.route-date label, .route-endpoint label { display: block; }
.route-date input { width: 100%; }
.route-endpoints { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.route-endpoint { min-width: 0; padding: 18px; border: 1px solid #dce8f4; border-radius: 13px; background: #f9fcff; }
.route-endpoint h3 { margin: 0 0 12px; color: #153e69; font-size: 17px; }
.route-endpoint .form-grid { grid-template-columns: 1fr; gap: 12px; }
.route-endpoint .route-address { margin-top: 12px; padding-top: 12px; border-top: 1px solid #dce8f4; }

/* Keep native controls readable while matching the PeekABus form system. */
input:not([type="checkbox"]):not([type="radio"]), select, textarea { min-height: 44px; border: 1px solid #cbd9e9; border-radius: 9px; font: inherit; }
textarea { min-height: 92px; resize: vertical; }
select { appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%230d5db5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 12px center; background-size: 18px; }
input[type="checkbox"], input[type="radio"] { accent-color: #0d5db5; cursor: pointer; }
.form-card button:disabled, .btn:disabled { opacity: .55; cursor: wait; }
.city-combobox:focus-within { z-index: 25; }
.route-filter { overflow: visible; }
.route-filter:focus-within { position: relative; z-index: 15; }
.route-results { margin-top: 27px; }
.route-answer { padding: 24px 28px; border: 1px solid #dce8f5; border-radius: 16px; background: #fff; box-shadow: 0 10px 25px rgba(17,52,99,.06); }
.route-answer h2 { margin: 7px 0 11px; color: #14365f; font-size: clamp(22px,3vw,30px); }
.route-answer p { color: #60758c; font-size: 13px; line-height: 1.65; }
.route-answer .btn { margin-top: 8px; }
.team-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; }
.team-card { min-width: 0; overflow: hidden; border: 1px solid #dce8f5; border-radius: 16px; background: #fff; box-shadow: 0 10px 25px rgba(17,52,99,.06); }
.team-image { display: flex; align-items: center; justify-content: center; height: 220px; padding: 18px; overflow: hidden; background: linear-gradient(145deg,#f8fbff,#edf5fc); }
.team-image img { display: block; width: 100%; height: 100%; min-width: 0; min-height: 0; object-fit: contain; }
.team-card-body { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 5px 12px; padding: 16px 18px 18px; }
.team-card h3 { margin: 0; color: #14365f; font-size: 17px; }
.team-card-body span { color: #60758c; font-size: 11px; }
.team-note { margin: 16px 0 0; color: #60758c; font-size: 13px; line-height: 1.65; }
@media (max-width: 900px) { .team-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 620px) { .team-grid { grid-template-columns: 1fr; } .team-image { height: 245px; } }
.workflow-help { padding: 12px 16px; margin: 16px 0; border-radius: 10px; background: #f4f8fd; color: #526d86; font-size: 12px; line-height: 1.6; }
.estimate-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin: 18px 0; }
.estimate-card { padding: 22px; border: 1px solid #dce8f5; border-radius: 15px; background: #fff; box-shadow: 0 10px 25px rgba(17,52,99,.06); }
.estimate-card:nth-child(2) { border-color: #a9c9ec; }
.estimate-card:nth-child(3) { border-color: #f2d786; }
.estimate-card span { display: block; color: #0c58b3; font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.estimate-card strong { display: block; margin: 8px 0; color: #14365f; font-size: 33px; line-height: 1.1; }
.estimate-card p { margin: 0; color: #60758c; font-size: 12px; line-height: 1.55; }
.estimate-note { color: #526b85; font-size: 13px; line-height: 1.65; }
.estimate-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 18px; }
.parcel-estimate { padding: 18px 22px; margin-top: 25px; border: 1px solid #dce8f5; border-radius: 13px; background: #f6faff; }
.parcel-estimate h3 { margin: 0 0 7px; color: #14365f; }
.parcel-estimate p { margin: 0; color: #60758c; font-size: 13px; line-height: 1.6; }
.submission-banner { padding: 22px 24px; margin-bottom: 24px; border: 1px solid #b5d6b7; border-left: 5px solid #2f9950; border-radius: 14px; background: #f2fff4; }
.submission-banner h2 { margin: 0 0 7px; color: #175b2b; font-size: 22px; }
.submission-banner p { margin: 0; color: #355c3d; line-height: 1.6; }
.submission-banner strong { display: inline-block; margin-top: 8px; color: #175b2b; }
.rule-list { margin: 10px 0 0; padding-left: 22px; color: #526983; line-height: 1.75; }
.article-card h3 { color: #173e68; margin: 20px 0 5px; font-size: 17px; }
.official-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.official-links a { display: inline-flex; align-items: center; padding: 8px 11px; border: 1px solid #d5e6f7; border-radius: 8px; background: #f6faff; font-size: 12px; font-weight: 700; }
.hotline-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 16px; }
.hotline-grid a { display: block; padding: 13px; border: 1px solid #dce8f5; border-radius: 10px; background: #f8fbff; text-decoration: none; }
.hotline-grid strong, .hotline-grid span { display: block; }
.hotline-grid strong { font-size: 20px; }
.hotline-grid span { color: #62768b; font-size: 11px; }
@media (max-width: 700px) { .estimate-grid { grid-template-columns: 1fr; } .hotline-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) {
  .search-fields .city-suggestions { right: auto; width: min(250px, calc(100vw - 64px)); }
  .search-fields label:nth-of-type(2) .city-suggestions { left: auto; right: 0; }
}

/* Operator orders and matching */
.order-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 20px; margin: 0 0 16px; }
.order-toolbar h2 { margin: 0 0 3px; color: #163b65; font-size: 25px; }
.order-toolbar p { margin: 0; color: #607895; font-size: 12px; }
.order-filters { display: flex; gap: 10px; align-items: end; }
.order-filters label { color: #315677; font-size: 11px; font-weight: 800; }
.order-filters input { width: 220px; }
.order-filters select { width: 155px; }
.order-list { gap: 12px; }
.order-list .request-card { padding: 0; overflow: visible; border: 1px solid #dce8f4; border-radius: 13px; background: #fff; box-shadow: 0 7px 19px rgba(17,52,99,.04); }
.order-list .request-card[data-status="new"] { border-left: 5px solid #24a66c; }
.order-list .request-card[data-status="contacted"], .order-list .request-card[data-status="matched"] { border-left: 5px solid #eebf2d; }
.order-list .request-card[data-status="selected"] { border-left: 5px solid #0d5db5; }
.order-list .request-card[data-status="confirmed"], .order-list .request-card[data-status="cancelled"] { border-left: 5px solid #9bacbc; }
.request-detail { border: 0; }
.request-detail[open] .order-chevron { transform: rotate(180deg); }
.operator-flow { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; padding: 12px 16px; border: 1px solid #d7e6f5; border-radius: 12px; background: #fff; color: #6a8098; font-size: 12px; font-weight: 800; }
.operator-flow .current { padding: 6px 10px; border-radius: 8px; background: #eaf3ff; color: #0d5db5; }
.operator-tabs button span { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; margin-left: 3px; border-radius: 12px; background: #eaf3ff; color: #155a9f; font-size: 10px; }
.stage-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; padding: 11px 18px 15px; border-top: 1px solid #e3edf7; }
.stage-actions .btn { min-height: 38px; padding: 9px 13px; font-size: 11px; }
.stage-actions .small-btn { min-height: 38px; }
.stage-actions small { color: #667d95; font-size: 11px; }
.stage-actions .stage-message { flex-basis: 100%; }
.stage-actions .stage-message:empty { display: none; }
.stage-actions button:disabled { opacity: .5; cursor: not-allowed; }
.order-summary { display: flex; gap: 15px; align-items: center; padding: 17px 20px; list-style: none; cursor: pointer; }
.order-summary::-webkit-details-marker { display: none; }
.order-summary-main { min-width: 0; flex: 1; }
.order-summary-main strong, .order-summary-main small { display: block; }
.order-summary-main strong { color: #163b65; font-size: 16px; }
.order-summary-main small { margin-top: 3px; color: #667e98; font-size: 12px; }
.request-badge { display: inline-block; flex: none; padding: 5px 9px; border-radius: 20px; color: #0c59aa; background: #e7f1ff; font-size: 10px; font-weight: 800; }
.request-card[data-kind="parcel"] .request-badge { color: #9c5418; background: #fff0cb; }
.order-status { flex: none; font-size: 11px; font-weight: 800; color: #436484; }
.order-status small { display: block; margin-top: 3px; color: #6e8399; font-size: 10px; font-weight: 600; }
.order-chevron { color: #3974b0; font-size: 22px; transition: transform .2s; }
.order-expand-control { display: inline-flex; align-items: center; gap: 8px; flex: none; padding: 7px 9px 7px 12px; border: 1px solid #c6dbf2; border-radius: 10px; background: #f1f7ff; color: #0d5db5; font-size: 11px; font-weight: 800; white-space: nowrap; }
.order-expand-control .order-chevron { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 6px; background: #dcecff; font-size: 19px; line-height: 1; }
.request-detail[open] .order-open-label, .request-detail:not([open]) .order-close-label { display: none; }
.order-summary:hover .order-expand-control, .order-summary:focus-visible .order-expand-control { border-color: #8bb9e9; background: #e4f0ff; }
.order-summary:focus-visible { outline: 3px solid rgba(13,93,181,.25); outline-offset: -3px; border-radius: 10px; }
.admin-pagination { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; margin: 16px 0 27px; padding: 12px 15px; border: 1px solid #dce8f4; border-radius: 11px; background: #fff; }
.pagination-count { color: #52718f; font-size: 12px; font-weight: 700; }
.pagination-controls { display: flex; align-items: center; flex-wrap: wrap; gap: 5px; }
.pagination-controls button { min-width: 33px; min-height: 33px; padding: 5px 9px; border: 1px solid #cbdff2; border-radius: 8px; background: #f7fbff; color: #155a9f; font-size: 12px; font-weight: 800; }
.pagination-controls button:hover:not(:disabled) { border-color: #78ade3; background: #eaf3ff; }
.pagination-controls button[aria-current="page"] { border-color: #0d5db5; background: #0d5db5; color: #fff; }
.pagination-controls button:disabled { opacity: .45; cursor: not-allowed; }
.pagination-gap { padding: 0 4px; color: #6d849b; }
.schedule-page-list { display: grid; gap: 10px; }
.order-expanded { padding: 0 20px 22px; border-top: 1px solid #e1ebf5; }
.order-detail-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; margin: 18px 0; }
.order-detail-grid section { padding: 14px; border: 1px solid #e3edf7; border-radius: 11px; background: #f9fcff; min-width: 0; overflow-wrap: anywhere; }
.order-detail-grid h3 { margin: 0 0 5px; color: #0e58a5; font-size: 12px; }
.order-detail-grid p { margin: 0; color: #415f7d; font-size: 12px; line-height: 1.6; }
.order-detail-grid a, .match-main a { color: #0d5db5; text-decoration: underline; }
.request-details { margin: 15px 0; }
.request-details summary { color: #0d5db5; font-size: 12px; font-weight: 800; cursor: pointer; }
.request-details form { padding-top: 14px; }
.matches-block { margin: 17px 0; }
.matches-block h3 { margin: 0 0 8px; color: #163b65; font-size: 15px; }
.candidate-list { display: grid; gap: 9px; }
.match-card { display: flex; justify-content: space-between; gap: 18px; padding: 13px 15px; border: 1px solid #d7e6f5; border-radius: 11px; background: #fff; }
.match-main { min-width: 0; }
.match-main strong, .match-main small, .match-main a { display: block; }
.match-main strong { color: #183d66; font-size: 13px; }
.match-main small, .match-main a { margin-top: 4px; font-size: 11px; line-height: 1.45; }
.match-main small { color: #617c95; }
.match-actions { display: flex; flex-direction: column; gap: 7px; width: 195px; flex: none; }
.seat-inline { display: flex; flex-wrap: wrap; align-items: end; gap: 6px; }
.seat-inline label { flex: 1; color: #5a7390; font-size: 10px; font-weight: 700; }
.seat-inline input { min-height: 34px; padding: 5px 8px; margin-top: 3px; }
.seat-inline .small-btn { min-height: 34px; }
.seat-inline .form-message { flex-basis: 100%; }
.operator-tabs { overflow-x: auto; white-space: nowrap; }
.direction-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-top: 18px; }
.direction-grid > section { border: 1px solid #dce8f4; border-radius: 12px; padding: 16px; min-width: 0; background: #f9fcff; }
.direction-grid h3 { margin: 0 0 10px; color: #173e68; font-size: 16px; }
.direction-grid .schedule-admin-item { background: #fff; border: 1px solid #e0eaf5; border-radius: 9px; padding: 12px; margin-bottom: 10px; }
.direction-grid .add-schedule > summary { margin-top: 13px; }
.schedule-advanced { border: 0 !important; padding: 0 !important; margin: 0 !important; }
.schedule-advanced > summary { font-size: 12px; }
.weekday-grid { gap: 6px; }
.weekday-choice { min-width: 0 !important; padding: 6px 8px; border-radius: 8px; background: #edf5ff; font-size: 11px; }

@media (min-width: 901px) {
  .hero { padding-top: 28px; }
  .hero-grid { min-height: 355px; }
  .hero-copy { padding-bottom: 0; }
  .brand-visual { max-width: 610px; }
  .hero-search { transform: translateY(25px); }
}

@media (max-width: 900px) { .order-detail-grid { grid-template-columns: 1fr 1fr; } .direction-grid { grid-template-columns: 1fr; } }
@media (max-width: 620px) { .order-toolbar { display: block; } .order-filters { margin-top: 12px; } .order-filters label { flex: 1; min-width: 0; } .order-filters input, .order-filters select { width: 100%; } .order-summary { flex-wrap: wrap; gap: 7px 10px; padding: 14px; } .order-summary-main { order: 2; flex-basis: 100%; } .order-status { margin-left: auto; } .order-expand-control { order: 3; margin-left: auto; } .order-expanded { padding: 0 14px 18px; } .order-detail-grid { grid-template-columns: 1fr; } .match-card { display: block; } .match-actions { width: 100%; margin-top: 12px; } .seat-inline { max-width: 260px; } .admin-pagination { align-items: flex-start; } .pagination-controls { width: 100%; } }
@media (max-width: 760px) { .route-endpoints { grid-template-columns: 1fr; } }

@media (max-width: 900px) {
  .hero { padding-top: 44px; }
  .hero-grid { grid-template-columns: 1fr; gap: 3px; }
  .hero-copy { padding-bottom: 0; }
  .brand-visual { width: min(680px, 100%); margin: -10px auto -12px; }
  .brand-story-inner { gap: 25px; }
  .brand-story-mark { min-height: 170px; }
  .parcel-layout { grid-template-columns: 1fr; }
  .parcel-aside { grid-template-columns: 1fr 1fr; }
  .public-carrier-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .header-inner { height: 68px; }
  .hero { padding-top: 34px; }
  .hero h1 { font-size: clamp(36px, 9vw, 45px); }
  .hero-copy > p { font-size: 14px; }
  .legacy-line { margin: 16px 0; }
  .brand-visual { width: min(300px, 100%); margin: -10px auto -8px; }
  .hero-search { transform: translateY(26px); }
  .hero + .section { padding-top: 90px; }
  .brand-story { padding: 55px 0; }
  .brand-story-inner { grid-template-columns: 1fr; gap: 28px; }
  .brand-story-mark { min-height: 130px; padding: 17px; transform: none; gap: 12px; }
  .old-name, .new-name { font-size: clamp(24px, 7vw, 35px); }
  .brand-arrow { font-size: 26px; }
  .community-inner { align-items: flex-start; flex-wrap: wrap; gap: 14px; }
  .community-icon { width: 44px; height: 44px; font-size: 22px; }
  .community-copy { flex-basis: calc(100% - 58px); }
  .community-inner .btn { width: 100%; }
  .page-hero::after { right: -225px; bottom: -115px; opacity: .55; }
  .parcel-promo { padding: 55px 0 14px; }
  .parcel-promo-inner { align-items: flex-start; flex-wrap: wrap; padding: 18px; }
  .parcel-promo-inner > div { flex-basis: calc(100% - 63px); }
  .parcel-promo .btn { width: 100%; }
  .parcel-promo + .section { padding-top: 55px; }
  .parcel-aside { display: none; }
  .parcel-form { padding: 0 22px; }
  .parcel-check { align-self: start; }
  .operator-tabs { gap: 17px; }
  .notification-actions .btn { width: 100%; }
  .carrier-admin-head { align-items: flex-start; }
  .carrier-thumb { width: 75px; height: 70px; }
  .schedule-admin-head { flex-direction: column; }
  .public-carrier-photo { height: 170px; }
  .upcoming-trips > a { flex-direction: column; gap: 3px; }
}

/* Operator workspace */
.operator-hero { padding: 48px 0 52px; }
.operator-hero h1 { font-size: clamp(32px,4vw,48px); margin-bottom: 8px; }
.operator-section { padding: 40px 0 90px; }
.admin-root { min-height: 470px; }
.admin-bar { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)) auto; gap: 10px; align-items: stretch; margin-bottom: 20px; }
.admin-bar > div { min-width: 0; padding: 15px 17px; border: 1px solid #dce8f5; border-radius: 13px; box-shadow: 0 6px 18px rgba(17,52,99,.04); }
.admin-bar strong { color: #124d93; font-size: 27px; line-height: 1.2; }
.admin-bar span { color: #60758c; font-size: 11px; font-weight: 700; }
.admin-bar .btn { align-self: center; margin-left: 3px; }
.operator-tabs { gap: 7px; margin-bottom: 24px; padding: 6px; border: 1px solid #dce8f5; border-radius: 13px; background: #fff; }
.operator-tabs button { min-height: 42px; padding: 10px 15px; border: 0; border-radius: 9px; color: #4e6984; font-size: 12px; white-space: nowrap; }
.operator-tabs button:hover { background: #f0f6fd; color: #0d5db5; }
.operator-tabs button.selected { background: #0d5db5; color: #fff; box-shadow: 0 5px 12px rgba(13,93,181,.18); }
.operator-tabs button span { background: #eaf3ff; color: #155a9f; }
.operator-tabs button.selected span { background: rgba(255,255,255,.2); color: #fff; }
.operator-section .admin-item { padding: 20px; border: 1px solid #dce8f5; border-radius: 13px; background: #fff; box-shadow: 0 7px 20px rgba(17,52,99,.045); }
.operator-section .admin-item strong { color: #173e68; font-size: 14px; }
.operator-section .admin-item p { color: #526b85; line-height: 1.6; }
.operator-section .admin-item a { color: #0d5db5; text-decoration: underline; text-underline-offset: 2px; }
.operator-section .admin-item small { color: #71869c; line-height: 1.5; }
.operator-section .partner-status { min-width: 150px; min-height: 39px; padding: 8px 36px 8px 11px; border-color: #c9def3; background-color: #f7fbff; color: #174778; font-size: 11px; font-weight: 800; }
.operator-section .notification-status { padding: 22px; border-radius: 13px; box-shadow: 0 7px 20px rgba(17,52,99,.04); }
.operator-section .notification-status h2 { color: #173e68; font-size: 20px; }
#partner-message:empty, #notification-message:empty { display: none; }
.operator-flow { width: fit-content; padding: 8px 12px; border-radius: 11px; background: #fff; }
.order-toolbar { align-items: end; margin: 0 0 22px; }
.order-toolbar h2 { margin-top: 4px; font-size: clamp(23px,2.5vw,30px); }
.order-toolbar p { max-width: 540px; line-height: 1.55; }
.order-filters { flex-wrap: wrap; }
.order-filters label { display: grid; gap: 5px; }
.order-filters input { width: 265px; }
.order-filters select { width: 170px; padding-right: 36px; }
.order-list { gap: 13px; }
.order-list .request-card, .order-list .request-card[data-status] { overflow: hidden; border: 1px solid #dce8f5; border-radius: 14px; background: #fff; box-shadow: 0 8px 22px rgba(17,52,99,.055); }
.order-list .request-card:has(.request-detail[open]) { border-color: #b7d4f2; box-shadow: 0 14px 32px rgba(17,52,99,.1); }
.order-summary { min-height: 78px; gap: 14px; padding: 17px 20px; }
.order-summary:hover { background: #f8fbff; }
.order-summary-main strong { font-size: 16px; line-height: 1.35; }
.order-summary-main small { color: #667e98; font-size: 11px; }
.order-status { padding: 7px 10px; border-radius: 8px; background: #eaf3ff; color: #0d5db5; font-size: 11px; }
.order-status.state-processed { background: #fff3d6; color: #8d5d0b; }
.order-status.state-completed { background: #eaf7ee; color: #277145; }
.order-status.state-cancelled { background: #f1f3f6; color: #667587; }
.order-expand-control { min-height: 36px; padding: 6px 8px 6px 11px; }
.order-expand-control .order-chevron { font-size: 18px; }
.order-expanded { padding: 20px; border-top: 1px solid #e4eef8; background: #fbfdff; }
.order-detail-grid { gap: 12px; margin: 0; }
.order-detail-grid section { position: relative; min-height: 178px; padding: 20px; border: 1px solid #dfeaf6; border-radius: 12px; background: #fff; }
.order-detail-grid h3 { margin: 0 0 15px; color: #173f6c; font-size: 16px; }
.detail-icon { position: absolute; right: 18px; top: 17px; color: #b6d2ef; font-size: 12px; font-weight: 900; }
.detail-kv { display: grid; gap: 2px; margin-top: 11px; }
.detail-kv span { color: #71869c; font-size: 10px; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.detail-kv strong { color: #244868; font-size: 12px; line-height: 1.5; font-weight: 650; overflow-wrap: anywhere; }
.detail-kv a { color: #0d5db5; text-decoration: underline; text-underline-offset: 2px; }
.client-note { display: grid; gap: 5px; margin: 14px 0 0; padding: 13px 16px; border-left: 3px solid #f0ba42; border-radius: 8px; background: #fff9ea; color: #526a80; font-size: 12px; }
.client-note strong { color: #6b5427; }
.order-created { margin: 14px 0 0; color: #8495a6; font-size: 11px; }
.order-workspace { margin-top: 20px; padding: 22px; border: 1px solid #cbdff3; border-radius: 14px; background: #f3f8ff; }
.workspace-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 15px; border-bottom: 1px solid #d8e8f8; }
.workspace-heading strong { color: #0d5db5; font-size: 12px; }
.workflow-step { display: flex; gap: 15px; align-items: flex-start; margin: 20px 0; }
.step-number { display: grid; flex: none; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: #0d5db5; color: #fff; font-size: 13px; font-weight: 900; }
.workflow-step h3 { margin: 0 0 5px; color: #163e69; font-size: 18px; }
.workflow-step p { margin: 0; max-width: 690px; color: #60758c; font-size: 12px; line-height: 1.6; }
.cancelled-step .step-number { background: #8291a2; }
.handoff-form { margin-top: 16px; }
.handoff-form .form-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.handoff-form label, .note-form label { display: grid; gap: 6px; color: #315677; font-size: 11px; font-weight: 800; }
.handoff-form input, .note-form textarea { width: 100%; padding: 10px 12px; background: #fff; color: #173e68; }
.brief-fallback:not([hidden]) { display: block; width: 100%; min-height: 180px; margin-top: 14px; padding: 12px; background: #fff; color: #173e68; font-size: 12px; line-height: 1.55; }
.workflow-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.workflow-actions .btn { min-height: 42px; }
.workflow-footnote { margin: 11px 0 0; color: #617a93; font-size: 11px; line-height: 1.55; }
.note-form { display: grid; gap: 10px; margin-top: 22px; padding-top: 18px; border-top: 1px solid #d8e8f8; }
.note-form textarea { min-height: 73px; }
.order-link { width: fit-content; border: 0; padding: 0; background: none; color: #0d5db5; font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }
.order-link:hover { color: #084382; }
.workflow-danger { margin-top: 20px; }
.workflow-danger .order-link { color: #af4c3d; }
.workflow-danger .order-link:hover { color: #8f3428; }
.cancel-confirm:not([hidden]) { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: 11px; padding: 13px; border: 1px solid #f1c8bd; border-radius: 10px; background: #fff7f4; }
.cancel-confirm p { flex-basis: 100%; margin: 0; color: #8f3428; font-size: 12px; font-weight: 700; }
.cancel-confirm .btn { min-height: 37px; padding: 8px 12px; font-size: 11px; }
.workflow-message { margin: 11px 0 0; }
.workflow-message:empty { display: none; }
.assigned-carrier { display: flex; flex-wrap: wrap; align-items: baseline; gap: 5px 12px; padding: 14px 16px; border: 1px solid #d4e5f6; border-radius: 10px; background: #fff; }
.assigned-carrier > span:first-child { color: #6e8295; font-size: 11px; }
.assigned-carrier strong { color: #173e68; font-size: 14px; }
.assigned-carrier a { color: #0d5db5; font-size: 12px; }
.assigned-carrier > span:last-child:not(:first-child) { margin-left: auto; color: #43617d; font-size: 12px; }
.order-payment { display: flex; flex-wrap: wrap; gap: 9px 16px; align-items: center; margin: 14px 0; color: #526b85; font-size: 12px; }
.order-payment strong { color: #173e68; }
.saved-note { margin: 16px 0 0; color: #526b85; font-size: 12px; }
@media (max-width: 1100px) { .admin-bar { grid-template-columns: repeat(3,minmax(0,1fr)); } .admin-bar .btn { margin: 0; } }
@media (max-width: 780px) { .order-toolbar { display: block; } .order-filters { margin-top: 15px; } .order-detail-grid { grid-template-columns: 1fr; } .order-detail-grid section { min-height: 0; } .handoff-form .form-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 620px) { .operator-section { padding-top: 25px; } .admin-bar { grid-template-columns: repeat(2,minmax(0,1fr)); } .admin-bar .btn { grid-column: 1/-1; } .operator-flow { width: 100%; justify-content: center; font-size: 10px; } .order-filters input, .order-filters select { width: 100%; } .order-summary { gap: 8px; padding: 14px; } .order-summary-main { order: 1; flex-basis: calc(100% - 96px); } .request-badge { order: 0; } .order-status { order: 2; margin: 0; } .order-expand-control { order: 3; margin-left: auto; } .order-expanded { padding: 14px; } .order-workspace { padding: 16px; } .handoff-form .form-grid { grid-template-columns: 1fr; } .workflow-actions .btn { width: 100%; } }

/* Shared interaction polish: keep the established PeekABus palette. */
.skip-link { position: fixed; z-index: 1000; left: 16px; top: 12px; padding: 12px 18px; border-radius: 8px; background: #112b4f; color: #fff; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
#main:focus { outline: none; }
.footer .brand-light { color: #fff; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
input, select, textarea, button { max-width: 100%; }
input, select, textarea { min-height: 46px; }
input[type=checkbox] { min-height: 20px; width: 20px; height: 20px; flex: 0 0 20px; accent-color: #0d57af; }
.check-label, .inline-choice { min-height: 44px; align-items: flex-start; cursor: pointer; }
.check-label input, .inline-choice input { margin-top: 2px; }
label, .form-grid > *, .filter-grid > *, .search-fields > * { min-width: 0; }
label.has-error { color: #9d3229; }
.field-error { display: block; margin-top: 7px; font-size: 12px; line-height: 1.5; font-weight: 500; color: #a33028; }
.form-grid label .field-error { color: #a33028; font-size: 12px; }
.check-label.has-error { flex-wrap: wrap; }
.check-label .field-error { flex-basis: 100%; }
input[aria-invalid=true], select[aria-invalid=true], textarea[aria-invalid=true], .country-trigger[aria-invalid=true] { border-color: #c43e32; background-color: #fffafa; }
.validation-summary { flex-basis: 100%; grid-column: 1/-1; padding: 12px 16px; border-radius: 10px; border: 1px solid #efbdb7; background: #fff4f2; color: #99372e; font-size: 13px; line-height: 1.6; }
.form-message.error, .workflow-message.error { color: #a33028; }
.form-message:not(:empty) { padding: 10px 0; line-height: 1.6; }
.form-message:empty, .draft-status:empty { display: none; }
.form-required-note { margin: 0 0 20px; color: #60758c; font-size: 12px; }
.form-card, .route-endpoint, .route-filter, .search-card, .search-fields { overflow: visible; }
.country-option, .city-option { min-height: 44px; }
.country-suggestions, .city-suggestions { overscroll-behavior: contain; scrollbar-width: thin; }
.country-suggestions { min-width: 0; }
.country-trigger { font-size: 14px; line-height: 1.4; min-height: 46px; }
.city-no-result { line-height: 1.6; }
.direction-result { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(230px,1fr); gap: 24px 36px; padding: 30px; border-color: #bbd6f2; border-top: 4px solid #0d57af; scroll-margin-top: 100px; }
.direction-result:focus-visible { outline: 3px solid #ef6b27; outline-offset: 4px; }
.result-kicker { display: flex; align-items: center; gap: 9px; font-size: 11px; font-weight: 800; letter-spacing: .09em; color: #0d57af; }
.result-kicker > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; color: #fff; background: #0d57af; font-size: 15px; }
.direction-result h2 { font-size: clamp(23px,2.7vw,31px); line-height: 1.2; margin: 13px 0 18px; }
.direction-result .result-route { margin: 0 0 12px; color: #173e68; font-size: 20px; font-weight: 750; overflow-wrap: anywhere; }
.result-route > span { color: #ef6b27; margin: 0 7px; }
.result-date { display: inline-block; padding: 8px 12px; border-radius: 8px; background: #edf4fd; color: #36577b; font-size: 13px; }
.direction-result .result-explanation { margin: 16px 0 0; max-width: 650px; }
.result-price { align-self: stretch; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; padding: 22px; border-radius: 13px; background: #f2f7fd; }
.result-price > span { color: #526983; font-size: 13px; }
.result-price > strong { color: #123b69; font-size: clamp(30px,4vw,42px); line-height: 1.2; margin: 9px 0 5px; letter-spacing: -.04em; }
.result-price > small { color: #526983; font-size: 12px; line-height: 1.6; }
.result-price .btn { width: 100%; margin: 20px 0 10px; }
.result-footnote { grid-column: 1/-1; border-top: 1px solid #dce8f5; padding-top: 18px; font-size: 12px; line-height: 1.7; color: #526983; }
.direction-check { border-top-color: #ef6b27; }
.direction-check .result-kicker > span { background: #ef6b27; }
.operator-refresh-bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; color: #526983; font-size: 12px; }
.operator-refresh-bar .btn { min-height: 42px; padding: 9px 14px; font-size: 12px; }
.operator-tabs button { min-height: 46px; }
.operator-tabs button[aria-pressed=true] { box-shadow: 0 3px 9px rgba(13,87,175,.12); }
.order-link { min-height: 40px; display: inline-flex; align-items: center; }
.reset-filters { margin: 12px 0; padding-inline: 12px; }
.order-chevron { display: inline-flex; align-items: center; justify-content: center; }
.order-detail-grid strong, .assigned-carrier, .client-note, .saved-note { overflow-wrap: anywhere; }
.order-detail-grid .detail-kv strong { font-size: 14px; line-height: 1.6; }
.order-workspace .workflow-step p, .workflow-footnote, .order-created, .order-payment { font-size: 13px; line-height: 1.7; }
.order-workspace label { font-size: 13px; }
.draft-status { color: #7b5820; background: #fff8df; border-left: 3px solid #ffd439; border-radius: 6px; padding: 9px 12px; font-size: 12px; line-height: 1.6; }
.operator-load-error { margin-bottom: 20px; }
.admin-pagination { scroll-margin-top: 100px; }
.admin-pagination button { min-width: 42px; min-height: 42px; }
.admin-pagination button:disabled { cursor: default; }
.submission-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.article-card { scroll-margin-top: 100px; }
@media (max-width: 760px) {
  .direction-result { grid-template-columns: 1fr; padding: 22px; gap: 20px; }
  .result-price { padding: 18px; }
  .result-price .btn { max-width: none; }
  .order-summary-main strong { overflow-wrap: anywhere; }
  .operator-tabs { gap: 7px; }
  .admin-pagination { flex-direction: column; align-items: center; gap: 12px; }
  .pagination-controls { justify-content: center; flex-wrap: wrap; }
}
@media (max-width: 620px) {
  input, select, textarea, .country-trigger { font-size: 16px; }
  .btn { min-height: 46px; }
  .direction-result .result-route { font-size: 18px; }
  .operator-refresh-bar .btn { width: 100%; }
  .admin-bar > div { min-width: 0; }
  .operator-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); overflow: visible; }
  .operator-tabs button { min-width: 0; white-space: normal; justify-content: center; }
  .order-filters { display: grid; grid-template-columns: 1fr; }
  .check-label, .inline-choice { line-height: 1.6; }
  .search-fields { grid-template-columns: minmax(0,1fr) 44px; gap: 12px; }
  .search-fields label:nth-of-type(1) { grid-column: 1; grid-row: 1; }
  .search-fields label:nth-of-type(2) { grid-column: 1; grid-row: 2; }
  .search-fields .swap-btn { grid-column: 2; grid-row: 1 / 3; align-self: center; width: 44px; height: 44px; }
  .search-fields label:nth-of-type(3) { grid-column: 1 / -1; grid-row: 3; }
  .search-fields .btn { grid-column: 1 / -1; grid-row: 4; }
  .search-fields .city-suggestions { left: 0; right: auto; width: min(290px,calc(100vw - 80px)); }
  .search-fields label:nth-of-type(2) .city-suggestions { left: 0; right: auto; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
}

/* Free selection and customer reminder preferences. */
.hero .hero-slogan { font-size:clamp(19px,2vw,25px); font-weight:750; line-height:1.4; color:#0b5cba; margin:0 0 16px; max-width:560px; }
.hero-benefits { display:grid; grid-template-columns:1fr 1fr 1.25fr; gap:8px; margin:18px 0 10px; }
.hero-benefits > div,.hero-benefits > a { display:flex; gap:10px; align-items:center; border:1px solid #dbe6f3; background:#fff; border-radius:12px; padding:12px; }
.hero-benefits > :first-child { background:#fff5ba; border-color:#f0d657; }
.hero-benefits > a { grid-column:auto; }
.hero-benefits > a:hover { background:#eef5ff; border-color:#0b5cba; }
.hero-benefits svg { color:#0b5cba; }
.hero-benefits strong,.hero-benefits small { display:block; }
.hero-benefits strong { font-size:13px; color:#142c4b; }
.hero-benefits small { font-size:12px; color:#4e6077; }
.hero .hero-payment-note { font-size:12px; line-height:1.5; margin:10px 0 0; }
.reminder-consent { border:1px solid #dbe6f3; border-radius:12px; background:#f6f9ff; padding:14px; margin-top:14px; }
.reminder-consent strong { display:block; font-size:14px; color:#183a65; }
.reminder-consent small { display:block; line-height:1.6; margin-top:4px; color:#53657a; font-size:12px; }
.care-status-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; margin-top:22px; }
.care-status-grid .notification-status { margin:0; min-width:0; }
.care-status-grid .btn { margin-top:15px; }
.care-status-grid small { display:block; line-height:1.7; }
@media(max-width:620px) { .hero-benefits { grid-template-columns:1fr 1fr; } .hero-benefits > a { grid-column:1/-1; } .care-status-grid { grid-template-columns:1fr; } }
