:root {
  color-scheme: light;
  --surface: #f4f4f2;
  --panel: #ffffff;
  --text: #151515;
  --secondary: #52525b;
  --border: #808087;
  --accent: #171717;
  --space: 1rem;
  --radius: 0px;
  --danger: #9c2020;
  --font: "Space Grotesk", system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--surface); color: var(--text); font-family: var(--font); line-height: 1.6; }
header { padding: var(--space) max(var(--space), calc((100% - 64rem) / 2)); background: var(--panel); border-block-end: 2px solid var(--accent); }
.brand { font-size: 1.25rem; font-weight: 700; }
main { max-inline-size: 64rem; margin: 3rem auto; padding: var(--space); overflow-wrap: anywhere; }
h1 { font-size: clamp(1.75rem, 4vw, 2.5rem); line-height: 1.2; }
p { max-inline-size: 60ch; color: var(--secondary); }
.intro { font-size: 1.25rem; color: var(--text); }
a { color: var(--accent); }
:focus-visible { outline: 3px solid var(--accent); outline-offset: 4px; }
.skip { position: absolute; inset-block-start: -10rem; padding: .75rem 1rem; background: var(--panel); }
.skip:focus { inset-block-start: 1rem; inset-inline-start: 1rem; }
@media (max-width: 767px) { main { margin-block: 1.5rem; } }
.access { max-inline-size: 34rem; }
form { display: grid; gap: .75rem; max-inline-size: 28rem; }
label { font-weight: 600; }
input, button, select, textarea { font: inherit; min-block-size: 2.75rem; border: 1px solid var(--border); border-radius: var(--radius); padding: .65rem .8rem; }
input, select, textarea { inline-size: 100%; min-inline-size: 0; background: var(--panel); color: var(--text); }
button { margin-block-start: .75rem; background: var(--accent); color: var(--panel); cursor: pointer; font-weight: 600; }
.error { padding: .75rem; border-inline-start: 4px solid var(--danger); background: var(--panel); color: var(--danger); }
.hint { font-size: .9rem; margin-block-start: 1.5rem; }
.eyebrow { font-weight: 600; }

.account-links { padding-inline-start: 1.25rem; }
.account-links li { margin-block: .75rem; }
.access form + form { margin-block-start: 2rem; }
.notice { padding: .75rem; border-inline-start: 4px solid var(--accent); background: var(--panel); }
.administration { max-inline-size: 56rem; }
.records { list-style: none; padding: 0; }
.records li { padding-block: 1rem; border-block-end: 1px solid var(--border); }
.records h2 { font-size: 1.1rem; margin: 0; }
.records p { margin-block: .25rem; }
fieldset { min-inline-size: 0; border: 1px solid var(--border); padding: .75rem; }
legend { font-weight: 600; }
.check { display: flex; align-items: center; gap: .7rem; min-block-size: 2.75rem; font-weight: 400; }
input[type=checkbox] { inline-size: 1.2rem; min-block-size: 1.2rem; flex: 0 0 1.2rem; accent-color: var(--accent); }
.separated { margin-block-start: 3rem; border-block-start: 1px solid var(--border); }
#temporary-secret { display: block; padding: 1rem; background: var(--panel); border: 1px solid var(--border); overflow-wrap: anywhere; }

.preserve-lines { white-space: pre-wrap; }
.event-form fieldset { display: grid; gap: .75rem; }

