#adminSidebar {
    --bs-offcanvas-width: 280px;
}

.blink {
    animation: blinker 1s linear infinite;
}

@keyframes blinker {
    50% {
        opacity: 0;
    }
}

.alarm-form .select2-container--bootstrap-5 .select2-selection--single {
    min-height: calc(1.5em + 0.75rem + 2px);
}

.alarm-form .CodeMirror,
.json-editor + .CodeMirror,
.yaml-editor + .CodeMirror {
    border: 1px solid var(--bs-border-color, #ced4da);
    border-radius: var(--bs-border-radius, 0.375rem);
    font-size: 0.875rem;
    height: auto;
}

.alarm-form .CodeMirror-focused,
.json-editor + .CodeMirror.CodeMirror-focused,
.yaml-editor + .CodeMirror.CodeMirror-focused {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.alert[data-auto-dismiss] {
    transition:
        opacity 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        transform 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        margin 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        padding 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        max-height 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        border-width 0.55s cubic-bezier(0.4, 0, 0.2, 1),
        box-shadow 0.55s cubic-bezier(0.4, 0, 0.2, 1);
    max-height: 12rem;
    overflow: hidden;
    box-shadow: 0 0.35rem 1rem rgba(0, 0, 0, 0.08);
}

.alert[data-auto-dismiss].alert-glossy-hide {
    opacity: 0;
    transform: translateY(-0.5rem) scale(0.98);
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-top: 0;
    padding-bottom: 0;
    max-height: 0;
    border-width: 0;
    box-shadow: none;
}

/* FQDN frontend — parity with legacy themes/fqdn + fqdn-style.css (BS3/Lumen scale) */
.fqdn-body {
    background-color: #f0f0f0;
    font-size: 14px;
    line-height: 1.42857143;
}

.fqdn-body .screen {
    border: 2px solid #e0e0e0;
    border-radius: 5px;
    padding: 10px 30px;
    background-color: #fff;
    margin-top: 50px;
    box-shadow: none;
}

.fqdn-body h1 {
    font-size: 36px;
    font-weight: 400;
    line-height: 1.1;
    margin: 20px 0 10px;
}

.fqdn-body h3 {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.1;
    margin-top: 20px;
    margin-bottom: 10px;
}

.fqdn-body h4 {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.1;
    margin-top: 10px;
    margin-bottom: 10px;
}

.fqdn-body h5 {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.1;
    margin-top: 10px;
    margin-bottom: 10px;
}

.fqdn-body .lead {
    font-size: 21px;
    font-weight: 300;
    line-height: 1.4;
    margin-bottom: 20px;
}

.fqdn-body .frontpage-info > *:first-child {
    margin-top: 0;
}

.fqdn-body .frontpage-info > *:last-child {
    margin-bottom: 0;
}

.fqdn-body .frontpage-info p,
.fqdn-body .frontpage-info ul,
.fqdn-body .frontpage-info ol {
    margin: 0 0 10px;
}

.fqdn-body .frontpage-info a {
    text-decoration: underline;
}

.table.align-top > :not(caption) > * > * {
    vertical-align: top;
}

.fqdn-body p {
    margin: 0 0 10px;
}

.fqdn-body small {
    font-size: 85%;
    font-weight: 400;
}

.fqdn-body .screen > hr {
    margin: 20px 0;
    border: 0;
    border-top: 1px solid #eee;
    opacity: 1;
}

.fqdn-body .buttonbox {
    text-align: right;
    margin-top: 20px;
    margin-bottom: 10px;
}

.fqdn-body .buttonbox .btn {
    margin-left: 0.35rem;
}

/* Match legacy Lumen btn-default */
.fqdn-body .btn-default {
    --bs-btn-color: #555;
    --bs-btn-bg: #eee;
    --bs-btn-border-color: #eee;
    --bs-btn-hover-color: #555;
    --bs-btn-hover-bg: #e0e0e0;
    --bs-btn-hover-border-color: #e0e0e0;
    --bs-btn-active-color: #555;
    --bs-btn-active-bg: #e0e0e0;
    --bs-btn-active-border-color: #e0e0e0;
    --bs-btn-font-size: 12px;
    text-transform: uppercase;
    font-weight: 700;
    font-size: 12px;
    line-height: 1.42857143;
    padding: 9px 12px 7px;
}

.fqdn-body label {
    margin-top: 10px;
}

.fqdn-service {
    border: 2px solid #f0f0f0;
    padding: 0 10px;
    margin-bottom: 10px;
}

/* SurveyJS on status frontend — blend with Lumen / .screen */
.fqdn-body .fqdn-survey {
    margin: 0;
}

.fqdn-body .fqdn-survey .sd-root-modern,
.fqdn-body .fqdn-survey .sd-root-modern.sd-root-modern--full-container {
    background: transparent;
    --sjs-general-backcolor: transparent;
    --sjs-general-backcolor-dim: transparent;
}

.fqdn-body .fqdn-survey .sd-body {
    /* Keep a few px so radio focus rings / decorators are not clipped */
    padding: 0 6px !important;
    max-width: none !important;
}

.fqdn-body .fqdn-survey .sd-body__page {
    padding: 0 !important;
}

.fqdn-body .fqdn-survey .sd-question__content,
.fqdn-body .fqdn-survey .sd-selectbase {
    overflow: visible;
}

.fqdn-body .fqdn-survey .sd-title {
    font-weight: 400;
    color: #333;
}

.fqdn-body .fqdn-survey .sd-header__text .sd-title {
    font-size: 24px;
    margin: 0 0 8px;
}

.fqdn-body .fqdn-survey .sd-description {
    font-size: 14px;
    color: #777;
    font-weight: 300;
}

.fqdn-body .fqdn-survey .sd-element__title {
    font-size: 14px;
    font-weight: 700;
    color: #333;
}

.fqdn-body .fqdn-survey .sd-progress {
    margin-bottom: 1rem;
    height: 4px;
    background: #eee;
}

.fqdn-body .fqdn-survey .sd-progress__bar {
    background: #158cba;
}

.fqdn-body .fqdn-survey .sd-input,
.fqdn-body .fqdn-survey .sd-comment,
.fqdn-body .fqdn-survey textarea.sd-input,
.fqdn-body .fqdn-survey input.sd-input {
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    font-size: 14px;
    box-shadow: none;
}

.fqdn-body .fqdn-survey .sd-input:focus,
.fqdn-body .fqdn-survey .sd-comment:focus {
    border-color: #158cba;
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(21, 140, 186, 0.35);
    outline: 0;
}

.fqdn-body .fqdn-survey .sd-selectbase__label {
    font-size: 14px;
}

/* Unchecked radios/checkboxes: SurveyJS uses shadow-inner as the only edge;
   our theme set that (and dim-light) to white/none → invisible on .screen */
.fqdn-body .fqdn-survey .sd-item__decorator,
.fqdn-body .fqdn-survey .sd-checkbox__decorator,
.fqdn-body .fqdn-survey .sd-radio__decorator {
    background-color: #fff !important;
    border: 2px solid #888 !important;
    box-shadow: none !important;
}

.fqdn-body .fqdn-survey .sd-radio__decorator {
    border-radius: 50% !important;
}

.fqdn-body .fqdn-survey .sd-checkbox__decorator {
    border-radius: 3px !important;
}

.fqdn-body .fqdn-survey .sd-item--allowhover:not(.sd-item--readonly) .sd-selectbase__label:hover .sd-item__decorator {
    background-color: #f5f5f5 !important;
    border-color: #555 !important;
}

.fqdn-body .fqdn-survey .sd-item__control:focus + .sd-item__decorator {
    border-color: #158cba !important;
    box-shadow: 0 0 0 2px rgba(21, 140, 186, 0.35) !important;
}

.fqdn-body .fqdn-survey .sd-item--checked .sd-item__decorator,
.fqdn-body .fqdn-survey .sd-radio--checked .sd-item__decorator,
.fqdn-body .fqdn-survey .sd-checkbox--checked .sd-item__decorator {
    background-color: #158cba !important;
    border-color: #158cba !important;
    box-shadow: none !important;
}

.fqdn-body .fqdn-survey .sd-navigation {
    margin-top: 1.25rem;
    padding-top: 0.5rem;
}

.fqdn-body .fqdn-survey .sd-btn,
.fqdn-body .fqdn-survey .sd-navigation__next-btn,
.fqdn-body .fqdn-survey .sd-navigation__complete-btn {
    background: #158cba;
    border: 1px solid #158cba;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.02em;
    border-radius: 4px;
    padding: 9px 14px 7px;
    box-shadow: none;
}

/* isPanelless → .sd-root--compact paints non-action nav buttons light gray;
   that overrode our blue fill while we still forced white text (unreadable). */
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-btn:not(.sd-btn--secondary),
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-navigation__next-btn,
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-navigation__complete-btn {
    background: #158cba !important;
    background-color: #158cba !important;
    border-color: #158cba !important;
    color: #fff !important;
}

.fqdn-body .fqdn-survey .sd-btn:hover,
.fqdn-body .fqdn-survey .sd-navigation__next-btn:hover,
.fqdn-body .fqdn-survey .sd-navigation__complete-btn:hover,
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-btn:not(.sd-btn--secondary):hover,
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-navigation__next-btn:hover,
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-navigation__complete-btn:hover {
    background: #127ba3 !important;
    background-color: #127ba3 !important;
    border-color: #127ba3 !important;
    color: #fff !important;
}

.fqdn-body .fqdn-survey .sd-navigation__prev-btn,
.fqdn-body .fqdn-survey .sd-btn--secondary,
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-navigation__prev-btn,
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-btn--secondary {
    background: #eee !important;
    background-color: #eee !important;
    border-color: #eee !important;
    color: #555 !important;
}

.fqdn-body .fqdn-survey .sd-navigation__prev-btn:hover,
.fqdn-body .fqdn-survey .sd-btn--secondary:hover,
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-navigation__prev-btn:hover,
.fqdn-body .fqdn-survey .sd-root--compact .sd-body__navigation .sd-btn--secondary:hover {
    background: #e0e0e0 !important;
    background-color: #e0e0e0 !important;
    border-color: #e0e0e0 !important;
    color: #555 !important;
}

.fqdn-body .fqdn-survey .sd-html {
    font-size: 14px;
    line-height: 1.45;
    color: #333;
}

.fqdn-body .fqdn-survey .sd-html a {
    color: #158cba;
    text-decoration: underline;
}

.fqdn-body .fqdn-survey .sd-html h4 {
    font-size: 18px;
    font-weight: 400;
    margin: 12px 0 8px;
}

.fqdn-body .fqdn-survey .sd-html ul,
.fqdn-body .fqdn-survey .sd-html ol {
    margin: 0 0 10px;
    padding-left: 1.4rem;
}

