/* ===========================================================
   Courier Proxy — Mobile Skin для админки МАРА (mealty adm.php)
   Родной adm.css и menu_resizing.js вырезаются прокси.
   Этот файл — единственный источник вёрстки. Mobile-first.
   =========================================================== */

:root {
  --c-bg: #f2f3f5;
  --c-card: #ffffff;
  --c-ink: #1c1f24;
  --c-muted: #6b7280;
  --c-line: #e3e6ea;
  --c-accent: #4faf3f;        /* зелёный логотипа МИЛТИ */
  --c-accent-dark: #3d9130;
  --c-accent-ink: #ffffff;
  --c-chip: #eef1f4;
  --radius: 16px;
  --shadow: 0 1px 3px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.04);
  --tap: 48px;
  --header-h: 56px;
}

* { box-sizing: border-box !important; }

html, body {
  background: var(--c-bg) !important;
  color: var(--c-ink) !important;
  font-family: Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif !important;
  font-size: 16px !important;
  line-height: 1.45 !important;
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
  -webkit-text-size-adjust: 100% !important;
}

/* --- ГЛОБАЛЬНЫЙ СБРОС ТАБЛИЧНОЙ ВЁРСТКИ --- */
table, thead, tbody, tfoot, tr, td, th, form, div, span, select, input, textarea, a {
  max-width: 100% !important;
}
body > table,
body > table > tbody,
body > table > tbody > tr,
body > table > tbody > tr > td {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
}

/* Точечный мусор */
#resize-handle,
.resize-trapezoid,
.collapse_column,
.main_global_search { display: none !important; }
/* нижняя телеметрия MARA / IP */
body > table > tbody > tr:last-child { display: none !important; }

/* ================= ШАПКА (sticky) ================= */
.main_logo {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: var(--c-card) !important;
  color: transparent !important;
  font-size: 0 !important;
  padding: 10px 56px 10px 12px !important;      /* место под бургер справа */
  position: sticky !important; top: 0 !important; z-index: 100 !important;
  border-bottom: 1px solid var(--c-line) !important;
  height: var(--header-h) !important;
}
.main_logo::before {
  content: "" !important;
  display: block !important;
  width: 120px !important; height: 28px !important;
  background: url("/img/logo26.svg") center / contain no-repeat !important;
}
/* Кнопка-бургер (создаётся JS-ом как #cp-burger) */
#cp-burger {
  position: fixed !important;
  top: 8px !important; right: 8px !important;
  z-index: 200 !important;
  width: 42px !important; height: 42px !important;
  border: 0 !important; border-radius: 12px !important;
  background: var(--c-accent) !important; color: #fff !important;
  font-size: 22px !important; line-height: 42px !important;
  text-align: center !important; cursor: pointer !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.2) !important;
  padding: 0 !important;
}

/* "Денисов" + "Выйти" — тонкая строка, иконки-двери убираем */
.main_auth {
  display: inline-block !important;
  padding: 4px 10px !important;
  color: var(--c-muted) !important;
  font-size: 13px !important;
}
.main_auth a {
  color: var(--c-accent-dark) !important; text-decoration: none !important; font-weight: 600 !important;
  background-image: none !important; padding-left: 0 !important;
}
.main_auth a.op16 { background: transparent !important; }

/* ================= МЕНЮ — выдвижная панель (по умолчанию скрыто) ================= */
.menu-size {
  position: fixed !important;
  top: 0 !important; right: 0 !important; bottom: 0 !important;
  width: 82% !important; max-width: 320px !important;
  background: var(--c-card) !important;
  z-index: 300 !important;
  padding: 64px 8px 24px !important;
  overflow-y: auto !important;
  -webkit-overflow-scrolling: touch !important;
  box-shadow: -2px 0 16px rgba(0,0,0,.25) !important;
  transform: translateX(105%) !important;
  transition: transform .25s ease !important;
}
body.cp-menu-open .menu-size { transform: translateX(0) !important; }

