/* Жидкое стекло — фильтры, поля, отметки, календарь, строки листов. Общая основа — site/glass.css и site/glass.js.
   Белые карточки — без стекла; новые :hover — внутри @media (hover: hover).
   Меняем только поверхность: фон, рамку, тени, ::before/::after. Размеры и отступы — из app.css. */

:root {
  --glc-chip: rgba(255, 255, 255, .06);            /* выпуклое стекло чипа */
  --glc-chip-hover: rgba(255, 255, 255, .1);
  --glc-chip-drop: 0 4px 10px -6px rgba(0, 0, 0, .45);
  --glc-on: rgba(204, 75, 12, .3);                 /* выбранный фильтр: приглушённое оранжевое стекло */
  --glc-on-edge: rgba(204, 75, 12, .6);
  --glc-shine: linear-gradient(180deg, rgba(255, 255, 255, .14), rgba(255, 255, 255, 0) 55%);
  --glc-well: rgba(0, 0, 0, .2);                   /* вдавленное стекло поля */
  --glc-well-top: rgba(0, 0, 0, .4);
  --glc-well-side: rgba(255, 255, 255, .05);
  --glc-well-bot: rgba(255, 255, 255, .11);
  --glc-well-shade: inset 0 1px 2px rgba(0, 0, 0, .3);
  --glc-row: rgba(255, 255, 255, .07);             /* подсветка строки */
}
[data-theme="light"] {
  --glc-chip: rgba(255, 255, 255, .5);
  --glc-chip-hover: rgba(255, 255, 255, .75);
  --glc-chip-drop: 0 4px 10px -6px rgba(17, 24, 39, .18);
  --glc-on: rgba(204, 75, 12, .13);
  --glc-on-edge: rgba(204, 75, 12, .42);
  --glc-shine: linear-gradient(180deg, rgba(255, 255, 255, .5), rgba(255, 255, 255, 0) 60%);
  --glc-well: rgba(17, 24, 39, .045);
  --glc-well-top: rgba(17, 24, 39, .16);
  --glc-well-side: rgba(17, 24, 39, .07);
  --glc-well-bot: rgba(255, 255, 255, .95);
  --glc-well-shade: inset 0 1px 2px rgba(17, 24, 39, .08);
  --glc-row: rgba(17, 24, 39, .05);
}

/* ---------- кромка-блик (как в glass.css): светлее сверху-слева и снизу-справа ---------- */
:where(.lg, .chip, .hchip, .hz, .banner, .s-more, .dp-add, .section, .lrows, .bcol, .mini-month, .row) { position: relative; }
.lg:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::after,
.chip:not(.add):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::after,
:is(.hchip, .hz, .s-more, .banner, .dp-add, .section, .lrows, .bcol, .mini-month):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::after {
  content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; padding: 1px;
  background: linear-gradient(135deg, var(--gl-rim-hi), transparent 30%, transparent 62%, var(--gl-rim-lo) 86%, var(--gl-rim-hi));
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask-composite: exclude; }
/* у чипов с рамкой 1px кромка ложится на место рамки */
:is(.lg, .chip, .hchip, .hz, .s-more):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::after {
  inset: -1px; opacity: .8; }
:is(.banner, .dp-add):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::after { opacity: .7; }
/* у групп кромка тише и мягче, по краю внутри рамки (overflow: hidden режет всё снаружи) */
:is(.section, .lrows, .mini-month):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::after {
  opacity: .55; background: linear-gradient(160deg, var(--gl-rim-hi), transparent 24%, transparent 72%, var(--gl-rim-lo)); }
.section:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::after,
.lrows:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::after { border-radius: 19px; }
.mini-month::after { border-radius: 21px; }
/* колонка канбана открыта снизу: блик сверху и гаснет к середине */
.bcol:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::after {
  inset: -1px -1px 0; opacity: .7;
  background: linear-gradient(180deg, var(--gl-rim-hi), var(--gl-rim-lo) 90px, transparent 45%); }

/* ---------- чипы и фильтры: выпуклое стекло ---------- */
:is(.lg, .chip:not(.add), .hchip, .hz, .s-more):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  border-color: transparent; background-color: var(--glc-chip);
  box-shadow: 0 0 0 .5px var(--gl-edge), var(--gl-inner), var(--glc-chip-drop); }
