/* FlexiPage administration aligned with the current FlexiForesight shell. */
:root {
    --fp-sidebar-width: 264px;
    --fp-navy-950: #172a3a;
    --fp-navy-900: #172a3a;
    --fp-navy-850: #1b3447;
    --fp-navy-800: #223b4d;
    --fp-blue: #3f6fe5;
    --fp-blue-dark: #1b3447;
    --fp-blue-light: #63c5ed;
    --fp-content-bg: #f4f6f8;
    --fp-surface: #ffffff;
    --fp-surface-soft: #f7f9fa;
    --fp-border: #d2dbe5;
    --fp-border-light: #dfe5eb;
    --fp-text: #0e223b;
    --fp-text-soft: #334b61;
    --fp-muted: #667b96;
    --fp-muted-light: #8b9cad;
    --fp-shadow: 0 1px 2px rgba(15, 34, 59, .06);
    --fp-shadow-large: 0 8px 22px rgba(15, 34, 59, .09);
    --bs-border-radius: 4px;
    --bs-border-radius-sm: 3px;
    --bs-border-radius-lg: 4px;
    --bs-border-radius-xl: 4px;
}

body.fp-shell-active {
    background: var(--fp-content-bg);
}

.fp-sidebar-desktop,
.fp-mobile-offcanvas {
    background: #172a3a;
    border-color: #263d4d;
    box-shadow: none;
}

.fp-sidebar-brand {
    min-height: 78px;
    padding: 18px 15px;
    border-color: rgba(255, 255, 255, .09);
}

.fp-sidebar-logo,
.fp-mobile-logo {
    width: 38px;
    height: 38px;
    flex-basis: 38px;
    background: #3f6fe5;
    border-radius: 4px;
    box-shadow: none;
    font-size: .78rem;
}

.fp-sidebar-brand-copy strong,
.fp-mobile-brand-copy strong {
    font-size: 1rem;
    font-weight: 750;
}

.fp-sidebar-brand-copy small,
.fp-mobile-brand-copy small {
    color: #9db1c1;
    font-size: .58rem;
    font-weight: 650;
}

.fp-sidebar-nav {
    padding: 24px 8px 20px;
    scrollbar-width: thin;
    scrollbar-color: #4a5d6b transparent;
}

.fp-sidebar-nav::-webkit-scrollbar {
    display: block;
    width: 4px;
}

.fp-sidebar-nav::-webkit-scrollbar-thumb {
    background: #4a5d6b;
}

.fp-sidebar-group {
    margin-bottom: 23px;
}

.fp-sidebar-heading {
    margin: 0;
    padding: 0 11px 8px;
    color: #91a5b5;
    font-size: .63rem;
    font-weight: 700;
}

.fp-sidebar-link {
    min-height: 42px;
    padding: 8px 10px;
    gap: 11px;
    color: #dce6ed;
    border-left: 3px solid transparent;
    border-radius: 3px;
    font-size: .82rem;
    font-weight: 600;
    transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}

.fp-sidebar-link:hover {
    color: #fff;
    background: #223746;
    transform: none;
}

.fp-sidebar-link.active {
    color: #fff;
    background: #2b4050;
    border-left-color: #63c5ed;
    box-shadow: none;
}

.fp-sidebar-icon,
.fp-sidebar-link.active .fp-sidebar-icon {
    width: 22px;
    height: 22px;
    flex-basis: 22px;
    color: #a9bbc8;
    background: transparent;
    border-radius: 0;
    font-size: 1rem;
}

.fp-sidebar-link.active .fp-sidebar-icon {
    color: #72cdf4;
}

.fp-sidebar-footer {
    padding: 12px 8px 14px;
    background: #142634;
    border-color: rgba(255, 255, 255, .08);
}

.fp-sidebar-user {
    padding: 10px;
    background: #223746;
    border: 0;
    border-radius: 3px;
}

.fp-sidebar-user-avatar,
.fp-app-header-avatar,
.fp-mobile-user {
    background: #3f6fe5;
    border-radius: 3px;
}

.fp-sidebar-logout {
    border-radius: 3px;
}

.fp-sidebar-logout-icon {
    color: #d9e3ea;
    background: transparent;
    border-radius: 0;
}

.fp-app-header {
    min-height: 80px;
    background: #fff;
    border-color: var(--fp-border);
}

.fp-app-header-inner {
    min-height: 80px;
    padding: 14px 30px;
}

.fp-app-eyebrow {
    color: #507087;
}

.fp-app-header-copy h1 {
    font-size: 1.4rem;
    font-weight: 800;
}

.fp-app-header-user {
    padding: 7px 10px;
    background: #f7f9fa;
    border-color: var(--fp-border-light);
    border-radius: 3px;
}

.fp-app-main {
    min-height: calc(100vh - 80px);
    padding: 28px 0 42px;
}

.fp-app-main-inner {
    padding: 0 30px;
}

body.fp-shell-active :is(
    .fp-card,
    .card.fp-card,
    .fp-stat-card,
    .fp-form-section,
    .fp-table-wrapper,
    .fp-empty-state,
    .fp-setting-row,
    .fp-color-field,
    .fp-theme-preview,
    .fp-theme-preview-card,
    .fp-live-preview,
    .fp-live-preview-viewport,
    .fp-theme-color-control,
    .fp-theme-accordion .accordion-item,
    .fp-theme-range-control,
    .fp-theme-range-value,
    .fp-theme-logo-upload,
    .fp-theme-logo-preview,
    .fp-setting-editor-card,
    .fp-setting-editor-toggle,
    .fp-placeholder-help,
    .fp-progress-step-editor,
    .fp-settings-info,
    .fp-dashboard-alert,
    .fp-dashboard-hero,
    .fp-dashboard-summary-item,
    .fp-dashboard-automation,
    .fp-create-panel,
    .fp-pages-card,
    .fp-filter-tabs,
    .fp-filter-tab,
    .fp-page-actions .dropdown-menu,
    .fp-page-actions .dropdown-item,
    .fp-page-link
) {
    border-radius: 4px !important;
}

