:root{font-family:"Segoe UI","Malgun Gothic",Arial,sans-serif;color:#112232;background:#f3f4f6;--green:#2f74b5;--dark:#1d3f61;--muted:#616b75;--line:#dce1e5;--warn:#fff4db;--err:#a43232}
*{box-sizing:border-box}
.courier-menu > summary { cursor: pointer; padding: 6px 12px; border: 1px solid currentColor; border-radius: 8px; font-weight: 600; min-height: 24px; list-style: none; display: inline-block; }
.courier-menu > summary::-webkit-details-marker { display: none; }
.courier-menu-body { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; flex-basis: 100%; }
.next-stop { border-left: 4px solid #2f74b5; }
.next-stop h2 { margin-top: 0; }
.offer { padding: 10px 0; border-top: 1px dashed #c5cbd0; }
.offer:first-of-type { border-top: 0; }
.photo-box { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0; }
.photo-box .unc-row { flex-basis: 100%; }
.photo-view figure { margin: 0 0 12px; }
.photo-view img { display: block; max-width: 100%; height: auto; border-radius: 6px; }
.photo-view figcaption { font-size: 13px; margin: 6px 0; }
body{margin:0;min-height:100vh}
.site-header{background:var(--dark);color:#fff;padding:calc(14px + env(safe-area-inset-top)) calc(16px + env(safe-area-inset-right)) 14px calc(16px + env(safe-area-inset-left));display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.brand{font-size:21px;letter-spacing:-.5px;overflow-wrap:anywhere}
.header-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.who{color:#c6dbef;font-size:13px}
.wrap{max-width:1000px;margin:0 auto;padding:16px calc(16px + env(safe-area-inset-right)) calc(16px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}
.presence-on{color:var(--green);font-weight:600}
.presence-off{color:var(--muted)}
.notice{background:var(--warn);border:1px solid #edddb5;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.45}
.banner{margin:10px 0;padding:10px 14px;border-radius:10px;background:#e6f0fa;color:#1f5689;font-size:14px}
.banner.error{background:#fde8e8;color:var(--err)}
.unconfirmed{margin:10px 0;border:1px solid #edddb5;background:var(--warn);border-radius:12px;padding:10px 14px}
.unconfirmed h3{margin:0 0 6px;font-size:14px}
.unc-row{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:6px 0;font-size:14px}
button{cursor:pointer;border:1px solid #c7d6e5;background:#fff;color:#1f4568;border-radius:9px;padding:10px 14px;font:inherit;font-weight:600;min-height:42px}
a.button{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;border:1px solid #c7d6e5;background:#fff;color:#1f4568;border-radius:9px;padding:10px 14px;font-weight:600;min-height:42px;text-decoration:none}
a.button.primary{background:var(--green);color:#fff;border-color:var(--green)}
button.route{background:#e6f0fa;border-color:var(--green);width:100%}
.map-choice{border-top:1px solid var(--line);padding:10px 0}
.map-choice .actions{margin-top:6px}
.route-address{color:inherit;font-weight:600;overflow-wrap:anywhere;user-select:text}
.route-steps{margin:10px 0;padding-left:20px;font-size:14px;line-height:1.45}
.route-steps li{margin:4px 0}
.copy-buffer{position:absolute;left:-9999px;width:1px;height:1px}
button:hover{background:#e8f1fa}
button:disabled{opacity:.55;cursor:default}
button.primary,button.active{background:var(--green);color:#fff;border-color:var(--green)}
/* 10 ноября 2026: мягкий голубой — согласованные оттенки наведения и нажатия. */
button:active{background:#d6e6f6}
button.primary:hover,button.active:hover,a.button.primary:hover{background:#2766a1;border-color:#2766a1}
button.primary:active,button.active:active,a.button.primary:active{background:#1f5689;border-color:#1f5689}
button:focus-visible,a.button:focus-visible{outline:3px solid #8cc0ef;outline-offset:2px}
header button:active{background:#244a70}
button.danger{color:var(--err);border-color:#e3b7b7}
button.small{padding:6px 10px;min-height:34px;font-size:13px}
header button{background:transparent;color:#fff;border-color:#5a7fa3}
header button:hover{background:#2a5580}
.badge-count{display:inline-block;min-width:20px;padding:1px 6px;border-radius:10px;background:#d44;color:#fff;font-size:12px;margin-left:4px}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.tabs button{white-space:nowrap}
.top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
h1{font-size:25px;letter-spacing:-.5px;margin:10px 0 4px}
p{color:var(--muted);line-height:1.5;margin:4px 0}
summary{padding:4px 0;cursor:pointer}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(136px,1fr));gap:10px;margin:14px 0}
.stat,.card,.panel,form.box{background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px}
.stat span{color:var(--muted);font-size:13px}
.stat b{display:block;font-size:26px;margin-top:4px}
.stat b.na{font-size:15px;color:var(--muted);font-weight:600;margin-top:10px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.card h2{font-size:17px;margin:10px 0 6px;overflow-wrap:anywhere}
.row{display:flex;justify-content:space-between;gap:8px;align-items:center}
.badge{background:#e6f0fa;color:#1f5d96;border-radius:20px;padding:4px 10px;font-size:12px;font-weight:700;white-space:nowrap}
.badge.cancelled{background:#f4e2e2;color:#8a2c2c}.badge.delivered{background:#dcebf7;color:#1f4d78}.badge.new{background:#fff0c9;color:#7a5a05}
.meta{font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.pending{background:#fff5df;padding:10px;border-radius:8px;margin-top:10px;font-size:14px}
.lastreq{font-size:13px;color:var(--muted);margin-top:8px}
.actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.history{margin-top:10px;border-top:1px dashed var(--line);padding-top:8px;font-size:13px}
.history li{margin:4px 0;overflow-wrap:anywhere}
.history ul{padding-left:18px;margin:4px 0}
.empty{padding:28px;background:#fff;border:1px dashed #bbc5cf;border-radius:14px;color:var(--muted)}
label{display:block;font-size:14px;margin:12px 0 4px}
input,textarea,select{width:100%;font:inherit;border:1px solid #bac3cd;border-radius:8px;padding:11px;background:#fff;color:inherit}
select{width:auto}
dialog{border:none;border-radius:14px;padding:18px;width:min(460px,calc(100vw - 24px));max-height:90vh;overflow:auto}
dialog::backdrop{background:rgba(0,0,0,.45)}
dialog h2{margin:0 0 6px;font-size:19px}
.login{max-width:380px;margin:28px auto}
.err-text{color:var(--err);font-size:14px;margin-top:8px}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--line)}
.table-wrap{overflow-x:auto}
.foot{font-size:12px;color:var(--muted);margin-top:26px}
.notes li{margin:8px 0;font-size:14px}.notes li.unread{font-weight:700}.notes small{display:block;color:var(--muted);font-weight:400}
/* 14 ноября 2026: уведомления по колокольчику — текст чуть жирнее, номер заказа отдельной меткой и чуть крупнее. */
/* Одна панель для ресторана, курьера и администратора (openNotes). Длинное слово переносится внутри окна. */
.bell-notes li{font-weight:600;line-height:1.45;overflow-wrap:anywhere;word-break:break-word}.bell-notes li.unread{font-weight:800}
.note-no{display:inline-block;margin:0 2px;padding:0 7px;border-radius:7px;background:#e6f0fa;color:#173b5f;font-size:1.18em;font-weight:800;line-height:1.35;white-space:nowrap}
.bell-notes li.unread .note-no{background:#2f74b5;color:#fff}
.hint{font-size:13px;color:var(--muted)}
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin:0 0 12px}
.filters label{margin-top:0}
.filters select{max-width:100%}
@media(max-width:650px){.grid{grid-template-columns:1fr}.wrap{padding:12px}h1{font-size:22px}.brand{font-size:18px}}
.finance{margin-top:10px;padding:10px;border:1px solid var(--line);border-radius:10px;font-size:14px;overflow-wrap:anywhere}
.money-row{padding:2px 0;color:var(--muted)}.money-row b{color:#112232}.money-row.strong{font-size:16px;margin:4px 0;color:#112232}
.items{margin:0 0 6px;padding-left:18px}.items li{margin:2px 0}
.fee-note{color:#7a5a05;background:var(--warn);border-radius:8px;padding:6px 8px;margin:6px 0;font-size:13px}
.test-mark{color:#7a2c8a;background:#f6e9fa;border-radius:8px;padding:6px 8px;margin:6px 0;font-size:13px;font-weight:600}
.test-box{border:1px dashed #b98bc7;background:#faf3fc;border-radius:10px;padding:10px;margin-top:12px;font-size:13px}
.quote{background:#f3f4f6;border-radius:10px;padding:10px;font-size:14px;min-height:42px}.quote .finance{margin:0;background:#fff}
.item-row{display:grid;grid-template-columns:1fr 1fr 42px;gap:6px;margin-bottom:8px}.item-row input[data-testid=item-name]{grid-column:1/-1}
.tariff-row{display:grid;grid-template-columns:1fr 1fr 1fr 42px;gap:6px;margin-bottom:8px}.tariff-row input{padding:9px 6px;min-width:0}
dialog h3{font-size:15px;margin:14px 0 6px}
.availability{margin-bottom:12px}.availability h2{margin:0 0 4px;font-size:16px}
.courier-row{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-top:1px solid var(--line)}
.panel{margin-bottom:12px}.panel h2{margin-top:0}
ul.plain{list-style:none;padding:0;margin:6px 0;font-size:14px}ul.plain li{padding:2px 0}
input.check{width:auto;margin-right:6px}.check-label{display:flex;align-items:center;font-weight:600}
dialog select{width:100%}
#courier-map{height:320px;border-radius:14px;border:1px solid var(--line);margin-bottom:8px;z-index:0}
.contacts{margin-top:8px}.contacts button{min-height:32px}
.shift{margin-top:10px;border-top:1px dashed var(--line);padding-top:8px}
ol.stops{padding-left:22px;margin:6px 0}ol.stops li{padding:6px 0;border-bottom:1px solid var(--line);position:relative}
ol.stops li>div{padding-right:92px;overflow-wrap:anywhere}.stop-move{position:absolute;right:0;top:6px;display:flex;gap:4px}.stop-move button{min-height:34px;padding:4px 10px}
ol.plain-stops li>div{padding-right:0}.hint-line{display:block;color:var(--muted);font-size:12px}
.map-choice+.map-choice{margin-top:0}
.leaflet-control-attribution a{text-decoration:underline}
.lang-switch{display:inline-flex;gap:4px}
.lang-btn[aria-pressed=true]{background:var(--green);color:#fff;border-color:var(--green)}
.dialog-lang{display:flex;justify-content:flex-end;margin-bottom:8px}

/* Экраны курьера. Крупные кнопки и читаемый текст: работа на ходу. */
.ico { width: 22px; height: 22px; flex: none; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.courier-home .site-header, .courier-home #notice, .courier-home #foot { display: none; }
.courier-home main.wrap { position: fixed; inset: 0; max-width: none; margin: 0; padding: 86px 12px 0; display: flex; flex-direction: column; gap: 8px; }
.courier-home #app { position: absolute; inset: 0; }
.courier-home #banner, .courier-home #unconfirmed { position: relative; z-index: 1200; margin: 0; }
.home { position: absolute; inset: 0; overflow: hidden; background: #dfe2e5; }
#home-map { position: absolute; inset: 0; }
#home-map.empty { display: flex; align-items: center; justify-content: center; padding: 16px 16px 40%; text-align: center; }
.home .leaflet-top.leaflet-right { top: 62px; }
.home-top { position: absolute; top: 10px; left: 10px; right: 10px; z-index: 1100; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.pill-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 48px; padding: 0 16px; white-space: nowrap; border-radius: 24px; background: #fff; color: #1d3f61; border: 1px solid #b9c0c7; font-size: 16px; font-weight: 700; }
.test-pill { background: #fff3d6; color: #6b4a00; border-radius: 12px; padding: 3px 10px; font-size: 13px; font-weight: 600; }
.home-bottom { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1100; display: flex; flex-direction: column; max-height: 78%; pointer-events: none; }
.recenter { pointer-events: auto; align-self: flex-end; width: 52px; height: 52px; min-height: 52px; margin: 0 12px 10px 0; padding: 0; border-radius: 50%; background: #fff; color: #1d3f61; border: 1px solid #b9c0c7; display: flex; align-items: center; justify-content: center; }
.home-sheet { pointer-events: auto; overflow-y: auto; background: #fff; border-radius: 18px 18px 0 0; border-top: 1px solid #b9c0c7; padding: 10px 14px calc(var(--home-lift) + max(env(safe-area-inset-bottom, 0px), var(--safe-area-inset-bottom, 0px))); display: flex; flex-direction: column; gap: 8px; font-size: 16px; }
.sheet-toggle { position: sticky; top: -10px; z-index: 2; display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 44px; width: 100%; background: #fff; border: 0; color: #1d3f61; font-size: 15px; font-weight: 600; padding: 0; flex: none; }
.sheet-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.state-chip { background: #eef0f1; color: #3c434a; border-radius: 12px; padding: 4px 10px; font-size: 14px; font-weight: 600; }
.state-chip.on { background: #d9e6f2; color: #1f5689; }
.next-title { font-size: 18px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.next-address { font-size: 16px; overflow-wrap: anywhere; }
.sheet-note { margin: 0; font-size: 15px; color: #3c434a; }
button.big, .button.big { min-height: 52px; width: 100%; font-size: 17px; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 8px; flex: none; }
button.wide { min-height: 48px; width: 100%; margin-top: 6px; font-size: 16px; flex: none; }
.mini-order { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 60px; background: #fff; color: #171c20; text-align: left; border: 1px solid #d9dde0; border-radius: 12px; padding: 8px 10px; margin-bottom: 8px; overflow-wrap: anywhere; font-size: 16px; font-weight: 400; flex: none; }
.mini-text { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mini-text .row { display: flex; justify-content: space-between; gap: 8px; align-items: center; flex-wrap: wrap; }
.stops-title { margin: 8px 0 4px; font-size: 16px; }
.home-stops { list-style: none; margin: 0 0 6px; padding: 0; }
.home-stops li { display: flex; gap: 10px; padding: 8px 0; border-top: 1px solid #e4e7e9; overflow-wrap: anywhere; min-width: 0; }
.home-stops li > div { min-width: 0; }
.stop-num { flex: none; width: 28px; height: 28px; border-radius: 50%; border: 1px solid #8f99a3; display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; }
.home-stops li.now .stop-num, .stop-pin { background: #2f74b5; color: #fff; border-color: #2f74b5; }
.stop-pin { border: 2px solid #fff; border-radius: 50%; display: flex !important; align-items: center; justify-content: center; font-size: 14px; font-weight: 700; }
.screen { padding: 4px 0 24px; }
.back-btn { display: inline-flex; align-items: center; gap: 6px; min-height: 48px; padding: 0 14px 0 8px; font-size: 16px; font-weight: 600; background: #fff; border: 1px solid #b9c0c7; border-radius: 12px; color: #1d3f61; }
.screen-title { margin: 8px 0; }
.profile-head { padding: 8px 0 12px; font-size: 17px; }
.profile-list { background: #fff; border: 1px solid #d9dde0; border-radius: 14px; overflow: hidden; }
.profile-row { display: flex; align-items: center; gap: 14px; width: 100%; min-height: 60px; padding: 8px 14px; font-size: 17px; font-weight: 500; text-align: left; background: #fff; color: #171c20; border: 0; border-bottom: 1px solid #e4e7e9; border-radius: 0; flex-wrap: wrap; }
.profile-list > :last-child { border-bottom: 0; }
.row-label { flex: 1 1 120px; min-width: 0; }
.row-value { color: #3c434a; font-size: 15px; }
.profile-row .lang-switch { display: flex; flex-wrap: wrap; gap: 6px; }
.profile-row .lang-btn { color: #1d3f61; border-color: #8f99a3; background: #fff; min-height: 44px; }
.profile-row .lang-btn[aria-pressed=true] { background: #2f74b5; color: #fff; border-color: #2f74b5; }
.courier-new .header-right .who { font-size: 14px; }
@media (max-width: 360px) {
  .pill-btn { padding: 0 10px; gap: 5px; font-size: 15px; }
  .test-pill { padding: 2px 6px; font-size: 12px; }
  .home-sheet { padding-top: 8px; padding-left: 12px; padding-right: 12px; gap: 6px; }
}

.remember { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0; min-height: 44px; font-weight: 500; cursor: pointer; }
.remember input { width: 24px; height: 24px; flex: none; margin: 2px 0 0; }
.login-more { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.link-btn { background: none; border: 0; color: #1d3f61; text-decoration: underline; min-height: 44px; font-size: 15px; font-weight: 500; }
.access-code { font-family: monospace; font-size: 24px; font-weight: 700; letter-spacing: 1px; text-align: center; padding: 12px; background: #eef0f1; border-radius: 10px; overflow-wrap: anywhere; }

/* Нижняя область поднята над системными кнопками и жестовой полоской: около 1 см плюс безопасная область устройства. На низком экране меньше, чтобы карта оставалась видна. */
:root { --home-lift: 56px; }
@media (max-height: 640px) { :root { --home-lift: 30px; } }
.next-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.next-text { flex: 1; min-width: 0; }
.next-tools { display: flex; gap: 6px; flex: none; }
.tool-btn { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; min-width: 64px; min-height: 56px; padding: 4px 6px; font-size: 12px; font-weight: 600; line-height: 1.1; background: #fff; color: #1d3f61; border: 1px solid #8f99a3; border-radius: 12px; white-space: nowrap; }
.danger-zone { margin-top: 12px; padding-top: 10px; border-top: 1px dashed #c5cbd0; }

/* Кнопки возврата и закрытия: свой полупрозрачный светлый фон и тёмный значок, поэтому видны на карте, светлом и тёмном фоне. */
.icon-close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; min-height: 44px; padding: 0; border-radius: 50%; background: rgba(255,255,255,.86); color: #102030; border: 1px solid rgba(16,32,48,.55); box-shadow: 0 1px 4px rgba(0,0,0,.28); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.icon-close .ico { width: 22px; height: 22px; }
.dialog-close { position: sticky; top: 0; height: 0; display: flex; justify-content: flex-end; z-index: 5; pointer-events: none; }
.dialog-close .icon-close { pointer-events: auto; }
.dialog-lang { padding-right: 52px; flex-wrap: wrap; }
dialog { max-height: 90vh; max-height: calc(100dvh - 16px - max(env(safe-area-inset-top, 0px), var(--safe-area-inset-top, 0px)) - max(env(safe-area-inset-bottom, 0px), var(--safe-area-inset-bottom, 0px))); }
.screen-top { position: sticky; top: 0; z-index: 30; margin-bottom: 8px; padding: calc(6px + max(env(safe-area-inset-top, 0px), var(--safe-area-inset-top, 0px))) 0 6px; background: #f3f4f6; box-shadow: 0 6px 6px -6px rgba(16,32,48,.25); } /* 12.11.2026: сплошная полоса — прокручиваемые кнопки уходят под неё целиком, а не наполовину под «Назад» */
.back-btn { background: rgba(255,255,255,.86); color: #102030; border: 1px solid rgba(16,32,48,.55); box-shadow: 0 1px 4px rgba(0,0,0,.2); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.sheet-close { position: sticky; top: -6px; align-self: flex-end; margin: -44px 0 0; z-index: 3; flex: none; }
.actions.column { flex-direction: column; align-items: stretch; }
/* Зоны доставки */
.zones-dialog { width: min(720px, calc(100vw - 16px)); }
.zones-map, .pick-map { height: min(46vh, 340px); min-height: 200px; border-radius: 10px; margin: 8px 0; }
.zone-row { display: flex; align-items: center; gap: 6px; margin-bottom: 6px; }
.zone-row input { flex: 1; min-width: 0; }
.zone-swatch { flex: none; width: 14px; height: 14px; border-radius: 50%; opacity: .75; }
.check-row { display: flex; align-items: center; gap: 8px; margin: 10px 0; font-weight: 600; }
.check-row input { width: 22px; height: 22px; flex: none; }
.mode-btn[aria-pressed=true] { background: var(--dark); color: #fff; }
[data-testid=zones] { overflow-wrap: anywhere; min-width: 0; }
[data-testid=zones] select { width: 100%; min-width: 0; max-width: 100%; }
.card .pick { display: inline-flex; align-items: center; margin-right: 8px; }
.card .pick input { width: 22px; height: 22px; margin: 0; }
.selection-bar { flex-wrap: wrap; align-items: center; gap: 8px; }
/* Статусы курьеров под формой нового заказа: прилипают к низу окна, пока заполняется форма. */
dialog.with-board { padding-bottom: 0; }
.courier-board { position: sticky; bottom: 0; margin: 12px -18px 0; padding: 8px 18px 10px; background: #fff; border-top: 1px solid #dfe2e5; box-shadow: 0 -4px 10px rgba(0,0,0,.06); }
.courier-board .board-head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; flex-wrap: wrap; font-size: 14px; }
.courier-board .board-list { list-style: none; margin: 4px 0 0; padding: 0; max-height: 7.5em; overflow-y: auto; font-size: 14px; }
.courier-board li { display: flex; align-items: center; gap: 6px; padding: 2px 0; }
.courier-board .board-name { font-weight: 600; }
.courier-board .board-status { color: #4a525a; }
.courier-board small { font-size: 12px; }
.dot { flex: none; width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.dot-ready { background: #408fda; }
.dot-busy { background: #e0a800; }
.dot-off { background: #9aa5a0; }
/* «Нет связи» отличается не только цветом: пустой кружок с пунктиром. */
.dot-no_link { background: transparent; border: 2px dashed #c0392b; width: 8px; height: 8px; }
/* Расстояние «ресторан → клиент» рядом с кнопкой «Принять» и в карточке. */
.trip { align-self: center; font-size: 14px; font-weight: 600; color: #112232; }
.money-row .trip { font-weight: 400; }
input.readonly { background: #f3f4f6; color: #112232; font-weight: 700; }
/* Расстояние и стоимость доставки рядом в форме ресторана. */
.fee-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.fee-pair label { margin-top: 10px; }
/* 13 ноября 2026: на телефоне «Сумма заказа» и «Стоимость доставки» друг под другом — «Стоимость пока не рассчитана» видна целиком. */
@media (max-width:650px){ .fee-pair { grid-template-columns: 1fr; gap: 0; } }

/* Блок загрузки (index.html): виден, пока код страницы не запустился. Объяснение — через 4 с, без кода страницы. */
.boot{margin:24px auto;max-width:520px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;line-height:1.5}
.boot-wait{margin:0;font-weight:600}
.boot-help{visibility:hidden;opacity:0;animation:boot-show 0s 4s forwards}
.boot-help p{margin:10px 0 0}
.boot-retry{display:inline-block;margin-top:4px;padding:10px 16px;border-radius:10px;background:var(--green);color:#fff;font-weight:600;text-decoration:none}
@keyframes boot-show{to{visibility:visible;opacity:1}}
@media (prefers-reduced-motion:reduce){.boot-help{animation-duration:0s}}
/* Передача заказа (7 ноября 2026): кнопка справа вверху карточки, рядом с состоянием; на узком экране переносится, текст не перекрывает. */
.card-top { display: inline-flex; flex-wrap: wrap; gap: 6px; align-items: center; justify-content: flex-end; }
button.small.transfer-btn { min-height: 44px; padding: 6px 16px; font-size: 15px; font-weight: 700; }
.badge.transfer-wait { background: #fff0c9; color: #7a5a05; }
.transfer-list { list-style: none; padding: 0; margin: 8px 0; display: grid; gap: 6px; max-height: 55vh; overflow: auto; }
.transfer-pick { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; text-align: left; min-height: 48px; }
.transfer-pick[disabled] { opacity: .65; }
.transfer-history ul { margin: 4px 0 0; padding-left: 18px; }
.transfer-in { border: 2px solid #e2b33c; border-radius: 10px; padding: 10px; background: #fffaf0; }
.transfer-in .actions button { min-height: 48px; min-width: 120px; font-weight: 700; }

/* Страница клиента: место доставки по ссылке ресторана (7 ноября 2026) */
.loc-page .wrap{max-width:640px}
.loc-page .header-right{gap:4px}
.loc-page .lang-btn{min-height:44px;color:#fff;border-color:#8fa2b5;background:transparent}
.loc-page .lang-btn[aria-pressed=true]{background:#2f74b5;border-color:#2f74b5}
.loc-map{height:min(52vh,420px)}
.loc-pin{width:28px;height:28px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#c98a00;border:3px solid #1d3f61;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.loc-msg{margin:8px 0;min-height:1em}
.loc-confirm{border-top:1px solid #d5d9dd;margin-top:8px;padding-top:4px}
.loc-final{font-size:18px;line-height:1.5}
/* Кабинет ресторана: запрос места у клиента и черновики */
.loc-request{border:1px solid #c9d0d6;border-radius:10px;padding:10px 12px;margin:10px 0;background:#f6f8fa}
.loc-request .link-box{width:100%;font-size:14px}
.loc-request .actions{flex-wrap:wrap}
/* 13 ноября 2026: телефон получателя и рядом кнопка «Отправить SMS для запроса местоположения»; на узком экране кнопка под полем */
.phone-row{display:flex;gap:8px;align-items:stretch;flex-wrap:nowrap}
.phone-row input{flex:1 1 50%;min-width:0;width:auto;margin:0}
.phone-row button{flex:1 1 50%;min-width:0;margin:0;white-space:normal;line-height:1.2;font-size:14px;padding:6px 8px}
@media (max-width:360px){ .phone-row{flex-wrap:wrap} .phone-row input,.phone-row button{flex-basis:100%} }
.loc-sms-ok{color:#1b6b34;font-weight:600;margin-bottom:6px}
.loc-got{border-color:#2f74b5;background:#e9f0f8}
.loc-drafts{margin:10px 0}
.loc-drafts li{margin:6px 0}

/* Единый переключатель языка (8 ноября 2026): выпадающий список в верхней строке, 4 языка. */
.lang-switch{display:inline-flex;align-items:center;gap:4px;margin:0;color:inherit}
.lang-switch .ico{width:20px;height:20px;flex:none}
.lang-select{min-height:44px;min-width:0;max-width:9.5em;padding:6px 8px;font-size:15px;border-radius:8px;border:1px solid #8fa2b5;background:#fff;color:#1d3f61;width:auto}
/* Главный экран курьера: компактный переключатель в верхней панели, в одном стиле с кнопками-«таблетками». */
.home-top .lang-switch.compact{background:#fff;border:1px solid #b9c0c7;border-radius:24px;min-height:48px;padding:0 4px 0 10px;color:#1d3f61}
.home-top .lang-switch.compact .lang-select{border:0;min-height:44px;max-width:4.2em;padding:4px;font-weight:700;background:transparent}
/* Узкий экран: панель над картой переносится на вторую строку, ничего не уходит за край и не ломается по буквам. */
.home-top{flex-wrap:wrap;row-gap:6px}
.test-pill{white-space:nowrap}
.home-top .lang-switch.compact{margin-left:auto}
/* 10 ноября 2026: уточнение доставки и точки курьеров в верхней панели ресторана. */
.details-wrap{margin:8px 0;padding:8px 10px;border:1px solid #c9d1d8;border-radius:10px;background:#f6f8fa}
.details-wrap[hidden]{display:none}
.details-line{margin:4px 0;font-size:15px}
.dot-none{background:#fff;border:1px solid #b9c0c7}
/* 10 ноября 2026: карточка заказа (ресторан, курьер, администратор). Компактная таблица + раскрытие подробностей.
   Все надписи крупнее и жирнее прежнего; номер заказа — самый крупный. Компактность — скрытием подробностей, не мелким шрифтом. */
article.card{font-size:17px;line-height:1.45;color:#112232;padding:12px 14px}
article.card .card-sum{cursor:pointer;-webkit-tap-highlight-color:transparent}
article.card .card-head-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px}
article.card .order-no{font-size:26px;font-weight:800;color:#112232;letter-spacing:-.3px;line-height:1.15;margin-right:auto}
article.card .badge{font-size:15px;font-weight:700;padding:5px 12px}
/* Небольшая таблица «Откуда / Куда»: подпись слева, значение в одну строку с многоточием. */
article.card .card-table{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 10px;margin:10px 0 4px;align-items:baseline}
article.card .card-table dt{font-size:15px;font-weight:700;color:#4a525a;text-transform:none}
article.card .card-table dd{margin:0;font-size:18px;font-weight:700;color:#112232;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
article.card .card-toggle{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;margin-top:4px;border:1px solid #b9c0c7;border-radius:20px;background:#f3f5f7;color:#1d3f61;font-size:16px;font-weight:700;cursor:pointer}
article.card .card-toggle .chev{font-size:18px;line-height:1}
article.card.open .card-toggle{background:#e3e9ef}
/* 13 ноября 2026: «Текущие» ресторана — верхняя строка карточки: «Подробнее» и «Готово» */
article.card .card-top-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px}
article.card .card-top-bar .card-toggle{margin-top:0}
.badge.food-ready{background:#dff3e4;color:#1b6b34}
article.card .card-ready-btn{display:inline-flex;align-items:center;min-height:40px;border-radius:20px;padding:6px 16px;font-size:16px;font-weight:700}
article.card .card-main-actions{margin-top:10px}
/* Подробности: полный текст, переносится, ничего не обрезается. */
article.card .card-more{margin-top:10px;padding-top:10px;border-top:1px dashed #c9d1d8;overflow-wrap:anywhere}
article.card .card-more[hidden]{display:none}
article.card .full-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin:2px 0 6px}
article.card .full-row .lbl{font-size:16px;font-weight:700;color:#4a525a}
article.card .full-row b{font-size:18px;font-weight:700}
article.card h2.full-addr{font-size:20px;font-weight:800;line-height:1.3;margin:0;overflow-wrap:anywhere}
article.card .card-note{font-size:17px;font-weight:600;margin:6px 0;color:#112232}
article.card .meta{font-size:17px;font-weight:600;color:#333c45;line-height:1.55}
article.card .details-line{font-size:18px;font-weight:600}
article.card .finance{font-size:17px}
article.card .money-row{color:#333c45;font-weight:600}
article.card .money-row b{font-weight:800}
article.card .money-row.strong{font-size:19px}
article.card .contacts .money-row{font-size:17px}
article.card .pending{font-size:17px;font-weight:600}
article.card .lastreq,article.card .history,article.card .hint{font-size:16px;font-weight:500}
article.card .fee-note,article.card .test-mark{font-size:16px;font-weight:600}
article.card .trip{font-size:17px;font-weight:700}
article.card .money-row .trip{font-weight:700}
article.card button{font-size:16px;font-weight:700}
@media(max-width:650px){
  article.card{font-size:18px;padding:12px}
  article.card .order-no{font-size:28px}
  article.card .card-table dt{font-size:16px}
  article.card .card-table dd{font-size:19px}
  article.card h2.full-addr{font-size:21px}
  article.card .meta,article.card .finance,article.card .pending,article.card .card-note,article.card .contacts .money-row{font-size:18px}
  article.card .details-line{font-size:19px}
  article.card .money-row.strong{font-size:20px}
  article.card .trip{font-size:18px}
  article.card .lastreq,article.card .history,article.card .hint,article.card .fee-note,article.card .test-mark{font-size:17px}
}
/* 10 ноября 2026: переключатель языка в верхней панели ресторана — синий и компактный, как кнопки панели (header button). */
.lang-switch.header-lang{gap:0;min-height:34px;padding:0 0 0 8px;border:1px solid #5a7fa3;border-radius:9px;background:transparent;color:#fff;cursor:pointer}
.lang-switch.header-lang:hover{background:#2a5580}
.lang-switch.header-lang:focus-within{outline:3px solid #8cc0ef;outline-offset:2px}
.lang-switch.header-lang .ico{width:16px;height:16px;margin-right:2px}
.lang-switch.header-lang .lang-select{-webkit-appearance:none;appearance:none;min-height:32px;max-width:8.5em;padding:2px 22px 2px 4px;border:0;border-radius:9px;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 8px center;color:#fff;font-size:13px;font-weight:600;cursor:pointer}
.lang-switch.header-lang .lang-select:focus{outline:none}
.lang-switch.header-lang .lang-select option{color:#112232;background:#fff}
/* Панель ресторана: язык и «Выйти» вместе в правом верхнем углу, на одной линии; «Обновить» и «Уведомления» — неразрывная пара.
   Все кнопки одной высоты (34 px), промежутки 6 px. Узкий экран: первая строка — «Педаль», точки, язык и «Выйти»; вторая — остальное, без пустот. */
.rest-header .header-right{gap:6px}
.header-corner,.header-pair{display:inline-flex;align-items:center;gap:6px;flex:none}
.site-header > .header-corner{margin-left:-4px}
@media(max-width:1180px){
  .rest-header{row-gap:8px}
  .rest-header > .header-corner{order:2;margin-left:0}
  .rest-header > .header-right{order:3;flex-basis:100%;justify-content:flex-start}
}
@media(max-width:650px){.rest-header .brand-dots{max-width:calc(100% - 290px)}.rest-header .bdots{max-width:100%}}
/* 10 ноября 2026: сообщение о новой версии («Обновить у всех»). */
.update-note{position:sticky;top:0;z-index:35;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 16px;background:#e6f0fa;color:#112232;border-bottom:1px solid #b9cfe4;font-size:15px;line-height:1.4}
.update-note.in-dialog{position:static;margin-top:12px;border:1px solid #b9cfe4;border-radius:10px;font-size:14px}
/* 10 ноября 2026: блок черновиков «Место доставки от клиента — N» свёрнут в одну строку; раскрывается нажатием. */
details.loc-drafts{padding:0}
details.loc-drafts > summary{list-style:none;display:flex;align-items:center;gap:8px;min-height:48px;padding:10px 14px;cursor:pointer;font-size:17px;font-weight:700;color:#112232;-webkit-tap-highlight-color:transparent}
details.loc-drafts > summary::-webkit-details-marker{display:none}
details.loc-drafts > summary:focus-visible{outline:3px solid #8cc0ef;outline-offset:2px;border-radius:10px}
details.loc-drafts > summary .chev{display:inline-block;width:1em;font-size:16px;color:#2f74b5;transition:transform .15s}
details.loc-drafts[open] > summary .chev{transform:rotate(90deg)}
details.loc-drafts > ul{margin:0;padding:0 14px 12px 34px}
/* 10 ноября 2026: точки курьеров сразу после названия «Педаль». Только точки: без рамки, кнопки и текста.
   Готов — зелёная, на смене но не готов — жёлтая, не на смене — пустая с контуром. Голубой здесь намеренно не используется. */
.brand-dots{position:relative;display:inline-flex;align-items:center;margin-right:auto;line-height:0}
.bdots{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px;max-width:calc(12 * 15px)}
.bdot{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none;box-sizing:border-box;cursor:pointer}
.bdot:focus-visible{outline:2px solid #fff;outline-offset:2px}
.bdot-ready{background:#2ecc71}
.bdot-busy{background:#f5c518}
.bdot-off{background:transparent;border:2px solid rgba(255,255,255,.6)}
.brand-dots.stale .bdot{opacity:.45}
/* 13 ноября 2026: точки заказов курьера слева от «Выйти» — три ряда: синие (готовится), жёлтые (готов, ждёт курьера), зелёные (везёт).
   Пустой ряд сохраняет высоту, чтобы ряды не прыгали. */
/* 13 ноября 2026: этапы активного заказа курьера рядом с «Выйти»: посылка → домик и короткая подпись под ними */
.stage-ind{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;margin-right:6px;color:#fff;line-height:1;flex:none}
.stage-ind .si-icons{display:inline-flex;align-items:center;gap:2px}
.stage-ind .si-ico{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;opacity:.8}
.stage-ind .si-ico .ico{width:15px;height:15px;stroke-width:2}
.stage-ind .si-arrow{font-size:11px;opacity:.75}
.stage-ind .si-label{font-size:10px;font-weight:700;white-space:nowrap;letter-spacing:-.1px}
.stage-ind.stage-to_restaurant .si-parcel,.stage-ind.stage-to_customer .si-house{opacity:1}
.stage-ind.stage-at_restaurant .si-parcel{opacity:1;background:#f5c518;color:#3a2c00}
.stage-ind.stage-delivered .si-house{opacity:1;background:#2e9e4f;color:#fff}
.order-dots{display:inline-flex;flex-direction:column;justify-content:center;gap:3px;margin-right:4px;min-width:9px}
.od-row{display:flex;align-items:center;gap:3px;min-height:9px}
.od-dot{width:9px;height:9px;border-radius:50%;flex:none;box-shadow:0 0 0 1px rgba(0,0,0,.25)}
.od-cooking .od-dot{background:#4da3ff}
.od-ready .od-dot{background:#f5c518}
.od-carrying .od-dot{background:#2ecc71}
.bdot-tip{position:fixed;z-index:40;top:0;left:0;white-space:nowrap;max-width:calc(100vw - 24px);overflow-wrap:anywhere;background:#fff;color:#112232;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.22);padding:6px 10px;font-size:14px;font-weight:600;line-height:1.35}
.bdot-tip[hidden]{display:none}
@media(max-width:650px){.bdot-tip{white-space:normal}}

/* 11 ноября 2026: одинаковая верхняя панель ресторана, курьера и администратора (app.js, headerView).
   Строка 1: «Педаль», точки курьеров (только ресторан), справа язык и «Выйти».
   Строка 2: «Имя · роль» — компактно, одной строкой.
   Строка 3: действия роли в одном ряду; если с полным текстом не помещаются — ровная сетка 2 × 2 в том же порядке (класс grid2 ставит app.js). */
.site-header.hdr-unified{row-gap:6px;column-gap:8px;padding-bottom:12px}
.hdr-unified > .header-corner{margin-left:auto}
.hdr-unified > .header-right{flex-basis:100%;min-width:0;display:flex;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:8px}
.hdr-unified .hdr-btn{min-height:40px;padding:6px 12px;font-size:14px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:2px}
.hdr-unified .header-corner .hdr-btn{min-height:40px}
.hdr-unified .lang-switch.header-lang{min-height:40px}
.hdr-unified .lang-switch.header-lang .lang-select{min-height:38px;font-size:14px}
.hdr-who{color:#c6dbef;font-size:14px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hdr-actions{display:flex;flex-wrap:nowrap;gap:8px;overflow:hidden;min-width:0}
.hdr-actions > .hdr-btn{flex:none}
.hdr-actions.grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}
.hdr-actions.grid2 > .hdr-btn{width:100%;min-width:0;white-space:normal;text-align:center;line-height:1.2}
.hdr-actions .badge-count{flex:none}
@media(max-width:650px){
  .hdr-unified .brand-dots{max-width:calc(100% - 290px)}
  .hdr-unified .bdots{max-width:100%}
  .hdr-unified .hdr-btn,.hdr-unified .header-corner .hdr-btn,.hdr-unified .lang-switch.header-lang{min-height:44px}
  .hdr-unified .lang-switch.header-lang .lang-select{min-height:42px}
}
/* Главный экран курьера: панель видна, карта начинается под ней (высоту панели задаёт app.js в --hdr-h). */
.courier-home .site-header.hdr-unified{display:flex;position:fixed;top:0;left:0;right:0;z-index:1300}
.courier-home main.wrap{top:var(--hdr-h,0px)}
.courier-home .home-top{justify-content:space-between}
/* 11 ноября 2026: переключатель ресторана «Работаем / Не работаем» во второй строке панели, справа (на всех страницах кабинета). */
.hdr-who-row{display:flex;align-items:center;gap:8px;min-width:0}
.hdr-who-row > .hdr-who{flex:1 1 auto}
.open-toggle{flex:none;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:4px 10px 4px 5px;border-radius:22px;border:2px solid #8aa6c1;background:transparent;color:#e3edf6;font-size:13px;font-weight:700;white-space:nowrap}
.open-toggle .open-knob{position:relative;width:32px;height:20px;border-radius:10px;background:#5d6f80;flex:none;transition:background .15s}
.open-toggle .open-knob::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .15s}
.open-toggle.on{border-color:#2ecc71;background:#1e7f46;color:#fff}
.open-toggle.on .open-knob{background:#2ecc71}
.open-toggle.on .open-knob::after{left:15px}
header .open-toggle:hover{background:#2a5580}
header .open-toggle.on:hover{background:#1a6e3d}
.open-toggle:disabled{opacity:.7;cursor:progress}
@media(max-width:650px){.open-toggle{min-height:44px}}
/* 13 ноября 2026 (позже): переключатель приёма у ресторана и курьера — справа во второй строке (под строкой с «Педаль»),
   видимая часть примерно вдвое меньше прежней; область нажатия — вся кнопка, не меньше 44 × 44.
   Зелёный — «Приём включён», нейтральный — «Приём выключен». */
.accept-toggle{flex:none;display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;margin:-6px 0;padding:0 2px;border:0;background:transparent;cursor:pointer}
/* Слева в нижней строке панели: видимая часть ровно у левого края строки (как «Педаль» над ней). */
.hdr-who-row > .accept-toggle{margin-left:-2px;justify-content:flex-start}
.accept-toggle .at-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 7px 2px 3px;border-radius:12px;border:1.5px solid #8aa6c1;background:transparent;color:#e3edf6;font-size:11px;font-weight:700;line-height:1.3;white-space:nowrap}
.accept-toggle .open-knob{position:relative;width:22px;height:13px;border-radius:7px;background:#5d6f80;flex:none;transition:background .15s}
.accept-toggle .open-knob::after{content:"";position:absolute;top:2px;left:2px;width:9px;height:9px;border-radius:50%;background:#fff;transition:left .15s}
.accept-toggle.on .at-pill{border-color:#2ecc71;background:#1e7f46;color:#fff}
.accept-toggle.on .open-knob{background:#2ecc71}
.accept-toggle.on .open-knob::after{left:11px}
.accept-toggle:hover .at-pill{background:#2a5580}
.accept-toggle.on:hover .at-pill{background:#1a6e3d}
.accept-toggle:disabled{cursor:progress}
.accept-toggle:disabled .at-pill{opacity:.7}
.accept-toggle:focus-visible{outline:none}
.accept-toggle:focus-visible .at-pill{outline:3px solid #ffd23f;outline-offset:2px}
/* «Выйти»: видимая часть примерно вдвое компактнее, область нажатия — прежняя (не меньше 44 × 44). */
.hdr-unified .header-corner .hdr-btn.logout-btn{min-width:44px;padding:0 2px;border:0;background:transparent;box-shadow:none}
.hdr-unified .logout-btn .logout-pill{display:inline-block;padding:2px 8px;border:1.5px solid rgba(255,255,255,.55);border-radius:11px;font-size:12px;font-weight:700;line-height:1.35;color:#fff}
.hdr-unified .logout-btn:hover .logout-pill{background:rgba(255,255,255,.14)}
.hdr-unified .logout-btn:focus-visible{outline:none}
.hdr-unified .logout-btn:focus-visible .logout-pill{outline:3px solid #ffd23f;outline-offset:2px}
.no-point-note{margin:0 0 12px}
/* Рестораны на карте курьера: работает — ярко-зелёная отметка, не работает — приглушённая серая. */
.rest-mark{display:flex;align-items:center;justify-content:center;background:transparent;border:0;cursor:pointer}
.rest-mark .rest-dot{display:block;width:24px;height:24px;border-radius:50%;box-sizing:border-box}
.rest-mark.open .rest-dot{width:28px;height:28px;background:#1e9e55;border:4px solid #fff;box-shadow:0 0 0 2px #1e9e55,0 2px 6px rgba(0,0,0,.35)}
.rest-mark.closed .rest-dot{background:rgba(160,168,176,.55);border:2px solid rgba(90,100,110,.7)}
.rest-pop{font-size:15px;line-height:1.4;min-width:160px}
.rest-pop-name{display:block;font-size:16px}
.rest-pop-address{color:#3c4a57;overflow-wrap:anywhere}
.rest-pop-status{margin-top:4px;font-weight:700}
.rest-pop-status.on{color:#17773f}
.rest-pop-status.off{color:#5d6670}
/* 11 ноября 2026: над картой курьера теперь общая панель (≈200 px). На низких экранах нижняя панель может прокручиваться —
   главная кнопка этапа («Прибыл», «Забрал», «Доставил»…) остаётся видна внизу, над поднятым краем. */
.courier-home .home-sheet > [data-testid=next-action]{position:sticky;bottom:0;z-index:2;box-shadow:0 -10px 0 8px #fff}
/* Прокрутка к элементу (фокус, переход) учитывает закреплённую кнопку: элемент не прячется под ней. */
.courier-home .home-sheet{scroll-padding-top:56px}
.courier-home .home-sheet:has(> [data-testid=next-action]){scroll-padding-bottom:84px}
/* Нижняя область не заходит на кнопки «Профиль»/«Заказы»: над ней остаётся полоса карты (≥ 40 px). На высоких экранах — прежние 78 %. */
.courier-home .home-bottom{max-height:min(78%, calc(100% - 100px))}
/* 11 ноября 2026 (вечер): кнопка «Настройки» в первой строке панели (ресторан, администратор) и экран «Настройки» всех ролей. */
.hdr-unified .hdr-btn .ico{width:18px;height:18px;flex:none;margin-right:4px}
.prefs-screen .prefs-note{margin:0 0 10px}
.prefs-lang-row{flex-wrap:wrap;row-gap:8px}
.prefs-lang-row .row-label{flex:1 1 auto}
.lang-switch.prefs-lang{gap:6px;min-height:48px;padding:0 4px 0 10px;border:1px solid #b9c0c7;border-radius:10px;background:#fff;color:#1d3f61}
.lang-switch.prefs-lang .ico{display:none}
.lang-switch.prefs-lang .lang-select{min-height:46px;min-width:9.5em;border:0;background:transparent;font-size:17px;font-weight:700;color:#1d3f61}
/* Колокольчик ресторана и курьера: обычный вид без непрочитанных; есть непрочитанные — заметная жёлтая подсветка и счётчик. */
.bell-btn{position:relative}
.bell-btn .bell-ico{display:inline-flex;margin-right:4px}
.bell-btn .bell-ico .ico{width:18px;height:18px;margin:0}
.hdr-unified .bell-btn.has-unread{background:#ffd23f;border-color:#ffd23f;color:#1b2b3a;box-shadow:0 0 0 3px rgba(255,210,63,.35)}
.hdr-unified .bell-btn.has-unread:hover{background:#ffdf6e}
.bell-btn.has-unread .bell-ico{animation:bell-ring 1.2s ease-in-out 2}
.bell-btn.has-unread .badge-count{background:#c62828;color:#fff;font-weight:700}
/* 12 ноября 2026: «Уведомления» и «Обновить» — круглые полупрозрачные значки без подписей в вертикальной группе
   у правого края экрана, чуть выше середины; при прокрутке группа остаётся на месте. Содержимое страницы получает
   отступ справа (body.has-side-actions), чтобы значки не закрывали карточки и кнопки. */
.side-actions{position:fixed;z-index:1350;right:calc(4px + env(safe-area-inset-right));top:42%;transform:translateY(-50%);display:flex;flex-direction:column;gap:10px}
.side-actions .side-btn{position:relative;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;
  background:rgba(29,63,97,.4);color:#fff;border:1.5px solid rgba(255,255,255,.9);box-shadow:0 2px 8px rgba(0,0,0,.28);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.side-actions .side-btn:hover{background:rgba(29,63,97,.6)}
.side-actions .side-btn:active{background:rgba(29,63,97,.75)}
.side-actions .side-btn:focus-visible{outline:3px solid #ffd23f;outline-offset:2px}
.side-actions .side-btn .ico,.side-actions .bell-btn .bell-ico .ico{width:23px;height:23px;margin:0}
.side-actions .bell-btn .bell-ico{margin:0}
.side-actions .bell-btn.has-unread{background:rgba(255,210,63,.4);border-color:#fff;color:#1b2b3a;box-shadow:0 0 0 3px rgba(255,210,63,.35),0 2px 8px rgba(0,0,0,.3)}
.side-actions .bell-btn.has-unread:hover{background:rgba(255,223,110,.6)}
/* Счётчик — в верхнем правом углу кнопки, в её пределах (угол квадрата вокруг круга свободен). */
.side-actions .badge-count{position:absolute;top:0;right:0;margin:0;min-width:20px;max-width:100%;height:20px;padding:0 4px;border-radius:10px;line-height:16px;overflow:hidden;text-align:center;font-size:13px;font-weight:700;background:#c62828;color:#fff;border:2px solid #fff;box-sizing:border-box}
/* Отступ под значки (44 px + поля): только там, где содержимое доходит до правого края. */
@media (min-width:651px) and (max-width:1120px){
  body.has-side-actions:not(.courier-home) main.wrap{padding-right:calc(56px + env(safe-area-inset-right))}
  /* Карта курьера: нижняя панель во всю ширину, отступ — у её содержимого; кнопка «К моему местоположению» — левее значков.
     Верхние кнопки над картой («Профиль», «Заказы») стоят выше группы и отступа не требуют. */
  body.has-side-actions.courier-home .home-sheet{padding-right:calc(56px + env(safe-area-inset-right))}
  body.has-side-actions.courier-home .recenter{margin-right:58px}
}
/* 12 ноября 2026, телефон (до 650 px): без колонки справа — содержимое во всю ширину с одинаковыми полями 12 px.
   Значки — узкие «язычки» 24 × 44 у самого края: поле страницы 12 px + поле карточки 12 px + рамка = 25 px до текста,
   поэтому язычки не заходят на текст и кнопки карточек. Колокольчик сверху, «Обновить» под ним, промежуток 4 px. */
@media (max-width:650px){
  /* 12 ноября 2026 (позже, решение владельца): кнопки группы вдвое больше прежних — 48 × 88, промежуток 8 px; у курьера на карте
     третья — прицел «К моему местоположению». Карточки и плитки остаются во всю ширину, а их текст и кнопки отступают справа
     на поле под кнопки: 12 (поле страницы) + 1 (рамка) + 37 = 50 px от края — кнопка 48 px их не закрывает. */
  /* 13 ноября 2026 (решение владельца): у ресторана и курьера одинаковые кнопки — посередине между прежними 48 × 88 (ресторан)
     и 24 × 44 (курьер): 36 × 66, значок 22 px (между 26 и 17), промежуток 6 px. У курьера в группе так же и прицел. */
  .side-actions{right:env(safe-area-inset-right);gap:6px}
  .side-actions .side-btn{width:36px;height:66px;min-height:66px;border-radius:18px 0 0 18px;border-right:0;box-shadow:0 1px 5px rgba(0,0,0,.28)}
  .side-actions .side-btn .ico,.side-actions .bell-btn .bell-ico .ico{width:22px;height:22px}
  .side-actions .bell-btn.has-unread{box-shadow:0 1px 5px rgba(0,0,0,.3)}
  .side-actions .badge-count{top:-2px;right:2px;min-width:19px;max-width:32px;height:19px;padding:0 3px;line-height:15px;font-size:12px}
  /* Карта курьера: группа сразу под верхними кнопками «Профиль» / «Заказы», над картой. */
  body.courier-home .side-actions{top:calc(var(--hdr-h,0px) + 72px);transform:none}
  /* Поле справа под кнопки у всего, что доходит до правого края: карточки, панели, плашки, подсказки, вкладки, меню профиля,
     нижняя панель карты курьера. Подпись OpenStreetMap — у левого края карты. */
  article.card,.card,.panel,.stat,form.box,.notice,.prep-queue{padding-right:37px}
  .prefs-note,main.wrap .screen > p.meta{padding-right:37px}
  /* Фильтры и выбор над списком (администратор): поля и кнопки не доходят до кнопок группы. */
  main.wrap .filters{padding-right:37px}
  /* Строки-заголовки разделов с кнопкой справа («Заявки … · Добавить курьера»). */
  main.wrap .top{padding-right:37px}
  /* Блоки статистики уже из-за поля справа: длинное значение («не рассчитано», «hisoblanmagan») переносится внутри блока. */
  .stat b{overflow-wrap:anywhere}
  main.wrap .fee-note:not(article.card .fee-note):not(.panel .fee-note){padding:8px 38px 8px 14px}
  main.wrap .hint:not(article.card .hint):not(.panel .hint):not(.stat .hint){padding-right:37px}
  .profile-list{padding:0 36px 0 12px}
  nav.tabs{padding-right:37px}
  .profile-row{padding-left:2px;padding-right:2px}
  body.courier-home .home-sheet{padding-right:50px}
  [data-testid=home-map] .leaflet-top.leaflet-right,[data-testid=courier-map] .leaflet-bottom.leaflet-right{right:auto;left:0}
}
/* 12 ноября 2026: «Текущие» ресторана на телефоне — сетка плиток, две в ряд (1 и 2 сверху, 3 и 4 ниже …), в порядке списка.
   Плитка: синий треугольник с порядковым номером, крупный «№», цветной статус, адрес доставки в две строки, «Подробнее» внизу —
   кнопки одного ряда на одной линии. Раскрытая карточка занимает весь ряд и показывает прежние детали со всеми действиями. */
/* 13 ноября 2026: обратный отсчёт до готовности в правом верхнем углу карточки курьера; на нуле — красное 00:00. */
article.card.has-timer{position:relative}
.prep-timer{position:absolute;top:10px;right:12px;z-index:1;padding:4px 7px;border-radius:8px;background:#e6f0fb;color:#173b5f;
  font-size:17px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:.3px;pointer-events:none}
.prep-timer.is-zero{background:#c62828;color:#fff}
article.card.has-timer .card-head-row{padding-right:78px}
@media (max-width:650px){
  .prep-timer{right:37px}
  /* Плитка: «№…» слева, таймер справа в той же строке; статус ниже — во всю ширину. */
  .cur-grid > article.card.has-timer:not(.open) .card-head-row{padding-right:0}
  .cur-grid > article.card.has-timer:not(.open) .tile-no{padding-right:62px}
  .cur-grid > article.card.has-timer:not(.open) .prep-timer{top:12px;font-size:15px;padding:4px 5px}
}
.card-idx,.tile-no,.tile-addr{display:none}
@media (max-width:650px){
  .grid.cur-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:stretch}
  .cur-grid > article.card{position:relative;margin:0;min-width:0}
  .cur-grid > article.card.open{grid-column:1/-1}
  .cur-grid .card-idx{display:block;position:absolute;top:0;left:0;width:32px;height:32px;padding:3px 0 0 5px;box-sizing:border-box;
    background:#2f74b5;color:#fff;clip-path:polygon(0 0,100% 0,0 100%);border-top-left-radius:13px;font-size:12px;font-weight:800;line-height:1.1;pointer-events:none}
  .cur-grid > article.card.open .card-head-row{padding-left:16px}
  .cur-grid > article.card:not(.open) .tile-no{padding-left:16px}
  .cur-grid > article.card:not(.open){display:flex;flex-direction:column;padding:12px 37px 12px 12px}
  .cur-grid:not(.one-col) > article.card:not(.open) > :not(.card-sum):not(.card-idx):not(.card-more):not(.card-top-bar){display:none}
  /* 13 ноября 2026: «Подробнее» и «Готово» вверху плитки, под треугольником с номером — отступ слева */
  .cur-grid > article.card .card-top-bar{padding-left:16px}
  .cur-grid > article.card:not(.open) .card-top-bar{flex-direction:column;align-items:stretch;margin-right:-25px}
  .cur-grid > article.card:not(.open) .card-top-bar > *{justify-content:center;margin-top:0;padding:6px 4px;font-size:15px}
  .cur-grid > article.card:not(.open) .card-sum{display:flex;flex-direction:column;flex:1;min-width:0}
  .cur-grid > article.card:not(.open) .card-head-row{flex-direction:column;align-items:flex-start;gap:6px}
  .cur-grid > article.card:not(.open) .card-head-row .card-top{margin-left:0;display:flex;flex-wrap:wrap;gap:4px}
  .cur-grid > article.card:not(.open) .card-top .badge{white-space:normal;text-align:left;font-size:15px;line-height:1.25}
  /* В плитке из шапки — только статус; «Передать» и пометки передачи — в «Подробнее». */
  .cur-grid > article.card:not(.open) .card-top > :not([data-testid=status]):not([data-testid=ready-badge]){display:none}
  .cur-grid > article.card:not(.open) .card-top > .badge{margin-left:0}
  /* «Заказ №…» остаётся для чтения с экрана, видимым — крупный «№…». */
  .cur-grid > article.card:not(.open) .order-no{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;margin:0}
  .cur-grid > article.card:not(.open) .tile-no{display:block;font-size:26px;font-weight:800;line-height:1.1;color:#112232;letter-spacing:-.3px}
  .cur-grid > article.card:not(.open) .card-table{display:none}
  .cur-grid > article.card:not(.open) .tile-addr{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;
    margin:8px 0 10px;font-size:16px;font-weight:600;line-height:1.3;color:#112232;overflow-wrap:anywhere}
  .cur-grid > article.card:not(.open) .card-toggle{margin-top:auto;align-self:stretch;justify-content:center;padding:6px 4px;font-size:15px}
}
/* 14 ноября 2026: «Карты и расходы» — карта с исчерпанным лимитом в окне «Маршрут» видна, но приглушена. */
a.map-off{opacity:.5;text-decoration:line-through}
[data-testid^=maps-actions-]{align-items:center}
/* 14 ноября 2026: плитки заказов — чёткая граница на любом экране («Текущие» и «История» ресторана, списки курьера, «Все заказы»). */
.cur-grid > article.card{border:1.5px solid #9fb0c0;box-shadow:0 1px 3px rgba(17,34,50,.08)}
/* Курьер, «Мои доставки» и «Доступные»: на телефоне один столбец. Видно «Откуда / Куда», статус, оплату и кнопки этапа. */
@media (max-width:650px){
  .grid.cur-grid.one-col{grid-template-columns:minmax(0,1fr)}
  .cur-grid.one-col > article.card:not(.open) .card-table{display:grid;margin:4px 0}
  .cur-grid.one-col > article.card:not(.open) .tile-addr{display:none}
  .cur-grid.one-col > article.card:not(.open) .card-head-row{flex-direction:row;align-items:center;flex-wrap:wrap}
  /* Таймер приготовления в правом верхнем углу: номер и статус его не заходят. */
  .cur-grid.one-col > article.card.has-timer:not(.open) .card-head-row{padding-right:70px}
  .cur-grid.one-col > article.card.has-timer:not(.open) .tile-no{padding-right:0}
  .cur-grid.one-col > article.card:not(.open) .card-toggle{align-self:flex-start;margin-top:6px;padding:6px 14px}
  .cur-grid.one-col > article.card:not(.open) .card-main-actions{margin-top:8px}
}
/* Узкий телефон: в плитке «Подробнее» без стрелки, чтобы слово помещалось целиком. */
@media (max-width:360px){
  .cur-grid > article.card:not(.open) .card-toggle .chev{display:none}
}
@keyframes bell-ring{0%,100%{transform:rotate(0)}20%{transform:rotate(-14deg)}40%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}80%{transform:rotate(5deg)}}
@media (prefers-reduced-motion: reduce){.bell-btn.has-unread .bell-ico{animation:none}}
/* 11 ноября 2026 (ночь): мелкие надписи и цифры крупнее — удобно читать на телефоне. Номер заказа (28 px) остаётся крупнее всего.
   Компьютер: самые мелкие 12 px → 13 px. Телефон (до 650 px): 12–14 px → 15–16 px; кнопки и строки не растут по высоте сверх нужного. */
.badge-count,.badge,.foot,.tool-btn,ol.plain-stops li>div,.courier-board small,.test-pill{font-size:13px}
@media (max-width:650px){
  .who,.hdr-who,.notice,.lastreq,.history,.hint,.fee-note,.test-mark,.test-box,.stat span,.photo-view figcaption,.foot,.courier-board small,ol.plain-stops li>div,.tool-btn,.test-pill{font-size:15px}
  .banner,.unconfirmed h3,.unc-row,.route-steps,.meta,.pending,label,.err-text,table,.notes li,.finance,.quote,ul.plain,.state-chip,.trip,.courier-board .board-head,.courier-board .board-list,.loc-request .link-box,.update-note.in-dialog,.bdot-tip{font-size:16px}
  button.small,.hdr-unified .hdr-btn{font-size:15px}
  .open-toggle{font-size:14px}
  .badge,.badge-count{font-size:14px;min-width:22px}
  .badge{padding:2px 8px}
  .stop-pin{font-size:15px}
  .meta,.hint,.fee-note{line-height:1.4}
}
/* 11 ноября 2026 (ночь): готовность еды. Готовится — жёлтый; время вышло, ждём ресторан — оранжевый контур; готов к выдаче — зелёный. */
.ready-wrap{margin:10px 0 4px}
.ready-wrap input{max-width:12em}
.prep-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 0;padding:8px 10px;border-radius:10px;border:1px solid #d9dee3;background:#f6f8fa;font-size:16px;line-height:1.35}
.prep-line .prep-text{flex:1 1 12em;min-width:0}
.prep-dot{width:12px;height:12px;border-radius:50%;flex:none;background:#b9c0c7}
.prep-cooking{background:#fff6cf;border-color:#f0c419}
.prep-cooking .prep-dot{background:#f5c518}
.prep-overdue{background:#fff1e0;border-color:#e08a00}
.prep-overdue .prep-dot{background:transparent;border:3px solid #e08a00;box-sizing:border-box}
.prep-ready{background:#e3f6ea;border-color:#1e9e55}
.prep-ready .prep-dot{background:#1e9e55}
.prep-ready [data-testid=prep-state]{color:#146b39;font-weight:700}
.prep-line .prep-ready-btn{min-height:44px;font-size:15px}
/* Очередь приготовления курьера: лёгкий полупрозрачный фон, по строке на заказ. Телефон — над карточками; широкий экран — справа. */
.prep-queue{background:rgba(47,116,181,.08);border:1px solid rgba(47,116,181,.25);border-radius:12px;padding:8px 12px;margin:0 0 12px}
.prep-queue h3{margin:0 0 6px;font-size:16px}
.pq-list{list-style:none;margin:0;padding:0}
.pq-row{display:grid;grid-template-columns:14px auto minmax(0,1fr);grid-template-areas:"dot no state" ". time time";align-items:center;column-gap:8px;row-gap:2px;padding:6px 8px;margin:3px 0;border-radius:8px;background:rgba(255,255,255,.65);font-size:15px}
.pq-row .prep-dot{grid-area:dot}.pq-row .pq-no{grid-area:no}.pq-row .pq-state{grid-area:state}.pq-row .pq-time{grid-area:time}
.pq-row .pq-no{font-size:16px}
.pq-row .pq-time{color:#3c4a57;min-width:0;overflow-wrap:anywhere}
.pq-row .pq-state{font-weight:700;text-align:right;overflow-wrap:anywhere}
.pq-row.prep-cooking{background:rgba(245,197,24,.28)}
.pq-row.prep-cooking .pq-no,.pq-row.prep-cooking .pq-state{color:#6b5200}
.pq-row.prep-overdue{background:rgba(224,138,0,.16)}
.pq-row.prep-overdue .pq-state{color:#8a4f00}
.pq-row.prep-ready{background:rgba(30,158,85,.2)}
.pq-row.prep-ready .pq-no,.pq-row.prep-ready .pq-state{color:#146b39}
.pq-sub{margin:8px 0 2px;font-size:14px;color:#4b5966;font-weight:600}
.pq-note{margin:6px 0 0;font-size:13px;color:#56636f}
@media (min-width:1000px){.prep-queue{float:right;width:320px;margin:0 0 12px 16px;position:sticky;top:12px}}
@media (max-width:650px){.pq-note{font-size:14px}.pq-row{font-size:16px}
  /* Поле справа под кнопки группы 48 px (12 ноября 2026). */
  section.prep-queue{padding-right:37px}}
/* Метка «Тест» над картой курьера остаётся компактной: верхний ряд «Профиль · Тест · Заказы» не переносится на узком экране. */
@media (max-width:650px){.home-top .test-pill{font-size:12px}}
/* Сообщение над картой курьера — только текст: компактное и не перехватывает нажатия, кнопки карты под ним остаются доступны. */
.courier-home #banner{pointer-events:none;font-size:15px;padding:8px 12px;line-height:1.35}
/* Строка «Имя · роль» рядом с переключателем «Работаем / Не работаем» помещается целиком (14 / 13 px, как до увеличения шрифта). */
@media (max-width:650px){.hdr-unified .hdr-who{font-size:14px}.hdr-unified .open-toggle{font-size:13px}}
/* Длинная метка (например, узбекский на 320 px) переносится внутри рамки, а не вылезает из неё. */
@media (max-width:650px){.badge{white-space:normal;max-width:100%;overflow-wrap:anywhere;text-align:center}}
/* 12 ноября 2026: фон значков «Уведомления» и «Обновить» прозрачен на 60% (альфа 0,4). Значки остаются чёткими на любом фоне:
   белый рисунок с тёмной обводкой; на жёлтом (есть непрочитанные) — тёмный рисунок со светлой обводкой; счётчик — сплошной красный. */
.side-actions .side-btn .ico{filter:drop-shadow(0 0 1px rgba(0,0,0,.95)) drop-shadow(0 1px 1.5px rgba(0,0,0,.6));stroke-width:2.4}
.side-actions .bell-btn.has-unread .ico{filter:drop-shadow(0 0 1px rgba(255,255,255,.95))}
/* Правая часть заголовка карточки («Передать», состояние) прижата вправо и при переносе на узком экране. */
article.card .card-head-row .card-top{margin-left:auto}
/* Строка черновиков на телефоне — в одну строку при отступе под значки справа. */
@media (max-width:650px){details.loc-drafts > summary{font-size:16px;gap:6px;padding:10px 12px}}
/* 12 ноября 2026: строка телефона в раскрытой карточке — номер слева, «Позвонить» с этим же номером прижата вправо. */
.contacts .contact-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.contacts .contact-row .call-btn{margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 12px;background:var(--green);color:#fff;border-color:var(--green);font-weight:700}
.contacts .contact-row .call-btn .ico{width:18px;height:18px}
/* 13 ноября 2026: кабинет ресторана — вместо «Доставка сейчас» одна строка «Курьеров на смене: N». */
.panel.couriers-on-shift{padding:8px 14px;margin-bottom:10px;font-size:15px;font-weight:600;color:#1d3f61}
/* 13 ноября 2026: «Заказы» курьера — над списком одна компактная строка «Ресторанов в сети: N». */
.panel.restaurants-online{padding:8px 14px;margin-bottom:10px;font-size:15px;font-weight:600;color:#1d3f61}
/* 13 ноября 2026: форма «Новый заказ» — отметка об оплате, «Дополнительно». */
.payment-row{display:flex;align-items:center;gap:8px;margin:10px 0 4px;font-size:16px}
.payment-row .check{width:22px;height:22px;flex:none}
.payment-row [data-testid=payment-label]{font-weight:700}
dialog .more-fields{margin:12px 0;border:1px solid var(--line);border-radius:10px;padding:6px 12px}
dialog .more-fields > summary{cursor:pointer;font-weight:600;min-height:40px;display:flex;align-items:center}
dialog .distance-line{margin-top:6px}
.trip.payment-collect b{color:#a43232}
.trip.payment-paid b{color:#1e7f46}
/* 13 ноября 2026: строка «Курьер» у ресторана — имя, рабочий номер, трубка (tel:) и конверт (sms:); значки — квадраты 44 × 44. */
.contacts .courier-contact .contact-name{font-weight:800}
/* Телефон: «Курьер:» и имя — первая строка, номер, трубка и конверт — вторая, в одну линию. */
@media (max-width:650px){.contacts .courier-contact .contact-name{flex-basis:100%}}
.contacts .courier-contact .contact-icons{margin-left:auto;display:inline-flex;gap:8px}
.contacts .courier-contact .icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:0;border-radius:10px;font-weight:700}
.contacts .courier-contact .icon-btn .ico{width:22px;height:22px;margin:0}
.contacts .courier-contact [data-testid=call-courier]{background:var(--green);border-color:var(--green);color:#fff}
.contacts .courier-contact [data-testid=sms-courier]{background:#2f74b5;border-color:#2f74b5;color:#fff}
@media (max-width:650px){.contacts .contact-row .contact-label{flex-basis:100%}.contacts .contact-row .call-btn{min-width:44px;min-height:44px;justify-content:center;padding:0 12px}.contacts .contact-row .call-btn span{display:none}.contacts .contact-row .call-btn .ico{width:22px;height:22px}}