.s-more:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) { border-style: solid; }
@media (hover: hover) {
  :is(.lg:not(.on), .chip:not(.add):not(.on), .hchip.act, .hz:not(.on), .s-more):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):hover {
    border-color: transparent; background-color: var(--glc-chip-hover); }
}
:is(.lg:not(.on), .chip:not(.add):not(.on), .hchip.act, .hz:not(.on), .s-more):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):active:not(:disabled) {
  border-color: transparent; background-color: var(--sub-hover); }

/* выбранный фильтр — приглушённое оранжевое стекло */
.lg.on:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  background-color: var(--glc-on); background-image: var(--glc-shine);
  box-shadow: 0 0 0 .5px var(--glc-on-edge), inset 0 1px 1px rgba(255, 255, 255, .22), var(--glc-chip-drop); }
/* выбранный чип (срок, время, напоминание) — акцент, как главная кнопка, но мягче */
.chip.on:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  background-color: var(--accent); background-image: linear-gradient(180deg, rgba(255, 255, 255, .15), rgba(255, 255, 255, 0) 55%);
  box-shadow: 0 0 0 .5px rgba(0, 0, 0, .22), inset 0 1px 1px rgba(255, 255, 255, .26), 0 5px 12px -7px var(--gl-drop); }
.chip.on:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):active:not(:disabled) {
  background-color: var(--accent-hover); }
/* выбранный горизонт: цвет горизонта стоит в style, поэтому блик сверху — внутренними тенями */
.hz.on:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  box-shadow: 0 0 0 .5px rgba(0, 0, 0, .2), inset 0 1px 1px rgba(255, 255, 255, .3), inset 0 14px 14px -12px rgba(255, 255, 255, .22),
    0 5px 12px -7px var(--gl-drop); }
.chip.add:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  box-shadow: var(--gl-inner); }

/* плашки «Просрочено / Без срока», кнопки «+ Встреча / + Задача», полоса выбранного сотрудника: свой цвет + блик */
:is(.banner, .dp-add):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  background-image: var(--glc-shine); box-shadow: 0 0 0 .5px var(--gl-edge), var(--gl-inner), var(--glc-chip-drop); }
@media (hover: hover) {
  :is(.banner, .dp-add):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):hover {
    background-image: linear-gradient(180deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .04)); }
}
.person-bar { background-image: var(--glc-shine); border-color: var(--glc-on-edge);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .16), var(--glc-chip-drop); }

/* глаз «скрыть встречу»: без фона в покое, стекло под пальцем */
@media (hover: hover) {
  .eye-btn:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):hover {
    background: var(--glc-chip-hover); box-shadow: 0 0 0 .5px var(--gl-edge), var(--gl-inner); }
}
.eye-btn:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):active:not(:disabled) {
  background: var(--sub-hover); box-shadow: 0 0 0 .5px var(--gl-edge), var(--gl-inner); }

/* ---------- отметки ---------- */
.check:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  background-color: var(--glc-well); box-shadow: var(--glc-well-shade), inset 0 -1px 0 var(--glc-well-bot); }
.check.on:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  background-color: var(--ok); background-image: linear-gradient(180deg, rgba(255, 255, 255, .24), rgba(255, 255, 255, 0) 60%);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .3), 0 2px 5px -2px var(--gl-drop); }
.cal-check { box-shadow: var(--glc-well-shade); }
.cal-check.on { background-image: linear-gradient(180deg, rgba(255, 255, 255, .24), rgba(255, 255, 255, 0) 60%);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .3), 0 1px 3px -1px var(--gl-drop); }

/* ---------- поля: вдавленное стекло — темнее фона, тень сверху, светлая кромка снизу ---------- */
:is(.field-search:not(.as-btn), .search, .comment-box textarea, .area, .ep-line input.text, .time-row input):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *),
.field input.ev-input {
  background-color: var(--glc-well);
  border-color: var(--glc-well-top) var(--glc-well-side) var(--glc-well-bot);
  box-shadow: var(--glc-well-shade); }
:is(.field-search:not(.as-btn):focus-within, .search:focus, .comment-box textarea:focus, .area:focus, .ep-line input.text:focus, .time-row input:focus):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *),
.field input.ev-input:focus {
  border-color: var(--accent-text); }
