.signlab-glass {
  --sg-background: var(--signlab-theme-extra-1);
  --sg-panel: var(--signlab-theme-accent);
  --sg-text: var(--signlab-theme-on-accent);
  --sg-number: var(--sg-text);
  --sg-line: var(--sg-text);
  --sg-accent: var(--signlab-theme-extra-2);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: var(--sg-radius);
  background: var(--sg-background);
  color: var(--sg-text);
  font-size: var(--sg-font-size);
  font-family: var(--sg-font-family,inherit);
  font-weight: var(--sg-font-weight);
  text-align: var(--sg-align);
  line-height: var(--sg-line-height);
  overflow-wrap: anywhere;
  width: 100%;
  box-sizing: border-box;
}
.signlab-glass *, .signlab-glass *::before { box-sizing: border-box; }
.signlab-glass .signlab-glass__image {
  position: absolute; inset: 0; width: 100%; height: 100%; max-width: none;
  object-fit: cover; object-position: var(--sg-image-position); margin: 0; z-index: -2;
}
.signlab-glass ol { list-style: none; margin: 0; padding: 0; }
.signlab-glass--mosaic { padding: var(--sg-padding); }
.signlab-glass__mosaic { display: grid; grid-template-columns: 1fr 2fr; gap: var(--sg-gap); }
.signlab-glass__card {
  display: flex; flex-direction: column; justify-content: space-between; gap: 24px;
  padding: var(--sg-padding); min-height: var(--sg-min-height); margin: 0;
  border-radius: var(--sg-radius); color: var(--sg-text);
  background: color-mix(in srgb,var(--sg-panel) var(--sg-opacity),transparent);
  -webkit-backdrop-filter: blur(var(--sg-blur)); backdrop-filter: blur(var(--sg-blur));
}
.signlab-glass__card:first-child { grid-row: span 2; }
.signlab-glass__card:nth-child(n+4) { grid-column: 1 / -1; }
.signlab-glass__number { font-size: var(--sg-number-size); font-weight: var(--sg-number-weight); line-height: 1.1; color: var(--sg-number); }
.signlab-glass__copy { border-top: 1px solid var(--sg-line); padding-top: 14px; color: var(--sg-text); }
.signlab-glass--agenda { --sg-number: var(--signlab-theme-text); display: grid; grid-template-columns: var(--sg-side-width) minmax(0,1fr); }
.signlab-glass--agenda .signlab-glass__day { padding: var(--sg-padding); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; text-align: center; color: var(--sg-number); background: transparent; border: 0; border-radius: 0; box-shadow: none; }
.signlab-glass__label { font-size: var(--sg-label-size); font-weight: 600; }
/* The image panel rounds only its join with the solid sidebar. The outer
   container clips the two right corners, so there are no nested rounded layers. */
.signlab-glass--agenda .signlab-glass__schedule { position: relative; isolation: isolate; overflow: hidden; border-radius: var(--sg-radius) 0 0 var(--sg-radius); padding: var(--sg-padding); background: transparent; border: 0; box-shadow: none; }
.signlab-glass--agenda .signlab-glass__image { border: 0; border-radius: 0; box-shadow: none; filter: none; }
.signlab-glass--agenda .signlab-glass__schedule::before { content: ''; position: absolute; inset: 0; z-index: -1; border: 0; border-radius: 0; background: color-mix(in srgb,var(--sg-panel) var(--sg-opacity),transparent); pointer-events: none; }
/* Salient may style lists and their pseudo-elements. Keep agenda rows flat. */
html body .signlab-glass--agenda ul.signlab-glass__activities { display: block; list-style: none; margin: 0; padding: 0; border: 0; border-radius: 0; background: transparent; box-shadow: none; }
html body .signlab-glass--agenda ul.signlab-glass__activities > li.signlab-glass__activity { display: block; list-style: none; margin: 0; padding: 16px 4px 8px; border: 0; border-bottom: 1px solid var(--sg-line); border-radius: 0; box-shadow: none; color: var(--sg-text); background: var(--sg-panel-row,transparent); }
html body .signlab-glass--agenda ul.signlab-glass__activities > li.signlab-glass__activity + li.signlab-glass__activity { padding-top: 24px; }
html body .signlab-glass--agenda .signlab-glass__activity::before,
html body .signlab-glass--agenda .signlab-glass__activity::after { content: none; display: none; }
html body .signlab-glass--agenda .signlab-glass__activity::marker { content: ''; }
html body .signlab-glass--agenda ul.signlab-glass__activities > li.signlab-glass__activity.is-highlighted { border-bottom-color: var(--sg-accent); }
@media (max-width: 767px) {
  .signlab-glass { font-size: var(--sg-mobile-font-size); }
  .signlab-glass__mosaic { grid-template-columns: minmax(0,1fr); }
  .signlab-glass__card:first-child { grid-row: auto; }
  .signlab-glass__card:nth-child(n+4) { grid-column: auto; }
  .signlab-glass__card { min-height: 0; gap: 16px; }
  .signlab-glass--agenda { grid-template-columns: minmax(0,1fr); }
  .signlab-glass--agenda .signlab-glass__day { flex-direction: row; }
  .signlab-glass--agenda .signlab-glass__schedule { border-radius: var(--sg-radius) var(--sg-radius) 0 0; }
  .signlab-glass__day .signlab-glass__number { font-size: min(var(--sg-number-size),64px); }
}
