@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@400;500;600;700&family=Sora:wght@500;600;700&display=swap");

:root {
    --ops-page-bg: #07090d;
    --ops-page-bg-soft: #0d1219;
    --ops-bg: #0f141d;
    --ops-panel: #131b27;
    --ops-panel-strong: #192433;
    --ops-panel-soft: #1a2432;
    --ops-panel-muted: #223042;
    --ops-cream: #f4ede0;
    --ops-cream-soft: #fbf5ec;
    --ops-cream-strong: #dec59f;
    --ops-ink: #0f1823;
    --ops-border: rgba(143, 160, 185, 0.18);
    --ops-border-strong: rgba(216, 189, 147, 0.34);
    --ops-grid-line: rgba(255, 255, 255, 0.06);
    --ops-text: #f4f7fb;
    --ops-muted: #8ea0b8;
    --ops-soft: #bac5d4;
    --ops-accent: #d2b487;
    --ops-accent-strong: #eccf99;
    --ops-accent-alt: #6d83a8;
    --ops-shadow: 0 24px 56px rgba(2, 6, 12, 0.34);
    --ops-shell-shadow: 0 30px 70px rgba(2, 6, 12, 0.42);
}

body {
    font-family: "IBM Plex Sans", sans-serif;
    background: var(--ops-page-bg);
}

.ops-page,
.ops-widget {
    color: var(--ops-text);
}

.ops-page {
    display: grid;
    gap: 1.125rem;
}

.ops-hero,
.ops-panel,
.ops-widget-shell {
    border: 1px solid var(--ops-border);
    border-radius: 1.75rem;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.05), transparent 28%),
        radial-gradient(circle at top right, rgba(5, 150, 105, 0.05), transparent 24%),
        linear-gradient(180deg, #ffffff, #fbfdff),
        var(--ops-panel);
    box-shadow: var(--ops-shadow);
}

.ops-hero,
.ops-panel,
.ops-widget-shell {
    padding: 1.5rem;
}

.ops-hero {
    display: grid;
    gap: 1.25rem;
}