/* Затемнение позади открытого меню */
body.cp-menu-open::after {
  content: "" !important;
  position: fixed !important; inset: 0 !important;
  background: rgba(0,0,0,.45) !important;
  z-index: 250 !important;
}

.menu-size > div { display: block !important; margin: 0 !important; }

/* Заголовки групп меню */
.menu-size .op16 {
  display: block !important;
  padding: 6px 14px !important;
  margin: 2px 0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .3px !important;
  color: var(--c-muted) !important;
  background: transparent !important;
}
/* Пункты-ссылки — строки */
.menu-size .op16:has(a) {
  padding: 0 !important;
  margin: 4px 0 !important;
  background: var(--c-bg) !important;
  border-radius: 10px !important;
  font-weight: 500 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.menu-size .op16 a {
  display: flex !important;
  align-items: center !important;
  min-height: 44px !important;
  padding: 10px 14px !important;
  color: var(--c-ink) !important;
  text-decoration: none !important;
  font-size: 15px !important;
}
.menu-size .op16:has(a.menu_selected) { background: var(--c-accent) !important; }
.menu-size .op16 a.menu_selected { color: #fff !important; }
.menu-size .op16[style*="background-image"] {
  background-repeat: no-repeat !important;
  background-position: 14px center !important;
}
.menu-size .op16:has(a)[style*="background-image"] a { padding-left: 40px !important; }

/* ================= КОНТЕНТ (правая ячейка, помечена JS-ом .cp-content) ================= */
.cp-content {
  display: block !important;
  padding: 12px 12px 40px !important;
  color: var(--c-ink) !important;
}

/* ВСЕ вложенные таблицы контента — в одну колонку (кнопки + фильтр были 2 колонки) */
.cp-content table,
.cp-content thead,
.cp-content tbody,
.cp-content tr,
.cp-content td {
  display: block !important;
  width: 100% !important;
  border: 0 !important;
  float: none !important;
  vertical-align: top !important;
}
.cp-content > table > tbody > tr > td { padding: 0 !important; }

/* WELCOME текст по центру */
.cp-content:not(:has(table)):not(:has(form)) {
  text-align: center !important; font-size: 18px !important;
  font-weight: 600 !important; padding-top: 32px !important;
}

/* ================= КНОПКИ-ОПЕРАЦИИ сверху (Добавить/Удалить/...) ================= */
/* Родная вёрстка кладёт их в float:left div-ы высотой 32px — распрямляем в сетку */
.cp-content td[valign="bottom"] {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  align-items: flex-start !important;
}
/* заголовок раздела занимает всю ширину строки */
td[valign="bottom"] > img[width="32"],
td[valign="bottom"] > b { }
td[valign="bottom"] > b {
  flex-basis: 100% !important;
  font-size: 20px !important; margin: 4px 0 8px !important;
}
td[valign="bottom"] > br { display: none !important; }
.operation-button { display: block !important; margin: 0 !important; flex: 1 1 45% !important; }
td[valign="bottom"] > div[style*="float: left"],
td[valign="bottom"] > div[style*="height: 32px"] {
  height: auto !important; float: none !important;
  display: block !important; position: static !important;
  flex: 1 1 45% !important; min-width: 140px !important;
}
.op32 {
  display: flex !important;
  align-items: center !important; justify-content: flex-start !important;
  width: 100% !important;
  min-height: 46px !important;
  padding: 10px 14px 10px 40px !important;
  font-size: 14px !important; font-weight: 600 !important;
  border: 0 !important; border-radius: 12px !important;
  background: var(--c-accent) !important; color: #fff !important;
  text-decoration: none !important; cursor: pointer !important;
  background-repeat: no-repeat !important;
  background-position: 12px center !important;
  background-size: 20px 20px !important;
}

/* ================= "В фильтре/таблице скрыты поля" — простыня ссылок ================= */
/* JS оборачивает всё в .cp-hidden-fields (закрыт) + кнопку .cp-hidden-toggle */
.cp-hidden-toggle {
  display: block !important;
  width: 100% !important;
  text-align: left !important;
  background: var(--c-chip) !important;
  color: var(--c-ink) !important;
  border: 0 !important; border-radius: 12px !important;
  padding: 12px 14px !important; margin: 8px 0 !important;
  font-size: 14px !important; font-weight: 600 !important;
  min-height: auto !important;
}
.cp-hidden-fields {
  display: none !important;
  background: var(--c-card) !important;
  border-radius: 12px !important;
  padding: 8px !important; margin: -4px 0 8px !important;
  max-height: 40vh !important; overflow-y: auto !important;
  box-shadow: var(--shadow) !important;
}
.cp-hidden-fields.cp-open { display: block !important; }
.cp-hidden-fields a {
  display: inline-block !important;
  font-size: 12px !important;
  color: var(--c-accent-dark) !important;
  background: var(--c-chip) !important;
  padding: 5px 9px !important; margin: 3px !important;
  border-radius: 8px !important; text-decoration: none !important;
  max-width: 100% !important; overflow: hidden !important;
  text-overflow: ellipsis !important; white-space: nowrap !important;
  vertical-align: middle !important;
}

/* ================= ОБЩИЕ КОНТРОЛЫ ================= */
input[type="text"], input[type="password"], select, textarea {
  width: 100% !important;
  padding: 12px 14px !important;
  font-size: 16px !important;
  border: 1.5px solid var(--c-line) !important;
  border-radius: 12px !important;
  background: #fafbfc !important;
  color: var(--c-ink) !important;
  outline: none !important;
}
input:focus, select:focus, textarea:focus {
  border-color: var(--c-accent) !important; background: #fff !important;
}
input[type="submit"], button {
  display: inline-flex !important;
  align-items: center !important; justify-content: center !important;
  min-height: var(--tap) !important;
  padding: 12px 20px !important;
  font-size: 15px !important; font-weight: 600 !important;
  border: 0 !important; border-radius: 12px !important;
  background: var(--c-accent) !important; color: #fff !important;
  cursor: pointer !important; width: auto !important;
}
input[type="checkbox"] { width: 22px !important; height: 22px !important; }

/* ================= ФОРМА ЛОГИНА ================= */
#card_f1 { max-width: 440px !important; margin: 24px auto !important; padding: 0 16px !important; }
#card_f1 table, #card_f1 tbody, #card_f1 tr, #card_f1 td {
  display: block !important; width: 100% !important; border: 0 !important; padding: 0 !important;
}
#card_f1 table {
  background: var(--c-card) !important; border-radius: 18px !important;
  box-shadow: var(--shadow) !important; padding: 22px 18px !important;
}
#card_f1 td[width="25%"] {
  color: var(--c-muted) !important; font-size: 13px !important; font-weight: 600 !important;
  margin: 16px 0 6px !important;
}
#card_f1 td[width="25%"] img { display: none !important; }
#login_op.op32 { width: 100% !important; margin-top: 20px !important; padding-left: 16px !important; }
body.cp-auth .main_auth { display: none !important; }
body.cp-auth #cp-burger { display: none !important; }

