@font-face {
    font-family: 'Roboto';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/fonts/roboto/roboto-latin.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: 'Roboto';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('/assets/fonts/roboto/roboto-latin-ext.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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

:root {
    --cs-primary: #1976d2;
    --cs-secondary: #424242;
    --cs-success: #4caf50;
    --cs-warning: #fb8c00;
    --cs-error: #ff5252;
    --cs-info: #2196f3;
    --cs-drawer: #263238;
    --cs-canvas: #efefef;
    --cs-surface: #ffffff;
    --cs-text: rgba(0, 0, 0, .87);
    --cs-muted: rgba(0, 0, 0, .6);
    --cs-divider: rgba(0, 0, 0, .12);
    --cs-radius: 4px;
    --cs-elevation-2: 0 3px 1px -2px rgb(0 0 0 / 20%), 0 2px 2px 0 rgb(0 0 0 / 14%), 0 1px 5px 0 rgb(0 0 0 / 12%);
    --cs-elevation-8: 0 5px 5px -3px rgb(0 0 0 / 20%), 0 8px 10px 1px rgb(0 0 0 / 14%), 0 3px 14px 2px rgb(0 0 0 / 12%);
    color: var(--cs-text);
    font-family: Roboto, sans-serif;
    font-size: 16px;
    line-height: 1.5;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--cs-canvas); }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.cs-masthead { display: flex; align-items: center; min-height: 48px; padding: 0 24px 0 4px; color: #fff; background: var(--cs-success); box-shadow: var(--cs-elevation-2); }
.cs-masthead-brand { margin-left: 28px; font-size: 20px; font-weight: 400; line-height: 30px; }
.cs-masthead-actions { display: flex; align-items: center; gap: 8px; margin-left: auto; }
.cs-app-shell { display: flex; flex-direction: column; height: 100vh; overflow: hidden; background: var(--cs-canvas); }
.cs-app-shell-main { display: flex; flex: 1; min-height: 0; }
.cs-app-shell-content { position: relative; flex: 1; padding: 16px; overflow-y: scroll; background: var(--cs-canvas); }
.cs-menu { width: 256px; min-height: 540px; padding: 8px; overflow-y: auto; color: #fff; background: var(--cs-drawer); }
.cs-menu a { display: flex; align-items: center; min-height: 40px; padding: 0 8px; margin-bottom: 8px; color: rgb(255 255 255 / 70%); font-size: 13px; font-weight: 500; text-decoration: none; border-radius: var(--cs-radius); }
.cs-menu i { width: 24px; margin-right: 32px; font-size: 24px; }
.cs-menu a.is-active, .cs-menu a:hover { color: #fff; background: rgb(255 255 255 / 12%); }
.cs-menu--mini { width: 56px; }
.cs-menu--mini span { display: none; }
.cs-menu--mini i { margin-right: 0; }
.cs-panel { min-height: 80vh; padding: 8px; background: #fff; }
.cs-app-shell-content:has(> .cs-panel) { padding: 0; background: #fff; }
.cs-panel > h2 { padding: 8px; margin: 0; color: #444; font-size: 32px; font-weight: 700; line-height: 48px; }
.cs-panel-back { padding: 8px; color: var(--cs-primary); font-size: .8em; text-decoration: none; }
.cs-panel-back-label { display: inline-flex; margin: 16px 32px 16px 0; }
.cs-panel-back-label i { display: flex; color: rgba(0, 0, 0, .54); font-size: 16px; line-height: 16px; }
.cs-panel-content { padding: 8px; }
.cs-dark-panel { min-height: 80vh; }
.cs-dark-panel > h2 { padding: 8px; margin: 0; color: #444; font-size: 32px; font-weight: 700; line-height: 40px; }
.cs-toolbar { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: 24px; margin: -12px; }
.cs-toolbar > div { flex: 1 0 0; padding: 12px; }
.cs-toolbar-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; }
.cs-grid { display: flex; flex-wrap: wrap; margin: -12px; }
.cs-grid > * { flex: 1 0 0; min-width: 0; padding: 12px; }
.cs-grid > .cs-grid-col--full { flex: 0 0 100%; }
.cs-grid > .cs-grid-col--half { flex: 0 0 50%; }
.cs-grid > .cs-grid-col--quarter { flex: 0 0 25%; }
.cs-card { max-width: 500px; background: #fff; border-radius: var(--cs-radius); box-shadow: var(--cs-elevation-2); }
.cs-card-title { padding: 16px; font-size: 20px; font-weight: 500; letter-spacing: .0125em; }
.cs-card-text { padding: 0 16px 16px; color: var(--cs-muted); font-size: 14px; }
.cs-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: 8px; padding: 8px; }
.cs-login { background: #d2d6de; }
.cs-login-frame { display: flex; justify-content: center; min-height: 100vh; padding: 20vh 16px 16px; }
.cs-login-form { width: min(500px, 100%); }
.cs-login-form--narrow { width: min(400px, 100%); }
.cs-login-logo { display: block; margin: 0 auto 28px; }
.cs-login-google { margin: 0; text-align: center; }
.cs-login-form .cs-alert { margin: 16px 0; }
.cs-login-form .cs-card-actions { justify-content: flex-start; }
.cs-login-form .cs-card-text { padding-top: 28px; }
.cs-login-form .cs-field { width: 100%; }
.cs-login-form p { margin: 0; }
.cs-dashboard-tile { display: block; height: 100%; box-sizing: border-box; padding: 16px; color: var(--cs-text); text-align: center; text-decoration: none; background: #fff; border-radius: var(--cs-radius); }
a.cs-dashboard-tile:hover { background: #fafafa; }
.cs-dashboard-tile-icon { display: flex; align-items: center; justify-content: center; height: 48px; color: rgba(0, 0, 0, .54); font-size: 3rem; line-height: 1; }
.cs-dashboard-tile-icon--error { color: var(--cs-error); }
.cs-dashboard-tile-icon--success { color: var(--cs-success); }
.cs-dashboard-tile-arrow { font-size: 2rem; }
.cs-dashboard-tile-title { display: flex; justify-content: center; padding: 16px 16px 0; font-size: 20px; font-weight: 500; line-height: 2rem; letter-spacing: .0125em; }
.cs-dashboard-tile-subtitle { padding: 0 16px 16px; color: var(--cs-muted); font-size: 14px; line-height: 22px; letter-spacing: .0071428571em; }
.cs-dashboard-tile-text { padding: 0 16px 16px; color: var(--cs-muted); font-size: 14px; line-height: 22px; letter-spacing: .0071428571em; }
.cs-info-popup[popover] { width: min(500px, 100%); max-width: min(500px, 100%); padding: 0; color: var(--cs-text); border: 0; }
.cs-info-popup .cs-card-title { padding: 16px 24px 10px; line-height: 32px; }
.cs-info-popup .cs-card-text { padding: 0 24px 20px; line-height: 22px; letter-spacing: .0071428571em; }
.cs-info-popup .cs-card-text p { margin: 0 0 16px; }
.cs-info-popup .cs-card-text ul { margin: 0; padding-left: 24px; }
.cs-button, .cs-icon-button { display: inline-flex; align-items: center; justify-content: center; min-width: 64px; height: 36px; padding: 0 16px; color: var(--cs-text); font-size: 14px; font-weight: 500; letter-spacing: .0892857em; line-height: 1; text-decoration: none; text-indent: .0892857em; text-transform: none; background: #f5f5f5; border: 0; border-radius: var(--cs-radius); box-shadow: var(--cs-elevation-2); }
.cs-button:hover { background: #e1e1e1; }
.cs-button i { display: inline-flex; justify-content: center; width: 18px; margin: 0 8px 0 -4px; font-size: 18px; letter-spacing: 0; text-indent: 0; }
.cs-button-image { height: 20px; margin-right: 8px; }
.cs-button .cs-button-icon--after { margin: 0 -4px 0 8px; }
.cs-button .cs-button-icon--small { font-size: 16px; }
.cs-button .cs-button-icon--plain { width: auto; margin: 0; font-size: 24px; }
.cs-button .cs-button-icon--plain.cs-button-icon--small { font-size: 16px; }
.cs-button--ghost { color: #fff; background: transparent; box-shadow: none; }
.cs-button--ghost:hover { background: rgb(255 255 255 / 12%); }
.cs-button--primary { color: #fff; background: var(--cs-primary); box-shadow: var(--cs-elevation-2); }
.cs-button--primary:hover { background: #2b81d6; }
.cs-button--secondary { color: #fff; background: var(--cs-secondary); box-shadow: var(--cs-elevation-2); }
.cs-button--secondary:hover { background: #515151; }
.cs-button--danger { color: #fff; background: var(--cs-error); box-shadow: var(--cs-elevation-2); }
.cs-button--success { color: #fff; background: var(--cs-success); box-shadow: var(--cs-elevation-2); }
.cs-button--warning { color: #fff; background: var(--cs-warning); box-shadow: var(--cs-elevation-2); }
.cs-button--warning:hover { background: #fb9a2b; }
.cs-button--text { background: transparent; box-shadow: none; }
.cs-button--text:hover { background: rgb(0 0 0 / 4%); }
.cs-button--success:hover { background: #5cb860; }
.cs-button--danger:hover { background: #ff6060; }
.cs-button--small { min-width: 50px; height: 28px; padding: 0 12.444px; font-size: 12px; }
.cs-button--x-small { min-width: 36px; height: 20px; padding: 0 8.889px; font-size: 10px; }
.cs-button--x-small i { font-size: 12px; }
.cs-button:disabled { color: rgb(0 0 0 / 26%); background: rgb(0 0 0 / 12%); box-shadow: none; cursor: default; }
.cs-button-group, .cs-filter-bar, .cs-tabs { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cs-filter-bar { align-items: flex-start; }
.cs-filter-bar > .cs-button { margin-top: 14px; }
.cs-filter-bar > .cs-button--small { margin-top: 18px; }
.cs-icon-button { width: 28px; min-width: 0; height: 28px; padding: 0; color: rgb(0 0 0 / 54%); letter-spacing: 0; text-indent: 0; background: transparent; border-radius: 50%; box-shadow: none; }
.cs-icon-button i { margin: 0; font-size: 24px; line-height: 24px; }
.cs-icon-button:hover { background: rgb(0 0 0 / 8%); }
.cs-icon-button:disabled, .cs-icon-button.is-disabled, .cs-icon-button[aria-disabled="true"] { color: rgb(0 0 0 / 26%); pointer-events: none; }
.cs-icon-button--plain, .cs-icon-button--link { width: auto; height: auto; vertical-align: middle; border-radius: 0; }
.cs-icon-button--plain:hover, .cs-icon-button--link:hover { background: transparent; }
.cs-icon-button--link { color: var(--cs-primary); }
.cs-icon-button--small i { font-size: 16px; line-height: 16px; }
.cs-masthead .cs-icon-button { width: 48px; height: 48px; padding: 0; border-radius: 50%; }
.cs-masthead .cs-icon-button i { font-size: 24px; }
.cs-masthead .cs-icon-button:hover { background: rgb(255 255 255 / 12%); }
.cs-icon { display: inline-flex; font-size: 24px; line-height: 1; vertical-align: middle; }
.cs-icon--small { font-size: 18px; }
.cs-divider { height: 0; margin: 0; border: 0; border-top: thin solid var(--cs-divider); }
.cs-image { display: block; max-width: 100%; border-radius: var(--cs-radius); }
.cs-image-placeholder { display: grid; place-items: center; color: var(--cs-muted); background: #f5f5f5; }
.cs-field { display: grid; gap: 8px; width: min(100%, 440px); padding-top: 12px; margin-top: 4px; }
.cs-field label { color: var(--cs-muted); font-size: 12px; line-height: 20px; }
.cs-field input, .cs-field select { width: 100%; height: 32px; padding: 7px 0 6px; color: var(--cs-text); font-size: 16px; background: transparent; border: 0; border-bottom: 1px solid rgb(0 0 0 / 42%); border-radius: 0; }
.cs-field textarea { width: 100%; min-height: 32px; padding: 0; line-height: 28px; color: var(--cs-text); font-size: 16px; background: transparent; border: 0; border-bottom: 1px solid rgb(0 0 0 / 42%); border-radius: 0; }
.cs-field input:focus, .cs-field select:focus, .cs-field textarea:focus { outline: 0; border-bottom-color: var(--cs-primary); box-shadow: 0 1px 0 var(--cs-primary); }
.cs-field small { min-height: 14px; color: var(--cs-muted); font-size: 12px; line-height: 14px; }
.cs-field--outlined { padding-top: 0; }
.cs-field--outlined > input { height: 40px; padding: 0 12px; border: 1px solid rgb(0 0 0 / 38%); border-radius: 4px; }
.cs-field--outlined > input:focus { padding: 0 11px; border: 2px solid var(--cs-primary); box-shadow: none; }
.cs-field--outlined.cs-field--with-icon > input { padding-left: 40px; }
.cs-field--outlined.cs-field--with-icon > input:focus { padding-left: 39px; }
.cs-field--float.cs-field--outlined > label { top: 9px; left: 12px; padding: 0 4px; margin-left: -4px; line-height: 20px; background: #fff; }
.cs-field--float.cs-field--outlined.cs-field--with-icon > label { left: 40px; }
.cs-field--float.cs-field--outlined > input:focus ~ label, .cs-field--float.cs-field--outlined > input:not(:placeholder-shown) ~ label { top: -7px; left: 12px; font-size: 12px; line-height: 14px; }
.cs-field-icon { position: absolute; top: 8px; left: 12px; color: rgb(0 0 0 / 54%); font-size: 24px; line-height: 1; pointer-events: none; }
.cs-field--outlined textarea { padding: 5px 11px 0; border: 1px solid rgb(0 0 0 / 38%); border-radius: 4px; resize: none; }
.cs-field--outlined textarea:focus { border: 2px solid var(--cs-primary); padding: 4px 10px 0; box-shadow: none; }
.cs-field--outlined small { padding: 0 12px; }
.cs-field--outlined textarea:not(:focus) ~ small { visibility: hidden; }
.cs-field-readout { color: var(--cs-text); font-size: 12px; }
.cs-field--prepend { grid-template-columns: 24px minmax(0, 1fr); column-gap: 9px; }
.cs-field--picker > :not(.cs-field-prepend) { grid-column: 1; }
.cs-field--prepend > :not(.cs-field-prepend) { grid-column: 2; }
.cs-field--prepend > .cs-field-prepend { grid-row: 1; grid-column: 1; align-self: center; color: rgb(0 0 0 / 54%); font-size: 24px; line-height: 24px; }
.cs-field--prepend > label { left: 33px; }
.cs-field--picker > input { position: relative; grid-row: 1; }
.cs-field--picker > input::-webkit-calendar-picker-indicator { position: absolute; inset: 0; width: auto; height: auto; opacity: 0; cursor: pointer; }
.cs-field--picker > input:not(:focus)::-webkit-datetime-edit { color: transparent; }
.cs-field-shown { display: flex; align-items: center; grid-row: 1; min-width: 0; overflow: hidden; color: var(--cs-text); font-size: 16px; white-space: nowrap; pointer-events: none; }
.cs-field--picker > input:focus ~ .cs-field-shown { visibility: hidden; }
.cs-field--picker:not(.is-enhanced) > input:is(:user-valid, :user-invalid):not(:focus)::-webkit-datetime-edit { color: inherit; }
.cs-field--picker:not(.is-enhanced) > input:is(:user-valid, :user-invalid) ~ .cs-field-shown { visibility: hidden; }
.cs-field--picker:not(.cs-field--floated) > input:not(:focus) ~ label { top: 12px; font-size: 16px; line-height: 32px; }
.cs-field--picker:not(.is-enhanced) > input:user-valid ~ label { top: 0; font-size: 12px; line-height: 12px; }
.cs-field-clear { z-index: 1; display: inline-flex; grid-row: 1; justify-self: end; align-self: center; padding: 0; color: rgb(0 0 0 / 54%); font-size: 24px; line-height: 24px; text-decoration: none; background: none; border: 0; }
.cs-field--float { position: relative; }
.cs-field--float > label { position: absolute; top: 12px; left: 0; font-size: 16px; line-height: 32px; pointer-events: none; transition: top .15s ease, font-size .15s ease, line-height .15s ease; }
.cs-field--float > input:not(:placeholder-shown) ~ label, .cs-field--float > textarea:not(:placeholder-shown) ~ label, .cs-field--floated > label { top: 0; font-size: 12px; line-height: 12px; }
.cs-field--float > input:focus ~ label, .cs-field--float > select:focus ~ label, .cs-field--float > textarea:focus ~ label { top: 0; color: var(--cs-primary); font-size: 12px; line-height: 12px; }
.cs-field--select > select { grid-row: 1; grid-column: 1; padding-right: 24px; appearance: none; cursor: pointer; }
.cs-field-arrow { grid-row: 1; grid-column: 1; align-self: center; justify-self: end; color: rgb(0 0 0 / 54%); font-size: 24px; line-height: 24px; pointer-events: none; }
.cs-field--select > select:focus ~ .cs-field-arrow { color: var(--cs-primary); }
.cs-field--select:has(> select option[value=""]:checked:empty) > select:not(:focus) ~ label { top: 12px; font-size: 16px; line-height: 32px; }
.cs-field-error { color: var(--cs-error) !important; }
.cs-field--error label, .cs-field--error input { color: var(--cs-error); border-bottom-color: var(--cs-error); }
.cs-switch { display: flex; align-items: center; gap: 12px; min-height: 40px; font-size: 16px; }
.cs-switch-track { position: relative; flex: 0 0 36px; width: 36px; height: 14px; background: rgb(0 0 0 / 38%); border-radius: 8px; }
.cs-switch-track b { position: absolute; top: -3px; left: 0; width: 20px; height: 20px; background: #fafafa; border-radius: 50%; box-shadow: var(--cs-elevation-2); transition: left .2s; }
.cs-switch--on .cs-switch-track, .cs-switch:has(input:checked) .cs-switch-track { background: var(--cs-primary); opacity: .6; }
.cs-switch--on .cs-switch-track b, .cs-switch:has(input:checked) .cs-switch-track b { left: 16px; background: var(--cs-primary); opacity: 1; }
.cs-switch:has(input:not(:checked)) .cs-switch-track { background: rgb(0 0 0 / 38%); opacity: 1; }
.cs-switch:has(input:not(:checked)) .cs-switch-track b { left: 0; background: #fafafa; }
.cs-checkbox { display: flex; align-items: center; gap: 8px; min-height: 24px; padding-top: 4px; margin-top: 4px; color: var(--cs-muted); font-size: 16px; line-height: 20px; }
.cs-checkbox input { flex: none; width: 15px; height: 15px; margin: 4.5px; accent-color: var(--cs-primary); }
.cs-menu-surface .cs-checkbox { padding-top: 0; margin-top: 0; color: var(--cs-text); font-size: 14px; line-height: 1.5; }
.cs-menu-surface .cs-checkbox input { width: 18px; height: 18px; margin: 3px 3px 3px 4px; }
.cs-combobox .cs-chip { margin: 4px 4px 0 0; }
.cs-menu-surface { width: max-content; min-width: 160px; padding: 8px 0; background: #fff; border: 0; border-radius: var(--cs-radius); box-shadow: var(--cs-elevation-8); }
.cs-menu-surface[popover] { position: fixed; inset: auto; margin: 0; top: anchor(bottom); left: anchor(left); }
.cs-menu-surface a { display: flex; align-items: center; min-height: 48px; padding: 0 16px; color: var(--cs-text); font-size: 16px; text-decoration: none; }
.cs-menu-surface a:hover { background: rgb(0 0 0 / 4%); }
.cs-menu-surface form { margin: 0; }
.cs-menu-surface button { display: flex; align-items: center; width: 100%; min-height: 48px; padding: 0 16px; color: var(--cs-text); font-size: 16px; text-align: left; background: none; border: 0; }
.cs-menu-surface button:hover { background: rgb(0 0 0 / 4%); }
.cs-statistic strong, .cs-statistic span { display: block; }
.cs-post-link { display: inline; margin: 0; }
.cs-post-link button { padding: 0; color: var(--cs-primary); font: inherit; letter-spacing: inherit; text-decoration: underline; background: none; border: 0; cursor: pointer; }
.cs-inline-form { display: inline; margin: 0; }
.cs-selection-list { max-width: 440px; padding: 8px 0; background: #fff; }
.cs-selection-list a { display: flex; align-items: center; gap: 32px; min-height: 40px; padding: 0 16px; color: var(--cs-text); text-decoration: none; }
.cs-selection-list a:hover { background: rgb(0 0 0 / 4%); }
.cs-selection-list a.is-active { color: var(--cs-primary); background: rgb(25 118 210 / 12%); }
.cs-selection-list i { font-size: 24px; }
.cs-selection-list strong { font-size: 13px; font-weight: 400; }
.cs-selection-list small { display: block; color: var(--cs-muted); font-size: 12px; }
.cs-tooltip { position: relative; display: inline-flex; }
.cs-tooltip:hover, .cs-tooltip:focus-visible { outline: 0; }
.cs-tooltip-bubble { position: absolute; top: 100%; left: 0; z-index: 1; display: none; width: max-content; max-width: 200px; padding: 5px 16px; color: #fff; font-size: 14px; background: rgb(97 97 97 / 90%); border-radius: var(--cs-radius); }
.cs-tooltip:hover .cs-tooltip-bubble, .cs-tooltip:focus-visible .cs-tooltip-bubble { display: block; }
.cs-alert { display: flex; gap: 12px; padding: 12px 16px; color: #fff; border-left: 4px solid; border-radius: var(--cs-radius); box-shadow: var(--cs-elevation-2); }
.cs-alert strong, .cs-alert p { display: block; margin: 0; }
.cs-alert--success { background: var(--cs-success); border-left-color: #2e7d32; }
.cs-alert--info { background: var(--cs-info); border-left-color: #1565c0; }
.cs-alert--warning { background: var(--cs-warning); border-left-color: #e65100; }
.cs-alert--error { background: var(--cs-error); border-left-color: #c62828; }
.cs-badge { display: inline-flex; padding: 3px 8px; color: #fff; font-size: 12px; font-weight: 500; background: var(--cs-success); border-radius: 16px; }
.cs-badge--neutral { background: var(--cs-secondary); }
.cs-chip { display: inline-flex; align-items: center; height: 32px; padding: 0 12px; color: var(--cs-text); font-size: 14px; background: #e0e0e0; border-radius: 16px; }
.cs-chip--small { height: 24px; padding: 0 8px; font-size: 12px; }
.cs-chip i { margin-left: 6px; font-size: 18px; opacity: .5; cursor: pointer; }
.cs-chip i:hover { opacity: 1; }
.cs-table { width: 100%; border-spacing: 0; border-collapse: separate; color: var(--cs-text); background: #fff; }
.cs-table th, .cs-table td { height: 48px; padding: 0 16px; text-align: left; border-bottom: thin solid var(--cs-divider); }
.cs-table th { color: var(--cs-muted); font-size: 12px; font-weight: 700; }
.cs-table td { font-size: 14px; }
.cs-table tbody tr:hover { background: rgb(0 0 0 / 4%); }
.cs-table tr:last-child td { border-bottom: 0; }
.cs-table--dense th, .cs-table--dense td { height: 32px; }
.cs-table th a { display: inline-flex; align-items: center; color: inherit; text-decoration: none; }
.cs-table th i { font-size: 18px; opacity: 0; vertical-align: middle; }
.cs-table th.is-desc i { transform: rotate(180deg); }
.cs-table th.is-sorted { color: var(--cs-text); }
.cs-table th:hover i { opacity: .6; }
.cs-table th.is-sorted i { opacity: 1; }
.cs-table-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; padding: 0 8px; color: var(--cs-text); font-size: 12px; border-top: thin solid var(--cs-divider); }
.cs-table-footer-select { display: flex; align-items: center; gap: 34px; height: 58px; margin-right: 14px; white-space: nowrap; }
.cs-table-footer-select select { width: 45px; height: 32px; color: var(--cs-text); background: transparent; border: 0; border-bottom: 1px solid rgb(0 0 0 / 42%); }
.cs-table-footer-range { margin: 0 32px 0 24px; }
.cs-table-footer .cs-icon-button { width: 36px; height: 36px; color: rgb(0 0 0 / 54%); }
.cs-table-footer .cs-icon-button:is(:disabled, .is-disabled, [aria-disabled="true"]) { color: rgb(0 0 0 / 26%); }
.cs-table-footer > :nth-last-child(2) { margin-right: 7px; }
.cs-table-footer > :last-child { margin: 0 8px 0 7px; }
.cs-pagination { display: flex; align-items: center; justify-content: center; width: 100%; }
.cs-pagination a, .cs-pagination span { display: inline-grid; place-items: center; min-width: 34px; height: 34px; padding: 0 5px; margin: .3rem; color: var(--cs-text); font-size: 16px; text-decoration: none; background: #fff; border-radius: var(--cs-radius); box-shadow: var(--cs-elevation-2); }
.cs-pagination a.is-current { color: #fff; background: var(--cs-primary); }
.cs-pagination .cs-pagination-navigation { width: 32px; min-width: 32px; height: 32px; margin: .3rem 10px; padding: 0; }
.cs-pagination .cs-pagination-navigation i { color: rgb(0 0 0 / 54%); font-size: 24px; line-height: 24px; }
.cs-pagination .cs-pagination-navigation.is-disabled { opacity: .6; pointer-events: none; }
.cs-pagination .cs-pagination-more { width: 32px; min-width: 32px; height: 32px; padding: 0; align-items: end; justify-content: center; background: none; box-shadow: none; }
.cs-tabs { gap: 0; min-height: 48px; border-bottom: 1px solid var(--cs-divider); }
.cs-tabs a { display: flex; align-items: center; min-height: 48px; padding: 0 16px; color: rgb(0 0 0 / 54%); font-size: 14px; font-weight: 500; letter-spacing: .0892857em; text-decoration: none; text-transform: uppercase; border-bottom: 2px solid transparent; }
.cs-tabs a.is-active { color: var(--cs-primary); border-bottom-color: var(--cs-primary); }
.cs-empty-state, .cs-loading-state { display: grid; justify-items: center; gap: 8px; padding: 32px 16px; color: var(--cs-muted); text-align: center; }
.cs-empty-state h3, .cs-empty-state p { margin: 0; }
.cs-spinner { width: 32px; height: 32px; border: 3px solid rgb(25 118 210 / 25%); border-top-color: var(--cs-primary); border-radius: 50%; animation: cs-spin .75s linear infinite; }
.cs-notification { display: flex; align-items: center; gap: 16px; max-width: 560px; padding: 16px; margin: 0 auto 16px; color: #fff; font-size: 16px; text-align: left; background: var(--cs-info); border-left: 4px solid rgb(255 255 255 / 26%); border-radius: 3px; box-shadow: var(--cs-elevation-2); }
.cs-notification i { font-size: 24px; line-height: 1; }
.cs-notification span { flex: 1; }
.cs-notification--success { background: var(--cs-success); }
.cs-notification--error { background: var(--cs-error); }
.cs-notifications { position: fixed; z-index: 1030; top: 1rem; left: 10vw; right: 10vw; display: flex; flex-direction: column; align-items: center; pointer-events: none; }
.cs-notifications .cs-notification { display: inline-flex; max-width: 35rem; margin: 0 auto 1rem; animation: cs-notification-leave 0s 5s forwards; }
.cs-notifications .cs-notification--error { animation-delay: 30s; }
.cs-definition-list { display: grid; grid-template-columns: 140px 1fr; margin: 0; }
.cs-definition-list dt, .cs-definition-list dd { padding: 8px; margin: 0; border-bottom: 1px solid var(--cs-divider); }
.cs-definition-list dt { color: var(--cs-muted); font-weight: 500; }
.cs-modal { width: min(500px, 100%); max-width: min(500px, 100%); padding: 16px; color: var(--cs-text); background: #fff; border: 0; border-radius: 2px; box-shadow: 0 11px 15px -7px rgb(0 0 0 / 20%), 0 24px 38px 3px rgb(0 0 0 / 14%), 0 9px 46px 8px rgb(0 0 0 / 12%); }
.cs-modal::backdrop, .cs-info-popup::backdrop { background: rgb(33 33 33 / 46%); }
.cs-modal h3 { margin: 0 0 20px; font-size: 20px; font-weight: 500; }
.cs-modal p { margin: 0; color: var(--cs-muted); }
.cs-modal-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 24px; }
.cs-field--file > input { padding: 0; color: transparent; cursor: pointer; }
.cs-field--file > input::file-selector-button { display: none; }
.cs-field--file > input:user-valid { color: var(--cs-text); }
.cs-field--file > input:not(:focus):not(:user-valid) ~ label { top: 12px; font-size: 16px; line-height: 32px; }
.cs-editor { background: #fff; border: 1px solid #ccc; }
.cs-editor-toolbar { display: flex; flex-wrap: wrap; align-content: flex-start; padding: 8px; background: #fff; border-bottom: 1px solid #ccc; }
.cs-editor-toolbar button { width: 28px; height: 24px; padding: 3px 5px; background: #fff; border: 0; cursor: pointer; }
.cs-editor-toolbar button[aria-pressed="true"] { color: var(--cs-primary); }
.cs-editor-group { display: flex; margin-right: 15px; }
.cs-editor-content { padding: 12px 15px; font-size: 13px; line-height: 1.42; }
.cs-editor-content:focus { outline: 0; }
.cs-editor-content :is(p, h1, h2, h3, h4, h5, h6, ol, ul, pre, blockquote) { margin: 0; }
.cs-editor-counter { margin: 8px 0 0; color: var(--cs-muted); font-size: 14px; }
.cs-address-grid { display: grid; grid-template-columns: 2fr 1fr; gap: 14px; }
.cs-address-grid .cs-field--full { grid-column: 1 / -1; }
.cs-sortable-group { margin: 16px 0; }
.cs-sortable-header { display: flex; align-items: center; justify-content: space-between; padding: 5px 5px 5px 21px; background: #e3e3e3; border-bottom: 1px solid #fff; }
.cs-sortable-header:hover { background: #d0d0d0; }
.cs-sortable-header strong { font-size: 16px; font-weight: 400; line-height: 40px; }
.cs-sortable-row { display: flex; align-items: center; justify-content: space-between; width: calc(100% - 16px); margin-left: 16px; border-bottom: 1px solid #ccc; }
.cs-sortable-row:hover { background: #f1f1f1; }
.cs-sortable-row .cs-sortable-handle { margin: 0 5px; line-height: 32px; cursor: grab; }
.cs-sortable-row strong { flex: 1; padding-left: 4px; font-weight: 400; line-height: 40px; }
.cs-sortable-row .cs-sortable-meta { flex-basis: 70px; color: #666; text-align: right; }
.cs-sortable-row .cs-sortable-actions { flex-basis: 85px; text-align: right; }
.cs-chart { min-height: 220px; padding: 8px; background: #fff; }
.cs-chart-columns { display: flex; align-items: flex-end; gap: 12px; height: 180px; padding: 0 8px; border-bottom: 1px solid var(--cs-divider); }
.cs-chart-columns span { flex: 1; background: #3366cc; }
.cs-chart-legend { display: flex; gap: 12px; padding: 8px; color: var(--cs-muted); font-size: 12px; }
.cs-chart-plot { display: grid; grid-template-columns: auto auto 1fr; column-gap: 8px; }
.cs-chart-axis-title { grid-row: 1; align-self: center; color: var(--cs-muted); font-size: 11px; font-style: italic; writing-mode: vertical-rl; transform: rotate(180deg); }
.cs-chart-axis { display: flex; flex-direction: column; justify-content: space-between; height: 180px; color: var(--cs-muted); font-size: 11px; line-height: 0; text-align: right; }
.cs-chart-plot .cs-chart-legend--aligned { grid-column: 3; }
.cs-chart-columns--gridded { background-image: repeating-linear-gradient(to top, var(--cs-divider) 0 1px, transparent 1px calc(100% / var(--cs-chart-steps))); box-shadow: inset 0 1px var(--cs-divider); }
.cs-chart-group { display: flex; flex: 1; align-items: flex-end; gap: 2px; height: 100%; }
.cs-chart-group span { background: #00a65a; }
.cs-chart-columns .cs-chart-series--secondary { background: #263238; }
.cs-chart-legend--aligned span { flex: 1; text-align: center; }
.cs-map { position: relative; min-height: 320px; background: #e5e3df; }
.cs-map-placeholder { display: grid; place-items: center; min-height: 320px; color: var(--cs-muted); }
[hidden] { display: none !important; }
@media (max-width: 900px) { .cs-grid > .cs-grid-col--quarter { flex-basis: 50%; } }
@media (max-width: 600px) { .cs-app-shell { height: auto; overflow: visible; } .cs-app-shell-main { display: block; } .cs-menu { width: 100%; min-height: 0; } .cs-grid > .cs-grid-col--quarter { flex-basis: 100%; } }
@keyframes cs-notification-leave { to { visibility: hidden; opacity: 0; } }
@keyframes cs-spin { to { transform: rotate(360deg); } }