.ops-eyebrow,
.ops-panel__eyebrow,
.ops-list-label,
.ops-calendar-month {
    margin: 0;
    color: var(--ops-muted);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.ops-hero__top,
.ops-panel__header,
.ops-toolbar,
.ops-section__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.ops-hero__title {
    display: grid;
    gap: 0.75rem;
}

.ops-title {
    margin: 0;
    font-family: inherit;
    font-size: clamp(2rem, 4vw, 3.1rem);
    line-height: 1;
    letter-spacing: -0.04em;
    font-weight: 700;
}

.ops-title--compact {
    font-size: clamp(1.5rem, 3vw, 2.1rem);
}

.ops-subtitle,
.ops-panel__description,
.ops-inline-note,
.ops-empty,
.ops-customer-meta,
.ops-site-note,
.ops-booking-meta,
.ops-meta-row,
.ops-stat-card__note {
    color: var(--ops-muted);
    line-height: 1.55;
}

.ops-subtitle,
.ops-panel__description {
    max-width: 62rem;
    margin: 0;
    font-size: 0.98rem;
}

.ops-toolbar {
    align-items: center;
}

.ops-control-group {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.ops-control,
.ops-link-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.5rem;
    padding: 0 1rem;
    border: 1px solid var(--ops-border);
    border-radius: 999px;
    background: #ffffff;
    color: var(--ops-text);
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    transition: transform 0.18s ease, border-color 0.18s ease, background 0.18s ease;
}

.ops-control:hover,
.ops-link-button:hover,
.ops-customer-card:hover,
.ops-priority-card:hover {
    transform: translateY(-1px);
}

.ops-control--primary,
.ops-link-button--primary {
    background: linear-gradient(135deg, #ecfdf5, #eff6ff);
    border-color: var(--ops-border-strong);
    color: #065f46;
}

.ops-link-button--ghost {
    background: #ffffff;
}

.ops-stat-grid {
    display: grid;
    gap: 0.875rem;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
}

.ops-stat-card {
    min-height: 7rem;
    padding: 1rem 1rem 1.125rem;
    border: 1px solid var(--ops-border);
    border-radius: 1.25rem;
    background: #ffffff;
}

.ops-stat-card__label {
    margin: 0;
    color: var(--ops-muted);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.ops-stat-card__value {
    margin: 0.5rem 0 0;
    font-family: "Sora", sans-serif;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -0.04em;
}

.ops-stat-card__note {
    margin: 0.55rem 0 0;
    font-size: 0.88rem;
}

.ops-shell {
    display: grid;
    gap: 1rem;
}

.ops-shell--split {
    grid-template-columns: minmax(0, 1.4fr) minmax(20rem, 1fr);
}

.ops-shell--calendar {
    grid-template-columns: minmax(0, 1.75fr) minmax(20rem, 0.95fr);
}

.ops-section-grid {
    display: grid;
    gap: 1rem;
}

.ops-section-grid--triple {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ops-section-grid--double {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ops-site-card,
.ops-priority-card,
.ops-customer-card,
.ops-rail-card {
    padding: 1rem;
    border: 1px solid var(--ops-border);
    border-radius: 1.25rem;
    background: var(--ops-panel-soft);
}

.ops-priority-card,
.ops-customer-card {
    display: block;
    color: var(--ops-text);
    text-decoration: none;
}

.ops-site-card__head,
.ops-priority-card__head,
.ops-customer-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.ops-site-name,
.ops-priority-card__title,
.ops-customer-card__title,
.ops-panel__title {
    margin: 0;
    color: var(--ops-text);
    font-size: 1rem;
    font-weight: 600;
}

.ops-panel__title {
    font-family: inherit;
    font-size: 1.35rem;
    letter-spacing: -0.03em;
    font-weight: 700;
}

.ops-site-value {
    margin: 0.9rem 0 0;
    font-family: "Sora", sans-serif;
    font-size: 2rem;
    line-height: 1;
    letter-spacing: -0.04em;
}

.ops-site-note {
    margin: 0.6rem 0 0;
    font-size: 0.9rem;
}

.ops-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.3rem 0.7rem;
    border: 1px solid var(--ops-pill-border, var(--ops-border));
    border-radius: 999px;
    background: var(--ops-pill-bg, rgba(255, 255, 255, 0.06));
    color: var(--ops-pill-fg, var(--ops-text));
    font-size: 0.76rem;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.ops-meta-row {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    flex-wrap: wrap;
    margin-top: 0.8rem;
    font-size: 0.84rem;
}

.ops-list {
    display: grid;
    gap: 0.875rem;
}

.ops-list--compact {
    gap: 0.7rem;
}

.ops-priority-card__meta,
.ops-customer-meta {
    margin: 0.25rem 0 0;
    font-size: 0.9rem;
}

.ops-priority-card__time {
    margin: 0.85rem 0 0;
    color: var(--ops-soft);
    font-size: 0.92rem;
    font-weight: 600;
}

.ops-empty {
    padding: 1rem 1.1rem;
    border: 1px dashed rgba(155, 175, 198, 0.22);
    border-radius: 1.1rem;
    background: rgba(248, 250, 252, 0.9);
    font-size: 0.92rem;
}

@media (max-width: 1100px) {
    .ops-shell--split,
    .ops-shell--calendar,
    .ops-section-grid--triple,
    .ops-section-grid--double {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .ops-hero,
    .ops-panel,
    .ops-widget-shell {
        padding: 1rem;
        border-radius: 1.3rem;
    }

    .ops-title {
        font-size: 1.7rem;
    }

    .ops-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

}

.ops-scheduler-page {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
}

.ops-scheduler-shell {
    position: relative;
    display: grid;
    gap: 1rem;
    width: 100%;
    min-width: 0;
    padding: 1.35rem;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1.8rem;
    background:
        radial-gradient(circle at top left, rgba(37, 99, 235, 0.05), transparent 24%),
        radial-gradient(circle at top right, rgba(5, 150, 105, 0.05), transparent 22%),
        linear-gradient(180deg, #ffffff, #fbfdff);
    box-shadow: 0 24px 56px rgba(15, 23, 42, 0.08);
}

.ops-scheduler-shell > * {
    position: relative;
    z-index: 1;
}

.ops-scheduler-shell__year {
    position: absolute;
    top: 0.45rem;
    left: 1rem;
    z-index: 0;
    font-size: clamp(3.75rem, 9vw, 7rem);
    line-height: 0.9;
    letter-spacing: -0.08em;
    color: rgba(15, 23, 42, 0.04);
    pointer-events: none;
    font-weight: 700;
}

.ops-scheduler-toolbar,
.ops-scheduler-meta,
.ops-strip-shell__header,
.ops-surface-toolbar,
.ops-support-card__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.ops-scheduler-toolbar__title {
    display: grid;
    gap: 0.25rem;
}

.ops-scheduler-kicker {
    margin: 0;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.ops-scheduler-title {
    margin: 0;
    color: #0f172a;
    font-size: clamp(2.35rem, 5vw, 3.7rem);
    line-height: 0.96;
    letter-spacing: -0.06em;
    font-weight: 700;
}

.ops-scheduler-range,
.ops-strip-shell__note,
.ops-surface-note {
    margin: 0;
    color: #64748b;
    font-size: 0.95rem;
    line-height: 1.55;
}

.ops-scheduler-toolbar__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
    gap: 0.7rem;
    min-width: 0;
    flex-wrap: wrap;
}

.ops-scheduler-nav,
.ops-view-toggle,
.ops-scroll-controls {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.28rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 999px;
    background: #f8fafc;
}

.ops-scheduler-chip,
.ops-scheduler-icon,
.ops-view-toggle__option,
.ops-scroll-control,
.ops-scheduler-export,
.ops-table-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.35rem;
    padding: 0 0.95rem;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #0f172a;
    text-decoration: none;
    font-size: 0.92rem;
    font-weight: 600;
    transition: background 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
    background: transparent;
}

.ops-scheduler-icon,
.ops-scroll-control {
    width: 2.35rem;
    padding: 0;
}

.ops-scheduler-chip:hover,
.ops-scheduler-icon:hover,
.ops-view-toggle__option:hover,
.ops-month-strip__day:hover,
.ops-scroll-control:hover,
.ops-time-card:hover,
.ops-week-booking:hover,
.ops-month-booking:hover,
.ops-support-booking:hover,
.ops-table-link:hover {
    transform: translateY(-1px);
}

.ops-scheduler-chip--today,
.ops-view-toggle__option.is-active {
    background: #0f172a;
    color: #ffffff;
}

.ops-scheduler-export {
    background: #ecfdf5;
    border-color: #a7f3d0;
    color: #047857;
}

.ops-scheduler-meta {
    align-items: end;
}

.ops-filter-form {
    display: flex;
    align-items: end;
    gap: 0.85rem;
    flex-wrap: wrap;
}

.ops-filter-field {
    display: grid;
    gap: 0.4rem;
}

.ops-filter-field span,
.ops-scheduler-metric__label,
.ops-day-grid__corner,
.ops-week-day__dow,
.ops-month-grid__weekday,
.ops-list-day__label {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.ops-filter-field select {
    min-width: 13rem;
    min-height: 2.85rem;
    padding: 0 0.95rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1rem;
    background: #ffffff;
    color: #0f172a;
    font-size: 0.95rem;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
}

.ops-scheduler-metrics {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(8rem, 1fr));
}

.ops-scheduler-metric {
    padding: 0.85rem 1rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1.15rem;
    background: #ffffff;
}

.ops-scheduler-metric strong {
    display: block;
    margin-top: 0.4rem;
    color: #0f172a;
    font-size: 1.65rem;
    letter-spacing: -0.05em;
}

.ops-strip-shell,
.ops-scheduler-stage,
.ops-support-card {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1.55rem;
    background: #f8fafc;
}

.ops-strip-shell,
.ops-scheduler-stage,
.ops-support-card {
    min-width: 0;
    max-width: 100%;
    padding: 1rem 1.05rem;
}

.ops-strip-shell__title,
.ops-support-card__title {
    margin: 0.2rem 0 0;
    color: #0f172a;
    font-size: 1.35rem;
    letter-spacing: -0.04em;
    font-weight: 700;
}

.ops-strip-shell__tools {
    display: flex;
    align-items: center;
    gap: 0.8rem;
    flex-wrap: wrap;
    margin-left: auto;
}

.ops-scroll-viewport {
    overflow-x: auto;
    overflow-y: hidden;
}

.ops-scroll-viewport--hidden {
    scrollbar-width: none;
    -ms-overflow-style: none;
}

.ops-scroll-viewport--hidden::-webkit-scrollbar {
    display: none;
}

.ops-month-strip {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 6.65rem;
    gap: 0.65rem;
    padding: 0.05rem 0.05rem 0.25rem;
    width: max-content;
}

.ops-month-strip__day {
    position: relative;
    display: grid;
    gap: 0.35rem;
    min-width: 6.65rem;
    padding: 0.85rem 0.8rem 0.95rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1.1rem;
    background: #ffffff;
    color: #0f172a;
    text-decoration: none;
}

.ops-month-strip__day.is-selected {
    border-color: rgba(37, 99, 235, 0.22);
    background: #eff6ff;
    box-shadow: 0 14px 28px rgba(37, 99, 235, 0.08);
}

.ops-month-strip__day.is-today {
    box-shadow: inset 0 0 0 1px rgba(5, 150, 105, 0.18);
}

.ops-month-strip__number,
.ops-week-day__date,
.ops-list-day__date,
.ops-month-cell__date {
    color: #0f172a;
    font-size: 1.4rem;
    line-height: 1;
    letter-spacing: -0.05em;
    font-weight: 700;
}

.ops-month-strip__count,
.ops-day-grid__lane-count,
.ops-week-day__count,
.ops-month-cell__empty,
.ops-month-cell__more,
.ops-data-table__secondary {
    color: #64748b;
    font-size: 0.8rem;
}

.ops-month-strip__bar {
    display: block;
    width: 100%;
    height: 0.28rem;
    overflow: hidden;
    border-radius: 999px;
    background: #e2e8f0;
}

.ops-month-strip__fill {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #10b981, #34d399);
}

.ops-month-strip__alert {
    position: absolute;
    top: 0.8rem;
    right: 0.8rem;
    width: 0.45rem;
    height: 0.45rem;
    border-radius: 999px;
    background: #f97316;
    box-shadow: 0 0 0 0.22rem rgba(249, 115, 22, 0.14);
}

.ops-scheduler-stage {
    display: grid;
    gap: 1rem;
    overflow-x: auto;
    background: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.88);
}

.ops-calendar-surface {
    color: #0f172a;
    min-width: 0;
}

.ops-surface-toolbar {
    margin-bottom: 0.9rem;
}

.ops-day-grid {
    display: grid;
    gap: 0.75rem;
    align-items: start;
    width: max-content;
    min-width: 100%;
}

.ops-day-grid__corner,
.ops-day-grid__lane-head,
.ops-day-grid__times,
.ops-day-grid__lane {
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1.05rem;
    background: #ffffff;
}

.ops-day-grid__corner,
.ops-day-grid__lane-head {
    min-height: 5rem;
    padding: 1rem;
}

.ops-day-grid__corner {
    display: grid;
    align-content: end;
    gap: 0.3rem;
}

.ops-day-grid__lane-head {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.ops-day-grid__times,
.ops-day-grid__lane {
    position: relative;
    min-height: 46rem;
}

.ops-day-grid__times {
    overflow: hidden;
}

.ops-day-grid__time {
    position: absolute;
    left: 0.85rem;
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 700;
}

.ops-day-grid__line {
    position: absolute;
    left: 0;
    right: 0;
    border-top: 1px solid rgba(148, 163, 184, 0.2);
}

.ops-day-grid__empty {
    position: absolute;
    inset: 1rem 1rem auto;
    padding: 0.95rem 1rem;
    border: 1px dashed rgba(148, 163, 184, 0.28);
    border-radius: 1rem;
    background: #f8fafc;
    color: #64748b;
    font-size: 0.9rem;
    line-height: 1.5;
}

.ops-time-card {
    position: absolute;
    padding: 0.8rem 0.85rem;
    overflow: hidden;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.95rem;
    background: linear-gradient(180deg, #ffffff, #f8fafc);
    color: #0f172a;
    text-decoration: none;
    box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
}

.ops-time-card__head,
.ops-support-booking__head,
.ops-support-booking__foot,
.ops-week-booking__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.65rem;
}

.ops-time-card__time,
.ops-week-booking__time,
.ops-month-booking__time,
.ops-data-table__primary {
    margin: 0;
    color: #0f172a;
    font-size: 0.95rem;
    letter-spacing: -0.03em;
    font-weight: 700;
}

.ops-time-card__duration,
.ops-week-booking__customer,
.ops-month-booking__service,
.ops-time-card__customer,
.ops-time-card__guests,
.ops-support-booking__meta,
.ops-support-booking__stamp,
.ops-table-link {
    color: #64748b;
    font-size: 0.82rem;
}

.ops-time-card__service,
.ops-week-booking__service,
.ops-support-booking__title {
    margin: 0.7rem 0 0;
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 700;
}

.ops-week-board {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ops-week-day,
.ops-month-cell {
    display: grid;
    gap: 0.75rem;
    min-height: 12rem;
    padding: 0.9rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1rem;
    background: #ffffff;
}

.ops-week-day.is-selected,
.ops-month-cell.is-selected {
    box-shadow: inset 0 0 0 1px rgba(37, 99, 235, 0.16);
}

.ops-week-day.is-today,
.ops-month-cell.is-today {
    border-color: rgba(5, 150, 105, 0.2);
}

.ops-week-day__header,
.ops-list-day__header,
.ops-month-cell__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.75rem;
}

.ops-week-day__jump,
.ops-month-cell__date {
    color: inherit;
    text-decoration: none;
}

.ops-week-day__body,
.ops-month-cell__body,
.ops-support-card__list {
    display: grid;
    gap: 0.65rem;
    align-content: start;
}

.ops-week-booking,
.ops-month-booking,
.ops-support-booking {
    display: block;
    padding: 0.85rem 0.9rem;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 0.95rem;
    background: #f8fafc;
    color: #0f172a;
    text-decoration: none;
}

.ops-month-grid {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.ops-month-grid__weekday {
    padding: 0 0.25rem 0.2rem;
}

.ops-month-cell.is-muted {
    opacity: 0.6;
}

.ops-month-cell__alert {
    min-width: 1.5rem;
    min-height: 1.5rem;
    padding: 0 0.42rem;
    border-radius: 999px;
    background: #fff7ed;
    color: #c2410c;
    font-size: 0.78rem;
    font-weight: 700;
    line-height: 1.5rem;
    text-align: center;
}

.ops-table-shell {
    overflow-x: auto;
    border: 1px solid rgba(15, 23, 42, 0.08);
    border-radius: 1rem;
    background: #ffffff;
}

.ops-data-table {
    width: 100%;
    min-width: 56rem;
    border-collapse: collapse;
}

.ops-data-table thead th {
    padding: 0.85rem 0.9rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.08);
    background: #f8fafc;
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-align: left;
    text-transform: uppercase;
    white-space: nowrap;
}

.ops-data-table tbody td {
    padding: 0.9rem;
    border-bottom: 1px solid rgba(15, 23, 42, 0.06);
    vertical-align: top;
}

.ops-data-table tbody tr:last-child td {
    border-bottom: 0;
}

.ops-data-table__action {
    text-align: right;
}

.ops-table-link {
    background: #eff6ff;
    border-color: #bfdbfe;
    color: #1d4ed8;
}

.ops-scheduler-support {
    display: grid;
}

.ops-support-card {
    box-shadow: 0 18px 36px rgba(15, 23, 42, 0.06);
}

.ops-support-booking__foot {
    margin-top: 0.75rem;
    align-items: center;
}

@media (max-width: 1280px) {
    .ops-scheduler-metrics {
        grid-template-columns: repeat(2, minmax(8rem, 1fr));
    }
}

@media (max-width: 1100px) {
    .ops-week-board,
    .ops-month-grid {
        min-width: 64rem;
    }

    .ops-scroll-viewport--hidden {
        scrollbar-width: none;
    }
}

@media (max-width: 920px) {
    .ops-scheduler-toolbar__actions,
    .ops-strip-shell__tools {
        justify-content: flex-start;
    }

    .ops-scheduler-meta {
        align-items: stretch;
    }

    .ops-filter-form,
    .ops-scheduler-metrics {
        width: 100%;
    }

    .ops-filter-field,
    .ops-filter-field select {
        width: 100%;
    }
}

@media (max-width: 760px) {
    .ops-scheduler-shell,
    .ops-strip-shell,
    .ops-scheduler-stage,
    .ops-support-card {
        padding: 0.9rem;
        border-radius: 1.3rem;
    }

    .ops-scheduler-title {
        font-size: 2rem;
    }

    .ops-scheduler-shell__year {
        font-size: 3.25rem;
    }

    .ops-scheduler-nav,
    .ops-view-toggle,
    .ops-scheduler-export {
        width: 100%;
        justify-content: center;
    }

    .ops-scheduler-metrics {
        grid-template-columns: 1fr;
    }

    .ops-day-grid__times,
    .ops-day-grid__lane {
        min-height: 38rem;
    }

    .ops-table-shell {
        border-radius: 0.85rem;
    }
}

html.fi,
body.fi-body {
    background:
        radial-gradient(circle at top left, rgba(210, 180, 135, 0.08), transparent 28%),
        radial-gradient(circle at top right, rgba(109, 131, 168, 0.1), transparent 24%),
        linear-gradient(180deg, #090b10 0%, #05070b 100%);
}

.fi-body {
    color: var(--ops-text);
    font-family: "IBM Plex Sans", sans-serif;
}

.fi-layout,
.fi-main-ctn,
.fi-main {
    background: transparent;
}

.fi-main {
    padding-bottom: 2.5rem;
}

.fi-page-header-heading {
    color: var(--ops-text);
    font-family: "Sora", sans-serif;
    letter-spacing: -0.04em;
    font-weight: 700;
}

.fi-page-header-description,
.fi-breadcrumbs ol li,
.fi-breadcrumbs ol li a {
    color: var(--ops-muted);
}

.fi-topbar-ctn {
    backdrop-filter: blur(18px);
}

.fi-topbar {
    background: rgba(9, 11, 16, 0.9);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
    border-bottom: 1px solid rgba(143, 160, 185, 0.12);
}

.fi-topbar .fi-logo,
.fi-sidebar .fi-logo {
    color: #ffffff;
    font-family: "Sora", sans-serif;
    font-weight: 700;
    letter-spacing: -0.03em;
}

.fi-topbar-item-btn,
.fi-sidebar-item-btn,
.fi-sidebar-group-dropdown-trigger-btn,
.fi-sidebar-database-notifications-btn {
    border: 1px solid transparent;
}

.fi-topbar-item-btn:hover,
.fi-topbar-item-btn:focus-visible {
    background: rgba(255, 255, 255, 0.04);
}

.fi-topbar-item-label,
.fi-sidebar-item-label {
    color: #d7deea;
}

.fi-sidebar {
    background: linear-gradient(180deg, #090b10 0%, #05070b 100%) !important;
    border-right: 1px solid rgba(143, 160, 185, 0.12);
}

.fi-sidebar-open.fi-sidebar {
    box-shadow: 0 24px 48px rgba(0, 0, 0, 0.34);
}

.fi-sidebar-header,
.fi-body-has-topbar .fi-sidebar-header {
    background: transparent;
    box-shadow: none;
}

.fi-sidebar-group-label,
.fi-sidebar-group-btn .fi-icon,
.fi-sidebar-group-dropdown-trigger-btn .fi-icon,
.fi-topbar-item-btn > .fi-icon,
.fi-sidebar-item-btn > .fi-icon,
.fi-sidebar-database-notifications-btn > .fi-icon {
    color: rgba(173, 185, 203, 0.7);
}

.fi-sidebar-group-dropdown-trigger-btn:hover,
.fi-sidebar-group-dropdown-trigger-btn:focus-visible,
.fi-sidebar-item.fi-sidebar-item-has-url > .fi-sidebar-item-btn:hover,
.fi-sidebar-item.fi-sidebar-item-has-url > .fi-sidebar-item-btn:focus-visible,
.fi-sidebar-database-notifications-btn:hover,
.fi-sidebar-database-notifications-btn:focus-visible {
    background: rgba(255, 255, 255, 0.04);
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn,
.fi-sidebar-item.fi-sidebar-item-has-active-child-items > .fi-sidebar-item-btn,
.fi-topbar-item.fi-active .fi-topbar-item-btn {
    background: linear-gradient(135deg, rgba(210, 180, 135, 0.16), rgba(109, 131, 168, 0.14));
    border-color: rgba(216, 189, 147, 0.16);
    box-shadow: inset 0 0 0 1px rgba(216, 189, 147, 0.1);
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-icon,
.fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-sidebar-item-label,
.fi-topbar-item.fi-active .fi-topbar-item-btn > .fi-icon,
.fi-topbar-item.fi-active .fi-topbar-item-label {
    color: #f8fafc;
}

.fi-sidebar-item.fi-active .fi-sidebar-item-grouped-border-part,
.fi-sidebar-item.fi-sidebar-item-has-active-child-items .fi-sidebar-item-grouped-border-part {
    background: var(--ops-accent);
}

.fi-sidebar-close-overlay {
    background: rgba(3, 5, 10, 0.7);
}

.fi-wi-stats-overview-stat {
    border: 1px solid rgba(143, 160, 185, 0.14);
    border-radius: 1.4rem;
    background:
        linear-gradient(180deg, rgba(21, 29, 41, 0.98), rgba(14, 19, 28, 0.98));
    box-shadow: var(--ops-shadow);
}

.fi-wi-stats-overview-stat .fi-icon,
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label,
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description {
    color: var(--ops-muted);
}

.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value {
    color: var(--ops-text);
    font-family: "Sora", sans-serif;
}

.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color,
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color .fi-icon,
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart.fi-color .fi-wi-stats-overview-stat-chart-border-color {
    color: var(--ops-muted);
}

.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color-warning,
.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color-warning .fi-icon {
    color: #efbf8b;
}

.fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-chart .fi-wi-stats-overview-stat-chart-bg-color {
    color: rgba(255, 255, 255, 0.04);
}

.ops-page,
.ops-widget {
    color: var(--ops-text);
}

.ops-hero,
.ops-panel,
.ops-widget-shell {
    border-color: rgba(143, 160, 185, 0.14);
    background:
        radial-gradient(circle at top left, rgba(210, 180, 135, 0.08), transparent 32%),
        radial-gradient(circle at top right, rgba(109, 131, 168, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(22, 31, 44, 0.98), rgba(14, 20, 29, 0.98));
    box-shadow: var(--ops-shadow);
}

.ops-title,
.ops-panel__title,
.ops-site-name,
.ops-priority-card__title,
.ops-customer-card__title,
.ops-site-value,
.ops-stat-card__value {
    color: var(--ops-text);
    font-family: "Sora", sans-serif;
}

.ops-eyebrow,
.ops-panel__eyebrow,
.ops-list-label,
.ops-calendar-month,
.ops-stat-card__label {
    color: rgba(197, 208, 223, 0.72);
}

.ops-subtitle,
.ops-panel__description,
.ops-inline-note,
.ops-empty,
.ops-customer-meta,
.ops-site-note,
.ops-booking-meta,
.ops-meta-row,
.ops-stat-card__note,
.ops-priority-card__meta,
.ops-priority-card__time {
    color: var(--ops-muted);
}

.ops-control,
.ops-link-button {
    border-color: rgba(143, 160, 185, 0.16);
    background: rgba(255, 255, 255, 0.035);
    color: var(--ops-text);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.ops-control:hover,
.ops-link-button:hover {
    background: rgba(255, 255, 255, 0.055);
}

.ops-control--primary,
.ops-link-button--primary {
    border-color: rgba(216, 189, 147, 0.24);
    background: linear-gradient(135deg, rgba(210, 180, 135, 0.26), rgba(109, 131, 168, 0.18));
    color: var(--ops-text);
}

.ops-site-card,
.ops-priority-card,
.ops-customer-card,
.ops-rail-card,
.ops-stat-card {
    border-color: rgba(143, 160, 185, 0.14);
    background: linear-gradient(180deg, rgba(28, 39, 55, 0.96), rgba(20, 28, 39, 0.96));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.ops-empty {
    border-color: rgba(143, 160, 185, 0.2);
    background: rgba(255, 255, 255, 0.025);
}

.ops-scheduler-shell {
    border-color: rgba(214, 193, 163, 0.55);
    background:
        radial-gradient(circle at top left, rgba(216, 189, 147, 0.24), transparent 30%),
        radial-gradient(circle at top right, rgba(109, 131, 168, 0.12), transparent 24%),
        linear-gradient(180deg, #f8f2e8 0%, #efe5d6 100%);
    box-shadow: var(--ops-shell-shadow);
}

.ops-scheduler-shell__year {
    color: rgba(117, 89, 46, 0.08);
}

.ops-scheduler-kicker,
.ops-filter-field span,
.ops-scheduler-metric__label,
.ops-day-grid__corner,
.ops-week-day__dow,
.ops-month-grid__weekday,
.ops-list-day__label {
    color: rgba(72, 84, 103, 0.75);
}

.ops-scheduler-title,
.ops-strip-shell__title,
.ops-support-card__title,
.ops-month-strip__number,
.ops-week-day__date,
.ops-list-day__date,
.ops-month-cell__date,
.ops-time-card__time,
.ops-week-booking__time,
.ops-month-booking__time,
.ops-data-table__primary {
    color: var(--ops-ink);
}

.ops-scheduler-range,
.ops-strip-shell__note,
.ops-surface-note,
.ops-month-strip__count,
.ops-day-grid__lane-count,
.ops-week-day__count,
.ops-month-cell__empty,
.ops-month-cell__more,
.ops-data-table__secondary {
    color: rgba(72, 84, 103, 0.82);
}

.ops-scheduler-nav,
.ops-view-toggle,
.ops-scroll-controls {
    border-color: rgba(72, 84, 103, 0.12);
    background: rgba(255, 255, 255, 0.55);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

.ops-scheduler-chip,
.ops-scheduler-icon,
.ops-view-toggle__option,
.ops-scroll-control,
.ops-scheduler-export,
.ops-table-link {
    color: var(--ops-ink);
}

.ops-scheduler-chip--today,
.ops-view-toggle__option.is-active {
    background: linear-gradient(135deg, #152133, #243349);
    color: #f8fafc;
    box-shadow: 0 10px 18px rgba(15, 24, 35, 0.16);
}

.ops-scheduler-export,
.ops-table-link {
    border-color: rgba(21, 33, 51, 0.16);
    background: linear-gradient(135deg, #152133, #314865);
    color: #f9f5ee;
}

.ops-filter-field select,
.ops-scheduler-metric,
.ops-strip-shell,
.ops-support-card {
    border-color: rgba(72, 84, 103, 0.12);
    background: rgba(255, 255, 255, 0.58);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

.ops-filter-field select {
    color: var(--ops-ink);
}

.ops-scheduler-metric strong {
    color: var(--ops-ink);
    font-family: "Sora", sans-serif;
}

.ops-month-strip__day {
    border-color: rgba(72, 84, 103, 0.12);
    background: rgba(255, 255, 255, 0.62);
    color: var(--ops-ink);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

.ops-month-strip__day.is-selected {
    border-color: rgba(21, 33, 51, 0.18);
    background: linear-gradient(135deg, #152133, #314865);
    box-shadow: 0 16px 30px rgba(21, 33, 51, 0.18);
}

.ops-month-strip__day.is-selected .ops-month-strip__dow,
.ops-month-strip__day.is-selected .ops-month-strip__number,
.ops-month-strip__day.is-selected .ops-month-strip__count {
    color: #f9fbfd;
}

.ops-month-strip__day.is-today {
    box-shadow: inset 0 0 0 1px rgba(216, 189, 147, 0.4);
}

.ops-month-strip__bar {
    background: rgba(36, 51, 73, 0.16);
}

.ops-month-strip__fill {
    background: linear-gradient(90deg, #d2b487, #7f92b1);
}

.ops-month-strip__alert,
.ops-month-cell__alert {
    background: #d89058;
    color: #fff7ef;
    box-shadow: 0 0 0 0.22rem rgba(216, 144, 88, 0.16);
}

.ops-scheduler-stage {
    border-color: rgba(89, 106, 132, 0.24);
    background: linear-gradient(180deg, #162131 0%, #111824 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.ops-calendar-surface {
    color: var(--ops-text);
}

.ops-day-grid__corner,
.ops-day-grid__lane-head,
.ops-day-grid__times,
.ops-day-grid__lane,
.ops-week-day,
.ops-month-cell,
.ops-table-shell {
    border-color: rgba(143, 160, 185, 0.16);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.ops-day-grid__time,
.ops-day-grid__line,
.ops-week-booking__customer,
.ops-month-booking__service,
.ops-time-card__duration,
.ops-time-card__customer,
.ops-time-card__guests {
    color: rgba(188, 199, 215, 0.78);
}

.ops-day-grid__line {
    border-top-color: var(--ops-grid-line);
}

.ops-day-grid__empty,
.ops-time-card,
.ops-week-booking,
.ops-month-booking {
    border-color: rgba(143, 160, 185, 0.16);
    background: rgba(255, 255, 255, 0.05);
    color: var(--ops-text);
}

.ops-time-card__time,
.ops-time-card__service,
.ops-week-booking__time,
.ops-week-booking__service,
.ops-month-booking__time,
.ops-support-booking__title {
    color: var(--ops-text);
}

.ops-support-card {
    box-shadow: 0 20px 36px rgba(15, 24, 35, 0.08);
}

.ops-support-booking {
    border-color: rgba(72, 84, 103, 0.12);
    background: rgba(14, 21, 31, 0.04);
    color: var(--ops-ink);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.ops-support-booking__title {
    color: var(--ops-ink);
}

.ops-support-booking__meta,
.ops-support-booking__stamp {
    color: rgba(72, 84, 103, 0.8);
}

.ops-data-table thead th {
    border-bottom-color: rgba(143, 160, 185, 0.14);
    background: rgba(255, 255, 255, 0.04);
    color: rgba(188, 199, 215, 0.78);
}

.ops-data-table tbody td {
    border-bottom-color: rgba(143, 160, 185, 0.08);
}

/*
 * Final production theme pass: keep the hub in one deliberate "night operations"
 * mode instead of mixing a dark shell with light scheduler surfaces.
 */
:root {
    --ops-page-bg: #06090f;
    --ops-page-bg-soft: #0c1119;
    --ops-bg: #0e141d;
    --ops-panel: #131b26;
    --ops-panel-strong: #182230;
    --ops-panel-soft: #1b2634;
    --ops-panel-muted: #243143;
    --ops-border: rgba(149, 165, 186, 0.15);
    --ops-border-strong: rgba(198, 154, 99, 0.32);
    --ops-grid-line: rgba(255, 255, 255, 0.06);
    --ops-text: #f3f6fb;
    --ops-muted: #93a3b8;
    --ops-soft: #c3cfde;
    --ops-accent: #c69a63;
    --ops-accent-strong: #ddb27a;
    --ops-accent-alt: #62738c;
    --ops-shadow: 0 24px 56px rgba(2, 6, 12, 0.34);
    --ops-shell-shadow: 0 30px 70px rgba(2, 6, 12, 0.42);
}

html.fi,
body.fi-body {
    background:
        radial-gradient(circle at top left, rgba(198, 154, 99, 0.08), transparent 28%),
        radial-gradient(circle at top right, rgba(98, 115, 140, 0.08), transparent 26%),
        linear-gradient(180deg, #090d14 0%, #05070b 100%);
}

.fi-topbar {
    background: rgba(9, 12, 18, 0.92);
    border-bottom: 1px solid rgba(149, 165, 186, 0.12);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
}

.fi-sidebar {
    background: linear-gradient(180deg, #090d14 0%, #070a10 100%) !important;
    border-right: 1px solid rgba(149, 165, 186, 0.12);
}

.fi-sidebar-group-label,
.fi-sidebar-group-btn .fi-icon,
.fi-sidebar-group-dropdown-trigger-btn .fi-icon,
.fi-topbar-item-btn > .fi-icon,
.fi-sidebar-item-btn > .fi-icon,
.fi-sidebar-database-notifications-btn > .fi-icon {
    color: rgba(188, 201, 220, 0.66);
}

.fi-topbar-item-label,
.fi-sidebar-item-label {
    color: #dbe4ef;
}

.fi-sidebar-item.fi-active > .fi-sidebar-item-btn,
.fi-sidebar-item.fi-sidebar-item-has-active-child-items > .fi-sidebar-item-btn,
.fi-topbar-item.fi-active .fi-topbar-item-btn {
    background: linear-gradient(135deg, rgba(198, 154, 99, 0.18), rgba(198, 154, 99, 0.08));
    border-color: rgba(198, 154, 99, 0.22);
    box-shadow: inset 0 0 0 1px rgba(198, 154, 99, 0.1);
}

.fi-sidebar-item.fi-active .fi-sidebar-item-grouped-border-part,
.fi-sidebar-item.fi-sidebar-item-has-active-child-items .fi-sidebar-item-grouped-border-part {
    background: var(--ops-accent);
}

.fi-wi-stats-overview-stat {
    border: 1px solid rgba(149, 165, 186, 0.14);
    background: linear-gradient(180deg, rgba(21, 29, 41, 0.98), rgba(14, 19, 28, 0.98));
}

.ops-hero,
.ops-panel,
.ops-widget-shell,
.ops-scheduler-shell,
.ops-strip-shell,
.ops-scheduler-stage,
.ops-support-card {
    border-color: rgba(149, 165, 186, 0.14);
    background:
        radial-gradient(circle at top left, rgba(198, 154, 99, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(22, 31, 44, 0.98), rgba(14, 20, 29, 0.98));
    box-shadow: var(--ops-shadow);
}

.ops-site-card,
.ops-priority-card,
.ops-customer-card,
.ops-rail-card,
.ops-stat-card,
.ops-scheduler-metric,
.ops-month-strip__day,
.ops-day-grid__corner,
.ops-day-grid__lane-head,
.ops-day-grid__times,
.ops-day-grid__lane,
.ops-week-day,
.ops-month-cell,
.ops-table-shell,
.ops-day-grid__empty,
.ops-time-card,
.ops-week-booking,
.ops-month-booking,
.ops-support-booking,
.ops-filter-field select {
    border-color: rgba(149, 165, 186, 0.14);
    background: linear-gradient(180deg, rgba(28, 39, 55, 0.95), rgba(20, 28, 39, 0.95));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.ops-scheduler-shell__year {
    color: rgba(198, 154, 99, 0.08);
}

.ops-scheduler-title,
.ops-strip-shell__title,
.ops-support-card__title,
.ops-month-strip__number,
.ops-week-day__date,
.ops-list-day__date,
.ops-month-cell__date,
.ops-time-card__time,
.ops-week-booking__time,
.ops-month-booking__time,
.ops-data-table__primary,
.ops-time-card__service,
.ops-week-booking__service,
.ops-support-booking__title {
    color: var(--ops-text);
}

.ops-scheduler-kicker,
.ops-filter-field span,
.ops-scheduler-metric__label,
.ops-day-grid__corner,
.ops-week-day__dow,
.ops-month-grid__weekday,
.ops-list-day__label,
.ops-scheduler-range,
.ops-strip-shell__note,
.ops-surface-note,
.ops-month-strip__count,
.ops-day-grid__lane-count,
.ops-week-day__count,
.ops-month-cell__empty,
.ops-month-cell__more,
.ops-data-table__secondary,
.ops-day-grid__time,
.ops-time-card__duration,
.ops-time-card__customer,
.ops-time-card__guests,
.ops-week-booking__customer,
.ops-month-booking__service,
.ops-support-booking__meta,
.ops-support-booking__stamp {
    color: var(--ops-muted);
}

.ops-control,
.ops-link-button,
.ops-scheduler-nav,
.ops-view-toggle,
.ops-scroll-controls {
    border-color: rgba(149, 165, 186, 0.16);
    background: rgba(255, 255, 255, 0.035);
    color: var(--ops-text);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.ops-control:hover,
.ops-link-button:hover,
.ops-scheduler-chip:hover,
.ops-scheduler-icon:hover,
.ops-view-toggle__option:hover,
.ops-scroll-control:hover,
.ops-month-strip__day:hover,
.ops-time-card:hover,
.ops-week-booking:hover,
.ops-month-booking:hover,
.ops-support-booking:hover,
.ops-table-link:hover {
    background: rgba(255, 255, 255, 0.055);
}

.ops-control--primary,
.ops-link-button--primary,
.ops-scheduler-chip--today,
.ops-view-toggle__option.is-active,
.ops-scheduler-export,
.ops-table-link,
.ops-month-strip__day.is-selected {
    border-color: rgba(198, 154, 99, 0.24);
    background: linear-gradient(135deg, rgba(198, 154, 99, 0.22), rgba(99, 72, 38, 0.24));
    color: #fff7ee;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.ops-link-button--ghost {
    background: rgba(255, 255, 255, 0.035);
}

.ops-month-strip__day.is-selected .ops-month-strip__dow,
.ops-month-strip__day.is-selected .ops-month-strip__number,
.ops-month-strip__day.is-selected .ops-month-strip__count {
    color: #fff7ee;
}

.ops-month-strip__day.is-today {
    box-shadow: inset 0 0 0 1px rgba(198, 154, 99, 0.34);
}

.ops-month-strip__bar {
    background: rgba(255, 255, 255, 0.08);
}

.ops-month-strip__fill {
    background: linear-gradient(90deg, #c69052, #ddb27a);
}

.ops-month-strip__alert,
.ops-month-cell__alert {
    background: #d4874f;
    color: #fff7ef;
    box-shadow: 0 0 0 0.22rem rgba(212, 135, 79, 0.14);
}

.ops-calendar-surface {
    color: var(--ops-text);
}

.ops-day-grid__line {
    border-top-color: var(--ops-grid-line);
}

.ops-empty {
    border-color: rgba(149, 165, 186, 0.2);
    background: rgba(255, 255, 255, 0.025);
    color: var(--ops-muted);
}

.ops-data-table thead th {
    border-bottom-color: rgba(149, 165, 186, 0.14);
    background: rgba(255, 255, 255, 0.035);
    color: rgba(188, 199, 215, 0.78);
}

.ops-data-table tbody td {
    border-bottom-color: rgba(149, 165, 186, 0.08);
}

/*
 * Theme toggle restoration: scope the polished palettes explicitly so light
 * mode no longer inherits the dark override layer, and dark mode keeps enough
 * contrast for controls, filters, and scheduler metadata.
 */
html.fi:not(.dark),
html.fi:not(.dark) body.fi-body {
    color-scheme: light;
    background:
        radial-gradient(circle at top left, rgba(198, 154, 99, 0.14), transparent 24%),
        radial-gradient(circle at top right, rgba(98, 115, 140, 0.08), transparent 22%),
        linear-gradient(180deg, #f5efe6 0%, #ece4d8 100%);
}

html.fi.dark,
html.fi.dark body.fi-body {
    color-scheme: dark;
    background:
        radial-gradient(circle at top left, rgba(198, 154, 99, 0.08), transparent 28%),
        radial-gradient(circle at top right, rgba(98, 115, 140, 0.08), transparent 26%),
        linear-gradient(180deg, #090d14 0%, #05070b 100%);
}

html.fi:not(.dark) .fi-topbar {
    background: rgba(248, 243, 236, 0.92);
    border-bottom: 1px solid rgba(72, 84, 103, 0.14);
    box-shadow: 0 18px 40px rgba(85, 70, 49, 0.08);
}

html.fi:not(.dark) .fi-sidebar {
    background: linear-gradient(180deg, rgba(249, 244, 236, 0.98) 0%, rgba(239, 231, 219, 0.98) 100%) !important;
    border-right: 1px solid rgba(72, 84, 103, 0.12);
}

html.fi:not(.dark) .fi-topbar .fi-logo,
html.fi:not(.dark) .fi-sidebar .fi-logo,
html.fi:not(.dark) .fi-topbar-item-label,
html.fi:not(.dark) .fi-sidebar-item-label {
    color: #172334;
}

html.fi:not(.dark) .fi-sidebar-group-label,
html.fi:not(.dark) .fi-sidebar-group-btn .fi-icon,
html.fi:not(.dark) .fi-sidebar-group-dropdown-trigger-btn .fi-icon,
html.fi:not(.dark) .fi-topbar-item-btn > .fi-icon,
html.fi:not(.dark) .fi-sidebar-item-btn > .fi-icon,
html.fi:not(.dark) .fi-sidebar-database-notifications-btn > .fi-icon {
    color: rgba(71, 85, 105, 0.72);
}

html.fi:not(.dark) .fi-topbar-item-btn:hover,
html.fi:not(.dark) .fi-topbar-item-btn:focus-visible,
html.fi:not(.dark) .fi-sidebar-group-dropdown-trigger-btn:hover,
html.fi:not(.dark) .fi-sidebar-group-dropdown-trigger-btn:focus-visible,
html.fi:not(.dark) .fi-sidebar-item.fi-sidebar-item-has-url > .fi-sidebar-item-btn:hover,
html.fi:not(.dark) .fi-sidebar-item.fi-sidebar-item-has-url > .fi-sidebar-item-btn:focus-visible,
html.fi:not(.dark) .fi-sidebar-database-notifications-btn:hover,
html.fi:not(.dark) .fi-sidebar-database-notifications-btn:focus-visible {
    background: rgba(23, 35, 52, 0.05);
}

html.fi:not(.dark) .fi-sidebar-item.fi-active > .fi-sidebar-item-btn,
html.fi:not(.dark) .fi-sidebar-item.fi-sidebar-item-has-active-child-items > .fi-sidebar-item-btn,
html.fi:not(.dark) .fi-topbar-item.fi-active .fi-topbar-item-btn {
    background: linear-gradient(135deg, rgba(23, 35, 52, 0.92), rgba(44, 61, 82, 0.94));
    border-color: rgba(198, 154, 99, 0.28);
    box-shadow: inset 0 0 0 1px rgba(198, 154, 99, 0.12);
}

html.fi:not(.dark) .fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-icon,
html.fi:not(.dark) .fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-sidebar-item-label,
html.fi:not(.dark) .fi-topbar-item.fi-active .fi-topbar-item-btn > .fi-icon,
html.fi:not(.dark) .fi-topbar-item.fi-active .fi-topbar-item-label {
    color: #fff8f1;
}

html.fi:not(.dark) .fi-sidebar-item.fi-active .fi-sidebar-item-grouped-border-part,
html.fi:not(.dark) .fi-sidebar-item.fi-sidebar-item-has-active-child-items .fi-sidebar-item-grouped-border-part {
    background: #c69a63;
}

html.fi:not(.dark) .fi-wi-stats-overview-stat {
    border: 1px solid rgba(72, 84, 103, 0.12);
    background:
        radial-gradient(circle at top left, rgba(198, 154, 99, 0.12), transparent 28%),
        linear-gradient(180deg, rgba(255, 252, 248, 0.98), rgba(243, 236, 227, 0.98));
    box-shadow: 0 20px 40px rgba(85, 70, 49, 0.08);
}

html.fi:not(.dark) .fi-wi-stats-overview-stat .fi-icon,
html.fi:not(.dark) .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label {
    color: rgba(71, 85, 105, 0.8);
}

html.fi:not(.dark) .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description,
html.fi:not(.dark) .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color,
html.fi:not(.dark) .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color .fi-icon {
    color: #4f6178;
}

html.fi:not(.dark) .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value {
    color: #172334;
}

html.fi:not(.dark) .ops-hero,
html.fi:not(.dark) .ops-panel,
html.fi:not(.dark) .ops-widget-shell {
    border-color: rgba(72, 84, 103, 0.12);
    background:
        radial-gradient(circle at top left, rgba(198, 154, 99, 0.12), transparent 30%),
        radial-gradient(circle at top right, rgba(98, 115, 140, 0.08), transparent 24%),
        linear-gradient(180deg, rgba(255, 252, 248, 0.98), rgba(243, 236, 227, 0.98));
    box-shadow: 0 20px 40px rgba(85, 70, 49, 0.08);
}

html.fi:not(.dark) .ops-title,
html.fi:not(.dark) .ops-panel__title,
html.fi:not(.dark) .ops-site-name,
html.fi:not(.dark) .ops-priority-card__title,
html.fi:not(.dark) .ops-customer-card__title,
html.fi:not(.dark) .ops-site-value,
html.fi:not(.dark) .ops-stat-card__value,
html.fi:not(.dark) .ops-scheduler-title,
html.fi:not(.dark) .ops-strip-shell__title,
html.fi:not(.dark) .ops-support-card__title,
html.fi:not(.dark) .ops-month-strip__number,
html.fi:not(.dark) .ops-week-day__date,
html.fi:not(.dark) .ops-list-day__date,
html.fi:not(.dark) .ops-month-cell__date,
html.fi:not(.dark) .ops-time-card__time,
html.fi:not(.dark) .ops-week-booking__time,
html.fi:not(.dark) .ops-month-booking__time,
html.fi:not(.dark) .ops-data-table__primary,
html.fi:not(.dark) .ops-time-card__service,
html.fi:not(.dark) .ops-week-booking__service,
html.fi:not(.dark) .ops-support-booking__title {
    color: #172334;
}

html.fi:not(.dark) .ops-eyebrow,
html.fi:not(.dark) .ops-panel__eyebrow,
html.fi:not(.dark) .ops-list-label,
html.fi:not(.dark) .ops-calendar-month,
html.fi:not(.dark) .ops-stat-card__label,
html.fi:not(.dark) .ops-scheduler-kicker,
html.fi:not(.dark) .ops-filter-field span,
html.fi:not(.dark) .ops-scheduler-metric__label,
html.fi:not(.dark) .ops-day-grid__corner,
html.fi:not(.dark) .ops-week-day__dow,
html.fi:not(.dark) .ops-month-grid__weekday,
html.fi:not(.dark) .ops-list-day__label,
html.fi:not(.dark) .ops-month-strip__dow {
    color: rgba(72, 84, 103, 0.82);
}

html.fi:not(.dark) .ops-subtitle,
html.fi:not(.dark) .ops-panel__description,
html.fi:not(.dark) .ops-inline-note,
html.fi:not(.dark) .ops-empty,
html.fi:not(.dark) .ops-customer-meta,
html.fi:not(.dark) .ops-site-note,
html.fi:not(.dark) .ops-booking-meta,
html.fi:not(.dark) .ops-meta-row,
html.fi:not(.dark) .ops-stat-card__note,
html.fi:not(.dark) .ops-priority-card__meta,
html.fi:not(.dark) .ops-priority-card__time,
html.fi:not(.dark) .ops-scheduler-range,
html.fi:not(.dark) .ops-strip-shell__note,
html.fi:not(.dark) .ops-surface-note,
html.fi:not(.dark) .ops-month-strip__count,
html.fi:not(.dark) .ops-day-grid__lane-count,
html.fi:not(.dark) .ops-week-day__count,
html.fi:not(.dark) .ops-month-cell__empty,
html.fi:not(.dark) .ops-month-cell__more,
html.fi:not(.dark) .ops-data-table__secondary {
    color: #506277;
}

html.fi:not(.dark) .ops-site-card,
html.fi:not(.dark) .ops-priority-card,
html.fi:not(.dark) .ops-customer-card,
html.fi:not(.dark) .ops-rail-card,
html.fi:not(.dark) .ops-stat-card {
    border-color: rgba(72, 84, 103, 0.12);
    background: linear-gradient(180deg, rgba(255, 252, 248, 0.9), rgba(246, 239, 229, 0.9));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.7);
}

html.fi:not(.dark) .ops-scheduler-shell {
    border-color: rgba(198, 154, 99, 0.36);
    background:
        radial-gradient(circle at top left, rgba(216, 189, 147, 0.24), transparent 30%),
        radial-gradient(circle at top right, rgba(109, 131, 168, 0.12), transparent 24%),
        linear-gradient(180deg, #f8f2e8 0%, #efe5d6 100%);
    box-shadow: var(--ops-shell-shadow);
}

html.fi:not(.dark) .ops-scheduler-shell__year {
    color: rgba(117, 89, 46, 0.08);
}

html.fi:not(.dark) .ops-scheduler-nav,
html.fi:not(.dark) .ops-view-toggle,
html.fi:not(.dark) .ops-scroll-controls {
    border-color: rgba(72, 84, 103, 0.14);
    background: rgba(255, 255, 255, 0.62);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.52);
}

html.fi:not(.dark) .ops-scheduler-chip,
html.fi:not(.dark) .ops-scheduler-icon,
html.fi:not(.dark) .ops-view-toggle__option,
html.fi:not(.dark) .ops-scroll-control,
html.fi:not(.dark) .ops-scheduler-export,
html.fi:not(.dark) .ops-table-link {
    color: #172334;
}

html.fi:not(.dark) .ops-scheduler-chip--today,
html.fi:not(.dark) .ops-view-toggle__option.is-active {
    background: linear-gradient(135deg, #152133, #314865);
    color: #fff8f1;
    box-shadow: 0 10px 18px rgba(15, 24, 35, 0.16);
}

html.fi:not(.dark) .ops-scheduler-export,
html.fi:not(.dark) .ops-table-link,
html.fi:not(.dark) .ops-month-strip__day.is-selected {
    border-color: rgba(21, 33, 51, 0.18);
    background: linear-gradient(135deg, #152133, #314865);
    color: #f9f5ee;
    box-shadow: 0 16px 30px rgba(21, 33, 51, 0.18);
}

html.fi:not(.dark) .ops-filter-field select,
html.fi:not(.dark) .ops-scheduler-metric,
html.fi:not(.dark) .ops-strip-shell,
html.fi:not(.dark) .ops-support-card {
    border-color: rgba(72, 84, 103, 0.14);
    background: rgba(255, 255, 255, 0.64);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.56);
}

html.fi:not(.dark) .ops-filter-field select {
    color: #172334;
    color-scheme: light;
}

html.fi:not(.dark) .ops-scheduler-metric strong {
    color: #172334;
}

html.fi:not(.dark) .ops-month-strip__day {
    border-color: rgba(72, 84, 103, 0.14);
    background: rgba(255, 255, 255, 0.68);
    color: #172334;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.62);
}

html.fi:not(.dark) .ops-month-strip__day.is-selected .ops-month-strip__dow,
html.fi:not(.dark) .ops-month-strip__day.is-selected .ops-month-strip__number,
html.fi:not(.dark) .ops-month-strip__day.is-selected .ops-month-strip__count {
    color: #fff8f1;
}

html.fi:not(.dark) .ops-month-strip__bar {
    background: rgba(36, 51, 73, 0.16);
}

html.fi:not(.dark) .ops-month-strip__fill {
    background: linear-gradient(90deg, #d2b487, #7f92b1);
}

html.fi:not(.dark) .ops-month-strip__alert,
html.fi:not(.dark) .ops-month-cell__alert {
    background: #d89058;
    color: #fff7ef;
    box-shadow: 0 0 0 0.22rem rgba(216, 144, 88, 0.16);
}

html.fi:not(.dark) .ops-scheduler-stage {
    border-color: rgba(89, 106, 132, 0.24);
    background: linear-gradient(180deg, #162131 0%, #111824 100%);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

html.fi:not(.dark) .ops-calendar-surface {
    color: #f4f7fb;
}

html.fi:not(.dark) .ops-day-grid__corner,
html.fi:not(.dark) .ops-day-grid__lane-head,
html.fi:not(.dark) .ops-day-grid__times,
html.fi:not(.dark) .ops-day-grid__lane,
html.fi:not(.dark) .ops-week-day,
html.fi:not(.dark) .ops-month-cell,
html.fi:not(.dark) .ops-table-shell {
    border-color: rgba(143, 160, 185, 0.16);
    background: rgba(255, 255, 255, 0.04);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

html.fi:not(.dark) .ops-day-grid__time,
html.fi:not(.dark) .ops-day-grid__line,
html.fi:not(.dark) .ops-week-booking__customer,
html.fi:not(.dark) .ops-month-booking__service,
html.fi:not(.dark) .ops-time-card__duration,
html.fi:not(.dark) .ops-time-card__customer,
html.fi:not(.dark) .ops-time-card__guests {
    color: rgba(204, 214, 228, 0.82);
}

html.fi:not(.dark) .ops-scheduler-stage .ops-day-grid__corner,
html.fi:not(.dark) .ops-scheduler-stage .ops-day-grid__lane-count,
html.fi:not(.dark) .ops-scheduler-stage .ops-week-day__dow,
html.fi:not(.dark) .ops-scheduler-stage .ops-week-day__count,
html.fi:not(.dark) .ops-scheduler-stage .ops-month-cell__more,
html.fi:not(.dark) .ops-scheduler-stage .ops-month-cell__empty {
    color: rgba(204, 214, 228, 0.82);
}

html.fi:not(.dark) .ops-scheduler-stage .ops-week-day__date,
html.fi:not(.dark) .ops-scheduler-stage .ops-month-cell__date {
    color: #f4f7fb;
}

html.fi:not(.dark) .ops-day-grid__line {
    border-top-color: rgba(255, 255, 255, 0.06);
}

html.fi:not(.dark) .ops-day-grid__empty,
html.fi:not(.dark) .ops-time-card,
html.fi:not(.dark) .ops-week-booking,
html.fi:not(.dark) .ops-month-booking {
    border-color: rgba(143, 160, 185, 0.16);
    background: rgba(255, 255, 255, 0.05);
    color: #f4f7fb;
}

html.fi:not(.dark) .ops-support-booking {
    border-color: rgba(72, 84, 103, 0.12);
    background: rgba(14, 21, 31, 0.04);
    color: #172334;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

html.fi:not(.dark) .ops-support-booking__meta,
html.fi:not(.dark) .ops-support-booking__stamp {
    color: #5a6d84;
}

html.fi:not(.dark) .ops-empty {
    border-color: rgba(72, 84, 103, 0.16);
    background: rgba(255, 255, 255, 0.4);
    color: #506277;
}

html.fi:not(.dark) .ops-data-table thead th {
    border-bottom-color: rgba(143, 160, 185, 0.14);
    background: rgba(255, 255, 255, 0.55);
    color: #506277;
}

html.fi.dark .fi-topbar {
    background: rgba(9, 12, 18, 0.94);
    border-bottom: 1px solid rgba(158, 176, 201, 0.16);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.3);
}

html.fi.dark .fi-sidebar {
    background: linear-gradient(180deg, #090d14 0%, #070a10 100%) !important;
    border-right: 1px solid rgba(158, 176, 201, 0.14);
}

html.fi.dark .fi-topbar .fi-logo,
html.fi.dark .fi-sidebar .fi-logo,
html.fi.dark .fi-topbar-item-label,
html.fi.dark .fi-sidebar-item-label {
    color: #edf3fb;
}

html.fi.dark .fi-sidebar-group-label,
html.fi.dark .fi-sidebar-group-btn .fi-icon,
html.fi.dark .fi-sidebar-group-dropdown-trigger-btn .fi-icon,
html.fi.dark .fi-topbar-item-btn > .fi-icon,
html.fi.dark .fi-sidebar-item-btn > .fi-icon,
html.fi.dark .fi-sidebar-database-notifications-btn > .fi-icon {
    color: rgba(201, 214, 231, 0.78);
}

html.fi.dark .fi-topbar-item-btn:hover,
html.fi.dark .fi-topbar-item-btn:focus-visible,
html.fi.dark .fi-sidebar-group-dropdown-trigger-btn:hover,
html.fi.dark .fi-sidebar-group-dropdown-trigger-btn:focus-visible,
html.fi.dark .fi-sidebar-item.fi-sidebar-item-has-url > .fi-sidebar-item-btn:hover,
html.fi.dark .fi-sidebar-item.fi-sidebar-item-has-url > .fi-sidebar-item-btn:focus-visible,
html.fi.dark .fi-sidebar-database-notifications-btn:hover,
html.fi.dark .fi-sidebar-database-notifications-btn:focus-visible {
    background: rgba(255, 255, 255, 0.06);
}

html.fi.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-btn,
html.fi.dark .fi-sidebar-item.fi-sidebar-item-has-active-child-items > .fi-sidebar-item-btn,
html.fi.dark .fi-topbar-item.fi-active .fi-topbar-item-btn {
    background: linear-gradient(135deg, rgba(198, 154, 99, 0.22), rgba(55, 71, 93, 0.3));
    border-color: rgba(198, 154, 99, 0.28);
    box-shadow: inset 0 0 0 1px rgba(198, 154, 99, 0.12);
}

html.fi.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-icon,
html.fi.dark .fi-sidebar-item.fi-active > .fi-sidebar-item-btn > .fi-sidebar-item-label,
html.fi.dark .fi-topbar-item.fi-active .fi-topbar-item-btn > .fi-icon,
html.fi.dark .fi-topbar-item.fi-active .fi-topbar-item-label {
    color: #fff7ee;
}

html.fi.dark .fi-sidebar-item.fi-active .fi-sidebar-item-grouped-border-part,
html.fi.dark .fi-sidebar-item.fi-sidebar-item-has-active-child-items .fi-sidebar-item-grouped-border-part {
    background: #d6aa72;
}

html.fi.dark .fi-wi-stats-overview-stat {
    border: 1px solid rgba(158, 176, 201, 0.16);
    background:
        radial-gradient(circle at top left, rgba(198, 154, 99, 0.08), transparent 28%),
        linear-gradient(180deg, rgba(21, 29, 41, 0.98), rgba(14, 19, 28, 0.98));
}

html.fi.dark .fi-wi-stats-overview-stat .fi-icon,
html.fi.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-label {
    color: rgba(210, 222, 237, 0.8);
}

html.fi.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description,
html.fi.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color,
html.fi.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-description.fi-color .fi-icon {
    color: #b0c0d4;
}

html.fi.dark .fi-wi-stats-overview-stat .fi-wi-stats-overview-stat-value {
    color: #f4f8fd;
}

html.fi.dark .ops-hero,
html.fi.dark .ops-panel,
html.fi.dark .ops-widget-shell,
html.fi.dark .ops-scheduler-shell,
html.fi.dark .ops-strip-shell,
html.fi.dark .ops-scheduler-stage,
html.fi.dark .ops-support-card {
    border-color: rgba(158, 176, 201, 0.16);
    background:
        radial-gradient(circle at top left, rgba(198, 154, 99, 0.08), transparent 32%),
        linear-gradient(180deg, rgba(22, 31, 44, 0.98), rgba(14, 20, 29, 0.98));
    box-shadow: var(--ops-shadow);
}

html.fi.dark .ops-site-card,
html.fi.dark .ops-priority-card,
html.fi.dark .ops-customer-card,
html.fi.dark .ops-rail-card,
html.fi.dark .ops-stat-card,
html.fi.dark .ops-scheduler-metric,
html.fi.dark .ops-month-strip__day,
html.fi.dark .ops-day-grid__corner,
html.fi.dark .ops-day-grid__lane-head,
html.fi.dark .ops-day-grid__times,
html.fi.dark .ops-day-grid__lane,
html.fi.dark .ops-week-day,
html.fi.dark .ops-month-cell,
html.fi.dark .ops-table-shell,
html.fi.dark .ops-day-grid__empty,
html.fi.dark .ops-time-card,
html.fi.dark .ops-week-booking,
html.fi.dark .ops-month-booking,
html.fi.dark .ops-support-booking,
html.fi.dark .ops-filter-field select {
    border-color: rgba(158, 176, 201, 0.18);
    background: linear-gradient(180deg, rgba(30, 42, 58, 0.98), rgba(21, 29, 41, 0.98));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

html.fi.dark .ops-title,
html.fi.dark .ops-panel__title,
html.fi.dark .ops-site-name,
html.fi.dark .ops-priority-card__title,
html.fi.dark .ops-customer-card__title,
html.fi.dark .ops-site-value,
html.fi.dark .ops-stat-card__value,
html.fi.dark .ops-scheduler-title,
html.fi.dark .ops-strip-shell__title,
html.fi.dark .ops-support-card__title,
html.fi.dark .ops-month-strip__number,
html.fi.dark .ops-week-day__date,
html.fi.dark .ops-list-day__date,
html.fi.dark .ops-month-cell__date,
html.fi.dark .ops-time-card__time,
html.fi.dark .ops-week-booking__time,
html.fi.dark .ops-month-booking__time,
html.fi.dark .ops-data-table__primary,
html.fi.dark .ops-time-card__service,
html.fi.dark .ops-week-booking__service,
html.fi.dark .ops-support-booking__title {
    color: #f4f8fd;
}

html.fi.dark .ops-eyebrow,
html.fi.dark .ops-panel__eyebrow,
html.fi.dark .ops-list-label,
html.fi.dark .ops-calendar-month,
html.fi.dark .ops-stat-card__label,
html.fi.dark .ops-scheduler-kicker,
html.fi.dark .ops-filter-field span,
html.fi.dark .ops-scheduler-metric__label,
html.fi.dark .ops-day-grid__corner,
html.fi.dark .ops-week-day__dow,
html.fi.dark .ops-month-grid__weekday,
html.fi.dark .ops-list-day__label,
html.fi.dark .ops-month-strip__dow {
    color: rgba(210, 222, 237, 0.82);
}

html.fi.dark .ops-subtitle,
html.fi.dark .ops-panel__description,
html.fi.dark .ops-inline-note,
html.fi.dark .ops-empty,
html.fi.dark .ops-customer-meta,
html.fi.dark .ops-site-note,
html.fi.dark .ops-booking-meta,
html.fi.dark .ops-meta-row,
html.fi.dark .ops-stat-card__note,
html.fi.dark .ops-priority-card__meta,
html.fi.dark .ops-priority-card__time,
html.fi.dark .ops-scheduler-range,
html.fi.dark .ops-strip-shell__note,
html.fi.dark .ops-surface-note,
html.fi.dark .ops-month-strip__count,
html.fi.dark .ops-day-grid__lane-count,
html.fi.dark .ops-week-day__count,
html.fi.dark .ops-month-cell__empty,
html.fi.dark .ops-month-cell__more,
html.fi.dark .ops-data-table__secondary,
html.fi.dark .ops-day-grid__time,
html.fi.dark .ops-time-card__duration,
html.fi.dark .ops-time-card__customer,
html.fi.dark .ops-time-card__guests,
html.fi.dark .ops-week-booking__customer,
html.fi.dark .ops-month-booking__service,
html.fi.dark .ops-support-booking__meta,
html.fi.dark .ops-support-booking__stamp {
    color: #b2c1d4;
}

html.fi.dark .ops-scheduler-shell__year {
    color: rgba(198, 154, 99, 0.12);
}

html.fi.dark .ops-control,
html.fi.dark .ops-link-button,
html.fi.dark .ops-scheduler-nav,
html.fi.dark .ops-view-toggle,
html.fi.dark .ops-scroll-controls {
    border-color: rgba(158, 176, 201, 0.22);
    background: rgba(16, 24, 34, 0.78);
    color: #eef4fc;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

html.fi.dark .ops-scheduler-chip,
html.fi.dark .ops-scheduler-icon,
html.fi.dark .ops-view-toggle__option,
html.fi.dark .ops-scroll-control,
html.fi.dark .ops-scheduler-export,
html.fi.dark .ops-table-link {
    color: #d7e2f1;
}

html.fi.dark .ops-control:hover,
html.fi.dark .ops-link-button:hover,
html.fi.dark .ops-scheduler-chip:hover,
html.fi.dark .ops-scheduler-icon:hover,
html.fi.dark .ops-view-toggle__option:hover,
html.fi.dark .ops-scroll-control:hover,
html.fi.dark .ops-month-strip__day:hover,
html.fi.dark .ops-time-card:hover,
html.fi.dark .ops-week-booking:hover,
html.fi.dark .ops-month-booking:hover,
html.fi.dark .ops-support-booking:hover,
html.fi.dark .ops-table-link:hover {
    background: rgba(255, 255, 255, 0.085);
}

html.fi.dark .ops-control--primary,
html.fi.dark .ops-link-button--primary,
html.fi.dark .ops-scheduler-chip--today,
html.fi.dark .ops-view-toggle__option.is-active,
html.fi.dark .ops-scheduler-export,
html.fi.dark .ops-table-link,
html.fi.dark .ops-month-strip__day.is-selected {
    border-color: rgba(214, 170, 114, 0.34);
    background: linear-gradient(135deg, rgba(214, 170, 114, 0.32), rgba(97, 70, 38, 0.32));
    color: #fff7ee;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

html.fi.dark .ops-link-button--ghost {
    background: rgba(16, 24, 34, 0.78);
}

html.fi.dark .ops-month-strip__day.is-selected .ops-month-strip__dow,
html.fi.dark .ops-month-strip__day.is-selected .ops-month-strip__number,
html.fi.dark .ops-month-strip__day.is-selected .ops-month-strip__count {
    color: #fff7ee;
}

html.fi.dark .ops-month-strip__day.is-today {
    box-shadow: inset 0 0 0 1px rgba(214, 170, 114, 0.42);
}

html.fi.dark .ops-month-strip__bar {
    background: rgba(255, 255, 255, 0.12);
}

html.fi.dark .ops-month-strip__fill {
    background: linear-gradient(90deg, #d6aa72, #f0c690);
}

html.fi.dark .ops-month-strip__alert,
html.fi.dark .ops-month-cell__alert {
    background: #dc8f55;
    color: #fff7ef;
    box-shadow: 0 0 0 0.22rem rgba(220, 143, 85, 0.16);
}

html.fi.dark .ops-calendar-surface {
    color: #f4f8fd;
}

html.fi.dark .ops-day-grid__line {
    border-top-color: rgba(255, 255, 255, 0.08);
}

html.fi.dark .ops-empty {
    border-color: rgba(158, 176, 201, 0.22);
    background: rgba(255, 255, 255, 0.04);
    color: #b2c1d4;
}

html.fi.dark .ops-data-table thead th {
    border-bottom-color: rgba(158, 176, 201, 0.14);
    background: rgba(255, 255, 255, 0.045);
    color: rgba(218, 229, 242, 0.84);
}

html.fi.dark .ops-filter-field select {
    color: #eef4fc;
    color-scheme: dark;
}

html.fi.dark .ops-scheduler-metric strong {
    color: #f4f8fd;
}
