:root {
  --bg: #f4f2ee;
  --ink: #1d1a16;
  --paper: #ffffff;
  --line: #e3dfd8;
  --muted: #6d675f;
  --red: #c4473a;
  --red-dark: #a53b30;
  --green: #2a6b45;
  --warn: #8d5a2b;
  --shadow: none;
  color-scheme: light;
}

* { box-sizing: border-box; }
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  max-width: 100%;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}
html { scrollbar-gutter: stable; }
body { position: relative; }
#app { max-width: 100%; overflow-x: clip; }
.pull-ind[hidden] { display: none !important; }
.pull-ind {
  position: fixed;
  z-index: 40;
  left: 64px;
  right: 188px;
  top: 0;
  height: calc(70px + env(safe-area-inset-top));
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: env(safe-area-inset-top);
  pointer-events: none;
}
.pull-ind .race-car {
  position: relative;
  width: 72px;
  height: 20px;
  margin-top: 0;
  background: none;
  box-shadow: none;
}
.race-car img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: none;
}
.race-car .smoke {
  position: absolute;
  bottom: 1px;
  width: 26px;
  height: 22px;
  opacity: 0;
  pointer-events: none;
}
.race-car .smoke-l { left: 10%; }
.race-car .smoke-r { left: 64%; }
.race-car .puff {
  position: absolute;
  left: 8px;
  bottom: 0;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #8a9096;
  opacity: 0;
}
.pull-ind.busy .smoke { opacity: 1; }
.pull-ind.busy .puff { animation: smoke-up 1.05s ease-out infinite; }
.pull-ind.busy .puff:nth-child(2) { animation-delay: 0.22s; left: 2px; width: 6px; height: 6px; }
.pull-ind.busy .puff:nth-child(3) { animation-delay: 0.44s; left: 14px; width: 5px; height: 5px; }
@keyframes smoke-up {
  0% { transform: translate(4px, 2px) scale(0.4); opacity: 0; }
  30% { opacity: 0.85; }
  100% { transform: translate(-22px, -14px) scale(1.8); opacity: 0; }
}
#arrive[hidden] { display: none !important; }
#arrive {
  position: fixed;
  z-index: 45;
  left: 12px;
  right: 12px;
  top: calc(12px + env(safe-area-inset-top));
  display: flex;
  gap: 12px;
  align-items: center;
  background: #fff;
  border: 1px solid #d4483c;
  border-radius: 16px;
  padding: 12px 14px;
}
#arrive .race-car { position: relative; width: 78px; height: 22px; flex: none; background: none; box-shadow: none; }
.who.declined { color: var(--red); }
#arrive b { display: block; font-size: 17px; }
#arrive p { margin: 2px 0 0; color: var(--muted); font-size: 14px; }
#arrive.arrive-go,
#arrive.arrive-bad,
#arrive.arrive-ok {
  border: 1px solid #e7e1d8;
  border-left-width: 4px;
  box-shadow: 0 10px 28px rgba(24, 32, 56, 0.12);
  align-items: center;
}
#arrive.arrive-go { border-left-color: #2563eb; }
#arrive.arrive-bad { border-left-color: #e11d48; }
#arrive.arrive-ok { border-left-color: #059669; }
#arrive .arrive-mark {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
  font-size: 26px;
  line-height: 1;
}
#arrive.arrive-go .arrive-mark { background: #dbeafe; }
#arrive.arrive-bad .arrive-mark { background: #ffe4e6; }
#arrive.arrive-ok .arrive-mark { background: #d1fae5; }
#arrive.arrive-go b,
#arrive.arrive-bad b,
#arrive.arrive-ok b {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}
#arrive.arrive-go b { color: #1d4ed8; }
#arrive.arrive-bad b { color: #be123c; }
#arrive.arrive-ok b { color: #047857; }
#arrive .arrive-who {
  margin: 3px 0 0;
  color: var(--ink);
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
}
#arrive .arrive-addr {
  margin: 2px 0 0;
  color: #3f3a34;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.3;
}
#arrive .arrive-who[hidden],
#arrive .arrive-addr[hidden] { display: none; }
body {
  min-height: 100vh;
  min-height: 100dvh;
  background: var(--bg);
  color: var(--ink);
  font-family: "Segoe UI", system-ui, sans-serif;
  font-size: 16.5px;
  line-height: 1.45;
}
button, input, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
a { color: inherit; }