/* ================= ФИЛЬТР (форма поиска) — карточка ================= */
#main_form_f3 > table, #main_form_f2 > table, form > table.table_bottom_margin {
  display: block !important; background: var(--c-card) !important; border: 0 !important;
  border-radius: var(--radius) !important; box-shadow: var(--shadow) !important;
  margin: 10px 0 !important; padding: 12px !important;
}
#main_form_f3 tbody, #main_form_f3 tr, #main_form_f3 td,
#main_form_f2 tbody, #main_form_f2 tr, #main_form_f2 td,
.table_bottom_margin tbody, .table_bottom_margin tr, .table_bottom_margin td {
  display: block !important; border: 0 !important; padding: 3px 0 !important; width: 100% !important;
}
/* подпись фильтра */
.table_bottom_margin td:first-child { color: var(--c-muted) !important; font-size: 13px !important; font-weight: 600 !important; margin-top: 8px !important; }
/* быстрые кнопки дат (ПзВч/Вч/Сег...) */
.table_bottom_margin a[href="#"] {
  display: inline-block !important; padding: 6px 10px !important; margin: 3px 2px !important;
  background: var(--c-chip) !important; border-radius: 8px !important;
  font-size: 13px !important; color: var(--c-accent) !important; text-decoration: none !important;
}