body.fp-shell-active :is(
    .fp-stat-icon,
    .fp-form-section-icon,
    .fp-empty-state-icon,
    .fp-theme-accordion-icon,
    .fp-progress-step-number,
    .fp-dashboard-alert-icon,
    .fp-dashboard-hero-icon,
    .fp-dashboard-automation-icon,
    .fp-create-panel-icon,
    .fp-page-icon,
    .fp-pages-empty-icon
) {
    border-radius: 4px !important;
}

body.fp-shell-active .fp-card,
body.fp-shell-active .card.fp-card,
body.fp-shell-active .fp-stat-card,
body.fp-shell-active .fp-form-section,
body.fp-shell-active .fp-pages-card,
body.fp-shell-active .fp-create-panel {
    border-color: var(--fp-border-light);
    box-shadow: var(--fp-shadow);
}

body.fp-shell-active .fp-form-section,
body.fp-shell-active .fp-create-panel {
    background: #fff;
}

body.fp-shell-active :is(.form-control, .form-select, .btn, .alert, .nav-link, .accordion-item, .accordion-button) {
    border-radius: 3px !important;
}

body.fp-shell-active :is(.form-control, .form-select) {
    border-color: #cfd8e2;
}

body.fp-shell-active :is(.form-control, .form-select):focus {
    border-color: #637f92;
    box-shadow: 0 0 0 .16rem rgba(71, 102, 124, .13);
}

body.fp-shell-active .btn {
    box-shadow: none;
}

body.fp-shell-active .btn-primary {
    color: #fff;
    background: #1b3447;
    border-color: #1b3447;
}

body.fp-shell-active .btn-primary:hover,
body.fp-shell-active .btn-primary:focus {
    background: #25475f;
    border-color: #25475f;
}

body.fp-shell-active .fp-dashboard-hero {
    color: var(--fp-text);
    background: #fff;
    border-color: var(--fp-border-light);
    box-shadow: var(--fp-shadow);
}

body.fp-shell-active .fp-dashboard-hero::after {
    display: none;
}

body.fp-shell-active .fp-dashboard-total,
body.fp-shell-active .fp-dashboard-summary-item strong,
body.fp-shell-active .fp-dashboard-automation strong {
    color: var(--fp-text);
}

body.fp-shell-active .fp-dashboard-hero .fp-dashboard-eyebrow {
    color: #507087;
}

body.fp-shell-active .fp-dashboard-total-label,
body.fp-shell-active .fp-dashboard-summary-item span:last-child,
body.fp-shell-active .fp-dashboard-automation span {
    color: var(--fp-muted);
}

body.fp-shell-active .fp-dashboard-summary-item,
body.fp-shell-active .fp-dashboard-automation {
    background: #f7f9fa;
    border-color: var(--fp-border-light);
    backdrop-filter: none;
}

body.fp-shell-active .fp-dashboard-hero-icon {
    background: #3f6fe5;
    border-color: #3f6fe5;
    box-shadow: none;
}

@media (max-width: 991.98px) {
    .fp-app-main-inner {
        padding: 0 20px;
    }

    .fp-mobile-topbar {
        background: #172a3a;
        border-color: #263d4d;
    }
}

@media (max-width: 575.98px) {
    .fp-app-main-inner {
        padding: 0 14px;
    }
}

/* Login and setup */
.fp-auth-body {
    background: #eef2f5;
}

.fp-auth-shell {
    min-height: 620px;
    border: 1px solid #d9e0e8;
    border-radius: 6px;
    box-shadow: 0 18px 46px rgba(15, 34, 59, .14);
}

.fp-auth-brand {
    padding: 58px;
    background: #172a3a;
    border-top: 4px solid #3f6fe5;
}

.fp-auth-brand::before {
    top: auto;
    bottom: 42px;
    left: 58px;
    width: 74px;
    height: 2px;
    border-radius: 0;
    background: #63c5ed;
}

.fp-auth-brand::after {
    display: none;
}

.fp-auth-product-mark {
    width: 54px;
    height: 54px;
    flex-basis: 54px;
    background: #3f6fe5;
    border-radius: 4px;
    box-shadow: none;
}

.fp-auth-product-title {
    font-size: 1.35rem;
    font-weight: 800;
}

.fp-auth-product-subtitle,
.fp-auth-kicker {
    color: #9fb4c4;
}

.fp-auth-copy h1 {
    font-size: clamp(2rem, 3.6vw, 3rem);
    font-weight: 800;
    letter-spacing: -.045em;
}

.fp-auth-copy p {
    color: #d3dde4;
}

.fp-auth-benefit-icon {
    border-radius: 3px;
    background: #223b4d;
}

.fp-auth-panel .form-control {
    min-height: 52px;
    border-radius: 4px;
    background: #f7f9fb;
}

.fp-auth-panel .form-control:focus {
    border-color: #637f92;
    background: #fff;
    box-shadow: 0 0 0 .18rem rgba(71, 102, 124, .13);
}

.fp-auth-submit {
    border-radius: 4px;
    background: #1b3447;
    box-shadow: none;
}

.fp-auth-submit:hover,
.fp-auth-submit:focus {
    background: #25475f;
}

.fp-auth-simple-card {
    border-radius: 6px;
    border-color: #d9e0e8;
    box-shadow: 0 18px 46px rgba(15, 34, 59, .14);
}

@media (max-width: 575px) {
    .fp-auth-shell,
    .fp-auth-simple-card {
        border-radius: 0;
    }
}