.top {
  background: var(--bg);
  color: var(--ink);
  padding: 16px 18px 8px;
  padding: calc(16px + env(safe-area-inset-top)) 18px 8px;
  padding: calc(16px + env(safe-area-inset-top)) max(18px, env(safe-area-inset-right)) 8px max(18px, env(safe-area-inset-left));
}
.top h1 { margin: 0; font-size: 26px; font-weight: 650; letter-spacing: -0.03em; overflow-wrap: anywhere; }
.top p { margin: 4px 0 0; color: var(--muted); font-size: 15px; }
.top-row { display: flex; justify-content: space-between; gap: 8px; align-items: center; flex-wrap: nowrap; }
.top-row > div:first-child { flex: 0 1 auto; min-width: 0; }
.top-tools { display: flex; flex-wrap: nowrap; justify-content: flex-end; gap: 6px 8px; align-items: center; min-width: 0; }
.linkish {
  background: transparent;
  color: var(--ink);
  border: 0;
  padding: 8px 0;
  text-decoration: underline;
  font-size: 14px;
}
a.linkish { font: inherit; cursor: pointer; }
.langs { display: flex; border: 1px solid var(--line); border-radius: 999px; overflow: hidden; background: #fff; }
.langs button {
  border: 0;
  background: transparent;
  min-width: 44px;
  min-height: 40px;
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 650;
  letter-spacing: 0.04em;
}
.langs button.on { background: var(--ink); color: #fff; }

.wrap {
  width: min(560px, 100%);
  margin: 0 auto;
  padding: 16px 16px 28px;
  padding: 16px 16px calc(28px + env(safe-area-inset-bottom));
  padding: 16px max(16px, env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));
}

.card, .ticket, .banner, .fold, .courier-row {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: none;
}
.card, .banner { padding: 16px; margin-bottom: 14px; }
.ticket { overflow: hidden; margin-bottom: 14px; }
.ticket-body { padding: 14px 14px 16px; }

h2 { margin: 22px 0 10px; font-size: 15px; font-weight: 650; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); }
.admin-kicker { margin: 10px 0 0; font-size: 11px; font-weight: 800; letter-spacing: 0.16em; text-transform: uppercase; color: #94a3b8; }
.admin-home { display: flex; flex-direction: column; gap: 14px; }
.admin-home > .fold { margin: 0; }
a.admin-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  color: inherit;
  text-decoration: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
a.admin-card:hover { border-color: #cbd5e1; box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06); }
.admin-ico {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #f1f5f9;
  color: #334155;
  border: 1px solid #e2e8f0;
  display: grid;
  place-items: center;
  flex: none;
}
.admin-glyph { width: 24px; height: 24px; }
.admin-card-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.admin-card-text strong { font-size: 16px; font-weight: 800; color: var(--ink); }
.admin-card-text span { font-size: 12px; color: #94a3b8; line-height: 1.35; }
.admin-go { width: 20px; height: 20px; color: #cbd5e1; flex: none; transition: transform 0.15s ease, color 0.15s ease; }
a.admin-card:hover .admin-go { color: var(--ink); transform: translateX(4px); }
a.admin-item {
  display: flex;
  align-items: center;
  min-height: 56px;
  padding: 14px 16px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  color: var(--ink);
  text-decoration: none;
  font-family: inherit;
  font-size: 17px;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.3;
}
.wrap > a.admin-item { margin-bottom: 12px; }
.history-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; margin: 0 0 16px; }
.history-head h3 { margin: 0; font-size: 16px; font-weight: 800; letter-spacing: 0; color: var(--ink); }
.history-head p { margin: 2px 0 0; font-size: 12px; color: #94a3b8; }
.history-total { flex: none; font-size: 12px; font-weight: 650; background: rgba(226, 232, 240, 0.72); color: #334155; padding: 4px 10px; border-radius: 8px; }
.history-list { display: flex; flex-direction: column; gap: 12px; }
.history-person { margin: 0; transition: border-color 0.15s ease, box-shadow 0.15s ease; }
.history-person:hover { border-color: #cbd5e1; box-shadow: 0 6px 16px rgba(15, 23, 42, 0.06); }
.history-list > .history-person > summary { justify-content: flex-start; gap: 14px; min-height: 0; padding: 16px; font-size: 14px; font-weight: 700; letter-spacing: 0; text-transform: none; color: var(--ink); }
.history-avatar { width: 40px; height: 40px; border-radius: 12px; background: #f1f5f9; color: #334155; border: 1px solid #e2e8f0; display: grid; place-items: center; font-size: 14px; font-weight: 800; flex: none; }
.history-who { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.history-who strong { font-size: 14px; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.history-who span { font-size: 12px; font-weight: 500; color: #94a3b8; line-height: 1.3; }
.history-meta { display: flex; align-items: center; gap: 10px; flex: none; }
.history-count { display: inline-flex; align-items: center; padding: 4px 12px; border-radius: 12px; background: #f1f5f9; color: var(--ink); font-size: 12px; font-weight: 800; }
.history-person:hover .history-count { background: var(--ink); color: #fff; }
.history-chevron { width: 16px; height: 16px; color: #cbd5e1; flex: none; transition: transform 0.15s ease, color 0.15s ease; }
.history-person:hover .history-chevron { color: #475569; transform: translateX(2px); }
.history-person[open] .history-chevron { transform: rotate(90deg); color: #475569; }
@media (max-width: 640px) {
  .history-head { flex-direction: column; align-items: flex-start; }
}
.history-kind { margin: 8px 0 0; }
.history-day { margin: 8px 0 0; }
.history-day > summary { min-height: 44px; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--muted); }
.history-row {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 12px 14px;
  margin-bottom: 8px;
}
.history-when { color: var(--muted); font-size: 13px; margin-bottom: 4px; }
.history-row.changed {
  background: #fde8e4;
  border-color: #d4483c;
  color: #7a1a14;
}
.history-row.changed .history-when,
.history-row.changed .muted { color: #9a3a32; }
.amount-lock { color: #7a1a14; }
.admin-home .fold > summary {
  align-items: center;
  color: var(--ink);
  font-family: inherit;
  font-size: 17px;
  font-weight: 650;
  letter-spacing: 0;
  line-height: 1.3;
  text-transform: none;
}
h2.profile-name { margin: 0 0 8px; font-size: 24px; letter-spacing: -0.03em; text-transform: none; color: var(--ink); }
label { display: block; font-size: 14px; font-weight: 650; margin: 14px 0 6px; }
textarea, input[type="password"], input[type="text"], input[type="email"], input[type="tel"], input[type="time"], .date-trigger {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 12px;
  padding: 12px 14px;
  min-height: 52px;
  outline: none;
}
textarea { min-height: 74px; resize: vertical; }
textarea:focus, input:focus { border-color: var(--ink); }
.hint { margin: 6px 0 0; color: var(--muted); font-size: 13px; }
.suggest { position: relative; }
.suggest-list {
  position: absolute;
  z-index: 5;
  left: 0;
  right: 0;
  top: 100%;
  margin: 6px 0 0;
  padding: 4px;
  list-style: none;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: 0 10px 28px rgba(28, 25, 23, 0.08);
  max-height: 240px;
  overflow: auto;
}
.suggest-list button {
  width: 100%;
  max-width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 8px;
  min-height: 44px;
  padding: 10px 12px;
  overflow-wrap: anywhere;
  white-space: normal;
}
.suggest-list button.on { background: #f3efe8; }

.actions, .stack { display: grid; gap: 8px; }
.actions { margin-top: 12px; }
.map-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.live-map { height: 320px; margin-top: 10px; border-radius: 14px; background: #e7e2da; }
.live-pin { background: transparent; border: 0; }
.live-pin span {
  display: flex;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #2f9e57;
  color: #fff;
  font-weight: 700;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.28);
}
.leaflet-tooltip { font: inherit; }
.pace { margin-left: 8px; color: #2f9e57; font-size: 14px; font-weight: 700; white-space: nowrap; }
.live-stop { background: transparent; border: 0; }
.live-stop span {
  display: flex;
  width: 26px;
  height: 26px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #fff;
  color: #1d6b3a;
  font-size: 12px;
  font-weight: 700;
  border: 2px solid #2f9e57;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}
#live-watch { margin-top: 8px; }
.live-tools { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 12px; }
.live-tools .btn { min-height: 44px; padding: 8px 14px; }
.stop-title { margin: 14px 0 8px; font-size: 16px; }
.stop-who { margin: 8px 0 4px; color: var(--muted, #6d675f); font-size: 13px; font-weight: 700; }
.stop-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.stop-row {
  width: 100%;
  display: flex;
  gap: 10px;
  align-items: flex-start;
  text-align: left;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
}
.stop-no {
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #e7f3ea;
  color: #1d6b3a;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
}
.stop-when { display: block; color: var(--muted, #6d675f); font-size: 13px; }
.stop-place { display: block; font-weight: 650; }
.btn {
  border: 0;
  border-radius: 14px;
  min-height: 52px;
  padding: 12px 14px;
  text-align: center;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  line-height: 1.25;
  white-space: normal;
}
.btn-red { background: var(--red); color: white; }
.btn-red:active { background: var(--red-dark); }
.btn-green { background: #2f9e57; color: white; }
.btn-green:active { background: #257a43; }
.btn-dark { background: var(--ink); color: #f6f1e8; }
.btn-ghost { background: transparent; border: 1px solid var(--line); }
.nav-logo { width: 18px; height: 18px; flex: none; display: block; }
.map-row .btn { gap: 8px; }
.btn:disabled { opacity: 0.55; }
.btn-done, .btn-done:disabled {
  opacity: 1;
  background: #e8f3ec;
  color: var(--green);
  border: 1px solid #d3e7da;
  cursor: default;
}
.btn-progress, .btn-progress:disabled {
  opacity: 1;
  background: #f8e7a8;
  color: #6a4e12;
  border: 1px solid #e2c86a;
  cursor: default;
}
.done-pill {
  min-height: 48px;
  border-radius: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e8f3ec;
  color: var(--green);
  font-weight: 650;
}
.when-fields { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; }
.when-fields > div { min-width: 0; }
.date-field { position: relative; min-width: 0; }
.date-field.date-open { z-index: 22; }
.date-trigger {
  -webkit-appearance: none;
  appearance: none;
  text-align: left;
  cursor: pointer;
}
.date-back {
  position: fixed;
  inset: 0;
  z-index: 20;
  background: rgba(29, 26, 22, 0.35);
}
.date-back[hidden], .date-pop[hidden] { display: none !important; }
.date-pop {
  position: fixed;
  z-index: 21;
  width: min(360px, calc(100% - 24px));
  max-width: calc(100% - 24px);
  max-height: calc(100dvh - 24px);
  overflow: auto;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 8px;
  box-shadow: 0 12px 32px rgba(28, 25, 23, 0.16);
}
.date-cal-bar { display: flex; align-items: center; justify-content: space-between; gap: 4px; margin-bottom: 4px; }
.date-cal-bar strong { flex: 1; min-width: 0; text-align: center; font-size: 13px; font-weight: 650; line-height: 1.25; }
.date-nav {
  flex: none;
  width: 36px;
  height: 36px;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 10px;
  padding: 0;
  font-size: 22px;
  line-height: 1;
}
.date-cal-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 2px; }
.date-dow {
  text-align: center;
  font-size: 11px;
  font-weight: 650;
  color: var(--muted);
  line-height: 1;
  padding: 2px 0 4px;
  text-transform: capitalize;
}
.date-day {
  border: 0;
  background: transparent;
  border-radius: 8px;
  min-height: 40px;
  padding: 0;
  font-size: 14px;
  font-weight: 650;
}
.date-day.today { box-shadow: inset 0 0 0 1px var(--line); }
.date-day.on, .date-day:active { background: var(--ink); color: #fff; }
.date-day.on.today { box-shadow: none; }
.fold { margin: 0 0 14px; }
.fold > summary {
  list-style: none;
  cursor: pointer;
  min-height: 56px;
  padding: 14px 16px;
  font-weight: 650;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.fold > summary::-webkit-details-marker { display: none; }
.fold-body { padding: 0 12px 12px; }
.fold .count {
  color: inherit;
  font-weight: 700;
  font-size: 15px;
  flex: none;
  align-self: center;
  display: inline-flex;
  align-items: center;
  line-height: 1;
}
.fold-label { display: flex; flex-direction: column; justify-content: center; gap: 1px; min-width: 0; }
.fold-sub { font-size: 13px; font-weight: 550; line-height: 1.2; }
.fold-sub[hidden] { display: none; }
#free-fold.calm { background: #e7f3ea; border-color: #d5e8db; }
#free-fold.calm > summary { color: #3f6a4c; }
#free-fold.alert { background: #f3b2a8; border-color: #d4483c; }
#free-fold.alert > summary { color: #7a1a14; }
#active-fold { background: #fbf6e4; border-color: #eadfb8; }
#active-fold > summary { color: #7a6230; }
#active-fold.busy { background: #f8e7a8; border-color: #e2c86a; }
#active-fold.busy > summary { color: #6a4e12; }
#active-fold .ticket { background: #fff; }
.month { margin-top: 8px; }
.courier-row {
  width: 100%;
  text-align: left;
  min-height: 64px;
  padding: 14px 16px;
  margin: 0 0 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  font-weight: 650;
}
.courier-row > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.courier-row .sum { flex: none; font-size: 20px; font-weight: 650; letter-spacing: -0.03em; white-space: nowrap; }
.back { display: inline-flex; margin: 4px 0 12px; }
.row-actions { grid-template-columns: 1fr 1fr; }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip {
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 999px;
  padding: 10px 14px;
  min-height: 44px;
}
.chip.on { background: var(--ink); color: #f6f1e8; border-color: var(--ink); }

.shot { display: block; width: 100%; padding: 0; border: 0; background: #111; }
.shot img, .preview img { width: 100%; max-height: 240px; object-fit: cover; }
.preview { position: relative; margin-top: 10px; }
.preview button {
  position: absolute;
  top: 8px;
  right: 8px;
  border: 0;
  background: rgba(28, 25, 21, 0.8);
  color: white;
  border-radius: 999px;
  min-height: 36px;
  padding: 6px 10px;
}
.photo-actions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 8px; }

.when { font-weight: 800; font-size: 20px; letter-spacing: -0.03em; }
.addr { margin-top: 4px; font-size: 18px; white-space: pre-wrap; overflow-wrap: anywhere; }
.note { color: var(--muted); margin: 8px 0 0; white-space: pre-wrap; }
.who { margin-top: 8px; font-size: 14px; font-weight: 700; color: var(--green); }
.who.warn { color: var(--warn); }
.flag {
  background: var(--red);
  color: white;
  display: inline-block;
  margin: 12px 0 0 14px;
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 700;
}

.banner ol { margin: 8px 0 0; padding-left: 18px; }
.banner p { margin: 8px 0 0; }
.banner.ok { outline: 2px solid rgba(31, 122, 77, 0.25); }
.banner.warn { background: #fff4e8; }
.muted { color: var(--muted); font-size: 14px; }
.empty { color: var(--muted); padding: 8px 2px 16px; }

.courier {
  display: block;
  padding: 12px 0;
  border-top: 1px solid var(--line);
}
.courier:first-child { border-top: 0; }
.courier-top { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.balance-line { font-weight: 700; margin-top: 4px; }
.balance-card {
  margin-bottom: 14px;
  padding: 18px 16px 14px;
  background: #f6f4f0;
}
.balance-card .balance-label {
  font-size: 15px;
  font-weight: 700;
  color: var(--muted);
  line-height: 1.2;
}
.balance-figure {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-top: 6px;
}
.balance-line {
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.balance-card .balance-eur {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--muted);
}
.balance-card .balance-amount {
  font-size: 28px;
  font-weight: 750;
  letter-spacing: -0.03em;
  line-height: 1;
}
.balance-card .pay-line {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.2;
  color: var(--muted);
}
.balance-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 16px;
}
.balance-split div {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
}
.balance-split span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}
.balance-split b {
  display: block;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 750;
  overflow-wrap: anywhere;
}
.pay-history {
  margin-top: 12px;
  display: grid;
  gap: 4px;
}
.pay-history div { color: var(--muted); font-size: 13px; }
.balance-sum { font-size: 28px; font-weight: 800; letter-spacing: -0.04em; overflow-wrap: anywhere; }
.profile-back {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 12px;
  padding: 2px 0;
  border: 0;
  background: transparent;
  color: #6b7280;
  font-size: 16px;
  font-weight: 600;
}
.courier-sheet {
  background: #fff;
  border: 1px solid #e8ebf2;
  border-radius: 22px;
  padding: 18px 16px 16px;
  box-shadow: 0 12px 32px rgba(24, 32, 56, 0.08);
}
.courier-sheet-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.courier-sheet .profile-name { margin: 0; font-size: 28px; font-weight: 800; letter-spacing: -0.03em; }
.push-pill {
  display: inline-flex;
  margin-top: 8px;
  border-radius: 999px;
  padding: 5px 12px;
  background: #f3f1ec;
  color: #6d675f;
  font-size: 13px;
  font-weight: 700;
}
.push-pill.on { background: #e5f6ec; color: #1c8a4d; }
.bell {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #f3f5f9;
  color: #8b93a7;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: none;
}
.pay-balance {
  margin-top: 16px;
  padding: 16px 18px 18px;
  border-radius: 16px;
  background: #1b2437;
  color: #fff;
}
.pay-kicker {
  font-size: 11px;
  font-weight: 750;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #9aa3b5;
}
.pay-due { margin-top: 12px; font-size: 14px; color: #d5d9e2; }
.pay-sum {
  margin-top: 2px;
  font-size: 34px;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1.05;
}
.pay-label {
  margin: 18px 0 8px;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8b93a7;
}
.pay-field {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 14px;
  border-radius: 14px;
  background: #f4f6fa;
  border: 1px solid #e6e9f0;
}
.courier-sheet .pay-field input {
  width: 100%;
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 14px 0;
}
.pay-field span { color: #8b93a7; font-weight: 750; }
.pay-go { width: 100%; margin-top: 12px; }
.courier-orders { margin-top: 12px; border-radius: 18px; box-shadow: 0 8px 24px rgba(24, 32, 56, 0.05); }
.courier-orders > summary { color: #1d1a16; }
.orders-label { display: inline-flex; align-items: center; gap: 10px; min-width: 0; }
.orders-label svg { color: #6d5efc; flex: none; }
.courier-orders .count { margin-left: auto; color: #8b93a7; font-size: 16px; }
.amount-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-top: 10px;
}
.amount-row label { grid-column: 1 / -1; margin: 0; }
.amount-row .btn { grid-column: 1 / -1; }
.eur { flex: none; font-size: 14px; font-weight: 700; color: var(--muted); }
.dot { width: 8px; height: 8px; border-radius: 99px; display: inline-block; margin-right: 6px; background: #b9b1a4; }
.dot.on { background: var(--green); }
.tiny { background: transparent; border: 0; color: var(--red); padding: 8px; }

#toast {
  position: fixed;
  left: 16px;
  right: 16px;
  bottom: calc(16px + env(safe-area-inset-bottom));
  max-width: calc(100% - 32px);
  box-sizing: border-box;
  background: var(--ink);
  color: #f6f1e8;
  border-radius: 14px;
  padding: 14px 16px;
  opacity: 0;
  transform: translateY(8px);
  pointer-events: none;
  overflow-wrap: anywhere;
  transition: 0.2s ease;
  z-index: 5;
}
#toast.show { opacity: 1; transform: none; }

#light {
  position: fixed;
  inset: 0;
  background: rgba(20, 16, 12, 0.92);
  z-index: 6;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 18px;
}
#light[hidden] { display: none; }
#light img { max-height: 100%; max-width: 100%; object-fit: contain; }
.light-close {
  position: absolute;
  top: calc(10px + env(safe-area-inset-top));
  right: 10px;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  font-size: 28px;
}

:focus-visible { outline: 3px solid #8d8578; outline-offset: 2px; }
@media (max-width: 700px) {
  #free-fold,
  #active-fold { margin-bottom: 10px; border-radius: 14px; }
  #free-fold > summary,
  #active-fold > summary {
    min-height: 0;
    padding: 7px 12px;
    align-items: center;
    font-size: 15px;
    line-height: 1.2;
  }
  #free-fold .fold-body,
  #active-fold .fold-body { padding: 0 8px 8px; }
  #free-fold .ticket,
  #active-fold .ticket { margin-bottom: 8px; border-radius: 12px; }
  #free-fold .ticket:last-child,
  #active-fold .ticket:last-child { margin-bottom: 0; }
  #free-fold .ticket-body,
  #active-fold .ticket-body { padding: 8px 10px 8px; }
  #free-fold .when,
  #active-fold .when { font-size: 16px; }
  #free-fold .addr,
  #active-fold .addr { margin-top: 1px; font-size: 15px; line-height: 1.25; }
  #free-fold .who,
  #active-fold .who,
  #free-fold .note,
  #active-fold .note { margin-top: 3px; }
  #free-fold .actions,
  #active-fold .actions { margin-top: 6px; gap: 6px; }
  #free-fold .btn,
  #active-fold .btn {
    min-height: 36px;
    padding: 6px 10px;
    border-radius: 10px;
    font-size: 14px;
  }
  #free-fold .fold-body:empty,
  #active-fold .fold-body:empty { display: none; }
  .top {
    padding-top: calc(8px + env(safe-area-inset-top));
    padding-bottom: 6px;
  }
  .top h1 { display: flex; align-items: center; line-height: 1; }
  .top-row { align-items: center; }
  .top .brand-logo { max-height: 52px; max-width: 52px; }
  .top .langs { margin-right: 14px; }
  .top .langs button {
    min-width: 30px;
    min-height: 28px;
    padding: 2px 6px;
    font-size: 12px;
  }
  .top .linkish {
    padding: 2px 0;
    font-size: 16px;
    white-space: nowrap;
  }
}
@media (max-width: 460px) {
  .when-fields { grid-template-columns: 1fr; }
  .date-day { min-height: 44px; }
}
@media (max-width: 380px) {
  .top h1 { font-size: 22px; }
  .wrap { padding-left: 12px; padding-right: 12px; }
  .wrap { padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right)); }
  .photo-actions, .row-actions, .balance-split { grid-template-columns: 1fr; }
  .balance-card .balance-amount, .balance-sum { font-size: 24px; }
}
@media (min-width: 900px) {
  .wrap { width: min(640px, 100%); }
  .wrap.wide { width: min(1040px, calc(100% - 32px)); }
  .wrap.mid { width: min(760px, calc(100% - 32px)); }
  .wrap.admin { width: min(640px, 100%); }
}
.wrap.admin > .admin-top { height: 22px; margin: 2px 0 8px; display: flex; align-items: center; }
.wrap.admin > .admin-top .admin-kicker,
.wrap.admin > .admin-top .settings-back { margin: 0; line-height: 22px; }
.wrap.admin > .admin-top .settings-back a { white-space: nowrap; }
.wrap.admin > h2.settings-title { margin: 0 0 18px; }
h2.settings-title { margin: 2px 0 18px; font-size: 28px; font-weight: 800; letter-spacing: -0.03em; text-transform: none; color: var(--ink); }
.settings-back { margin: 0 0 2px; }
.settings-back a { color: var(--muted); font-size: 13px; font-weight: 600; text-decoration: none; }
.settings-tabs { display: flex; gap: 18px; border-bottom: 1px solid var(--line); margin: 0 0 18px; flex-wrap: nowrap; overflow-x: auto; }
.settings-tabs a { color: #9a948c; text-decoration: none; font-weight: 650; padding: 8px 0 12px; border-bottom: 2px solid transparent; white-space: nowrap; margin-bottom: -1px; }
.settings-tabs a.on { color: var(--ink); border-bottom-color: var(--ink); font-weight: 750; }
.add-card { padding: 18px 18px 16px; }
.add-courier label { margin: 0 0 10px; font-size: 12px; font-weight: 750; letter-spacing: 0.06em; text-transform: uppercase; color: #3d3832; }
.add-courier-row { display: flex; gap: 12px; align-items: center; }
.add-courier-row input { flex: 1; min-width: 0; min-height: 48px; border-radius: 14px; border-color: #ddd8d0; }
.add-courier .hint { margin: 10px 0 0; font-size: 12px; color: #9a948c; }
.add-go { flex: none; min-height: 48px; padding: 12px 20px; border-radius: 14px; gap: 8px; font-weight: 700; white-space: nowrap; }
.courier-cards { display: grid; gap: 12px; }
.courier-card { margin-bottom: 0; padding: 0; overflow: hidden; }
.courier-card.open { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(29, 26, 22, 0.08); }
.courier-card-main { padding: 16px 16px 14px; }
.courier-card h3 { margin: 0; font-size: 16px; }
.courier-card p { margin: 2px 0 0; font-size: 13px; }
.courier-card-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.courier-card-acts { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); }
.courier-card-acts .row-act { display: inline-flex; align-items: center; justify-content: center; margin: 0; width: 100%; min-height: 40px; padding: 8px 6px; border: 0; border-radius: 12px; background: #f3efe8; color: var(--ink); gap: 4px; font-size: 13px; font-weight: 650; text-decoration: none; cursor: pointer; white-space: nowrap; }
.courier-card-acts .row-act.on { background: var(--ink); color: #f6f1e8; }
.courier-card-acts .row-act.danger { background: #fdeeee; color: #d1434e; }
.chev { display: block; transition: transform 0.2s ease; }
.row-act.on .chev { transform: rotate(180deg); }
.courier-drawer { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.3s cubic-bezier(0.16, 1, 0.3, 1); }
.courier-drawer.open { grid-template-rows: 1fr; }
.courier-drawer > div { overflow: hidden; }
.courier-table-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 8px 2px 12px; }
.courier-table-head strong { font-size: 18px; font-weight: 800; letter-spacing: -0.02em; }
.courier-total { font-size: 12px; font-weight: 650; background: #eceae6; color: #5c564e; padding: 5px 10px; border-radius: 999px; }
.pass-pill { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: #f3efe8; color: var(--muted); font-size: 12px; font-weight: 700; flex: none; }
.pass-pill i { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.pass-pill.on { background: #e5f6eb; color: #1d7a45; }
.pass-pill.off { background: #fff4e0; color: #9a6230; }
.courier-editor { margin: 0; padding: 16px 16px 18px; background: #f7f5f2; border-top: 1px solid var(--line); }
.courier-editor strong { display: block; font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; }
.courier-editor label .opt { font-weight: 500; color: var(--muted); }
.courier-editor input { min-height: 44px; border-radius: 12px; }
.courier-save-row { display: flex; gap: 8px; margin-top: 14px; }
.courier-save-row .btn { min-height: 46px; border-radius: 12px; }
.courier-save-row .btn-dark { flex: 1; }
.courier-save-row .btn-ghost { flex: none; padding: 10px 16px; }
.ask-modal { position: fixed; inset: 0; z-index: 80; display: none; align-items: center; justify-content: center; padding: 16px; }
.ask-modal.on { display: flex; }
.ask-back { position: absolute; inset: 0; border: 0; background: rgba(29, 26, 22, 0.45); }
.ask-box { position: relative; width: min(360px, 100%); background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 22px 18px 18px; text-align: center; }
.ask-icon { width: 48px; height: 48px; margin: 0 auto 10px; border-radius: 50%; background: #fdeeee; color: #d1434e; display: flex; align-items: center; justify-content: center; }
.ask-box h3 { margin: 0; font-size: 18px; font-weight: 800; letter-spacing: -0.02em; color: var(--ink); }
.ask-box p { margin: 8px 0 0; color: var(--muted); font-size: 13px; }
.ask-acts { display: flex; gap: 8px; margin-top: 16px; }
.ask-acts .btn { flex: 1; min-height: 44px; border-radius: 12px; font-size: 14px; }
.ask-danger { background: #d1434e; color: #fff; border: 0; }
@media (max-width: 899px) {
  .add-courier-row { flex-direction: column; align-items: stretch; }
  .add-go { width: 100%; }
}

.brand-logo {
  display: block;
  max-width: min(220px, 100%);
  max-height: 56px;
  width: auto;
  height: auto;
  object-fit: contain;
}
.brand-home {
  color: inherit;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
.admin-entry { margin-top: 0; }
.logo-preview { margin: 10px 0; }
.logo-row { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.logo-row .logo-preview {
  width: 96px;
  height: 96px;
  margin: 0;
  padding: 10px;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f7f5f2;
  border: 1px solid var(--line);
  border-radius: 14px;
  text-align: center;
}
.logo-row .logo-preview p { margin: 0; font-size: 12px; }
.logo-row .logo-preview img { max-width: 100%; max-height: 100%; border-radius: 0; background: transparent; }
.logo-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.logo-actions .btn { min-height: 42px; border-radius: 12px; padding: 8px 14px; font-size: 13px; }
.btn-rose { background: #fdeeee; color: #c4473a; border: 1px solid #f3c9c6; }
.general-head strong { display: block; font-size: 16px; }
.general-head .hint { margin-top: 2px; }
.general-split { border: 0; border-top: 1px solid var(--line); margin: 16px 0; }
.label-row { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin: 14px 0 6px; }
.label-row label { margin: 0; }
.general-note { margin-top: 10px; padding: 12px; background: #f7f5f2; border: 1px solid var(--line); border-radius: 12px; color: var(--muted); font-size: 13px; line-height: 1.45; }
.general-save { display: flex; justify-content: flex-end; margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--line); }
.general-save .btn { min-height: 44px; border-radius: 12px; padding: 10px 18px; }
@media (max-width: 800px) {
  .general-save .btn, .logo-actions, .logo-actions .btn { width: 100%; }
}
.logo-preview img {
  max-width: min(240px, 100%);
  max-height: 88px;
  width: auto;
  object-fit: contain;
  border-radius: 12px;
  background: #fff;
}
.stat-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin-top: 12px;
}
.stat-cell {
  background: #faf8f5;
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 10px 12px;
  min-width: 0;
}
.stat-cell span {
  display: block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 600;
}
.stat-cell b {
  display: block;
  margin-top: 2px;
  font-size: 18px;
  font-weight: 750;
  letter-spacing: -0.03em;
  overflow-wrap: anywhere;
}
.stat-person { margin-top: 10px; }
.stat-person strong { display: block; font-size: 16px; }
.range-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 10px; }
.range-fields label { margin-top: 0; }
.text-list {
  max-height: 62vh;
  overflow: auto;
  margin-top: 8px;
}
.text-key {
  margin: 12px 0 4px;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: 0.02em;
  color: var(--muted);
}
.text-builtin {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.month-row { margin-top: 12px; }
@media (max-width: 460px) {
  .range-fields, .stat-grid { grid-template-columns: 1fr; }
}
.courier-head .top-row { align-items: center; gap: 8px; }
.courier-head .brand-home { flex: 0 0 auto; }
.courier-head .brand-logo { max-width: 48px; max-height: 48px; background: transparent; }
.courier-gap { flex: 1 1 auto; min-width: 36px; align-self: stretch; }
body.courier-live .pull-ind { padding-top: 0; }
body.courier-live .pull-ind .race-car { width: min(72px, 100%); }
.courier-head h1.courier-hello {
  flex: 0 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 17px;
  font-weight: 650;
  letter-spacing: -0.02em;
  line-height: 1.15;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.courier-head .top-tools { align-items: center; }
.courier-head .langs { margin-right: 12px; }
.courier-head .langs button {
  min-width: 36px;
  min-height: 34px;
  padding: 4px 8px;
  font-size: 14px;
}
.courier-head .linkish {
  padding: 2px 0;
  font-size: 17px;
  white-space: nowrap;
}
@media (max-width: 700px) {
  .courier-head .brand-logo { max-width: 40px; max-height: 40px; }
  .courier-head h1.courier-hello { font-size: 15px; }
  .courier-head .langs { margin-right: 10px; }
  .courier-head .langs button {
    min-width: 32px;
    min-height: 30px;
    padding: 3px 6px;
    font-size: 13px;
  }
  .courier-head .linkish { font-size: 16px; }
}
.courier-home { padding-top: 12px; }
.cab-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #fff; border: 1px solid rgba(226, 232, 240, 0.9); border-radius: 16px; padding: 12px; margin-bottom: 16px; }
.cab-who { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cab-avatar, .cab-logo { width: 36px; height: 36px; border-radius: 12px; flex: none; }
.cab-avatar { display: grid; place-items: center; background: #ecfdf5; color: #059669; border: 1px solid #a7f3d0; font-size: 14px; font-weight: 800; }
.cab-logo { object-fit: cover; }
.cab-who p { margin: 0; font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #94a3b8; }
.cab-who strong { display: block; font-size: 14px; line-height: 1.15; }
.cab-side { display: flex; align-items: center; gap: 8px; }
.cab-side .langs button { min-width: 28px; min-height: 26px; padding: 2px 6px; font-size: 11px; }
.cab-out { border: 0; background: #fff1f2; color: #e11d48; font-size: 12px; font-weight: 700; border-radius: 12px; padding: 6px 10px; }
.cab-section-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 2px 4px 10px; }
.cab-section-head h2 { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #94a3b8; }
.cab-pill { font-size: 12px; font-weight: 800; color: #047857; background: #ecfdf5; border: 1px solid #a7f3d0; border-radius: 999px; padding: 2px 10px; }
.cab-pill.quiet { color: #64748b; background: rgba(226, 232, 240, 0.7); border-color: transparent; }
.cab-idle { background: #fff; border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 16px; padding: 20px 16px; margin: 0 0 16px; text-align: center; }
.cab-idle-ico { width: 40px; height: 40px; margin: 0 auto 8px; border-radius: 999px; background: #f1f5f9; color: #94a3b8; display: grid; place-items: center; }
.cab-idle-ico svg { width: 20px; height: 20px; }
.cab-idle p { margin: 0; font-size: 13px; font-weight: 800; color: #1e293b; }
.cab-idle > span:last-child { display: block; margin-top: 2px; font-size: 12px; color: #94a3b8; }
.cab-card { background: #fff; border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 16px; padding: 12px; margin: 0 0 10px; }
.cab-flag { display: inline-block; margin: 0 0 8px; background: var(--red); color: #fff; border-radius: 999px; padding: 2px 8px; font-size: 11px; font-weight: 800; }
.cab-top { display: flex; align-items: center; gap: 12px; margin-bottom: 10px; }
.cab-thumb { position: relative; width: 72px; height: 72px; padding: 0; border: 1px solid #e2e8f0; border-radius: 12px; overflow: hidden; background: #f1f5f9; flex: none; }
.cab-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.cab-zoom { position: absolute; inset: 0; display: grid; place-items: center; background: rgba(0, 0, 0, 0.22); color: #fff; pointer-events: none; }
.cab-zoom svg { width: 16px; height: 16px; }
.cab-info { min-width: 0; flex: 1; }
.cab-when { display: flex; align-items: center; gap: 8px; }
.cab-when b { font-size: 16px; line-height: 1; font-weight: 800; }
.cab-day { display: inline-block; font-size: 10px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; background: #f1f5f9; color: #475569; border-radius: 6px; padding: 2px 6px; }
.cab-day.today { background: #d1fae5; color: #065f46; }
.cab-day.next { background: #eff6ff; color: #1d4ed8; border: 1px solid #dbeafe; }
.cab-nophoto { flex: none; align-self: flex-start; font-size: 10px; font-weight: 700; color: #94a3b8; background: #f1f5f9; border-radius: 8px; padding: 4px 8px; }
.cab-kicker { margin: 0; font-size: 12px; font-weight: 650; color: #94a3b8; }
.cab-addr { margin: 4px 0 0; font-size: 13px; font-weight: 800; line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cab-note-line { margin: 2px 0 0; font-size: 11px; color: #94a3b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cab-take { width: 100%; min-height: 40px; margin: 0 0 8px; border: 0; border-radius: 12px; background: #059669; color: #fff; font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 6px; }
.cab-take svg { width: 16px; height: 16px; }
.cab-tools-row { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding-top: 8px; border-top: 1px solid #f1f5f9; }
.cab-tool { min-height: 34px; border: 0; border-radius: 8px; background: #f8fafc; color: #334155; font-size: 11px; font-weight: 750; text-decoration: none; display: flex; align-items: center; justify-content: center; text-align: center; padding: 6px 2px; }
.cab-tool.call { background: #ecfdf5; color: #15803d; }
.cab-tool.no { background: #fff1f2; color: #e11d48; }
.cab-balance { background: #fff; border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 16px; padding: 14px; margin: 0 0 12px; }
.cab-balance .cab-kicker { font-size: 10px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.cab-balance-top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cab-sum { margin: 4px 0 0; font-size: 28px; font-weight: 800; line-height: 1; }
.cab-sum span:last-child { font-size: 13px; font-weight: 800; color: #94a3b8; }
.cab-sum.neg { color: #e11d48; }
.cab-sum.neg span:last-child { color: #fb7185; }
.cab-sum.pos { color: #059669; }
.cab-sum.pos span:last-child { color: #34d399; }
.cab-due { flex: none; max-width: 46%; font-size: 11px; font-weight: 700; line-height: 1.25; border-radius: 12px; padding: 6px 10px; text-align: center; }
.cab-due.neg { color: #be123c; background: #fff1f2; border: 1px solid #ffe4e6; }
.cab-due.pos { color: #047857; background: #ecfdf5; border: 1px solid #a7f3d0; }
.cab-due.zero { color: #475569; background: #f1f5f9; border: 1px solid #e2e8f0; }
.cab-split { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; padding-top: 12px; border-top: 1px solid #f1f5f9; }
.cab-last { margin: 10px 0 0; text-align: center; font-size: 11px; color: #94a3b8; }
.cab-last b { color: #475569; font-weight: 700; }
.cab-fold { margin: 0 0 10px; }
.cab-fold > summary { list-style: none; cursor: pointer; }
.cab-fold > summary::-webkit-details-marker { display: none; }
.cab-fold-row { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 16px; padding: 12px; }
.cab-fold-row > span:nth-child(2) { flex: 1; min-width: 0; font-size: 13px; font-weight: 800; }
.cab-row-ico { width: 28px; height: 28px; border-radius: 8px; background: #f1f5f9; color: #475569; display: grid; place-items: center; flex: none; }
.cab-row-ico svg { width: 16px; height: 16px; }
.cab-fold-end { display: flex; align-items: center; gap: 8px; flex: none; }
.cab-fold-end b { background: #f1f5f9; color: #334155; border-radius: 6px; min-width: 22px; text-align: center; padding: 2px 8px; font-size: 12px; }
.cab-chevron { width: 16px; height: 16px; color: #cbd5e1; }
.cab-fold[open] .cab-chevron { transform: rotate(90deg); }
.cab-fold-body { margin-top: 8px; }
.cab-pass {
  margin-top: 10px;
  display: grid;
  gap: 10px;
  background: #fff;
  border: 1px solid rgba(226, 232, 240, 0.95);
  border-radius: 14px;
  padding: 14px;
}
.cab-pass label { display: grid; gap: 6px; font-size: 13px; font-weight: 700; color: #475569; }
.cab-pass input {
  width: 100%;
  font-size: 16px;
  line-height: 1.25;
  min-height: 48px;
  padding: 12px 14px;
  border-radius: 12px;
}
.cab-pass .muted { margin: 0; font-size: 13px; }
.cab-pass .btn { width: 100%; }
.cab-stat { background: #f8fafc; border: 1px solid #f1f5f9; border-radius: 12px; padding: 10px; }
.cab-stat p { margin: 0; font-size: 11px; color: #94a3b8; }
.cab-stat b { display: block; margin-top: 2px; font-size: 14px; }
.cab-note { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 16px; padding: 12px; margin-bottom: 12px; }
.cab-note > div { min-width: 0; flex: 1; }
.cab-note strong { display: block; font-size: 13px; }
.cab-note p { margin: 2px 0 0; font-size: 11px; color: #94a3b8; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cab-bell { width: 28px; height: 28px; border-radius: 8px; background: #ecfdf5; color: #059669; display: grid; place-items: center; flex: none; }
.cab-bell svg { width: 16px; height: 16px; }
.cab-ghost { border: 1px solid #e2e8f0; background: #fff; color: #334155; border-radius: 12px; padding: 6px 10px; font-size: 12px; font-weight: 750; flex: none; }
.courier-home .cab-head { padding: 14px; }
.courier-home .cab-who { gap: 12px; flex: 1; }
.courier-home .cab-avatar, .courier-home .cab-logo { width: 40px; height: 40px; font-size: 16px; }
.courier-home .cab-who p { font-size: 13px; color: #475569; }
.courier-home .cab-who strong { font-size: 16px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.courier-home .cab-side .langs button { min-width: 36px; min-height: 34px; padding: 6px 8px; font-size: 13px; font-weight: 800; }
.courier-home .cab-out { font-size: 13px; font-weight: 800; padding: 8px 12px; }
.courier-home .cab-section-head h2 { font-size: 13px; color: #475569; }
.courier-home .cab-pill { font-size: 13px; padding: 3px 10px; }
.courier-home .cab-pill.quiet { color: #475569; }
.courier-home .cab-idle { padding: 24px 16px; }
.courier-home .cab-idle-ico { width: 48px; height: 48px; margin-bottom: 12px; color: #64748b; }
.courier-home .cab-idle-ico svg { width: 24px; height: 24px; }
.courier-home .cab-idle p { font-size: 16px; color: #0f172a; }
.courier-home .cab-idle > span:last-child { margin-top: 4px; font-size: 13px; font-weight: 600; color: #475569; }
.free-dot { width: 10px; height: 10px; border-radius: 50%; background: #2563eb; flex: none; }
.courier-home .free-head .cab-pill:not(.quiet) { color: #1e40af; background: #eff6ff; border-color: #bfdbfe; }
.courier-home #open-list { margin-bottom: 4px; }
.mine-zone {
  margin-top: 28px;
  padding: 14px 12px 12px;
  border: 1px solid #a7f3d0;
  border-radius: 18px;
  background: linear-gradient(180deg, #ecfdf5 0%, #f7fdf9 55%, #fff 100%);
}
.courier-home .mine-zone .mine-head { margin: 0 2px 12px; }
.cab-split-line {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 32px 4px 18px;
  color: #94a3b8;
}
.cab-split-line::before,
.cab-split-line::after {
  content: "";
  flex: 1;
  border-top: 2px dashed #d6d3cd;
}
.cab-split-line span {
  flex: none;
  max-width: 70%;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
}
.courier-home .cab-balance {
  padding: 16px;
  background: #fbfaf8;
  border-color: #e7e2da;
  border-left-width: 4px;
  box-shadow: 0 8px 22px rgba(29, 26, 22, 0.05);
}
.courier-home .cab-balance.pos { border-left-color: #059669; background: linear-gradient(180deg, #f3fbf6 0%, #fff 42%); }
.courier-home .cab-balance.neg { border-left-color: #e11d48; background: linear-gradient(180deg, #fff5f6 0%, #fff 42%); }
.courier-home .cab-balance.zero { border-left-color: #94a3b8; }
.courier-home .cab-balance .cab-kicker { font-size: 13px; color: #475569; }
.courier-home .cab-sum { font-size: 32px; font-weight: 900; }
.courier-home .cab-sum span:last-child { font-size: 16px; }
.courier-home .cab-sum.neg span:last-child { color: #e11d48; }
.courier-home .cab-sum.pos span:last-child { color: #059669; }
.courier-home .cab-due { font-size: 13px; font-weight: 800; padding: 8px 12px; }
.courier-home .cab-stat { padding: 12px; }
.courier-home .cab-stat p { font-size: 13px; font-weight: 700; color: #475569; }
.courier-home .cab-stat b { font-size: 18px; font-weight: 900; color: #0f172a; }
.courier-home .cab-last { font-size: 13px; font-weight: 600; color: #475569; }
.courier-home .cab-last b { color: #1e293b; font-weight: 800; }
.courier-home .cab-fold-row { gap: 12px; padding: 14px; }
.courier-home .cab-fold-row > span:nth-child(2) { font-size: 14px; color: #0f172a; }
.courier-home .cab-row-ico { width: 32px; height: 32px; border-radius: 12px; color: #334155; }
.courier-home .cab-row-ico svg { width: 18px; height: 18px; }
.courier-home .cab-fold-end b { font-size: 14px; font-weight: 900; color: #0f172a; padding: 4px 10px; }
.courier-home .cab-chevron { width: 20px; height: 20px; color: #94a3b8; }
.courier-home .cab-note { gap: 12px; padding: 14px; }
.courier-home .cab-note strong { font-size: 14px; color: #0f172a; }
.courier-home .cab-note p { font-size: 13px; font-weight: 600; color: #475569; }
.courier-home .cab-bell { width: 32px; height: 32px; border-radius: 12px; }
.courier-home .cab-bell svg { width: 18px; height: 18px; }
.courier-home .cab-ghost { min-height: 36px; padding: 8px 14px; font-size: 13px; font-weight: 800; background: #f1f5f9; border-color: transparent; color: #1e293b; }
.courier-home .cab-take { min-height: 48px; font-size: 16px; }
.courier-home .cab-tool { min-height: 44px; font-size: 14px; font-weight: 800; }
.courier-home .cab-day, .courier-home .cab-nophoto, .courier-home .cab-note-line { font-size: 13px; }
.courier-home .cab-addr { font-size: 15px; }
.courier-home .cab-nophoto, .courier-home .cab-note-line { color: #475569; }
.courier-home .done-when { font-size: 16px; }
.courier-home .done-addr, .courier-home .done-note { font-size: 14px; color: #475569; }
.courier-home .mine-head h2 { color: #1e293b; }
.courier-home .mine-head .cab-pill { color: #065f46; background: #d1fae5; border-color: #6ee7b7; }
.mine-filters { display: flex; gap: 6px; overflow-x: auto; margin: 0 0 10px; padding-bottom: 2px; }
.mine-filters button { flex: none; min-height: 34px; padding: 6px 12px; border: 1px solid #e5e7eb; border-radius: 999px; background: #fff; color: #475569; font-size: 13px; font-weight: 800; }
.mine-filters button.on { background: #059669; border-color: #059669; color: #fff; }
.mine-list { display: flex; flex-direction: column; gap: 8px; }
.mine-empty { margin: 0; padding: 8px 4px 4px; color: #64748b; font-size: 14px; font-weight: 700; }
.mine-card { background: #fff; border: 1px solid #e5e7eb; border-radius: 12px; overflow: hidden; }
.mine-card.is-next { border-color: #6ee7b7; }
.mine-card.is-late { border-color: #fecaca; }
.mine-card.is-open { border: 2px solid #059669; }
.mine-card.is-open .mine-row-addr { display: none; }
.mine-card.is-open .mine-no { background: #059669; color: #fff; }
.mine-card.is-late.is-open { border-color: #ef4444; }
.mine-row { width: 100%; min-height: 60px; padding: 8px 12px; border: 0; background: transparent; display: flex; align-items: center; gap: 10px; text-align: left; }
.mine-card.is-late .mine-row { background: #fef2f2; }
.mine-no { width: 24px; height: 24px; border-radius: 50%; background: #f3f4f6; color: #111827; font-size: 12px; font-weight: 800; display: grid; place-items: center; flex: none; }
.mine-row-mid { min-width: 0; flex: 1; }
.mine-row-addr { display: block; margin-top: 2px; font-size: 14px; font-weight: 800; color: #111827; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mine-row-time { flex: none; font-size: 18px; font-weight: 900; letter-spacing: -0.03em; color: #111827; }
.mine-card.is-late .mine-row-time { color: #e11d48; }
.mine-body { display: none; padding: 12px; border-top: 1px dashed #e5e7eb; background: #fafafa; }
.mine-card.is-open .mine-body { display: block; }
.mine-detail { display: flex; gap: 10px; align-items: flex-start; }
.mine-thumb { width: 50px; height: 50px; padding: 0; border: 1px solid #e5e7eb; border-radius: 8px; overflow: hidden; background: #fff; flex: none; }
.mine-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.mine-full { margin: 0; font-size: 17px; font-weight: 800; line-height: 1.3; color: #111827; }
.mine-note { margin: 4px 0 0; font-size: 13px; font-weight: 600; color: #475569; }
.mine-call-text { color: #15803d; text-decoration: none; font-weight: 700; }
.mine-call-text:active { opacity: 0.8; }
.mine-nav { display: flex; gap: 8px; margin-top: 8px; }
.mine-nav a { width: 40px; height: 36px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; display: grid; place-items: center; }
.mine-nav a.mine-call { border-color: #bbf7d0; background: #ecfdf5; }
.mine-nav svg { width: 18px; height: 18px; }
.done-nav-btn.call { border-color: #bbf7d0; background: #ecfdf5; }
.mine-actions { display: flex; align-items: center; gap: 8px; margin-top: 12px; }
.mine-field { position: relative; flex: 1; min-width: 0; }
.mine-field input { width: 100%; min-height: 44px; height: 44px; padding: 0 40px 0 10px; border: 1px solid #e5e7eb; border-radius: 8px; background: #fff; font-size: 16px; font-weight: 800; color: #111827; }
.mine-field span { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); font-size: 12px; font-weight: 800; color: #64748b; pointer-events: none; }
.mine-save { width: 44px; height: 44px; flex: none; border: 0; border-radius: 8px; background: #0f172a; color: #fff; display: grid; place-items: center; padding: 0; }
.mine-save svg { width: 18px; height: 18px; }
.mine-done { flex: 1; min-height: 44px; border: 0; border-radius: 8px; background: #059669; color: #fff; font-size: 15px; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 6px; }
.mine-done svg { width: 18px; height: 18px; }
.mine-back { display: block; width: 100%; margin-top: 8px; min-height: 32px; padding: 4px; border: 0; background: transparent; color: #64748b; font-size: 13px; font-weight: 700; text-decoration: underline; }
.done-block { margin-top: 8px; }
.done-block > summary { list-style: none; cursor: pointer; }
.done-block > summary::-webkit-details-marker { display: none; }
.done-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 18px 4px 12px; }
.done-title { font-size: 20px; font-weight: 800; letter-spacing: -0.02em; color: var(--ink); }
.done-count { background: #eef0f4; color: var(--ink); font-size: 13px; font-weight: 800; padding: 3px 10px; border-radius: 20px; }
.done-card {
  background: #fff;
  border: 1px solid #e4e7ed;
  border-radius: 14px;
  padding: 14px 16px;
  margin-bottom: 12px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02);
}
.done-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.done-place { min-width: 0; }
.done-when { font-size: 15px; font-weight: 800; }
.done-addr, .done-note { font-size: 13px; color: #6e737d; font-weight: 550; }
.done-note { margin-top: 2px; }
.done-nav { display: flex; gap: 6px; flex: none; }
.done-nav-btn {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  border: 1px solid #e4e7ed;
  background: #fafafa;
  display: grid;
  place-items: center;
}
.done-nav-btn svg { width: 18px; height: 18px; display: block; }
.done-bottom { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #f2f4f7; }
.done-amount {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 132px;
  background: #f8f9fa;
  border: 1px solid #e4e7ed;
  border-radius: 8px;
  padding: 4px 8px;
}
.done-card .done-amount input {
  width: 100%;
  min-width: 0;
  min-height: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 2px 0;
  font-size: 14px;
  font-weight: 700;
  box-shadow: none;
}
.done-amount span { flex: none; font-size: 12px; font-weight: 800; color: #6e737d; }
.done-save { border: 0; background: transparent; color: #2e7d32; padding: 2px; display: grid; place-items: center; }
.done-save svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.5; stroke-linecap: round; stroke-linejoin: round; }
.done-status {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 8px;
  background: #e8f5e9;
  color: #2e7d32;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
}
.done-status::before { content: "✓"; font-weight: 800; }
.done-lock { margin-top: 8px; font-size: 11px; color: #9a3a32; }
.cab-mark { width: 36px; height: 36px; border-radius: 12px; background: #0f172a; color: #fff; display: grid; place-items: center; flex: none; }
.cab-mark svg { width: 18px; height: 18px; }
.cab-admin, .cab-link { text-decoration: none; background: #f1f5f9; color: #334155; font-size: 12px; font-weight: 700; border-radius: 12px; padding: 6px 8px; border: 0; }
.dispatch-home { max-width: 100%; overscroll-behavior-x: none; touch-action: pan-y pinch-zoom; }
.dispatch-home .cab-head { min-width: 0; max-width: 100%; }
.dispatch-home .cab-who { min-width: 0; flex: 1; }
.dispatch-home .cab-who p { letter-spacing: 0.03em; line-height: 1.15; white-space: normal; }
.dispatch-home .cab-who strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dispatch-home .cab-side { flex: 0 1 auto; flex-wrap: wrap; justify-content: flex-end; gap: 4px; min-width: 0; max-width: 100%; }
.dispatch-home .cab-side .langs button { min-width: 24px; padding: 2px 5px; }
.dispatch-home .cab-admin,
.dispatch-home .cab-out { padding: 5px 7px; }
.import-pdf { margin: 0 0 14px; padding: 14px; }
.import-pdf-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.import-pdf-row strong { display: block; font-size: 14px; font-weight: 900; color: #0f172a; }
.import-pdf-row .muted { margin: 4px 0 0; font-size: 12px; }
.import-pdf-row .btn { flex: none; min-height: 42px; padding: 0 14px; font-size: 13px; }
.review-box { margin: 0 0 16px; }
.review-banner {
  background: linear-gradient(135deg, #0ea5e9 0%, #4f46e5 100%);
  border-radius: 18px;
  padding: 14px;
  color: #fff;
  box-shadow: 0 10px 24px rgba(79, 70, 229, 0.18);
}
.review-banner-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.review-banner-title { display: flex; align-items: center; gap: 10px; min-width: 0; }
.review-banner-title h2 { margin: 0; font-size: 14px; font-weight: 900; letter-spacing: 0.01em; }
.review-banner-title p { margin: 2px 0 0; font-size: 11px; font-weight: 600; color: rgba(224, 242, 254, 0.95); }
.review-plane {
  width: 28px; height: 28px; border-radius: 10px; flex: none;
  display: grid; place-items: center;
  background: rgba(255, 255, 255, 0.18); font-size: 13px;
}
.review-pill {
  flex: none; font-size: 12px; font-weight: 900; color: #312e81;
  background: #fff; border-radius: 999px; padding: 4px 10px;
  box-shadow: 0 1px 0 rgba(15, 23, 42, 0.06);
}
.review-list { display: flex; flex-direction: column; gap: 8px; }
.review-card {
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 14px; padding: 12px; color: #0f172a;
}
.review-card.is-active { outline: 2px solid #fbbf24; outline-offset: 1px; }
.review-card.is-late {
  background: #fde8e8;
  border: 1px solid #f0a8a8;
  box-shadow: inset 4px 0 0 #c24141;
}
.review-card.is-late.is-active { outline-color: #c24141; }
.review-card .review-head { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 6px; }
.review-card .review-when {
  font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.04em;
  color: #312e81; background: #e0e7ff; border-radius: 6px; padding: 3px 7px;
}
.review-card .review-when.is-late {
  color: #fff; background: #c24141;
}
.review-card .review-from { font-size: 10px; font-weight: 800; color: #94a3b8; }
.review-card .review-late {
  font-size: 10px; font-weight: 900; text-transform: uppercase; letter-spacing: 0.04em;
  color: #fff; background: #c24141; border-radius: 6px; padding: 3px 7px;
}
.review-card .review-addr { font-size: 13px; font-weight: 900; color: #0f172a; line-height: 1.35; margin: 0 0 4px; }
.review-card .review-meta { font-size: 11px; font-weight: 600; color: #64748b; margin: 0 0 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.review-card .review-actions { display: grid; grid-template-columns: 1.4fr 0.7fr; gap: 8px; padding-top: 8px; border-top: 1px solid #f1f5f9; }
.review-card .review-ok {
  min-height: 40px; border: 0; border-radius: 12px; background: #4f46e5; color: #fff;
  font-weight: 900; font-size: 12px; cursor: pointer;
}
.review-card .review-nope {
  min-height: 40px; border: 0; border-radius: 12px; background: #fff1f2; color: #e11d48;
  font-weight: 800; font-size: 12px; cursor: pointer;
}
.composer.from-telegram { box-shadow: 0 0 0 2px #4f46e5; }
.adm-status { display: flex; align-items: center; justify-content: space-between; gap: 8px; background: #fff; border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 16px; padding: 12px 14px; margin: 0 0 16px; }
.adm-status h2 { margin: 0; font-size: 12px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #475569; white-space: nowrap; }
.adm-counts { display: flex; align-items: center; gap: 6px; flex: none; }
.adm-counts .cab-pill { color: #334155; background: #f1f5f9; border-color: transparent; font-size: 12px; font-weight: 800; padding: 4px 8px; white-space: nowrap; }
.adm-live { display: flex; align-items: center; gap: 8px; min-width: 0; }
.adm-pulse { width: 10px; height: 10px; border-radius: 50%; background: #10b981; flex: none; box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.6); animation: adm-pulse 1.6s infinite; }
.adm-pulse.is-idle { background: #cbd5e1; box-shadow: none; animation: none; }
@keyframes adm-pulse {
  70% { box-shadow: 0 0 0 6px rgba(16, 185, 129, 0); }
  100% { box-shadow: 0 0 0 0 rgba(16, 185, 129, 0); }
}
@media (prefers-reduced-motion: reduce) { .adm-pulse { animation: none; } }
.adm-progress { background: rgba(226, 232, 240, 0.72); border-radius: 12px; padding: 10px 12px; text-align: center; font-size: 13px; font-weight: 650; color: #64748b; margin: 0 0 14px; }
.adm-progress b { color: #0f172a; }
.adm-card { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; background: #fff; border: 1px solid rgba(226, 232, 240, 0.95); border-radius: 16px; padding: 12px; margin: 0 0 10px; }
.adm-main { display: flex; align-items: center; gap: 10px; min-width: 0; flex: 1; }
.adm-thumb { width: 56px; height: 56px; border-radius: 12px; overflow: hidden; border: 1px solid #e2e8f0; background: #f8fafc; padding: 0; flex: none; display: grid; place-items: center; }
.adm-thumb img { width: 100%; height: 100%; object-fit: cover; }
.adm-empty { font-size: 10px; font-weight: 800; color: #94a3b8; text-align: center; line-height: 1.15; padding: 4px; }
.adm-info { min-width: 0; flex: 1; }
.adm-addr { margin: 2px 0 0; font-size: 13px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm-note, .adm-decline { margin: 2px 0 0; font-size: 11px; color: #94a3b8; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm-see { margin: 2px 0 0; font-size: 11px; font-weight: 700; color: #059669; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm-see.warn { color: #b45309; }
.adm-cancel { flex: none; border: 0; background: #fff1f2; color: #e11d48; font-size: 12px; font-weight: 800; border-radius: 12px; padding: 6px 10px; }
.adm-offer { flex: 1 0 100%; }
.adm-taken { flex-direction: column; align-items: stretch; }
.adm-taken .amount-row { width: 100%; }
.adm-state { align-self: flex-start; background: #f8e7a8; color: #6a4e12; border: 1px solid #e2c86a; border-radius: 8px; padding: 4px 8px; font-size: 12px; font-weight: 800; }
.adm-label { margin: 4px 4px 8px; font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #475569; }
.board-day { display: flex; align-items: center; gap: 8px; margin: 16px 4px 8px; font-size: 14px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #4b5563; }
.board-day::after { content: ""; flex: 1; height: 1px; background: #d1d5db; }
.board-day.today { color: #14532d; }
.board-day.next { color: #075985; }
.adm-card.board { display: block; padding: 0; border: 2px solid #d1d5db; border-radius: 12px; margin: 0 0 8px; overflow: hidden; }
.adm-card.board.is-open { border-color: #1f2937; }
.board-row { width: 100%; min-height: 64px; padding: 10px 12px; border: 0; background: #fff; display: flex; align-items: center; gap: 10px; text-align: left; }
.board-time { flex: none; min-width: 68px; padding: 8px 8px; border-radius: 8px; background: #1f2937; color: #fff; font-size: 18px; font-weight: 800; letter-spacing: -0.03em; text-align: center; }
.adm-card.is-late .board-time { background: #b91c1c; }
.board-mid { min-width: 0; flex: 1; }
.board-date { display: inline-block; margin-bottom: 2px; padding: 2px 6px; border-radius: 4px; background: #f3f4f6; color: #374151; font-size: 13px; font-weight: 800; text-transform: uppercase; }
.board-addr { display: block; font-size: 16px; font-weight: 800; line-height: 1.2; color: #111827; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.adm-card.board.is-open .board-addr { white-space: normal; overflow: visible; text-overflow: unset; }
.board-sub { display: flex; align-items: center; gap: 8px; margin-top: 4px; }
.board-who { display: block; min-width: 0; font-size: 15px; font-weight: 800; color: #14532d; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.board-who.wait { color: #9a3412; }
.board-who.only { color: #1e3a8a; }
.board-badge { flex: none; margin-left: auto; padding: 6px 8px; border-radius: 6px; font-size: 13px; font-weight: 800; white-space: nowrap; }
.board-badge.progress { background: #fef08a; color: #713f12; border: 1px solid #fde047; }
.board-badge.free { background: #dcfce7; color: #166534; border: 1px solid #86efac; }
.board-badge.unsent { background: #ffedd5; color: #9a3412; border: 1px solid #fdba74; }
.board-badge.done { background: #dcfce7; color: #14532d; border: 1px solid #86efac; }
.board-chevron { width: 18px; height: 18px; color: #6b7280; flex: none; }
.adm-card.is-open .board-chevron { transform: rotate(180deg); }
.board-body { display: none; padding: 14px; background: #f9fafb; border-top: 2px dashed #d1d5db; }
.adm-card.is-open .board-body { display: block; }
.board-detail { display: flex; gap: 12px; align-items: flex-start; }
.board-photo { width: 60px; height: 60px; padding: 0; border: 1px solid #d1d5db; border-radius: 8px; overflow: hidden; background: #e5e7eb; flex: none; display: grid; place-items: center; }
.board-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.board-photo.empty { font-size: 12px; font-weight: 800; color: #1f2937; text-align: center; line-height: 1.15; padding: 4px; background: #fff; border: 1px dashed #64748b; }
.board-full { margin: 0; font-size: 16px; font-weight: 800; line-height: 1.3; color: #111827; }
.board-note { margin: 6px 0 0; font-size: 14px; font-weight: 650; color: #374151; }
.board-decline { margin: 6px 0 0; font-size: 14px; font-weight: 800; color: #9f1239; }
.board-sum { margin-top: 12px; }
.board-sum label { margin: 0 0 6px; font-size: 13px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #4b5563; }
.board-sum-row { display: flex; gap: 8px; align-items: center; }
.board-sum-row input { flex: 1; min-width: 0; height: 48px; min-height: 48px; padding: 0 12px; border: 2px solid #d1d5db; border-radius: 8px; background: #fff; font-size: 18px; font-weight: 800; color: #111827; }
.board-save { flex: none; height: 48px; padding: 0 16px; border: 0; border-radius: 8px; background: #1f2937; color: #fff; font-size: 15px; font-weight: 800; }
.board-actions { margin-top: 12px; }
.board-actions.pair { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.board-relist { min-height: 44px; padding: 8px 10px; border: 0; border-radius: 8px; background: #111827; color: #fff; font-size: 14px; font-weight: 800; line-height: 1.2; }
.board-cancel { width: 100%; min-height: 44px; border: 1px solid #fecdd3; border-radius: 8px; background: #fff1f2; color: #be123c; font-size: 14px; font-weight: 800; }
.board-actions.pair .board-cancel { width: auto; }
.board-body .adm-offer { margin-top: 12px; }
.dispatch-home .composer { border: 2px solid #0f172a; }
.board-empty { margin: 0 0 12px; padding: 16px; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; text-align: center; color: #475569; font-size: 14px; font-weight: 800; }
.board-archive { background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; margin: 8px 0 16px; overflow: hidden; }
.board-archive > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; min-height: 52px; padding: 12px 14px; background: #f8fafc; font-size: 13px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #334155; }
.board-archive > summary::-webkit-details-marker { display: none; }
.arch-tick { color: #059669; font-size: 16px; font-weight: 900; }
.arch-end { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.arch-end b { background: #d1fae5; color: #065f46; border-radius: 999px; padding: 2px 8px; font-size: 13px; }
.arch-chevron { width: 18px; height: 18px; color: #94a3b8; }
.board-archive[open] > summary .arch-chevron,
.arch-fold[open] > summary .arch-chevron { transform: rotate(180deg); }
.arch-fold { border-top: 1px solid #f1f5f9; }
.arch-fold > summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 8px; min-height: 44px; padding: 10px 14px; background: #f8fafc; font-size: 13px; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; color: #64748b; }
.arch-fold > summary::-webkit-details-marker { display: none; }
.arch-fold.today > summary { color: #14532d; }
.arch-fold.next > summary { color: #075985; }
.arch-fold.month > summary { background: #f1f5f9; color: #334155; }
.arch-fold.month > .arch-fold-body > .arch-fold > summary { padding-left: 22px; }
.arch-row.adm-card { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: nowrap; margin: 0; padding: 12px 14px; border: 0; border-radius: 0; border-top: 1px solid #f1f5f9; background: #fff; opacity: 0.9; }
.arch-main { min-width: 0; flex: 1; }
.arch-meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.arch-when { font-size: 13px; font-weight: 800; letter-spacing: 0.03em; text-transform: uppercase; color: #475569; background: #f1f5f9; border-radius: 6px; padding: 2px 6px; }
.arch-who { font-size: 14px; font-weight: 800; color: #047857; }
.arch-addr { margin: 4px 0 0; font-size: 15px; font-weight: 800; color: #0f172a; }
.arch-sum { flex: none; font-size: 13px; font-weight: 800; color: #047857; background: #ecfdf5; border-radius: 8px; padding: 6px 8px; white-space: nowrap; }
.arch-edit { display: flex; align-items: center; gap: 6px; flex: none; }
.arch-edit input { width: 76px; min-height: 44px; height: 44px; padding: 0 8px; border: 1px solid #d1d5db; border-radius: 8px; background: #fff; font-size: 16px; font-weight: 800; color: #0f172a; }
.arch-edit button { height: 44px; padding: 0 10px; border: 0; border-radius: 8px; background: #1f2937; color: #fff; font-size: 13px; font-weight: 800; }
.dispatch-home .courier-row { min-height: 0; padding: 14px; border-radius: 16px; }
.dispatch-home .courier-row > span:first-child { font-size: 14px; font-weight: 800; color: #0f172a; }
.dispatch-home .courier-row .sum { font-size: 14px; font-weight: 900; color: #0f172a; background: #f1f5f9; border-radius: 12px; padding: 6px 12px; }
.dispatch-home .courier-row .sum.pos { color: #047857; background: #ecfdf5; border: 1px solid #a7f3d0; }
.dispatch-home .courier-row .sum.neg { color: #be123c; background: #fff1f2; border: 1px solid #fecdd3; }
.dispatch-home .photo-actions { grid-template-columns: minmax(0, max-content) minmax(0, 1fr); align-items: end; }
.dispatch-home .when-fields { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: end; }
@media (max-width: 359px) {
  .dispatch-home .photo-actions { grid-template-columns: minmax(0, 1fr); }
}
.photo-btn { min-width: 0; max-width: 100%; min-height: 48px; border: 0; border-radius: 12px; background: #f1f5f9; color: #1e293b; font-size: 13px; font-weight: 800; display: flex; align-items: center; justify-content: center; gap: 6px; padding: 8px 10px; overflow-wrap: anywhere; }
.photo-btn-dark { background: #0f172a; color: #fff; }
.photo-btn svg { width: 20px; height: 20px; flex: none; }
.dispatch-home .composer > strong { display: block; margin: 0 0 14px; font-size: 16px; font-weight: 800; letter-spacing: 0; text-transform: none; color: #0f172a; }
.dispatch-home .composer label { font-size: 13px; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; color: #334155; }
.dispatch-home .composer .hint,
.dispatch-home .composer .muted { font-size: 13px; color: #64748b; }
.dispatch-home .composer textarea,
.dispatch-home .composer input[type="text"] {
  background: #f8fafc;
  border-radius: 12px;
  min-height: 48px;
  font-size: 16px;
  font-weight: 600;
}
.dispatch-home .composer textarea { min-height: 48px; }
.dispatch-home .composer textarea::placeholder,
.dispatch-home .composer input::placeholder { color: #64748b; }
.dispatch-home .composer .date-trigger {
  height: 48px;
  min-height: 48px;
  max-height: 48px;
  box-sizing: border-box;
  background: #f8fafc;
  border: 1px solid var(--line);
  border-radius: 12px;
  font-size: 16px;
  font-weight: 700;
  line-height: 46px;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
  -webkit-appearance: none;
  appearance: none;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0 12px;
  text-align: left;
}
.time-shell { position: relative; height: 48px; }
.time-shell .date-trigger { pointer-events: none; }
.time-cover {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 48px;
  margin: 0;
  padding: 0;
  border: 0;
  opacity: 0;
  color: var(--ink);
  -webkit-text-fill-color: var(--ink);
}
.dispatch-home .chip { max-width: 100%; overflow-wrap: anywhere; }
.dispatch-home :focus-visible { outline-offset: 0; }
.dispatch-home .composer .chip { min-height: 40px; padding: 8px 14px; border-radius: 12px; font-size: 13px; font-weight: 800; background: #f1f5f9; }
.dispatch-home #send { width: 100%; min-height: 48px; font-size: 15px; font-weight: 800; border-radius: 12px; background: #059669; color: #fff; }
.dispatch-home .composer .chip.on { background: #0f172a; color: #fff; border-color: #0f172a; }
.date-day.is-past, .date-day:disabled { color: #c4bfb6; background: transparent; cursor: default; }
.date-day.on.is-past { box-shadow: inset 0 0 0 1px #e7b3b3; color: #a33; background: transparent; }
.date-nav:disabled { opacity: 0.35; }
.adm-push, .adm-push-test { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.adm-push-test { margin-top: 10px; padding-top: 10px; border-top: 1px solid #f1f5f9; }
.adm-push strong { display: block; font-size: 14px; color: #0f172a; }
.adm-push p, .adm-push-test span { margin: 2px 0 0; font-size: 13px; color: #475569; }
#push-card .adm-push-test span { display: block; }