/* ================= ТАБЛИЦА ДАННЫХ -> КАРТОЧКИ ================= */
.adm_table { display: block !important; border: 0 !important; margin: 10px 0 !important; background: transparent !important; }
.adm_table thead { display: none !important; }
.adm_table tbody { display: block !important; }
.adm_table tbody tr {
  display: block !important;
  background: var(--c-card) !important;
  border: 0 !important;
  border-radius: 12px !important;
  box-shadow: var(--shadow) !important;
  margin: 0 0 8px 0 !important;
  padding: 10px 12px !important;
}
/* ВСЕ td карточки: компактный ряд label:value */
.adm_table tbody td {
  display: block !important;
  border: 0 !important;
  padding: 1px 0 !important;
  margin: 0 !important;
  text-align: left !important;
  font-size: 14px !important;
  line-height: 1.3 !important;
  color: var(--c-ink) !important;
  position: static !important;
  background: transparent !important;
  width: 100% !important;
  white-space: normal !important;
}
.adm_table tbody td > div { display: inline !important; }
/* Подпись поля из thead (проставляет JS) — инлайн перед значением, компактно */
.adm_table tbody td[data-label]::before {
  content: attr(data-label) ": " !important;
  color: var(--c-muted) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  margin: 0 !important;
}
/* N (первый td) — крупный номер-заголовок карточки */
.adm_table tbody td:first-child {
  color: var(--c-accent-dark) !important; font-size: 15px !important; font-weight: 700 !important;
  margin-bottom: 2px !important;
}
.adm_table tbody td:first-child::before { content: "" !important; }
/* ссылки-значения внутри карточки (НЕ в блоке операций) */
.adm_table tbody td:not(.operations-cell) a { color: var(--c-accent-dark) !important; text-decoration: none !important; font-weight: 500 !important; }
/* ссылка-значение с иконкой .op16 (bullet_arrow_left) в ячейках-значениях — убираем фон-иконку */
.adm_table tbody td:not(.operations-cell) a.op16 {
  background-image: none !important;
  padding: 0 !important;
  display: inline !important;
  min-height: 0 !important;
}
.adm_table tbody td:not(.operations-cell) > div,
.adm_table tbody td:not(.operations-cell) > div > div { padding: 0 !important; display: inline !important; }
/* картинки-галочки/иконки в ячейках — не растягивать */
.adm_table tbody td img { width: 16px !important; height: 16px !important; vertical-align: middle !important; }
/* инпуты в ячейках (редактируемые таблицы: часы, ставки) */
.adm_table tbody td input[type="text"], .adm_table tbody td textarea {
  width: 100% !important; max-width: 240px !important;
}

