/* Мобильная стилизация (mobile-first). Расширяется на Шаге 6. */
* { box-sizing: border-box; }
body {
  font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  margin: 0; background: #f5f6f8; color: #1a1a1a;
}
.topbar {
  display: flex; justify-content: space-between; align-items: center;
  padding: .75rem 1rem; background: #2d6cdf; color: #fff; gap: .5rem;
}
.topbar a { color: #fff; text-decoration: none; }
.brand { font-weight: 600; font-size: 1.05rem; white-space: nowrap; }
.who { font-size: .9rem; text-align: right; }
.who a { text-decoration: underline; }
.container { max-width: 640px; margin: 0 auto; padding: 1rem; }
h1 { font-size: 1.3rem; margin: .4rem 0 .6rem; }
h2 { font-size: 1.1rem; margin: 0 0 .6rem; }
.card {
  background: #fff; border-radius: 12px; padding: 1rem; margin-bottom: 1rem;
  box-shadow: 0 1px 3px rgba(0,0,0,.08);
  display: flex; flex-direction: column; gap: .75rem;
}
label { display: flex; flex-direction: column; gap: .35rem; font-size: .95rem; }
select, input {
  font-size: 1.1rem; padding: .6rem; border: 1px solid #ccc;
  border-radius: 8px; width: 100%; background: #fff;
}
button {
  font-size: 1.1rem; padding: .75rem 1rem; border: 0; border-radius: 8px;
  background: #2d6cdf; color: #fff; font-weight: 600; cursor: pointer;
}
button:active { background: #245bc0; }
.error { color: #b00020; font-weight: 500; }
.ok { color: #0a7d33; font-weight: 600; }
.muted { color: #666; font-size: .9rem; }

/* Строка блюда в меню (сотрудник) */
.row { display: flex; align-items: center; gap: .6rem; padding: .5rem 0; border-bottom: 1px solid #eee; }
.row label { flex: 1; flex-direction: row; align-items: center; gap: .5rem; font-size: 1rem; }
.row .price { width: 72px; text-align: right; color: #333; white-space: nowrap; }
.row input[type=number] { width: 66px; padding: .4rem; }
.row input[type=checkbox] { width: 20px; height: 20px; }
.total { font-size: 1.15rem; margin: .5rem 0 0; }

/* Заказ (подтверждение/сводка) */
ul.order { list-style: none; padding: 0; margin: 0; }
ul.order li { display: flex; justify-content: space-between; gap: 1rem; padding: .45rem 0; border-bottom: 1px solid #eee; }

/* Кнопки/действия */
.actions { display: flex; gap: .6rem; align-items: center; }
a.btn { display: inline-block; text-decoration: none; text-align: center; background: #2d6cdf; color: #fff; padding: .7rem 1rem; border-radius: 8px; font-weight: 600; }
.danger { background: #b00020; }
.danger:active { background: #8e0019; }
button.small { font-size: .9rem; padding: .45rem .7rem; }
button.small.danger, .danger.small { background: #b00020; }

/* Админка */
.adminnav { display: flex; flex-wrap: wrap; gap: .5rem; margin-bottom: 1rem; }
.adminnav a { padding: .4rem .7rem; background: #e7edfb; color: #2d6cdf; border-radius: 8px; text-decoration: none; font-size: .9rem; }
.adminnav a.active { background: #2d6cdf; color: #fff; }
.inline { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; }
.inline input, .inline select { width: auto; flex: 0 1 auto; }
.itemrow, .emprow { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; padding: .6rem 0; border-bottom: 1px solid #eee; }
.itemrow .iname, .emprow .ename { flex: 1 1 100%; font-weight: 500; }
.pinput { width: 110px; }
.chk { flex-direction: row; align-items: center; gap: .4rem; font-size: .9rem; width: auto; }
.tag { font-size: .75rem; background: #e7edfb; color: #2d6cdf; padding: .1rem .4rem; border-radius: 6px; }
.tag.off { background: #fdeaea; color: #b00020; }
.dateform { display: flex; gap: .5rem; margin-bottom: 1rem; }
.dateform input { width: auto; }