.time-row input.on:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  border-color: var(--accent); box-shadow: var(--glc-well-shade), inset 0 0 0 1px var(--accent); }
/* время в списке дня — своё оранжевое поле, тоже вдавленное */
.dtime-edit { box-shadow: var(--glc-well-shade), inset 0 -1px 0 var(--glc-well-bot); }
.dtime-edit:focus { box-shadow: var(--glc-well-shade), inset 0 0 0 1px var(--accent-text); }

/* строки формы (название, описание, чек-лист, выбор из списка): поле без рамки, вдавливается вся строка —
   при вводе с кромкой --accent-text, при нажатии на «выбрать» — коротко */
.section > .field:has(:is(textarea, input.text):not(.ev-input):focus),
.section > .field:has(> .pick:active) {
  background: var(--glc-well); box-shadow: var(--glc-well-shade), inset 0 -1px 0 var(--glc-well-bot); }
.section > .field:has(:is(textarea, input.text):not(.ev-input):focus) {
  box-shadow: var(--glc-well-shade), inset 0 0 0 1px var(--accent-text); }
.section > .field:first-child { border-top-left-radius: 19px; border-top-right-radius: 19px; }
.section > .field:last-child, .section > .field:not(:has(~ :not([hidden]))) { border-bottom-left-radius: 19px; border-bottom-right-radius: 19px; }
.section > .field:has(> .pick) { transition: background-color .2s var(--ease-out), box-shadow .2s var(--ease-out); }
@media (hover: hover) {
  .section > .field:has(> .pick):hover:not(:has(> .pick:active)) { background: var(--glc-row); }
}

/* ---------- поверхности: группы строк, колонки канбана, шапка полос ---------- */
:is(.section, .lrows, .mini-month):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  border-color: transparent; box-shadow: 0 0 0 .5px var(--gl-edge), var(--gl-inner); }
.bcol:not(.over):not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) {
  border-color: transparent; box-shadow: 0 0 0 .5px var(--gl-edge), var(--gl-inner); }
.bcol.over::after { opacity: 0; }
.lh-col { box-shadow: 0 0 0 .5px var(--gl-edge), var(--gl-inner); }

/* ---------- календарь: выбранный день — акцент с бликом ---------- */
:is(.mm-day.sel span, .day.sel) {
  background-image: linear-gradient(180deg, rgba(255, 255, 255, .18), rgba(255, 255, 255, 0) 60%);
  box-shadow: inset 0 1px 1px rgba(255, 255, 255, .28), 0 3px 8px -4px var(--gl-drop); }
.wk-day.sel { box-shadow: 0 0 0 .5px var(--glc-on-edge), inset 0 1px 1px rgba(255, 255, 255, .14); }
.mm-day.in { box-shadow: var(--gl-inner); }

/* ---------- строки в листах: подсветка — скруглённая капля внутри строки, разделители не трогаем ---------- */
.row:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *) { isolation: isolate; }
.row:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::before {
  content: ""; position: absolute; inset: 2px -2px; z-index: -1; border-radius: 12px; pointer-events: none;
  background: var(--glc-row); box-shadow: var(--gl-inner); opacity: 0; transition: opacity .2s var(--ease-out); }
.row.cal-row:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *)::before { inset: 0; }
@media (hover: hover) {
  .row:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):hover { background: transparent; }
  .row:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):hover::before { opacity: 1; }
}
.row:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):active:not(:has(button:active)) { background: transparent; }
.row:not(:is(.mcard, .mt-row, .meet-review, .mmedia, .kcard, .ktag, .kn-a, .th-card, .cbtn, .th-item, .bcard, .hcard, .news-card, .news-new, .mp-answer) *):active:not(:has(button:active))::before {
  opacity: 1; background: var(--sub-hover); transition-duration: .06s; }

/* ---------- настройки системы ---------- */
@media (prefers-contrast: more) {
  :is(.lg, .chip, .hchip, .hz, .s-more, .banner, .dp-add, .section, .lrows, .bcol, .mini-month)::after { display: none; }
  :is(.lg, .chip:not(.add), .hchip, .hz, .s-more, .section, .lrows, .mini-month) { box-shadow: 0 0 0 1px var(--text3) !important; }
  :is(.field-search:not(.as-btn), .search, .comment-box textarea, .area, .ep-line input.text, .time-row input), .field input.ev-input {
    border-color: var(--field-border); }
}
