/* ═══════════════════════════════════════════════════════════════
   GLZ · admin.css — кабинет, конструктор блоков и общие диалоги
   ───────────────────────────────────────────────────────────────
   Общий на все темы. Тема его не редактирует — она только задаёт
   токены, и кабинет сам подхватывает её палитру и шрифты.

   ТОКЕНЫ, КОТОРЫЕ ЖДЁТ КАБИНЕТ (у всех есть запасное значение):
     --ground --surface --surface-2 --ink --ink-2 --ink-soft
     --line --line-strong --accent --on-accent
     --ok --ok-bg --warn --warn-bg --crit --crit-bg --info --info-bg
     --r-s --r-m --shadow-s --shadow-m --shadow-l
     --r-btn  (скругление кнопок, чипов и пилюль; по умолчанию 999px —
               поставьте 0, если тема построена на прямых углах)
     --font-ui --font-display --font-mono
   ═══════════════════════════════════════════════════════════════ */

.glz-panel, .glz-gate, .glz-drawer, .glz-toast { --_t: 200ms cubic-bezier(.22,.7,.3,1); }

/* ── Кнопки, поля, чипы ─────────────────────────────────────── */
.glz-btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  min-height:38px; padding:0 18px; border:1px solid transparent; border-radius: var(--r-btn, 999px);
  font-family: var(--font-ui, system-ui, sans-serif); font-size:13.5px; font-weight:500;
  letter-spacing:.03em; text-decoration:none; cursor:pointer; white-space:nowrap;
  color: var(--ink, #222); background:transparent;
  transition: background var(--_t), color var(--_t), border-color var(--_t);
}
.glz-btn--solid{ background: var(--accent, #A8123C); color: var(--on-accent, #fff); }
.glz-btn--solid:hover{ filter: brightness(1.06); }
.glz-btn--ghost{ border-color: var(--line-strong, #ccc); }
.glz-btn--ghost:hover{ border-color: var(--accent, #A8123C); color: var(--accent, #A8123C); }
.glz-btn--sm{ min-height:34px; padding:0 14px; font-size:13px; }
.glz-btn--full{ width:100%; }
.glz-btn[disabled]{ opacity:.45; cursor:not-allowed; }
.glz-danger{ color: var(--crit, #A02A20) !important; border-color: color-mix(in oklab, var(--crit, #A02A20) 40%, transparent) !important; }
.glz-danger:hover{ background: var(--crit-bg, #F6E5E3); border-color: var(--crit, #A02A20) !important; }

.glz-iconbtn{
  width:36px; height:36px; display:grid; place-items:center; flex:0 0 auto;
  background:transparent; border:1px solid var(--line, #e2e2e2); border-radius: var(--r-btn, 999px);
  cursor:pointer; color: var(--ink, #222); font-size:19px; line-height:1;
}
.glz-iconbtn:hover{ border-color: var(--accent, #A8123C); }

.glz-inp{
  width:100%; padding:9px 12px; font-family: var(--font-ui, system-ui, sans-serif); font-size:14px;
  color: var(--ink, #222); background: var(--surface-2, #fafafa);
  border:1px solid var(--line-strong, #ccc); border-radius: var(--r-s, 6px);
}
.glz-inp:focus{ background: var(--surface, #fff); }
.glz-inp--time{ width:118px; }
select.glz-inp{ min-width:150px; }

.glz-chip{
  display:inline-flex; align-items:center; height:32px; padding:0 14px; border-radius: var(--r-btn, 999px);
  background:transparent; border:1px solid var(--line, #e2e2e2);
  font-family: var(--font-ui, system-ui, sans-serif); font-size:13px;
  color: var(--ink-soft, #777); cursor:pointer; transition: all var(--_t);
}
.glz-chip:hover{ border-color: var(--line-strong, #ccc); color: var(--ink, #222); }
.glz-chip.is-on{ background: var(--ink, #222); border-color: var(--ink, #222); color: var(--ground, #fff); }

.glz-field{ display:flex; flex-direction:column; gap:6px; }
.glz-field > label{
  font-family: var(--font-ui, system-ui, sans-serif); font-size:11px; letter-spacing:.14em;
  text-transform:uppercase; color: var(--ink-soft, #777);
}
.glz-check{
  display:flex; align-items:flex-start; gap:9px; cursor:pointer;
  font-size:14px; letter-spacing:0; text-transform:none; color: var(--ink-2, #444);
}
.glz-check input{ margin-top:2px; width:16px; height:16px; accent-color: var(--accent, #A8123C); }
.glz-err{ font-size:12.5px; color: var(--crit, #A02A20); }

.glz-form{ display:grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap:16px; max-width:640px; }
.glz-form--one{ grid-template-columns:1fr; max-width:none; }
.glz-toolbar{ display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.glz-toolbar .glz-inp{ width:auto; min-width:190px; }
.glz-actions{ display:flex; flex-wrap:wrap; gap:8px; }
.glz-grow{ flex:1; }
.glz-mt{ margin-top:16px; }
.glz-mb{ margin-bottom:12px; }
.glz-dim{ color: var(--ink-soft, #777); font-size:13.5px; }
.glz-plain{ font-family: var(--font-ui, system-ui, sans-serif) !important; }
.glz-cap{ text-transform: capitalize; }
.glz-num{ font-family: var(--font-mono, ui-monospace, monospace); font-variant-numeric: tabular-nums; white-space:nowrap; }
.glz-scroll{ overflow-x:auto; }

/* ── Вход по коду ───────────────────────────────────────────── */
.glz-gate{
  min-height:100vh; display:grid; place-items:center; padding:24px;
  background: var(--ground, #f7f7f7); font-family: var(--font-ui, system-ui, sans-serif);
}
.glz-gate__card{
  width:100%; max-width:340px; display:flex; flex-direction:column; gap:12px; text-align:center;
  padding:38px 30px; background: var(--surface, #fff);
  border:1px solid var(--line, #e2e2e2); border-radius: var(--r-m, 12px);
  box-shadow: var(--shadow-m, 0 12px 32px rgba(0,0,0,.08));
}
.glz-gate__h{ font-family: var(--font-display, Georgia, serif); font-size:26px; margin:0; color: var(--ink, #222); }
.glz-gate__sub{ font-size:14px; color: var(--ink-soft, #777); margin:0; }
.glz-gate__pin{
  width:100%; text-align:center; font-family: var(--font-mono, ui-monospace, monospace);
  font-size:24px; letter-spacing:.5em; text-indent:.5em; padding:11px;
  color: var(--ink, #222); background: var(--surface-2, #fafafa);
  border:1px solid var(--line-strong, #ccc); border-radius: var(--r-s, 6px);
}
.glz-gate__back{ font-size:13px; color: var(--ink-soft, #777); text-decoration:none; }

/* ── Каркас кабинета ────────────────────────────────────────── */
.glz-panel{
  display:grid; grid-template-columns:240px minmax(0,1fr); min-height:100vh;
  background: var(--ground, #f7f7f7); color: var(--ink, #222);
  font-family: var(--font-ui, system-ui, sans-serif);
}
.glz-side{
  display:flex; flex-direction:column; gap:18px; padding:18px 14px;
  background: var(--surface, #fff); border-right:1px solid var(--line, #e2e2e2);
  position:sticky; top:0; height:100vh;
}
.glz-side__brand{ display:flex; flex-direction:column; line-height:1.15; padding:4px; text-decoration:none; color:inherit; }
.glz-side__brand b{ font-family: var(--font-display, Georgia, serif); font-size:17px; letter-spacing:.14em; }
.glz-side__brand i{ font-style:normal; font-size:10px; letter-spacing:.12em; text-transform:uppercase; color: var(--ink-soft, #777); }
.glz-side__nav{ display:flex; flex-direction:column; gap:2px; }
.glz-side__i{
  display:flex; align-items:center; gap:8px; width:100%; padding:10px 12px;
  border:0; border-radius: var(--r-s, 6px); background:transparent; cursor:pointer;
  text-align:left; font-size:14.5px; color: var(--ink-2, #444);
  font-family: var(--font-ui, system-ui, sans-serif);
  transition: background var(--_t), color var(--_t);
}
.glz-side__i:hover{ background: var(--surface-2, #fafafa); color: var(--ink, #222); }
.glz-side__i.is-on{
  background: color-mix(in oklab, var(--accent, #A8123C) 14%, var(--ground, #fff));
  color: var(--accent, #A8123C); font-weight:500;
}
.glz-badge{
  margin-left:auto; min-width:22px; height:20px; padding:0 6px; border-radius: var(--r-btn, 999px);
  display:grid; place-items:center; font-family: var(--font-mono, ui-monospace, monospace); font-size:11px;
  background: var(--surface-2, #fafafa); color: var(--ink-soft, #777); border:1px solid var(--line, #e2e2e2);
}
.glz-badge--hot{ background: var(--accent, #A8123C); color: var(--on-accent, #fff); border-color: var(--accent, #A8123C); }
.glz-side__foot{ margin-top:auto; display:flex; flex-direction:column; gap:10px; }
.glz-side__sync{ font-size:11.5px; color: var(--ink-soft, #777); line-height:1.4; margin:0; }

.glz-work{ display:flex; flex-direction:column; min-width:0; }
.glz-work__bar{
  position:sticky; top:0; z-index:20; display:flex; align-items:center; gap:12px;
  padding:12px clamp(14px,2.2vw,26px);
  background: color-mix(in oklab, var(--ground, #f7f7f7) 90%, transparent);
  backdrop-filter: blur(12px); border-bottom:1px solid var(--line, #e2e2e2);
}
.glz-work__h{ font-family: var(--font-display, Georgia, serif); font-size:22px; margin:0; flex:1; }
.glz-work__body{ padding: clamp(14px,2.2vw,26px); display:flex; flex-direction:column; gap:20px; }

/* ── Плитки и карточки ──────────────────────────────────────── */
.glz-tiles{ display:grid; grid-template-columns: repeat(auto-fit, minmax(176px,1fr)); gap:13px; margin:0; }
.glz-tile{
  padding:16px 18px; background: var(--surface, #fff);
  border:1px solid var(--line, #e2e2e2); border-radius: var(--r-m, 12px);
  display:flex; flex-direction:column; gap:4px;
}
.glz-tile dt{ font-size:11px; letter-spacing:.14em; text-transform:uppercase; color: var(--ink-soft, #777); }
.glz-tile dd{
  margin:0; font-family: var(--font-display, Georgia, serif); font-size:30px;
  font-variant-numeric: tabular-nums; line-height:1.1;
}
.glz-tile__sub{ font-size:12.5px; color: var(--ink-soft, #777); margin:0; }
.glz-tile--accent{
  border-color: color-mix(in oklab, var(--accent, #A8123C) 40%, transparent);
  background: color-mix(in oklab, var(--accent, #A8123C) 7%, var(--ground, #fff));
}
.glz-tile--accent dd{ color: var(--accent, #A8123C); }

.glz-card{ background: var(--surface, #fff); border:1px solid var(--line, #e2e2e2); border-radius: var(--r-m, 12px); overflow:hidden; }
.glz-card__h{
  display:flex; align-items:center; gap:12px; flex-wrap:wrap;
  padding:13px 17px; border-bottom:1px solid var(--line, #e2e2e2); background: var(--surface-2, #fafafa);
}
.glz-card__h h2{ font-family: var(--font-ui, system-ui, sans-serif); font-size:16.5px; font-weight:500; margin:0; flex:1; }
.glz-card__b{ padding:15px 17px; }
.glz-card__b--flush{ padding:0; }

.glz-empty{ padding:36px 22px; text-align:center; color: var(--ink-soft, #777); display:flex; flex-direction:column; align-items:center; gap:10px; }
.glz-empty__m{ font-family: var(--font-display, Georgia, serif); font-size:19px; color: var(--ink, #222); margin:0; }
.glz-empty p{ font-size:14px; max-width:42ch; margin:0; }

/* ── Статусы ────────────────────────────────────────────────── */
.glz-pill{
  display:inline-flex; align-items:center; gap:6px; height:23px; padding:0 10px;
  border-radius: var(--r-btn, 999px); font-size:11.5px; letter-spacing:.03em; white-space:nowrap; border:1px solid transparent;
}
.glz-pill::before{ content:""; width:5px; height:5px; border-radius:50%; background: currentColor; }
.glz-pill--new{ background: var(--info-bg, #E6ECF5); color: var(--info, #3B5C8A); }
.glz-pill--confirmed{ background: var(--ok-bg, #E6F0EA); color: var(--ok, #2E6A4F); }
.glz-pill--done{ background: var(--surface-2, #fafafa); color: var(--ink-soft, #777); border-color: var(--line, #e2e2e2); }
.glz-pill--cancelled{ background: var(--crit-bg, #F6E5E3); color: var(--crit, #A02A20); }
.glz-pill--noshow{ background: var(--warn-bg, #F7EEDD); color: var(--warn, #96660F); }

/* ── Таблица ────────────────────────────────────────────────── */
.glz-tbl{ width:100%; border-collapse:collapse; min-width:720px; }
.glz-tbl th{
  text-align:left; font-size:10.5px; letter-spacing:.14em; text-transform:uppercase;
  color: var(--ink-soft, #777); font-weight:500; padding:10px 14px; white-space:nowrap;
  border-bottom:1px solid var(--line, #e2e2e2); background: var(--surface-2, #fafafa);
}
.glz-tbl td{ padding:11px 14px; border-bottom:1px solid var(--line, #e2e2e2); font-size:14px; vertical-align:top; }
.glz-tbl tbody tr{ cursor:pointer; transition: background 140ms; }
.glz-tbl tbody tr:hover{ background: var(--surface-2, #fafafa); }
.glz-who b{ display:block; font-size:14.5px; }
.glz-who span{ font-family: var(--font-mono, ui-monospace, monospace); font-size:12px; color: var(--ink-soft, #777); }

/* ── Месячный календарь ─────────────────────────────────────── */
.glz-mcal{
  display:grid; grid-template-columns: repeat(7, minmax(0,1fr)); gap:1px; min-width:660px;
  background: var(--line, #e2e2e2); border:1px solid var(--line, #e2e2e2);
  border-radius: var(--r-m, 12px); overflow:hidden;
}
.glz-mcal__dow{
  background: var(--surface-2, #fafafa); padding:8px 10px; font-size:10.5px;
  letter-spacing:.12em; text-transform:uppercase; color: var(--ink-soft, #777);
}
.glz-mcal__c{
  background: var(--surface, #fff); min-height:102px; padding:8px; cursor:pointer;
  display:flex; flex-direction:column; gap:4px; border:0; text-align:left;
  font-family: var(--font-ui, system-ui, sans-serif); color: var(--ink, #222);
  transition: background 140ms;
}
.glz-mcal__c:hover{ background: var(--surface-2, #fafafa); }
.glz-mcal__c.is-off{ background: var(--ground, #f7f7f7); color: var(--ink-soft, #777); cursor:default; }
.glz-mcal__c.is-out{ background: var(--ground, #f7f7f7); opacity:.45; }
.glz-mcal__c.is-sel{ box-shadow: inset 0 0 0 2px var(--accent, #A8123C); }
.glz-mcal__n{ font-family: var(--font-mono, ui-monospace, monospace); font-size:13px; font-variant-numeric: tabular-nums; }
.glz-mcal__c.is-today .glz-mcal__n{ color: var(--accent, #A8123C); font-weight:600; }
.glz-mcal__ev{
  font-size:11.5px; padding:3px 6px; border-radius:4px; overflow:hidden;
  text-overflow:ellipsis; white-space:nowrap;
  background: color-mix(in oklab, var(--accent, #A8123C) 14%, var(--ground, #fff));
  color: var(--accent, #A8123C); border-left:2px solid var(--accent, #A8123C);
}
.glz-mcal__ev.s-cancelled{ background: var(--surface-2, #fafafa); color: var(--ink-soft, #777); border-left-color: var(--ink-soft, #777); text-decoration: line-through; }
.glz-mcal__ev.s-done{ background: var(--surface-2, #fafafa); color: var(--ink-soft, #777); border-left-color: var(--ok, #2E6A4F); }
.glz-mcal__more{ font-size:11px; color: var(--ink-soft, #777); }

/* ── Лента дня ──────────────────────────────────────────────── */
.glz-day{ display:grid; grid-template-columns:60px minmax(0,1fr); position:relative; }
.glz-day__h{
  font-family: var(--font-mono, ui-monospace, monospace); font-size:12px; color: var(--ink-soft, #777);
  padding-right:10px; text-align:right; height:56px; border-top:1px solid var(--line, #e2e2e2);
}
.glz-day__lane{ border-top:1px solid var(--line, #e2e2e2); height:56px; }
.glz-day__over{ position:absolute; left:60px; right:0; top:0; bottom:0; pointer-events:none; }
.glz-day__rel{ position:relative; height:100%; pointer-events:auto; }
.glz-day__ev{
  position:absolute; left:6px; right:6px; cursor:pointer; overflow:hidden;
  border-radius: var(--r-s, 6px); padding:6px 10px; text-align:left;
  display:flex; flex-direction:column; gap:2px;
  font-family: var(--font-ui, system-ui, sans-serif); color: var(--ink, #222);
  background: color-mix(in oklab, var(--accent, #A8123C) 14%, var(--ground, #fff));
  border:1px solid color-mix(in oklab, var(--accent, #A8123C) 40%, transparent);
  border-left:3px solid var(--accent, #A8123C);
}
.glz-day__ev:hover{ box-shadow: var(--shadow-m, 0 8px 24px rgba(0,0,0,.1)); }
.glz-day__ev b{ font-size:13.5px; }
.glz-day__ev span{ font-family: var(--font-mono, ui-monospace, monospace); font-size:11.5px; color: var(--ink-soft, #777); }
.glz-day__ev.s-cancelled{ opacity:.6; border-left-color: var(--ink-soft, #777); background: var(--surface-2, #fafafa); }
.glz-day__ev.s-done{ border-left-color: var(--ok, #2E6A4F); background: var(--surface-2, #fafafa); }

/* ── Выдвижная карточка ─────────────────────────────────────── */
.glz-drawer{ position:fixed; inset:0; z-index:60; display:flex; justify-content:flex-end; font-family: var(--font-ui, system-ui, sans-serif); }
.glz-drawer__scrim{ position:absolute; inset:0; background: rgba(18,8,13,.44); animation: glzFade 180ms both; }
.glz-drawer__card{
  position:relative; width:min(420px,100%); display:flex; flex-direction:column;
  background: var(--surface, #fff); color: var(--ink, #222);
  border-left:1px solid var(--line, #e2e2e2); box-shadow: var(--shadow-l, -20px 0 60px rgba(0,0,0,.2));
  animation: glzSlide 240ms both;
}
.glz-drawer__head{ display:flex; align-items:center; gap:12px; padding:15px 17px; border-bottom:1px solid var(--line, #e2e2e2); }
.glz-drawer__head h2{ flex:1; margin:0; font-family: var(--font-display, Georgia, serif); font-size:19px; }
.glz-drawer__body{ padding:17px; overflow-y:auto; display:flex; flex-direction:column; gap:15px; }

/* сводка внутри карточки — запасные стили, если тема их не описала */
.glz-drawer__body .summary{ display:flex; flex-direction:column; margin:0; }
.glz-drawer__body .summary__row{ display:grid; grid-template-columns:104px 1fr; gap:14px; padding:11px 0; border-bottom:1px solid var(--line, #e2e2e2); }
.glz-drawer__body .summary__row dt{ font-size:10.5px; letter-spacing:.13em; text-transform:uppercase; color: var(--ink-soft, #777); padding-top:3px; }
.glz-drawer__body .summary__row dd{ margin:0; font-size:15px; }
.glz-drawer__body .summary__total{ display:flex; align-items:baseline; justify-content:space-between; padding-top:15px; }
.glz-drawer__body .summary__total b{ font-family: var(--font-display, Georgia, serif); font-size:27px; font-variant-numeric: tabular-nums; }

/* ── Тост ───────────────────────────────────────────────────── */
.glz-toast{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%); z-index:80;
  padding:11px 22px; border-radius: var(--r-btn, 999px); max-width:90vw; text-align:center;
  font-family: var(--font-ui, system-ui, sans-serif); font-size:14px;
  background: var(--ink, #222); color: var(--ground, #fff);
  box-shadow: var(--shadow-l, 0 16px 40px rgba(0,0,0,.24));
  animation: glzToast 240ms both;
}

/* ── Конструктор блоков ─────────────────────────────────────── */
.glz-bl{ font-family: var(--font-ui, system-ui, sans-serif); }
.glz-bl__fab{
  position:fixed; left:16px; bottom:16px; z-index:55;
  min-height:38px; padding:0 16px; cursor:pointer;
  border:1px solid var(--line-strong, #ccc); border-radius: var(--r-btn, 999px);
  background: var(--surface, #fff); color: var(--ink, #222);
  font-family: inherit; font-size:13.5px; font-weight:600;
  box-shadow: var(--shadow-m, 0 10px 28px rgba(0,0,0,.12));
}
.glz-bl__fab:hover{ border-color: var(--accent, #A8123C); color: var(--accent, #A8123C); }

.glz-bl__panel{
  position:fixed; left:16px; bottom:64px; z-index:56; width:min(360px, calc(100vw - 32px));
  max-height:min(70vh, 560px); display:flex; flex-direction:column;
  background: var(--surface, #fff); color: var(--ink, #222);
  border:1px solid var(--line, #e2e2e2); border-radius: var(--r-m, 12px);
  box-shadow: var(--shadow-l, 0 24px 60px rgba(0,0,0,.28));
  animation: glzRise 180ms cubic-bezier(.22,.7,.3,1) both;
}
@keyframes glzRise{ from{ opacity:0; transform:translateY(8px) } to{ opacity:1; transform:none } }

.glz-bl__head{ display:flex; align-items:center; gap:10px; padding:13px 15px; border-bottom:1px solid var(--line, #e2e2e2); }
.glz-bl__head b{ flex:1; font-size:15px; }
.glz-bl__x{ width:28px; height:28px; display:grid; place-items:center; cursor:pointer; font-size:18px; line-height:1;
  background:transparent; border:1px solid var(--line, #e2e2e2); border-radius: var(--r-btn, 999px); color: var(--ink, #222); }
.glz-bl__hint{ margin:0; padding:11px 15px; font-size:12.5px; color: var(--ink-soft, #777); border-bottom:1px solid var(--line, #e2e2e2); }

.glz-bl__list{ margin:0; padding:6px; list-style:none; overflow-y:auto; flex:1; display:flex; flex-direction:column; gap:3px; }
.glz-bl__i{
  display:grid;
  grid-template-columns: 14px minmax(0,1fr) auto;
  grid-template-rows: auto auto;
  align-items:center; gap:3px 8px;
  padding:8px 9px; border-radius: var(--r-s, 6px); background: var(--surface-2, #fafafa);
}
.glz-bl__i.is-off{ opacity:.55; }
.glz-bl__grip{ grid-column:1; grid-row:1/3; color: var(--ink-soft, #777); font-size:13px; cursor:default; }
.glz-bl__n{
  grid-column:2; grid-row:1; justify-self:start;
  font-size:14px; font-weight:600; max-width:100%;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.glz-bl__v{
  grid-column:2; grid-row:2; justify-self:start; max-width:100%;
  font-family: inherit; font-size:12px; padding:3px 6px; color: var(--ink-2, #444);
  background: var(--surface, #fff); border:1px solid var(--line, #e2e2e2); border-radius: var(--r-s, 6px);
}
.glz-bl__v--none{ border-color:transparent; background:transparent; color: var(--ink-soft, #777); padding-left:0; }
.glz-bl__act{ grid-column:3; grid-row:1/3; display:flex; align-items:center; gap:4px; }
.glz-bl__act button{
  min-width:26px; height:26px; padding:0 7px; cursor:pointer; font-family: inherit; font-size:12px;
  background: var(--surface, #fff); color: var(--ink-2, #444);
  border:1px solid var(--line, #e2e2e2); border-radius: var(--r-s, 6px);
}
.glz-bl__act button:hover{ border-color: var(--accent, #A8123C); color: var(--accent, #A8123C); }
.glz-bl__act button[data-bl="eye"]{ font-size:11px; }
.glz-bl__act button[aria-pressed="false"]{ background: var(--surface-2, #fafafa); color: var(--ink-soft, #777); }

.glz-bl__foot{ display:flex; align-items:center; gap:8px; padding:11px 15px; border-top:1px solid var(--line, #e2e2e2); background: var(--surface-2, #fafafa); }
.glz-bl__count{ flex:1; font-size:12px; color: var(--ink-soft, #777); }
.glz-bl__btn{
  min-height:32px; padding:0 13px; cursor:pointer; font-family: inherit; font-size:13px; font-weight:600;
  background: var(--surface, #fff); color: var(--ink, #222);
  border:1px solid var(--line-strong, #ccc); border-radius: var(--r-btn, 999px);
}
.glz-bl__btn--go{ background: var(--accent, #A8123C); color: var(--on-accent, #fff); border-color: var(--accent, #A8123C); }

@media (max-width: 560px){
  .glz-bl__panel{ left:8px; right:8px; bottom:60px; width:auto; }
  .glz-bl__fab{ left:8px; bottom:8px; }
}

@keyframes glzFade{ from{opacity:0} to{opacity:1} }
@keyframes glzSlide{ from{ transform:translateX(24px); opacity:0 } to{ transform:none; opacity:1 } }
@keyframes glzToast{ from{ opacity:0; transform:translate(-50%,10px) } to{ opacity:1; transform:translate(-50%,0) } }

/* ── Адаптив ────────────────────────────────────────────────── */
@media (min-width: 901px){ .glz-iconbtn--menu{ display:none; } }
@media (max-width: 900px){
  .glz-panel{ grid-template-columns:1fr; }
  .glz-side{
    position:fixed; z-index:50; left:0; top:0; width:250px;
    transform:translateX(-102%); transition:transform 240ms cubic-bezier(.22,.7,.3,1);
    box-shadow: var(--shadow-l, 20px 0 60px rgba(0,0,0,.2));
  }
  .glz-side.is-open{ transform:none; }
  .glz-form{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce){
  .glz-drawer__scrim, .glz-drawer__card, .glz-toast{ animation-duration:1ms !important; }
  .glz-btn, .glz-chip, .glz-side__i, .glz-mcal__c, .glz-tbl tbody tr{ transition-duration:1ms !important; }
}