/* Calendar remains an ordinary form and agenda without JavaScript. */
.calendar-controls{display:flex;flex-wrap:wrap;align-items:end;gap:.75rem;margin-block:1rem}
.calendar-controls label{min-width:9rem}
.calendar-controls a{display:inline-flex;align-items:center;min-height:44px;padding:.3rem .6rem;border:1px solid var(--border)}
.calendar-page{max-inline-size:90rem}
.calendar-page form{max-inline-size:none}
.calendar-page details{max-width:38rem}
.calendar-page summary{cursor:pointer;min-height:44px;padding-block:.6rem}
.calendar-page select[multiple]{min-height:6rem}
.calendar-page dialog{max-width:min(44rem,calc(100vw - 2rem));max-height:85vh;overflow:auto;padding:1.5rem;border:2px solid var(--border);color:var(--text);background:var(--surface)}
.calendar-page dialog::backdrop{background:#0006}
.calendar-page dialog p,.calendar-page dialog li{white-space:pre-wrap;overflow-wrap:anywhere}
#calendar-grid{min-width:0;overflow-x:auto}
#calendar-grid [role=button]:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
#calendar-grid [role=button]{touch-action:manipulation}
.calendar-event{text-align:start;white-space:normal}
#calendar-agenda article{padding-block:.75rem;border-block-end:1px solid var(--border)}
[hidden]{display:none!important}

#calendar-grid[hidden]{display:none!important}

.company-logo{max-inline-size:12rem;max-block-size:4rem;object-fit:contain;vertical-align:middle;margin-inline-end:1rem}
#brand-preview{padding:var(--space);background:var(--surface);color:var(--text);font-family:var(--font);border:1px solid var(--border);border-radius:var(--radius)}
#brand-preview p{color:var(--text)}
#brand-preview .brand-preview-secondary{color:var(--secondary)}
/* Map the selected calendar theme to the same validated installation tokens. */
:root:root{
 --fc-monarch-primary:var(--accent);--fc-monarch-primary-foreground:var(--panel);
 --fc-monarch-primary-over:var(--accent);--fc-monarch-primary-down:var(--accent);
 --fc-monarch-secondary:var(--surface);--fc-monarch-secondary-foreground:var(--text);
 --fc-monarch-tertiary:var(--accent);--fc-monarch-tertiary-foreground:var(--panel);
 --fc-monarch-selected:var(--accent);--fc-monarch-selected-foreground:var(--panel);
 --fc-monarch-outline:var(--accent);--fc-monarch-now:var(--danger);
 --fc-monarch-background:var(--panel);--fc-monarch-foreground:var(--text);
 --fc-monarch-muted-foreground:var(--secondary);--fc-monarch-faint-foreground:var(--secondary);
 --fc-monarch-border:var(--border);--fc-monarch-strong-border:var(--border);
}

.backup-page section {margin-block:2rem;padding-block-start:1rem;border-block-start:1px solid var(--border)}
.backup-page .table-scroll {max-inline-size:100%;overflow:auto;margin-block:1rem}
.backup-page table {border-collapse:collapse;inline-size:100%;background:var(--panel)}
.backup-page th,.backup-page td {text-align:start;padding:.5rem .75rem;border-block-end:1px solid var(--border)}
.backup-page caption {text-align:start;font-weight:700}
.backup-page form + form {margin-block-start:1.5rem}
.backup-page input[type=file] {inline-size:100%;min-inline-size:0}
.backup-page dd {margin-inline-start:0;margin-block-end:.75rem}
.backup-page dt {font-weight:600}

.backup-page td,.backup-page thead th:not(:first-child) {white-space:nowrap}

.integration-options { max-block-size: 18rem; overflow: auto; }

/* Application shell — typography, ruled grids and compact working surfaces. */
:root { --line: color-mix(in srgb, var(--border) 32%, var(--panel)); --sidebar-width: 15rem; --header-height: 5rem; }
body { font-size: .9375rem; line-height: 1.5; -webkit-font-smoothing: antialiased; }
a { text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
button, input, select, textarea { font-size: .9375rem; }
button { margin: 0; }
button:hover { filter: brightness(.92); }
button:disabled { cursor: default; opacity: .65; }
input, select, textarea { border-color: var(--border); padding: .6rem .75rem; }
input[type=color] { padding: .25rem; }
input[type=date], input[type=datetime-local], .nav-number { font-variant-numeric: tabular-nums; }
h1 { font-size: clamp(2rem, 3.4vw, 3.5rem); font-weight: 600; letter-spacing: -.055em; margin: .4rem 0 1.25rem; line-height: 1.1; }
h2 { font-size: 1.2rem; font-weight: 600; letter-spacing: -.025em; }
h3 { font-size: 1rem; }
p { margin-block: .65rem; }
.eyebrow, .nav-caption, .tile-number, .masthead-note, .sidebar-signature, .section-heading > span { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; font-weight: 500; }
.skip { z-index: 50; }
.app-header { position: sticky; top: 0; z-index: 20; min-height: var(--header-height); padding: .8rem 2rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; gap: .75rem; align-items: center; text-decoration: none; color: var(--text); line-height: 1.15; font-size: 1.3rem; letter-spacing: -.04em; }
.brand small { display: block; margin-top: .35rem; font-size: .65rem; font-weight: 400; color: var(--secondary); letter-spacing: .025em; }
.brand-mark { background: var(--accent); color: var(--panel); height: 2.55rem; width: 2.55rem; display: flex; align-items: center; justify-content: center; font-size: 2rem; letter-spacing: -.1em; flex: 0 0 auto; }
.brand-mark > span { font-size: .9rem; align-self: start; padding-top: .2rem; }
.app-header .company-logo { max-height: 2.75rem; max-width: 7rem; margin: 0; }
.session-bar { flex-shrink: 0; display: flex; align-items: center; gap: 1.5rem; min-width: 0; }
.session-account { display: flex; align-items: center; gap: .6rem; color: var(--secondary); font-size: .8rem; text-decoration: none; min-width: 0; }
.session-account > span:last-child { max-width: 24ch; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.session-dot { display: block; width: .4rem; height: .4rem; background: var(--accent); border-radius: 50%; }
.session-bar form { padding: 0; border: 0; background: none; display: block; width: auto; }
.session-bar button { white-space: nowrap; background: none; border-color: var(--line); color: var(--text); font-size: .8rem; padding-inline: 1rem; }
.app-sidebar { position: fixed; inset: var(--header-height) auto 0 0; width: var(--sidebar-width); background: var(--panel); border-right: 1px solid var(--line); padding: 1.5rem 1rem; overflow-y: auto; z-index: 10; }
.app-sidebar summary { cursor: pointer; font-weight: 600; min-height: 44px; }
.app-sidebar summary > span { float: right; }
.app-sidebar nav { margin: 0 0 1.75rem; }
.nav-caption { color: var(--secondary); margin: 0 .75rem .65rem; }
.app-sidebar nav a { display: flex; align-items: center; gap: .7rem; min-height: 44px; padding: .55rem .75rem; color: var(--secondary); text-decoration: none; font-size: .82rem; border: 1px solid transparent; }
.app-sidebar nav a:hover { background: var(--surface); color: var(--text); }
.app-sidebar nav a[aria-current=page] { background: var(--surface); color: var(--accent); border-color: var(--line); font-weight: 650; }
.nav-number { color: var(--secondary); letter-spacing: 0; }
.nav-arrow { margin-left: auto; }
.admin-navigation { padding-top: 1.25rem; border-top: 1px solid var(--line); }
.app-sidebar .admin-navigation a, .app-sidebar .personal-navigation a { min-height: 36px; font-size: .77rem; }
.sidebar-signature { border-top: 1px solid var(--line); padding: 1rem .75rem 0; font-size: .6rem; }
.sidebar-signature span { float: right; }
.app-body main { max-inline-size: none; margin: 0 0 0 var(--sidebar-width); padding: 2rem clamp(1.25rem, 3.4vw, 4rem) 4rem; min-width: 0; }
.app-body main > nav:first-child { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; margin: -.5rem 0 1.5rem; padding-bottom: 1rem; border-bottom: 1px solid var(--line); font-size: .8rem; }
.app-body main > nav:first-child a { display: inline-flex; align-items: center; min-height: 44px; }
.public-body main.access { max-width: 32rem; margin: 5rem auto; padding: 2.5rem; background: var(--panel); border: 1px solid var(--line); border-top: 3px solid var(--accent); }
.public-body .access h1 { font-size: 3rem; }
.public-body .access form { background: none; padding: 1rem 0; border: 0; }
.public-body .hint { padding-top: 1rem; border-top: 1px solid var(--line); font-size: .8rem; }
form { max-inline-size: none; gap: 1rem; }
main > form:not(#calendar-controls):not(.event-form), .separated > form { padding: 1.5rem; border: 1px solid var(--line); background: var(--panel); max-width: 72rem; }
.field, .filter-field { min-width: 0; display: flex; flex-direction: column; gap: .4rem; }
label { font-size: .8rem; font-weight: 600; }
.field-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.25rem; align-items: start; }
.field-grid > p, .field-grid > .check, .field-grid > button, .field-wide { grid-column: 1/-1; }
.field-grid > button { justify-self: start; }
.form-section { border: 1px solid var(--line); padding: 1.5rem; background: var(--panel); }
.section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: .8rem; margin-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.section-heading h2 { margin: 0; }
.event-form { max-width: 76rem; }
.event-form > .field-wide { padding: 1.5rem; background: var(--panel); border: 1px solid var(--line); }
.event-form fieldset { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); padding: 1.5rem; gap: 1rem; background: var(--panel); border-color: var(--line); }
.event-form fieldset > p, .event-form fieldset > button { grid-column: 1/-1; }
.event-form fieldset > button { justify-self: start; }
.form-actions { border-top: 1px solid var(--line); padding-top: 1rem; display: flex; justify-content: flex-end; }
.form-actions button { min-width: 12rem; }
legend { padding-inline: .4rem; font-size: .9rem; }
.check { font-size: .9rem; }
.hint { margin-block: .5rem; font-size: .8rem; }
.notice, .error { max-width: none; }
main > form:has(> .field), #branding-form { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
main > form > :is(p,fieldset,section,.check,h2), main > form > button { grid-column: 1/-1; }
main > form > button { justify-self: start; min-width: 10rem; }
main > form.filter-panel { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; padding: 1.25rem; border-top: 2px solid var(--accent); }
.filter-panel p, .filter-panel > button { grid-column: auto; }
.filter-panel > button { align-self: end; }
.filter-panel .field:has(#options-q) { grid-column: span 2; }
.filter-panel select[multiple] { min-height: 6rem; }
.records { border-top: 1px solid var(--line); margin-top: 1.5rem; }
.records > li { display: grid; grid-template-columns: minmax(12rem,1.4fr) minmax(10rem,1fr) minmax(10rem,1fr); gap: .3rem 1.5rem; padding: 1.2rem 1rem; border-color: var(--line); align-items: start; }
.records > li:nth-child(odd) { background: var(--panel); }
.records :is(h2,h3,p) { margin: 0; }
.records :is(h2,h3) { font-size: .95rem; font-weight: 600; }
.records a { text-decoration: none; }
.records a:hover { text-decoration: underline; }
.records p { font-size: .83rem; }
.records li > :is(form,ul,.notice) { grid-column: 1/-1; }
.records li:has(> h2 + h3) > h2 { grid-column: 1/-1; padding-bottom: .75rem; font-size: .75rem; color: var(--secondary); }
dl { display: grid; grid-template-columns: minmax(8rem,.4fr) minmax(0,1fr); border-top: 1px solid var(--line); max-width: 65rem; }
dt,dd { margin: 0; padding: .8rem .5rem; border-bottom: 1px solid var(--line); }
dt { font-size: .8rem; color: var(--secondary); }
dd { font-size: .9rem; }
.separated { padding-top: 1.25rem; border-color: var(--line); }
.page-heading { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 1rem; margin-bottom: 1.5rem; }
.page-heading h1 { margin: .4rem 0; }
.page-actions { display: flex; flex-wrap: wrap; gap: .6rem; }
.button-link { display: inline-flex; gap: .6rem; align-items: center; justify-content: center; min-height: 44px; padding: .6rem 1rem; background: var(--accent); color: var(--panel); border: 1px solid var(--accent); text-decoration: none; font-size: .8rem; font-weight: 600; }
.button-link.secondary { background: var(--panel); color: var(--text); border-color: var(--line); }
.calendar-toolbar { display: flex; align-items: start; justify-content: space-between; flex-wrap: wrap; gap: .8rem; padding: 1rem; border: 1px solid var(--line); background: var(--panel); }
#calendar-controls { flex: 1 1 26rem; display: block; min-width: 0; }
.calendar-controls { margin: 0; gap: .5rem; }
.calendar-controls > label, .calendar-controls .field { min-width: 0; width: 10rem; }
.calendar-controls > label { display: flex; flex-direction: column; gap: .4rem; }
.calendar-controls > button { padding-inline: 1rem; }
.calendar-toolbar > nav { padding-top: 1.6rem; }
.calendar-controls a { background: var(--panel); border-color: var(--line); text-decoration: none; font-size: .8rem; }
.calendar-filters { margin-top: .75rem; max-width: none!important; }
.calendar-filters summary { font-size: .8rem; }
.calendar-filters[open] { padding-top: .5rem; border-top: 1px solid var(--line); }
.calendar-filters[open] > .filter-field { display: inline-flex; width: calc(50% - .5rem); margin: .4rem .25rem; vertical-align: top; }
.calendar-filters > .field { margin-block: .75rem; }
#calendar-status { font-size: .75rem; margin-block: 1rem; }
#calendar-grid { background: var(--panel); border: 1px solid var(--line); padding: .75rem; }
#calendar-agenda .records { margin-top: 0; }
.calendar-page > nav.calendar-controls { margin-top: 1rem; }
.workspace-heading { padding-block: .5rem 2rem; }
.workspace-heading h1 { font-size: clamp(3rem,6vw,5.75rem); margin-block: .75rem; letter-spacing: -.065em; }
.workspace-heading h1 > span { color: var(--accent); }
.workspace-heading .intro { font-size: clamp(1rem,1.5vw,1.2rem); font-weight: 400; color: var(--secondary); }
.workspace > .section-heading { margin-bottom: 0; padding-block: .75rem; }
.workspace-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-left: 1px solid var(--line); }
.workspace-tile { display: flex; flex-direction: column; min-height: 14rem; padding: 1.5rem 1.75rem; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--panel); color: var(--text); text-decoration: none; transition: background .15s; }
.workspace-tile:hover { background: var(--surface); }
.workspace-tile h2 { font-size: 1.8rem; font-weight: 500; letter-spacing: -.045em; margin: .9rem 0 .5rem; }
.workspace-tile p { font-size: .86rem; max-width: 37ch; margin: 0 0 1.5rem; }
.tile-number { color: var(--secondary); }
.tile-action { display: flex; justify-content: space-between; margin-top: auto; font-size: .8rem; font-weight: 600; }
.tile-action > span { font-size: 1.4rem; line-height: 1; }
.tile-featured { background: var(--accent); color: var(--panel); }
.tile-featured p, .tile-featured .tile-number { color: var(--panel); }
.tile-featured:hover { background: var(--accent); filter: brightness(.95); }
.workspace-secondary { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; margin-top: 2.5rem; }
.workspace-secondary > section { border-top: 1px solid var(--line); padding-top: .8rem; }
.workspace-secondary p, .workspace-secondary a { font-size: .8rem; }
.quick-links { display: flex; flex-wrap: wrap; gap: .6rem 1.2rem; }
@media (min-width:1000px) { .app-sidebar summary { display:none; } }
@media (min-width:1400px) { .workspace-grid { grid-template-columns: repeat(4,minmax(0,1fr)); } }
@media (max-width:1199px) {
 main > form.filter-panel { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .records > li { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
 .records > li > :is(h2,h3) { grid-column: 1/-1; }
}
@media (max-width:999px) {
 .app-header { position: relative; padding: 1rem; min-height: 4.5rem; }
 .app-sidebar { position: relative; inset: auto; width: auto; border: 0; border-bottom: 1px solid var(--line); padding: .25rem 1rem; overflow: visible; }
 .app-sidebar summary { padding: .65rem 0; list-style: none; }
 .app-sidebar summary::-webkit-details-marker { display: none; }
 .menu-content { padding-block: 1rem; display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
 .app-sidebar nav { margin-bottom: 0; }
 .admin-navigation { padding: 0; border: 0; }
 .app-sidebar nav a, .app-sidebar .admin-navigation a, .app-sidebar .personal-navigation a { min-height: 44px; }
 .app-body main { margin: 0; padding: 1.5rem; }
 .app-sidebar .sidebar-signature { display: none; }
 .session-account { max-width: 20ch; }
 .masthead-note { display: none; }
}
@media (max-width:599px) {
 .app-header { padding: .8rem 1rem; }
 .brand { font-size: 1.05rem; }
 .brand small { font-size: .55rem; }
 .brand-mark { height: 2.2rem; width: 2.2rem; font-size: 1.7rem; }
 .session-bar { gap: .25rem; }
 .session-account { display: none; }
 .session-bar button { padding: .5rem .75rem; }
 .app-body main { padding: 1.5rem 1rem 3rem; }
 .menu-content { grid-template-columns: 1fr; }
 .public-body main.access { margin: 2rem 1rem; padding: 1.5rem; }
 .workspace-grid, .workspace-secondary { grid-template-columns: 1fr; }
 .workspace-tile { min-height: 12rem; padding: 1.25rem; }
 .workspace-heading { padding-bottom: 1.5rem; }
 .workspace-secondary { gap: 1rem; }
 .field-grid, .event-form fieldset, main > form:has(> .field), main > form.filter-panel, #branding-form { grid-template-columns: 1fr; }
 .filter-panel .field:has(#options-q) { grid-column: auto; }
 main > form:not(#calendar-controls):not(.event-form), .separated > form, .form-section, .event-form fieldset, .event-form > .field-wide { padding: 1rem; }
 .records > li { grid-template-columns: minmax(0,1fr); padding: 1rem .75rem; }
 .records li > * { grid-column: 1; }
 dl { grid-template-columns: minmax(6rem,.45fr) minmax(0,1fr); }
 .page-heading { margin-bottom: 1rem; }
 .page-actions { width: 100%; }
 .page-actions > a { flex: 1; }
 .calendar-toolbar { padding: .75rem; }
 .calendar-controls { gap: .5rem; }
 .calendar-controls > label, .calendar-controls .field { flex: 1 1 7rem; width: auto; }
 .calendar-controls > button { flex: 1 0 100%; }
 .calendar-toolbar > nav { padding-top: 0; width: 100%; }
 .calendar-toolbar > nav a { flex: 1; justify-content: center; }
 .calendar-filters[open] > .filter-field { display: flex; width: auto; margin: .75rem 0; }
 .form-actions button { width: 100%; }
 #calendar-grid { padding: .25rem; }
}
@media (prefers-reduced-motion:reduce) { .workspace-tile { transition:none; } }
@media print { .app-header,.app-sidebar,.skip { display:none; } .app-body main { margin:0; padding:0; } }
.public-body main.access > form { grid-template-columns: 1fr; }
html[dir=rtl] .app-sidebar { left:auto; right:0; border-right:0; border-left:1px solid var(--line); }
html[dir=rtl] .app-body main { margin-left:0; margin-right:var(--sidebar-width); }
@media (max-width:999px) { html[dir=rtl] .app-body main { margin-right:0; } }
.lookup-field { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: .4rem .5rem; }
.lookup-field > label { grid-column: 1/-1; }
.lookup-field > button { font-size: .75rem; padding-inline: .6rem; }
.field-grid > p { grid-column: auto; align-self: center; }
@media (max-width:599px) { .lookup-field { grid-template-columns: minmax(0,1fr); } }
form[action$="/delete"] > button, form[action$="/remove-logo"] > button { background: var(--danger); }
.app-header .brand { min-width: 0; max-width: min(60%,38rem); }
.app-header .brand > span:last-child { min-width: 0; }
.company-name { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (max-width:599px) { .app-header .brand { max-width: calc(100% - 5rem); } }
@media (max-width:599px) { .form-actions button { min-width: 0; } legend { max-width: 100%; } }

/* Interaction indicators follow the validated company accent. */
:root { --signal: var(--accent); }
[hidden] { display: none !important; }
.app-header { border-block-end: 1px solid var(--text); }
.brand-mark { background: var(--text); color: var(--panel); border-radius: 0; }
.brand-mark > span { color: inherit; }
.app-sidebar a[aria-current=page] { box-shadow: inset 3px 0 var(--signal); }
.page-heading { border-block-end: 1px solid var(--text); padding-block-end: 1.5rem; margin-block-end: 1.5rem; }
.page-heading h1 { letter-spacing: -.045em; font-weight: 650; }
.eyebrow, .nav-caption { letter-spacing: .1em; font-size: .7rem; }
input:not([type=checkbox]):not([type=radio]), select, textarea { appearance: none; -webkit-appearance: none; border-radius: var(--radius); box-shadow: none; font-size: 1rem; }
input:not([type=checkbox]):not([type=radio]):not([type=color]), select { height: 2.875rem; }
select:not([multiple]) { padding-inline-end: 2rem; background-image: linear-gradient(45deg,transparent 50%,var(--secondary) 50%),linear-gradient(135deg,var(--secondary) 50%,transparent 50%); background-size: 5px 5px,5px 5px; background-repeat: no-repeat; background-position: right 1rem center,right calc(1rem - 5px) center; }
select[multiple] { height: auto; }
input[type=color] { height: 2.875rem; padding: .3rem; }
input[type=file] { height: auto !important; padding: .35rem; }
input::file-selector-button { font: inherit; border: 0; border-inline-end: 1px solid var(--border); background: var(--surface); color: var(--text); padding: .4rem .8rem; margin-inline-end: .75rem; }
button, .button-link { border-radius: var(--radius); margin-block-start: 0; min-height: 2.875rem; }
input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 2px solid var(--signal); outline-offset: 2px; }
.field, .filter-field { align-self: start; gap: .4rem; }
.field > label, .filter-field > label { line-height: 1.35; min-height: 1.35em; font-size: .8rem; font-weight: 600; }
.filter-actions, .dialog-actions, .pagination { display: flex; flex-wrap: wrap; gap: .65rem; align-items: center; }
.filter-actions { grid-column: 1 / -1; padding-block-start: .5rem; }
.dialog-actions { margin-block-start: 1.5rem; padding-block-start: 1rem; border-block-start: 1px solid var(--border); }
.dialog-actions > a, .dialog-actions > button { margin: 0; }
.pagination { padding-block: 1.5rem; border-block-start: 1px solid var(--border); }
.pagination > span { margin-inline-end: auto; color: var(--secondary); }
.pagination a { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: .4rem .75rem; border: 1px solid var(--border); text-decoration: none; }
.pagination a[aria-current] { background: var(--text); color: var(--panel); }
.color-swatch { display: inline-block; width: 1rem; height: 1rem; flex: 0 0 1rem; vertical-align: -.15em; border: 1px solid #0004; }
.search-select { position: relative; min-width: 0; width: 100%; }
.search-select > summary { display: flex; gap: .5rem; align-items: center; min-height: 2.875rem; height: 2.875rem; padding: .65rem .8rem; border: 1px solid var(--border); background: var(--panel); cursor: pointer; list-style: none; font-weight: 400; }
.search-select > summary::-webkit-details-marker { display: none; }
.search-select > summary > .select-value { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.search-select > summary > span:last-child { margin-inline-start: auto; }
.search-select[open] { z-index: 15; }
.select-popup { position: absolute; inset-inline: 0; top: calc(100% + 4px); min-width: 0; padding: .65rem; background: var(--panel); border: 1px solid var(--text); box-shadow: 0 12px 28px #0002; }
.select-options { max-height: 15rem; overflow-y: auto; overscroll-behavior: contain; }
.select-option { display: flex; gap: .6rem; align-items: center; width: 100%; padding: .55rem; min-height: 2.75rem; border: 0; background: var(--panel); color: var(--text); text-align: start; font-size: .9rem; font-weight: 400; margin: 0; cursor: pointer; }
.select-option:hover, .select-option:focus-visible { background: var(--surface); }
.select-option[aria-pressed=true] { box-shadow: inset 3px 0 var(--signal); font-weight: 600; }
.select-status { margin: .45rem 0; font-size: .75rem; color: var(--secondary); }
.calendar-page .search-select { max-width: none; }
.calendar-page .search-select summary { padding: .65rem .8rem; }
@media(max-width:600px) { .pagination { gap: .4rem; } .pagination > span { flex-basis: 100%; } .dialog-actions > * { flex: 1 1 auto; text-align: center; } }
.filter-panel > .field, .filter-panel > .filter-field, .field-grid > .field { align-self: end; }
.event-form > .section-heading, .event-form > .form-actions, .event-form > p { grid-column: 1 / -1; }

/* Alternate presentation tokens apply to every page and embedded calendar. */
:root[data-appearance="dark"] { color-scheme: dark; --surface:#111114; --panel:#1b1b20; --text:#f1f1f5; --secondary:#b4b4c0; --border:#858594; --accent:#ececf2; --danger:#ff8c82; --signal:var(--accent); }
@media(prefers-color-scheme:dark) {
 :root:not([data-appearance="light"]) { color-scheme:dark; --surface:#111114; --panel:#1b1b20; --text:#f1f1f5; --secondary:#b4b4c0; --border:#858594; --accent:#ececf2; --danger:#ff8c82; --signal:var(--accent); }
}
.appearance-toggle { flex:0 0 44px; width:44px; height:44px; min-height:44px; padding:0; margin:0; background:var(--panel); color:var(--text); border:1px solid var(--line); font-size:1.3rem; }
.app-header > .brand { margin-inline-end:auto; }
#calendar-controls > .calendar-controls { display:grid; grid-template-columns:minmax(0,10rem) minmax(0,10rem) auto; align-items:end; gap:.75rem; }
#calendar-controls > .calendar-controls > .field { width:auto; min-width:0; align-self:end; }
#calendar-controls > .calendar-controls > button { justify-self:start; margin:0; }
.calendar-filter-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; padding-block:.75rem; }
.calendar-filter-grid > .filter-field { align-self:end; margin:0; width:auto; }
.calendar-filter-grid > p, .calendar-filter-grid > .filter-actions, .lookup-toolbar { grid-column:1/-1; }
.lookup-toolbar { display:flex; gap:.75rem; flex-wrap:wrap; align-items:end; }
.lookup-toolbar > .field { flex:1 1 12rem; }
.lookup-toolbar > p { flex-basis:100%; }
.calendar-filter-grid .filter-actions { border-block-start:1px solid var(--line); padding-block-start:1rem; }
.fc { --fc-page-bg-color:var(--panel); --fc-neutral-bg-color:var(--surface); --fc-neutral-text-color:var(--secondary); --fc-border-color:var(--line); --fc-today-bg-color:color-mix(in srgb,var(--signal) 10%,var(--panel)); --fc-list-event-hover-bg-color:var(--surface); }
.availability-preview { grid-column:1/-1; min-width:0; padding:1.25rem; background:var(--panel); border:1px solid var(--line); }
.availability-preview h2 { margin-block-start:0; }
.table-scroll { max-width:100%; overflow-x:auto; }
.availability-preview table { border-collapse:collapse; width:100%; font-size:.85rem; }
.availability-preview th, .availability-preview td { padding:.7rem .6rem; border-block-end:1px solid var(--line); text-align:start; vertical-align:top; }
.availability-preview th { font-size:.75rem; color:var(--secondary); font-weight:600; }
.availability-preview :is(td:nth-child(3),td:nth-child(4)) { white-space:nowrap; font-variant-numeric:tabular-nums; }
@media(max-width:600px) {
 .calendar-filter-grid { grid-template-columns:minmax(0,1fr); }
 #calendar-controls > .calendar-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
 #calendar-controls > .calendar-controls > button { grid-column:1/-1; width:100%; }
 .appearance-toggle { flex-basis:40px; width:40px; min-height:44px; }
 .app-header { gap:.5rem; }
}
.availability-preview table { min-width:44rem; }
.availability-preview :is(th:first-child,td:first-child) { min-width:11rem; }
.availability-preview :is(th:nth-child(2),td:nth-child(2)) { min-width:12rem; }
.fc .fc-scrollgrid { border-radius:0; }
.availability-preview table { table-layout:fixed; width:max(100%,48rem); }
.availability-preview th, .availability-preview td { overflow-wrap:break-word; }
.availability-preview th:nth-child(1) { width:24%; }
.availability-preview th:nth-child(2) { width:26%; }
.availability-preview th:nth-child(3), .availability-preview th:nth-child(4) { width:19%; white-space:nowrap; }
.availability-preview th:nth-child(5) { width:12%; }

.table-hint {display:none;}
@media(max-width:600px) {.table-scroll:has(table:not([hidden])) + .table-hint {display:block;font-size:.75rem;color:var(--secondary);}}

/* Section navigation uses the same hard edges and active rail as the shell. */
.app-body main > nav.section-tabs { display:flex; flex-wrap:wrap; gap:0; margin:0 0 2rem; padding:0; border:1px solid var(--line); background:var(--panel); }
.app-body main > nav.section-tabs a { flex:1 1 auto; justify-content:center; gap:.5rem; padding:.85rem 1.1rem; border-inline-end:1px solid var(--line); text-decoration:none; font-size:.85rem; font-weight:500; }
.app-body main > nav.section-tabs a:last-child { border-inline-end:0; }
.app-body main > nav.section-tabs a:hover { background:var(--surface); }
.app-body main > nav.section-tabs a[aria-current] { background:var(--accent); color:var(--panel); box-shadow:inset 0 -3px var(--signal); }
main > form.integration-form:not(#calendar-controls):not(.event-form) { display:grid; grid-template-columns:minmax(0,1fr); gap:1.25rem; max-inline-size:none; padding:0; border:0; background:none; }
.integration-form .form-section { min-inline-size:0; }
.integration-form .section-heading { justify-content:start; }
.integration-form .section-heading .eyebrow { margin:0; color:var(--signal); }
.integration-form .field-grid > .field { align-self:start; }
.integration-form .form-actions { gap:.75rem; flex-wrap:wrap; align-items:center; }
.integration-form .integration-limits { grid-template-columns:repeat(3,minmax(0,1fr)); }
.integration-window { margin-block-start:1.5rem; border-block-start:1px solid var(--line); padding-block-start:1rem; }
.integration-window > summary { cursor:pointer; font-weight:600; padding:.25rem 0; }
.integration-window[open] > summary { margin-block-end:.75rem; }
@media(max-width:599px) {
 .app-body main > nav.section-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .app-body main > nav.section-tabs a { font-size:.75rem; padding:.7rem .4rem; text-align:center; border-block-end:1px solid var(--line); }
 .integration-form .integration-limits { grid-template-columns:1fr; }
 .integration-form .form-actions > * { flex:1 1 100%; }
}

/* The editor uses the same tokens as forms and never loads a remote theme. */
.editor-toolbar {display:flex;flex-wrap:wrap;gap:.35rem;padding:.5rem;border:1px solid var(--border);border-block-end:0;background:var(--surface)}
.editor-toolbar button {min-width:2.75rem;min-height:2.75rem;padding:.4rem .65rem;background:var(--panel);color:var(--text);border-color:var(--line);font-size:.9rem}
.editor-toolbar button[aria-pressed=true] {background:var(--accent);color:var(--panel)}
#description-editor.ql-container {font:inherit;border:1px solid var(--border);background:var(--panel);color:var(--text);min-height:12rem}
#description-editor .ql-editor {min-height:12rem;padding:1rem;font:inherit;overflow-wrap:anywhere}
#description-editor .ql-editor:focus {outline:2px solid var(--signal);outline-offset:2px}
.description-content {overflow-wrap:anywhere;max-width:75ch;grid-column:1/-1}
.description-content p {white-space:pre-wrap;margin-block:.5rem}
.description-content a,#description-editor a {color:var(--accent);text-decoration:underline}
.description-content ol,.description-content ul {padding-inline-start:1.5rem}
.editor-link-dialog {max-width:min(34rem,calc(100vw - 2rem));background:var(--panel);color:var(--text);border:1px solid var(--text);padding:1.5rem}
.editor-link-dialog .dialog-actions {flex-wrap:wrap;gap:.5rem}
@media(max-width:599px) { .editor-toolbar {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));} }

/* Shared administration surfaces and compact filter configuration. */
.sr-only {position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.section-label {font-size:.85rem;padding:.5rem .75rem;border:1px solid var(--line);background:var(--panel)}
button.secondary {background:var(--panel);color:var(--text);border-color:var(--border)}
.admin-section {background:var(--panel);border:1px solid var(--line);padding:1.5rem;margin-block:1.5rem;scroll-margin-top:6rem}
.admin-section > h2 {margin-block-start:0}
.admin-section form {max-width:60rem}
main > form.admin-field-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.admin-field-grid > button {grid-column:1/-1;justify-self:start}
.permission-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem 1rem}
.permission-grid .check {align-items:start;padding:.5rem}
.brand-color-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(8rem,1fr));gap:1rem;grid-column:1/-1}
.brand-color-grid input[type=color] {width:100%}
#branding-form > .form-actions {grid-column:1/-1}
.brand-preview-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.brand-preview {padding:var(--space);background:var(--surface);color:var(--text);font-family:var(--font);border:1px solid var(--border);border-radius:var(--radius)}
.brand-preview p {color:var(--text)}
.brand-preview .brand-preview-secondary {color:var(--secondary)}
.brand-preview button {opacity:1}
#branding-form,.admin-section h2 {scroll-margin-top:6rem}
main > form#filters-admin-form:not(.event-form) {display:block;max-width:none;padding:0;border:0;background:none}
.filter-card-grid {display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:.75rem;align-items:start}
.filter-card {min-width:0;background:var(--panel);border:1px solid var(--line);border-inline-start:3px solid var(--accent);padding:1rem;transition:opacity .15s,border-color .15s}
.filter-card[data-enabled=false] {border-inline-start-color:var(--border);background:var(--surface)}
.filter-card[data-enabled=false] .filter-card-heading h2,.filter-card[data-enabled=false] .filter-default {opacity:.6}
.filter-card-heading {display:flex;gap:.6rem;align-items:center;min-width:0}
.filter-card-heading h2 {font-size:.9rem;flex:1;margin:0;min-width:0}
.filter-position {font: .75rem ui-monospace,monospace;color:var(--secondary);font-variant-numeric:tabular-nums}
.filter-card .drag-handle {cursor:grab;min-width:2.75rem;min-height:2.75rem;padding:0;font-size:1.3rem;background:var(--surface);color:var(--text);border-color:var(--line)}
.filter-card .drag-handle:active {cursor:grabbing}
.filter-state {font-size:.75rem;color:var(--secondary)}
.filter-card > .filter-state {display:flex;align-items:center;min-height:2.75rem}
.filter-card .check {gap:.5rem;margin:0}
.filter-order {display:flex;gap:.35rem;align-items:center;flex-wrap:wrap}
.filter-order label {margin-inline-end:auto}
.filter-order input {width:3.5rem;min-width:0;padding:.4rem;text-align:center}
.filter-order button {min-width:2.75rem;padding:.4rem;background:var(--panel);color:var(--text);border-color:var(--line)}
.filter-default {margin-block-start:.75rem;border-block-start:1px solid var(--line);padding-block-start:.4rem}
.filter-default summary {cursor:pointer;min-height:2rem;font-size:.75rem;color:var(--secondary)}
.filter-default .field {margin-block-start:.5rem}
.filter-card.is-dragging {opacity:.45}
.filter-card.drop-target {outline:2px solid var(--accent);outline-offset:2px}
#filters-admin-form .form-actions {margin-block-start:1.25rem;gap:.75rem;flex-wrap:wrap}
@media(min-width:1600px){.filter-card-grid {grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:999px){main > form.admin-field-grid {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){main > form.admin-field-grid,.permission-grid,.brand-preview-grid {grid-template-columns:1fr}.admin-section {padding:1rem}.filter-card-grid {grid-template-columns:1fr}.form-actions {flex-wrap:wrap;gap:.75rem}.form-actions > button {width:100%;min-width:0}}

.list-toolbar {display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-block-end:1rem}
.scope-switch {display:flex;border:1px solid var(--line);background:var(--panel)}
.scope-switch a {display:flex;align-items:center;justify-content:center;min-height:44px;padding:.6rem 1rem;font-size:.8rem;text-decoration:none}
.scope-switch a[aria-current=page] {background:var(--accent);color:var(--panel)}
.responsive-filters {border:1px solid var(--line);background:var(--panel);margin-block:1rem}
.responsive-filters > summary {cursor:pointer;min-height:44px;padding:.75rem 1rem;font-size:.8rem;font-weight:600}
.responsive-filters[open] > summary {border-block-end:1px solid var(--line)}
.responsive-filters > form.filter-panel {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:1.25rem;gap:1rem;align-items:end;max-width:none}
.responsive-filters .filter-panel > .field-wide {grid-column:1/-1}
.responsive-filters .filter-panel > p {font-size:.8rem}
@media(max-width:1199px){.responsive-filters > form.filter-panel {grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:599px){.responsive-filters > form.filter-panel {grid-template-columns:minmax(0,1fr);padding:1rem}.scope-switch {width:100%}.scope-switch a {flex:1;text-align:center}.responsive-filters .filter-actions > * {flex:1 1 100%}}

.form-actions {gap:.75rem}
.admin-field-grid > .field {align-self:end}
.app-body main.filters-admin-page > nav.section-tabs {display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.app-body main.filters-admin-page > nav.section-tabs a {border-block-end:1px solid var(--line);text-align:center}
@media(max-width:767px){.app-body main.filters-admin-page > nav.section-tabs {grid-template-columns:repeat(2,minmax(0,1fr))}}

.form-actions > button[value=save] {order:2}
.form-actions > button[value=reset] {order:1}

/* Reusable jobs, private views, and event records share the operational layout. */
.workflow-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.workflow-cards .form-section{margin:0;min-width:0}.workflow-cards h2{overflow-wrap:anywhere}.workflow-cards details form{margin-top:1rem}.history-layout{display:grid;grid-template-columns:minmax(15rem,1fr) minmax(0,3fr);gap:1.5rem;align-items:start}.history-list{display:grid;gap:.5rem}.history-list>a{display:grid;gap:.3rem;padding:1rem;border:1px solid var(--border);border-inline-start:3px solid transparent;color:var(--text);text-decoration:none}.history-list>a[aria-current=page]{border-inline-start-color:var(--accent);background:var(--panel)}.history-list span{font-size:.85rem}.change-card{border:1px solid var(--border);margin-block:0 1rem}.change-card h3{margin:0;padding:.8rem 1rem;border-bottom:1px solid var(--border)}.change-columns{display:grid;grid-template-columns:1fr 1fr}.change-columns>div{min-width:0;padding:1rem;overflow-wrap:anywhere}.change-columns>div+div{border-inline-start:1px solid var(--border)}.report-form>fieldset{display:block;min-width:0}.report-form textarea{width:100%}.report-work{padding:1rem;margin-block:1rem;border:1px solid var(--border)}.report-work .check{margin-bottom:1rem}.report-form fieldset:disabled{opacity:1}.report-form fieldset:disabled input,.report-form fieldset:disabled textarea{opacity:1;color:var(--text);-webkit-text-fill-color:var(--text)}
@media(max-width:767px){.workflow-cards,.history-layout{grid-template-columns:1fr}.change-columns{grid-template-columns:1fr}.change-columns>div+div{border-inline-start:0;border-top:1px solid var(--border)}.history-list{max-height:20rem;overflow:auto}.report-work{padding:.75rem}}

.report-form > fieldset > .field {margin-block:1rem}.report-form > fieldset > .field-grid {margin-block:1rem}.status-badge {border:1px solid var(--line);padding:.4rem .7rem;font-size:.85rem}

.appearance-toggle svg { width:22px; height:22px; vertical-align:middle; }
.appearance-toggle svg[hidden] { display:none; }
#event-shifts { display:grid; gap:1rem; grid-column:1/-1; }

#new-shift-times { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; grid-column:1/-1; }
#new-shift-times > p { grid-column:1/-1; }
@media(max-width:599px) { #new-shift-times { grid-template-columns:1fr; } }

@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/lato-400-latin-ext.8b9fc9737043f88c1a9a7195c27a239bd329cc33d928ffb67736c61ae7a1dbbd.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/lato-400-latin.918b7dc3e2e2d015c16ce08b57bcb64d2253bafc1707658f361e72865498e537.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/lato-700-latin-ext.3a5797f440bc67b59830cad81e59a71011e35cb45ed7f747b61a69b0a9b0d6ae.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/lato-700-latin.c447dd7677b419db7b21dbdfc6277c7816a913ffda76fd2e52702df538de0e49.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/montserrat-400-700-latin-ext.54d9a78b7ff60b689ad9f3017ffac8547b5d871afec733f6c1c3ae36577ee504.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/montserrat-400-700-latin.06b16db7a969135d48d38c49183be7fb88d4452e2a3011957c7851941f4e4879.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/space-grotesk-400-700-latin-ext.952dddb45d2f96f71cbf3b7f510b24379afc3c89ea02fcf89d377b45d62c0166.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: 'Space Grotesk';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/assets/space-grotesk-400-700-latin.0640890476fc1198ab4de571fb658de443c4d85b66466ec09534a8737ab1ce9d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