/* Операции внутри карточки: чипы, скрываем дубль .operations-hidden */
.operations-hidden { display: none !important; }
.adm_table .operations-cell { display: block !important; margin-top: 6px !important; }
.operations {
  display: flex !important; flex-wrap: wrap !important; gap: 5px !important;
  margin-top: 4px !important; position: static !important;
}
.operations > div { padding: 0 !important; display: block !important; }
.operations .op16 {
  display: inline-flex !important; align-items: center !important;
  min-height: 34px !important; padding: 5px 10px 5px 28px !important;
  background: var(--c-chip) !important; border-radius: 8px !important;
  font-size: 12px !important; color: var(--c-ink) !important;
  background-repeat: no-repeat !important; background-position: 7px center !important;
  background-size: 14px 14px !important;
}
.operations .op16 a { color: var(--c-ink) !important; text-decoration: none !important; font-weight: 500 !important; }
/* стрелка "развернуть операции" внутри карточки — прячем (у нас уже flex-wrap) */
.operations-cell img[style*="position: absolute"] { display: none !important; }
.operations-cell > div { position: static !important; }

/* ================= ПАГИНАЦИЯ ================= */
a[href*="page="] {
  display: inline-block !important;
  min-width: 44px !important; min-height: 44px !important; line-height: 44px !important;
  text-align: center !important; margin: 4px !important;
  background: var(--c-card) !important; border-radius: 12px !important;
  box-shadow: var(--shadow) !important; color: var(--c-accent) !important; text-decoration: none !important;
  font-weight: 600 !important;
}

/* «Всего: N» и итоги — читабельно */
#group_f2, #main_f1 { display: block !important; }

img[src*="/fatcow/"] { vertical-align: middle !important; }

/* ================= СТРАНИЦА РЕДАКТИРОВАНИЯ (edit/add/copy) ================= */
/* JS ставит body.cp-edit и переносит кнопки действий в #cp-actionbar */

/* поля формы редактирования — карточки, инпуты во всю ширину */
body.cp-edit .cp-content > form > table,
body.cp-edit form table {
  background: transparent !important;
}
body.cp-edit .cp-content td {
  padding: 0 !important;
}
/* подпись поля (левый столбец 25%/label) */
body.cp-edit form tr > td:first-child {
  color: var(--c-muted) !important;
  font-size: 12px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .3px !important;
  margin: 12px 0 4px !important; padding: 0 !important;
}
body.cp-edit form tr > td:first-child img { display: none !important; }
/* значение поля во всю ширину */
body.cp-edit form input[type="text"],
body.cp-edit form input[type="password"],
body.cp-edit form input[type="number"],
body.cp-edit form select,
body.cp-edit form textarea {
  width: 100% !important; max-width: 100% !important;
}
/* сама форма-обёртка — плоская, без белой карточки в карточке */
body.cp-edit .cp-content { padding-bottom: 88px !important; } /* место под фикс-бар */

/* треугольный warning-значок сверху не жмём */
body.cp-edit img[src*="warning"], body.cp-edit img[src*="error"] { width: 24px !important; height: 24px !important; }

/* ---- Фиксированная панель действий снизу ---- */
#cp-actionbar {
  position: fixed !important;
  left: 0 !important; right: 0 !important; bottom: 0 !important;
  z-index: 500 !important;
  display: flex !important;
  gap: 6px !important;
  padding: 8px !important;
  padding-bottom: calc(8px + env(safe-area-inset-bottom, 0px)) !important;
  background: rgba(255,255,255,.98) !important;
  border-top: 1px solid var(--c-line) !important;
  box-shadow: 0 -2px 12px rgba(0,0,0,.15) !important;
  overflow: hidden !important;
  will-change: transform !important;
  transform: translateZ(0) !important;
}
#cp-actionbar .op32 {
  flex: 1 1 0 !important;        /* равные доли, все в одну строку */
  min-width: 0 !important;
  width: auto !important;
  min-height: 46px !important;
  padding: 8px 6px !important;   /* без места под иконку — прячем её ниже */
  font-size: 12px !important;
  line-height: 1.15 !important;
  text-align: center !important;
  justify-content: center !important;
  white-space: normal !important;   /* длинные надписи переносятся */
  background-image: none !important; /* убираем фон-иконку, экономим ширину */
}
/* прячем исходный блок кнопок вверху на edit (перенесён в бар) */
body.cp-edit .cp-actions-src { display: none !important; }
