/* Fincontroly custom layer */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('data:font/woff2;base64,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') format('woff2')}
:root {
    /* Core surfaces and color roles */
    --fc-background: #F6F8FB;
    --fc-background-secondary: #F1F5F9;
    --fc-surface: #FFFFFF;
    --fc-surface-elevated: #FFFFFF;
    --fc-border: #DCE3EC;
    --fc-border-subtle: #E9EEF5;
    --fc-border-strong: #AAB6C7;
    --fc-text: #172033;
    --fc-text-secondary: #536179;
    --fc-text-subtle: #718096;
    --fc-text-tertiary: #718096;
    --fc-primary: #2557A7;
    --fc-primary-hover: #1E478B;
    --fc-primary-soft: #EEF4FF;
    --fc-primary-dark: #15233B;
    --fc-success: #16815D;
    --fc-success-soft: #EAF8F2;
    --fc-warning: #B7791F;
    --fc-warning-strong: #8A5A14;
    --fc-warning-soft: #FFF8E6;
    --fc-danger: #C2414B;
    --fc-danger-soft: #FFF0F1;
    --fc-info: #2878B5;
    --fc-focus-ring: rgba(37, 87, 167, .28);
    --fc-disabled: #CBD5E1;
    --fc-white: var(--fc-surface);

    /* Type scale */
    --fc-font-family: inherit;
    --fc-text-xs: .75rem;
    --fc-text-sm: .8125rem;
    --fc-text-md: .875rem;
    --fc-text-lg: 1rem;
    --fc-title-card: 1rem;
    --fc-title-section: 1.25rem;
    --fc-title-page: 1.75rem;
    --fc-leading-tight: 1.25;
    --fc-leading-normal: 1.5;
    --fc-weight-medium: 500;
    --fc-weight-semibold: 600;
    --fc-weight-bold: 700;

    /* Spacing scale */
    --fc-space-1: .25rem;
    --fc-space-2: .5rem;
    --fc-space-3: .75rem;
    --fc-space-4: 1rem;
    --fc-space-5: 1.25rem;
    --fc-space-6: 1.5rem;
    --fc-space-8: 2rem;

    /* Shape, elevation and shell */
    --fc-radius-sm: 6px;
    --fc-radius: 8px;
    --fc-radius-md: 10px;
    --fc-radius-lg: 14px;
    --fc-control-sm: 34px;
    --fc-control: 40px;
    --fc-shadow: 0 1px 2px rgba(15, 23, 42, .05);
    --fc-shadow-elevated: 0 8px 24px rgba(15, 23, 42, .08);
    --fc-transition: 160ms ease;
    --fc-sidebar-width: 256px;
    --fc-topbar-height: 64px;
}

/* Form controls - checkbox and radio alignment */
.form-check:not(.form-switch) {
    display: flex;
    align-items: center;
    gap: 12px;
    padding-inline-start: 0;
}

.form-check:not(.form-switch) > .form-check-input {
    flex: 0 0 auto;
    margin: 0;
}

.form-check:not(.form-switch) > .form-check-label {
    min-width: 0;
    margin: 0;
    cursor: pointer;
}

.form-check:not(.form-switch) > .form-check-input:disabled + .form-check-label {
    cursor: not-allowed;
}

/* Public BPO-focused home */
.public-site-header,
.public-site-footer {
    --bpo-surface: #ffffff;
    --bpo-soft: #eef4ff;
    --bpo-text: #10203a;
    --bpo-muted: #53627a;
    --bpo-line: #dbe4f0;
    --bpo-brand: #1e40af;
    --bpo-brand-strong: #17358f;
}

.bpo-home {
    --bpo-bg: #f7f9fc;
    --bpo-surface: #ffffff;
    --bpo-soft: #eef4ff;
    --bpo-text: #10203a;
    --bpo-muted: #53627a;
    --bpo-line: #dbe4f0;
    --bpo-brand: #1e40af;
    --bpo-brand-strong: #17358f;
    --bpo-accent: #2563eb;
    --bpo-dark-section: #10203a;
    --bpo-success: #047857;
    --bpo-warning: #b45309;
    --bpo-danger: #b42318;
    --bpo-radius: 18px;
    --bpo-shadow: 0 18px 50px rgba(30, 64, 175, 0.09);
    margin: 0;
    overflow-x: hidden;
    background: var(--bpo-bg);
    color: var(--bpo-text);
    font-family: 'Instrument Sans', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

.bpo-home *,
.bpo-home *::before,
.bpo-home *::after {
    box-sizing: border-box;
}

.bpo-home h1,
.bpo-home h2,
.bpo-home h3,
.bpo-home p {
    overflow-wrap: anywhere;
}

.bpo-home h1,
.bpo-home h2,
.bpo-home h3,
.bpo-home strong,
.bpo-home button,
.bpo-home .bpo-button {
    font-weight: 600;
}

.bpo-home a:focus-visible,
.bpo-home button:focus-visible,
.bpo-home summary:focus-visible {
    outline: 3px solid #f59e0b;
    outline-offset: 3px;
}

.bpo-shell {
    width: min(1180px, calc(100% - 40px));
    margin-inline: auto;
}

.bpo-skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #ffffff;
    color: #10203a;
    font-weight: 600;
    transform: translateY(-160%);
}

.bpo-skip-link:focus {
    transform: translateY(0);
}

.bpo-header {
    position: sticky;
    z-index: 50;
    top: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--bpo-line) 78%, transparent);
    background: color-mix(in srgb, var(--bpo-surface) 94%, transparent);
    backdrop-filter: blur(14px);
}

.bpo-nav {
    position: relative;
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.bpo-brand,
.bpo-brand picture,
.bpo-brand img {
    display: block;
}

.bpo-brand {
    flex: 0 0 auto;
}

.bpo-brand img {
    width: 172px;
    height: 42px;
    object-fit: contain;
    object-position: left center;
}

.bpo-nav-menu,
.bpo-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.bpo-nav-menu > a:not(.bpo-button) {
    padding: 8px 3px;
    color: var(--bpo-text);
    font-size: 0.9rem;
    font-weight: 600;
    text-decoration: none;
}

.bpo-nav-menu > a:not(.bpo-button):hover {
    color: var(--bpo-brand);
}

.bpo-nav-toggle {
    display: none;
    width: 44px;
    height: 44px;
    border: 1px solid var(--bpo-line);
    border-radius: 10px;
    background: var(--bpo-surface);
    color: var(--bpo-text);
    font-size: 1.25rem;
}

.bpo-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 11px 19px;
    border: 1px solid var(--bpo-brand);
    border-radius: 11px;
    background: var(--bpo-brand);
    color: #ffffff;
    font: inherit;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.bpo-button:hover {
    border-color: var(--bpo-brand-strong);
    background: var(--bpo-brand-strong);
    transform: translateY(-1px);
}

.bpo-button:active {
    transform: translateY(0);
}

.bpo-button[aria-disabled="true"],
.bpo-button:disabled {
    border-color: var(--bpo-line);
    background: var(--bpo-line);
    color: var(--bpo-muted);
    cursor: not-allowed;
    opacity: 0.72;
    transform: none;
}

.bpo-button--compact {
    min-height: 42px;
    padding: 8px 14px;
}

.bpo-button--secondary {
    border-color: #9aadd0;
    background: var(--bpo-surface);
    color: var(--bpo-brand);
}

.bpo-button--secondary:hover {
    border-color: var(--bpo-brand);
    background: var(--bpo-soft);
    color: var(--bpo-brand-strong);
}

.bpo-button--light {
    border-color: #ffffff;
    background: #ffffff;
    color: #17358f;
}

.bpo-button--light:hover {
    border-color: #dbeafe;
    background: #dbeafe;
    color: #102f82;
}

.bpo-button--outline-light {
    border-color: rgba(255, 255, 255, 0.68);
    background: transparent;
    color: #ffffff;
}

.bpo-button--outline-light:hover {
    border-color: #ffffff;
    background: rgba(255, 255, 255, 0.12);
    color: #ffffff;
}

.bpo-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(54px, 5.2vw, 76px) 0 clamp(58px, 6vw, 84px);
    background:
        radial-gradient(circle at 82% 28%, rgba(37, 99, 235, 0.1), transparent 32rem),
        linear-gradient(180deg, var(--bpo-surface) 0%, color-mix(in srgb, var(--bpo-bg) 88%, #ffffff) 100%);
}

.bpo-hero .bpo-shell {
    width: min(1368px, calc(100% - 48px));
}

.bpo-hero__grid {
    display: grid;
    grid-template-columns: minmax(450px, 0.42fr) minmax(0, 0.58fr);
    gap: clamp(40px, 4.5vw, 68px);
    align-items: center;
}

.bpo-hero__content {
    position: relative;
    z-index: 2;
}

.bpo-eyebrow,
.bpo-kicker {
    display: inline-flex;
    color: var(--bpo-brand);
    font-size: 0.79rem;
    font-weight: 600;
    letter-spacing: 0.075em;
    text-transform: uppercase;
}

.bpo-hero h1 {
    max-width: 620px;
    margin: 18px 0 22px;
    font-size: clamp(2.65rem, 3.9vw, 3.65rem);
    font-weight: 650;
    letter-spacing: -0.049em;
    line-height: 1.015;
}

.bpo-hero__lead {
    max-width: 590px;
    margin: 0 0 25px;
    color: var(--bpo-muted);
    font-size: clamp(1.03rem, 1.45vw, 1.15rem);
    line-height: 1.68;
}

.bpo-check-list,
.bpo-governance-list,
.bpo-plan ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.bpo-check-list {
    display: grid;
    gap: 10px;
    margin-bottom: 28px;
}

.bpo-check-list li,
.bpo-plan li {
    position: relative;
    padding-left: 29px;
    color: var(--bpo-muted);
}

.bpo-check-list li::before,
.bpo-plan li::before {
    position: absolute;
    left: 0;
    color: var(--bpo-success);
    content: "✓";
    font-weight: 700;
}

.bpo-hero__conversion .bpo-text-link {
    margin-top: 17px;
}

.bpo-hero__reassurance {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 13px 0 0;
    color: var(--bpo-muted);
    font-size: 0.84rem;
    font-weight: 600;
}

.bpo-hero__reassurance::before {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--bpo-success);
    content: "";
}

.bpo-hero-visual,
.bpo-portfolio-board {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--bpo-line);
    border-radius: 24px;
    background: var(--bpo-surface);
    box-shadow: var(--bpo-shadow);
}

.bpo-product-frame {
    position: relative;
    overflow: hidden;
    margin: 0;
    border: 1px solid var(--bpo-line);
    border-radius: 20px;
    background: var(--bpo-surface);
    box-shadow: var(--bpo-shadow);
}

.bpo-product-frame img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 8 / 5;
    object-fit: cover;
    object-position: top left;
}

.bpo-product-frame figcaption {
    padding: 11px 15px;
    border-top: 1px solid var(--bpo-line);
    color: var(--bpo-muted);
    font-size: 0.78rem;
}

.bpo-product-frame--hero {
    border-color: color-mix(in srgb, var(--bpo-line) 78%, #93c5fd);
    border-radius: 18px;
    box-shadow: 0 32px 80px rgba(15, 35, 75, 0.14), 0 8px 24px rgba(30, 64, 175, 0.07);
}

.bpo-hero__product {
    position: relative;
    z-index: 1;
}

.bpo-hero__product::before {
    position: absolute;
    z-index: -1;
    inset: 8% -5% -8% 7%;
    border-radius: 34px;
    background: rgba(59, 130, 246, 0.08);
    filter: blur(22px);
    content: "";
}

.bpo-product-frame--hero figcaption {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 14px;
    background: color-mix(in srgb, var(--bpo-surface) 96%, var(--bpo-soft));
}

.bpo-product-frame--hero figcaption span {
    width: 7px;
    height: 7px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--bpo-success);
}

.bpo-product-frame--wide {
    margin-top: 34px;
}

.bpo-product-frame--wide img {
    aspect-ratio: auto;
}

.bpo-product-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 34px;
}

.bpo-illustrative-label {
    position: absolute;
    z-index: 2;
    right: 16px;
    bottom: 12px;
    padding: 3px 8px;
    border: 1px solid var(--bpo-line);
    border-radius: 999px;
    background: color-mix(in srgb, var(--bpo-surface) 92%, transparent);
    color: var(--bpo-muted);
    font-size: 0.69rem;
    line-height: 1.4;
}

.bpo-visual__head,
.bpo-board__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 19px 22px;
    border-bottom: 1px solid var(--bpo-line);
}

.bpo-visual__head span,
.bpo-board__top span {
    color: var(--bpo-muted);
    font-size: 0.83rem;
}

.bpo-visual__summary {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    padding: 18px 22px 4px;
}

.bpo-visual__summary span {
    padding: 14px;
    border-radius: 12px;
    background: var(--bpo-soft);
    color: var(--bpo-muted);
}

.bpo-visual__summary strong {
    display: block;
    color: var(--bpo-brand);
    font-size: 1.4rem;
}

.bpo-client-row {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 12px;
    align-items: center;
    margin: 12px 22px;
    padding: 14px 0;
    border-bottom: 1px solid var(--bpo-line);
}

.bpo-client-row:last-child {
    border-bottom: 0;
}

.bpo-client-row div {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.bpo-client-row small,
.bpo-client-row b {
    color: var(--bpo-muted);
    font-size: 0.78rem;
}

.bpo-status {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bpo-muted);
}

.bpo-status--danger { background: var(--bpo-danger); }
.bpo-status--warning { background: var(--bpo-warning); }
.bpo-status--success { background: var(--bpo-success); }

.bpo-section {
    padding: clamp(64px, 7vw, 92px) 0;
}

.bpo-trust-section,
.bpo-section#recursos,
.bpo-section#implantacao,
.bpo-pricing,
.bpo-section#faq {
    padding-block: clamp(68px, 7.2vw, 96px);
}

.bpo-section--soft {
    background: var(--bpo-soft);
}

.bpo-section--dark {
    background: var(--bpo-dark-section);
    color: #ffffff;
}

.bpo-section--dark .bpo-kicker {
    color: #93c5fd;
}

.bpo-section--dark p {
    color: #c8d3e3;
}

.bpo-heading {
    max-width: 780px;
    margin-bottom: 38px;
}

.bpo-heading h2,
.bpo-problem h2,
.bpo-feature-split h2,
.bpo-governance h2,
.bpo-onboarding h2,
.bpo-plan h2,
.bpo-faq-layout h2,
.bpo-final h2 {
    margin: 8px 0 13px;
    font-size: clamp(1.9rem, 3.5vw, 3.15rem);
    font-weight: 600;
    letter-spacing: -0.038em;
    line-height: 1.1;
}

.bpo-heading p,
.bpo-feature-split > div > p,
.bpo-governance > div > p,
.bpo-onboarding > div > p,
.bpo-plan > div > p,
.bpo-faq-layout > div > p,
.bpo-final p {
    margin: 0;
    color: var(--bpo-muted);
    font-size: 1.06rem;
}

/* Home testimonials: a stable brand-blue surface in both site themes. */
.bpo-testimonials {
    --bpo-surface: #ffffff;
    --bpo-soft: #eef4ff;
    --bpo-text: #10203a;
    --bpo-muted: #53627a;
    --bpo-line: #dbe4f0;
    --bpo-brand: #1e40af;
    padding-block: clamp(76px, 8vw, 108px);
    background: #10203a;
}

.bpo-testimonials .bpo-heading { margin-bottom: 24px; }
.bpo-testimonials .bpo-kicker { color: rgba(255, 255, 255, 0.9); }
.bpo-testimonials .bpo-heading h2 { color: #ffffff; text-wrap: balance; }
.bpo-testimonials .bpo-heading p {
    max-width: 620px;
    color: rgba(255, 255, 255, 0.84);
}

.bpo-testimonials__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
}

.bpo-testimonial {
    display: flex;
    min-width: 0;
    flex-direction: column;
    margin: 0;
    padding: clamp(24px, 3vw, 36px);
    border: 1px solid var(--bpo-line);
    border-radius: var(--bpo-radius);
    background: var(--bpo-surface);
    box-shadow: 0 6px 20px rgba(8, 17, 31, 0.1);
}

.bpo-testimonial__quote {
    height: 36px;
    color: var(--bpo-brand);
    font-family: Georgia, serif;
    font-size: 3.5rem;
    line-height: 1;
}

.bpo-testimonial blockquote {
    margin: 12px 0 28px;
    color: var(--bpo-text);
    font-size: 1.06rem;
    line-height: 1.7;
}

.bpo-testimonial blockquote p { margin: 0; }

.bpo-testimonial--profile { justify-content: center; }
.bpo-testimonial--profile .bpo-testimonial__person { margin-top: 0; }


.bpo-testimonial__person {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: auto;
}

.bpo-testimonial__avatar {
    display: block;
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    border: 1px solid var(--bpo-line);
    border-radius: 50%;
    object-fit: cover;
}

.bpo-testimonial__initials {
    display: grid;
    place-items: center;
    background: var(--bpo-soft);
    color: var(--bpo-brand);
    font-weight: 600;
}

.bpo-testimonial__identity { min-width: 0; overflow-wrap: anywhere; }
.bpo-testimonial__identity strong { display: block; color: var(--bpo-text); }
.bpo-testimonial__company { display: block; color: var(--bpo-muted); font-size: 0.875rem; }

@media (max-width: 800px) {
    .bpo-testimonials__grid { grid-template-columns: minmax(0, 1fr); }
}

.bpo-problem {
    border-top: 1px solid var(--bpo-line);
}

.bpo-problem__grid {
    display: grid;
    grid-template-columns: 1.05fr 0.95fr;
    gap: clamp(40px, 8vw, 100px);
}

.bpo-problem__copy {
    padding-left: 28px;
    border-left: 3px solid var(--bpo-accent);
}

.bpo-problem__copy p {
    margin: 0 0 16px;
    color: var(--bpo-muted);
}

.bpo-feature-split,
.bpo-governance,
.bpo-onboarding,
.bpo-plan {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(42px, 8vw, 100px);
    align-items: center;
}

.bpo-board__cards {
    display: grid;
    gap: 12px;
    padding: 20px;
}

.bpo-portfolio-benefits {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bpo-portfolio-benefits li {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 14px;
    align-items: start;
    padding: 18px;
    border: 1px solid var(--bpo-line);
    border-radius: 14px;
    background: var(--bpo-surface);
}

.bpo-portfolio-benefits > li > span {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 10px;
    background: var(--bpo-soft);
    color: var(--bpo-brand);
    font-size: 0.75rem;
    font-weight: 700;
}

.bpo-portfolio-benefits div {
    display: flex;
    flex-direction: column;
}

.bpo-portfolio-benefits small {
    margin-top: 3px;
    color: var(--bpo-muted);
}

.bpo-board__cards article {
    display: flex;
    flex-direction: column;
    padding: 16px;
    border: 1px solid var(--bpo-line);
    border-radius: 13px;
    background: color-mix(in srgb, var(--bpo-surface) 88%, var(--bpo-soft));
}

.bpo-board__cards span,
.bpo-board__cards small {
    color: var(--bpo-muted);
    font-size: 0.78rem;
}

.bpo-feature-split > div > .bpo-highlight-copy {
    margin-top: 20px;
    color: var(--bpo-text);
    font-size: 1.15rem;
    font-weight: 600;
}

.bpo-text-link {
    display: inline-flex;
    gap: 8px;
    align-items: center;
    margin-top: 24px;
    color: var(--bpo-brand);
    font-weight: 600;
    text-underline-offset: 4px;
}

.bpo-workflow {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin: 0;
    padding: 0;
    list-style: none;
}

.bpo-workflow li {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 22px 16px;
    border-top: 2px solid var(--bpo-line);
}

.bpo-workflow li::before {
    position: absolute;
    top: -6px;
    left: 16px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--bpo-accent);
    content: "";
}

.bpo-workflow li > span {
    color: var(--bpo-accent);
    font-size: 0.78rem;
}

.bpo-workflow small {
    margin-top: 5px;
    color: var(--bpo-muted);
}

.bpo-pillars {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.bpo-pillars article {
    padding: 28px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: var(--bpo-radius);
    background: rgba(255, 255, 255, 0.05);
}

.bpo-pillars article > span {
    color: #93c5fd;
    font-size: 0.8rem;
}

.bpo-pillars h3 {
    margin: 14px 0 7px;
    font-size: 1.3rem;
}

.bpo-governance-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--bpo-line);
    border-radius: 16px;
    background: var(--bpo-surface);
}

.bpo-governance-list li {
    display: flex;
    min-width: 0;
    flex-direction: column;
    padding: 15px 17px;
    border-bottom: 1px solid var(--bpo-line);
}

.bpo-governance-list li:nth-child(odd) {
    border-right: 1px solid var(--bpo-line);
}

.bpo-governance-list li:nth-last-child(-n + 2) {
    border-bottom: 0;
}

.bpo-governance-list span {
    color: var(--bpo-muted);
    font-size: 0.9rem;
}

.bpo-feature-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.bpo-feature-grid a {
    position: relative;
    min-height: 0;
    padding: 20px;
    border: 1px solid var(--bpo-line);
    border-radius: 16px;
    background: var(--bpo-surface);
    color: var(--bpo-text);
    text-decoration: none;
}

.bpo-feature-grid a:hover {
    border-color: var(--bpo-accent);
    box-shadow: var(--bpo-shadow);
}

.bpo-feature-grid__arrow {
    position: absolute;
    top: 17px;
    right: 18px;
    color: var(--bpo-accent);
}

.bpo-feature-grid__icon {
    display: inline-grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 10px;
    background: var(--bpo-soft);
    color: var(--bpo-brand);
    font-size: 0.72rem;
    font-weight: 700;
}

.bpo-feature-grid h3 {
    margin: 17px 0 8px;
    font-size: 1.06rem;
}

.bpo-feature-grid p {
    margin: 0;
    color: var(--bpo-muted);
    font-size: 0.9rem;
}

.bpo-deep-link {
    margin: 28px 0 0;
    color: var(--bpo-muted);
}

.bpo-deep-link a {
    color: var(--bpo-brand);
    font-weight: 600;
}

.bpo-onboarding ol {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bpo-onboarding li {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 15px;
    border: 1px solid var(--bpo-line);
    border-radius: 13px;
    background: var(--bpo-surface);
}

.bpo-onboarding li span {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 50%;
    background: var(--bpo-soft);
    color: var(--bpo-brand);
    font-weight: 600;
}

.bpo-plan {
    padding: clamp(30px, 5vw, 50px);
    border: 1px solid var(--bpo-line);
    border-radius: 24px;
    background: var(--bpo-surface);
    box-shadow: var(--bpo-shadow);
}

.bpo-plan__price {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin: 20px 0 6px;
}

.bpo-plan__price strong {
    font-size: clamp(2.15rem, 4vw, 3rem);
    letter-spacing: -0.04em;
}

.bpo-plan__price span {
    color: var(--bpo-muted);
}

.bpo-plan li {
    margin-bottom: 6px;
}

.bpo-faq-layout {
    display: grid;
    grid-template-columns: minmax(320px, 0.8fr) minmax(0, 1.2fr);
    gap: clamp(42px, 6vw, 80px);
    align-items: start;
}

.bpo-faq-layout h2 {
    font-size: clamp(1.9rem, 3.35vw, 3.05rem);
}

.bpo-faq-list {
    display: grid;
    gap: 10px;
}

.bpo-faq-list article {
    overflow: hidden;
    border: 1px solid var(--bpo-line);
    border-radius: 14px;
    background: var(--bpo-surface);
}

.bpo-faq-list h3 {
    margin: 0;
}

.bpo-faq-list button {
    display: flex;
    width: 100%;
    min-height: 58px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px;
    border: 0;
    background: transparent;
    color: var(--bpo-text);
    font: inherit;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.bpo-faq-list button b {
    color: var(--bpo-brand);
    font-size: 1.5rem;
    transition: transform 160ms ease;
}

.bpo-faq-list button[aria-expanded="true"] b {
    transform: rotate(45deg);
}

.bpo-faq-list article > div {
    padding: 0 18px 18px;
    color: var(--bpo-muted);
}

.bpo-faq-list article > div p {
    margin: 0;
}

.bpo-other {
    padding: 30px 0;
    border-top: 1px solid var(--bpo-line);
    background: color-mix(in srgb, var(--bpo-soft) 58%, var(--bpo-surface));
}

.bpo-other__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}

.bpo-other h2 {
    margin: 4px 0 0;
    font-size: 1.12rem;
    line-height: 1.3;
}

.bpo-other p {
    max-width: 570px;
    margin: 5px 0 0;
    color: var(--bpo-muted);
    font-size: 0.9rem;
}

.bpo-other__row nav {
    display: flex;
    align-items: center;
    gap: 10px;
}

.bpo-other a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 10px 14px;
    border: 1px solid #aebbd0;
    border-radius: 10px;
    background: var(--bpo-surface);
    color: var(--bpo-text);
    font-weight: 600;
    text-decoration: none;
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.bpo-other a:hover {
    border-color: var(--bpo-brand);
    background: var(--bpo-soft);
    color: var(--bpo-brand);
}

.bpo-final__card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.88fr);
    align-items: center;
    gap: clamp(44px, 7vw, 88px);
    overflow: hidden;
    padding: clamp(44px, 6vw, 72px);
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 28px;
    background:
        radial-gradient(circle at 88% 12%, rgba(96, 165, 250, 0.14), transparent 25rem),
        linear-gradient(135deg, #0b1d3b 0%, #102b59 100%);
    color: #ffffff;
    box-shadow: 0 30px 80px rgba(9, 24, 53, 0.14);
}

.bpo-final__content {
    max-width: 680px;
}

.bpo-final {
    padding-block: clamp(68px, 7.2vw, 96px);
    background: var(--bpo-bg);
}

.bpo-final .bpo-kicker {
    color: #bfdbfe;
}

.bpo-final p {
    max-width: 620px;
    color: #dbeafe;
    line-height: 1.7;
}

.bpo-final h2 {
    max-width: 680px;
    margin-top: 12px;
    font-size: clamp(2rem, 3.4vw, 3.2rem);
    line-height: 1.06;
}

.bpo-final .bpo-button {
    min-height: 48px;
    white-space: nowrap;
}

.bpo-final__reassurance {
    margin-top: 24px !important;
    color: #bfdbfe !important;
    font-size: 0.9rem !important;
    font-weight: 700;
}

.bpo-final__decision {
    position: relative;
    padding: clamp(26px, 3.2vw, 36px);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 20px;
    background: rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
    backdrop-filter: blur(8px);
}

.bpo-final__decision-label {
    display: block;
    margin-bottom: 10px;
    color: #93c5fd;
    font-size: 0.74rem;
    font-weight: 800;
    letter-spacing: 0.085em;
    text-transform: uppercase;
}

.bpo-final__decision > strong {
    display: block;
    color: #ffffff;
    font-size: clamp(1.12rem, 2vw, 1.35rem);
    line-height: 1.42;
}

.bpo-final__actions {
    display: grid;
    gap: 10px;
    margin-top: 24px;
}

.bpo-final__actions .bpo-button {
    width: 100%;
}

.bpo-final__actions .bpo-text-link {
    justify-content: center;
    margin-top: 4px;
    font-size: 0.9rem;
}

.bpo-footer {
    padding: 52px 0 0;
    border-top: 1px solid var(--bpo-line);
    background: var(--bpo-surface);
}

.bpo-footer__grid {
    display: grid;
    grid-template-columns: minmax(230px, 1.45fr) repeat(4, minmax(120px, 0.8fr));
    gap: clamp(26px, 4vw, 48px);
    padding-bottom: 42px;
}

.bpo-footer nav {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.bpo-footer__brand img {
    display: block;
    width: 172px;
    height: 42px;
    object-fit: contain;
    object-position: left center;
}

.bpo-footer__brand p {
    max-width: 300px;
}

.bpo-footer p,
.bpo-footer a {
    margin: 8px 0 0;
    color: var(--bpo-muted);
    font-size: 0.9rem;
}

.bpo-footer a {
    text-decoration: none;
}

.bpo-footer a:hover {
    color: var(--bpo-brand);
}

.bpo-footer__contact a {
    display: inline-block;
    color: var(--bpo-text);
    overflow-wrap: anywhere;
}

.bpo-footer__contact p {
    max-width: 210px;
}

.bpo-footer__bottom {
    display: flex;
    min-height: 68px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-top: 1px solid var(--bpo-line);
}

.bpo-footer__bottom p {
    margin: 0;
}

.bpo-footer__bottom nav {
    flex-direction: row;
    align-items: center;
    gap: 18px;
}

.bpo-footer__bottom a {
    margin: 0;
}

.bpo-pricing-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}

.bpo-pricing__shell {
    width: min(1260px, calc(100% - 40px));
}

.bpo-pricing__heading {
    max-width: 870px;
    margin-bottom: 34px;
}

.bpo-pricing__heading p {
    max-width: 800px;
    line-height: 1.7;
}

.bpo-trial-strip {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    max-width: 900px;
    margin: 0 0 28px;
    padding: 15px 16px;
    border: 1px solid color-mix(in srgb, var(--bpo-line) 82%, #93c5fd);
    border-radius: 15px;
    background: color-mix(in srgb, var(--bpo-surface) 94%, var(--bpo-soft));
}

.bpo-trial-strip__mark {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border-radius: 12px;
    background: var(--bpo-soft);
    color: var(--bpo-brand);
    font-size: 1rem;
    font-weight: 800;
}

.bpo-trial-strip__title {
    margin: 0 0 3px;
    color: var(--bpo-text);
    font-size: 0.98rem;
    font-weight: 700;
}

.bpo-trial-strip__limits {
    margin: 0;
    color: var(--bpo-muted);
    font-size: 0.84rem;
}

.bpo-trial-strip .bpo-button {
    flex: 0 0 auto;
    min-height: 42px;
    padding: 8px 15px;
    font-size: 0.9rem;
}

.bpo-price-card {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    padding: 24px 22px;
    border: 1px solid var(--bpo-line);
    border-radius: var(--bpo-radius);
    background: var(--bpo-surface);
    box-shadow: 0 8px 28px rgba(30, 64, 175, 0.06);
}

.bpo-price-card--featured {
    border: 2px solid var(--bpo-brand);
    background: linear-gradient(180deg, var(--bpo-surface), color-mix(in srgb, var(--bpo-soft) 55%, var(--bpo-surface)));
    box-shadow: var(--bpo-shadow);
}

.bpo-price-card--enterprise {
    border-color: #6f86aa;
    background: linear-gradient(155deg, var(--bpo-surface) 0%, var(--bpo-soft) 100%);
}

.bpo-price-card__badge {
    align-self: flex-start;
    padding: 4px 9px;
    border-radius: 999px;
    background: var(--bpo-brand);
    color: #ffffff;
    font-size: 0.72rem;
    font-weight: 700;
    line-height: 1.3;
}

.bpo-price-card__name {
    margin: 0;
    color: var(--bpo-text);
    font-weight: 700;
}

.bpo-price-card__price {
    display: flex;
    align-items: baseline;
    gap: 5px;
}

.bpo-price-card__price strong {
    color: var(--bpo-text);
    font-size: clamp(1.35rem, 2vw, 1.8rem);
}

.bpo-price-card ul {
    margin: 0;
    padding: 0;
    color: var(--bpo-muted);
    font-size: 0.9rem;
    list-style: none;
}

.bpo-price-card li {
    padding: 4px 0;
}

.bpo-price-card li::before {
    margin-right: 8px;
    color: var(--bpo-success);
    content: "✓";
    font-weight: 700;
}

.bpo-price-card__intro,
.bpo-price-card__value {
    margin: 0;
    color: var(--bpo-muted);
    font-size: 0.86rem;
}

.bpo-price-card__value {
    padding-top: 12px;
    border-top: 1px solid var(--bpo-line);
}

.bpo-price-card .bpo-button {
    width: 100%;
}

.bpo-pricing-note {
    margin: 18px auto 0;
    max-width: 880px;
    color: var(--bpo-muted);
    font-size: 0.82rem;
    text-align: center;
}

.bpo-pricing-explainer {
    display: grid;
    grid-template-columns: minmax(190px, 0.3fr) minmax(0, 1fr);
    gap: clamp(24px, 4vw, 50px);
    margin: 0 0 26px;
    padding: 24px 26px;
    border-left: 3px solid var(--bpo-brand);
    border-radius: 0 14px 14px 0;
    background: color-mix(in srgb, var(--bpo-surface) 88%, var(--bpo-soft));
}

.bpo-pricing-explainer p,
.bpo-pricing-rules p {
    margin: 0;
    color: var(--bpo-muted);
    line-height: 1.65;
}

.bpo-pricing-explainer p strong {
    color: var(--bpo-text);
}

.bpo-pricing-explainer__label {
    color: var(--bpo-brand);
    font-size: 0.76rem;
    font-weight: 800;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.bpo-pricing-scale {
    position: relative;
    overflow: hidden;
    margin-bottom: clamp(54px, 5vw, 58px);
    border: 1px solid var(--bpo-line);
    border-radius: 16px;
    background: var(--bpo-surface);
    box-shadow: 0 14px 44px rgba(30, 64, 175, 0.055);
}

.bpo-pricing-scale__principle {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
    color: var(--bpo-text);
    font-size: 0.9rem;
}

.bpo-pricing-scale__principle span {
    width: 9px;
    height: 9px;
    flex: 0 0 auto;
    border: 2px solid var(--bpo-brand);
    border-radius: 50%;
    background: var(--bpo-surface);
}

.bpo-pricing-scale__head,
.bpo-pricing-scale__row {
    display: grid;
    grid-template-columns: minmax(160px, 0.7fr) minmax(190px, 0.8fr) minmax(280px, 1.5fr);
    gap: 20px;
    align-items: center;
    padding: 20px 26px 20px 32px;
}

.bpo-pricing-scale__head {
    padding-block: 15px;
    background: #10203a;
    color: #dbeafe;
    font-size: 0.74rem;
    font-weight: 750;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.bpo-pricing-scale__row::before {
    position: absolute;
    left: 17px;
    width: 7px;
    height: 7px;
    border: 2px solid var(--bpo-brand);
    border-radius: 50%;
    background: var(--bpo-surface);
    content: "";
}

.bpo-pricing-scale__row + .bpo-pricing-scale__row {
    border-top: 1px solid var(--bpo-line);
}

.bpo-pricing-scale__row:nth-child(even) {
    background: color-mix(in srgb, var(--bpo-soft) 46%, var(--bpo-surface));
}

.bpo-pricing-scale__row > span:last-child {
    color: var(--bpo-muted);
    font-size: 0.9rem;
}

.bpo-pricing-scale__row b {
    color: var(--bpo-brand);
    font-size: 1.12rem;
}

.bpo-pricing-scale__row--enterprise {
    background: color-mix(in srgb, var(--bpo-soft) 70%, var(--bpo-surface));
}

.bpo-pricing-tools {
    display: grid;
    gap: 18px;
}

.bpo-pricing-calculator,
.bpo-pricing-examples {
    border: 1px solid var(--bpo-line);
    border-radius: 20px;
    background: var(--bpo-surface);
}

.bpo-pricing-calculator {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(360px, 1.08fr);
    gap: clamp(28px, 5vw, 64px);
    padding: clamp(30px, 4.5vw, 48px);
    box-shadow: 0 22px 64px rgba(30, 64, 175, 0.09);
}

.bpo-pricing-calculator__heading h3,
.bpo-pricing-examples h3,
.bpo-pricing-rules summary {
    margin: 7px 0 22px;
    color: var(--bpo-text);
}

.bpo-pricing-calculator__heading h3 {
    max-width: 490px;
    font-size: clamp(1.55rem, 2.6vw, 2.15rem);
    line-height: 1.15;
}

.bpo-pricing-calculator__quantity {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    color: var(--bpo-text);
    flex-direction: column;
    font-weight: 700;
}

.bpo-pricing-calculator__quantity input {
    width: 116px;
    min-height: 52px;
    padding: 9px 12px;
    border: 1px solid var(--bpo-line);
    border-radius: 12px;
    background: var(--bpo-surface);
    color: var(--bpo-text);
    font: inherit;
    font-size: 1.15rem;
    font-weight: 750;
    text-align: center;
}

.bpo-pricing-calculator__quantity input:focus-visible,
.bpo-pricing-calculator__range input:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--bpo-brand) 28%, transparent);
    outline-offset: 3px;
}

.bpo-pricing-calculator__range {
    display: block;
    margin: 24px 0 0;
}

.bpo-pricing-calculator__range input {
    display: block;
    width: 100%;
    height: 28px;
    min-height: 28px;
    margin: 0;
    appearance: none;
    background: transparent;
    accent-color: var(--bpo-brand);
    cursor: pointer;
}

.bpo-pricing-calculator__range input::-webkit-slider-runnable-track {
    height: 6px;
    border-radius: 999px;
    background: color-mix(in srgb, var(--bpo-brand) 22%, var(--bpo-line));
}

.bpo-pricing-calculator__range input::-webkit-slider-thumb {
    width: 20px;
    height: 20px;
    margin-top: -7px;
    appearance: none;
    border: 4px solid var(--bpo-surface);
    border-radius: 50%;
    background: var(--bpo-brand);
    box-shadow: 0 2px 10px rgba(30, 64, 175, 0.24);
}

.bpo-pricing-calculator__range input::-moz-range-track {
    height: 6px;
    border: 0;
    border-radius: 999px;
    background: color-mix(in srgb, var(--bpo-brand) 22%, var(--bpo-line));
}

.bpo-pricing-calculator__range input::-moz-range-thumb {
    width: 14px;
    height: 14px;
    border: 4px solid var(--bpo-surface);
    border-radius: 50%;
    background: var(--bpo-brand);
    box-shadow: 0 2px 10px rgba(30, 64, 175, 0.24);
}

.bpo-pricing-calculator__range-labels {
    display: flex;
    justify-content: space-between;
    margin-top: 4px;
    color: var(--bpo-muted);
    font-size: 0.75rem;
}

.bpo-pricing-calculator__result {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    padding: clamp(26px, 4vw, 40px);
    border: 1px solid color-mix(in srgb, var(--bpo-line) 76%, #93c5fd);
    border-radius: 18px;
    background: linear-gradient(145deg, color-mix(in srgb, var(--bpo-soft) 68%, var(--bpo-surface)), var(--bpo-surface));
}

.bpo-pricing-calculator__result[hidden],
.bpo-pricing-calculator__enterprise[hidden] {
    display: none;
}

.bpo-pricing-calculator__result small,
.bpo-pricing-calculator__result strong,
.bpo-pricing-calculator__result > span {
    display: block;
}

.bpo-pricing-calculator__result small {
    margin-bottom: 10px;
    color: var(--bpo-muted);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.bpo-pricing-calculator__result strong {
    color: var(--bpo-text);
    font-size: clamp(2.2rem, 4.8vw, 4rem);
    letter-spacing: -0.045em;
    line-height: 1;
}

.bpo-pricing-calculator__result > span {
    margin-top: 10px;
    color: var(--bpo-brand);
    font-size: 1rem;
    font-weight: 700;
}

.bpo-pricing-calculator__actions {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-top: 28px;
}

.bpo-pricing-calculator__enterprise {
    align-self: stretch;
    padding: clamp(28px, 4vw, 42px);
    border: 1px solid color-mix(in srgb, var(--bpo-line) 76%, #93c5fd);
    border-radius: 18px;
    background: var(--bpo-soft);
}

.bpo-pricing-calculator__enterprise strong,
.bpo-pricing-calculator__enterprise span {
    display: block;
}

.bpo-pricing-calculator__enterprise span {
    margin-top: 5px;
    color: var(--bpo-muted);
}

.bpo-pricing-calculator__enterprise > strong {
    margin-top: 14px;
    font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.bpo-pricing-calculator__enterprise .bpo-button {
    margin-top: 24px;
}

.bpo-pricing-examples {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px 24px;
    align-items: center;
    padding: 19px 22px;
    border-radius: 16px;
}

.bpo-pricing-examples h3 {
    margin: 0;
    font-size: 0.95rem;
}

.bpo-pricing-examples ul {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.bpo-pricing-examples li {
    display: grid;
    gap: 3px;
    padding: 12px 14px;
    border-radius: 11px;
    background: var(--bpo-soft);
}

.bpo-pricing-examples li span {
    color: var(--bpo-muted);
    font-size: 0.78rem;
}

.bpo-pricing-examples li strong {
    font-size: 0.9rem;
}

.bpo-pricing-rules {
    max-width: 900px;
    margin: 22px auto 0;
    padding: 0 18px;
    border: 1px solid var(--bpo-line);
    border-radius: 12px;
    background: color-mix(in srgb, var(--bpo-surface) 76%, transparent);
}

.bpo-pricing-rules summary {
    margin: 0;
    padding: 15px 0;
    color: var(--bpo-text);
    font-size: 0.9rem;
    font-weight: 700;
    cursor: pointer;
}

.bpo-pricing-rules summary:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--bpo-brand) 28%, transparent);
    outline-offset: 4px;
}

.bpo-pricing-rules div {
    padding: 0 0 16px;
    border-top: 1px solid var(--bpo-line);
}

.bpo-pricing-rules p {
    padding-top: 14px;
    font-size: 0.86rem;
}

.bpo-text-link--light {
    color: #ffffff;
}

@media (max-width: 1120px) {
    .bpo-pricing-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .bpo-pricing-calculator {
        grid-template-columns: minmax(0, 0.9fr) minmax(330px, 1.1fr);
        gap: 28px;
    }
}

@media (max-width: 900px) {
    .bpo-pricing-calculator {
        grid-template-columns: 1fr;
    }

    .bpo-pricing-examples ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .bpo-pricing-grid {
        grid-template-columns: 1fr;
    }

    .bpo-pricing-explainer,
    .bpo-pricing-scale__head,
    .bpo-pricing-scale__row {
        grid-template-columns: 1fr;
    }

    .bpo-pricing-scale__head {
        display: none;
    }

    .bpo-pricing-scale__row {
        gap: 5px;
        padding: 17px 18px;
    }

    .bpo-pricing-calculator__quantity {
        align-items: flex-start;
        flex-direction: column;
    }

    .bpo-pricing-calculator__quantity input {
        width: 100%;
    }

    .bpo-pricing-calculator__result {
        padding: 24px 20px;
    }

    .bpo-pricing-calculator__actions {
        grid-template-columns: 1fr;
    }

    .bpo-pricing-calculator__actions .bpo-button {
        width: 100%;
    }

    .bpo-pricing-examples {
        grid-template-columns: 1fr;
    }

    .bpo-pricing-examples ul {
        grid-column: auto;
    }
}

.bpo-cookie-preferences {
    min-height: 36px;
    padding: 7px 12px;
    border: 1px solid #aebbd0;
    border-radius: 9px;
    background: transparent;
    color: var(--bpo-text);
    font: inherit;
    font-size: 0.82rem;
    font-weight: 600;
    cursor: pointer;
    transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}

.bpo-cookie-preferences:hover {
    border-color: var(--bpo-brand);
    background: var(--bpo-soft);
    color: var(--bpo-brand);
}

.bpo-sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
}

@media (max-width: 1060px) {
    .bpo-nav-menu {
        position: absolute;
        top: calc(100% + 1px);
        right: 0;
        display: none;
        width: min(360px, calc(100vw - 40px));
        align-items: stretch;
        padding: 16px;
        border: 1px solid var(--bpo-line);
        border-radius: 0 0 16px 16px;
        background: var(--bpo-surface);
        box-shadow: var(--bpo-shadow);
    }

    .bpo-nav-menu.is-open {
        display: flex;
        flex-direction: column;
    }

    .bpo-nav-toggle {
        display: inline-grid;
        place-items: center;
    }

    .bpo-hero__grid {
        grid-template-columns: minmax(414px, 0.43fr) minmax(0, 0.57fr);
        gap: 24px;
    }

    .bpo-hero .bpo-shell {
        width: min(1368px, calc(100% - 32px));
    }

    .bpo-workflow {
        grid-template-columns: repeat(3, 1fr);
        gap: 24px 0;
    }

    .bpo-feature-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .bpo-pricing__shell {
        width: min(1180px, calc(100% - 40px));
    }
}

@media (max-width: 800px) {
    .bpo-hero__grid,
    .bpo-problem__grid,
    .bpo-feature-split,
    .bpo-governance,
    .bpo-onboarding,
    .bpo-plan,
    .bpo-faq-layout {
        grid-template-columns: 1fr;
    }

    .bpo-final__card {
        grid-template-columns: 1fr;
    }

    .bpo-pillars,
    .bpo-feature-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .bpo-problem__copy {
        padding: 22px 0 0;
        border-top: 3px solid var(--bpo-accent);
        border-left: 0;
    }

    .bpo-other__row {
        align-items: stretch;
        flex-direction: column;
    }

    .bpo-other__row nav {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .bpo-footer__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .bpo-footer__brand {
        grid-column: 1 / -1;
    }

    .bpo-footer__bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 12px;
        padding: 18px 0;
    }

    .bpo-product-pair {
        grid-template-columns: 1fr;
    }

    .bpo-product-frame--hero {
        transform: none;
    }
}

@media (max-width: 560px) {
    .bpo-shell {
        width: min(1180px, calc(100% - 24px));
    }

    .bpo-brand img {
        width: 132px;
        height: 34px;
    }

    .bpo-nav {
        min-height: 64px;
    }

    .bpo-hero {
        padding-top: 40px;
    }

    .bpo-hero .bpo-shell {
        width: min(1180px, calc(100% - 24px));
    }

    .bpo-hero h1 {
        font-size: clamp(2.1rem, 11vw, 3.1rem);
    }

    .bpo-actions,
    .bpo-actions .bpo-button {
        width: 100%;
    }

    .bpo-hero .bpo-actions {
        gap: 10px;
    }

    .bpo-hero .bpo-text-link {
        margin-top: 8px;
    }

    .bpo-hero__reassurance {
        justify-content: center;
    }

    .bpo-visual__summary,
    .bpo-onboarding ol,
    .bpo-pillars,
    .bpo-feature-grid,
    .bpo-footer__grid {
        grid-template-columns: 1fr;
    }

    .bpo-footer__brand {
        grid-column: auto;
    }

    .bpo-footer__grid {
        gap: 26px;
        padding-bottom: 30px;
    }

    .bpo-footer__bottom nav {
        width: 100%;
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .bpo-cookie-preferences {
        width: 100%;
        text-align: left;
    }

    .bpo-other__row nav,
    .bpo-other a {
        width: 100%;
    }

    .bpo-workflow {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .bpo-workflow li {
        padding: 14px 16px 14px 32px;
        border-top: 0;
        border-left: 2px solid var(--bpo-line);
    }

    .bpo-workflow li::before {
        top: 20px;
        left: -6px;
    }

    .bpo-client-row {
        grid-template-columns: auto 1fr;
    }

    .bpo-client-row b {
        display: none;
    }

    .bpo-governance-list {
        grid-template-columns: 1fr;
    }

    .bpo-governance-list li,
    .bpo-governance-list li:nth-child(odd),
    .bpo-governance-list li:nth-last-child(-n + 2) {
        border-right: 0;
        border-bottom: 1px solid var(--bpo-line);
    }

    .bpo-governance-list li:last-child {
        border-bottom: 0;
    }

    .bpo-pricing__shell {
        width: min(1180px, calc(100% - 24px));
    }

    .bpo-trial-strip {
        grid-template-columns: auto minmax(0, 1fr);
        gap: 12px;
        padding: 15px;
    }

    .bpo-trial-strip .bpo-button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .bpo-trial-strip__limits {
        display: block;
    }

    .bpo-pricing-calculator {
        gap: 24px;
        padding: 22px 18px;
    }

    .bpo-pricing-examples ul {
        grid-template-columns: 1fr;
    }

    .bpo-final__card {
        gap: 32px;
        padding: 32px 22px;
        border-radius: 22px;
    }

    .bpo-final__decision {
        padding: 22px 18px;
    }
}

@media (prefers-color-scheme: dark) {
    .bpo-home {
        --bpo-bg: #08111f;
        --bpo-surface: #101d30;
        --bpo-soft: #0d192a;
        --bpo-text: #edf3fc;
        --bpo-muted: #afbdd0;
        --bpo-line: #2a3b53;
        --bpo-brand: #5f8ff7;
        --bpo-brand-strong: #3f70db;
        --bpo-accent: #60a5fa;
        --bpo-dark-section: #071322;
        --bpo-success: #5ee0ad;
        --bpo-shadow: none;
    }

    .bpo-button {
        border-color: #2563eb;
        background: #2563eb;
    }

    .bpo-button--secondary {
        border-color: var(--bpo-line);
        background: transparent;
        color: var(--bpo-text);
    }

    .bpo-button--light {
        border-color: #ffffff;
        background: #ffffff;
        color: #17358f;
    }

    .bpo-final__card {
        background:
            radial-gradient(circle at 88% 12%, rgba(96, 165, 250, 0.12), transparent 25rem),
            linear-gradient(135deg, #07162c 0%, #102b59 100%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .bpo-home *,
    .bpo-home *::before,
    .bpo-home *::after {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
    }
}

/* Public pricing page */
.pricing-page {
    --pricing-bg: #f7f9fc;
    --pricing-surface: #ffffff;
    --pricing-soft: #eef4ff;
    --pricing-text: #10203a;
    --pricing-muted: #53627a;
    --pricing-line: #dbe4f0;
    --pricing-brand: #1e40af;
    --pricing-brand-strong: #17358f;
    --pricing-accent: #2563eb;
    --pricing-success: #047857;
    --pricing-dark-section: #10203a;
    --pricing-radius: 18px;
    --pricing-shadow: 0 18px 50px rgba(30, 64, 175, 0.09);
    margin: 0;
    overflow-x: hidden;
    background: var(--pricing-bg);
    color: var(--pricing-text);
    font-family: 'Instrument Sans', system-ui, sans-serif;
    font-size: 16px;
    line-height: 1.6;
}

.pricing-page *,
.pricing-page *::before,
.pricing-page *::after {
    box-sizing: border-box;
}

.pricing-page a:focus-visible,
.pricing-page button:focus-visible,
.pricing-page summary:focus-visible {
    outline: 3px solid #f59e0b;
    outline-offset: 3px;
}

.pricing-shell {
    box-sizing: border-box;
    width: 100%;
    max-width: 1180px;
    margin-inline: auto;
    padding-inline: 20px;
}

.pricing-skip-link {
    position: fixed;
    z-index: 1000;
    top: 12px;
    left: 12px;
    padding: 10px 14px;
    border-radius: 8px;
    background: #ffffff;
    color: #10203a;
    font-weight: 600;
    transform: translateY(-160%);
}

.pricing-skip-link:focus {
    transform: translateY(0);
}

.pricing-header {
    position: sticky;
    z-index: 50;
    top: 0;
    border-bottom: 1px solid color-mix(in srgb, var(--pricing-line) 78%, transparent);
    background: color-mix(in srgb, var(--pricing-surface) 94%, transparent);
    backdrop-filter: blur(14px);
}

.pricing-nav {
    display: flex;
    min-height: 72px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.pricing-brand {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    text-decoration: none;
}

.pricing-brand picture,
.pricing-brand img {
    display: block;
}

.pricing-brand img {
    width: 172px;
    height: 42px;
    object-fit: contain;
    object-position: left center;
}

.pricing-nav__links,
.pricing-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.pricing-nav__links > a:not(.pricing-button) {
    padding: 8px 4px;
    color: var(--pricing-text);
    font-weight: 600;
    text-decoration: none;
}

.pricing-nav__links > a[aria-current="page"] {
    color: var(--pricing-brand);
}

.pricing-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: center;
    padding: 11px 19px;
    border: 1px solid var(--pricing-brand);
    border-radius: 11px;
    background: var(--pricing-brand);
    color: #ffffff;
    font: inherit;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.pricing-button:hover {
    border-color: var(--pricing-brand-strong);
    background: var(--pricing-brand-strong);
    transform: translateY(-1px);
}

.pricing-button--compact {
    min-height: 42px;
    padding: 8px 15px;
}

.pricing-button--secondary {
    background: transparent;
    color: var(--pricing-brand);
}

.pricing-button--light {
    border-color: #ffffff;
    background: #ffffff;
    color: #17358f;
}

.pricing-button--light:hover {
    border-color: #dbeafe;
    background: #dbeafe;
}

.pricing-button--outline-light {
    border-color: rgba(255, 255, 255, 0.7);
    background: transparent;
    color: #ffffff;
}

.pricing-hero {
    padding: clamp(52px, 7vw, 80px) 0 0;
    background:
        radial-gradient(circle at 85% 20%, rgba(59, 130, 246, 0.16), transparent 28rem),
        linear-gradient(180deg, var(--pricing-surface), var(--pricing-bg));
}

/* Sprint 7.2.1 — Hero premium em 2 colunas (~57/43): coluna de conteúdo +
   card de resumo visual do modelo de preço, para dar profundidade comercial
   sem duplicar a calculadora. Reaproveita .pricing-hero__grid/__summary, que
   existiam sem uso real (herdados do design anterior a Sprint 3). */
.pricing-hero__grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, 1fr);
    gap: clamp(32px, 5vw, 64px);
    align-items: center;
}

.pricing-hero__content {
    max-width: 640px;
}

.pricing-eyebrow,
.pricing-kicker {
    display: inline-flex;
    color: var(--pricing-brand);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pricing-hero h1 {
    max-width: 100%;
    margin: 16px 0 20px;
    font-size: clamp(2.1rem, 3.6vw, 3.4rem);
    letter-spacing: -0.045em;
    line-height: 1.08;
    font-weight: 600;
}

.pricing-hero__lead {
    max-width: 100%;
    margin: 0 0 28px;
    color: var(--pricing-muted);
    font-size: clamp(1.02rem, 1.6vw, 1.15rem);
}

.pricing-reviewed {
    margin: 18px 0 0;
    color: var(--pricing-muted);
    font-size: 0.875rem;
}

.pricing-hero__summary {
    padding: clamp(24px, 3vw, 32px);
    border: 1px solid var(--pricing-line);
    border-radius: 24px;
    background: color-mix(in srgb, var(--pricing-surface) 96%, transparent);
    box-shadow: var(--pricing-shadow);
}

.pricing-hero__summary > span {
    color: var(--pricing-brand);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.pricing-hero__summary p {
    margin: 14px 0 20px;
    color: var(--pricing-muted);
    font-size: 0.92rem;
    font-weight: 400;
    line-height: 1.5;
}

.pricing-hero__summary small {
    color: var(--pricing-muted);
}

.pricing-hero__summary-highlight {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-top: 16px;
    padding-bottom: 18px;
    border-bottom: 1px solid var(--pricing-line);
}

.pricing-hero__summary-highlight strong {
    font-size: 1.15rem;
    font-weight: 600;
}

.pricing-hero__summary-highlight span {
    font-size: 1.7rem;
    font-weight: 600;
    letter-spacing: -0.02em;
    color: var(--pricing-brand);
}

.pricing-hero__summary-highlight span b {
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--pricing-muted);
}

.pricing-hero__summary-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pricing-hero__summary-list li {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 0;
    border-top: 1px solid var(--pricing-line);
}

.pricing-hero__summary-list li span {
    color: var(--pricing-muted);
    font-size: 0.9rem;
}

.pricing-hero__summary-list li strong {
    font-weight: 600;
    font-size: 0.92rem;
}

/* Sprint 7.2.1 — a barra deixa de ser um card flutuante próprio (borda +
   sombra + margem grande) e passa a ler como continuação do Hero: só um
   divisor no topo, mais próxima do conteúdo, ícones em badge circular no
   lugar do "✓" cru para reforçar o acabamento. */
.pricing-trust {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    margin-top: 40px;
    padding: 24px 0 0;
    border-top: 1px solid var(--pricing-line);
}

.pricing-trust span {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 4px 20px 4px 0;
    color: var(--pricing-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

.pricing-trust span::before {
    display: grid;
    flex: 0 0 auto;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    background: color-mix(in srgb, var(--pricing-success) 18%, transparent);
    color: var(--pricing-success);
    content: "✓";
    font-size: 0.7rem;
    font-weight: 700;
}

.pricing-trust span + span {
    padding-left: 20px;
    border-left: 1px solid var(--pricing-line);
}

.pricing-section {
    padding: clamp(66px, 9vw, 110px) 0;
}

.pricing-section--soft {
    background: var(--pricing-soft);
}

.pricing-section__heading {
    max-width: 720px;
    margin-bottom: 36px;
}

.pricing-section__heading--center {
    margin-inline: auto;
    text-align: center;
}

.pricing-section__heading h2,
.pricing-bpo h2,
.pricing-enterprise h2,
.pricing-final h2 {
    margin: 8px 0 12px;
    font-size: clamp(1.85rem, 3.5vw, 3rem);
    letter-spacing: -0.035em;
    line-height: 1.12;
    font-weight: 600;
}

.pricing-section__heading p,
.pricing-bpo p,
.pricing-enterprise p,
.pricing-final p {
    margin: 0;
    color: var(--pricing-muted);
    font-size: 1.05rem;
}

.pricing-guidance {
    padding-bottom: 30px;
}

.pricing-guidance__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
}

.pricing-guidance__grid a {
    display: flex;
    min-height: 126px;
    flex-direction: column;
    justify-content: center;
    padding: 22px;
    border: 1px solid var(--pricing-line);
    border-radius: var(--pricing-radius);
    background: var(--pricing-surface);
    color: var(--pricing-text);
    text-decoration: none;
}

.pricing-guidance__grid a:hover {
    border-color: var(--pricing-accent);
    box-shadow: var(--pricing-shadow);
}

.pricing-guidance__grid strong {
    margin-bottom: 4px;
    color: var(--pricing-brand);
}

.pricing-guidance__grid span {
    color: var(--pricing-muted);
}

.pricing-plans {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.pricing-plan {
    position: relative;
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 20px;
    padding: 26px 22px;
    border: 1px solid var(--pricing-line);
    border-radius: 22px;
    background: var(--pricing-surface);
    box-shadow: var(--pricing-shadow);
}

.pricing-plan--featured {
    border: 2px solid var(--pricing-accent);
    box-shadow: 0 22px 60px rgba(37, 99, 235, 0.18);
}

.pricing-plan__badge {
    align-self: flex-start;
    padding: 5px 10px;
    border-radius: 999px;
    background: var(--pricing-brand);
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 600;
}

.pricing-plan__name {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 600;
}

.pricing-plan__description {
    min-height: 76px;
    margin: 6px 0 0;
    color: var(--pricing-muted);
}

.pricing-plan__price strong {
    display: block;
    font-size: clamp(1.8rem, 3vw, 2.25rem);
    letter-spacing: -0.04em;
    line-height: 1.1;
    font-weight: 600;
}

.pricing-plan__price span {
    color: var(--pricing-muted);
}

.pricing-plan__group {
    padding-top: 16px;
    border-top: 1px solid var(--pricing-line);
}

.pricing-plan__group h3,
.pricing-comparison-mobile h3 {
    margin: 0 0 8px;
    font-size: 0.78rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    font-weight: 600;
}

.pricing-plan ul,
.pricing-comparison-desktop ul,
.pricing-comparison-mobile ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.pricing-plan li,
.pricing-comparison-desktop li,
.pricing-comparison-mobile li {
    position: relative;
    padding: 4px 0 4px 22px;
    color: var(--pricing-muted);
}

.pricing-plan li::before,
.pricing-comparison-desktop li::before,
.pricing-comparison-mobile li::before {
    position: absolute;
    left: 0;
    color: var(--pricing-success);
    content: "✓";
    font-weight: 600;
}

.pricing-plan > .pricing-button {
    width: 100%;
    margin-top: auto;
}

.pricing-comparison-desktop {
    overflow: hidden;
    border: 1px solid var(--pricing-line);
    border-radius: 20px;
    background: var(--pricing-surface);
}

.pricing-comparison-desktop table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.pricing-comparison-desktop th,
.pricing-comparison-desktop td {
    padding: 14px 16px;
    border-bottom: 1px solid var(--pricing-line);
    text-align: left;
    vertical-align: top;
}

.pricing-comparison-desktop thead th {
    color: var(--pricing-brand);
    font-weight: 600;
}

.pricing-comparison-desktop tbody > tr:last-child > * {
    border-bottom: 0;
}

.pricing-comparison__group th {
    padding-block: 10px;
    background: color-mix(in srgb, var(--pricing-soft) 72%, var(--pricing-surface));
    color: var(--pricing-brand);
    font-size: 0.78rem;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    font-weight: 600;
}

.pricing-comparison-mobile {
    display: none;
}

.pricing-value-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

/* Sprint 7.2 — "O que está incluso" tem 8 itens; em 3 colunas a última linha
   fica com 2 cards e um vão vazio no lugar do 9º. 4 colunas fecha em 2 linhas
   completas. Modificador isolado para não afetar "Como a cobrança funciona",
   que tem 3 itens e continua em .pricing-value-grid puro (3 colunas). */
.pricing-value-grid--includes {
    grid-template-columns: repeat(4, 1fr);
}

.pricing-value-grid article {
    padding: 28px;
    border: 1px solid var(--pricing-line);
    border-radius: var(--pricing-radius);
    background: var(--pricing-surface);
}

.pricing-value-grid article > span {
    color: var(--pricing-accent);
    font-size: 0.8rem;
    font-weight: 600;
    letter-spacing: 0.08em;
}

.pricing-value-grid h3 {
    margin: 14px 0 8px;
    font-size: 1.25rem;
    font-weight: 600;
}

.pricing-value-grid p {
    margin: 0;
    color: var(--pricing-muted);
}

/* Sprint 7.2.1 — seção compacta: padding próprio (antes não tinha nenhum,
   a altura excessiva vinha só da pilha de 4 cards em coluna única) e título
   com fonte menor para caber em poucas linhas na coluna de 40%. */
.pricing-bpo {
    padding: clamp(48px, 6vw, 76px) 0;
    /* fundo fixo (não var(--pricing-text)): esse token inverte para claro no
       dark mode, o que apagaria o texto branco desta seção — --pricing-dark-section
       é dedicado e ganha sua própria variante no bloco dark abaixo. */
    background: var(--pricing-dark-section);
    color: #ffffff;
}

.pricing-bpo__grid {
    display: grid;
    grid-template-columns: 2fr 3fr;
    gap: clamp(32px, 6vw, 80px);
    align-items: center;
}

.pricing-bpo h2 {
    font-size: clamp(1.5rem, 2.4vw, 1.9rem);
    line-height: 1.22;
}

.pricing-bpo .pricing-kicker {
    color: #93c5fd;
}

.pricing-bpo p {
    color: #c8d3e3;
}

.pricing-text-link {
    display: inline-block;
    margin-top: 24px;
    color: #bfdbfe;
    font-weight: 600;
    text-decoration-thickness: 2px;
    text-underline-offset: 4px;
}

/* Grade 2×2 dos pontos de referência (era coluna única de 4 cards, altura
   excessiva). Borda esquerda com opacidade crescente por card: indicador
   discreto de progressão (carteira maior → custo médio menor), sem virar
   gráfico nem novo claim quantitativo. */
.pricing-bpo__points {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pricing-bpo__points li {
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-left: 3px solid rgba(147, 197, 253, 0.28);
    border-radius: 14px;
    padding: 18px 20px;
    background: rgba(255, 255, 255, 0.06);
}

.pricing-bpo__points li:nth-child(2) {
    border-left-color: rgba(147, 197, 253, 0.5);
}

.pricing-bpo__points li:nth-child(3) {
    border-left-color: rgba(147, 197, 253, 0.72);
}

.pricing-bpo__points li:nth-child(4) {
    border-left-color: rgba(147, 197, 253, 0.94);
}

.pricing-bpo__point-index {
    display: block;
    margin-bottom: 8px;
    color: #93c5fd;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.07em;
}

.pricing-bpo__point-label {
    display: block;
    margin-bottom: 6px;
    color: #c8d3e3;
    font-size: 0.9rem;
    font-weight: 600;
}

.pricing-bpo__point-total {
    display: block;
    font-size: 1.4rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    color: #ffffff;
}

.pricing-bpo__point-total b {
    margin-left: 2px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #c8d3e3;
}

.pricing-bpo__point-average {
    display: block;
    margin-top: 4px;
    color: #93a3bd;
    font-size: 0.82rem;
}

/* Sprint 7.2.1 — Faixas: era uma tabela HTML simples (parecia planilha
   administrativa). Vira uma lista ordenada única (as faixas são etapas da
   MESMA carteira, não planos concorrentes) com índice, faixa, valor e nota
   explicativa por linha, mais um callout curto acima e um exemplo rápido
   (mesmos dados de $publicBpoPricing['example'], já usados na calculadora)
   abaixo, com link de volta para a calculadora. */
.pricing-tiers-callout {
    max-width: 720px;
    margin: 0 0 32px;
    padding: 16px 20px;
    border-left: 3px solid var(--pricing-brand);
    border-radius: 0 12px 12px 0;
    background: var(--pricing-surface);
    color: var(--pricing-text);
    font-size: 0.95rem;
    line-height: 1.55;
}

.pricing-tiers-callout strong {
    display: block;
    margin-bottom: 4px;
    font-weight: 600;
}

.pricing-tiers-premium {
    display: grid;
    gap: 0;
    margin: 0 0 28px;
    padding: 0;
    border: 1px solid var(--pricing-line);
    border-radius: 20px;
    background: var(--pricing-surface);
    list-style: none;
    overflow: hidden;
}

.pricing-tiers-premium li {
    display: grid;
    grid-template-columns: 34px minmax(140px, 0.8fr) minmax(160px, 0.8fr) minmax(0, 1.4fr);
    align-items: center;
    gap: 18px;
    padding: 20px 24px;
}

.pricing-tiers-premium li + li {
    border-top: 1px solid var(--pricing-line);
}

.pricing-tiers-premium__index {
    color: var(--pricing-brand);
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.05em;
}

.pricing-tiers-premium__range {
    font-size: 1.05rem;
    font-weight: 600;
}

.pricing-tiers-premium__value {
    display: block;
}

.pricing-tiers-premium__value strong {
    display: block;
    font-size: 1.2rem;
    font-weight: 600;
    color: var(--pricing-brand);
}

.pricing-tiers-premium__value span {
    display: block;
    margin-top: 2px;
    color: var(--pricing-muted);
    font-size: 0.82rem;
}

.pricing-tiers-premium__note {
    display: block;
    color: var(--pricing-muted);
    font-size: 0.9rem;
    line-height: 1.5;
}

.pricing-tiers-example {
    padding: clamp(24px, 3vw, 32px);
    border: 1px solid var(--pricing-line);
    border-radius: 20px;
    background: var(--pricing-surface);
    text-align: center;
}

.pricing-tiers-example__lead {
    margin: 10px 0 14px;
    color: var(--pricing-muted);
    font-size: 0.95rem;
}

.pricing-tiers-example__sum {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: 10px;
    margin-bottom: 16px;
    font-size: 1.05rem;
    font-weight: 600;
}

.pricing-tiers-example__op {
    color: var(--pricing-muted);
    font-weight: 600;
}

.pricing-tiers-example__total {
    font-size: 1.3rem;
    color: var(--pricing-brand);
}

.pricing-enterprise {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 40px;
    align-items: center;
    padding: clamp(28px, 5vw, 48px);
    border-radius: 24px;
    background: linear-gradient(130deg, #17358f, #2563eb);
    color: #ffffff;
    box-shadow: var(--pricing-shadow);
}

.pricing-enterprise .pricing-kicker {
    color: #dbeafe;
}

.pricing-enterprise p {
    max-width: 760px;
    color: #dbeafe;
}

.pricing-enterprise__action {
    display: flex;
    min-width: 210px;
    flex-direction: column;
    gap: 12px;
}

.pricing-enterprise__action > strong {
    font-size: 1.4rem;
    text-align: center;
    font-weight: 600;
}

/* Sprint 7.2 — mesmo padrão consolidado na Home (Sprint 7.1.1): coluna de
   intro mais estreita, lista com max-width próprio (não estica até a
   largura total da segunda coluna) e ícone em badge circular no lugar do
   "+" cru, para as duas páginas lerem como o mesmo sistema de FAQ. */
.pricing-faq-layout {
    display: grid;
    grid-template-columns: minmax(255px, 0.36fr) minmax(0, 1.64fr);
    gap: clamp(28px, 5vw, 64px);
    align-items: start;
}

/* "Pricing sem ambiguidades" tem uma palavra longa (ambiguidades) que,
   nesta coluna estreita, ultrapassava a largura do container e sobrepunha
   visualmente a lista de perguntas ao lado — .pricing-page não tem a
   mesma rede de segurança overflow-wrap que .bpo-home já tinha em h1-p.
   overflow-wrap evita a sobreposição; a fonte menor evita que a palavra
   precise quebrar no meio para caber. */
.pricing-faq-layout .pricing-section__heading h2 {
    font-size: clamp(1.6rem, 2.6vw, 2.35rem);
    overflow-wrap: anywhere;
}

.pricing-faq-list {
    display: grid;
    gap: 14px;
    max-width: 760px;
}

.pricing-faq-item {
    overflow: hidden;
    border: 1px solid var(--pricing-line);
    border-radius: 16px;
    background: var(--pricing-surface);
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.pricing-faq-item:has(button:hover),
.pricing-faq-item:has(button[aria-expanded="true"]) {
    border-color: #9aadd0;
    box-shadow: var(--pricing-shadow);
}

.pricing-faq-item h3 {
    margin: 0;
}

.pricing-faq-item button {
    display: flex;
    width: 100%;
    min-height: 64px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 20px;
    border: 0;
    background: transparent;
    color: var(--pricing-text);
    font: inherit;
    font-size: 1.02rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
}

.pricing-faq-item__icon {
    display: grid;
    flex: 0 0 auto;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 50%;
    background: var(--pricing-soft);
    color: var(--pricing-brand);
    font-size: 1.15rem;
    font-style: normal;
    font-weight: 700;
    line-height: 1;
    transition: transform 160ms ease, background-color 160ms ease, color 160ms ease;
}

.pricing-faq-item button[aria-expanded="true"] .pricing-faq-item__icon {
    background: var(--pricing-brand);
    color: #ffffff;
    transform: rotate(45deg);
}

.pricing-faq-item > div {
    padding: 0 20px 20px;
    color: var(--pricing-muted);
}

.pricing-faq-item > div p {
    margin: 0;
}

.pricing-final__card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 40px;
    padding: clamp(32px, 6vw, 58px);
    border-radius: 24px;
    background: var(--pricing-brand);
    color: #ffffff;
}

.pricing-final .pricing-kicker {
    color: #bfdbfe;
}

.pricing-final p {
    color: #dbeafe;
}

.pricing-final .pricing-actions {
    flex: 0 0 auto;
}

.pricing-footer {
    padding: 30px 0;
    border-top: 1px solid var(--pricing-line);
    background: var(--pricing-surface);
}

.pricing-footer__row,
.pricing-footer__links {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.pricing-footer__row {
    justify-content: space-between;
}

.pricing-footer__row > strong {
    font-weight: 600;
}

.pricing-footer__links a {
    color: var(--pricing-muted);
}

.pricing-sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

/* Sprint 3 — redesign de /planos */

.pricing-hero--lean {
    max-width: 760px;
    padding-bottom: 44px;
}

.pricing-hero--lean .pricing-hero__lead {
    margin-bottom: 0;
}

.pricing-actions--center {
    justify-content: center;
}

.pricing-calculator {
    max-width: 780px;
    margin: 0 auto;
    padding: clamp(28px, 5vw, 44px);
    border: 1px solid var(--pricing-line);
    border-radius: 28px;
    background: var(--pricing-surface);
    box-shadow: var(--pricing-shadow);
    text-align: center;
}

.pricing-calculator--unavailable {
    color: var(--pricing-muted);
}

.pricing-calculator--unavailable strong {
    display: block;
    margin-bottom: 8px;
    color: var(--pricing-text);
    font-size: 1.2rem;
}

.pricing-calculator__control {
    display: grid;
    gap: 14px;
    margin-bottom: 22px;
}

.pricing-calculator input[type="range"] {
    width: 100%;
    accent-color: var(--pricing-brand);
}

.pricing-calculator__number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.pricing-calculator__number label {
    color: var(--pricing-muted);
    font-size: 0.9rem;
    font-weight: 600;
}

.pricing-calculator__number input[type="number"] {
    width: 92px;
    padding: 8px 10px;
    border: 1px solid var(--pricing-line);
    border-radius: 10px;
    background: var(--pricing-bg);
    color: var(--pricing-text);
    font: inherit;
    font-weight: 600;
    text-align: center;
}

.pricing-calculator__result {
    margin-bottom: 24px;
}

.pricing-calculator__result strong {
    display: block;
    font-size: clamp(2.1rem, 5vw, 3.1rem);
    font-weight: 600;
    letter-spacing: -0.03em;
}

.pricing-calculator__result strong span {
    color: var(--pricing-muted);
    font-size: 1.1rem;
    font-weight: 600;
}

.pricing-calculator__result > span {
    color: var(--pricing-muted);
    font-size: 0.98rem;
}

.pricing-breakdown {
    display: flex;
    overflow: hidden;
    margin-bottom: 12px;
    border-radius: 12px;
}

.pricing-breakdown__segment {
    min-width: 0;
    padding: 14px 10px;
    background: var(--pricing-brand);
    color: #ffffff;
    font-size: 0.82rem;
    font-weight: 600;
}

.pricing-breakdown__segment:nth-child(2n) {
    background: var(--pricing-brand-strong);
}

.pricing-breakdown__segment span {
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.pricing-breakdown__caption {
    margin: 0 0 28px;
    color: var(--pricing-muted);
    font-size: 0.85rem;
}

.pricing-calculator__enterprise {
    margin-bottom: 24px;
    color: var(--pricing-muted);
}

.pricing-calculator__enterprise strong {
    display: block;
    margin-bottom: 6px;
    color: var(--pricing-text);
    font-size: 1.2rem;
}

.pricing-reference-examples {
    max-width: 920px;
    margin: 28px auto 0;
    padding: clamp(24px, 4vw, 34px);
    border: 1px solid var(--pricing-line);
    border-radius: 20px;
    background: var(--pricing-surface);
}

.pricing-reference-examples h3 {
    margin: 8px 0 20px;
}

.pricing-reference-examples ul {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pricing-reference-examples li {
    min-width: 0;
    padding: 16px;
    border-radius: 14px;
    background: var(--pricing-soft);
}

.pricing-reference-examples li span,
.pricing-reference-examples li strong,
.pricing-reference-examples li small {
    display: block;
}

.pricing-reference-examples li span,
.pricing-reference-examples li small {
    color: var(--pricing-muted);
}

.pricing-reference-examples li strong {
    margin: 5px 0 3px;
    color: var(--pricing-text);
    font-size: 1.08rem;
}

.pricing-trial-band,
.pricing-setup-band {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px 28px;
    padding: clamp(26px, 4vw, 40px);
    border: 1px solid var(--pricing-line);
    border-radius: var(--pricing-radius);
    background: var(--pricing-surface);
}

/* Sprint 7.2 — Setup fica dentro de uma secao --soft (fundo var(--pricing-soft)).
   O card usava o mesmo tom de fundo com borda transparente, ou seja, ficava
   visualmente idêntico à própria seção — sem nenhum contorno perceptível,
   diferente de Trial (card branco) e Enterprise (card azul), que o brief
   pede para diferenciar visualmente. Trocado para o mesmo tratamento de
   card branco do Trial, mantendo o conteúdo mais enxuto (sem lista de
   checkmarks nem CTA) como diferenciação de peso/hierarquia. */
.pricing-setup-band {
    border-color: var(--pricing-line);
    background: var(--pricing-surface);
}

.pricing-trial-band .pricing-button {
    flex-shrink: 0;
    white-space: nowrap;
}

.pricing-trial-band h2,
.pricing-setup-band h2 {
    margin: 8px 0 8px;
    font-size: clamp(1.35rem, 2.4vw, 1.75rem);
    font-weight: 600;
}

.pricing-trial-band p,
.pricing-setup-band p {
    margin: 0;
    max-width: 520px;
    color: var(--pricing-muted);
}

.pricing-trial-band__limits {
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    gap: 8px 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.pricing-trial-band__limits li {
    position: relative;
    padding-left: 20px;
    color: var(--pricing-muted);
    font-size: 0.92rem;
}

.pricing-trial-band__limits li::before {
    position: absolute;
    left: 0;
    color: var(--pricing-success);
    content: "✓";
    font-weight: 600;
}

/* Sprint 7.2.2 — a nota ficava com contraste fraco: ".pricing-final p"
   (classe do card azul, especificidade 0,1,1) vencia a cor própria de
   ".pricing-pme-note" (0,1,0) por ser mais específica, herdando o azul
   claro pensado para texto sobre fundo azul — aqui a nota está sobre fundo
   claro. Selector ".pricing-final .pricing-pme-note" (0,2,0) resolve isso.
   Ganhou também um contorno próprio (faixa/card secundário) para não ficar
   como texto solto abaixo do card principal. */
.pricing-final .pricing-pme-note {
    margin: 16px 0 0;
    padding: 16px 24px;
    border: 1px solid var(--pricing-line);
    border-radius: 14px;
    background: var(--pricing-surface);
    color: var(--pricing-muted);
    font-size: 0.92rem;
    text-align: center;
}

.pricing-pme-note .contact-cta {
    display: inline-flex;
}

.pricing-pme-note .contact-cta.contact-cta--text {
    color: var(--pricing-brand);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 3px;
}

.pricing-pme-note .contact-cta.contact-cta--text:hover {
    color: var(--pricing-brand-strong);
}

@media (max-width: 1040px) {
    .pricing-plans,
    .pricing-guidance__grid,
    .pricing-value-grid--includes {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pricing-hero__grid {
        grid-template-columns: minmax(0, 1fr) minmax(280px, 0.75fr);
        gap: 40px;
    }

    .pricing-trust {
        grid-template-columns: repeat(2, 1fr);
    }

    .pricing-trust span:nth-child(3) {
        border-left: 0;
    }
}

@media (max-width: 800px) {
    .pricing-hero {
        padding-top: 54px;
    }

    .pricing-hero__grid,
    .pricing-bpo__grid,
    .pricing-faq-layout {
        grid-template-columns: 1fr;
    }

    .pricing-tiers-premium li {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 18px 20px;
    }

    .pricing-tiers-premium__index {
        order: -1;
    }

    .pricing-tiers-premium__value {
        margin-top: 6px;
    }

    .pricing-tiers-premium__note {
        margin-top: 6px;
    }

    .pricing-comparison-desktop {
        display: none;
    }

    .pricing-comparison-mobile {
        display: grid;
        gap: 10px;
    }

    .pricing-comparison-mobile details {
        overflow: hidden;
        border: 1px solid var(--pricing-line);
        border-radius: 14px;
        background: var(--pricing-surface);
    }

    .pricing-comparison-mobile summary {
        display: flex;
        min-height: 56px;
        align-items: center;
        justify-content: space-between;
        gap: 16px;
        padding: 15px 18px;
        color: var(--pricing-brand);
        font-weight: 600;
        cursor: pointer;
    }

    .pricing-comparison-mobile details > div {
        padding: 0 18px 18px;
    }

    .pricing-comparison-mobile h3 {
        margin-top: 18px;
    }

    .pricing-value-grid {
        grid-template-columns: 1fr;
    }

    .pricing-reference-examples ul {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .pricing-enterprise,
    .pricing-final__card {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .pricing-enterprise__action {
        min-width: 0;
    }

    .pricing-enterprise__action > strong {
        text-align: left;
    }

    .pricing-final .pricing-actions,
    .pricing-final .pricing-button {
        width: 100%;
    }

    .pricing-trial-band,
    .pricing-setup-band {
        flex-direction: column;
        align-items: stretch;
        text-align: left;
    }

    .pricing-trial-band .pricing-button {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .pricing-shell {
        padding-inline: 12px;
    }

    .pricing-brand img {
        width: 132px;
        height: 34px;
    }

    .pricing-nav {
        min-height: 64px;
    }

    .pricing-nav__links {
        gap: 8px;
    }

    .pricing-hide-mobile,
    .pricing-nav__links > a:not(.pricing-button):not([aria-current="page"]) {
        display: none;
    }

    .pricing-hero h1 {
        font-size: clamp(2.25rem, 13vw, 3.35rem);
    }

    .pricing-trust,
    .pricing-guidance__grid,
    .pricing-plans,
    .pricing-bpo__points {
        grid-template-columns: 1fr;
    }

    .pricing-trust {
        padding: 18px 0 0;
    }

    .pricing-trust span {
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .pricing-trust span + span {
        padding-left: 0;
        border-top: 1px solid var(--pricing-line);
        border-left: 0;
    }

    .pricing-plan__description {
        min-height: 0;
    }

    .pricing-actions,
    .pricing-actions .pricing-button {
        width: 100%;
    }

    .pricing-breakdown {
        flex-direction: column;
        border-radius: 12px;
    }

    .pricing-breakdown__segment {
        padding: 10px 14px;
    }

    .pricing-calculator {
        padding: 22px;
    }

    .pricing-reference-examples ul {
        grid-template-columns: 1fr;
    }
}

@media (prefers-color-scheme: dark) {
    .pricing-page {
        --pricing-bg: #08111f;
        --pricing-surface: #101d30;
        --pricing-soft: #0d192a;
        --pricing-text: #edf3fc;
        --pricing-muted: #afbdd0;
        --pricing-line: #2a3b53;
        --pricing-brand: #8fb2ff;
        --pricing-brand-strong: #4f7ee8;
        --pricing-accent: #60a5fa;
        --pricing-success: #5ee0ad;
        --pricing-dark-section: #071322;
        --pricing-shadow: none;
    }

    .pricing-button {
        border-color: #2563eb;
        background: #2563eb;
    }

    .pricing-button--secondary {
        border-color: var(--pricing-line);
        background: transparent;
        color: var(--pricing-text);
    }

    .pricing-plan--featured {
        border-color: var(--pricing-accent);
    }
}

@media (prefers-reduced-motion: reduce) {
    .pricing-page *,
    .pricing-page *::before,
    .pricing-page *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

body {
    background: var(--fc-background);
}

.fc-auth-page {
    align-items: center;
    background:
        radial-gradient(circle at top left, rgba(30, 64, 175, .12), transparent 32%),
        linear-gradient(180deg, #F8FAFC 0%, #EEF2FF 100%);
    display: flex;
    justify-content: center;
    min-height: 100vh;
    padding: 32px 16px;
}

.fc-auth-shell {
    width: min(100%, 460px);
}

.fc-auth-shell--wide {
    width: min(100%, 560px);
}

.fc-auth-logo {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.fc-auth-logo img {
    height: 72px;
    width: auto;
}

.fc-auth-card {
    background: var(--fc-white);
    border: 1px solid rgba(226, 232, 240, .92);
    border-radius: 18px;
    box-shadow: 0 20px 46px rgba(15, 23, 42, .11);
    overflow: hidden;
}

.fc-auth-card__bar {
    background: linear-gradient(90deg, var(--fc-primary), #1D4ED8 62%, var(--fc-success));
    height: 5px;
}

.fc-auth-card__body {
    padding: 30px;
}

.fc-auth-badge {
    align-items: center;
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 999px;
    color: var(--fc-primary);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    gap: 7px;
    letter-spacing: .04em;
    line-height: 1;
    margin-bottom: 14px;
    padding: 7px 10px;
    text-transform: uppercase;
}

.fc-auth-title {
    color: var(--fc-text);
    font-size: 26px !important;
    font-weight: 850;
    line-height: 1.2;
    margin: 0;
}

.fc-auth-subtitle {
    color: var(--fc-text-secondary);
    font-size: 14px;
    line-height: 1.55;
    margin: 8px 0 0;
}

.fc-auth-form {
    margin-top: 22px;
}

.fc-auth-field {
    margin-bottom: 16px;
}

.fc-auth-label {
    color: var(--fc-text);
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 7px;
}

.fc-auth-input {
    position: relative;
}

.fc-auth-input__icon {
    color: #94A3B8;
    left: 14px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
}

.fc-auth-input .form-control,
.fc-auth-input .form-select {
    border-color: var(--fc-border);
    border-radius: 10px;
    color: var(--fc-text);
    font-size: 14px;
    min-height: 46px;
    padding-left: 42px;
    padding-right: 44px;
}

.fc-auth-input .form-control:focus,
.fc-auth-input .form-select:focus {
    border-color: #93C5FD;
    box-shadow: 0 0 0 4px rgba(30, 64, 175, .1);
}

.fc-auth-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    margin: 4px 0 18px;
}

.fc-auth-primary {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    font-size: 14px;
    font-weight: 800;
    gap: 8px;
    justify-content: center;
    min-height: 46px;
    width: 100%;
}

.fc-auth-link {
    color: var(--fc-primary);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.fc-auth-link:hover {
    color: #1D4ED8;
    text-decoration: underline;
}

.fc-auth-remember {
    align-items: center;
    align-self: flex-start;
    background: #F8FAFC;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--fc-text-secondary);
    cursor: pointer;
    display: inline-flex;
    font-size: 14px;
    font-weight: 500;
    gap: 10px;
    line-height: 1.35;
    margin: 0 0 18px;
    min-height: 42px;
    padding: 9px 11px;
    transition: background var(--fc-transition), border-color var(--fc-transition), color var(--fc-transition);
}

.fc-auth-remember:hover {
    background: #EFF6FF;
    border-color: #BFDBFE;
    color: var(--fc-text);
}

.fc-auth-remember__checkbox {
    -webkit-appearance: none;
    appearance: none;
    align-items: center;
    background: #FFFFFF;
    border: 2px solid #94A3B8;
    border-radius: 6px;
    cursor: pointer;
    display: inline-grid;
    flex: 0 0 20px;
    height: 20px;
    justify-content: center;
    margin: 0;
    position: relative;
    transition: background var(--fc-transition), border-color var(--fc-transition), box-shadow var(--fc-transition);
    width: 20px;
}

.fc-auth-remember__checkbox::before {
    background: #FFFFFF;
    clip-path: polygon(14% 44%, 0 59%, 42% 100%, 100% 18%, 84% 4%, 39% 67%);
    content: "";
    height: 10px;
    transform: scale(0);
    transition: transform .14s ease;
    width: 10px;
}

.fc-auth-remember__checkbox:checked {
    background: var(--fc-primary);
    border-color: var(--fc-primary);
}

.fc-auth-remember__checkbox:checked::before {
    transform: scale(1);
}

.fc-auth-remember__checkbox:focus-visible {
    box-shadow: 0 0 0 4px rgba(30, 64, 175, .16);
    outline: 2px solid transparent;
}

.fc-auth-remember__checkbox:disabled {
    background: #E2E8F0;
    border-color: #CBD5E1;
    cursor: not-allowed;
}

.fc-auth-remember:has(.fc-auth-remember__checkbox:disabled) {
    color: #94A3B8;
    cursor: not-allowed;
}

.fc-muted-inline {
    color: var(--fc-text-secondary);
    font-size: 12px;
    font-weight: 600;
}

.fc-auth-password-toggle {
    align-items: center;
    background: transparent;
    border: 0;
    color: #94A3B8;
    display: inline-flex;
    height: 36px;
    justify-content: center;
    position: absolute;
    right: 7px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    z-index: 3;
}

.fc-auth-password-toggle:hover {
    color: var(--fc-primary);
}

.fc-auth-legal-links {
    align-items: center;
    color: var(--fc-text-secondary);
    display: flex;
    font-size: 12px;
    gap: 8px;
    justify-content: center;
    margin-top: 10px;
}

.fc-auth-legal-links a {
    color: var(--fc-text-secondary);
    text-decoration: none;
}

.fc-auth-legal-links a:hover {
    color: var(--fc-primary);
    text-decoration: underline;
}

.fc-auth-terms {
    align-items: flex-start;
    background: #F8FAFC;
    border: 1px solid var(--fc-border);
    border-radius: 10px;
    color: var(--fc-text-secondary);
    display: flex;
    font-size: 12px;
    gap: 10px;
    line-height: 1.45;
    margin-bottom: 16px;
    padding: 12px;
    cursor: pointer;
}

.fc-auth-terms__checkbox {
    -webkit-appearance: none !important;
    appearance: none !important;
    align-items: center;
    background: #FFFFFF !important;
    border: 2px solid #94A3B8 !important;
    border-radius: 6px !important;
    cursor: pointer;
    display: inline-grid !important;
    flex: 0 0 20px;
    height: 20px !important;
    justify-content: center;
    margin: 1px 0 0 !important;
    min-height: 20px;
    min-width: 20px;
    position: relative;
    width: 20px !important;
}

.fc-auth-terms__checkbox::before {
    background: #FFFFFF;
    clip-path: polygon(14% 44%, 0 59%, 42% 100%, 100% 18%, 84% 4%, 39% 67%);
    content: "";
    height: 10px;
    transform: scale(0);
    transition: transform .14s ease;
    width: 10px;
}

.fc-auth-terms__checkbox:checked {
    background: var(--fc-primary) !important;
    border-color: var(--fc-primary) !important;
}

.fc-auth-terms__checkbox:checked::before {
    transform: scale(1);
}

.fc-auth-terms__checkbox:focus-visible {
    box-shadow: 0 0 0 4px rgba(30, 64, 175, .16);
    outline: 2px solid transparent;
}

.fc-auth-terms__checkbox.is-invalid {
    border-color: var(--fc-danger) !important;
}

.fc-auth-terms span {
    flex: 1;
}

.fc-auth-terms a {
    color: var(--fc-primary);
    font-weight: 800;
    text-decoration: none;
}

.fc-auth-terms a:hover {
    text-decoration: underline;
}

.fc-auth-terms__error {
    color: var(--fc-danger);
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-top: 6px;
}

.fc-password-checklist {
    background: #F8FAFC;
    border: 1px solid var(--fc-border);
    border-radius: 10px;
    display: grid;
    gap: 7px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    list-style: none;
    margin: 0 0 16px;
    padding: 12px;
}

.fc-password-checklist li {
    align-items: center;
    color: var(--fc-text-secondary);
    display: flex;
    font-size: 12px;
    gap: 7px;
}

.fc-password-checklist i {
    align-items: center;
    background: #E2E8F0;
    border-radius: 999px;
    color: #94A3B8;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 9px;
    height: 18px;
    justify-content: center;
    width: 18px;
}

.fc-password-checklist li.is-ok {
    color: #047857;
    font-weight: 700;
}

.fc-password-checklist li.is-ok i {
    background: #D1FAE5;
    color: #047857;
}

.fc-auth-shell--legal {
    width: min(100%, 860px);
}

.fc-legal-card .fc-auth-card__body {
    padding: 34px;
}

.fc-legal-content {
    color: #334155;
    display: grid;
    gap: 14px;
    margin-top: 24px;
}

.fc-legal-content h2 {
    color: var(--fc-text);
    font-size: 15px;
    font-weight: 850;
    line-height: 1.35;
    margin: 8px 0 0;
}

.fc-legal-content p {
    color: var(--fc-text-secondary);
    font-size: 13px;
    line-height: 1.65;
    margin: 0;
}

.fc-auth-footer {
    border-top: 1px solid var(--fc-border);
    color: var(--fc-text-secondary);
    font-size: 13px;
    margin-top: 22px;
    padding-top: 18px;
    text-align: center;
}

.fc-auth-alert {
    align-items: flex-start;
    border-radius: 10px;
    display: flex;
    font-size: 13px;
    gap: 10px;
    line-height: 1.45;
    margin-bottom: 18px;
    padding: 12px 14px;
}

.fc-auth-alert--success {
    background: #F0FDF4;
    border: 1px solid #BBF7D0;
    color: #166534;
}

.fc-auth-alert--danger {
    background: #FEF2F2;
    border: 1px solid #FECACA;
    color: #991B1B;
}

.fc-auth-note {
    background: #F8FAFC;
    border: 1px dashed var(--fc-border);
    border-radius: 10px;
    color: var(--fc-text-secondary);
    font-size: 12px;
    line-height: 1.5;
    padding: 12px;
}

.fc-auth-checklist {
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 12px;
    color: #1D4ED8;
    display: grid;
    gap: 9px;
    margin: 18px 0;
    padding: 14px;
}

.fc-auth-checklist li {
    align-items: flex-start;
    display: flex;
    font-size: 13px;
    gap: 8px;
}

.fc-auth-account-box,
.fc-auth-company-option {
    background: #F8FAFC;
    border: 1px solid var(--fc-border);
    border-radius: 12px;
    padding: 14px;
}

.fc-auth-company-option {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 14px;
    text-align: left;
    transition: border-color .15s, background-color .15s, transform .15s;
    width: 100%;
}

.fc-auth-company-option:hover,
.fc-auth-company-option.is-active {
    background: #EFF6FF;
    border-color: #93C5FD;
    transform: translateY(-1px);
}

/* Seletor multiempresa */
.fc-company-selector {
    --fc-company-card-gap: 7px;
    --fc-company-card-height: 58px;
    --fc-company-list-height: 196px;
    --fc-company-selector-width: 760px;
    width: min(100%, var(--fc-company-selector-width));
}

.fc-company-selector .fc-auth-card {
    border-radius: 16px;
    box-shadow: 0 16px 40px rgba(15, 23, 42, .09);
}

.fc-company-selector .fc-auth-card__bar {
    height: 4px;
}

.fc-company-selector .fc-auth-card__body {
    display: flex;
    flex-direction: column;
    padding: 22px 28px 16px;
}

.fc-company-selector__header {
    flex: 0 0 auto;
}

.fc-company-selector .fc-auth-badge {
    margin-bottom: 9px;
    padding-bottom: 6px;
    padding-top: 6px;
}

.fc-company-selector .fc-auth-title {
    font-size: 25px !important;
}

.fc-company-selector .fc-auth-subtitle {
    margin-top: 4px;
}

.fc-company-selector .fc-auth-alert {
    margin: 16px 0 0;
}

.fc-company-current,
.fc-company-options {
    margin-top: 12px;
}

.fc-company-section-label {
    color: #475569;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .075em;
    line-height: 1.25;
    margin: 0 0 6px;
    text-transform: uppercase;
}

.fc-company-current__card {
    align-items: center;
    background: #F8FAFF;
    border: 1px solid #BFDBFE;
    border-radius: 10px;
    display: flex;
    gap: 10px;
    min-width: 0;
    padding: 8px 12px;
}

.fc-company-current__avatar {
    background: #DBEAFE;
    color: #1D4ED8;
}

.fc-company-current__status {
    align-items: center;
    background: #FFFFFF;
    border: 1px solid #BFDBFE;
    border-radius: 999px;
    color: #1D4ED8;
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 11px;
    font-weight: 800;
    gap: 5px;
    padding: 5px 8px;
}

.fc-company-options {
    min-height: 0;
}

.fc-company-options__heading {
    align-items: center;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.fc-company-options__heading .fc-company-section-label {
    margin-bottom: 0;
}

.fc-company-options__count {
    color: #64748B;
    font-size: 12px;
    font-weight: 700;
}

.fc-company-search {
    margin-top: 6px;
}

.fc-company-search__label {
    color: #334155;
    display: block;
    font-size: 12px;
    font-weight: 700;
    margin-bottom: 4px;
}

.fc-company-search__field {
    position: relative;
}

.fc-company-search__field > i {
    color: #64748B;
    left: 14px;
    pointer-events: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.fc-company-search__input {
    background: #FCFDFE;
    border: 1px solid #D5DCE6;
    border-radius: 9px;
    color: #0F172A;
    font-size: 14px;
    min-height: 44px;
    padding: 10px 44px 10px 40px;
    transition: border-color .15s, box-shadow .15s;
    width: 100%;
}

.fc-company-search__input::placeholder {
    color: #64748B;
}

.fc-company-search__input:focus {
    border-color: #3B82F6;
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .12);
    outline: 0;
}

.fc-company-search__clear {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: 7px;
    color: #475569;
    display: inline-flex;
    height: 32px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 5px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
}

.fc-company-search__clear:hover {
    background: #E2E8F0;
    color: #0F172A;
}

.fc-company-search__clear:focus-visible,
.fc-auth-company-option:focus-visible,
.fc-company-list:focus-visible {
    box-shadow: 0 0 0 4px rgba(37, 99, 235, .16);
    outline: 2px solid #2563EB;
    outline-offset: 2px;
}

.fc-company-list {
    display: grid;
    gap: var(--fc-company-card-gap);
    margin: 8px -3px 0;
    max-height: clamp(
        var(--fc-company-list-height),
        var(--fc-company-list-height),
        var(--fc-company-list-height)
    );
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    padding: 4px;
    scrollbar-gutter: stable;
    scrollbar-color: #CBD5E1 transparent;
    scrollbar-width: thin;
}

.fc-company-list::-webkit-scrollbar {
    width: 6px;
}

.fc-company-list::-webkit-scrollbar-thumb {
    background: #CBD5E1;
    border-radius: 999px;
}

.fc-company-list::-webkit-scrollbar-thumb:hover {
    background: #94A3B8;
}

.fc-company-list::-webkit-scrollbar-track {
    background: transparent;
}

.fc-company-option-form {
    margin: 0;
    min-width: 0;
}

.fc-company-selector .fc-auth-company-option {
    background: #FBFCFE;
    border-color: #E2E8F0;
    border-radius: 10px;
    min-height: var(--fc-company-card-height);
    padding: 8px 11px;
}

.fc-company-selector .fc-auth-company-option:hover {
    background: #F4F8FF;
    border-color: #93C5FD;
    transform: none;
}

.fc-company-card__identity {
    align-items: center;
    display: flex;
    gap: 10px;
    min-width: 0;
}

.fc-company-card__identity .fc-avatar,
.fc-company-current__avatar {
    flex: 0 0 auto;
    font-size: 12px;
    height: 36px;
    width: 36px;
}

.fc-company-card__content {
    display: block;
    min-width: 0;
}

.fc-company-card__content strong,
.fc-company-card__content small {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fc-company-card__content strong {
    color: #0F172A;
    font-size: 14px;
    line-height: 1.35;
}

.fc-company-card__content small {
    color: #64748B;
    font-size: 12px;
    line-height: 1.4;
    margin-top: 1px;
}

.fc-company-card__arrow {
    color: #2563EB;
    flex: 0 0 auto;
    font-size: 13px;
}

.fc-company-empty-state {
    align-items: center;
    background: #F8FAFC;
    border: 1px dashed #CBD5E1;
    border-radius: 12px;
    color: #64748B;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 138px;
    padding: 22px 16px;
    text-align: center;
}

.fc-company-empty-state > i {
    color: #3B82F6;
    font-size: 20px;
    margin-bottom: 9px;
}

.fc-company-empty-state strong {
    color: #334155;
    font-size: 14px;
}

.fc-company-empty-state span {
    font-size: 12px;
    line-height: 1.45;
    margin-top: 4px;
}

.fc-company-selector__footer {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 16px;
    justify-content: space-between;
    margin-top: 14px;
    padding-top: 12px;
    text-align: left;
}

.fc-company-selector__footer form {
    margin: 0;
}

.fc-auth-captcha-space {
    align-items: center;
    background: #F8FAFC;
    border: 1px dashed #CBD5E1;
    border-radius: 10px;
    color: var(--fc-text-secondary);
    display: flex;
    font-size: 12px;
    gap: 8px;
    justify-content: center;
    min-height: 44px;
    margin-bottom: 16px;
}

.fc-auth-captcha-space--active {
    border-style: solid;
    min-height: 78px;
    padding: 10px;
}

.fc-auth-captcha-space .g-recaptcha {
    max-width: 100%;
    overflow: hidden;
}

@media (max-width: 575.98px) {
    .fc-auth-page {
        align-items: flex-start;
        padding: 20px 12px;
    }

    .fc-auth-logo img {
        height: 64px;
    }

    .fc-auth-card__body {
        padding: 24px 18px;
    }

    .fc-auth-title {
        font-size: 23px !important;
    }

    .fc-password-checklist {
        grid-template-columns: 1fr;
    }

    .fc-company-selector .fc-auth-logo {
        margin-bottom: 10px;
    }

    .fc-company-selector .fc-auth-logo img {
        height: 48px;
    }

    .fc-company-selector .fc-auth-card__body {
        padding: 20px 18px 16px;
    }

    .fc-company-current,
    .fc-company-options {
        margin-top: 11px;
    }

    .fc-company-current__card,
    .fc-company-selector .fc-auth-company-option {
        padding-left: 10px;
        padding-right: 10px;
    }

    .fc-company-current__status span {
        display: none;
    }

    .fc-company-current__status {
        height: 30px;
        justify-content: center;
        padding: 0;
        width: 30px;
    }

    .fc-company-selector__footer {
        margin-top: 12px;
        padding-top: 11px;
    }
}

@media (max-height: 760px) {
    .fc-company-selector .fc-auth-logo {
        margin-bottom: 10px;
    }

    .fc-company-selector .fc-auth-logo img {
        height: 48px;
    }

    .fc-company-selector .fc-auth-card__body {
        padding-bottom: 14px;
        padding-top: 16px;
    }

    .fc-company-selector .fc-auth-badge {
        margin-bottom: 8px;
    }

    .fc-company-current,
    .fc-company-options {
        margin-top: 10px;
    }
}

.page-title,
.fc-page-title {
    font-size: 20px;
    font-weight: 700;
    color: var(--fc-text);
    letter-spacing: 0;
    margin: 0;
}

.section-title {
    font-size: 15px;
    font-weight: 600;
    color: #1E293B;
}

.fc-section-title {
    color: var(--fc-text);
    font-size: 15px;
    font-weight: 800;
    line-height: 1.35;
    margin: 0;
}

.fc-muted-text {
    color: var(--fc-text-secondary);
    font-size: 13px;
    line-height: 1.5;
}

.fc-icon-md {
    font-size: 18px !important;
    line-height: 1 !important;
}

.fc-icon-lg {
    font-size: 20px !important;
    line-height: 1 !important;
}

.dashboard-main-body h1,
.dashboard-main-body h2,
.dashboard-main-body h3 {
    color: var(--fc-text);
    letter-spacing: 0;
}

.dashboard-main-body h1 {
    font-size: var(--fc-title-page);
    line-height: var(--fc-leading-tight);
}

.dashboard-main-body h2 {
    font-size: var(--fc-title-section);
    line-height: 1.35;
}

.dashboard-main-body p {
    line-height: var(--fc-leading-normal);
}

.dashboard-main-body .text-2xxl {
    font-size: 22px !important;
    line-height: 1.25;
}

.dashboard-main-body .text-2xl {
    font-size: 20px !important;
    line-height: 1.3;
}

.dashboard-main-body .text-xxl {
    font-size: 18px !important;
    line-height: 1.35;
}

.dashboard-main-body .text-xl {
    font-size: 16px !important;
    line-height: 1.4;
}

.fc-page-subtitle {
    margin: 5px 0 0;
    color: var(--fc-text-secondary);
    font-size: 13px;
}

.fc-page-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(226, 232, 240, .72);
}

.fc-page-header__main {
    min-width: 0;
}

.fc-page-header__actions {
    flex-shrink: 0;
}

.fc-breadcrumb ol {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    padding: 0;
    margin: 9px 0 0;
    list-style: none;
    color: var(--fc-text-secondary);
    font-size: 12px;
}

.fc-breadcrumb li:not(:last-child)::after {
    content: "\f105";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    margin-left: 8px;
    color: #CBD5E1;
    font-size: 10px;
}

.fc-breadcrumb a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--fc-primary);
    text-decoration: none;
    font-weight: 600;
}

.fc-breadcrumb a:hover {
    text-decoration: underline;
}

.fc-breadcrumb .is-current {
    color: var(--fc-text-secondary);
    font-weight: 600;
}

.card,
.fc-card {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius-md);
    box-shadow: var(--fc-shadow);
}

.card-header,
.fc-card-header {
    background: transparent;
    border-bottom: 1px solid var(--fc-border-subtle);
    padding: var(--fc-space-3) var(--fc-space-5);
}

.fc-card-title {
    font-size: var(--fc-title-card);
    font-weight: var(--fc-weight-semibold);
    color: var(--fc-text);
    margin: 0;
}

.fc-card-count {
    color: var(--fc-text-secondary);
    font-size: 13px;
    font-weight: 400;
}

.fc-btn-primary,
.fc-btn-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border-radius: var(--fc-radius);
    font-size: var(--fc-text-sm);
    font-weight: var(--fc-weight-semibold);
    min-height: var(--fc-control);
    padding: 8px 14px;
    transition: background-color var(--fc-transition), border-color var(--fc-transition), color var(--fc-transition);
}

.fc-btn {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    font-size: var(--fc-text-sm);
    min-height: var(--fc-control);
    padding: 8px 14px;
}

.btn-primary,
.fc-btn-primary {
    background-color: var(--fc-primary);
    border-color: var(--fc-primary);
}

.btn-primary:hover,
.fc-btn-primary:hover {
    background-color: var(--fc-primary-hover);
    border-color: var(--fc-primary-hover);
}

.fc-btn-secondary {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    color: var(--fc-text-secondary);
}

.fc-btn-secondary:hover {
    background: var(--fc-background-secondary);
    color: var(--fc-text);
}

.fc-btn-ghost {
    background: transparent;
    border: 1px solid transparent;
    color: var(--fc-text-secondary);
}

.fc-btn-ghost:hover {
    background: var(--fc-background-secondary);
    color: var(--fc-text);
}

.fc-btn-sm {
    font-size: var(--fc-text-xs);
    min-height: var(--fc-control-sm);
    padding: 6px 11px;
}

.fc-btn-icon {
    padding: 0;
    width: var(--fc-control);
}

.fc-filter-card {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    box-shadow: var(--fc-shadow);
    margin-bottom: 16px;
}

.fc-btn-danger {
    background: var(--fc-danger);
    border-color: var(--fc-danger);
}

.fc-btn-danger:hover {
    background: #B91C1C;
    border-color: #B91C1C;
}

.fc-tag {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: 700;
    gap: 6px;
    line-height: 1;
    padding: 5px 10px;
    white-space: nowrap;
}

.fc-tag--primary { background: #EFF6FF; color: var(--fc-primary); }
.fc-tag--success { background: #F0FDF4; color: #047857; }
.fc-tag--danger { background: #FEF2F2; color: #B91C1C; }
.fc-tag--warning { background: #FFFBEB; color: #B45309; }
.fc-tag--neutral { background: #F1F5F9; color: #475569; }

.fc-avatar {
    align-items: center;
    background: var(--fc-primary);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    flex-shrink: 0;
    font-weight: 800;
    justify-content: center;
    overflow: hidden;
}

.fc-avatar img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.fc-avatar--sm { font-size: 11px; height: 32px; width: 32px; }
.fc-avatar--md { font-size: 13px; height: 40px; width: 40px; }
.fc-avatar--lg { font-size: 16px; height: 52px; width: 52px; }

.fc-action-dropdown {
    display: inline-flex;
}

.fc-action-dropdown__button {
    align-items: center;
    background: #F8FAFC;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    color: var(--fc-text-secondary);
    display: inline-flex;
    height: 32px;
    justify-content: center;
    transition: background-color .15s, border-color .15s, color .15s;
    width: 32px;
}

.fc-action-dropdown__button:hover,
.fc-action-dropdown__button[aria-expanded="true"] {
    background: #EFF6FF;
    border-color: #BFDBFE;
    color: var(--fc-primary);
}

.fc-action-dropdown__menu {
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    box-shadow: 0 12px 24px rgba(15, 23, 42, .12);
    font-size: 13px;
    padding: 6px;
}

.fc-action-dropdown__menu .dropdown-item {
    align-items: center;
    border-radius: 6px;
    display: flex;
    gap: 8px;
    padding: 8px 10px;
}

.fc-tabs {
    align-items: center;
    border-bottom: 1px solid var(--fc-border);
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-bottom: 16px;
}

.fc-tabs__item {
    align-items: center;
    border-bottom: 2px solid transparent;
    color: var(--fc-text-secondary);
    display: inline-flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    padding: 10px 12px;
    text-decoration: none;
}

.fc-tabs__item:hover,
.fc-tabs__item.is-active {
    border-bottom-color: var(--fc-primary);
    color: var(--fc-primary);
}

.fc-tabs .nav-link {
    background: transparent;
    border: 0;
    border-bottom: 2px solid transparent;
    border-radius: 0;
}

.fc-tabs .nav-link.active {
    background: transparent;
}

.fc-tab-pane-card {
    border-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
}

.fc-detail-grid {
    font-size: 13px;
}

.fc-badge-count {
    font-size: 11px;
}

.fc-info-tile {
    align-items: center;
    background: #F8FAFC;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    display: flex;
    gap: 12px;
    padding: 14px;
}

.fc-info-tile i {
    color: var(--fc-primary);
    font-size: 16px;
}

.fc-progress-bar {
    width: 100%;
}

.fc-progress-bar__meta {
    align-items: center;
    color: var(--fc-text-secondary);
    display: flex;
    font-size: 12px;
    justify-content: space-between;
    margin-bottom: 6px;
}

.fc-progress-bar__track {
    background: #E2E8F0;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.fc-progress-bar__fill {
    border-radius: inherit;
    display: block;
    height: 100%;
}

.fc-progress-bar__fill--primary { background: var(--fc-primary); }
.fc-progress-bar__fill--success { background: var(--fc-success); }
.fc-progress-bar__fill--danger { background: var(--fc-danger); }
.fc-progress-bar__fill--warning { background: var(--fc-warning); }

.fc-storage {
    background: var(--fc-background-secondary);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    display: grid;
    gap: 10px;
    padding: 12px;
}

.sidebar .fc-storage {
    margin: 12px 16px 16px;
}

.sidebar.active .fc-storage {
    display: none;
}

.sidebar.active:hover .fc-storage {
    display: grid;
}

.fc-storage__header {
    align-items: center;
    display: flex;
    gap: 10px;
}

.fc-storage__icon {
    align-items: center;
    background: var(--fc-primary-soft);
    border-radius: 8px;
    color: var(--fc-primary);
    display: inline-flex;
    flex-shrink: 0;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.fc-storage__header strong {
    color: var(--fc-text);
    display: block;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.fc-storage__header small,
.fc-storage__meta,
.fc-storage__unlimited {
    color: var(--fc-text-secondary);
    font-size: 11px;
    line-height: 1.35;
}

.fc-storage__bar {
    background: var(--fc-border);
    border-radius: 999px;
    height: 7px;
    overflow: hidden;
}

.fc-storage__bar-fill {
    border-radius: inherit;
    display: block;
    height: 100%;
}

.fc-storage__bar-fill--normal { background: var(--fc-primary); }
.fc-storage__bar-fill--warning { background: var(--fc-warning); }
.fc-storage__bar-fill--critical { background: #F97316; }
.fc-storage__bar-fill--blocked { background: var(--fc-danger); }

.fc-storage__upgrade {
    background: var(--fc-primary);
    border: 0;
    border-radius: 7px;
    color: #fff;
    display: block;
    font-size: 11px;
    font-weight: 800;
    min-height: 30px;
    padding: 6px 10px;
    width: 100%;
}

.fc-storage__upgrade:hover {
    background: #1D4ED8;
    color: #fff;
}

.fc-plan-page {
    display: grid;
    gap: 18px;
}

.fc-plan-hero {
    background: linear-gradient(135deg, #FFFFFF 0%, #EFF6FF 68%, #ECFDF5 100%);
    border: 1px solid var(--fc-border);
    border-radius: 12px;
    box-shadow: var(--fc-shadow);
    display: grid;
    gap: 22px;
    grid-template-columns: minmax(0, 1.7fr) minmax(280px, .85fr);
    padding: 26px;
}

.fc-plan-eyebrow {
    align-items: center;
    background: #DBEAFE;
    border-radius: 999px;
    color: var(--fc-primary);
    display: inline-flex;
    font-size: 12px;
    font-weight: 800;
    margin-bottom: 12px;
    padding: 6px 10px;
}

.fc-plan-hero h1 {
    color: var(--fc-text);
    font-size: 28px;
    font-weight: 850;
    line-height: 1.16;
    margin: 0;
    max-width: 760px;
}

.fc-plan-hero p {
    color: var(--fc-text-secondary);
    font-size: 15px;
    line-height: 1.55;
    margin: 10px 0 0;
    max-width: 700px;
}

.fc-plan-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.fc-plan-primary-cta,
.fc-plan-secondary-cta {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    min-height: 42px;
}

.fc-plan-current-card,
.fc-plan-last-request,
.fc-plan-storage-card {
    background: rgba(255, 255, 255, .88);
    border: 1px solid var(--fc-border);
    border-radius: 10px;
    padding: 16px;
}

.fc-plan-current-card {
    display: grid;
    gap: 14px;
}

.fc-plan-current-card span,
.fc-plan-recommendation span,
.fc-plan-last-request span {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.fc-plan-current-card strong,
.fc-plan-last-request strong {
    color: var(--fc-text);
    font-size: 15px;
}

.fc-plan-current-card__grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-plan-recommendation {
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    border-radius: 9px;
    padding: 12px;
}

.fc-plan-recommendation strong {
    color: var(--fc-primary);
    display: block;
    font-size: 18px;
}

.fc-plan-recommendation small {
    color: var(--fc-text-secondary);
    display: block;
    margin-top: 2px;
}

.fc-plan-benefit-strip {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-plan-benefit-strip > div {
    align-items: center;
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: 9px;
    color: var(--fc-text);
    display: flex;
    font-size: 13px;
    font-weight: 700;
    gap: 8px;
    padding: 12px 14px;
}

.fc-plan-benefit-strip i,
.fc-plan-feature-list i {
    color: var(--fc-success);
}

.fc-plan-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.fc-plan-card {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: 12px;
    box-shadow: var(--fc-shadow);
    display: flex;
    flex-direction: column;
    gap: 12px;
    min-height: 100%;
    padding: 18px;
}

.fc-plan-card.is-recommended {
    border-color: var(--fc-primary);
    box-shadow: 0 12px 32px rgba(30, 64, 175, .12);
}

.fc-plan-card.is-current {
    background: linear-gradient(180deg, #FFFFFF 0%, #F8FAFC 100%);
}

.fc-plan-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 24px;
}

.fc-plan-badge {
    background: #F1F5F9;
    border-radius: 999px;
    color: var(--fc-text-secondary);
    font-size: 10px;
    font-weight: 800;
    padding: 5px 7px;
}

.fc-plan-badge--current {
    background: #ECFDF5;
    color: #047857;
}

.fc-plan-badge--recommended {
    background: #DBEAFE;
    color: var(--fc-primary);
}

.fc-plan-card h2 {
    color: var(--fc-text);
    font-size: 17px;
    font-weight: 850;
    margin: 0;
}

.fc-plan-card p {
    color: var(--fc-text-secondary);
    font-size: 12px;
    line-height: 1.45;
    margin: 0;
    min-height: 52px;
}

.fc-plan-price {
    color: var(--fc-text);
    display: block;
    font-size: 18px;
    line-height: 1.2;
}

.fc-plan-feature-list {
    display: grid;
    gap: 8px;
    list-style: none;
    margin: 0 0 auto;
    padding: 0;
}

.fc-plan-feature-list li {
    align-items: flex-start;
    color: #334155;
    display: flex;
    font-size: 12px;
    gap: 7px;
    line-height: 1.35;
}

.fc-plan-feature-list i {
    font-size: 11px;
    margin-top: 3px;
}

.fc-plan-footer-row {
    align-items: stretch;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(280px, .8fr) minmax(0, 1fr) auto;
}

.fc-plan-last-request p {
    color: var(--fc-text-secondary);
    font-size: 13px;
    margin: 5px 0 0;
}

.fc-plan-logout {
    align-self: center;
}

.fc-upgrade-page {
    display: grid;
    gap: 18px;
}

.fc-upgrade-hero {
    background:
        radial-gradient(circle at 82% 12%, rgba(16, 185, 129, .16), transparent 28%),
        linear-gradient(135deg, #0F172A 0%, #1E40AF 58%, #1D4ED8 100%);
    border-radius: 14px;
    box-shadow: 0 18px 40px rgba(15, 23, 42, .16);
    color: #fff;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, .78fr);
    overflow: hidden;
    padding: 30px;
    position: relative;
}

.fc-upgrade-badge {
    align-items: center;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    color: #DBEAFE;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    gap: 8px;
    margin-bottom: 14px;
    padding: 7px 11px;
}

.fc-upgrade-hero h1 {
    color: #fff;
    font-size: 30px;
    font-weight: 850;
    line-height: 1.12;
    margin: 0;
    max-width: 740px;
}

.fc-upgrade-hero p {
    color: #D9E7FF;
    font-size: 15px;
    line-height: 1.58;
    margin: 12px 0 0;
    max-width: 720px;
}

.fc-upgrade-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.fc-upgrade-primary,
.fc-upgrade-secondary {
    align-items: center;
    border-radius: 9px;
    display: inline-flex;
    font-weight: 850;
    gap: 8px;
    min-height: 44px;
    padding-left: 18px;
    padding-right: 18px;
}

.fc-upgrade-hero .fc-upgrade-primary {
    background: #10B981;
    border-color: #10B981;
    color: #fff;
}

.fc-upgrade-hero .fc-upgrade-primary:hover {
    background: #059669;
    border-color: #059669;
}

.fc-upgrade-hero .fc-upgrade-secondary {
    background: rgba(255, 255, 255, .08);
    border-color: rgba(255, 255, 255, .35);
    color: #fff;
}

.fc-upgrade-hero__summary {
    align-self: stretch;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 12px;
    display: grid;
    gap: 12px;
    padding: 18px;
}

.fc-upgrade-hero__summary span,
.fc-section-kicker,
.fc-last-request-card span {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .02em;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.fc-upgrade-hero__summary span {
    color: #BBD3FF;
}

.fc-upgrade-hero__summary strong {
    color: #fff;
    display: block;
    font-size: 18px;
    line-height: 1.2;
}

.fc-upgrade-hero__summary small {
    color: #D9E7FF;
    display: block;
    margin-top: 4px;
}

.fc-upgrade-arrow {
    align-items: center;
    background: rgba(255, 255, 255, .14);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    height: 34px;
    justify-content: center;
    width: 34px;
}

.fc-upgrade-layout {
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(280px, .78fr) minmax(0, 1.22fr);
}

.fc-current-plan-card,
.fc-recommended-plan-card,
.fc-last-request-card {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: 12px;
    box-shadow: var(--fc-shadow);
}

.fc-current-plan-card {
    padding: 18px;
}

.fc-current-plan-card__header,
.fc-recommended-plan-card__top,
.fc-last-request-card {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.fc-current-plan-card h2,
.fc-recommended-plan-card h2 {
    color: var(--fc-text);
    font-size: 18px;
    font-weight: 850;
    margin: 0;
}

.fc-current-plan-meta {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 16px;
}

.fc-current-plan-meta > div {
    background: var(--fc-background);
    border: 1px solid #EEF2F7;
    border-radius: 9px;
    padding: 11px;
}

.fc-current-plan-meta span,
.fc-usage-row span {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 11px;
    font-weight: 800;
    margin-bottom: 4px;
}

.fc-current-plan-meta strong,
.fc-usage-row strong {
    color: var(--fc-text);
    font-size: 13px;
}

.fc-usage-list {
    display: grid;
    gap: 13px;
    margin-top: 16px;
}

.fc-usage-row {
    display: grid;
    gap: 7px;
}

.fc-usage-row > div:first-child {
    align-items: center;
    display: flex;
    gap: 10px;
    justify-content: space-between;
}

.fc-usage-bar {
    background: #E2E8F0;
    border-radius: 999px;
    height: 7px;
    overflow: hidden;
}

.fc-usage-bar span {
    background: linear-gradient(90deg, var(--fc-primary), var(--fc-success));
    border-radius: inherit;
    display: block;
    height: 100%;
}

.fc-recommended-plan-card {
    background:
        linear-gradient(180deg, #FFFFFF 0%, #EFF6FF 100%);
    border-color: #BFDBFE;
    display: grid;
    gap: 16px;
    padding: 22px;
}

.fc-recommended-plan-card__top {
    justify-content: flex-start;
    flex-wrap: wrap;
}

.fc-recommended-plan-card__body {
    align-items: flex-start;
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.fc-recommended-plan-card__body p {
    color: var(--fc-text-secondary);
    font-size: 14px;
    line-height: 1.5;
    margin: 7px 0 0;
    max-width: 560px;
}

.fc-recommended-plan-card__body > strong {
    color: var(--fc-primary);
    font-size: 24px;
    line-height: 1.1;
    white-space: nowrap;
}

.fc-recommended-plan-card ul,
.fc-commercial-plan-list {
    display: grid;
    gap: 9px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.fc-recommended-plan-card li,
.fc-commercial-plan-list li {
    align-items: flex-start;
    color: #334155;
    display: flex;
    font-size: 13px;
    gap: 8px;
    line-height: 1.35;
}

.fc-recommended-plan-card li i,
.fc-commercial-plan-list li i {
    color: var(--fc-success);
    font-size: 12px;
    margin-top: 3px;
}

.fc-upgrade-value-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-upgrade-value-grid > div {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: 12px;
    box-shadow: var(--fc-shadow);
    padding: 16px;
}

.fc-upgrade-value-grid i {
    align-items: center;
    background: #EFF6FF;
    border-radius: 9px;
    color: var(--fc-primary);
    display: inline-flex;
    height: 36px;
    justify-content: center;
    margin-bottom: 12px;
    width: 36px;
}

.fc-upgrade-value-grid strong {
    color: var(--fc-text);
    display: block;
    font-size: 14px;
    margin-bottom: 5px;
}

.fc-upgrade-value-grid span {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 13px;
    line-height: 1.45;
}

.fc-commercial-plan-grid {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fc-commercial-plan-card {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: 12px;
    box-shadow: var(--fc-shadow);
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 18px;
}

.fc-commercial-plan-card.is-recommended {
    border-color: var(--fc-primary);
    box-shadow: 0 14px 34px rgba(30, 64, 175, .13);
}

.fc-commercial-plan-card__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-height: 24px;
}

.fc-commercial-plan-card h3 {
    color: var(--fc-text);
    font-size: 17px;
    font-weight: 850;
    margin: 0;
}

.fc-commercial-plan-price {
    color: var(--fc-primary);
    font-size: 19px;
    line-height: 1.15;
}

.fc-commercial-plan-card p {
    color: var(--fc-text-secondary);
    font-size: 12px;
    line-height: 1.45;
    margin: 0;
    min-height: 52px;
}

.fc-commercial-plan-limits {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-top: auto;
}

.fc-commercial-plan-limits span {
    background: var(--fc-background);
    border-radius: 999px;
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-weight: 600;
    padding: 5px 8px;
}

.fc-plan-status-pill {
    background: #EFF6FF;
    border-radius: 999px;
    color: var(--fc-primary);
    display: inline-flex;
    font-size: 11px;
    font-weight: 850;
    padding: 6px 9px;
    white-space: nowrap;
}

.fc-last-request-card {
    padding: 16px 18px;
}

.fc-last-request-card strong {
    color: var(--fc-text);
    display: block;
    font-size: 14px;
}

.fc-last-request-card p {
    color: var(--fc-text-secondary);
    font-size: 13px;
    margin: 5px 0 0;
}

.fc-last-request-card > i {
    color: var(--fc-success);
    font-size: 22px;
}

.fc-onboarding-page {
    align-items: center;
    display: grid;
    min-height: calc(100vh - 170px);
}

.fc-onboarding-card {
    background:
        radial-gradient(circle at 88% 14%, rgba(16, 185, 129, .16), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #EFF6FF 62%, #F8FAFC 100%);
    border: 1px solid var(--fc-border);
    border-radius: 16px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, .11);
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(220px, .55fr) minmax(0, 1fr);
    margin: 0 auto;
    max-width: 980px;
    overflow: hidden;
    padding: 30px;
    width: 100%;
}

.fc-onboarding-card__media {
    align-content: center;
    background: linear-gradient(160deg, var(--fc-primary), #1D4ED8);
    border-radius: 14px;
    color: #fff;
    display: grid;
    justify-items: start;
    min-height: 280px;
    padding: 26px;
}

.fc-onboarding-icon {
    align-items: center;
    background: rgba(255, 255, 255, .14);
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 14px;
    display: inline-flex;
    font-size: 24px;
    height: 58px;
    justify-content: center;
    margin-bottom: 18px;
    width: 58px;
}

.fc-onboarding-badge {
    background: rgba(255, 255, 255, .16);
    border-radius: 999px;
    color: #DBEAFE;
    font-size: 12px;
    font-weight: 850;
    padding: 7px 11px;
}

.fc-onboarding-card__content {
    align-self: center;
}

.fc-onboarding-card h1 {
    color: var(--fc-text);
    font-size: 28px;
    font-weight: 850;
    line-height: 1.15;
    margin: 0;
}

.fc-onboarding-card p {
    color: var(--fc-text-secondary);
    font-size: 15px;
    line-height: 1.58;
    margin: 12px 0 0;
    max-width: 620px;
}

.fc-onboarding-card__media h2 {
    color: #FFFFFF;
    font-size: 22px;
    font-weight: 850;
    line-height: 1.2;
    margin: 22px 0 0;
}

.fc-onboarding-card__media p {
    color: #DBEAFE;
    font-size: 13px;
    line-height: 1.55;
    margin-top: 8px;
}

.fc-onboarding-step-kicker {
    color: var(--fc-primary);
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.fc-onboarding-progress {
    display: grid;
    gap: 9px;
    margin-top: 24px;
    width: 100%;
}

.fc-onboarding-progress__item {
    align-items: center;
    border-radius: 10px;
    color: rgba(255, 255, 255, .72);
    display: flex;
    gap: 10px;
    padding: 8px 0;
}

.fc-onboarding-progress__item span {
    align-items: center;
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .22);
    border-radius: 999px;
    display: inline-flex;
    font-size: 12px;
    font-weight: 850;
    height: 26px;
    justify-content: center;
    width: 26px;
}

.fc-onboarding-progress__item strong {
    font-size: 12px;
    font-weight: 800;
}

.fc-onboarding-progress__item.is-active {
    color: #FFFFFF;
}

.fc-onboarding-progress__item.is-active span {
    background: #FFFFFF;
    color: var(--fc-primary);
}

.fc-onboarding-steps {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

.fc-onboarding-steps > div {
    align-items: center;
    background: rgba(255, 255, 255, .74);
    border: 1px solid var(--fc-border);
    border-radius: 10px;
    color: var(--fc-text);
    display: flex;
    font-size: 13px;
    font-weight: 600;
    gap: 10px;
    padding: 12px 14px;
}

.fc-onboarding-steps i {
    color: var(--fc-success);
}

.fc-onboarding-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 24px;
}

.fc-onboarding-primary,
.fc-onboarding-secondary {
    align-items: center;
    border-radius: 9px;
    display: inline-flex;
    font-weight: 850;
    gap: 8px;
    min-height: 42px;
    padding-left: 18px;
    padding-right: 18px;
}

.fc-onboarding-form {
    margin-top: 22px;
}

.fc-onboarding-options {
    display: grid;
    gap: 12px;
}

.fc-onboarding-option {
    align-items: flex-start;
    background: #FFFFFF;
    border: 1px solid var(--fc-border);
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    gap: 12px;
    padding: 15px;
    transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.fc-onboarding-option:hover {
    border-color: rgba(30, 64, 175, .38);
    box-shadow: 0 10px 24px rgba(15, 23, 42, .07);
    transform: translateY(-1px);
}

.fc-onboarding-option input {
    accent-color: var(--fc-primary);
    margin-top: 4px;
}

.fc-onboarding-option strong,
.fc-onboarding-existing strong,
.fc-onboarding-summary strong {
    color: var(--fc-text);
    display: block;
    font-size: 14px;
    font-weight: 850;
}

.fc-onboarding-option small,
.fc-onboarding-existing span,
.fc-onboarding-summary span {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 12px;
    line-height: 1.45;
    margin-top: 3px;
}

.fc-onboarding-existing {
    align-items: flex-start;
    background: #ECFDF5;
    border: 1px solid #A7F3D0;
    border-radius: 12px;
    display: flex;
    gap: 12px;
    margin-top: 22px;
    padding: 15px;
}

.fc-onboarding-existing i {
    color: var(--fc-success);
    margin-top: 3px;
}

.fc-onboarding-summary {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

.fc-onboarding-summary > div {
    background: #FFFFFF;
    border: 1px solid var(--fc-border);
    border-radius: 10px;
    padding: 13px 14px;
}

.fc-onboarding-checklist {
    background:
        radial-gradient(circle at 94% 10%, rgba(16, 185, 129, .13), transparent 28%),
        linear-gradient(135deg, #FFFFFF 0%, #F8FAFC 100%);
    border: 1px solid var(--fc-border);
    border-radius: 14px;
    box-shadow: var(--fc-shadow);
    margin-bottom: 32px;
    padding: 18px;
}

.fc-onboarding-checklist + .fc-dashboard-section {
    margin-top: 0;
}

.fc-onboarding-checklist.is-minimized {
    margin-bottom: 28px;
    padding: 14px 16px;
}

.fc-onboarding-checklist__summary {
    align-items: flex-start;
    display: flex;
    gap: 18px;
    justify-content: space-between;
}

.fc-onboarding-checklist__summary[hidden],
.fc-onboarding-checklist__body[hidden] {
    display: none;
}

.fc-onboarding-checklist__badge {
    color: var(--fc-primary);
    display: inline-flex;
    font-size: 11px;
    font-weight: 850;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.fc-onboarding-checklist h2 {
    color: var(--fc-text);
    font-size: 18px;
    font-weight: 850;
    line-height: 1.25;
    margin: 0;
}

.fc-onboarding-checklist p {
    color: var(--fc-text-secondary);
    font-size: 13px;
    line-height: 1.45;
    margin: 5px 0 0;
}

.fc-onboarding-checklist__progress {
    min-width: 150px;
    text-align: right;
}

.fc-onboarding-checklist__summary-actions {
    align-items: flex-end;
    display: flex;
    gap: 12px;
}

.fc-onboarding-checklist__progress strong {
    color: var(--fc-text);
    display: block;
    font-size: 18px;
    font-weight: 850;
    margin-bottom: 2px;
}

.fc-onboarding-checklist__progress > span {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-bottom: 7px;
}

.fc-onboarding-checklist__track {
    background: #E2E8F0;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
}

.fc-onboarding-checklist__track span {
    background: linear-gradient(90deg, var(--fc-primary), var(--fc-success));
    border-radius: inherit;
    display: block;
    height: 100%;
}

.fc-onboarding-checklist__body {
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 1fr) minmax(220px, .32fr);
    margin-top: 16px;
}

.fc-onboarding-checklist__collapsed {
    align-items: center;
    display: flex;
    gap: 16px;
    justify-content: space-between;
}

.fc-onboarding-checklist__collapsed[hidden] {
    display: none;
}

.fc-onboarding-checklist__collapsed strong {
    color: var(--fc-text);
    display: block;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.25;
}

.fc-onboarding-checklist__collapsed span {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 12px;
    font-weight: 600;
    margin-top: 3px;
}

.fc-onboarding-checklist__collapsed-actions {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    gap: 10px;
}

.fc-onboarding-checklist__mini-track {
    background: #E2E8F0;
    border-radius: 999px;
    height: 8px;
    overflow: hidden;
    width: 132px;
}

.fc-onboarding-checklist__mini-track span {
    background: linear-gradient(90deg, var(--fc-primary), var(--fc-success));
    border-radius: inherit;
    display: block;
    height: 100%;
}

.fc-onboarding-checklist__toggle {
    background: #FFFFFF;
    border: 1px solid var(--fc-border);
    border-radius: 8px;
    color: var(--fc-primary);
    font-size: 12px;
    font-weight: 850;
    min-height: 34px;
    padding: 7px 11px;
}

.fc-onboarding-checklist__toggle:hover {
    background: #EFF6FF;
    border-color: #BFDBFE;
    color: #1D4ED8;
}

.fc-onboarding-checklist__items {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-onboarding-checklist__item {
    align-items: flex-start;
    background: #FFFFFF;
    border: 1px solid var(--fc-border);
    border-radius: 10px;
    display: flex;
    gap: 10px;
    padding: 11px;
}

.fc-onboarding-checklist__icon {
    align-items: center;
    background: #EFF6FF;
    border-radius: 999px;
    color: var(--fc-primary);
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 8px;
    height: 22px;
    justify-content: center;
    margin-top: 1px;
    width: 22px;
}

.fc-onboarding-checklist__item.is-complete .fc-onboarding-checklist__icon {
    background: #D1FAE5;
    color: var(--fc-success);
    font-size: 11px;
}

.fc-onboarding-checklist__item.is-locked .fc-onboarding-checklist__icon {
    background: #FEF3C7;
    color: var(--fc-warning);
}

.fc-onboarding-checklist__item strong {
    color: var(--fc-text);
    display: block;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.25;
}

.fc-onboarding-checklist__item span:not(.fc-onboarding-checklist__icon) {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 12px;
    line-height: 1.35;
    margin-top: 3px;
}

.fc-onboarding-checklist__upgrade-link {
    color: var(--fc-warning);
    display: inline-flex;
    font-size: 11px;
    font-weight: 850;
    margin-top: 6px;
    text-decoration: none;
}

.fc-onboarding-checklist__upgrade-link:hover {
    color: #B45309;
    text-decoration: underline;
}

.fc-onboarding-checklist__next {
    background: #0F172A;
    border-radius: 12px;
    color: #FFFFFF;
    padding: 15px;
}

.fc-onboarding-checklist__next > span {
    color: #93C5FD;
    display: block;
    font-size: 11px;
    font-weight: 850;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.fc-onboarding-checklist__next strong {
    display: block;
    font-size: 15px;
    font-weight: 850;
    line-height: 1.3;
}

.fc-onboarding-checklist__next p,
.fc-onboarding-checklist__next small {
    color: #CBD5E1;
    display: block;
    font-size: 12px;
    line-height: 1.45;
    margin: 7px 0 12px;
}

.fc-onboarding-checklist__hide {
    background: rgba(255, 255, 255, .08);
    border: 1px solid rgba(203, 213, 225, .38);
    border-radius: 8px;
    color: #E2E8F0;
    font-size: 12px;
    font-weight: 850;
    margin-top: 12px;
    min-height: 34px;
    padding: 7px 11px;
}

.fc-onboarding-checklist__hide:hover {
    background: rgba(255, 255, 255, .14);
    color: #FFFFFF;
}

.fc-widget-card {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-left: 3px solid var(--fc-primary);
    border-radius: var(--fc-radius);
    box-shadow: var(--fc-shadow);
    height: 100%;
    padding: 16px;
}

.fc-widget-card--success { border-left-color: var(--fc-success); }
.fc-widget-card--danger { border-left-color: var(--fc-danger); }
.fc-widget-card--warning { border-left-color: var(--fc-warning); }
.fc-widget-card--neutral { border-left-color: #94A3B8; }

.fc-widget-card__header {
    align-items: flex-start;
    display: flex;
    gap: 12px;
    justify-content: space-between;
}

.fc-widget-card__header h3 {
    color: var(--fc-text);
    font-size: 14px;
    font-weight: 800;
    margin: 0;
}

.fc-widget-card__header p {
    color: var(--fc-text-secondary);
    font-size: 12px;
    margin: 4px 0 0;
}

.fc-widget-card__meta {
    align-items: flex-start;
    display: flex;
    flex-shrink: 0;
    gap: 7px;
}

.fc-widget-card__icon {
    align-items: center;
    background: #EFF6FF;
    border-radius: var(--fc-radius);
    color: var(--fc-primary);
    display: inline-flex;
    flex-shrink: 0;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.fc-widget-card__badge {
    align-items: center;
    background: var(--fc-primary-soft);
    border: 1px solid color-mix(in srgb, var(--fc-primary) 20%, transparent);
    border-radius: 999px;
    color: var(--fc-primary);
    display: inline-flex;
    font-size: 10px;
    font-weight: var(--fc-weight-semibold);
    min-height: 22px;
    padding: 3px 7px;
}

.fc-widget-card__value {
    color: var(--fc-text);
    display: block;
    font-size: 24px;
    line-height: 1.2;
    margin-top: 12px;
}

.fc-form-section {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    box-shadow: var(--fc-shadow);
    margin-bottom: 16px;
}

.fc-form-section__header {
    border-bottom: 1px solid var(--fc-border);
    padding: 14px 18px;
}

.fc-form-section__header h2 {
    align-items: center;
    color: var(--fc-text);
    display: flex;
    font-size: 15px;
    font-weight: 800;
    gap: 8px;
    margin: 0;
}

.fc-form-section__header h2 i {
    color: var(--fc-primary);
    font-size: 14px;
}

.fc-form-section__header p {
    color: var(--fc-text-secondary);
    font-size: 13px;
    margin: 4px 0 0;
}

.fc-form-section__body {
    padding: 18px;
}

.fc-form-section .form-label {
    color: var(--fc-text);
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 6px;
}

.fc-required {
    color: var(--fc-danger);
    font-weight: 800;
}

.fc-form-help {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 12px;
    margin-top: 5px;
}

.fc-form-error {
    color: var(--fc-danger);
    font-size: 12px;
    font-weight: 600;
    margin-top: 5px;
}

.fc-cost-center-classification {
    align-content: flex-start;
    display: grid;
    gap: 6px;
}

.fc-cost-center-classification > .form-label {
    margin-bottom: 0;
}

.fc-cost-center-classification__toggle {
    min-height: var(--fc-control);
}

.fc-cost-allocation__header {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: var(--fc-space-3) var(--fc-space-5);
    justify-content: space-between;
}

.fc-cost-allocation__intro {
    flex: 1 1 220px;
    min-width: 0;
}

.fc-cost-allocation__summary {
    display: grid;
    flex: 0 1 auto;
    gap: var(--fc-space-2) var(--fc-space-5);
    grid-template-columns: repeat(3, minmax(112px, auto));
}

.fc-cost-allocation__summary-item {
    display: grid;
    gap: 2px;
    text-align: right;
}

.fc-cost-allocation__summary-item span {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
    line-height: var(--fc-leading-tight);
}

.fc-cost-allocation__summary-item strong {
    color: var(--fc-text);
    font-size: var(--fc-text-sm);
    font-variant-numeric: tabular-nums;
    line-height: var(--fc-leading-tight);
    white-space: nowrap;
}

#cost-center-allocation-panel[data-allocation-state="incomplete"] .fc-cost-allocation__summary-item--balance strong {
    color: var(--fc-warning-strong);
}

#cost-center-allocation-panel[data-allocation-state="exceeded"] .fc-cost-allocation__summary-item--balance strong {
    color: var(--fc-danger);
}

#cost-center-allocation-panel[data-allocation-state="closed"] .fc-cost-allocation__summary-item--balance strong {
    color: var(--fc-success);
}

.fc-cost-allocation__center,
.fc-cost-allocation__amount {
    min-width: 0;
}

.fc-cost-allocation__action {
    align-items: flex-end;
    align-self: stretch;
    display: flex;
    flex: 0 0 auto;
}

.fc-cost-allocation__remove {
    align-items: center;
    block-size: var(--fc-control);
    display: inline-flex;
    inline-size: var(--fc-control);
    justify-content: center;
    min-block-size: var(--fc-control);
    min-inline-size: var(--fc-control);
    padding: 0;
}

.fc-cost-allocation__add {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.fc-cost-allocation__status {
    align-items: baseline;
    display: flex;
    flex-wrap: wrap;
    gap: 2px var(--fc-space-2);
}

.fc-cost-allocation__status strong,
.fc-cost-allocation__status span {
    line-height: var(--fc-leading-normal);
}

.fc-cost-allocation__status span:empty,
#cost-center-allocation-panel[data-allocation-state="closed"] .fc-cost-allocation__status span {
    display: none !important;
}

@media (min-width: 768px) {
    .fc-cost-allocation__amount {
        flex: 0 0 220px;
        width: 220px;
    }
}

@media (max-width: 767.98px) {
    .fc-cost-allocation__summary {
        flex: 1 1 100%;
        grid-template-columns: repeat(auto-fit, minmax(104px, 1fr));
        width: 100%;
    }

    .fc-cost-allocation__summary-item {
        text-align: left;
    }

    .fc-cost-allocation__amount {
        flex: 1 1 0;
    }
}

.fc-form-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.fc-tooltip-trigger {
    display: inline-flex;
}

.fc-pagination {
    border-top: 1px solid var(--fc-border);
    padding: 14px 16px;
}

.fc-filter-card__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px 0;
}

.fc-filter-card__title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fc-text);
    font-size: 13px;
    font-weight: 700;
}

.fc-filter-card__body {
    padding: 12px 16px 16px;
}

.fc-filter-card .form-control,
.fc-filter-card .form-select {
    min-height: 34px;
}

.fc-filter-actions {
    white-space: nowrap;
}

.fc-table {
    font-size: .85rem;
}

.fc-table th,
.table th {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: var(--fc-text-secondary);
    background: var(--fc-background);
    border-bottom: 1px solid var(--fc-border);
    white-space: nowrap;
}

.fc-table td,
.table td {
    vertical-align: middle;
    padding: 11px 16px;
    color: #334155;
    border-bottom: 1px solid #F1F5F9;
}

.fc-table tbody tr:hover,
.table tbody tr:hover {
    background: rgba(30, 64, 175, .03);
}

.fc-cell-title {
    font-weight: 600;
    color: var(--fc-text);
}

.fc-cell-subtitle {
    display: block;
    color: var(--fc-text-secondary);
    font-size: 12px;
    margin-top: 2px;
}

.fc-monospace {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.fc-amount {
    font-weight: 700;
    text-align: right;
    white-space: nowrap;
}

.fc-status-badge,
.badge-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.fc-status-badge i {
    font-size: 10px;
}

.fc-soft-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}

.fc-table-actions {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
}

.fc-table-actions--start {
    justify-content: flex-start;
}

.fc-action-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 0;
    border-radius: var(--fc-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    cursor: pointer;
    transition: background-color .15s, color .15s, transform .12s;
}

.fc-action-btn i {
    font-size: 13px;
}

.fc-action-btn:hover {
    transform: translateY(-1px);
}

.fc-action-btn--view {
    background: #EFF6FF;
    color: var(--fc-primary);
}

.fc-action-btn--edit {
    background: #F0FDF4;
    color: var(--fc-success);
}

.fc-action-btn--role,
.fc-table-action {
    background: #EFF6FF;
    border: 1px solid #BFDBFE;
    color: var(--fc-primary);
}

.fc-action-btn--delete {
    background: #FEF2F2;
    color: var(--fc-danger);
}

.fc-action-btn--warning {
    background: #FFFBEB;
    color: var(--fc-warning);
}

.fc-alert-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.fc-alert-actions__button {
    align-items: center;
    border: 0;
    border-radius: var(--fc-radius);
    cursor: pointer;
    display: inline-flex;
    flex: 0 0 32px;
    height: 32px;
    justify-content: center;
    padding: 0;
    text-decoration: none;
    transition: background-color .15s, color .15s, transform .12s;
    width: 32px;
}

.fc-alert-actions__button i {
    display: block;
    font-size: 13px;
    line-height: 1;
}

.fc-alert-actions__button:hover {
    transform: translateY(-1px);
}

.fc-alert-actions__button--view {
    background: #EFF6FF;
    color: #1D4ED8;
}

.fc-alert-actions__button--read {
    background: #ECFDF5;
    color: #047857;
}

.fc-alert-actions__button--delete {
    background: #FEF2F2;
    color: #B91C1C;
}

.fc-operational-scope {
    align-items: center;
    background: var(--fc-primary-soft);
    border: 1px solid color-mix(in srgb, var(--fc-primary) 22%, var(--fc-border));
    border-radius: var(--fc-radius);
    color: var(--fc-text-secondary);
    display: inline-flex;
    font-size: var(--fc-text-xs);
    gap: 8px;
    max-width: 100%;
    padding: 8px 12px;
}

.fc-operational-scope strong,
.fc-operational-scope i {
    color: var(--fc-primary);
}

.sidebar-menu .fc-sidebar-item--completed > a {
    color: var(--fc-text-secondary);
    font-weight: var(--fc-weight-medium);
}

.fc-progress {
    min-width: 160px;
}

.fc-progress .progress {
    height: 6px;
}

.fc-progress-meta {
    color: var(--fc-text-secondary);
    font-size: 12px;
    white-space: nowrap;
}

.btn-action,
.btn-action-view,
.btn-action-edit,
.btn-action-delete {
    width: 32px;
    height: 32px;
    border-radius: var(--fc-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.btn-action-view {
    background: #EFF6FF;
    color: var(--fc-primary);
}

.btn-action-edit {
    background: #F0FDF4;
    color: var(--fc-success);
}

.btn-action-delete {
    background: #FEF2F2;
    color: var(--fc-danger);
}

.form-label {
    font-size: 13px;
    font-weight: 600;
    color: #374151;
    margin-bottom: 5px;
}

.form-label.required::after {
    content: " *";
    color: var(--fc-danger);
}

.form-control,
.form-select {
    border-radius: var(--fc-radius);
    border: 1px solid #D1D5DB;
    font-size: 14px;
    transition: border-color .2s, box-shadow .2s;
}

.form-control:focus,
.form-select:focus {
    border-color: var(--fc-primary);
    box-shadow: 0 0 0 3px rgba(30, 64, 175, .12);
    outline: none;
}

.form-control.is-invalid,
.form-select.is-invalid {
    border-color: var(--fc-danger);
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .08);
}

.invalid-feedback {
    font-size: 12px;
    color: var(--fc-danger);
    margin-top: 4px;
}

.form-section-footer {
    border-top: 1px solid var(--fc-border);
    padding-top: 20px;
    margin-top: 8px;
    display: flex;
    gap: 10px;
    align-items: center;
}

.icon-field .form-control,
.icon-field .form-select {
    padding-left: 40px;
}

.fc-empty-state,
.empty-state-wrap {
    background: rgba(30, 64, 175, .025);
    border-radius: var(--fc-radius);
    padding: 40px 24px;
    text-align: center;
}

.fc-empty-state__icon,
.empty-state-icon {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(30, 64, 175, .08);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 30px;
    margin-bottom: 14px;
    color: var(--fc-primary);
}

.fc-empty-state h6 {
    font-weight: 700;
    color: var(--fc-text);
    margin: 0 0 8px;
}

.fc-empty-state p {
    color: var(--fc-text-secondary);
    font-size: 13px;
    margin: 0 0 16px;
}

.sidebar-menu-group-title {
    color: var(--fc-text-subtle);
    font-size: .625rem;
    font-weight: var(--fc-weight-bold);
    letter-spacing: .1em;
    margin: var(--fc-space-4) var(--fc-space-3) var(--fc-space-1);
    padding: var(--fc-space-2) var(--fc-space-2) var(--fc-space-1);
    text-transform: uppercase;
}

.sidebar {
    background: var(--fc-surface);
    border-right: 1px solid var(--fc-border-subtle);
    transition: width var(--fc-transition), inset-inline-start var(--fc-transition);
}

.sidebar-logo {
    border-bottom-color: var(--fc-border-subtle);
    border-right-color: var(--fc-border-subtle);
    height: var(--fc-topbar-height);
    padding: 12px 18px;
}

.fc-sidebar-logo-image {
    height: 34px;
    width: auto;
}

.sidebar-menu-area {
    border-right-color: var(--fc-border-subtle);
    height: calc(100vh - var(--fc-topbar-height));
    padding: var(--fc-space-3) var(--fc-space-2) var(--fc-space-5);
}

.sidebar-menu > li > a {
    border-radius: var(--fc-radius);
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-sm);
    font-weight: var(--fc-weight-medium);
    margin: 2px 4px;
    min-height: 38px;
    padding: 8px 10px;
    transition: background-color var(--fc-transition), color var(--fc-transition);
}

.sidebar-menu > li > a .menu-icon {
    color: var(--fc-text-subtle);
    font-size: .9375rem;
    min-width: 20px;
    text-align: center;
    width: 20px;
}

.sidebar-menu > li.dropdown.open > a {
    background: var(--fc-primary-soft);
    color: var(--fc-primary);
    font-weight: var(--fc-weight-semibold);
}

.sidebar-menu > li.dropdown.open > a .menu-icon {
    color: var(--fc-primary);
}

.sidebar-menu > li.dropdown.open > a::after {
    color: var(--fc-primary);
}

.sidebar-menu > li.active-page > a,
.sidebar-submenu > li.active-page > a,
.sidebar-menu > li > a.active-page,
.sidebar-submenu > li > a.active-page {
    background: var(--fc-primary-soft);
    color: var(--fc-primary);
    border-radius: var(--fc-radius);
    box-shadow: inset 3px 0 0 var(--fc-primary);
    font-weight: var(--fc-weight-semibold);
}

.sidebar-menu > li.active-page > a .menu-icon,
.sidebar-submenu > li.active-page > a .circle-icon,
.sidebar-menu > li > a.active-page .menu-icon,
.sidebar-submenu > li > a.active-page .circle-icon {
    color: var(--fc-primary);
}

.sidebar-menu > li > a:hover,
.sidebar-submenu > li > a:hover {
    background: var(--fc-background-secondary);
    border-radius: var(--fc-radius);
    color: var(--fc-text);
}

.sidebar-menu > li.active-page > a:hover,
.sidebar-submenu > li.active-page > a:hover,
.sidebar-menu > li > a.active-page:hover,
.sidebar-submenu > li > a.active-page:hover {
    background: var(--fc-primary-soft);
    color: var(--fc-primary);
}

.sidebar-menu > li.active-page > a:hover .menu-icon,
.sidebar-submenu > li.active-page > a:hover .circle-icon,
.sidebar-menu > li > a.active-page:hover .menu-icon,
.sidebar-submenu > li > a.active-page:hover .circle-icon {
    color: var(--fc-primary);
}

.sidebar-submenu {
    margin: 3px 4px 8px 12px;
    padding-left: 12px;
}

.sidebar-submenu > li > a {
    border-radius: var(--fc-radius);
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
    margin: 2px 0;
    min-height: 34px;
    padding: 7px 9px;
}

.sidebar-close-btn {
    align-items: center;
    justify-content: center;
}

.fc-nav-badge {
    font-size: .625rem;
    font-weight: var(--fc-weight-semibold);
}

.pagination .page-link {
    border-radius: var(--fc-radius);
    margin: 0 2px;
    font-size: 13px;
    min-width: 34px;
    text-align: center;
    color: #374151;
    border-color: var(--fc-border);
}

.pagination .page-item.active .page-link {
    background: var(--fc-primary);
    border-color: var(--fc-primary);
}

.dashboard-main-body {
    padding: var(--fc-space-5);
}

.fc-topbar.navbar-header {
    background: rgba(255, 255, 255, .94);
    border-bottom: 1px solid var(--fc-border-subtle);
    box-shadow: none;
    height: var(--fc-topbar-height);
    padding: 10px var(--fc-space-5);
}

.fc-topbar__row {
    flex-wrap: nowrap;
    height: 100%;
}

.fc-topbar__start,
.fc-topbar__actions {
    gap: var(--fc-space-2);
}

.sidebar-toggle,
.sidebar-mobile-toggle {
    align-items: center;
    border-radius: var(--fc-radius);
    display: inline-flex;
    height: var(--fc-control);
    justify-content: center;
    transition: background-color var(--fc-transition), color var(--fc-transition);
    width: var(--fc-control);
}

.sidebar-toggle:hover,
.sidebar-mobile-toggle:hover {
    background: var(--fc-background-secondary);
    color: var(--fc-primary);
}

.sidebar-toggle {
    display: none;
}

.sidebar-mobile-toggle {
    display: inline-flex;
}

@media (min-width: 1200px) {
    .sidebar-toggle {
        display: inline-flex;
    }

    .sidebar-mobile-toggle {
        display: none;
    }
}

.fc-company-context {
    align-items: center;
    background: var(--fc-background);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius-md);
    gap: var(--fc-space-2);
    min-height: var(--fc-control);
    padding: 4px 5px 4px 9px;
}

.fc-company-context__icon {
    align-items: center;
    background: var(--fc-primary-soft);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-primary);
    display: inline-flex;
    flex-shrink: 0;
    height: 26px;
    justify-content: center;
    width: 26px;
}

.fc-company-context__text {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    min-width: 0;
}

.fc-company-context__label {
    color: var(--fc-text-secondary);
    font-size: .5625rem;
    font-weight: var(--fc-weight-bold);
    letter-spacing: .04em;
    text-transform: uppercase;
}

.fc-company-context__text strong {
    color: var(--fc-text);
    display: block;
    font-size: var(--fc-text-xs);
    max-width: 260px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fc-company-context__switch {
    align-items: center;
    background: transparent;
    border-left: 1px solid var(--fc-border);
    border-radius: 0 var(--fc-radius-sm) var(--fc-radius-sm) 0;
    color: var(--fc-primary);
    display: inline-flex;
    font-size: var(--fc-text-xs);
    font-weight: var(--fc-weight-semibold);
    gap: 5px;
    min-height: 28px;
    padding: 0 9px;
    text-decoration: none;
}

.fc-company-context__switch:hover {
    background: var(--fc-primary-soft);
    color: var(--fc-primary-hover);
}

.fc-topbar-icon-btn {
    align-items: center;
    background: transparent;
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius);
    color: var(--fc-text);
    display: inline-flex;
    height: var(--fc-control);
    justify-content: center;
    padding: 0;
    transition: background-color var(--fc-transition), border-color var(--fc-transition), color var(--fc-transition);
    width: var(--fc-control);
}

.fc-notification-trigger {
    display: inline-flex;
    position: relative;
}

.fc-notification-badge {
    align-items: center;
    background: #dc2626;
    border: 2px solid var(--fc-surface);
    border-radius: 999px;
    color: #fff;
    display: inline-flex;
    font-size: 10px;
    font-weight: 700;
    height: 19px;
    justify-content: center;
    line-height: 1;
    min-width: 19px;
    padding: 0 4px;
    pointer-events: none;
    position: absolute;
    right: -6px;
    top: -6px;
    z-index: 2;
}

.fc-topbar-icon-btn:hover {
    background: var(--fc-primary-soft);
    border-color: #C9D9F2;
    color: var(--fc-primary);
}

.fc-user-button {
    align-items: center;
    background: transparent;
    border: 0;
    border-radius: var(--fc-radius-md);
    display: inline-flex;
    gap: 10px;
    min-height: var(--fc-control);
    padding: 3px 7px 3px 3px;
    transition: background-color var(--fc-transition);
}

.fc-user-button:hover {
    background: var(--fc-background-secondary);
}

.fc-user-button__meta {
    line-height: 1.1;
    text-align: left;
}

.fc-user-button__meta strong,
.fc-user-button__meta small {
    display: block;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fc-user-button__meta strong {
    color: var(--fc-text);
    font-size: var(--fc-text-xs);
    font-weight: var(--fc-weight-semibold);
}

.fc-user-button__meta small {
    color: var(--fc-text-secondary);
    font-size: .6875rem;
    margin-top: 2px;
}

@media (min-width: 1200px) {
    .sidebar {
        width: var(--fc-sidebar-width);
    }

    .dashboard-main {
        margin-inline-start: var(--fc-sidebar-width);
    }

    .sidebar.active {
        width: 72px;
    }

    .dashboard-main.active {
        margin-inline-start: 72px;
    }

    .sidebar.active:hover {
        width: var(--fc-sidebar-width);
    }
}

@media (max-width: 767.98px) {
    .fc-topbar.navbar-header {
        padding-inline: var(--fc-space-3);
    }

    .fc-topbar__actions {
        gap: var(--fc-space-1);
    }

    .fc-user-button {
        padding-right: 3px;
    }
}

.fc-user-button__chevron {
    color: var(--fc-text-secondary);
    font-size: 11px;
    margin-right: 5px;
}

.fc-flash {
    align-items: center;
    border: 1px solid transparent;
    border-left-width: 3px;
    border-radius: var(--fc-radius);
    box-shadow: var(--fc-shadow);
    display: flex;
    font-size: 13px;
    font-weight: 600;
    gap: 9px;
    margin-bottom: 14px;
    min-height: 44px;
    padding: 10px 16px;
}

.fc-flash--stacked {
    align-items: stretch;
    display: block;
}

.fc-flash__icon {
    flex-shrink: 0;
    font-size: 16px;
}

.fc-flash__list {
    font-size: 12px;
}

.fc-flash--success {
    background: #F0FDF4;
    border-color: #BBF7D0;
    border-left-color: var(--fc-success);
    color: #047857;
}

.fc-flash--danger {
    background: #FEF2F2;
    border-color: #FECACA;
    border-left-color: var(--fc-danger);
    color: #B91C1C;
}

.fc-flash--warning {
    background: #FFFBEB;
    border-color: #FDE68A;
    border-left-color: var(--fc-warning);
    color: #B45309;
}

.fc-flash--info {
    background: #EFF6FF;
    border-color: #BFDBFE;
    border-left-color: var(--fc-primary);
    color: #1D4ED8;
}

.kpi-saldo { border-left: 4px solid #0EA5E9 !important; }
.kpi-fatur { border-left: 4px solid var(--fc-success) !important; }
.kpi-result { border-left: 4px solid #8B5CF6 !important; }
.kpi-pagar { border-left: 4px solid var(--fc-warning) !important; }
.kpi-value { font-size: 26px; font-weight: 700; line-height: 1.2; }

.fc-section-gap {
    display: grid;
    gap: 22px;
}

.fc-section-gap + .fc-section-gap,
.fc-dashboard-section {
    margin-top: 0;
}

.fc-dashboard-section {
    margin-bottom: 26px;
}

.fc-dashboard-period-filter {
    align-items: end;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: var(--fc-space-2);
    justify-content: flex-end;
    max-width: 780px;
    padding: 8px;
}

.fc-dashboard-period-filter__heading {
    display: grid;
    margin-right: var(--fc-space-1);
    min-width: 128px;
}

.fc-dashboard-period-filter__heading span,
.fc-dashboard-period-filter__custom label > span {
    color: var(--fc-text-secondary);
    font-size: 10px;
    font-weight: var(--fc-weight-medium);
}

.fc-dashboard-period-filter__heading strong {
    color: var(--fc-text);
    font-size: var(--fc-text-xs);
    font-weight: var(--fc-weight-semibold);
    white-space: nowrap;
}

.fc-dashboard-period-filter > label {
    margin: 0;
    min-width: 160px;
}

.fc-dashboard-period-filter .form-control,
.fc-dashboard-period-filter .form-select,
.fc-dashboard-period-filter .btn {
    min-height: 34px;
}

.fc-dashboard-period-filter__custom {
    display: grid;
    gap: var(--fc-space-2);
    grid-template-columns: repeat(2, minmax(135px, 1fr));
}

.fc-dashboard-period-filter__custom[hidden] { display: none; }

.fc-dashboard-period-filter__custom label {
    display: grid;
    gap: 3px;
    margin: 0;
}

.fc-dashboard-period-filter__actions {
    display: flex;
    gap: var(--fc-space-2);
}

.fc-dashboard-period-filter__errors {
    color: var(--fc-danger);
    display: grid;
    flex-basis: 100%;
    font-size: var(--fc-text-xs);
    gap: 2px;
    text-align: left;
}

.fc-dashboard-reference {
    color: var(--fc-text-secondary);
    font-size: 10px;
    margin: 2px 0 var(--fc-space-2);
}

@media (max-width: 767.98px) {
    .fc-dashboard-period-filter {
        justify-content: flex-start;
        max-width: none;
        width: 100%;
    }

    .fc-dashboard-period-filter__heading,
    .fc-dashboard-period-filter > label {
        flex: 1 1 160px;
    }

    .fc-dashboard-period-filter__custom {
        flex-basis: 100%;
    }
}

@media (max-width: 420px) {
    .fc-dashboard-period-filter {
        align-items: stretch;
        flex-direction: column;
    }

    .fc-dashboard-period-filter__heading,
    .fc-dashboard-period-filter > label,
    .fc-dashboard-period-filter__actions {
        flex: 0 0 auto;
        margin: 0;
        width: 100%;
    }

    .fc-dashboard-period-filter .form-select {
        width: 100%;
    }

    .fc-dashboard-period-filter__actions .btn {
        flex: 1 1 0;
    }
}

.fc-dashboard-section:last-of-type {
    margin-bottom: 0;
}

.fc-card-grid {
    --bs-gutter-x: 1.125rem;
    --bs-gutter-y: 1.125rem;
}

.fc-card-grid--compact {
    --bs-gutter-x: 1rem;
    --bs-gutter-y: 1rem;
}

.fc-card-spacing > .card-header,
.fc-card-spacing > .fc-card-header {
    padding: 16px 22px;
}

.fc-card-spacing > .card-body:not(.p-0) {
    padding: 22px;
}

.fc-chart-card .card-body {
    min-height: 286px;
}

.fc-card-subtitle {
    color: var(--fc-text-secondary);
    font-size: 12px;
    margin: 4px 0 0;
}

.fc-chart {
    min-height: 260px;
    width: 100%;
}

.fc-chart--donut {
    min-height: 240px;
}

.fc-chart--bar {
    min-height: 260px;
}

.fc-mini-metrics {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-mini-metrics > div {
    background: var(--fc-background);
    border-radius: var(--fc-radius);
    padding: 10px 12px;
}

.fc-mini-metrics span {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 4px;
    text-transform: uppercase;
}

.fc-mini-metrics strong {
    display: block;
    font-size: 13px;
}

.fc-finance-agenda-item {
    align-items: center;
    border-bottom: 1px solid #F1F5F9;
    display: flex;
    gap: 12px;
    padding: 13px 18px;
}

.fc-finance-agenda-item.is-late {
    background: linear-gradient(90deg, rgba(220, 38, 38, .045), transparent);
}

.fc-agenda-date {
    background: #F1F5F9;
    border-radius: 999px;
    color: var(--fc-text-secondary);
    display: inline-flex;
    font-size: 11px;
    font-weight: 800;
    margin-top: 4px;
    padding: 4px 8px;
}

.fc-alert-priority {
    align-items: flex-start;
    border-bottom: 1px solid #F1F5F9;
    display: flex;
    gap: 12px;
    padding: 14px 18px;
}

.fc-alert-priority__icon {
    align-items: center;
    border-radius: var(--fc-radius);
    display: inline-flex;
    flex-shrink: 0;
    height: 36px;
    justify-content: center;
    width: 36px;
}

.fc-alert-priority__icon--primary { background: #EFF6FF; color: var(--fc-primary); }
.fc-alert-priority__icon--success { background: #F0FDF4; color: #047857; }
.fc-alert-priority__icon--danger { background: #FEF2F2; color: #B91C1C; }
.fc-alert-priority__icon--warning { background: #FFFBEB; color: #B45309; }
.fc-alert-priority__icon--neutral { background: #F1F5F9; color: #475569; }

.fc-section-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.fc-section-title {
    color: var(--fc-text);
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}

.fc-section-subtitle {
    color: var(--fc-text-secondary);
    font-size: 13px;
    margin: 4px 0 0;
}

.fc-kpi-card {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    box-shadow: var(--fc-shadow);
    height: 100%;
    padding: 20px;
}

.fc-kpi-main {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 12px;
}

.fc-kpi-icon {
    width: 48px;
    height: 48px;
    border-radius: 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    font-size: 20px;
}

.fc-kpi-label {
    color: var(--fc-text-secondary);
    font-size: 13px;
    font-weight: 600;
    margin: 0 0 4px;
}

.fc-kpi-note {
    color: var(--fc-text-secondary);
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    margin: 0;
}

.fc-metric-card {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    box-shadow: var(--fc-shadow);
    height: 100%;
    padding: 18px 20px;
}

.fc-metric-title {
    color: var(--fc-text);
    font-size: 14px;
    font-weight: 700;
    margin: 0 0 12px;
}

.fc-metric-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    color: #334155;
    font-size: 13px;
    margin-bottom: 8px;
}

.fc-metric-row:last-child {
    margin-bottom: 0;
}

.fc-metric-row--total {
    border-top: 1px solid var(--fc-border);
    margin-top: 10px;
    padding-top: 10px;
    font-weight: 700;
}

.fc-list-item {
    display: flex;
    align-items: center;
    gap: 12px;
    border-bottom: 1px solid #F1F5F9;
    padding: 12px 20px;
}

.fc-list-main {
    flex: 1;
    min-width: 0;
}

.fc-list-title {
    color: var(--fc-text);
    font-size: 13px;
    font-weight: 700;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fc-list-subtitle {
    color: var(--fc-text-secondary);
    font-size: 12px;
}

.fc-list-side {
    flex-shrink: 0;
    text-align: right;
}

.fc-dashboard-alert-icon {
    width: 36px;
    height: 36px;
    border-radius: var(--fc-radius);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    margin-top: 2px;
}

.fc-table-link {
    color: var(--fc-text);
    font-weight: 700;
    text-decoration: none;
}

.fc-table-link:hover {
    color: var(--fc-primary);
}

.fc-summary-card {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    box-shadow: var(--fc-shadow);
    padding: 16px;
    text-align: center;
    height: 100%;
}

.fc-summary-card--warning { border-left: 3px solid var(--fc-warning); }
.fc-summary-card--success { border-left: 3px solid var(--fc-success); }
.fc-summary-card--danger { border-left: 3px solid var(--fc-danger); }
.fc-summary-card--primary { border-left: 3px solid var(--fc-primary); }

.fc-summary-label {
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.fc-summary-value {
    color: var(--fc-text);
    font-size: 17px;
    font-weight: 800;
    line-height: 1.2;
}

.fc-table-total-row {
    border-top: 2px solid var(--fc-border);
    background: var(--fc-background);
}

.fc-file-name {
    display: block;
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fc-soft-panel {
    border-radius: var(--fc-radius);
    padding: 12px;
}

.fc-soft-panel--success { background: #F0FDF4; }
.fc-soft-panel--danger { background: #FEF2F2; }
.fc-soft-panel--warning { background: #FFFBEB; }
.fc-soft-panel--info { background: #EFF6FF; }

.fc-import-stat {
    text-align: center;
}

.fc-import-stat__label {
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-weight: 700;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.fc-import-stat__value {
    color: var(--fc-text);
    font-size: 20px;
    font-weight: 800;
}

.fc-year-switcher {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.fc-year-switcher__label {
    color: var(--fc-text);
    font-size: 16px;
    font-weight: 800;
    min-width: 56px;
    text-align: center;
}

.fc-closing-card {
    border-radius: 12px;
    cursor: pointer;
    display: flex;
    flex-direction: column;
    min-height: 164px;
    padding: 18px;
    transition: box-shadow .2s, transform .15s, opacity .15s;
}

.fc-closing-card:hover {
    box-shadow: 0 4px 16px rgba(15, 23, 42, .12);
    transform: translateY(-2px);
}

.fc-closing-card.is-current {
    border: 2px solid var(--fc-primary);
}

.fc-closing-card.is-closed {
    opacity: .84;
}

.fc-checklist-item {
    align-items: center;
    border-bottom: 1px solid #F1F5F9;
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 16px 22px;
}

.fc-checklist-item.is-resolved {
    opacity: .75;
}

.fc-progress-lg {
    border-radius: 6px;
    height: 10px;
}

.fc-dre-table thead th {
    background: var(--fc-primary-dark);
    color: #fff;
}

.fc-row-success { background: #F0FDF4; }
.fc-row-info { background: #EFF6FF; }
.fc-row-purple { background: #F5F3FF; }
.fc-row-warning { background: #FFF7ED; }
.fc-row-danger { background: #FEE2E2; }
.fc-row-muted { background: var(--fc-background); }

.fc-report-detail {
    color: var(--fc-text-secondary);
    font-size: 13px;
    padding-left: 32px !important;
}

.fc-upload-inline {
    max-width: 230px;
}

.fc-closing-page .fc-card + .fc-card {
    margin-top: 0;
}

.fc-closing-toolbar {
    flex-wrap: wrap;
}

.fc-import-help {
    color: var(--fc-text-secondary);
    font-size: 13px;
}

.fc-import-help code {
    color: var(--fc-primary);
}

.fc-alert-compact {
    align-items: center;
    display: flex;
    gap: 8px;
    font-size: 13px;
    padding-bottom: 10px;
    padding-top: 10px;
}

.closing-card {
    border-radius: 12px;
    cursor: pointer;
    transition: box-shadow .2s, transform .15s;
}

.closing-card:hover {
    box-shadow: 0 4px 16px rgba(15, 23, 42, .12);
    transform: translateY(-2px);
}

.closing-card.mes-atual {
    border: 2px solid var(--fc-primary) !important;
}

.fc-calendar-legend {
    align-items: center;
    color: var(--fc-text-secondary);
    display: flex;
    flex-wrap: wrap;
    font-size: 12px;
    gap: 12px;
}

.fc-calendar-legend span {
    align-items: center;
    display: inline-flex;
    gap: 6px;
}

.fc-calendar-dot {
    border-radius: 999px;
    display: inline-block;
    height: 8px;
    width: 8px;
}

.fc-calendar-dot--success { background: var(--fc-success); }
.fc-calendar-dot--danger { background: var(--fc-danger); }
.fc-calendar-dot--primary { background: var(--fc-primary); }
.fc-calendar-dot--warning { background: var(--fc-warning); }

.fc-calendar {
    display: grid;
    gap: 10px;
}

.fc-calendar-weekdays,
.fc-calendar-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(7, minmax(0, 1fr));
}

.fc-calendar-weekdays > div {
    color: var(--fc-text-secondary);
    font-size: 12px;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
}

.fc-calendar-day {
    background: var(--fc-white);
    border: 1px solid var(--fc-border);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    min-height: 164px;
    overflow: hidden;
}

.fc-calendar-day.is-muted {
    background: rgba(248, 250, 252, .68);
}

.fc-calendar-day.is-today {
    border-color: rgba(30, 64, 175, .45);
    box-shadow: 0 0 0 3px rgba(30, 64, 175, .08);
}

.fc-calendar-day__header {
    align-items: center;
    border-bottom: 1px solid var(--fc-border);
    display: flex;
    justify-content: space-between;
    min-height: 38px;
    padding: 8px 10px;
}

.fc-calendar-day__header time {
    color: var(--fc-text);
    font-size: 14px;
    font-weight: 800;
}

.fc-calendar-day.is-muted .fc-calendar-day__header time {
    color: var(--fc-text-secondary);
}

.fc-calendar-day__header span {
    background: rgba(30, 64, 175, .1);
    border-radius: 999px;
    color: var(--fc-primary);
    font-size: 10px;
    font-weight: 800;
    padding: 2px 7px;
}

.fc-calendar-day__events {
    display: grid;
    gap: 8px;
    padding: 10px;
}

.fc-calendar-day__empty {
    color: var(--fc-text-secondary);
    font-size: 12px;
}

.fc-calendar-event {
    background: #F8FAFC;
    border: 1px solid var(--fc-border);
    border-left: 4px solid var(--fc-primary);
    border-radius: 10px;
    color: var(--fc-text);
    display: grid;
    gap: 3px;
    padding: 8px;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.fc-calendar-event:hover {
    box-shadow: 0 10px 24px rgba(15, 23, 42, .08);
    color: var(--fc-text);
    transform: translateY(-1px);
}

.fc-calendar-event--success {
    border-left-color: var(--fc-success);
}

.fc-calendar-event--danger {
    border-left-color: var(--fc-danger);
}

.fc-calendar-event--warning {
    border-left-color: var(--fc-warning);
}

.fc-calendar-event--primary {
    border-left-color: var(--fc-primary);
}

.fc-calendar-event__label {
    color: var(--fc-text-secondary);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: uppercase;
}

.fc-calendar-event strong {
    font-size: 12px;
    line-height: 1.25;
}

.fc-calendar-event small {
    color: var(--fc-text-secondary);
    font-size: 11px;
}

.fc-calendar-event__footer {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: space-between;
    margin-top: 4px;
}

.fc-calendar-event__footer b {
    color: var(--fc-dark);
    font-size: 12px;
}

.fc-report-chart-card .card-body {
    min-height: 260px;
}

.fc-report-chart {
    min-height: 300px;
}

.fc-report-chart--donut {
    max-width: 520px;
    margin: 0 auto;
}

.fc-report-chart .apexcharts-legend-text,
.fc-report-chart-card .apexcharts-text {
    color: var(--fc-text-secondary) !important;
    fill: var(--fc-text-secondary) !important;
}

.fc-abc-card__header {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    justify-content: space-between;
}

.fc-abc-summary-grid {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fc-abc-summary-grid > div {
    background: var(--fc-background-secondary);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px 14px;
}

.fc-abc-summary-grid span {
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-weight: var(--fc-weight-medium);
}

.fc-abc-summary-grid strong {
    color: var(--fc-text);
    font-size: 17px;
    font-weight: var(--fc-weight-bold);
    line-height: 1.2;
}

.fc-abc-layout {
    align-items: start;
    display: grid;
    gap: 18px;
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
}

.fc-abc-chart-wrap {
    min-width: 0;
    overflow: hidden;
}

.fc-abc-chart {
    width: 100%;
}

.fc-abc-ranking {
    display: grid;
    gap: 7px;
}

.fc-abc-ranking__item {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    color: var(--fc-text);
    display: grid;
    gap: 9px;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    min-width: 0;
    padding: 9px 10px;
    text-align: left;
    text-decoration: none;
    transition: background var(--fc-transition), border-color var(--fc-transition), box-shadow var(--fc-transition);
    width: 100%;
}

.fc-abc-ranking__item:hover {
    background: var(--fc-primary-soft);
    border-color: color-mix(in srgb, var(--fc-primary) 42%, var(--fc-border));
    color: var(--fc-text);
}

.fc-abc-ranking__item:focus-visible {
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--fc-primary) 20%, transparent);
    outline: 2px solid var(--fc-primary);
    outline-offset: 1px;
}

.fc-abc-ranking__position {
    color: var(--fc-primary);
    font-size: 12px;
    font-weight: var(--fc-weight-bold);
}

.fc-abc-ranking__content {
    min-width: 0;
}

.fc-abc-ranking__content strong {
    display: block;
    font-size: 12px;
    font-weight: var(--fc-weight-semibold);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.fc-abc-ranking__content small {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 10px;
    margin-top: 2px;
}

.fc-abc-ranking__value {
    align-items: flex-end;
    display: grid;
    font-size: 11px;
    font-weight: var(--fc-weight-semibold);
    gap: 3px;
    justify-items: end;
    white-space: nowrap;
}

.fc-abc-class {
    border: 1px solid currentColor;
    border-radius: 999px;
    display: inline-flex;
    font-size: 9px;
    font-weight: var(--fc-weight-bold);
    line-height: 1;
    padding: 4px 6px;
    white-space: nowrap;
}

.fc-abc-class--a {
    background: var(--fc-primary-soft);
    color: var(--fc-primary);
}

.fc-abc-class--b {
    background: var(--fc-warning-soft);
    color: var(--fc-warning);
}

.fc-abc-class--c {
    background: var(--fc-background-secondary);
    color: var(--fc-text-secondary);
}

.fc-abc-notice,
.fc-abc-reconciliation {
    align-items: flex-start;
    background: var(--fc-primary-soft);
    border: 1px solid color-mix(in srgb, var(--fc-primary) 24%, var(--fc-border));
    border-radius: var(--fc-radius);
    color: var(--fc-text);
    display: flex;
    font-size: 12px;
    gap: 8px;
    padding: 10px 12px;
}

.fc-abc-reconciliation {
    display: grid;
    gap: 3px;
    margin-top: 14px;
}

.fc-abc-reconciliation strong {
    font-weight: var(--fc-weight-semibold);
}

.fc-abc-reconciliation span {
    color: var(--fc-text-secondary);
}

.fc-abc-remaining {
    color: var(--fc-text-secondary);
    font-size: 11px;
    margin: 14px 0 0;
}

.fc-abc-quick-filters {
    align-items: end;
    display: grid;
    gap: 10px;
    grid-template-columns: minmax(150px, .5fr) minmax(220px, 1fr) auto auto;
}

.fc-abc-quick-filters label {
    display: grid;
    gap: 5px;
    margin: 0;
}

.fc-abc-quick-filters label > span {
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-weight: var(--fc-weight-medium);
}

.fc-abc-quick-filters__actions,
.fc-abc-quick-filters__exports {
    display: flex;
    gap: 7px;
}

.fc-abc-table td,
.fc-abc-transactions-table td {
    vertical-align: middle;
}

[data-theme="dark"] .fc-abc-table,
[data-theme="dark"] .fc-abc-transactions-table {
    --bs-table-bg: transparent;
    --bs-table-color: var(--fc-text);
    --bs-table-border-color: var(--fc-border);
    color: var(--fc-text);
}

[data-theme="dark"] .fc-abc-table > :not(caption) > * > *,
[data-theme="dark"] .fc-abc-transactions-table > :not(caption) > * > * {
    background: transparent;
    color: inherit;
}

.fc-abc-reference {
    color: var(--fc-primary);
    font-weight: var(--fc-weight-semibold);
}

.fc-abc-drawer {
    inset: 0;
    position: fixed;
    z-index: 1085;
}

.fc-abc-drawer[hidden] {
    display: none;
}

.fc-abc-drawer__backdrop {
    background: rgba(15, 23, 42, .58);
    border: 0;
    inset: 0;
    padding: 0;
    position: absolute;
    width: 100%;
}

.fc-abc-drawer__panel {
    background: var(--fc-surface);
    border-left: 1px solid var(--fc-border);
    box-shadow: -18px 0 48px rgba(15, 23, 42, .18);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin-left: auto;
    max-width: 920px;
    outline: none;
    position: relative;
    width: min(78vw, 920px);
}

.fc-abc-drawer__panel > header {
    align-items: center;
    border-bottom: 1px solid var(--fc-border);
    display: flex;
    gap: 14px;
    justify-content: space-between;
    padding: 16px 18px;
}

.fc-abc-drawer__panel > header span {
    color: var(--fc-text-secondary);
    display: block;
    font-size: 10px;
    font-weight: var(--fc-weight-medium);
    text-transform: uppercase;
}

.fc-abc-drawer__panel > header h2 {
    color: var(--fc-text);
    font-size: 17px;
    font-weight: var(--fc-weight-bold);
    margin: 2px 0 0;
}

.fc-abc-drawer__body {
    overflow: auto;
    padding: 18px;
}

.fc-abc-drawer__loading,
.fc-abc-drawer__error {
    color: var(--fc-text-secondary);
    padding: 30px 12px;
    text-align: center;
}

.fc-abc-drawer__error {
    color: var(--fc-danger);
}

.fc-abc-drawer__category {
    align-items: flex-start;
    display: flex;
    gap: 14px;
    justify-content: space-between;
}

.fc-abc-drawer__category span {
    color: var(--fc-primary);
    font-size: 11px;
    font-weight: var(--fc-weight-semibold);
}

.fc-abc-drawer__category h3 {
    color: var(--fc-text);
    font-size: 20px;
    font-weight: var(--fc-weight-bold);
    margin: 3px 0 0;
}

.fc-abc-drawer__category > strong {
    color: var(--fc-text);
    font-size: 19px;
    white-space: nowrap;
}

.fc-abc-drawer__stats {
    display: grid;
    gap: 8px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 16px 0;
}

.fc-abc-drawer__stats > div {
    background: var(--fc-background-secondary);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    padding: 9px 11px;
}

.fc-abc-drawer__stats dt {
    color: var(--fc-text-secondary);
    font-size: 10px;
    font-weight: var(--fc-weight-medium);
}

.fc-abc-drawer__stats dd {
    color: var(--fc-text);
    font-size: 14px;
    font-weight: var(--fc-weight-semibold);
    margin: 2px 0 0;
}

.fc-abc-drawer__pagination {
    border-top: 1px solid var(--fc-border);
    margin-top: 12px;
    padding-top: 12px;
}

.fc-drawer-open {
    overflow: hidden;
}

@media (max-width: 1199.98px) {
    .fc-abc-layout {
        grid-template-columns: 1fr;
    }

    .fc-abc-ranking {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .fc-abc-quick-filters {
        grid-template-columns: 1fr 1fr;
    }

    .fc-abc-quick-filters__actions,
    .fc-abc-quick-filters__exports {
        width: 100%;
    }

    .fc-abc-quick-filters__actions .btn,
    .fc-abc-quick-filters__exports .btn {
        flex: 1 1 0;
    }
}

@media (max-width: 767.98px) {
    .fc-abc-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-abc-ranking {
        grid-template-columns: 1fr;
    }

    .fc-abc-drawer__panel {
        border-left: 0;
        width: 100%;
    }
}

@media (max-width: 575.98px) {
    .fc-abc-card__header > .btn {
        width: 100%;
    }

    .fc-abc-summary-grid {
        gap: 8px;
    }

    .fc-abc-summary-grid > div {
        padding: 10px;
    }

    .fc-abc-summary-grid strong {
        font-size: 15px;
    }

    .fc-abc-quick-filters {
        grid-template-columns: 1fr;
    }

    .fc-abc-ranking__item {
        grid-template-columns: 28px minmax(0, 1fr);
    }

    .fc-abc-ranking__value {
        align-items: center;
        grid-column: 2;
        grid-template-columns: auto auto;
        justify-content: space-between;
        justify-items: start;
        white-space: normal;
    }

    .fc-abc-drawer__body {
        padding: 14px;
    }

    .fc-abc-drawer__category {
        display: grid;
    }

    .fc-abc-drawer__stats {
        grid-template-columns: 1fr;
    }

    .fc-abc-table,
    .fc-abc-table tbody,
    .fc-abc-transactions-table,
    .fc-abc-transactions-table tbody {
        display: block;
        width: 100%;
    }

    .fc-abc-table thead,
    .fc-abc-transactions-table thead {
        display: none;
    }

    .fc-abc-table tr,
    .fc-abc-transactions-table tr {
        border-bottom: 1px solid var(--fc-border);
        display: grid;
        padding: 10px 14px;
    }

    .fc-abc-table td,
    .fc-abc-transactions-table td {
        align-items: center;
        border: 0;
        display: flex;
        gap: 12px;
        justify-content: space-between;
        padding: 5px 0;
        text-align: right !important;
        white-space: normal;
    }

    .fc-abc-table td::before,
    .fc-abc-transactions-table td::before {
        color: var(--fc-text-secondary);
        content: attr(data-label);
        flex: 0 0 42%;
        font-size: 10px;
        font-weight: var(--fc-weight-medium);
        text-align: left;
    }
}

@media (max-width: 767.98px) {
    .dashboard-main-body {
        padding-top: 16px;
    }

    .fc-section-gap {
        gap: 16px;
    }

    .fc-dashboard-section {
        margin-bottom: 18px;
    }

    .fc-card-grid,
    .fc-card-grid--compact {
        --bs-gutter-x: .875rem;
        --bs-gutter-y: .875rem;
    }

    .fc-card-spacing > .card-header,
    .fc-card-spacing > .fc-card-header {
        padding: 14px 16px;
    }

    .fc-card-spacing > .card-body:not(.p-0) {
        padding: 16px;
    }

    .fc-page-header {
        flex-direction: column;
        align-items: stretch;
        margin-bottom: 16px;
    }

    .fc-plan-hero,
    .fc-plan-benefit-strip,
    .fc-plan-footer-row {
        grid-template-columns: 1fr;
    }

    .fc-plan-hero {
        padding: 18px;
    }

    .fc-plan-hero h1 {
        font-size: 22px;
    }

    .fc-plan-grid {
        grid-template-columns: 1fr;
    }

    .fc-plan-hero__actions .btn,
    .fc-plan-hero__actions form,
    .fc-plan-logout,
    .fc-plan-logout .btn {
        width: 100%;
    }

    .fc-upgrade-hero,
    .fc-upgrade-layout,
    .fc-upgrade-value-grid,
    .fc-commercial-plan-grid,
    .fc-recommended-plan-card__body {
        grid-template-columns: 1fr;
    }

    .fc-upgrade-hero {
        padding: 20px;
    }

    .fc-upgrade-hero h1 {
        font-size: 23px;
    }

    .fc-upgrade-hero__actions form,
    .fc-upgrade-hero__actions .btn,
    .fc-recommended-plan-card__body,
    .fc-recommended-plan-card__body > strong {
        width: 100%;
    }

    .fc-recommended-plan-card__body {
        display: grid;
        gap: 12px;
    }

    .fc-current-plan-meta,
    .fc-upgrade-hero__summary {
        grid-template-columns: 1fr;
    }

    .fc-usage-row > div:first-child {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .fc-onboarding-page {
        min-height: auto;
    }

    .fc-onboarding-card {
        grid-template-columns: 1fr;
        padding: 18px;
    }

    .fc-onboarding-card__media {
        min-height: 150px;
        padding: 20px;
    }

    .fc-onboarding-card h1 {
        font-size: 23px;
    }

    .fc-onboarding-actions,
    .fc-onboarding-actions form,
    .fc-onboarding-actions .btn {
        width: 100%;
    }

    .fc-onboarding-checklist__summary,
    .fc-onboarding-checklist__body {
        grid-template-columns: 1fr;
    }

    .fc-onboarding-checklist__summary,
    .fc-onboarding-checklist__collapsed {
        display: grid;
    }

    .fc-onboarding-checklist__summary-actions,
    .fc-onboarding-checklist__collapsed-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .fc-onboarding-checklist__progress {
        text-align: left;
    }

    .fc-onboarding-checklist__progress,
    .fc-onboarding-checklist__mini-track {
        width: 100%;
    }

    .fc-onboarding-checklist__items {
        grid-template-columns: 1fr;
    }

    .fc-page-title {
        font-size: 18px;
    }

    .fc-page-header__actions .btn {
        width: 100%;
    }

    .fc-filter-actions {
        width: 100%;
    }

    .fc-filter-actions .btn {
        flex: 1;
    }

    .fc-table-actions {
        justify-content: flex-start;
    }

    .fc-section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .fc-list-item {
        align-items: flex-start;
    }

    .fc-list-side {
        text-align: left;
    }

    .fc-finance-agenda-item {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .fc-finance-agenda-item .fc-list-side {
        width: 100%;
    }

    .fc-mini-metrics {
        grid-template-columns: 1fr;
    }

    .fc-flash {
        align-items: flex-start;
        font-size: 12px;
        padding: 10px 12px;
    }

    .fc-calendar-weekdays {
        display: none;
    }

    .fc-calendar-grid {
        grid-template-columns: 1fr;
    }

    .fc-calendar-day {
        min-height: auto;
    }

    .fc-calendar-day.is-muted {
        display: none;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .fc-plan-hero,
    .fc-plan-footer-row {
        grid-template-columns: 1fr;
    }

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

    .fc-plan-benefit-strip {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .fc-upgrade-hero,
    .fc-upgrade-layout {
        grid-template-columns: 1fr;
    }

    .fc-commercial-plan-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-upgrade-value-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fc-onboarding-card {
        grid-template-columns: minmax(200px, .55fr) minmax(0, 1fr);
    }
}

@media (max-width: 1199.98px) {
    .fc-company-context__text strong {
        max-width: 180px;
    }
}

[data-theme="dark"] {
    --fc-background: #101722;
    --fc-background-secondary: #172131;
    --fc-surface: #182230;
    --fc-surface-elevated: #1D2939;
    --fc-border: #344054;
    --fc-border-subtle: #283548;
    --fc-text: #F2F4F7;
    --fc-text-secondary: #C2CAD6;
    --fc-text-subtle: #98A2B3;
    --fc-primary: #8CB4F4;
    --fc-primary-hover: #A8C8FA;
    --fc-primary-soft: rgba(76, 129, 210, .16);
    --fc-success: #6FD3AC;
    --fc-success-soft: rgba(26, 145, 103, .15);
    --fc-warning: #F2C66D;
    --fc-warning-soft: rgba(183, 121, 31, .16);
    --fc-danger: #F28B92;
    --fc-danger-soft: rgba(194, 65, 75, .16);
    --fc-white: var(--fc-surface);
}

[data-theme="dark"] .card,
[data-theme="dark"] .fc-card,
[data-theme="dark"] .fc-filter-card,
[data-theme="dark"] .fc-widget-card,
[data-theme="dark"] .fc-form-section {
    border-color: var(--fc-border);
    background: var(--fc-white);
}

[data-theme="dark"] .fc-topbar.navbar-header,
[data-theme="dark"] .sidebar,
[data-theme="dark"] .fc-page-header {
    background: var(--fc-surface);
    border-color: var(--fc-border);
}

[data-theme="dark"] .fc-company-context,
[data-theme="dark"] .fc-topbar-icon-btn {
    background: var(--fc-background-secondary);
    border-color: var(--fc-border);
}

[data-theme="dark"] .fc-notification-badge {
    border-color: var(--fc-surface);
    color: #fff;
}

[data-theme="dark"] .fc-alert-actions__button--view {
    background: #1E3A5F;
    color: #93C5FD;
}

[data-theme="dark"] .fc-alert-actions__button--read {
    background: #12392D;
    color: #6EE7B7;
}

[data-theme="dark"] .fc-alert-actions__button--delete {
    background: #3B1E1E;
    color: #FCA5A5;
}

@media (max-width: 575.98px) {
    .fc-notification-badge {
        right: -4px;
        top: -5px;
    }
}

[data-theme="dark"] .fc-onboarding-checklist {
    background:
        radial-gradient(circle at 94% 10%, rgba(16, 185, 129, .08), transparent 28%),
        var(--fc-surface);
}

[data-theme="dark"] .fc-onboarding-checklist__item,
[data-theme="dark"] .fc-onboarding-checklist__toggle {
    background: var(--fc-surface-elevated);
    border-color: var(--fc-border);
}

[data-theme="dark"] .fc-onboarding-checklist__track,
[data-theme="dark"] .fc-onboarding-checklist__mini-track {
    background: var(--fc-border);
}

[data-theme="dark"] .fc-user-button:hover,
[data-theme="dark"] .sidebar-menu > li.dropdown.open > a,
[data-theme="dark"] .sidebar-menu > li > a:hover,
[data-theme="dark"] .sidebar-submenu > li > a:hover {
    background: var(--fc-primary-soft);
}

[data-theme="dark"] .sidebar-submenu > li > a {
    color: var(--fc-text-secondary);
}

[data-theme="dark"] .sidebar-menu > li.active-page > a,
[data-theme="dark"] .sidebar-submenu > li.active-page > a,
[data-theme="dark"] .sidebar-menu > li > a.active-page,
[data-theme="dark"] .sidebar-submenu > li > a.active-page {
    background: var(--fc-primary-soft);
    color: var(--fc-primary);
}

[data-theme="dark"] .fc-company-context__switch:hover,
[data-theme="dark"] .fc-onboarding-secondary:hover {
    background: var(--fc-primary-soft);
}

[data-theme="dark"] .fc-action-dropdown__button,
[data-theme="dark"] .fc-action-dropdown__menu {
    background: #171E2B;
    border-color: var(--fc-border);
    color: #CBD5E0;
}

[data-theme="dark"] .fc-progress-bar__track {
    background: #2D3748;
}

[data-theme="dark"] .fc-mini-metrics > div,
[data-theme="dark"] .fc-agenda-date,
[data-theme="dark"] .fc-calendar-day,
[data-theme="dark"] .fc-calendar-event {
    background: #171E2B;
}

[data-theme="dark"] .fc-calendar-day.is-muted {
    background: rgba(23, 30, 43, .52);
}

[data-theme="dark"] .fc-calendar-day__header,
[data-theme="dark"] .fc-calendar-event {
    border-color: var(--fc-border);
}

[data-theme="dark"] .fc-calendar-event__footer b {
    color: #E2E8F0;
}

[data-theme="dark"] .fc-finance-agenda-item,
[data-theme="dark"] .fc-alert-priority {
    border-color: var(--fc-border);
}

[data-theme="dark"] .fc-form-section__header,
[data-theme="dark"] .fc-tabs,
[data-theme="dark"] .fc-pagination {
    border-color: var(--fc-border);
}

[data-theme="dark"] .card-header,
[data-theme="dark"] .fc-card-header {
    border-color: var(--fc-border);
}

[data-theme="dark"] .table th,
[data-theme="dark"] .fc-table th {
    color: #A0AEC0;
    background: #171E2B;
    border-color: var(--fc-border);
}

[data-theme="dark"] .table td,
[data-theme="dark"] .fc-table td {
    color: #CBD5E0;
    border-color: var(--fc-border);
}

[data-theme="dark"] .table tbody tr:hover,
[data-theme="dark"] .fc-table tbody tr:hover {
    background: rgba(255, 255, 255, .04);
}

[data-theme="dark"] .form-control,
[data-theme="dark"] .form-select {
    background: #2D3748;
    border-color: #4A5568;
    color: #E2E8F0;
}

[data-theme="dark"] .form-control:focus,
[data-theme="dark"] .form-select:focus {
    border-color: #63B3ED;
    box-shadow: 0 0 0 3px rgba(99, 179, 237, .15);
}

[data-theme="dark"] .fc-action-btn--view { background: #1E3A5F; color: #60A5FA; }
[data-theme="dark"] .fc-action-btn--edit { background: #12392D; color: #34D399; }
[data-theme="dark"] .fc-action-btn--role,
[data-theme="dark"] .fc-table-action { background: #1E3A5F; border-color: #2563EB; color: #93C5FD; }
[data-theme="dark"] .fc-action-btn--delete { background: #3B1E1E; color: #F87171; }
[data-theme="dark"] .fc-action-btn--warning { background: #44341A; color: #FCD34D; }
[data-theme="dark"] .fc-empty-state { background: rgba(255, 255, 255, .03); }
[data-theme="dark"] .fc-empty-state__icon { background: rgba(99, 179, 237, .1); color: #60A5FA; }

/* Strong, scoped typography overrides for WowDash heading utilities. */
.fc-app .dashboard-main-body h1,
.fc-app .dashboard-main-body .h1 {
    font-size: 30px !important;
    line-height: 1.18 !important;
}

.fc-app .dashboard-main-body h2,
.fc-app .dashboard-main-body .h2 {
    font-size: 22px !important;
    line-height: 1.25 !important;
}

.fc-app .dashboard-main-body h3,
.fc-app .dashboard-main-body .h3 {
    font-size: 18px !important;
    line-height: 1.3 !important;
}

.fc-app .dashboard-main-body .text-2xxl {
    font-size: 24px !important;
    line-height: 1.22 !important;
}

.fc-app .dashboard-main-body .text-2xl {
    font-size: 22px !important;
    line-height: 1.25 !important;
}

.fc-app .dashboard-main-body .text-xxl {
    font-size: 20px !important;
    line-height: 1.3 !important;
}

.fc-app .dashboard-main-body .text-xl {
    font-size: 18px !important;
    line-height: 1.35 !important;
}

.fc-app .fc-page-title {
    font-size: 28px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.fc-app .fc-section-title {
    font-size: 20px !important;
    font-weight: 800 !important;
    line-height: 1.25 !important;
}

.fc-app .fc-card-title,
.fc-app .fc-widget-title,
.fc-app .fc-kpi-title,
.fc-app .fc-metric-title {
    font-size: 16px !important;
    font-weight: 800 !important;
    line-height: 1.32 !important;
}

.fc-app .fc-widget-card__value,
.fc-app .fc-kpi-value,
.fc-app .kpi-value {
    font-size: 20px !important;
    line-height: 1.12 !important;
}

.fc-app .fc-page-subtitle,
.fc-app .fc-section-subtitle,
.fc-app .fc-card-subtitle,
.fc-app .fc-widget-card__header p,
.fc-app .fc-muted-text {
    font-size: 13px !important;
    line-height: 1.45 !important;
}

@media (max-width: 767.98px) {
    .fc-app .dashboard-main-body h1,
    .fc-app .dashboard-main-body .h1,
    .fc-app .fc-page-title {
        font-size: 24px !important;
    }

    .fc-app .dashboard-main-body h2,
    .fc-app .dashboard-main-body .h2,
    .fc-app .fc-section-title {
        font-size: 18px !important;
    }

    .fc-app .fc-widget-card__value,
    .fc-app .fc-kpi-value,
    .fc-app .kpi-value {
        font-size: 24px !important;
    }
}
/* Onboarding progressivo por empresa */
.fc-guided-onboarding {
    display: grid;
    gap: 16px;
    margin: 0 auto;
    max-width: 1280px;
    min-width: 0;
}

.fc-guided-onboarding__header {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius-lg);
    display: grid;
    gap: 28px;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
    padding: var(--fc-space-4) var(--fc-space-5);
}

.fc-guided-onboarding__context {
    min-width: 0;
}

.fc-guided-onboarding__header h1 {
    color: var(--fc-text);
    font-size: clamp(1.35rem, 2.2vw, 1.75rem);
    line-height: 1.2;
    margin: 6px 0 4px;
}

.fc-guided-onboarding__header p {
    color: var(--fc-text-secondary);
    font-size: .9rem;
    margin: 0;
}

.fc-guided-onboarding__meter {
    display: grid;
    gap: 7px;
}

.fc-guided-onboarding__meter-copy {
    align-items: baseline;
    display: flex;
    justify-content: space-between;
}

.fc-guided-onboarding__meter strong {
    color: var(--fc-primary);
    font-size: 1.65rem;
    line-height: 1;
}

.fc-guided-onboarding__meter span {
    color: var(--fc-text-secondary);
    font-size: .78rem;
    font-weight: 600;
}

.fc-guided-onboarding__meter .progress {
    background: rgba(148, 163, 184, .22);
    border-radius: 999px;
    height: 7px;
    overflow: hidden;
}

.fc-guided-onboarding__meter .progress-bar {
    background: linear-gradient(90deg, var(--fc-primary), #2563EB);
    border-radius: inherit;
}

.fc-guided-stepper {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius-lg);
    display: grid;
    gap: 0;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    min-width: 0;
    padding: var(--fc-space-2);
}

.fc-guided-stepper__item {
    align-items: center;
    background: transparent;
    border: 1px solid transparent;
    border-radius: 10px;
    color: var(--fc-text-secondary);
    display: flex;
    gap: 9px;
    min-height: 56px;
    min-width: 0;
    padding: 9px 10px;
    text-decoration: none;
    transition: background-color .16s ease, border-color .16s ease, transform .16s ease;
}

.fc-guided-stepper__item:not(:last-child)::after {
    background: var(--fc-border-subtle);
    content: "";
    height: 24px;
    margin-left: auto;
    width: 1px;
}

.fc-guided-stepper__item:hover {
    background: var(--fc-white);
    border-color: var(--fc-border);
    color: var(--fc-text);
    transform: translateY(-1px);
}

.fc-guided-stepper__marker {
    align-items: center;
    background: #E2E8F0;
    border-radius: 50%;
    color: #64748B;
    display: inline-flex;
    flex: 0 0 28px;
    font-size: .75rem;
    font-weight: 700;
    height: 28px;
    justify-content: center;
    width: 28px;
}

.fc-guided-stepper__copy {
    display: grid;
    gap: 1px;
    min-width: 0;
}

.fc-guided-stepper__copy strong {
    color: inherit;
    font-size: var(--fc-text-xs);
    line-height: 1.2;
}

.fc-guided-stepper__copy small {
    color: inherit;
    font-size: .6875rem;
    opacity: .8;
}

.fc-guided-stepper__item.is-current {
    background: var(--fc-primary-soft);
    border-color: transparent;
    color: var(--fc-primary);
}

.fc-guided-stepper__item.is-current .fc-guided-stepper__marker {
    background: var(--fc-primary);
    color: #FFF;
}

.fc-guided-stepper__item.is-complete {
    color: #166534;
}

.fc-guided-stepper__item.is-complete .fc-guided-stepper__marker {
    background: #DCFCE7;
    color: #15803D;
}

.fc-guided-stepper__item.is-skipped {
    color: #64748B;
}

.fc-guided-stepper__item.is-skipped .fc-guided-stepper__marker {
    background: #F1F5F9;
    border: 1px dashed #94A3B8;
}

.fc-guided-onboarding__content {
    align-items: start;
    display: grid;
    gap: 16px;
    grid-template-columns: minmax(0, 7fr) minmax(240px, 3fr);
    min-width: 0;
}

.fc-guided-onboarding__main,
.fc-guided-onboarding__aside {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius-lg);
}

.fc-guided-onboarding__main {
    min-width: 0;
    padding: var(--fc-space-5);
}

.fc-guided-onboarding__intro {
    margin-bottom: 16px;
}

.fc-guided-onboarding__intro h2 {
    color: var(--fc-text);
    font-size: var(--fc-title-section);
    margin: 5px 0 4px;
}

.fc-guided-onboarding__intro p {
    color: var(--fc-text-secondary);
    font-size: .9rem;
    margin: 0;
    max-width: 680px;
}

.fc-guided-checks {
    display: grid;
    gap: 7px;
    margin: 14px 0 18px;
}

.fc-guided-checks > div {
    align-items: center;
    background: #F8FAFC;
    border-left: 3px solid #CBD5E1;
    border-radius: 8px;
    display: flex;
    gap: 16px;
    justify-content: space-between;
    padding: 10px 12px;
}

.fc-guided-checks > div.is-done {
    background: #F0FDF4;
    border-left-color: var(--fc-success);
}

.fc-guided-checks strong {
    color: var(--fc-text);
    font-size: .84rem;
}

.fc-guided-checks span {
    color: var(--fc-text-secondary);
    font-size: .75rem;
    text-align: right;
}

.fc-guided-stat {
    align-items: baseline;
    display: flex;
    gap: 6px;
    margin: 10px 0;
}

.fc-guided-stat strong {
    color: var(--fc-primary);
    font-size: 1.65rem;
}

.fc-guided-stat span {
    color: var(--fc-text-secondary);
    font-size: .8rem;
}

.fc-guided-onboarding .fc-onboarding-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.fc-guided-onboarding .fc-onboarding-actions form {
    margin: 0;
}

.fc-guided-onboarding .fc-onboarding-actions .btn {
    align-items: center;
    display: inline-flex;
    gap: 8px;
    justify-content: center;
    min-height: 40px;
    padding: 8px 15px;
}

.fc-onboarding-secondary {
    background: transparent;
    border: 1px solid var(--fc-border);
    color: var(--fc-text-secondary);
    text-decoration: none;
}

.fc-onboarding-secondary:hover {
    background: #F8FAFC;
    border-color: #CBD5E1;
    color: var(--fc-text);
}

.fc-guided-onboarding__aside {
    background: var(--fc-background-secondary);
    padding: var(--fc-space-4);
    position: sticky;
    top: 88px;
}

.fc-guided-onboarding__aside-label {
    align-items: center;
    color: var(--fc-primary);
    display: flex;
    font-size: .72rem;
    font-weight: 700;
    gap: 6px;
    letter-spacing: .04em;
    margin-bottom: 10px;
    text-transform: uppercase;
}

.fc-guided-onboarding__aside h2 {
    color: var(--fc-text);
    font-size: 1rem;
    line-height: 1.3;
    margin: 0 0 6px;
}

.fc-guided-onboarding__aside p {
    color: var(--fc-text-secondary);
    font-size: .8rem;
    line-height: 1.5;
    margin: 0 0 14px;
}

.fc-guided-onboarding__next-button {
    align-items: center;
    background: var(--fc-white);
    border: 1px solid rgba(30, 64, 175, .24);
    color: var(--fc-primary);
    display: inline-flex;
    font-size: .8rem;
    font-weight: 700;
    gap: 8px;
    justify-content: center;
    min-height: 38px;
    padding: 7px 12px;
}

.fc-guided-onboarding__hint {
    align-items: center;
    color: var(--fc-text-subtle);
    display: inline-flex;
    font-size: var(--fc-text-xs);
    gap: var(--fc-space-2);
}

.fc-guided-onboarding__next-button:hover {
    background: var(--fc-primary);
    border-color: var(--fc-primary);
    color: #FFF;
}

.fc-guided-onboarding__complete-icon {
    align-items: center;
    background: #DCFCE7;
    border-radius: 50%;
    color: #15803D;
    display: inline-flex;
    height: 30px;
    justify-content: center;
    margin-bottom: 10px;
    width: 30px;
}

.fc-guided-onboarding a:focus-visible,
.fc-guided-onboarding button:focus-visible {
    outline: 3px solid var(--fc-warning);
    outline-offset: 3px;
}

[data-theme="dark"] .fc-guided-onboarding__header,
[data-theme="dark"] .fc-guided-onboarding__aside {
    background: var(--fc-surface);
    border-color: var(--fc-border);
}

[data-theme="dark"] .fc-guided-stepper__item {
    background: rgba(26, 32, 44, .72);
}

[data-theme="dark"] .fc-guided-stepper__item:hover,
[data-theme="dark"] .fc-guided-stepper__item.is-current {
    background: #1E293B;
}

[data-theme="dark"] .fc-guided-stepper__marker,
[data-theme="dark"] .fc-guided-checks > div {
    background: #273449;
}

[data-theme="dark"] .fc-guided-checks > div.is-done {
    background: rgba(16, 185, 129, .1);
}

[data-theme="dark"] .fc-onboarding-secondary,
[data-theme="dark"] .fc-guided-onboarding__next-button {
    background: transparent;
}

[data-theme="dark"] .fc-onboarding-secondary:hover {
    background: #273449;
}

@media (max-width: 1100px) {
    .fc-guided-stepper {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fc-guided-stepper__item::after {
        display: none;
    }
}

@media (max-width: 820px) {
    .fc-guided-onboarding__header {
        gap: 16px;
        grid-template-columns: minmax(0, 1fr) 220px;
    }

    .fc-guided-onboarding__content {
        grid-template-columns: 1fr;
    }

    .fc-guided-onboarding__aside {
        position: static;
    }
}

@media (max-width: 600px) {
    .fc-guided-onboarding {
        gap: 12px;
    }

    .fc-guided-onboarding__header {
        gap: 14px;
        grid-template-columns: 1fr;
        padding: 15px;
    }

    .fc-guided-stepper {
        grid-auto-columns: minmax(190px, 78vw);
        grid-auto-flow: column;
        grid-template-columns: none;
        overflow-x: auto;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
        scrollbar-width: thin;
    }

    .fc-guided-stepper__item {
        scroll-snap-align: start;
    }

    .fc-guided-onboarding__main,
    .fc-guided-onboarding__aside {
        padding: 16px;
    }

    .fc-guided-checks > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 2px;
    }

    .fc-guided-checks span {
        text-align: left;
    }
}

@media (max-width: 420px) {
    .fc-guided-stepper__item {
        min-height: 52px;
    }

    .fc-guided-onboarding .fc-onboarding-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .fc-guided-onboarding .fc-onboarding-actions > *,
    .fc-guided-onboarding .fc-onboarding-actions .btn {
        width: 100%;
    }

    .fc-guided-onboarding__next-button {
        width: 100%;
    }
}

/* Company configuration templates */
.fc-template-page .fc-page-title {
    font-size: 28px;
    line-height: var(--fc-leading-tight);
}

.fc-template-page .fc-page-header {
    margin-bottom: var(--fc-space-4);
}

.fc-template-header-actions,
.fc-template-card__badges,
.fc-template-card__footer p,
.fc-template-selector__heading,
.fc-template-group__header,
.fc-template-group__header > div,
.fc-template-accordion__trigger,
.fc-template-accordion__meta,
.fc-template-confirm,
.fc-template-confirm__actions,
.fc-template-result-actions,
.fc-template-history__header {
    align-items: center;
    display: flex;
}

.fc-template-header-actions,
.fc-template-card__badges,
.fc-template-card__footer p,
.fc-template-confirm__actions,
.fc-template-result-actions {
    flex-wrap: wrap;
    gap: var(--fc-space-2);
}

.fc-template-version,
.fc-template-audience,
.fc-template-recommended,
.fc-template-count {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    font-size: 11px;
    font-weight: var(--fc-weight-semibold);
    line-height: 1.25;
}

.fc-template-version,
.fc-template-count {
    background: var(--fc-background-secondary);
    color: var(--fc-text-secondary);
    padding: 5px 9px;
    white-space: nowrap;
}

.fc-template-notice {
    align-items: flex-start;
    background: var(--fc-primary-soft);
    border: 1px solid color-mix(in srgb, var(--fc-primary) 18%, var(--fc-border));
    border-radius: var(--fc-radius-md);
    display: flex;
    gap: var(--fc-space-3);
    margin-bottom: var(--fc-space-5);
    padding: var(--fc-space-3) var(--fc-space-4);
}

.fc-template-notice__icon {
    align-items: center;
    background: var(--fc-surface);
    border-radius: 50%;
    color: var(--fc-primary);
    display: flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
}

.fc-template-notice h2,
.fc-template-selector h2,
.fc-template-group h2,
.fc-template-history h2,
.fc-template-detail-card h2 {
    color: var(--fc-text);
    font-size: var(--fc-title-card);
    font-weight: var(--fc-weight-semibold);
    margin: 0;
}

.fc-template-notice p,
.fc-template-selector__heading p,
.fc-template-group__header p,
.fc-template-history__header p,
.fc-template-detail-card header p {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-sm);
    line-height: var(--fc-leading-normal);
    margin: 3px 0 0;
}

.fc-template-grid {
    display: grid;
    gap: var(--fc-space-5);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-template-card {
    height: 100%;
    transition: border-color var(--fc-transition), box-shadow var(--fc-transition), transform var(--fc-transition);
}

.fc-template-card:hover {
    border-color: color-mix(in srgb, var(--fc-primary) 28%, var(--fc-border));
    box-shadow: var(--fc-shadow-elevated);
    transform: translateY(-2px);
}

.fc-template-card .card-body {
    display: flex;
    flex-direction: column;
    gap: var(--fc-space-4);
    padding: var(--fc-space-5);
}

.fc-template-card__badges {
    align-items: flex-start;
    justify-content: space-between;
    min-height: 26px;
}

.fc-template-audience {
    background: var(--fc-primary-soft);
    color: var(--fc-primary);
    max-width: 72%;
    padding: 5px 9px;
    white-space: normal;
}

.fc-template-recommended {
    background: var(--fc-success-soft);
    color: var(--fc-success);
    gap: 4px;
    padding: 5px 8px;
}

.fc-template-card__intro h2 {
    color: var(--fc-text);
    font-size: 21px;
    font-weight: var(--fc-weight-semibold);
    line-height: 1.3;
    margin: 0 0 7px;
}

.fc-template-card__intro p {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-md);
    line-height: 1.55;
    margin: 0;
}

.fc-template-card__section {
    border-top: 1px solid var(--fc-border-subtle);
    padding-top: var(--fc-space-3);
}

.fc-template-card__section h3,
.fc-template-tracked-groups h3 {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
    font-weight: var(--fc-weight-semibold);
    letter-spacing: .04em;
    margin: 0 0 var(--fc-space-2);
    text-transform: uppercase;
}

.fc-template-benefits,
.fc-template-tracked-groups ul {
    display: grid;
    gap: 7px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.fc-template-benefits li,
.fc-template-tracked-groups li {
    align-items: flex-start;
    color: var(--fc-text);
    display: flex;
    font-size: var(--fc-text-sm);
    gap: var(--fc-space-2);
    line-height: 1.45;
}

.fc-template-benefits i,
.fc-template-tracked-groups i {
    color: var(--fc-success);
    font-size: 10px;
    margin-top: 5px;
}

.fc-template-modules {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.fc-template-modules > span {
    background: var(--fc-background-secondary);
    border: 1px solid var(--fc-border-subtle);
    border-radius: 999px;
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-weight: var(--fc-weight-medium);
    line-height: 1.2;
    padding: 5px 8px;
}

.fc-template-card__footer {
    margin-top: auto;
    padding-top: var(--fc-space-1);
}

.fc-template-card__footer p {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
    justify-content: space-between;
    margin: 0 0 var(--fc-space-3);
}

.fc-template-card__footer .btn {
    width: auto;
}

.fc-template-selector {
    margin-bottom: var(--fc-space-4);
}

.fc-template-selector .card-body {
    padding: var(--fc-space-4) var(--fc-space-5);
}

.fc-template-selector__heading {
    gap: var(--fc-space-4);
    justify-content: space-between;
    margin-bottom: var(--fc-space-3);
}

.fc-template-module-options {
    display: grid;
    gap: var(--fc-space-3);
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-template-module-option {
    align-items: flex-start;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-md);
    cursor: pointer;
    display: flex;
    gap: var(--fc-space-3);
    min-width: 0;
    padding: var(--fc-space-3);
    position: relative;
    transition: background-color var(--fc-transition), border-color var(--fc-transition), box-shadow var(--fc-transition);
}

.fc-template-module-option:hover {
    background: var(--fc-background-secondary);
    border-color: var(--fc-border-strong);
}

.fc-template-module-option:has(input:checked) {
    background: var(--fc-primary-soft);
    border-color: var(--fc-primary);
    box-shadow: inset 0 0 0 1px var(--fc-primary);
}

.fc-template-module-option:focus-within {
    box-shadow: 0 0 0 3px var(--fc-focus-ring);
    outline: none;
}

.fc-template-module-option > input,
.fc-template-confirm label > input {
    height: 1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    width: 1px;
}

.fc-template-module-option__check,
.fc-template-confirm__check {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-strong);
    border-radius: var(--fc-radius-sm);
    color: transparent;
    display: flex;
    flex: 0 0 20px;
    height: 20px;
    justify-content: center;
    margin-left: auto;
    order: 3;
}

.fc-template-module-option input:checked ~ .fc-template-module-option__check,
.fc-template-confirm input:checked + .fc-template-confirm__check {
    background: var(--fc-primary);
    border-color: var(--fc-primary);
    color: #fff;
}

.fc-template-module-option__icon {
    align-items: center;
    background: var(--fc-background-secondary);
    border-radius: var(--fc-radius);
    color: var(--fc-primary);
    display: flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
}

.fc-template-module-option__content {
    display: grid;
    min-width: 0;
}

.fc-template-module-option__content strong {
    color: var(--fc-text);
    font-size: var(--fc-text-md);
    line-height: 1.3;
}

.fc-template-module-option__content small {
    color: var(--fc-primary);
    font-size: var(--fc-text-xs);
    font-weight: var(--fc-weight-semibold);
    margin-top: 2px;
}

.fc-template-module-option__content > span {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
    line-height: 1.4;
    margin-top: 5px;
}

.fc-template-metrics {
    display: grid;
    gap: var(--fc-space-3);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: var(--fc-space-4);
}

.fc-template-metrics--result {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fc-template-metric {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius-md);
    display: flex;
    gap: var(--fc-space-3);
    min-height: 74px;
    padding: var(--fc-space-3) var(--fc-space-4);
}

.fc-template-metric__icon {
    align-items: center;
    background: var(--fc-background-secondary);
    border-radius: var(--fc-radius);
    color: var(--fc-text-secondary);
    display: flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
}

.fc-template-metric > div {
    display: grid;
}

.fc-template-metric > div > span {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
}

.fc-template-metric strong {
    color: var(--fc-text);
    font-size: 24px;
    line-height: 1.2;
}

.fc-template-metric.is-new .fc-template-metric__icon { background: var(--fc-success-soft); color: var(--fc-success); }
.fc-template-metric.is-conflict .fc-template-metric__icon { background: var(--fc-warning-soft); color: var(--fc-warning-strong); }
.fc-template-metric.is-total .fc-template-metric__icon { background: var(--fc-primary-soft); color: var(--fc-primary); }

.fc-template-preview-groups {
    display: grid;
    gap: var(--fc-space-3);
}

.fc-template-group__header {
    border-bottom: 1px solid var(--fc-border-subtle);
    justify-content: space-between;
    padding: var(--fc-space-3) var(--fc-space-5);
}

.fc-template-group__header > div {
    gap: var(--fc-space-3);
    min-width: 0;
}

.fc-template-group__icon {
    align-items: center;
    background: var(--fc-primary-soft);
    border-radius: var(--fc-radius);
    color: var(--fc-primary);
    display: flex;
    flex: 0 0 36px;
    height: 36px;
    justify-content: center;
}

.fc-template-accordion__item + .fc-template-accordion__item {
    border-top: 1px solid var(--fc-border-subtle);
}

.fc-template-accordion__trigger {
    background: transparent;
    border: 0;
    color: var(--fc-text);
    justify-content: space-between;
    min-height: 44px;
    padding: 9px var(--fc-space-5);
    text-align: left;
    width: 100%;
}

.fc-template-accordion__trigger:hover {
    background: var(--fc-background-secondary);
}

.fc-template-accordion__trigger:focus-visible {
    box-shadow: inset 0 0 0 2px var(--fc-primary);
    outline: none;
}

.fc-template-accordion__trigger > span:first-child {
    align-items: center;
    display: flex;
    font-size: var(--fc-text-sm);
    font-weight: var(--fc-weight-semibold);
    gap: var(--fc-space-2);
}

.fc-template-accordion__item.is-new .fc-template-accordion__trigger > span:first-child i { color: var(--fc-success); }
.fc-template-accordion__item.is-conflicts .fc-template-accordion__trigger > span:first-child i { color: var(--fc-warning); }

.fc-template-accordion__chevron {
    color: var(--fc-text-tertiary);
    font-size: 11px;
    transition: transform var(--fc-transition);
}

.fc-template-accordion__trigger[aria-expanded="true"] .fc-template-accordion__chevron {
    transform: rotate(180deg);
}

.fc-template-accordion__content {
    background: var(--fc-background-secondary);
    border-top: 1px solid var(--fc-border-subtle);
    padding: var(--fc-space-3) var(--fc-space-5);
}

.fc-template-accordion__content ul {
    display: grid;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.fc-template-accordion__content li {
    align-items: baseline;
    display: grid;
    gap: var(--fc-space-2);
    grid-template-columns: minmax(160px, .65fr) minmax(220px, 1fr);
    padding: 7px 0;
}

.fc-template-accordion__content li + li {
    border-top: 1px solid var(--fc-border-subtle);
}

.fc-template-accordion__content li span {
    color: var(--fc-text);
    font-size: var(--fc-text-sm);
    font-weight: var(--fc-weight-medium);
}

.fc-template-accordion__content li small,
.fc-template-accordion__content p {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
    margin: 0;
}

.fc-template-confirm {
    gap: var(--fc-space-4);
    justify-content: space-between;
    margin-top: var(--fc-space-4);
    padding: var(--fc-space-4) var(--fc-space-5);
}

.fc-template-confirm__copy label {
    align-items: flex-start;
    cursor: pointer;
    display: flex;
    gap: var(--fc-space-3);
    margin: 0;
}

.fc-template-confirm__copy label:focus-within .fc-template-confirm__check {
    box-shadow: 0 0 0 3px var(--fc-focus-ring);
}

.fc-template-confirm__check {
    margin: 1px 0 0;
    order: initial;
}

.fc-template-confirm__copy label > span:last-child {
    display: grid;
}

.fc-template-confirm__copy strong {
    color: var(--fc-text);
    font-size: var(--fc-text-sm);
}

.fc-template-confirm__copy small {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
    margin-top: 2px;
}

.fc-template-result-status {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-left: 4px solid var(--fc-border-strong);
    border-radius: var(--fc-radius-md);
    display: flex;
    gap: var(--fc-space-4);
    margin-bottom: var(--fc-space-4);
    padding: var(--fc-space-4) var(--fc-space-5);
}

.fc-template-result-status__icon {
    align-items: center;
    background: var(--fc-background-secondary);
    border-radius: 50%;
    color: var(--fc-text-secondary);
    display: flex;
    flex: 0 0 42px;
    font-size: 18px;
    height: 42px;
    justify-content: center;
}

.fc-template-result-status.is-success { border-left-color: var(--fc-success); }
.fc-template-result-status.is-success .fc-template-result-status__icon { background: var(--fc-success-soft); color: var(--fc-success); }
.fc-template-result-status.is-warning { border-left-color: var(--fc-warning); }
.fc-template-result-status.is-warning .fc-template-result-status__icon { background: var(--fc-warning-soft); color: var(--fc-warning-strong); }
.fc-template-result-status.is-danger { border-left-color: var(--fc-danger); }
.fc-template-result-status.is-danger .fc-template-result-status__icon { background: var(--fc-danger-soft); color: var(--fc-danger); }

.fc-template-result-status > div > span,
.fc-template-application-summary span {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
}

.fc-template-result-status h2 {
    color: var(--fc-text);
    font-size: 20px;
    margin: 1px 0 3px;
}

.fc-template-result-status p {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-sm);
    margin: 0;
}

.fc-template-application-summary {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius-md);
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: var(--fc-space-4);
}

.fc-template-application-summary > div {
    display: grid;
    min-width: 0;
    padding: var(--fc-space-3) var(--fc-space-4);
}

.fc-template-application-summary > div + div {
    border-left: 1px solid var(--fc-border-subtle);
}

.fc-template-application-summary strong {
    color: var(--fc-text);
    font-size: var(--fc-text-sm);
    overflow-wrap: anywhere;
}

.fc-template-detail-grid {
    display: grid;
    gap: var(--fc-space-3);
    grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr);
}

.fc-template-detail-card--conflicts {
    grid-column: 1 / -1;
}

.fc-template-detail-card > header,
.fc-template-history__header {
    border-bottom: 1px solid var(--fc-border-subtle);
    display: flex;
    justify-content: space-between;
    padding: var(--fc-space-3) var(--fc-space-5);
}

.fc-template-detail-card__body {
    padding: var(--fc-space-4) var(--fc-space-5);
}

.fc-template-tracked-groups {
    display: grid;
    gap: var(--fc-space-4);
}

.fc-template-conflict-list {
    display: grid;
    gap: var(--fc-space-2);
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fc-template-conflict-list > div {
    align-items: flex-start;
    background: var(--fc-warning-soft);
    border-radius: var(--fc-radius);
    color: var(--fc-warning-strong);
    display: flex;
    gap: var(--fc-space-2);
    padding: var(--fc-space-3);
}

.fc-template-conflict-list span {
    display: grid;
}

.fc-template-conflict-list strong {
    color: var(--fc-text);
    font-size: var(--fc-text-sm);
}

.fc-template-conflict-list small {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
}

.fc-template-empty-copy {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-sm);
    margin: 0;
}

.fc-template-result-actions {
    margin-top: var(--fc-space-4);
}

.fc-template-safety-note {
    align-items: center;
    color: var(--fc-text-secondary);
    display: flex;
    font-size: var(--fc-text-xs);
    gap: var(--fc-space-2);
    margin: var(--fc-space-4) 0 0;
}

.fc-template-history__header {
    align-items: center;
}

.fc-template-table-wrap {
    max-width: 100%;
}

.fc-template-table {
    min-width: 1080px;
}

.fc-template-table th,
.fc-template-table td {
    vertical-align: middle;
}

.fc-template-table__title {
    color: var(--fc-text);
    display: block;
    min-width: 150px;
}

.fc-template-table__mobile-meta {
    color: var(--fc-text-secondary);
    display: none;
    font-size: var(--fc-text-xs);
}

.fc-template-modules--table {
    flex-wrap: nowrap;
    min-width: 220px;
}

.fc-template-history__pagination {
    border-top: 1px solid var(--fc-border-subtle);
    padding: var(--fc-space-3) var(--fc-space-5);
}

[data-theme="dark"] .fc-template-notice,
[data-theme="dark"] .fc-template-module-option:has(input:checked) {
    background: color-mix(in srgb, var(--fc-primary) 16%, var(--fc-surface));
}

[data-theme="dark"] .fc-template-notice__icon,
[data-theme="dark"] .fc-template-module-option__check,
[data-theme="dark"] .fc-template-confirm__check {
    background: var(--fc-background-secondary);
}

[data-theme="dark"] .fc-template-module-option input:checked ~ .fc-template-module-option__check,
[data-theme="dark"] .fc-template-confirm input:checked + .fc-template-confirm__check {
    background: var(--fc-primary);
}

@media (max-width: 1199.98px) {
    .fc-template-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .fc-template-module-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-template-application-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-template-application-summary > div:nth-child(3) {
        border-left: 0;
        border-top: 1px solid var(--fc-border-subtle);
    }

    .fc-template-application-summary > div:nth-child(4) {
        border-top: 1px solid var(--fc-border-subtle);
    }

    .fc-template-detail-grid {
        grid-template-columns: 1fr;
    }

    .fc-template-detail-card--conflicts {
        grid-column: auto;
    }
}

@media (max-width: 767.98px) {
    .fc-template-page .fc-page-title {
        font-size: 24px;
    }

    .fc-template-page .fc-page-header__actions,
    .fc-template-header-actions,
    .fc-template-page .fc-page-header__actions .btn {
        width: 100%;
    }

    .fc-template-header-actions .fc-template-version {
        margin-right: auto;
    }

    .fc-template-grid,
    .fc-template-module-options {
        grid-template-columns: 1fr;
    }

    .fc-template-selector__heading,
    .fc-template-confirm {
        align-items: stretch;
        flex-direction: column;
    }

    .fc-template-selector__heading .btn,
    .fc-template-confirm__actions,
    .fc-template-confirm__actions .btn,
    .fc-template-result-actions,
    .fc-template-result-actions .btn {
        width: 100%;
    }

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

    .fc-template-accordion__content li {
        gap: 2px;
        grid-template-columns: 1fr;
    }

    .fc-template-conflict-list {
        grid-template-columns: 1fr;
    }

    .fc-template-table-col--secondary {
        display: none;
    }

    .fc-template-table__mobile-meta {
        display: block;
    }

    .fc-template-table {
        min-width: 820px;
    }
}

@media (max-width: 420px) {
    .fc-template-notice,
    .fc-template-result-status {
        padding: var(--fc-space-3);
    }

    .fc-template-card .card-body,
    .fc-template-selector .card-body,
    .fc-template-group__header,
    .fc-template-confirm,
    .fc-template-detail-card__body {
        padding-left: var(--fc-space-4);
        padding-right: var(--fc-space-4);
    }

    .fc-template-metrics,
    .fc-template-metrics--result,
    .fc-template-application-summary {
        grid-template-columns: 1fr;
    }

    .fc-template-application-summary > div + div {
        border-left: 0;
        border-top: 1px solid var(--fc-border-subtle);
    }

    .fc-template-card__footer .btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fc-template-card,
    .fc-template-module-option,
    .fc-template-accordion__chevron {
        transition: none;
    }

    .fc-template-card:hover {
        transform: none;
    }
}

/* Bank reconciliation workspace */
.fc-reconciliation-page .fc-page-title { font-size: 26px; }
.fc-reconciliation-header-actions,
.fc-reconciliation-context,
.fc-reconciliation-metrics,
.fc-reconciliation-filters header,
.fc-reconciliation-filters header > div,
.fc-reconciliation-filter-actions,
.fc-reconciliation-bulk,
.fc-reconciliation-bulk > div,
.fc-reconciliation-queue__header,
.fc-reconciliation-sort,
.fc-reconciliation-row,
.fc-reconciliation-row__main,
.fc-reconciliation-row__meta,
.fc-reconciliation-signal,
.fc-reconciliation-panel__header,
.fc-reconciliation-panel-section > header,
.fc-reconciliation-suggestion > header,
.fc-reconciliation-suggestion__actions,
.fc-reconciliation-reasons,
.fc-reconciliation-ignore,
.fc-reconciliation-restore,
.fc-reconciliation-history > header,
.fc-reconciliation-shortcuts {
    align-items: center;
    display: flex;
}

.fc-reconciliation-header-actions,
.fc-reconciliation-filter-actions,
.fc-reconciliation-row__meta,
.fc-reconciliation-suggestion__actions,
.fc-reconciliation-reasons {
    flex-wrap: wrap;
    gap: var(--fc-space-2);
}

.fc-reconciliation-context {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius-md);
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-bottom: var(--fc-space-3);
}

.fc-reconciliation-context > div {
    display: grid;
    min-width: 0;
    padding: 10px var(--fc-space-4);
}

.fc-reconciliation-context > div + div { border-left: 1px solid var(--fc-border-subtle); }
.fc-reconciliation-context span,
.fc-reconciliation-detail-grid dt,
.fc-reconciliation-suggestion__facts small {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
    font-weight: var(--fc-weight-medium);
}
.fc-reconciliation-context strong { color: var(--fc-text); font-size: var(--fc-text-sm); }

.fc-reconciliation-metrics {
    display: grid;
    gap: var(--fc-space-2);
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin-bottom: var(--fc-space-3);
}

.fc-reconciliation-metric {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius);
    color: var(--fc-text-secondary);
    display: grid;
    gap: 1px 9px;
    grid-template-columns: 30px minmax(0, 1fr);
    min-height: 56px;
    padding: 9px 11px;
    text-decoration: none;
}

.fc-reconciliation-metric > i {
    align-items: center;
    background: var(--fc-background-secondary);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-primary);
    display: flex;
    grid-row: 1 / 3;
    height: 30px;
    justify-content: center;
    width: 30px;
}

.fc-reconciliation-metric span { font-size: 11px; grid-column: 2; line-height: 1.2; }
.fc-reconciliation-metric strong {
    color: var(--fc-text);
    font-size: 21px;
    grid-column: 2;
    grid-row: 1;
    line-height: 1;
}
.fc-reconciliation-metric:hover,
.fc-reconciliation-metric.is-active {
    background: var(--fc-primary-soft);
    border-color: var(--fc-primary);
    color: var(--fc-primary);
}

.fc-reconciliation-filters {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius-md);
    margin-bottom: var(--fc-space-3);
}

.fc-reconciliation-filters header {
    border-bottom: 1px solid var(--fc-border-subtle);
    justify-content: space-between;
    min-height: 42px;
    padding: 8px var(--fc-space-4);
}
.fc-reconciliation-filters header > div { gap: var(--fc-space-2); }
.fc-reconciliation-filters header h2,
.fc-reconciliation-queue__header h2,
.fc-reconciliation-panel__header h2,
.fc-reconciliation-panel-section h3,
.fc-reconciliation-history h2 {
    color: var(--fc-text);
    font-size: var(--fc-title-card);
    font-weight: var(--fc-weight-semibold);
    margin: 0;
}
.fc-reconciliation-filters header > div > span,
.fc-reconciliation-history > header > span {
    background: var(--fc-primary-soft);
    border-radius: 999px;
    color: var(--fc-primary);
    font-size: 11px;
    font-weight: var(--fc-weight-semibold);
    padding: 4px 8px;
}
.fc-reconciliation-filters header > a { color: var(--fc-primary); font-size: var(--fc-text-xs); font-weight: var(--fc-weight-semibold); }
.fc-reconciliation-filters form {
    display: grid;
    gap: var(--fc-space-3);
    padding: var(--fc-space-3) var(--fc-space-4);
}
.fc-reconciliation-filter-grid {
    display: grid;
    gap: 10px;
}
.fc-reconciliation-filter-grid--primary {
    grid-template-columns: minmax(280px, 2.2fr) minmax(180px, 1.3fr) repeat(3, minmax(130px, 1fr));
}
.fc-reconciliation-filter-grid--period {
    grid-template-columns: minmax(170px, 1.25fr) repeat(2, minmax(150px, 1fr)) repeat(2, minmax(145px, 1fr)) auto;
}
.fc-reconciliation-filter-grid > label,
.fc-reconciliation-manual-search label,
.fc-reconciliation-manual-form > label {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.fc-reconciliation-filter-grid > label > span,
.fc-reconciliation-manual-search label > span,
.fc-reconciliation-manual-form > label > span {
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-weight: var(--fc-weight-semibold);
}
.fc-reconciliation-filter-grid .form-control,
.fc-reconciliation-filter-grid .form-select {
    height: 36px;
    min-width: 0;
}
.fc-reconciliation-filter-grid .form-control:disabled {
    background: var(--fc-background-secondary);
    color: var(--fc-text-secondary);
    cursor: not-allowed;
    opacity: .78;
}
.fc-reconciliation-filter-actions {
    align-self: end;
    flex-wrap: nowrap;
    justify-content: flex-end;
    min-width: max-content;
}
.fc-reconciliation-filter-actions .btn {
    min-height: 36px;
    white-space: nowrap;
}
.fc-reconciliation-filter-errors {
    display: grid;
    font-size: var(--fc-text-xs);
    gap: 3px;
    margin: 0;
    padding: 9px 12px;
}
.fc-reconciliation-active-filters {
    align-items: center;
    border-top: 1px solid var(--fc-border-subtle);
    display: flex;
    flex-wrap: wrap;
    gap: var(--fc-space-2);
    padding: 9px var(--fc-space-4);
}
.fc-reconciliation-active-filters__count {
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-weight: var(--fc-weight-medium);
    white-space: nowrap;
}
.fc-reconciliation-active-filters > div {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    gap: 6px;
}
.fc-reconciliation-filter-chip {
    align-items: center;
    background: var(--fc-primary-soft);
    border: 1px solid color-mix(in srgb, var(--fc-primary) 24%, transparent);
    border-radius: 999px;
    color: var(--fc-primary);
    display: inline-flex;
    font-size: 10px;
    gap: 6px;
    max-width: 100%;
    padding: 4px 8px;
    text-decoration: none;
}
.fc-reconciliation-filter-chip span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fc-reconciliation-filter-chip:hover {
    border-color: var(--fc-primary);
    color: var(--fc-primary);
}
.fc-reconciliation-clear-all {
    color: var(--fc-primary);
    font-size: 11px;
    font-weight: var(--fc-weight-semibold);
    white-space: nowrap;
}

.fc-reconciliation-bulk {
    background: var(--fc-background-secondary);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    justify-content: space-between;
    margin-bottom: var(--fc-space-3);
    min-height: 42px;
    padding: 5px var(--fc-space-3);
}
.fc-reconciliation-bulk > div { gap: var(--fc-space-2); }
.fc-reconciliation-bulk label { align-items: center; display: flex; font-size: var(--fc-text-sm); gap: 7px; margin: 0; }
.fc-reconciliation-bulk__count {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: 999px;
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    padding: 3px 8px;
}
.fc-reconciliation-bulk [data-bulk-submit] { min-height: 32px; padding-block: 4px; }
.fc-reconciliation-bulk [data-bulk-submit]:disabled {
    background: transparent;
    border-color: var(--fc-border);
    color: var(--fc-text-secondary);
    opacity: .58;
}

.fc-reconciliation-workspace {
    align-items: start;
    display: grid;
    gap: var(--fc-space-3);
    grid-template-columns: minmax(0, 1.85fr) minmax(340px, 1fr);
    margin-bottom: var(--fc-space-4);
}
.fc-reconciliation-queue,
.fc-reconciliation-panel { min-width: 0; overflow: hidden; }
.fc-reconciliation-queue__header {
    border-bottom: 1px solid var(--fc-border-subtle);
    justify-content: space-between;
    min-height: 48px;
    padding: 9px var(--fc-space-4);
}
.fc-reconciliation-queue__header > div:first-child { display: grid; }
.fc-reconciliation-queue__header > div:first-child span,
.fc-reconciliation-sort > span {
    color: var(--fc-text-secondary);
    font-size: 11px;
}
.fc-reconciliation-sort { gap: 5px; }
.fc-reconciliation-sort a {
    border-radius: 999px;
    color: var(--fc-text-secondary);
    font-size: 11px;
    padding: 4px 7px;
    text-decoration: none;
}
.fc-reconciliation-sort a:hover,
.fc-reconciliation-sort a.is-active { background: var(--fc-primary-soft); color: var(--fc-primary); }

.fc-reconciliation-list { display: grid; }
.fc-reconciliation-row {
    align-items: center;
    border-bottom: 1px solid var(--fc-border-subtle);
    display: grid;
    gap: var(--fc-space-2);
    grid-template-columns: 18px minmax(0, 1fr) minmax(142px, 172px);
    min-width: 0;
    padding: 10px var(--fc-space-3);
    position: relative;
}
.fc-reconciliation-row:hover { background: var(--fc-background-secondary); }
.fc-reconciliation-row.is-selected { background: var(--fc-primary-soft); box-shadow: inset 3px 0 0 var(--fc-primary); }
.fc-reconciliation-row:focus-within {
    box-shadow: inset 0 0 0 2px var(--fc-primary);
    z-index: 1;
}
.fc-reconciliation-row.is-selected:focus-within {
    box-shadow: inset 3px 0 0 var(--fc-primary), inset 0 0 0 2px var(--fc-primary);
}
.fc-reconciliation-row__select { flex: 0 0 18px; margin: 0; }
.fc-reconciliation-row__select input { height: 16px; width: 16px; }
.fc-reconciliation-row__select-placeholder { flex: 0 0 18px; }
.fc-reconciliation-row__main {
    color: inherit;
    display: grid;
    flex: 1 1 auto;
    gap: var(--fc-space-2);
    grid-template-columns: 42px minmax(110px, 1fr) 70px 108px;
    min-width: 0;
    text-decoration: none;
}
.fc-reconciliation-row__date {
    color: var(--fc-text);
    display: grid;
    font-size: var(--fc-text-sm);
    font-weight: var(--fc-weight-semibold);
    line-height: 1.05;
}
.fc-reconciliation-row__date small,
.fc-reconciliation-row__value small {
    color: var(--fc-text-secondary);
    display: none;
    font-size: 9px;
    font-weight: var(--fc-weight-medium);
    line-height: 1;
    text-transform: uppercase;
}
.fc-reconciliation-row__date > span { color: var(--fc-text-secondary); font-size: 10px; font-weight: 400; }
.fc-reconciliation-row__description { display: grid; min-width: 0; }
.fc-reconciliation-row__description strong {
    color: var(--fc-text);
    font-size: var(--fc-text-sm);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fc-reconciliation-row__description small { color: var(--fc-text-secondary); font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fc-reconciliation-row__type {
    align-items: center;
    color: var(--fc-text-secondary);
    display: flex;
    font-size: 10px;
    font-weight: var(--fc-weight-semibold);
    gap: 4px;
}
.fc-reconciliation-row__type.is-in i { color: var(--fc-success); }
.fc-reconciliation-row__type.is-out i { color: var(--fc-danger); }
.fc-reconciliation-row__value { display: grid; justify-items: end; min-width: 0; }
.fc-reconciliation-row__amount {
    color: var(--fc-text);
    font-size: var(--fc-text-sm);
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}
.fc-reconciliation-row__meta {
    align-items: stretch;
    display: grid;
    gap: 6px;
    justify-items: end;
    min-width: 0;
}
.fc-reconciliation-row__signals {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    justify-content: flex-end;
    min-width: 0;
}
.fc-reconciliation-row__signals .fc-status-badge {
    font-size: 9px;
    line-height: 1.2;
    padding: 3px 6px;
}
.fc-reconciliation-signal {
    background: var(--fc-background-secondary);
    border-radius: 999px;
    color: var(--fc-text-secondary);
    font-size: 10px;
    gap: 4px;
    line-height: 1.2;
    padding: 3px 6px;
}
.fc-reconciliation-signal.is-suggestion { background: var(--fc-success-soft); color: var(--fc-success); }
.fc-reconciliation-signal.is-divergent { background: var(--fc-warning-soft); color: var(--fc-warning-strong); }
.fc-reconciliation-row__review {
    align-items: center;
    display: inline-flex;
    font-size: 10px;
    gap: 5px;
    justify-content: center;
    min-height: 27px;
    padding: 3px 8px;
}
.fc-reconciliation-row__review i { font-size: 8px; }
.fc-reconciliation-pagination {
    align-items: center;
    display: flex;
    gap: var(--fc-space-2);
    justify-content: space-between;
    padding: var(--fc-space-3) var(--fc-space-4);
}
.fc-reconciliation-pagination a,
.fc-reconciliation-pagination > span {
    align-items: center;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-primary);
    display: inline-flex;
    font-size: 11px;
    gap: 5px;
    min-height: 30px;
    padding: 4px 8px;
    text-decoration: none;
}
.fc-reconciliation-pagination a:hover { background: var(--fc-primary-soft); border-color: var(--fc-primary); }
.fc-reconciliation-pagination > span.is-disabled { color: var(--fc-text-secondary); opacity: .55; }
.fc-reconciliation-pagination strong {
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-weight: var(--fc-weight-medium);
}

.fc-reconciliation-panel { position: sticky; top: calc(var(--fc-topbar-height) + var(--fc-space-3)); }
.fc-reconciliation-panel__header {
    border-bottom: 1px solid var(--fc-border-subtle);
    justify-content: space-between;
    padding: var(--fc-space-3) var(--fc-space-4);
}
.fc-reconciliation-panel__header > div { display: grid; min-width: 0; }
.fc-reconciliation-panel__header > div > span { color: var(--fc-primary); font-size: 10px; font-weight: var(--fc-weight-semibold); text-transform: uppercase; }
.fc-reconciliation-panel__header h2 {
    display: -webkit-box;
    line-height: 1.3;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.fc-reconciliation-panel__close {
    align-items: center;
    border-radius: 50%;
    color: var(--fc-text-secondary);
    display: flex;
    flex: 0 0 30px;
    height: 30px;
    justify-content: center;
}
.fc-reconciliation-panel__close:hover { background: var(--fc-background-secondary); color: var(--fc-text); }
.fc-reconciliation-panel__body { max-height: calc(100vh - 160px); overflow-y: auto; padding: var(--fc-space-4); }
.fc-reconciliation-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: 0 0 var(--fc-space-3);
}
.fc-reconciliation-detail-grid > div { border-bottom: 1px solid var(--fc-border-subtle); display: grid; padding: 8px; }
.fc-reconciliation-detail-grid dd { color: var(--fc-text); font-size: var(--fc-text-sm); margin: 1px 0 0; overflow-wrap: anywhere; }
.fc-reconciliation-detail-grid__amount dd {
    color: var(--fc-primary);
    font-size: var(--fc-title-card);
    font-variant-numeric: tabular-nums;
    font-weight: var(--fc-weight-semibold);
}
.fc-reconciliation-detail-grid__account { grid-column: 1 / -1; }
.fc-reconciliation-detail-movement {
    align-items: center;
    display: flex;
    gap: 5px;
}
.fc-reconciliation-detail-movement.is-in i { color: var(--fc-success); }
.fc-reconciliation-detail-movement.is-out i { color: var(--fc-danger); }

.fc-reconciliation-divergences {
    background: var(--fc-warning-soft);
    border-radius: var(--fc-radius);
    margin-bottom: var(--fc-space-3);
    padding: var(--fc-space-3);
}
.fc-reconciliation-divergences h3 { color: var(--fc-warning-strong); font-size: var(--fc-text-sm); margin: 0 0 7px; }
.fc-reconciliation-divergences > div,
.fc-reconciliation-reasons { display: flex; flex-wrap: wrap; gap: 5px; }
.fc-reconciliation-divergences span,
.fc-reconciliation-reasons span {
    align-items: center;
    color: var(--fc-text-secondary);
    display: inline-flex;
    font-size: 10px;
    gap: 4px;
}
.fc-reconciliation-divergences span { color: var(--fc-warning-strong); }

.fc-reconciliation-panel-section + .fc-reconciliation-panel-section { border-top: 1px solid var(--fc-border-subtle); margin-top: var(--fc-space-4); padding-top: var(--fc-space-4); }
.fc-reconciliation-panel-section > header { justify-content: space-between; margin-bottom: var(--fc-space-3); }
.fc-reconciliation-panel-section > header p { color: var(--fc-text-secondary); font-size: 11px; margin: 2px 0 0; }
.fc-reconciliation-panel-section > header > span { background: var(--fc-primary-soft); border-radius: 999px; color: var(--fc-primary); font-size: 11px; padding: 4px 8px; }
.fc-reconciliation-suggestions { display: grid; gap: var(--fc-space-2); }
.fc-reconciliation-suggestion { border: 1px solid var(--fc-border); border-radius: var(--fc-radius); padding: var(--fc-space-3); }
.fc-reconciliation-suggestion > header { justify-content: space-between; }
.fc-reconciliation-suggestion > header > div { display: grid; }
.fc-reconciliation-suggestion > header strong { color: var(--fc-text); font-size: var(--fc-text-sm); }
.fc-reconciliation-suggestion > header small { color: var(--fc-text-secondary); font-size: 10px; }
.fc-reconciliation-suggestion > header > span { background: var(--fc-success-soft); border-radius: 999px; color: var(--fc-success); font-size: 11px; font-weight: var(--fc-weight-semibold); padding: 4px 7px; }
.fc-reconciliation-suggestion__facts {
    background: var(--fc-background-secondary);
    border-radius: var(--fc-radius-sm);
    display: grid;
    gap: 6px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: var(--fc-space-2) 0;
    padding: var(--fc-space-2);
}
.fc-reconciliation-suggestion__facts > span { color: var(--fc-text); display: grid; font-size: 11px; min-width: 0; overflow-wrap: anywhere; }
.fc-reconciliation-reasons { margin-bottom: var(--fc-space-2); }
.fc-reconciliation-reasons span { background: var(--fc-success-soft); border-radius: 999px; color: var(--fc-success); padding: 3px 6px; }
.fc-reconciliation-reasons span.is-warning { background: var(--fc-warning-soft); color: var(--fc-warning-strong); }
.fc-reconciliation-suggestion__actions { justify-content: flex-end; }
.fc-reconciliation-suggestion__actions form { align-items: center; display: flex; flex-wrap: wrap; gap: 7px; }
.fc-reconciliation-suggestion__actions form label { color: var(--fc-warning-strong); font-size: 10px; margin: 0; }

.fc-reconciliation-panel-empty {
    align-items: center;
    background: var(--fc-background-secondary);
    border-radius: var(--fc-radius);
    color: var(--fc-text-secondary);
    display: flex;
    gap: var(--fc-space-2);
    padding: var(--fc-space-3);
}
.fc-reconciliation-panel-empty p { font-size: var(--fc-text-xs); margin: 0; }
.fc-reconciliation-panel-empty.is-large { flex-direction: column; justify-content: center; min-height: 320px; text-align: center; }
.fc-reconciliation-panel-empty.is-large i { color: var(--fc-primary); font-size: 28px; }
.fc-reconciliation-panel-empty.is-large h2 { color: var(--fc-text); font-size: var(--fc-title-section); margin: var(--fc-space-2) 0 0; }

.fc-reconciliation-manual-search {
    align-items: end;
    display: grid;
    gap: var(--fc-space-2);
    grid-template-columns: minmax(0, 1fr) 120px auto;
    margin-bottom: var(--fc-space-3);
}
.fc-reconciliation-manual-form { display: grid; gap: var(--fc-space-2); }
.fc-reconciliation-comparison {
    background: var(--fc-background-secondary);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-text-secondary);
    display: flex;
    flex-wrap: wrap;
    font-size: 11px;
    gap: var(--fc-space-3);
    padding: var(--fc-space-2);
}
.fc-reconciliation-confirm-difference { color: var(--fc-warning-strong); font-size: var(--fc-text-xs); }
.fc-reconciliation-ignore,
.fc-reconciliation-restore { border-top: 1px solid var(--fc-border-subtle); justify-content: flex-end; margin-top: var(--fc-space-4); padding-top: var(--fc-space-3); }
.fc-reconciliation-matched-detail {
    background: var(--fc-success-soft);
    border-radius: var(--fc-radius);
    display: grid;
    margin-bottom: var(--fc-space-3);
    padding: var(--fc-space-3);
}
.fc-reconciliation-matched-detail strong { color: var(--fc-text); font-size: var(--fc-text-sm); }
.fc-reconciliation-matched-detail span { color: var(--fc-success); font-size: var(--fc-text-sm); }

.fc-reconciliation-history { margin-bottom: var(--fc-space-3); overflow: hidden; }
.fc-reconciliation-history > header { border-bottom: 1px solid var(--fc-border-subtle); justify-content: space-between; padding: var(--fc-space-3) var(--fc-space-4); }
.fc-reconciliation-history > header p { color: var(--fc-text-secondary); font-size: var(--fc-text-xs); margin: 2px 0 0; }
.fc-reconciliation-history table { min-width: 980px; }
.fc-reconciliation-shortcuts { color: var(--fc-text-secondary); font-size: 11px; gap: var(--fc-space-2); justify-content: flex-end; }
.fc-reconciliation-shortcuts kbd { background: var(--fc-background-secondary); border: 1px solid var(--fc-border); color: var(--fc-text); font-size: 10px; margin: 0 2px; }

[data-theme="dark"] .fc-reconciliation-row.is-selected,
[data-theme="dark"] .fc-reconciliation-metric.is-active {
    background: color-mix(in srgb, var(--fc-primary) 16%, var(--fc-surface));
}

@media (max-width: 1199.98px) {
    .fc-reconciliation-filter-grid--primary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fc-reconciliation-filter-search { grid-column: span 2; }
    .fc-reconciliation-filter-grid--period { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fc-reconciliation-filter-actions { grid-column: span 2; }
    .fc-reconciliation-workspace { grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1fr); }
    .fc-reconciliation-row__main { grid-template-columns: 38px minmax(100px, 1fr) 100px; }
    .fc-reconciliation-row__type { display: none; }
    .fc-reconciliation-row { grid-template-columns: 18px minmax(0, 1fr) minmax(130px, 152px); }
}

@media (max-width: 991.98px) {
    .fc-reconciliation-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .fc-reconciliation-filter-grid--primary,
    .fc-reconciliation-filter-grid--period { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fc-reconciliation-filter-search { grid-column: 1 / -1; }
    .fc-reconciliation-workspace { grid-template-columns: 1fr; }
    .fc-reconciliation-panel { position: static; }
    .fc-reconciliation-panel__body { max-height: none; }
}

@media (max-width: 767.98px) {
    .fc-reconciliation-page .fc-page-title { font-size: 23px; }
    .fc-reconciliation-header-actions,
    .fc-reconciliation-header-actions .btn { width: 100%; }
    .fc-reconciliation-context { grid-template-columns: 1fr; }
    .fc-reconciliation-context > div + div { border-left: 0; border-top: 1px solid var(--fc-border-subtle); }
    .fc-reconciliation-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fc-reconciliation-metric:last-child { grid-column: 1 / -1; }
    .fc-reconciliation-filter-grid--primary,
    .fc-reconciliation-filter-grid--period { grid-template-columns: 1fr; }
    .fc-reconciliation-filter-search,
    .fc-reconciliation-filter-actions { grid-column: auto; }
    .fc-reconciliation-filter-actions,
    .fc-reconciliation-filter-actions .btn { width: 100%; }
    .fc-reconciliation-active-filters { align-items: flex-start; }
    .fc-reconciliation-active-filters > div { flex-basis: 100%; }
    .fc-reconciliation-bulk { align-items: stretch; flex-direction: column; gap: var(--fc-space-2); }
    .fc-reconciliation-bulk [data-bulk-submit] { width: 100%; }
    .fc-reconciliation-queue__header { align-items: flex-start; flex-direction: column; gap: var(--fc-space-2); }
    .fc-reconciliation-sort { flex-wrap: wrap; }
    .fc-reconciliation-row {
        align-items: start;
        grid-template-columns: 18px minmax(0, 1fr);
        padding-block: var(--fc-space-3);
    }
    .fc-reconciliation-row__main {
        align-items: start;
        grid-template-columns: 34px minmax(0, 1fr) auto;
        row-gap: 7px;
    }
    .fc-reconciliation-row__date { grid-column: 1; grid-row: 1 / 3; }
    .fc-reconciliation-row__date small,
    .fc-reconciliation-row__value small { display: block; }
    .fc-reconciliation-row__description { grid-column: 2 / 4; }
    .fc-reconciliation-row__description strong { white-space: normal; }
    .fc-reconciliation-row__type {
        display: flex;
        grid-column: 2;
        grid-row: 2;
    }
    .fc-reconciliation-row__value {
        align-self: center;
        grid-column: 3;
        grid-row: 2;
    }
    .fc-reconciliation-row__amount { text-align: right; }
    .fc-reconciliation-row__meta {
        align-items: center;
        display: flex;
        grid-column: 2;
        justify-content: space-between;
        width: 100%;
    }
    .fc-reconciliation-row__signals { justify-content: flex-start; }
    .fc-reconciliation-detail-grid,
    .fc-reconciliation-suggestion__facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .fc-reconciliation-manual-search { grid-template-columns: 1fr; }
    .fc-reconciliation-shortcuts { display: none; }
}

@media (max-width: 420px) {
    .fc-reconciliation-filter-grid,
    .fc-reconciliation-suggestion__facts { grid-template-columns: 1fr; }
    .fc-reconciliation-filter-search,
    .fc-reconciliation-filter-actions { grid-column: auto; }
    .fc-reconciliation-filter-actions,
    .fc-reconciliation-filter-actions .btn,
    .fc-reconciliation-suggestion__actions,
    .fc-reconciliation-suggestion__actions .btn,
    .fc-reconciliation-suggestion__actions form,
    .fc-reconciliation-manual-form .btn,
    .fc-reconciliation-ignore .btn,
    .fc-reconciliation-restore .btn { width: 100%; }
    .fc-reconciliation-row__main { grid-template-columns: 30px minmax(0, 1fr) auto; }
    .fc-reconciliation-row__meta { align-items: flex-end; }
    .fc-reconciliation-row__signals { align-items: flex-start; flex-direction: column; }
    .fc-reconciliation-row__review span { display: none; }
    .fc-reconciliation-row__review {
        height: 30px;
        min-width: 30px;
        padding: 4px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fc-reconciliation-metric,
    .fc-reconciliation-row,
    .fc-reconciliation-panel__close { transition: none; }
}

@media (prefers-reduced-motion: reduce) {
    .fc-app *,
    .fc-guided-onboarding *,
    .fc-app *::before,
    .fc-app *::after,
    .fc-guided-onboarding *::before,
    .fc-guided-onboarding *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* Registration imports extend the shared card, button, form and table primitives. */
.fc-import-steps {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-lg);
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    list-style: none;
    margin: 0 0 var(--fc-space-4);
    padding: var(--fc-space-2);
}

.fc-import-steps li {
    align-items: center;
    color: var(--fc-text-secondary);
    display: flex;
    font-size: var(--fc-text-sm);
    gap: var(--fc-space-2);
    min-height: 44px;
    padding: var(--fc-space-2) var(--fc-space-3);
}

.fc-import-steps li span {
    align-items: center;
    background: var(--fc-background-secondary);
    border-radius: 50%;
    display: inline-flex;
    flex: 0 0 28px;
    font-size: 12px;
    height: 28px;
    justify-content: center;
}

.fc-import-steps .is-current {
    background: var(--fc-primary-soft);
    border-radius: var(--fc-radius);
    color: var(--fc-primary);
}

.fc-import-steps .is-current span {
    background: var(--fc-primary);
    color: #fff;
}

.fc-import-steps .is-complete {
    color: var(--fc-success);
}

.fc-import-steps .is-complete span {
    background: var(--fc-success-soft);
}

.fc-import-panel {
    margin-inline: auto;
    max-width: 1040px;
}

.fc-import-entity-grid {
    display: grid;
    gap: var(--fc-space-3);
    grid-template-columns: repeat(4, 1fr);
}

.fc-import-choice {
    cursor: pointer;
    margin: 0;
}

.fc-import-choice input {
    height: 1px;
    opacity: 0;
    position: absolute;
    width: 1px;
}

.fc-import-choice span {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    display: grid;
    gap: 5px;
    min-height: 116px;
    padding: var(--fc-space-4);
    transition: border-color var(--fc-transition), box-shadow var(--fc-transition);
}

.fc-import-choice i {
    color: var(--fc-primary);
}

.fc-import-choice small,
.fc-import-confirm span {
    color: var(--fc-text-secondary);
}

.fc-import-choice input:checked + span {
    border-color: var(--fc-primary);
    box-shadow: 0 0 0 3px var(--fc-primary-soft);
}

.fc-import-choice input:focus-visible + span {
    outline: 3px solid var(--fc-focus-ring);
    outline-offset: 2px;
}

.fc-import-template-list {
    display: flex;
    flex-wrap: wrap;
    gap: var(--fc-space-2);
    margin-top: var(--fc-space-4);
}

.fc-import-dropzone {
    background: var(--fc-background-secondary);
    border: 1px dashed var(--fc-border-strong);
    border-radius: var(--fc-radius-md);
    margin-top: var(--fc-space-4);
    padding: var(--fc-space-5);
}

.fc-import-dropzone label {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: var(--fc-space-2);
    margin-bottom: var(--fc-space-3);
    text-align: center;
}

.fc-import-dropzone label i {
    color: var(--fc-primary);
    font-size: 28px;
}

.fc-import-dropzone label span {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-sm);
}

.fc-import-dropzone input {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    padding: var(--fc-space-2);
    width: 100%;
}

.fc-import-actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: var(--fc-space-2);
    justify-content: flex-end;
}

.fc-import-notice {
    align-items: center;
    background: var(--fc-primary-soft);
    border-radius: var(--fc-radius);
    color: var(--fc-primary);
    display: flex;
    gap: var(--fc-space-2);
    margin-bottom: var(--fc-space-4);
    padding: var(--fc-space-3);
}

.fc-import-mapping {
    display: grid;
    gap: var(--fc-space-2);
}

.fc-import-mapping-row {
    align-items: center;
    border-bottom: 1px solid var(--fc-border-subtle);
    display: grid;
    gap: var(--fc-space-4);
    grid-template-columns: minmax(160px, 1fr) 20px minmax(220px, 1fr);
    padding: var(--fc-space-2) 0;
}

.fc-import-mapping-row div {
    display: grid;
}

.fc-import-mapping-row small {
    color: var(--fc-text-secondary);
}

.fc-import-mapping-row > i {
    color: var(--fc-text-tertiary);
}

.fc-import-mode {
    border: 0;
    display: grid;
    gap: var(--fc-space-2);
    margin: var(--fc-space-5) 0 0;
    padding: 0;
}

.fc-import-mode legend {
    font-size: var(--fc-text-lg);
    font-weight: var(--fc-weight-semibold);
}

.fc-import-mode label {
    align-items: flex-start;
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius);
    display: flex;
    gap: var(--fc-space-2);
    padding: var(--fc-space-3);
}

.fc-import-mode label span {
    display: grid;
}

.fc-import-mode small {
    color: var(--fc-text-secondary);
}

.fc-import-summary {
    display: grid;
    gap: var(--fc-space-3);
    grid-template-columns: repeat(6, 1fr);
    margin-bottom: var(--fc-space-4);
}

.fc-import-metric {
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-left: 3px solid var(--fc-border-strong);
    border-radius: var(--fc-radius);
    display: grid;
    padding: var(--fc-space-3);
}

.fc-import-metric span {
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-sm);
}

.fc-import-metric strong {
    font-size: 24px;
}

.fc-import-metric--primary { border-left-color: var(--fc-primary); }
.fc-import-metric--success { border-left-color: var(--fc-success); }
.fc-import-metric--danger { border-left-color: var(--fc-danger); }
.fc-import-metric--warning { border-left-color: var(--fc-warning); }
.fc-import-metric--info { border-left-color: var(--fc-info); }

.fc-import-preview-table {
    max-height: 520px;
}

.fc-import-preview-table th {
    position: sticky;
    top: 0;
    z-index: 1;
}

.fc-import-confirm {
    align-items: center;
    background: var(--fc-surface);
    border: 1px solid var(--fc-border);
    border-radius: var(--fc-radius-lg);
    display: flex;
    gap: var(--fc-space-3);
    justify-content: flex-end;
    margin-top: var(--fc-space-4);
    padding: var(--fc-space-4);
}

.fc-import-confirm > div {
    display: grid;
    margin-right: auto;
}

.fc-import-result .card-body {
    align-items: center;
    display: flex;
    gap: var(--fc-space-4);
}

.fc-import-result__icon {
    align-items: center;
    background: var(--fc-success-soft);
    border-radius: 50%;
    color: var(--fc-success);
    display: flex;
    flex: 0 0 52px;
    font-size: 24px;
    height: 52px;
    justify-content: center;
}

.fc-import-status {
    background: var(--fc-background-secondary);
    border-radius: 999px;
    color: var(--fc-text-secondary);
    display: inline-flex;
    font-size: 11px;
    font-weight: var(--fc-weight-semibold);
    padding: 4px 8px;
    text-transform: capitalize;
}

.fc-import-status--completed { background: var(--fc-success-soft); color: var(--fc-success); }
.fc-import-status--completed_with_errors { background: var(--fc-warning-soft); color: var(--fc-warning-strong); }
.fc-import-status--failed { background: var(--fc-danger-soft); color: var(--fc-danger); }
.fc-import-status--processing { background: var(--fc-primary-soft); color: var(--fc-primary); }

@media (max-width: 1024px) {
    .fc-import-entity-grid,
    .fc-import-summary {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 767.98px) {
    .fc-import-steps {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
    }

    .fc-import-steps li {
        flex: 0 0 180px;
        scroll-snap-align: start;
    }

    .fc-import-mapping-row {
        gap: var(--fc-space-2);
        grid-template-columns: 1fr;
    }

    .fc-import-mapping-row > i {
        transform: rotate(90deg);
    }

    .fc-import-confirm {
        align-items: stretch;
        flex-direction: column;
    }

    .fc-import-confirm > div {
        margin: 0;
    }
}

@media (max-width: 420px) {
    .fc-import-entity-grid,
    .fc-import-summary {
        grid-template-columns: 1fr;
    }

    .fc-import-actions > .btn,
    .fc-import-confirm > .btn {
        width: 100%;
    }
}
    font-weight: 600;
/* Public commercial contact CTAs */
.contact-cta {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    border: 1px solid transparent;
    border-radius: 0.625rem;
    padding: 0.7rem 1rem;
    color: inherit;
    font: inherit;
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    touch-action: manipulation;
}

.contact-cta__icon {
    width: 1.15rem;
    height: 1.15rem;
    flex: 0 0 auto;
}

.contact-cta--small {
    min-height: 40px;
    padding: 0.55rem 0.8rem;
    font-size: 0.875rem;
}

.contact-cta--large {
    min-height: 48px;
    padding: 0.85rem 1.25rem;
}

.contact-cta--primary {
    background: #1e40af;
    color: #fff;
}

.contact-cta--secondary {
    border-color: #cbd5e1;
    background: #fff;
    color: #0f172a;
}

.contact-cta--light {
    background: #fff;
    color: #0f172a;
}

.contact-cta--outline-light {
    border-color: rgba(255, 255, 255, 0.72);
    background: transparent;
    color: #fff;
}

.contact-cta--link {
    min-height: 44px;
    justify-content: flex-start;
    padding-inline: 0;
    color: #1e40af;
}

.contact-cta:hover {
    filter: brightness(0.97);
}

.contact-cta:focus-visible {
    outline: 3px solid #60a5fa;
    outline-offset: 3px;
}

.floating-whatsapp {
    --floating-whatsapp-clearance: 0px;
    position: fixed;
    z-index: 2147482998;
    right: calc(24px + env(safe-area-inset-right, 0px));
    bottom: calc(24px + env(safe-area-inset-bottom, 0px) + var(--floating-whatsapp-clearance));
    display: inline-grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border-radius: 50%;
    background: #25D366;
    box-shadow: 0 10px 28px rgba(15, 23, 42, 0.25);
    color: #fff;
    text-decoration: none;
    touch-action: manipulation;
    transition: bottom 180ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease, opacity 120ms ease;
}

.floating-whatsapp:hover {
    background: #1ebe5d;
    box-shadow: 0 12px 32px rgba(15, 23, 42, 0.3);
    color: #fff;
    transform: translateY(-2px);
}

.floating-whatsapp:focus-visible {
    outline: 3px solid #fbbf24;
    outline-offset: 4px;
}

.floating-whatsapp svg {
    display: block;
    width: 30px;
    height: 30px;
}

.floating-whatsapp__tooltip {
    position: absolute;
    right: calc(100% + 12px);
    width: max-content;
    max-width: 190px;
    padding: 7px 10px;
    border-radius: 8px;
    background: #0f172a;
    box-shadow: 0 6px 18px rgba(15, 23, 42, 0.2);
    color: #fff;
    font-size: 0.8125rem;
    font-weight: 650;
    line-height: 1.2;
    opacity: 0;
    pointer-events: none;
    transform: translateX(4px);
    transition: opacity 140ms ease, transform 140ms ease;
}

.floating-whatsapp:hover .floating-whatsapp__tooltip,
.floating-whatsapp:focus-visible .floating-whatsapp__tooltip {
    opacity: 1;
    transform: translateX(0);
}

.floating-whatsapp.is-obscured {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}

@media (max-width: 640px) {
    .floating-whatsapp {
        right: calc(16px + env(safe-area-inset-right, 0px));
        bottom: calc(16px + env(safe-area-inset-bottom, 0px) + var(--floating-whatsapp-clearance));
        width: 52px;
        height: 52px;
    }

    .floating-whatsapp__tooltip {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .floating-whatsapp,
    .floating-whatsapp__tooltip {
        transition: none;
    }
}

@media print {
    .floating-whatsapp,
    .floating-whatsapp__tooltip {
        display: none !important;
    }
}

a.footer-linkedin {
    display: inline-flex;
    min-width: 44px;
    min-height: 44px;
    max-width: 100%;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 10px;
    border-radius: 10px;
    color: inherit;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    touch-action: manipulation;
    transition: background-color 160ms ease, color 160ms ease;
}

a.footer-linkedin:hover {
    background: rgba(10, 102, 194, 0.1);
    color: #0a66c2;
}

a.footer-linkedin:focus-visible {
    outline: 3px solid #2563eb;
    outline-offset: 3px;
}

.footer-linkedin svg {
    display: block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
}

@media (prefers-color-scheme: dark) {
    a.footer-linkedin:hover {
        background: rgba(112, 181, 249, 0.14);
        color: #70b5f9;
    }

    a.footer-linkedin:focus-visible {
        outline-color: #93c5fd;
    }
}

@media (prefers-reduced-motion: reduce) {
    a.footer-linkedin {
        transition: none;
    }
}

@media print {
    a.footer-linkedin {
        display: none !important;
    }
}
/* Management report — premium executive workspace. */
.management-report-page {
    --report-ink: #142033;
    --report-muted: #66758a;
    --report-line: #e3e9f1;
    --report-soft: #f7f9fc;
    --report-primary: #2563eb;
    max-width: 1540px;
    margin-inline: auto;
    color: var(--report-ink);
}

.management-report-page .fc-page-header { margin-bottom: 13px; padding-bottom: 10px; }
.management-report-page .fc-page-title { letter-spacing: -.025em; }
.management-report-page .fc-page-subtitle { margin-top: 3px; font-weight: 600; }
.management-report-page .fc-breadcrumb ol { margin-top: 6px; font-size: 11px; }

.management-report-page .report-filter-toolbar {
    margin-bottom: 14px;
    padding: 12px 14px;
    border: 1px solid var(--report-line);
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .035);
}

.management-report-page .report-filter-form {
    display: grid;
    grid-template-columns: minmax(180px, 1.35fr) minmax(132px, .72fr) minmax(132px, .72fr) auto auto;
    align-items: end;
    gap: 10px;
}

.management-report-page .report-filter-field { min-width: 0; }
.management-report-page .report-filter-form .form-label { margin-bottom: 4px; color: var(--report-muted); font-size: 11px; font-weight: 750; }
.management-report-page .report-filter-form .form-control,
.management-report-page .report-filter-form .form-select { min-height: 36px; border-color: #d8e0ea; border-radius: 9px; font-size: 12px; }
.management-report-page .report-filter-primary-actions,
.management-report-page .report-filter-quick-actions { display: flex; align-items: center; gap: 7px; min-height: 36px; white-space: nowrap; }
.management-report-page .report-filter-primary-actions .btn { min-height: 36px; padding-inline: 12px; }
.management-report-page .report-filter-primary-actions .btn i { margin-right: 5px; font-size: 10px; }
.management-report-page .report-filter-divider { width: 1px; height: 22px; margin-inline: 2px 3px; background: var(--report-line); }
.management-report-page .report-filter-link { padding: 6px 3px; color: var(--report-muted); font-size: 11px; font-weight: 700; text-decoration: none; }
.management-report-page .report-filter-link:hover { color: var(--report-primary); }
.management-report-page .report-filter-export { min-height: 36px; margin-left: 2px; border-color: #bfd2f5; background: #f8fbff; color: #1d4ed8; font-weight: 700; }

.management-report-page .report-insight {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px;
    padding: 14px 17px;
    border: 1px solid rgba(96, 165, 250, .24);
    border-radius: 14px;
    color: #f8fbff;
    background: linear-gradient(110deg, #102b50 0%, #153a68 70%, #174d89 100%);
    box-shadow: 0 13px 30px -24px rgba(15, 41, 77, .85);
}

.management-report-page .report-insight__main { min-width: 0; }
.management-report-page .report-insight__label { display: block; margin-bottom: 3px; color: #9dc8ff; font-size: 10px; font-weight: 800; letter-spacing: .095em; text-transform: uppercase; }
.management-report-page .report-insight__label i { margin-right: 5px; }
.management-report-page .report-insight__main strong { display: block; font-size: 14px; font-weight: 650; line-height: 1.45; }
.management-report-page .report-insight__context { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px 13px; color: #c9dcf5; font-size: 11px; }
.management-report-page .report-insight__context i { margin-right: 5px; color: #8fb9ec; }

.management-report-page .report-section { margin-top: 22px; }
.management-report-page .report-section__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.management-report-page .report-section__head h2 { margin: 0; color: var(--report-ink); font-size: 1rem; font-weight: 750; letter-spacing: -.012em; }
.management-report-page .report-section__head p { margin: 2px 0 0; color: var(--report-muted); font-size: 12px; }
.management-report-page .report-section__head .btn { border: 0; padding-inline: 4px; background: transparent; color: var(--report-primary); font-size: 11px; font-weight: 700; }
.management-report-page .report-section__head .btn::after,
.management-report-page .report-panel__body > .btn-outline-primary::after { content: "\f061"; margin-left: 7px; font-family: "Font Awesome 6 Free"; font-size: 9px; font-weight: 900; }
.management-report-page .row.g-3 { --bs-gutter-x: .8rem; --bs-gutter-y: .8rem; }

.management-report-page .report-kpi {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto 1fr;
    height: 100%;
    min-height: 102px;
    padding: 14px 15px 14px 17px;
    overflow: hidden;
    border: 1px solid var(--report-line);
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 7px 20px rgba(15, 23, 42, .028);
}

.management-report-page .report-kpi::before { position: absolute; inset: 14px auto 14px 0; width: 3px; border-radius: 0 4px 4px 0; background: var(--accent, var(--report-primary)); content: ""; }
.management-report-page .report-kpi__icon { display: grid; grid-column: 2; grid-row: 1; place-items: center; width: 25px; height: 25px; border-radius: 8px; color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, white); font-size: 11px; }
.management-report-page .report-kpi__label { align-self: center; grid-column: 1; grid-row: 1; min-width: 0; color: var(--report-muted); font-size: 11px; font-weight: 700; letter-spacing: .01em; }
.management-report-page .report-kpi__value { align-self: end; grid-column: 1 / -1; grid-row: 2; display: block; margin-top: 8px; color: var(--report-ink); font-size: clamp(1.05rem, 1.35vw, 1.35rem); font-weight: 820; font-variant-numeric: tabular-nums; letter-spacing: -.035em; line-height: 1.1; white-space: nowrap; }

.management-report-page .report-panel { height: 100%; overflow: hidden; border: 1px solid var(--report-line); border-radius: 14px; background: #fff; box-shadow: 0 8px 24px rgba(15, 23, 42, .026); }
.management-report-page .report-panel__head { padding: 13px 16px; border-bottom: 1px solid var(--report-line); background: #fbfcfe; }
.management-report-page .report-panel__head h3 { margin: 0; color: var(--report-ink); font-size: 13px; font-weight: 750; }
.management-report-page .report-panel__body { padding: 14px 16px; }
.management-report-page .report-panel__body > .btn-outline-primary { border: 0; padding: 4px 0; background: transparent; font-size: 11px; font-weight: 700; }

.management-report-page .report-metric-list { display: grid; gap: 8px; margin: 0; }
.management-report-page .report-metric-list div { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 8px; border-bottom: 1px dashed var(--report-line); }
.management-report-page .report-metric-list div:last-child { padding-bottom: 0; border: 0; }
.management-report-page .report-metric-list dt { color: var(--report-muted); font-size: 12px; font-weight: 600; }
.management-report-page .report-metric-list dd { margin: 0; color: var(--report-ink); font-size: 13px; font-weight: 800; font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }

.management-report-page .table { --bs-table-bg: transparent; margin: 0; }
.management-report-page .table > :not(caption) > * > * { padding: 10px 14px; border-color: #edf0f4; }
.management-report-page .table thead th { border-bottom-width: 1px; background: var(--report-soft); color: var(--report-muted); font-size: 10px; font-weight: 800; letter-spacing: .055em; text-transform: uppercase; white-space: nowrap; }
.management-report-page .table tbody td { color: var(--report-ink); font-size: 12px; font-variant-numeric: tabular-nums; vertical-align: middle; white-space: nowrap; }
.management-report-page .report-comparison-table td:first-child { font-size: 12.5px; }
.management-report-page .report-delta--positive { color: #15803d; font-weight: 700; }
.management-report-page .report-delta--negative { color: #b91c1c; font-weight: 700; }

.management-report-page .report-trend,
.management-report-page .report-severity { display: inline-flex; align-items: center; gap: 5px; padding: 4px 8px; border-radius: 999px; font-size: 10px; font-weight: 800; line-height: 1.2; white-space: nowrap; }
.management-report-page .report-trend::before { content: "•"; }
.management-report-page .report-trend--improved { color: #166534; background: #dcfce7; }
.management-report-page .report-trend--worsened { color: #991b1b; background: #fee2e2; }
.management-report-page .report-trend--stable,
.management-report-page .report-trend--neutral { color: #475569; background: #f1f5f9; }

.management-report-page .report-dre-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 20px; padding: 8px 2px; border-bottom: 1px solid var(--report-line); color: var(--report-ink); font-size: 12px; }
.management-report-page .report-dre-row span { min-width: 0; }
.management-report-page .report-dre-row strong { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.management-report-page .report-dre-row[data-tone="subtotal"] { border-top: 1px solid #d9e0e8; background: #fafbfd; font-weight: 800; }
.management-report-page .report-dre-row[data-tone="result"] { margin-top: 8px; padding: 11px 12px; border: 1px solid #cfe0f7; border-radius: 10px; background: #f2f7fd; font-size: 13px; font-weight: 850; }

.management-report-page .report-abc-item { margin-bottom: 14px; }
.management-report-page .report-abc-item__main { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.management-report-page .report-abc-class { display: inline-grid; place-items: center; width: 23px; height: 23px; border-radius: 7px; color: #1d4ed8; background: #dbeafe; font-size: 10px; font-weight: 850; }
.management-report-page .report-abc-class--b { color: #0f766e; background: #ccfbf1; }
.management-report-page .report-abc-class--c { color: #92400e; background: #fef3c7; }
.management-report-page .report-abc-name { min-width: 0; overflow: hidden; color: var(--report-ink); font-size: 12px; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.management-report-page .report-abc-value { color: var(--report-ink); font-size: 12px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.management-report-page .report-abc-value small { margin-left: 4px; color: var(--report-muted); font-size: 10px; font-weight: 700; }
.management-report-page .report-abc-bar { height: 5px; margin: 7px 0 0 31px; overflow: hidden; border-radius: 999px; background: #e2e8f0; }
.management-report-page .report-abc-bar span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #2563eb, #14b8a6); }

.management-report-page .fc-empty-state { padding: 20px 16px; background: #fafbfd; }
.management-report-page .fc-empty-state__icon { width: 34px; height: 34px; margin-bottom: 8px; font-size: 15px; }
.management-report-page .fc-empty-state h6 { margin-bottom: 4px; font-size: 13px; }
.management-report-page .fc-empty-state p { margin-bottom: 0; font-size: 12px; }

.management-report-page .report-alert-list { display: grid; gap: 7px; }
.management-report-page .report-alert { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 10px; padding: 10px 12px; border: 1px solid var(--report-line); border-radius: 10px; background: #fff; }
.management-report-page .report-alert__icon { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 8px; font-size: 11px; }
.management-report-page .report-alert__content { min-width: 0; }
.management-report-page .report-alert h4 { margin: 0 0 3px; color: var(--report-ink); font-size: 18px !important; font-weight: 750; line-height: 1.25; }
.management-report-page .report-alert p { margin: 0; color: var(--report-muted); font-size: 11px; line-height: 1.45; }
.management-report-page .report-alert time { display: block; margin-top: 4px; color: var(--report-muted); font-size: 10px; }
.management-report-page .report-severity--critical { color: #991b1b; background: #fee2e2; }
.management-report-page .report-severity--warning { color: #92400e; background: #fef3c7; }
.management-report-page .report-severity--info { color: #075985; background: #e0f2fe; }

.management-report-page .report-comment { margin-bottom: 12px; padding: 12px 14px; border-left: 3px solid var(--report-primary); border-radius: 9px; color: var(--report-ink); background: var(--report-soft); font-size: 12px; line-height: 1.55; white-space: pre-wrap; }
.management-report-page .report-comment-meta { margin: -5px 0 12px; color: var(--report-muted); font-size: 11px; }
.management-report-page textarea.form-control { min-height: 112px; resize: vertical; border-color: #d8e0e9; border-radius: 10px; line-height: 1.55; }
.management-report-page textarea.form-control:focus { border-color: #7aa7eb; box-shadow: 0 0 0 3px rgba(37, 99, 235, .1); }

.management-report-page .report-note { display: flex; align-items: flex-start; gap: 8px; margin-top: 18px; padding: 11px 14px; border: 1px solid var(--report-line); border-radius: 11px; color: var(--report-muted); background: var(--report-soft); font-size: 11px; line-height: 1.55; }
.management-report-page .report-note > i { margin-top: 2px; color: #3b82f6; }
.management-report-page .report-note strong { color: var(--report-ink); }

[data-theme="dark"] .management-report-page { --report-ink: #e8eef7; --report-muted: #9cabc0; --report-line: #2a394d; --report-soft: #142033; }
[data-theme="dark"] .management-report-page .report-filter-toolbar,
[data-theme="dark"] .management-report-page .report-panel,
[data-theme="dark"] .management-report-page .report-kpi,
[data-theme="dark"] .management-report-page .report-alert { background: #111c2e; }
[data-theme="dark"] .management-report-page .report-panel__head,
[data-theme="dark"] .management-report-page .table thead th,
[data-theme="dark"] .management-report-page .fc-empty-state { background: #142136; }
[data-theme="dark"] .management-report-page .report-kpi__icon { background: #17283e; }
[data-theme="dark"] .management-report-page .report-dre-row[data-tone="subtotal"] { background: #132035; }
[data-theme="dark"] .management-report-page .report-dre-row[data-tone="result"] { border-color: #294e78; background: #162a43; }

@media (max-width: 1199.98px) {
    .management-report-page .report-filter-form { grid-template-columns: minmax(220px, 1.5fr) minmax(150px, 1fr) minmax(150px, 1fr) auto; }
    .management-report-page .report-filter-quick-actions { grid-column: 1 / -1; justify-content: flex-end; min-height: 28px; }
    .management-report-page .report-filter-divider { display: none; }
}

@media (max-width: 767.98px) {
    .management-report-page .fc-page-header { margin-bottom: 12px; }
    .management-report-page .report-filter-toolbar { padding: 12px; }
    .management-report-page .report-filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .management-report-page .report-filter-field--company,
    .management-report-page .report-filter-primary-actions,
    .management-report-page .report-filter-quick-actions { grid-column: 1 / -1; }
    .management-report-page .report-filter-primary-actions .btn { flex: 1 1 0; }
    .management-report-page .report-filter-quick-actions { display: grid; grid-template-columns: 1fr 1fr; text-align: center; }
    .management-report-page .report-filter-export { grid-column: 1 / -1; }
    .management-report-page .report-insight { grid-template-columns: 1fr; gap: 8px; padding: 14px 15px; }
    .management-report-page .report-insight__context { justify-content: flex-start; }
    .management-report-page .report-section { margin-top: 19px; }
    .management-report-page .report-section__head { align-items: flex-start; gap: 7px; }
    .management-report-page .report-section__head .btn { white-space: normal; text-align: left; }
    .management-report-page .report-kpi { min-height: 94px; padding-inline: 14px; }
    .management-report-page .report-kpi__value { font-size: clamp(.95rem, 4.3vw, 1.15rem); }
    .management-report-page .table-responsive { scrollbar-width: thin; }
    .management-report-page .report-alert { grid-template-columns: auto minmax(0, 1fr); }
    .management-report-page .report-alert .report-severity { grid-column: 2; justify-self: start; }
}

@media (max-width: 575.98px) {
    .management-report-page .report-filter-form { grid-template-columns: 1fr; }
    .management-report-page .report-filter-field,
    .management-report-page .report-filter-field--company,
    .management-report-page .report-filter-primary-actions,
    .management-report-page .report-filter-quick-actions { grid-column: 1; }
    .management-report-page .report-section__head { flex-direction: column; }
    .management-report-page .report-section__head p { line-height: 1.45; }
    .management-report-page .report-insight__context span:last-child { display: none; }
    .management-report-page .report-abc-item__main { grid-template-columns: auto minmax(0, 1fr); }
    .management-report-page .report-abc-value { grid-column: 2; }
}

@media (max-width: 359.98px) {
    .management-report-page .report-filter-form { grid-template-columns: 1fr; }
    .management-report-page .report-filter-field,
    .management-report-page .report-filter-field--company,
    .management-report-page .report-filter-primary-actions,
    .management-report-page .report-filter-quick-actions { grid-column: 1; }
    .management-report-page .report-kpi-column { width: 100%; }
}

/* DRE Gerencial — workspace financeiro */
.fc-dre-page {
    --dre-gap: 16px;
    --dre-padding: 16px;
    --dre-radius: var(--fc-radius-md);
}

.fc-dre-page .fc-page-header {
    margin-bottom: 14px;
    padding-bottom: 11px;
}

.fc-app .fc-dre-page .fc-page-title {
    font-size: 26px !important;
    letter-spacing: -.02em;
}

.fc-dre-page .fc-page-subtitle {
    margin-top: 3px;
}

.fc-dre-page .fc-breadcrumb ol {
    gap: 6px;
    margin-top: 7px;
}

.fc-dre-page .mb-24 {
    margin-bottom: var(--dre-gap) !important;
}

.fc-dre-page .card,
.fc-dre-page .fc-card,
.fc-dre-page .fc-filter-card,
.fc-dre-page .fc-widget-card {
    border-color: var(--fc-border);
    border-radius: var(--dre-radius);
    box-shadow: var(--fc-shadow);
}

.fc-dre-page .fc-card-header {
    gap: 12px;
    padding: 12px var(--dre-padding);
}

.fc-dre-page .fc-card-count {
    font-size: 11.5px;
    font-variant-numeric: tabular-nums;
}

.fc-dre-page .fc-filter-card {
    margin-bottom: var(--dre-gap);
}

.fc-dre-page .fc-filter-card__header {
    padding: 10px 14px 0;
}

.fc-dre-page .fc-filter-card__body {
    padding: 9px 14px 14px;
}

.fc-dre-page .fc-filter-card form > .row {
    --bs-gutter-x: 12px;
    --bs-gutter-y: 10px;
}

.fc-dre-page .fc-filter-card .form-label {
    margin-bottom: 5px;
    color: var(--fc-text-secondary);
    font-size: 11.5px;
    font-weight: 650;
    line-height: 1.25;
}

.fc-dre-page .fc-filter-card .form-control,
.fc-dre-page .fc-filter-card .form-select {
    min-height: 36px;
    border-color: var(--fc-border);
    border-radius: var(--fc-radius-sm);
    color: var(--fc-text);
    background-color: var(--fc-surface);
    font-size: 12.5px;
}

.fc-dre-page .fc-filter-card .form-control:focus,
.fc-dre-page .fc-filter-card .form-select:focus {
    border-color: var(--fc-primary);
    box-shadow: 0 0 0 3px var(--fc-focus-ring);
}

.fc-dre-page .fc-filter-actions {
    align-items: center;
    min-height: 36px;
}

.fc-dre-page .fc-filter-actions .btn {
    min-height: 36px;
    padding-block: 6px;
}

.fc-dre-comparison {
    align-self: end;
    min-width: 0;
}

.fc-dre-comparison__panel {
    display: flex;
    align-items: end;
    flex-wrap: wrap;
    gap: 8px 12px;
    min-height: 36px;
}

.fc-dre-comparison.is-active .fc-dre-comparison__panel {
    padding: 9px 11px;
    border: 1px solid var(--fc-border-subtle);
    border-radius: var(--fc-radius);
    background: color-mix(in srgb, var(--fc-background-secondary) 72%, var(--fc-surface));
}

.fc-dre-comparison__toggle {
    display: flex;
    align-items: center;
    min-height: 36px;
    margin: 0;
}

.fc-dre-comparison__toggle .form-check-input {
    margin-top: 0;
}

.fc-dre-comparison__toggle .form-check-label {
    color: var(--fc-text);
    font-size: 12.5px;
    font-weight: 650;
    white-space: nowrap;
}

.fc-dre-comparison__mode {
    flex: 0 1 270px;
    min-width: 220px;
}

.fc-dre-comparison__custom-field {
    flex: 0 1 215px;
    min-width: 190px;
}

.fc-dre-comparison__basis {
    align-self: end;
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    margin-bottom: 7px;
    padding: 3px 7px;
    border: 1px solid var(--fc-border);
    border-radius: 999px;
    color: var(--fc-text-secondary);
    background: var(--fc-surface);
    font-size: 10px;
    font-weight: 650;
    line-height: 1;
    white-space: nowrap;
}

.fc-dre-comparison__periods {
    display: flex;
    align-items: center;
    flex: 1 1 100%;
    gap: 7px;
    min-height: 22px;
    min-width: 0;
    color: var(--fc-text-secondary);
    font-size: 11.5px;
    line-height: 1.35;
}

.fc-dre-comparison__current {
    color: var(--fc-text);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    white-space: nowrap;
}

.fc-dre-comparison__reference {
    color: var(--fc-text-secondary);
    font-variant-numeric: tabular-nums;
    font-weight: 500;
    white-space: nowrap;
}

.fc-dre-comparison__arrow {
    color: var(--fc-text-subtle);
    font-size: 9px;
}

.fc-dre-card-grid {
    --bs-gutter-x: 14px;
    --bs-gutter-y: 14px;
}

.fc-dre-card-grid > [class*="col-"] {
    display: flex;
}

.fc-dre-card-grid .fc-widget-card {
    width: 100%;
    min-height: 142px;
    padding: 14px 15px;
}

.fc-dre-card-grid [data-comparison-card] {
    border-left-color: var(--fc-primary);
}

.fc-dre-page .fc-widget-card__header {
    gap: 10px;
}

.fc-dre-page .fc-widget-card__header > div:first-child {
    min-width: 0;
}

.fc-app .fc-dre-page .fc-widget-title {
    font-size: 15px !important;
    line-height: 1.25 !important;
}

.fc-dre-card-grid [data-comparison-card] .fc-widget-title {
    min-height: 38px;
}

.fc-dre-page .fc-widget-card__header p {
    margin-top: 3px;
    color: var(--fc-text-secondary);
}

.fc-dre-page .fc-widget-card__icon {
    width: 32px;
    height: 32px;
    border-radius: var(--fc-radius-sm);
    color: var(--fc-primary);
    background: var(--fc-primary-soft);
    font-size: 12px;
}

.fc-app .fc-dre-page .fc-widget-card__value {
    margin-top: 8px;
    font-size: 22px !important;
    font-variant-numeric: tabular-nums;
    font-weight: 750;
    letter-spacing: -.015em;
}

.fc-dre-card-comparison {
    display: grid;
    gap: 5px;
    margin-top: 8px;
    padding-top: 7px;
    border-top: 1px solid var(--fc-border-subtle);
}

.fc-dre-card-comparison__reference {
    color: var(--fc-text-secondary);
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.3;
}

.fc-dre-card-comparison__reference strong {
    color: var(--fc-text-secondary);
    font-variant-numeric: tabular-nums;
    font-weight: 650;
}

.fc-dre-card-comparison__detail {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 4px 8px;
    min-height: 18px;
}

.fc-dre-card-comparison__delta {
    color: var(--fc-text-secondary);
    font-size: 11px;
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    line-height: 1.25;
    white-space: nowrap;
}

.fc-dre-card-comparison__direction {
    margin-right: 1px;
    font-size: 11px;
}

.fc-dre-card-comparison__state {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 0;
    border-radius: 0;
    background: transparent !important;
    font-size: 9.5px;
    font-weight: 650;
    line-height: 1.2;
    white-space: nowrap;
}

.fc-dre-card-comparison--favorable .fc-dre-card-comparison__delta,
.fc-dre-card-comparison--favorable .fc-dre-card-comparison__state {
    color: var(--fc-success);
}

.fc-dre-card-comparison--unfavorable .fc-dre-card-comparison__delta,
.fc-dre-card-comparison--unfavorable .fc-dre-card-comparison__state {
    color: var(--fc-danger);
}

.fc-dre-card-comparison--neutral .fc-dre-card-comparison__state,
.fc-dre-card-comparison--stable .fc-dre-card-comparison__state {
    color: var(--fc-text-secondary);
}

.fc-dre-chart-card .card-body {
    min-height: 0;
    padding: 6px var(--dre-padding) 10px;
}

.fc-dre-page .fc-report-chart {
    min-height: 300px;
}

.fc-dre-page .apexcharts-canvas,
.fc-dre-page .apexcharts-svg {
    background: transparent !important;
}

.fc-dre-chart-periods {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 13px;
    margin-top: 3px;
    color: var(--fc-text-secondary);
    font-size: 10.5px;
    line-height: 1.3;
}

.fc-dre-chart-periods__item {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.fc-dre-chart-periods__item::before {
    width: 6px;
    height: 6px;
    border-radius: 2px;
    background: var(--fc-text-subtle);
    content: '';
    flex: 0 0 auto;
}

.fc-dre-chart-periods__item--current {
    color: var(--fc-text);
    font-weight: 650;
}

.fc-dre-chart-periods__item--current::before {
    background: var(--fc-primary);
}

.fc-dre-chart-periods__label {
    font-weight: inherit;
}

.fc-dre-page .fc-abc-card__header {
    align-items: center;
    padding-block: 13px;
}

.fc-dre-page .fc-abc-card__header > div {
    min-width: 0;
}

.fc-dre-page .fc-abc-card .card-body {
    padding: var(--dre-padding);
}

.fc-dre-page .fc-abc-card .fc-card-subtitle {
    margin-top: 3px;
    color: var(--fc-text-secondary);
}

.fc-dre-page .fc-abc-summary-grid {
    gap: 8px;
}

.fc-dre-page .fc-abc-summary-grid > div {
    gap: 3px;
    padding: 10px 12px;
    border-color: var(--fc-border-subtle);
    background: color-mix(in srgb, var(--fc-background-secondary) 68%, var(--fc-surface));
}

.fc-dre-page .fc-abc-summary-grid span {
    font-size: 10px;
}

.fc-dre-page .fc-abc-summary-grid strong {
    font-size: 16px;
    font-variant-numeric: tabular-nums;
}

.fc-dre-page .fc-abc-layout {
    gap: 20px;
    margin-top: 15px !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
}

.fc-dre-page .fc-abc-ranking {
    gap: 6px;
}

.fc-dre-page .fc-abc-ranking__item {
    gap: 8px;
    min-height: 46px;
    padding: 7px 9px;
    border-color: var(--fc-border-subtle);
    border-radius: var(--fc-radius-sm);
    background: var(--fc-surface);
}

.fc-dre-page .fc-abc-ranking__content strong {
    font-size: 11.5px;
}

.fc-dre-page .fc-abc-ranking__content small {
    font-size: 9.5px;
}

.fc-dre-page .fc-abc-ranking__value {
    font-size: 10.5px;
    font-variant-numeric: tabular-nums;
}

.fc-dre-page .fc-abc-class {
    padding: 3px 5px;
    font-size: 8.5px;
}

.fc-dre-statement-card .fc-card-header {
    display: grid;
    gap: 3px;
}

.fc-dre-statement-card .fc-card-title i {
    width: 16px;
    color: var(--fc-primary) !important;
    font-size: 12px;
    text-align: center;
}

.fc-dre-statement-card .table-responsive {
    overscroll-behavior-inline: contain;
    scrollbar-color: var(--fc-border-strong) transparent;
    scrollbar-width: thin;
}

.fc-dre-page .fc-dre-table {
    --bs-table-bg: var(--fc-surface);
    --bs-table-border-color: var(--fc-border-subtle);
    --bs-table-color: var(--fc-text);
    color: var(--fc-text);
    font-size: 12.5px;
}

.fc-dre-page .fc-dre-table > :not(caption) > * > * {
    border-bottom-color: var(--fc-border-subtle);
    color: var(--fc-text);
    background-color: var(--fc-surface);
    box-shadow: none;
}

.fc-dre-page .fc-dre-table thead th {
    padding: 8px 13px;
    color: #fff;
    background: var(--fc-primary-dark);
    font-size: 10px;
    letter-spacing: .045em;
}

.fc-dre-page .fc-dre-table:not(.fc-dre-comparison-table) td {
    padding: 9px 14px;
}

.fc-dre-page .fc-dre-table .fc-row-success > * {
    background: var(--fc-success-soft);
}

.fc-dre-page .fc-dre-table .fc-row-info > *,
.fc-dre-page .fc-dre-table .fc-row-purple > * {
    background: var(--fc-primary-soft);
}

.fc-dre-page .fc-dre-table .fc-row-warning > * {
    background: var(--fc-warning-soft);
}

.fc-dre-page .fc-dre-table .fc-row-danger > * {
    background: var(--fc-danger-soft);
}

.fc-dre-page .fc-dre-table .fc-row-muted > * {
    background: var(--fc-background-secondary);
}

.fc-dre-comparison-table {
    min-width: 900px;
    table-layout: fixed;
}

.fc-dre-comparison-table__description {
    width: 34%;
}

.fc-dre-comparison-table__number {
    width: 17%;
    text-align: right;
}

.fc-dre-comparison-table__variance {
    width: 18%;
    text-align: right;
}

.fc-dre-comparison-table__percent {
    width: 10%;
    text-align: right;
}

.fc-dre-page .fc-dre-comparison-row > * {
    height: auto;
    padding: 7px 13px;
    vertical-align: middle;
}

.fc-dre-page .fc-dre-comparison-table tbody th {
    color: var(--fc-text);
    background: var(--fc-surface);
    font-size: 12.5px;
    letter-spacing: normal;
    line-height: 1.25;
    text-transform: none;
    white-space: normal;
}

.fc-dre-page .fc-dre-comparison-table .fc-dre-comparison-row--total > * {
    border-top: 1px solid var(--fc-border-strong);
    background: var(--fc-primary-soft);
    font-weight: 700;
}

.fc-dre-page .fc-dre-comparison-table .fc-dre-comparison-row--group > * {
    border-top: 1px solid var(--fc-border);
    background: color-mix(in srgb, var(--fc-background-secondary) 74%, var(--fc-surface));
}

.fc-dre-comparison-row--total .fc-dre-comparison-table__label {
    font-weight: 750;
}

.fc-dre-comparison-row--group .fc-dre-comparison-table__label {
    font-weight: 650;
}

.fc-dre-comparison-row--line .fc-dre-comparison-table__label {
    display: inline-block;
    padding-left: 15px;
    font-weight: 500;
    text-transform: none;
}

.fc-dre-comparison-row--category .fc-dre-comparison-table__label {
    display: inline-block;
    padding-left: 32px;
    color: var(--fc-text-secondary);
    font-size: 11.5px;
    font-weight: 400;
    text-transform: none;
}

.fc-dre-comparison-table__money {
    display: block;
    color: var(--fc-text);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
    line-height: 1.2;
    white-space: nowrap;
}

.fc-dre-comparison-table__reference .fc-dre-comparison-table__money {
    color: var(--fc-text-secondary);
    font-weight: 500;
}

.fc-dre-comparison-table__rb {
    display: block;
    margin-top: 1px;
    color: var(--fc-text-subtle);
    font-size: 9px;
    font-variant-numeric: tabular-nums;
    font-weight: 450;
    line-height: 1.15;
    white-space: nowrap;
}

.fc-dre-comparison-table__delta {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    font-variant-numeric: tabular-nums;
    font-weight: 650;
    line-height: 1.15;
    white-space: nowrap;
}

.fc-dre-comparison-table__state {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 3px;
    margin-top: 2px;
    font-size: 9px;
    font-weight: 550;
    line-height: 1.05;
    opacity: .82;
    white-space: nowrap;
}

.fc-dre-comparison-table__percent {
    font-variant-numeric: tabular-nums;
    font-weight: 650;
    line-height: 1.15;
    white-space: nowrap;
}

.fc-dre-variance--favorable {
    color: var(--fc-success);
}

.fc-dre-variance--unfavorable {
    color: var(--fc-danger);
}

.fc-dre-variance--neutral,
.fc-dre-variance--stable {
    color: var(--fc-text-secondary);
}

.fc-dre-comparison-periods {
    font-variant-numeric: tabular-nums;
}

[data-theme="dark"] .fc-dre-page .fc-dre-table,
[data-theme="dark"] .fc-dre-page .fc-dre-table > :not(caption) > * > * {
    --bs-table-bg: var(--fc-surface);
    --bs-table-color: var(--fc-text);
    --bs-table-border-color: var(--fc-border);
    color: var(--fc-text);
    background-color: var(--fc-surface);
}

[data-theme="dark"] .fc-dre-page .fc-dre-comparison-table .fc-dre-comparison-row--total > * {
    background-color: var(--fc-primary-soft);
}

[data-theme="dark"] .fc-dre-page .fc-dre-comparison-table .fc-dre-comparison-row--group > * {
    background-color: var(--fc-background-secondary);
}

@media (min-width: 992px) and (max-width: 1199.98px) {
    .fc-dre-page .fc-abc-layout {
        grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
    }

    .fc-dre-page .fc-abc-ranking {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 991.98px) {
    .fc-dre-page .fc-abc-layout {
        grid-template-columns: 1fr;
    }

    .fc-dre-page .fc-abc-ranking {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .fc-app .fc-dre-page .fc-page-title {
        font-size: 22px !important;
    }

    .fc-dre-page .fc-page-header {
        margin-bottom: 12px;
        padding-bottom: 10px;
    }

    .fc-dre-page .fc-filter-card form > .row {
        --bs-gutter-y: 9px;
    }

    .fc-dre-comparison.is-active {
        flex: 0 0 100%;
        width: 100%;
    }

    .fc-dre-comparison__mode,
    .fc-dre-comparison__custom-field {
        flex-basis: 100%;
        min-width: 0;
    }

    .fc-dre-comparison__periods {
        align-items: flex-start;
        flex-basis: 100%;
        flex-wrap: wrap;
        gap: 3px 6px;
        min-height: 0;
    }

    .fc-dre-card-grid {
        --bs-gutter-y: 12px;
    }

    .fc-dre-card-grid .fc-widget-card {
        min-height: 0;
    }

    .fc-dre-chart-card .card-body {
        padding-inline: 8px;
    }

    .fc-dre-page .fc-abc-card__header {
        align-items: flex-start;
    }

    .fc-dre-page .fc-abc-ranking {
        grid-template-columns: 1fr;
    }

    .fc-dre-statement-card .fc-card-title {
        align-items: flex-start !important;
    }

    .fc-dre-statement-card .table-responsive {
        scrollbar-gutter: stable;
    }
}

@media (max-width: 575.98px) {
    .fc-dre-page {
        --dre-gap: 14px;
        --dre-padding: 13px;
    }

    .fc-dre-page .fc-filter-card__header {
        padding-inline: 12px;
    }

    .fc-dre-page .fc-filter-card__body {
        padding: 8px 12px 12px;
    }

    .fc-dre-comparison.is-active .fc-dre-comparison__panel {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 8px;
        padding: 9px;
    }

    .fc-dre-comparison__toggle {
        grid-column: 1;
        grid-row: 1;
    }

    .fc-dre-comparison__basis {
        grid-column: 2;
        grid-row: 1;
        margin-bottom: 7px;
    }

    .fc-dre-comparison__mode,
    .fc-dre-comparison__custom-field,
    .fc-dre-comparison__periods {
        grid-column: 1 / -1;
    }

    .fc-dre-comparison__current,
    .fc-dre-comparison__reference {
        white-space: normal;
    }

    .fc-dre-page .fc-filter-actions {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
    }

    .fc-dre-page .fc-filter-actions .btn {
        width: 100%;
    }

    .fc-app .fc-dre-page .fc-widget-card__value {
        font-size: 21px !important;
    }

    .fc-dre-card-grid [data-comparison-card] .fc-widget-title {
        min-height: 0;
    }

    .fc-dre-chart-periods {
        display: grid;
        gap: 2px;
    }

    .fc-dre-page .fc-abc-summary-grid > div {
        padding: 9px;
    }

    .fc-dre-page .fc-abc-summary-grid strong {
        font-size: 15px;
    }

    .fc-dre-page .fc-abc-ranking__item {
        min-height: 0;
    }

    .fc-dre-page .fc-dre-table thead th {
        padding-inline: 11px;
    }

    .fc-dre-page .fc-dre-comparison-row > * {
        padding-inline: 11px;
    }
}

+    }
}

/* Contracted capacity — Sprint 14.8 */
.fc-billing-summary--capacity {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.fc-capacity-principle,
.fc-capacity-archive-offer {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 18px 0 24px;
    padding: 15px 18px;
    border: 1px solid rgba(37, 87, 167, .16);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(239, 246, 255, .86), rgba(248, 250, 252, .92));
    color: var(--fc-billing-muted, var(--fc-text-secondary));
}

.fc-capacity-principle > span,
.fc-capacity-archive-offer > span {
    display: grid;
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    place-items: center;
    border-radius: 11px;
    background: rgba(37, 87, 167, .1);
    color: #2557a7;
}

.fc-capacity-principle p,
.fc-capacity-archive-offer p { margin: 0; line-height: 1.55; }
.fc-capacity-principle strong,
.fc-capacity-archive-offer strong { color: var(--fc-billing-ink, var(--fc-text)); }
.fc-capacity-archive-offer div { flex: 1; }
.fc-capacity-archive-offer a { color: #2557a7; font-size: 13px; font-weight: 800; white-space: nowrap; }

.fc-capacity-manager {
    margin-top: 26px;
    padding: clamp(22px, 3vw, 32px);
    border: 1px solid var(--fc-billing-line);
    border-radius: 22px;
    background: var(--fc-surface, #fff);
    box-shadow: 0 18px 48px -38px rgba(15, 23, 42, .35);
}

.fc-capacity-manager__header { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; }
.fc-capacity-manager__header h2 { margin: 5px 0; color: var(--fc-billing-ink); font-size: clamp(22px, 3vw, 28px); font-weight: 800; }
.fc-capacity-manager__header p { margin: 0; color: var(--fc-billing-muted); }
.fc-capacity-manager__forms { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 24px; }
.fc-capacity-selector { padding: 18px; border: 1px solid var(--fc-billing-line); border-radius: 16px; background: var(--fc-billing-soft); }
.fc-capacity-selector label { display: block; margin-bottom: 10px; color: var(--fc-billing-ink); font-size: 13px; font-weight: 800; }
.fc-capacity-selector > div { display: flex; align-items: center; overflow: hidden; border: 1px solid var(--fc-billing-line); border-radius: 11px; background: var(--fc-surface, #fff); }
.fc-capacity-selector input { width: 100%; min-height: 46px; padding: 0 12px; border: 0; outline: 0; background: transparent; color: var(--fc-billing-ink); font-size: 17px; font-weight: 800; }
.fc-capacity-selector > div span { padding-right: 13px; color: var(--fc-billing-muted); font-size: 12px; }
.fc-capacity-selector button { margin-top: 10px; padding: 0; border: 0; background: transparent; color: var(--fc-billing-brand); font-size: 12px; font-weight: 800; }

.fc-capacity-preview { margin-top: 20px; padding: 22px; border: 1px solid rgba(37, 87, 167, .22); border-radius: 18px; background: linear-gradient(145deg, #f8fbff, #f1f6ff); }
.fc-capacity-preview__title span { color: var(--fc-billing-brand); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.fc-capacity-preview__title h3 { margin: 4px 0 16px; color: var(--fc-billing-ink); font-size: 24px; font-weight: 850; }
.fc-capacity-preview__metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.fc-capacity-preview__metrics > div { display: grid; gap: 4px; padding: 13px; border-radius: 12px; background: rgba(255, 255, 255, .75); }
.fc-capacity-preview__metrics span { color: var(--fc-billing-muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.fc-capacity-preview__metrics strong { color: var(--fc-billing-ink); font-size: 15px; }
.fc-capacity-preview__metrics small { color: var(--fc-billing-muted); font-size: 10px; }
.fc-capacity-preview__metrics .is-highlight { background: #2557a7; }
.fc-capacity-preview__metrics .is-highlight span,
.fc-capacity-preview__metrics .is-highlight strong,
.fc-capacity-preview__metrics .is-highlight small { color: #fff; }
.fc-capacity-preview > p { margin: 16px 0; color: var(--fc-billing-muted); font-size: 13px; }
.fc-capacity-preview .fc-billing-primary { width: auto; }
.fc-capacity-preview-error { display: flex; gap: 8px; margin-top: 16px; padding: 12px 14px; border-radius: 11px; background: #fff7ed; color: #9a3412; font-size: 13px; }

.fc-capacity-scheduled { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 22px; padding: 18px; border: 1px solid #f0cf84; border-radius: 15px; background: #fffbeb; }
.fc-capacity-scheduled div { display: grid; gap: 3px; }
.fc-capacity-scheduled span { color: #92400e; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.fc-capacity-scheduled strong { color: #713f12; }
.fc-capacity-scheduled small { color: #92400e; }
.fc-capacity-scheduled button { border: 0; background: transparent; color: #b45309; font-size: 12px; font-weight: 800; }
.fc-capacity-status { display: inline-flex; padding: 4px 8px; border-radius: 999px; background: #e8eef7; color: #475569; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.fc-capacity-status--applied { background: #dcfce7; color: #166534; }
.fc-capacity-status--scheduled { background: #fef3c7; color: #92400e; }

.fc-capacity-comparison { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 14px; margin: 20px 0 14px; }
.fc-capacity-comparison > div { display: grid; gap: 3px; padding: 17px; border: 1px solid var(--fc-border-subtle); border-radius: 14px; background: var(--fc-background-secondary); }
.fc-capacity-comparison > i { color: var(--fc-text-subtle); }
.fc-capacity-comparison span { color: var(--fc-text-subtle); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.fc-capacity-comparison strong { color: var(--fc-text); font-size: 17px; }
.fc-capacity-comparison small { color: var(--fc-text-secondary); }
.fc-capacity-comparison .is-new { border-color: rgba(37, 87, 167, .25); background: #f1f6ff; }
.fc-capacity-impact { margin: 0 0 16px; border-top: 1px solid var(--fc-border-subtle); }
.fc-capacity-impact > div { display: flex; justify-content: space-between; gap: 15px; padding: 10px 2px; border-bottom: 1px solid var(--fc-border-subtle); }
.fc-capacity-impact dt { color: var(--fc-text-secondary); font-size: 12px; font-weight: 600; }
.fc-capacity-impact dd { margin: 0; color: var(--fc-text); font-size: 12px; font-weight: 800; text-align: right; }

html[data-theme="dark"] .fc-capacity-principle,
html[data-theme="dark"] .fc-capacity-archive-offer,
html[data-theme="dark"] .fc-capacity-preview { background: #14243c; }
html[data-theme="dark"] .fc-capacity-preview__metrics > div,
html[data-theme="dark"] .fc-capacity-comparison .is-new { background: #192a45; }
html[data-theme="dark"] .fc-capacity-scheduled { border-color: #6b5521; background: #302812; }

@media (max-width: 991px) {
    .fc-billing-summary--capacity,
    .fc-capacity-preview__metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
    .fc-billing-summary--capacity,
    .fc-capacity-manager__forms,
    .fc-capacity-preview__metrics { grid-template-columns: 1fr; }
    .fc-capacity-manager { padding: 20px 16px; }
    .fc-capacity-comparison { grid-template-columns: 1fr; }
    .fc-capacity-comparison > i { transform: rotate(90deg); justify-self: center; }
    .fc-capacity-archive-offer { align-items: flex-start; flex-wrap: wrap; }
    .fc-capacity-archive-offer a { width: 100%; padding-left: 49px; white-space: normal; }
    .fc-capacity-scheduled { align-items: flex-start; flex-direction: column; }
}

/* Trial conversion — premium portfolio decision */
.fc-conversion-page {
    --fc-conversion-ink: #14213a;
    --fc-conversion-muted: #66758d;
    --fc-conversion-subtle: #8995a8;
    --fc-conversion-line: #e1e8f1;
    --fc-conversion-soft: #f5f8fc;
    --fc-conversion-brand: #2557a7;
    --fc-conversion-brand-dark: #1b4383;
    --fc-conversion-success: #16815d;
    display: grid;
    width: min(100%, 1080px);
    gap: 22px;
    margin-inline: auto;
    color: var(--fc-conversion-ink);
}

.fc-conversion-hero {
    max-width: 790px;
    padding: clamp(16px, 2vw, 24px) 4px 8px;
}

.fc-conversion-eyebrow,
.fc-conversion-step {
    color: var(--fc-conversion-brand);
    font-size: 10px;
    font-weight: 820;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.fc-conversion-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 7px 10px;
    border: 1px solid rgba(37, 87, 167, .13);
    border-radius: 999px;
    background: rgba(239, 245, 255, .72);
}

.fc-conversion-hero h1 {
    margin: 18px 0 12px;
    color: var(--fc-conversion-ink);
    font-size: clamp(32px, 4.5vw, 49px);
    font-weight: 810;
    letter-spacing: -.048em;
    line-height: 1.06;
}

.fc-conversion-hero p {
    max-width: 680px;
    margin: 0;
    color: var(--fc-conversion-muted);
    font-size: 16px;
    line-height: 1.7;
}

.fc-conversion-notice {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 13px 15px;
    border: 1px solid var(--fc-conversion-line);
    border-radius: 13px;
    background: #fff;
    color: var(--fc-conversion-muted);
    font-size: 13px;
    line-height: 1.55;
}

.fc-conversion-notice i {
    margin-top: 3px;
    color: var(--fc-conversion-success);
}

.fc-conversion-notice--danger i {
    color: #b42318;
}

.fc-conversion-calculator {
    display: grid;
    gap: 22px;
}

.fc-conversion-calculator__grid {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(390px, 1.1fr);
    align-items: stretch;
    gap: 22px;
}

.fc-conversion-card,
.fc-conversion-breakdown-card {
    overflow: hidden;
    border: 1px solid rgba(111, 133, 165, .21);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(15, 35, 68, .065), 0 2px 5px rgba(15, 23, 42, .025);
}

.fc-conversion-quantity,
.fc-conversion-decision {
    padding: clamp(30px, 4.5vw, 52px);
}

.fc-conversion-quantity {
    align-self: stretch;
    background:
        radial-gradient(circle at 0 0, rgba(96, 165, 250, .09), transparent 35%),
        linear-gradient(145deg, #fbfcff 0%, #f5f8fd 100%);
}

.fc-conversion-quantity h2,
.fc-conversion-decision h2 {
    margin: 11px 0 9px;
    color: var(--fc-conversion-ink);
    font-size: clamp(23px, 2.8vw, 31px);
    font-weight: 790;
    letter-spacing: -.035em;
    line-height: 1.15;
}

.fc-conversion-quantity > p,
.fc-conversion-decision__support {
    margin: 0;
    color: var(--fc-conversion-muted);
    font-size: 13px;
    line-height: 1.65;
}

.fc-conversion-quantity__form {
    margin-top: 28px;
}

.fc-conversion-quantity__form label {
    display: block;
    margin-bottom: 8px;
    color: var(--fc-conversion-ink);
    font-size: 12px;
    font-weight: 720;
}

.fc-conversion-quantity__control {
    position: relative;
}

.fc-conversion-quantity__control > span {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 17px;
    display: grid;
    width: 30px;
    height: 30px;
    place-items: center;
    border-radius: 9px;
    background: #edf4ff;
    color: var(--fc-conversion-brand);
    font-size: 12px;
    pointer-events: none;
    transform: translateY(-50%);
}

.fc-conversion-quantity__control input {
    width: 100%;
    min-height: 62px;
    padding: 10px 16px 10px 59px;
    border: 1px solid #ccd7e5;
    border-radius: 13px;
    outline: 0;
    background: #fff;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, .03);
    color: var(--fc-conversion-ink);
    font-size: 21px;
    font-weight: 760;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.fc-conversion-quantity__control input:hover {
    border-color: #a8b8cd;
}

.fc-conversion-quantity__control input:focus {
    border-color: var(--fc-conversion-brand);
    box-shadow: 0 0 0 4px rgba(37, 87, 167, .12);
}

.fc-conversion-quantity__control input.is-invalid {
    border-color: #d92d20;
}

.fc-conversion-field-help,
.fc-conversion-field-error {
    margin: 7px 0 0;
    color: var(--fc-conversion-subtle);
    font-size: 11px;
    line-height: 1.45;
}

.fc-conversion-field-error {
    color: #b42318;
}

.fc-conversion-recalculate {
    display: inline-flex;
    min-height: 39px;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    color: var(--fc-conversion-brand);
    font-size: 12px;
    font-weight: 710;
}

.fc-conversion-recalculate i {
    font-size: 10px;
    transition: transform 160ms ease;
}

.fc-conversion-recalculate:hover {
    color: var(--fc-conversion-brand-dark);
}

.fc-conversion-recalculate:hover i {
    transform: translateX(3px);
}

.fc-conversion-decision {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    background:
        radial-gradient(circle at 100% 0, rgba(96, 165, 250, .11), transparent 34%),
        #fff;
}

.fc-conversion-price {
    display: flex;
    align-items: baseline;
    gap: 9px;
    margin-top: 7px;
}

.fc-conversion-price strong {
    color: var(--fc-conversion-ink);
    font-size: clamp(48px, 6.4vw, 69px);
    font-weight: 820;
    letter-spacing: -.065em;
    line-height: 1;
}

.fc-conversion-price span {
    color: var(--fc-conversion-muted);
    font-size: 15px;
    font-weight: 620;
}

.fc-conversion-average {
    margin: 9px 0 0;
    color: var(--fc-conversion-muted);
    font-size: 14px;
}

.fc-conversion-average strong {
    color: var(--fc-conversion-brand);
    font-weight: 760;
}

.fc-conversion-benefits {
    display: grid;
    gap: 10px;
    margin: 25px 0;
    padding: 0;
    list-style: none;
}

.fc-conversion-benefits li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: var(--fc-conversion-muted);
    font-size: 12px;
    line-height: 1.5;
}

.fc-conversion-benefits i {
    display: grid;
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    place-items: center;
    border-radius: 50%;
    background: rgba(22, 129, 93, .10);
    color: var(--fc-conversion-success);
    font-size: 9px;
}

.fc-conversion-action {
    margin: 0;
}

.fc-conversion-primary {
    display: inline-flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 0 22px;
    border: 1px solid var(--fc-conversion-brand);
    border-radius: 12px;
    background: linear-gradient(180deg, #3268ba 0%, var(--fc-conversion-brand) 100%);
    box-shadow: 0 12px 25px rgba(37, 87, 167, .23), inset 0 1px 0 rgba(255, 255, 255, .18);
    color: #fff;
    font-size: 14px;
    font-weight: 730;
    line-height: 1.3;
    text-align: center;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.fc-conversion-primary:hover {
    background: linear-gradient(180deg, #285baa 0%, var(--fc-conversion-brand-dark) 100%);
    box-shadow: 0 15px 29px rgba(37, 87, 167, .27);
    color: #fff;
    transform: translateY(-1px);
}

.fc-conversion-assurance {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 15px 0 0;
    color: var(--fc-conversion-subtle);
    font-size: 11px;
    line-height: 1.55;
}

.fc-conversion-assurance i {
    margin-top: 2px;
    color: var(--fc-conversion-success);
}

.fc-conversion-enterprise-count {
    margin: 4px 0 14px;
    color: var(--fc-conversion-brand);
    font-size: 20px;
    font-weight: 760;
}

.fc-conversion-pricing {
    background: #fbfcfe;
}

.fc-conversion-pricing summary {
    display: flex;
    min-height: 82px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 19px clamp(30px, 4.5vw, 52px);
    color: var(--fc-conversion-ink);
    cursor: pointer;
    list-style: none;
}

.fc-conversion-pricing summary::-webkit-details-marker {
    display: none;
}

.fc-conversion-pricing summary > span {
    display: grid;
    gap: 3px;
}

.fc-conversion-pricing summary small {
    color: var(--fc-conversion-brand);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.fc-conversion-pricing summary strong {
    font-size: 14px;
    font-weight: 730;
}

.fc-conversion-pricing summary > i {
    color: var(--fc-conversion-brand);
    font-size: 12px;
    transition: transform 180ms ease;
}

.fc-conversion-pricing[open] summary > i {
    transform: rotate(180deg);
}

.fc-conversion-pricing__body {
    padding: 0 clamp(30px, 4.5vw, 52px) 34px;
}

.fc-conversion-pricing__body > p {
    margin: 0 0 18px;
    color: var(--fc-conversion-muted);
    font-size: 12px;
    line-height: 1.6;
}

.fc-conversion-pricing__breakdown {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 4px 20px;
    border: 1px solid var(--fc-conversion-line);
    border-radius: 14px;
    background: #fff;
}

.fc-conversion-pricing__breakdown > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 15px 0;
    border-bottom: 1px solid var(--fc-conversion-line);
}

.fc-conversion-pricing__breakdown > div:last-child {
    border-bottom: 0;
}

.fc-conversion-pricing__breakdown dt,
.fc-conversion-pricing__breakdown dd {
    margin: 0;
}

.fc-conversion-pricing__breakdown dt {
    color: var(--fc-conversion-muted);
    font-size: 12px;
    font-weight: 620;
}

.fc-conversion-pricing__breakdown dd {
    color: var(--fc-conversion-muted);
    font-size: 12px;
    text-align: right;
}

.fc-conversion-pricing__breakdown dd strong {
    color: var(--fc-conversion-ink);
    font-weight: 750;
}

.fc-conversion-pricing__breakdown .fc-conversion-pricing__total dt,
.fc-conversion-pricing__breakdown .fc-conversion-pricing__total dd strong {
    color: var(--fc-conversion-brand);
    font-size: 14px;
    font-weight: 790;
}

.fc-conversion-trial {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 15px;
    padding: 17px 19px;
    border: 1px solid var(--fc-conversion-line);
    border-radius: 15px;
    background: rgba(255, 255, 255, .66);
}

.fc-conversion-trial__icon,
.fc-conversion-pending__icon {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 11px;
    background: #edf4ff;
    color: var(--fc-conversion-brand);
    font-size: 13px;
}

.fc-conversion-trial__status,
.fc-conversion-pending__content > span {
    color: var(--fc-conversion-brand);
    font-size: 9px;
    font-weight: 820;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.fc-conversion-trial h2 {
    margin: 3px 0 2px;
    color: var(--fc-conversion-ink);
    font-size: 13px;
    font-weight: 730;
}

.fc-conversion-trial p {
    margin: 0;
    color: var(--fc-conversion-muted);
    font-size: 11px;
    line-height: 1.5;
}

.fc-conversion-trial__portfolio {
    padding: 7px 10px;
    border-radius: 999px;
    background: var(--fc-conversion-soft);
    color: var(--fc-conversion-muted);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.fc-conversion-trial--expired .fc-conversion-trial__icon {
    background: #fff6e8;
    color: #a15c07;
}

.fc-conversion-pending {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 16px 18px;
    border-bottom: 1px solid var(--fc-conversion-line);
    color: var(--fc-conversion-muted);
}

.fc-conversion-pending__icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
    background: var(--fc-conversion-soft);
    color: var(--fc-conversion-muted);
}

.fc-conversion-pending__content {
    flex: 1 1 auto;
}

.fc-conversion-pending__content h2 {
    margin: 3px 0 0;
    color: var(--fc-conversion-ink);
    font-size: 12px;
    font-weight: 670;
    line-height: 1.5;
}

.fc-conversion-pending__content p {
    margin: 3px 0 0;
    color: var(--fc-conversion-muted);
    font-size: 11px;
    line-height: 1.45;
}

.fc-conversion-pending__actions {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 12px;
}

.fc-conversion-pending__actions form {
    margin: 0;
}

.fc-conversion-pending__actions a,
.fc-conversion-pending__actions button {
    padding: 5px 2px;
    border: 0;
    background: transparent;
    color: var(--fc-conversion-brand);
    font-size: 11px;
    font-weight: 700;
    text-decoration: none;
}

.fc-conversion-pending__actions button {
    color: var(--fc-conversion-muted);
}

.fc-conversion-pending__actions a:hover,
.fc-conversion-pending__actions button:hover {
    color: var(--fc-conversion-ink);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.fc-conversion-primary:focus-visible,
.fc-conversion-recalculate:focus-visible,
.fc-conversion-pricing summary:focus-visible,
.fc-conversion-pending__actions a:focus-visible,
.fc-conversion-pending__actions button:focus-visible {
    outline: 3px solid var(--fc-focus-ring);
    outline-offset: 3px;
}

html[data-theme="dark"] .fc-conversion-page {
    --fc-conversion-ink: #edf3fc;
    --fc-conversion-muted: #aebbd0;
    --fc-conversion-subtle: #8fa0b8;
    --fc-conversion-line: #2a3b53;
    --fc-conversion-soft: #142238;
    --fc-conversion-brand: #9bb9ff;
    --fc-conversion-brand-dark: #b6cbff;
}

html[data-theme="dark"] .fc-conversion-eyebrow,
html[data-theme="dark"] .fc-conversion-notice,
html[data-theme="dark"] .fc-conversion-trial {
    background: rgba(17, 28, 46, .82);
}

html[data-theme="dark"] .fc-conversion-card,
html[data-theme="dark"] .fc-conversion-breakdown-card {
    border-color: rgba(148, 163, 184, .2);
    background: #111c2e;
    box-shadow: 0 16px 38px rgba(2, 6, 23, .28);
}

html[data-theme="dark"] .fc-conversion-quantity {
    background:
        radial-gradient(circle at 0 0, rgba(96, 165, 250, .10), transparent 35%),
        linear-gradient(145deg, #121e31 0%, #142238 100%);
}

html[data-theme="dark"] .fc-conversion-decision {
    background:
        radial-gradient(circle at 100% 0, rgba(96, 165, 250, .10), transparent 34%),
        #111c2e;
}

html[data-theme="dark"] .fc-conversion-quantity__control > span,
html[data-theme="dark"] .fc-conversion-trial__icon {
    background: #1b3154;
}

html[data-theme="dark"] .fc-conversion-quantity__control input,
html[data-theme="dark"] .fc-conversion-pricing__breakdown {
    border-color: #34465f;
    background: #0f192a;
    color: var(--fc-conversion-ink);
}

html[data-theme="dark"] .fc-conversion-pricing {
    background: #101a2b;
}

html[data-theme="dark"] .fc-conversion-trial--expired .fc-conversion-trial__icon {
    background: rgba(180, 105, 17, .18);
    color: #f1bd70;
}

@media (max-width: 899.98px) {
    .fc-conversion-calculator__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }
}

@media (max-width: 575.98px) {
    .fc-conversion-page {
        gap: 16px;
    }

    .fc-conversion-hero {
        padding-top: 8px;
    }

    .fc-conversion-hero h1 {
        margin-top: 15px;
        font-size: 33px;
    }

    .fc-conversion-hero p {
        font-size: 14px;
    }

    .fc-conversion-calculator {
        gap: 16px;
    }

    .fc-conversion-card,
    .fc-conversion-breakdown-card {
        border-radius: 17px;
    }

    .fc-conversion-quantity,
    .fc-conversion-decision {
        padding: 27px 20px;
    }

    .fc-conversion-price strong {
        font-size: 50px;
    }

    .fc-conversion-pricing summary {
        min-height: 76px;
        padding: 17px 20px;
    }

    .fc-conversion-pricing__body {
        padding: 0 20px 24px;
    }

    .fc-conversion-pricing__breakdown {
        padding-inline: 15px;
    }

    .fc-conversion-pricing__breakdown > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .fc-conversion-pricing__breakdown dd {
        text-align: left;
    }

    .fc-conversion-trial {
        grid-template-columns: auto minmax(0, 1fr);
        align-items: flex-start;
    }

    .fc-conversion-trial__portfolio {
        grid-column: 2;
        justify-self: start;
    }

    .fc-conversion-pending {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    .fc-conversion-pending__content {
        width: calc(100% - 48px);
    }

    .fc-conversion-pending__actions {
        width: 100%;
        padding-left: 48px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fc-conversion-primary,
    .fc-conversion-recalculate i,
    .fc-conversion-pricing summary > i {
        transition: none;
    }
}

/* Authenticated subscription and billing experience */
.fc-billing-page {
    --fc-billing-ink: #14213a;
    --fc-billing-muted: #617089;
    --fc-billing-line: #dfe7f1;
    --fc-billing-soft: #f5f8fd;
    --fc-billing-brand: #2557a7;
    --fc-billing-brand-dark: #1b4383;
    --fc-billing-success: #16815d;
    display: grid;
    gap: 22px;
    color: var(--fc-billing-ink);
}

.fc-billing-notice,
.fc-billing-request-status,
.fc-billing-assurance {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    border: 1px solid var(--fc-billing-line);
    border-radius: 14px;
    background: #fff;
    padding: 14px 16px;
}

.fc-billing-notice > span,
.fc-billing-request-status > span,
.fc-billing-assurance > span {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    place-items: center;
    border-radius: 9px;
    background: #edf4ff;
    color: var(--fc-billing-brand);
    font-size: 13px;
}

.fc-billing-notice strong,
.fc-billing-request-status strong,
.fc-billing-assurance strong {
    display: block;
    color: var(--fc-billing-ink);
    font-size: 13px;
    font-weight: 730;
}

.fc-billing-notice p,
.fc-billing-request-status p,
.fc-billing-assurance p {
    margin: 2px 0 0;
    color: var(--fc-billing-muted);
    font-size: 12px;
    line-height: 1.5;
}

.fc-billing-hero {
    position: relative;
    display: flex;
    min-height: 280px;
    align-items: center;
    justify-content: space-between;
    gap: 36px;
    overflow: hidden;
    padding: clamp(30px, 5vw, 52px);
    border: 1px solid rgba(90, 120, 166, .22);
    border-radius: 24px;
    background:
        radial-gradient(circle at 88% 18%, rgba(96, 165, 250, .19), transparent 29%),
        radial-gradient(circle at 70% 120%, rgba(20, 184, 166, .12), transparent 34%),
        linear-gradient(128deg, #f9fbff 0%, #eef4ff 58%, #edf7fa 100%);
    box-shadow: 0 20px 50px rgba(15, 35, 68, .08), 0 2px 5px rgba(15, 23, 42, .03);
}

.fc-billing-hero--expired {
    background:
        radial-gradient(circle at 88% 18%, rgba(96, 165, 250, .20), transparent 29%),
        radial-gradient(circle at 70% 120%, rgba(245, 158, 11, .10), transparent 34%),
        linear-gradient(128deg, #fbfcff 0%, #f0f5ff 58%, #f8f5ed 100%);
}

.fc-billing-hero__glow {
    position: absolute;
    top: -110px;
    right: -90px;
    width: 330px;
    height: 330px;
    border: 1px solid rgba(37, 87, 167, .10);
    border-radius: 50%;
    box-shadow: 0 0 0 38px rgba(37, 87, 167, .035), 0 0 0 78px rgba(37, 87, 167, .022);
}

.fc-billing-hero__content {
    position: relative;
    z-index: 1;
    width: min(100%, 720px);
}

.fc-billing-eyebrow,
.fc-billing-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--fc-billing-brand);
    font-size: 10px;
    font-weight: 820;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.fc-billing-eyebrow {
    padding: 7px 10px;
    border: 1px solid rgba(37, 87, 167, .13);
    border-radius: 999px;
    background: rgba(255, 255, 255, .72);
}

.fc-billing-hero h1 {
    max-width: 680px;
    margin: 18px 0 12px;
    color: var(--fc-billing-ink);
    font-size: clamp(30px, 4.4vw, 46px);
    font-weight: 810;
    letter-spacing: -.045em;
    line-height: 1.08;
}

.fc-billing-hero__content > p {
    max-width: 650px;
    margin: 0;
    color: var(--fc-billing-muted);
    font-size: 15px;
    line-height: 1.65;
}

.fc-billing-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 18px;
    margin-top: 25px;
}

.fc-billing-hero__actions form {
    margin: 0;
}

.fc-billing-primary {
    display: inline-flex;
    min-height: 50px;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 0 21px;
    border: 1px solid var(--fc-billing-brand);
    border-radius: 12px;
    background: linear-gradient(180deg, #3268ba 0%, var(--fc-billing-brand) 100%);
    box-shadow: 0 10px 22px rgba(37, 87, 167, .22), inset 0 1px 0 rgba(255, 255, 255, .17);
    color: #fff;
    font-size: 14px;
    font-weight: 720;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.fc-billing-primary:hover {
    background: linear-gradient(180deg, #285baa 0%, var(--fc-billing-brand-dark) 100%);
    box-shadow: 0 13px 27px rgba(37, 87, 167, .27);
    color: #fff;
    transform: translateY(-1px);
}

.fc-billing-secondary {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    padding: 0 4px;
    color: var(--fc-billing-brand);
    font-size: 13px;
    font-weight: 680;
    text-decoration: none;
    text-underline-offset: 4px;
}

.fc-billing-secondary:hover {
    color: var(--fc-billing-brand-dark);
    text-decoration: underline;
}

.fc-billing-primary:focus-visible,
.fc-billing-secondary:focus-visible,
.fc-billing-portfolio-action:focus-visible {
    outline: 3px solid var(--fc-focus-ring);
    outline-offset: 3px;
}

.fc-billing-hero__seal {
    position: relative;
    z-index: 1;
    display: grid;
    flex: 0 0 110px;
    justify-items: center;
    gap: 8px;
    color: var(--fc-billing-muted);
    text-align: center;
}

.fc-billing-hero__seal > span {
    display: grid;
    width: 72px;
    height: 72px;
    place-items: center;
    border: 1px solid rgba(37, 87, 167, .15);
    border-radius: 22px;
    background: rgba(255, 255, 255, .78);
    box-shadow: 0 14px 32px rgba(37, 87, 167, .10), inset 0 1px 0 #fff;
    color: var(--fc-billing-brand);
    font-size: 27px;
    transform: rotate(3deg);
}

.fc-billing-hero__seal small {
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.fc-billing-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.fc-billing-summary__card {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 13px;
    padding: 19px;
    border: 1px solid var(--fc-billing-line);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 35, 68, .045);
}

.fc-billing-summary__card--value {
    border-color: rgba(37, 87, 167, .22);
    background: linear-gradient(145deg, #fff 0%, #f5f8ff 100%);
}

.fc-billing-summary__icon,
.fc-billing-card__mark {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    place-items: center;
    border-radius: 11px;
    background: #edf4ff;
    color: var(--fc-billing-brand);
    font-size: 14px;
}

.fc-billing-summary__icon--success {
    background: #eaf8f2;
    color: #16815d;
}

.fc-billing-summary__icon--warning {
    background: #fff7e6;
    color: #9a650f;
}

.fc-billing-summary__icon--danger {
    background: #fff0f1;
    color: #c2414b;
}

.fc-billing-summary__card > div:last-child {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.fc-billing-summary__card span {
    color: var(--fc-billing-muted);
    font-size: 10px;
    font-weight: 760;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.fc-billing-summary__card strong {
    overflow-wrap: anywhere;
    color: var(--fc-billing-ink);
    font-size: 18px;
    font-weight: 760;
    line-height: 1.25;
}

.fc-billing-summary__card strong em {
    margin-left: 3px;
    color: var(--fc-billing-muted);
    font-size: 11px;
    font-style: normal;
    font-weight: 650;
}

.fc-billing-summary__card small {
    color: var(--fc-billing-muted);
    font-size: 11px;
    line-height: 1.4;
}

.fc-billing-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .85fr);
    gap: 18px;
}

.fc-billing-card,
.fc-billing-history {
    border: 1px solid var(--fc-billing-line);
    border-radius: 19px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(15, 35, 68, .05);
}

.fc-billing-card {
    padding: clamp(22px, 3vw, 28px);
}

.fc-billing-card__header,
.fc-billing-history__header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
}

.fc-billing-card h2,
.fc-billing-history h2 {
    margin: 5px 0 0;
    color: var(--fc-billing-ink);
    font-size: 20px;
    font-weight: 760;
    letter-spacing: -.025em;
}

.fc-billing-amount {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 7px;
    margin-top: 25px;
}

.fc-billing-amount strong {
    color: var(--fc-billing-brand-dark);
    font-size: clamp(31px, 5vw, 42px);
    font-weight: 830;
    letter-spacing: -.05em;
    line-height: 1;
}

.fc-billing-amount span {
    color: var(--fc-billing-muted);
    font-size: 12px;
    font-weight: 650;
}

.fc-billing-card__support {
    margin: 9px 0 0;
    color: var(--fc-billing-muted);
    font-size: 12px;
}

.fc-billing-breakdown {
    display: grid;
    gap: 0;
    margin: 22px 0 0;
    border-top: 1px solid var(--fc-billing-line);
}

.fc-billing-breakdown > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 11px 0;
    border-bottom: 1px solid var(--fc-billing-line);
    font-size: 12px;
}

.fc-billing-breakdown dt {
    color: var(--fc-billing-muted);
    font-weight: 550;
}

.fc-billing-breakdown dd {
    margin: 0;
    color: var(--fc-billing-ink);
    font-weight: 700;
    text-align: right;
}

.fc-billing-breakdown .is-positive dd {
    color: var(--fc-billing-success);
}

.fc-current-cycle__period {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 24px;
    padding: 13px 15px;
    border-radius: 12px;
    background: var(--fc-billing-soft);
}

.fc-current-cycle__period span,
.fc-current-cycle__adjustments-title {
    color: var(--fc-billing-muted);
    font-size: 10px;
    font-weight: 760;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.fc-current-cycle__period strong {
    color: var(--fc-billing-ink);
    font-size: 13px;
    font-weight: 760;
}

.fc-current-cycle__changed {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 14px;
    padding: 15px;
    border: 1px solid #c9dafb;
    border-radius: 14px;
    background: linear-gradient(135deg, #f5f8ff, #eef4ff);
}

.fc-current-cycle__changed > span {
    display: grid;
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    place-items: center;
    border-radius: 10px;
    background: #dce8ff;
    color: var(--fc-billing-brand);
}

.fc-current-cycle__changed p {
    margin: 0;
    color: #4d607c;
    font-size: 12px;
    line-height: 1.55;
}

.fc-current-cycle__changed strong {
    color: #183b79;
}

.fc-current-cycle__breakdown {
    margin-top: 16px;
}

.fc-current-cycle__breakdown .is-secondary {
    padding-left: 13px;
}

.fc-current-cycle__breakdown .is-secondary dt,
.fc-current-cycle__breakdown .is-secondary dd {
    font-size: 11px;
}

.fc-current-cycle__breakdown .is-total {
    margin: 6px -12px 0;
    padding: 15px 12px;
    border: 0;
    border-radius: 12px;
    background: #eef4ff;
}

.fc-current-cycle__breakdown .is-total dt {
    color: #284a80;
    font-weight: 760;
}

.fc-current-cycle__breakdown .is-total dd {
    color: var(--fc-billing-brand-dark);
    font-size: 21px;
    font-weight: 830;
    letter-spacing: -.025em;
}

.fc-current-cycle__adjustments {
    display: grid;
    gap: 0;
    margin-top: 20px;
}

.fc-current-cycle__adjustments-title {
    margin-bottom: 5px;
}

.fc-current-cycle__adjustments > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
    border-bottom: 1px solid var(--fc-billing-line);
    color: var(--fc-billing-ink);
    font-size: 12px;
}

.fc-current-cycle__adjustments > div span {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 9px;
}

.fc-current-cycle__adjustments small {
    color: var(--fc-billing-muted);
}

.fc-current-cycle__adjustments strong {
    color: var(--fc-billing-brand-dark);
    white-space: nowrap;
}

.fc-current-cycle__next {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 18px 0 0;
    padding-top: 16px;
    border-top: 1px solid var(--fc-billing-line);
    color: var(--fc-billing-muted);
    font-size: 12px;
    line-height: 1.55;
}

.fc-current-cycle__next i,
.fc-current-cycle__next strong {
    color: var(--fc-billing-brand-dark);
}

.fc-billing-benefit {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 17px;
    padding: 13px 14px;
    border: 1px solid #ccebdd;
    border-radius: 12px;
    background: #f0faf6;
    color: var(--fc-billing-success);
}

.fc-billing-benefit > div {
    display: grid;
    gap: 2px;
}

.fc-billing-benefit strong {
    color: #116b4e;
    font-size: 12px;
}

.fc-billing-benefit span {
    color: #3b725e;
    font-size: 11px;
}

.fc-billing-card--portfolio {
    display: flex;
    flex-direction: column;
}

.fc-billing-portfolio-count {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 26px;
}

.fc-billing-portfolio-count strong {
    color: var(--fc-billing-brand-dark);
    font-size: 48px;
    font-weight: 830;
    letter-spacing: -.055em;
    line-height: 1;
}

.fc-billing-portfolio-count span {
    color: var(--fc-billing-muted);
    font-size: 12px;
    font-weight: 650;
}

.fc-billing-card--portfolio > p {
    margin: 10px 0 0;
    color: var(--fc-billing-muted);
    font-size: 12px;
    line-height: 1.55;
}

.fc-billing-next-cycle {
    display: grid;
    gap: 3px;
    margin-top: 20px;
    padding: 14px;
    border: 1px solid var(--fc-billing-line);
    border-radius: 12px;
    background: var(--fc-billing-soft);
}

.fc-billing-next-cycle span {
    color: var(--fc-billing-muted);
    font-size: 9px;
    font-weight: 760;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.fc-billing-next-cycle strong {
    color: var(--fc-billing-ink);
    font-size: 15px;
}

.fc-billing-next-cycle small {
    color: var(--fc-billing-muted);
    font-size: 11px;
}

.fc-billing-portfolio-action {
    display: flex;
    min-height: 44px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto;
    padding-top: 22px;
    color: var(--fc-billing-brand);
    font-size: 13px;
    font-weight: 710;
    text-decoration: none;
}

.fc-billing-portfolio-action:hover {
    color: var(--fc-billing-brand-dark);
}

.fc-billing-history {
    overflow: hidden;
}

.fc-billing-history__header {
    align-items: center;
    padding: 23px 26px;
    border-bottom: 1px solid var(--fc-billing-line);
}

.fc-billing-history__header > span {
    color: var(--fc-billing-muted);
    font-size: 11px;
}

.fc-billing-history__table-wrap {
    overflow-x: auto;
}

.fc-billing-history__table {
    width: 100%;
    min-width: 680px;
    border-collapse: collapse;
}

.fc-billing-history__table th,
.fc-billing-history__table td {
    padding: 14px 18px;
    border-bottom: 1px solid var(--fc-billing-line);
    color: var(--fc-billing-muted);
    font-size: 12px;
    text-align: left;
}

.fc-billing-history__table th {
    background: var(--fc-billing-soft);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.fc-billing-history__table tbody tr:last-child td {
    border-bottom: 0;
}

.fc-billing-history__table td strong {
    display: block;
    color: var(--fc-billing-ink);
    font-weight: 700;
}

.fc-billing-history__table td span {
    display: block;
    margin-top: 2px;
    font-size: 10px;
}

.fc-billing-request-status {
    border-color: #cfe0f7;
    background: #f7faff;
}

.fc-billing-assurance {
    align-items: center;
    background: transparent;
    box-shadow: none;
}

html[data-theme="dark"] .fc-billing-page {
    --fc-billing-ink: #edf3fc;
    --fc-billing-muted: #aebbd0;
    --fc-billing-line: #2a3b53;
    --fc-billing-soft: #142238;
    --fc-billing-brand: #9bb9ff;
    --fc-billing-brand-dark: #b6cbff;
}

html[data-theme="dark"] .fc-billing-hero {
    border-color: rgba(148, 163, 184, .2);
    background:
        radial-gradient(circle at 88% 18%, rgba(96, 165, 250, .14), transparent 29%),
        radial-gradient(circle at 70% 120%, rgba(20, 184, 166, .09), transparent 34%),
        linear-gradient(128deg, #111c2e 0%, #14243c 58%, #142b39 100%);
    box-shadow: 0 20px 50px rgba(2, 6, 23, .3);
}

html[data-theme="dark"] .fc-billing-eyebrow,
html[data-theme="dark"] .fc-billing-hero__seal > span {
    border-color: rgba(148, 163, 184, .2);
    background: rgba(15, 23, 42, .45);
    box-shadow: none;
}

html[data-theme="dark"] .fc-billing-summary__card,
html[data-theme="dark"] .fc-billing-card,
html[data-theme="dark"] .fc-billing-history,
html[data-theme="dark"] .fc-billing-notice,
html[data-theme="dark"] .fc-billing-request-status,
html[data-theme="dark"] .fc-billing-assurance {
    background: #111c2e;
    box-shadow: 0 10px 30px rgba(2, 6, 23, .22);
}

html[data-theme="dark"] .fc-billing-summary__card--value {
    background: linear-gradient(145deg, #111c2e 0%, #162641 100%);
}

html[data-theme="dark"] .fc-billing-summary__icon,
html[data-theme="dark"] .fc-billing-card__mark,
html[data-theme="dark"] .fc-billing-notice > span,
html[data-theme="dark"] .fc-billing-request-status > span,
html[data-theme="dark"] .fc-billing-assurance > span {
    background: #1b3154;
}

html[data-theme="dark"] .fc-billing-benefit {
    border-color: rgba(94, 224, 173, .2);
    background: rgba(22, 129, 93, .13);
}

html[data-theme="dark"] .fc-billing-benefit strong,
html[data-theme="dark"] .fc-billing-benefit span {
    color: #87d9b9;
}

html[data-theme="dark"] .fc-current-cycle__changed {
    border-color: rgba(129, 164, 235, .25);
    background: linear-gradient(135deg, rgba(30, 64, 175, .15), rgba(37, 99, 235, .08));
}

html[data-theme="dark"] .fc-current-cycle__changed > span,
html[data-theme="dark"] .fc-current-cycle__breakdown .is-total {
    background: #1b3154;
}

html[data-theme="dark"] .fc-current-cycle__changed p,
html[data-theme="dark"] .fc-current-cycle__changed strong,
html[data-theme="dark"] .fc-current-cycle__breakdown .is-total dt {
    color: #b8c8e2;
}

@media (max-width: 991.98px) {
    .fc-billing-summary {
        grid-template-columns: 1fr;
    }

    .fc-billing-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767.98px) {
    .fc-billing-hero {
        min-height: auto;
        padding: 30px 24px;
    }

    .fc-billing-hero__seal {
        display: none;
    }

    .fc-billing-history__header {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 575.98px) {
    .fc-billing-page {
        gap: 16px;
    }

    .fc-billing-hero {
        padding: 26px 20px;
        border-radius: 19px;
    }

    .fc-billing-hero h1 {
        font-size: 31px;
    }

    .fc-billing-hero__actions,
    .fc-billing-hero__actions form,
    .fc-billing-primary {
        width: 100%;
    }

    .fc-billing-secondary {
        width: 100%;
        justify-content: center;
    }

    .fc-billing-summary__card,
    .fc-billing-card {
        padding: 18px;
    }

    .fc-billing-breakdown > div {
        align-items: flex-start;
    }

    .fc-current-cycle__period,
    .fc-current-cycle__adjustments > div {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .fc-current-cycle__breakdown .is-total dd {
        font-size: 18px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fc-billing-primary,
    .fc-billing-secondary,
    .fc-billing-portfolio-action {
        transition: none;
    }
}

/* Capacity expansion modals. */
.fc-trial-expansion__primary {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 12px;
    border: 1px solid #2557a7;
    border-radius: 11px;
    background: linear-gradient(180deg, #2f66bb 0%, #2557a7 100%);
    box-shadow: 0 8px 18px rgba(37, 87, 167, .18), inset 0 1px 0 rgba(255, 255, 255, .18);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    padding: 0 18px;
    text-decoration: none;
    transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.fc-trial-expansion__primary:hover {
    background: linear-gradient(180deg, #285cae 0%, #1e478b 100%);
    box-shadow: 0 11px 24px rgba(37, 87, 167, .24), inset 0 1px 0 rgba(255, 255, 255, .16);
    color: #fff;
    transform: translateY(-1px);
}

.fc-trial-expansion__primary:active {
    box-shadow: 0 5px 12px rgba(37, 87, 167, .18);
    transform: translateY(0);
}

.fc-trial-expansion__primary:focus-visible,
.fc-trial-expansion__secondary:focus-visible,
.fc-trial-expansion__tertiary:focus-visible,
.fc-trial-expansion__close:focus-visible {
    outline: 3px solid var(--fc-focus-ring);
    outline-offset: 3px;
}

.fc-trial-expansion__dialog {
    width: min(calc(100% - 32px), 680px);
    max-width: 680px;
    margin-inline: auto;
}

.fc-trial-expansion__surface {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, .28);
    border-radius: 24px;
    background: var(--fc-surface-elevated);
    box-shadow: 0 28px 80px rgba(15, 23, 42, .24), 0 2px 8px rgba(15, 23, 42, .08);
    color: var(--fc-text);
}

.fc-trial-expansion__surface::before {
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: linear-gradient(90deg, #2557a7 0%, #4f46e5 62%, #0f766e 100%);
    content: "";
}

.fc-trial-expansion__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 28px 32px 0;
}

.fc-trial-expansion__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #2557a7;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.fc-trial-expansion__eyebrow-icon {
    display: grid;
    width: 26px;
    height: 26px;
    place-items: center;
    border-radius: 8px;
    background: var(--fc-primary-soft);
    font-size: 11px;
}

.fc-trial-expansion__close {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid transparent;
    border-radius: 10px;
    background: transparent;
    color: var(--fc-text-subtle);
    font-size: 17px;
    transition: border-color 160ms ease, background 160ms ease, color 160ms ease;
}

.fc-trial-expansion__close:hover {
    border-color: var(--fc-border-subtle);
    background: var(--fc-background-secondary);
    color: var(--fc-text);
}

.fc-trial-expansion__body {
    padding: 8px 32px 30px;
}

.fc-trial-expansion__intro h2 {
    margin: 12px 0 9px;
    color: var(--fc-text);
    font-size: clamp(25px, 4vw, 31px);
    font-weight: 780;
    letter-spacing: -.035em;
    line-height: 1.15;
}

.fc-trial-expansion__intro > p:first-of-type {
    max-width: 570px;
    margin: 0;
    color: var(--fc-text-secondary);
    font-size: 15px;
    line-height: 1.6;
}

.fc-trial-expansion__intro > p:first-of-type strong {
    color: var(--fc-text);
    font-weight: 750;
}

.fc-trial-expansion__continuity {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 10px 0 0;
    color: var(--fc-success);
    font-size: 13px;
    font-weight: 680;
}

.fc-trial-expansion__price {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 18px 24px;
    margin-top: 24px;
    padding: 20px;
    border: 1px solid rgba(37, 87, 167, .16);
    border-radius: 17px;
    background:
        radial-gradient(circle at 100% 0%, rgba(79, 70, 229, .09), transparent 38%),
        linear-gradient(145deg, #f8fbff 0%, #f2f6ff 100%);
}

.fc-trial-expansion__portfolio {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 12px;
}

.fc-trial-expansion__portfolio-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border: 1px solid rgba(37, 87, 167, .12);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(37, 87, 167, .08);
    color: #2557a7;
}

.fc-trial-expansion__portfolio span:last-child {
    display: grid;
    gap: 2px;
}

.fc-trial-expansion__portfolio small {
    color: var(--fc-text-subtle);
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.fc-trial-expansion__portfolio strong {
    color: var(--fc-text);
    font-size: 17px;
    font-weight: 740;
}

.fc-trial-expansion__amount {
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    white-space: nowrap;
}

.fc-trial-expansion__amount strong {
    color: #1e478b;
    font-size: clamp(27px, 5vw, 35px);
    font-weight: 820;
    letter-spacing: -.045em;
    line-height: 1;
}

.fc-trial-expansion__amount span {
    margin-left: 4px;
    color: var(--fc-text-secondary);
    font-size: 13px;
    font-weight: 650;
}

.fc-trial-expansion__price > p {
    display: flex;
    grid-column: 1 / -1;
    align-items: center;
    gap: 7px;
    margin: 0;
    padding-top: 13px;
    border-top: 1px solid rgba(37, 87, 167, .11);
    color: var(--fc-text-subtle);
    font-size: 11px;
    line-height: 1.4;
}

.fc-trial-expansion__price > p i {
    color: #4f46e5;
}

.fc-trial-expansion__assurance {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 16px 0 22px;
    padding: 14px 15px;
    border: 1px solid var(--fc-border-subtle);
    border-radius: 13px;
    background: rgba(248, 250, 252, .72);
}

.fc-trial-expansion__assurance > span {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border-radius: 9px;
    background: var(--fc-success-soft);
    color: var(--fc-success);
    font-size: 13px;
}

.fc-trial-expansion__assurance p {
    margin: 0;
    color: var(--fc-text-secondary);
    font-size: 12px;
    line-height: 1.55;
}

.fc-trial-expansion__assurance strong {
    color: var(--fc-text);
    font-weight: 730;
}

.fc-trial-expansion__actions {
    display: grid;
    justify-items: center;
    gap: 4px;
}

.fc-trial-expansion__actions form,
.fc-trial-expansion__primary {
    width: 100%;
}

.fc-trial-expansion__primary {
    min-height: 52px;
    padding-inline: 22px;
    border-radius: 12px;
    font-size: 15px;
}

.fc-trial-expansion__secondary {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 7px;
    margin-top: 5px;
    color: var(--fc-primary);
    font-size: 13px;
    font-weight: 670;
    text-decoration: none;
}

.fc-trial-expansion__secondary i {
    font-size: 9px;
    transition: transform 160ms ease;
}

.fc-trial-expansion__secondary:hover {
    color: var(--fc-primary-hover);
}

.fc-trial-expansion__secondary:hover i {
    transform: translateX(2px);
}

.fc-trial-expansion__tertiary {
    min-height: 34px;
    padding: 4px 12px;
    border: 0;
    background: transparent;
    color: var(--fc-text-subtle);
    font-size: 12px;
    font-weight: 600;
}

.fc-trial-expansion__tertiary:hover {
    color: var(--fc-text);
}

.fc-enterprise-capacity__dialog {
    width: min(calc(100% - 32px), 560px);
    max-width: 560px;
}

.fc-enterprise-capacity .fc-trial-expansion__body {
    padding-bottom: 34px;
}

.fc-enterprise-capacity .fc-trial-expansion__intro > p:first-of-type {
    max-width: 490px;
}

.fc-enterprise-capacity .fc-trial-expansion__actions {
    gap: 8px;
    margin-top: 28px;
}

.fc-enterprise-capacity__primary.contact-cta {
    width: 100%;
    min-height: 56px;
}

.fc-enterprise-capacity__primary .contact-cta__icon {
    width: 20px;
    height: 20px;
}

.fc-enterprise-capacity .fc-trial-expansion__tertiary {
    margin-top: 2px;
}

html[data-theme="dark"] .fc-trial-expansion__surface {
    --fc-surface-elevated: #111c2e;
    --fc-border-subtle: #293a51;
    --fc-text: #edf3fc;
    --fc-text-secondary: #b3c0d3;
    --fc-text-subtle: #91a1b8;
    --fc-primary-soft: #1b3154;
    --fc-success-soft: rgba(22, 129, 93, .17);
}

html[data-theme="dark"] .fc-trial-expansion__eyebrow,
html[data-theme="dark"] .fc-trial-expansion__secondary {
    color: #9bb9ff;
}

html[data-theme="dark"] .fc-trial-expansion__surface {
    border-color: rgba(148, 163, 184, .2);
    background: #111c2e;
    box-shadow: 0 28px 80px rgba(2, 6, 23, .52);
}

html[data-theme="dark"] .fc-trial-expansion__eyebrow-icon {
    background: #1b3154;
}

html[data-theme="dark"] .fc-trial-expansion__close:hover {
    border-color: #334155;
    background: #1e293b;
}

html[data-theme="dark"] .fc-trial-expansion__price {
    border-color: rgba(96, 165, 250, .22);
    background:
        radial-gradient(circle at 100% 0%, rgba(99, 102, 241, .14), transparent 38%),
        linear-gradient(145deg, #14243c 0%, #182947 100%);
}

html[data-theme="dark"] .fc-trial-expansion__portfolio-icon {
    border-color: rgba(96, 165, 250, .18);
    background: #1d2d47;
    color: #9bb9ff;
}

html[data-theme="dark"] .fc-trial-expansion__amount strong {
    color: #a9c3ff;
}

html[data-theme="dark"] .fc-trial-expansion__assurance {
    border-color: #293a51;
    background: rgba(15, 23, 42, .48);
}

html[data-theme="dark"] .fc-trial-expansion__assurance > span {
    background: rgba(22, 129, 93, .17);
}

@media (max-width: 575.98px) {
.fc-trial-expansion__dialog {
        width: 100%;
        min-height: 100%;
        align-items: flex-end;
        margin: 0;
    }

.fc-trial-expansion__surface {
        max-height: calc(100vh - 18px);
        overflow-y: auto;
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        border-radius: 22px 22px 0 0;
    }

.fc-trial-expansion__header {
        padding: 23px 20px 0;
    }

.fc-trial-expansion__body {
        padding: 6px 20px calc(22px + env(safe-area-inset-bottom, 0px));
    }

.fc-enterprise-capacity .fc-trial-expansion__body {
        padding-bottom: calc(26px + env(safe-area-inset-bottom, 0px));
    }

.fc-trial-expansion__intro h2 {
        margin-top: 10px;
    }

.fc-trial-expansion__price {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 17px;
    }

.fc-trial-expansion__amount {
        justify-content: flex-start;
        padding-left: 54px;
    }

.fc-trial-expansion__price > p {
        padding-top: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
.fc-trial-expansion__primary,
.fc-trial-expansion__secondary,
.fc-trial-expansion__secondary i,
.fc-trial-expansion__tertiary,
.fc-trial-expansion__close {
        transition: none;
    }
}

/* Credit cards — module navigation and invoice context */
.fc-credit-card-tabs {
    overflow: hidden;
}

.fc-credit-card-tabs .fc-card-header {
    background: var(--fc-surface);
    padding: 8px 10px 0;
}

.fc-credit-card-tabs__nav {
    overflow-x: auto;
    scrollbar-width: thin;
}

.fc-credit-card-tabs__list {
    display: inline-flex;
    flex-wrap: nowrap;
    gap: 4px;
    min-width: 100%;
    margin: 0;
}

.fc-credit-card-tabs .nav-link {
    position: relative;
    min-height: 44px;
    padding: 11px 16px 12px;
    border: 0;
    border-radius: 8px 8px 0 0;
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-sm);
    font-weight: var(--fc-weight-semibold);
    white-space: nowrap;
    transition: background-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.fc-credit-card-tabs .nav-link:hover {
    background: var(--fc-background-secondary);
    color: var(--fc-primary);
}

.fc-credit-card-tabs .nav-link:focus-visible {
    outline: 3px solid var(--fc-focus-ring);
    outline-offset: -3px;
}

.fc-credit-card-tabs .nav-link.active {
    background: var(--fc-primary-soft);
    box-shadow: inset 0 -3px 0 var(--fc-primary);
    color: var(--fc-primary);
}

.fc-credit-card-invoice-preview {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 12px;
    min-height: 58px;
    padding: 11px 13px;
    border: 1px solid var(--fc-border);
    border-radius: 10px;
    background: var(--fc-background-secondary);
    color: var(--fc-text);
}

.fc-credit-card-invoice-preview__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 9px;
    background: var(--fc-primary-soft);
    color: var(--fc-primary);
}

.fc-credit-card-invoice-preview__content {
    min-width: 0;
}

.fc-credit-card-invoice-preview__title {
    display: block;
    margin-bottom: 2px;
    font-size: var(--fc-text-sm);
    font-weight: var(--fc-weight-bold);
    line-height: 1.35;
}

.fc-credit-card-invoice-preview__text {
    margin: 0;
    color: var(--fc-text-secondary);
    font-size: var(--fc-text-xs);
    line-height: 1.45;
}

.fc-credit-card-invoice-preview__details {
    display: grid;
    grid-template-columns: minmax(150px, 1.5fr) repeat(2, minmax(100px, 1fr));
    gap: 8px 16px;
    margin: 9px 0 0;
    padding-top: 9px;
    border-top: 1px solid var(--fc-border-subtle);
}

.fc-credit-card-invoice-preview__details[hidden] {
    display: none;
}

.fc-credit-card-invoice-preview__details div {
    min-width: 0;
}

.fc-credit-card-invoice-preview__details dt {
    margin-bottom: 1px;
    color: var(--fc-text-subtle);
    font-size: .6875rem;
    font-weight: var(--fc-weight-semibold);
    letter-spacing: .02em;
    text-transform: uppercase;
}

.fc-credit-card-invoice-preview__details dd {
    margin: 0;
    color: var(--fc-text);
    font-size: var(--fc-text-xs);
    font-weight: var(--fc-weight-semibold);
}

.fc-credit-card-invoice-preview.is-ready {
    border-color: var(--fc-success);
    background: var(--fc-success-soft);
}

.fc-credit-card-invoice-preview.is-ready .fc-credit-card-invoice-preview__icon {
    background: var(--fc-surface);
    color: var(--fc-success);
}

.fc-credit-card-invoice-preview.is-blocked,
.fc-credit-card-invoice-preview.is-error {
    border-color: var(--fc-danger);
    background: var(--fc-danger-soft);
}

.fc-credit-card-invoice-preview.is-blocked .fc-credit-card-invoice-preview__icon,
.fc-credit-card-invoice-preview.is-error .fc-credit-card-invoice-preview__icon {
    background: var(--fc-surface);
    color: var(--fc-danger);
}

.fc-credit-card-closing-bar {
    display: flex;
    align-items: center;
    gap: 16px;
}

.fc-credit-card-closing-bar .fc-credit-card-invoice-preview {
    flex: 1 1 auto;
}

.fc-credit-card-closing-bar form {
    flex: 0 0 auto;
}

.fc-credit-card-closing-bar .btn {
    min-height: 42px;
    white-space: nowrap;
}

@media (max-width: 575.98px) {
    .fc-credit-card-tabs .fc-card-header {
        padding-inline: 6px;
    }

    .fc-credit-card-tabs__list .nav-item {
        flex: 1 1 0;
    }

    .fc-credit-card-tabs .nav-link {
        display: flex;
        justify-content: center;
        width: 100%;
        padding-inline: 10px;
    }

    .fc-credit-card-invoice-preview {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: 10px;
        padding: 10px;
    }

    .fc-credit-card-invoice-preview__icon {
        width: 32px;
        height: 32px;
    }

    .fc-credit-card-invoice-preview__details {
        grid-template-columns: 1fr 1fr;
    }

    .fc-credit-card-invoice-preview__details div:first-child {
        grid-column: 1 / -1;
    }

    .fc-credit-card-closing-bar {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .fc-credit-card-closing-bar form,
    .fc-credit-card-closing-bar .btn {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fc-credit-card-tabs .nav-link {
        transition: none;
    }
}

/* Account-facing billing workspace */
.fc-account-billing {
    --fc-account-navy: #14213d;
    --fc-account-blue: #2563eb;
    --fc-account-blue-soft: #eff6ff;
    --fc-account-border: #e3e8f0;
    --fc-account-muted: #64748b;
    --fc-account-surface: #ffffff;
    display: grid;
    gap: 20px;
    max-width: 1360px;
    margin: 0 auto;
    color: var(--fc-account-navy);
}

.fc-account-billing__flash {
    margin: 0;
    border: 0;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
}

.fc-account-header,
.fc-account-panel,
.fc-account-capacity-summary,
.fc-account-empty {
    border: 1px solid var(--fc-account-border);
    border-radius: 16px;
    background: var(--fc-account-surface);
    box-shadow: 0 10px 28px rgba(15, 23, 42, .055);
}

.fc-account-header {
    overflow: visible;
}

.fc-account-header__main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    min-height: 132px;
    padding: 26px 28px 22px;
}

.fc-account-header__title {
    min-width: 0;
}

.fc-account-header__eyebrow,
.fc-account-section-heading span,
.fc-account-panel__heading > div > span,
.fc-account-company-panel > div > span,
.fc-account-manage > div > span {
    display: block;
    margin-bottom: 5px;
    color: var(--fc-account-blue);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fc-account-header__heading {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.fc-account-header__heading h1 {
    margin: 0;
    color: var(--fc-account-navy);
    font-size: clamp(24px, 2.25vw, 32px);
    font-weight: 750;
    letter-spacing: -.025em;
}

.fc-account-header__title p,
.fc-account-section-heading p,
.fc-account-panel__support,
.fc-account-company-panel p,
.fc-account-manage p,
.fc-account-empty p {
    margin: 6px 0 0;
    color: var(--fc-account-muted);
    line-height: 1.55;
}

.fc-account-header__title .fc-account-header__context {
    margin-top: 2px;
    font-size: 12px;
}

.fc-account-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #eef2f7;
    color: #475569;
    font-size: 12px;
    font-weight: 750;
}

.fc-account-status--success {
    background: #e9f9f0;
    color: #16794a;
}

.fc-account-status--warning {
    background: #fff6db;
    color: #946200;
}

.fc-account-status--danger {
    background: #feeeee;
    color: #b4232d;
}

.fc-account-status--info {
    background: #eaf4ff;
    color: #1d5fbf;
}

.fc-account-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
}

.fc-account-header__actions form {
    margin: 0;
}

.fc-account-action-menu {
    position: relative;
}

.fc-account-action-menu summary {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--fc-account-border);
    border-radius: 9px;
    background: #fff;
    color: #475569;
    cursor: pointer;
    list-style: none;
}

.fc-account-action-menu summary::-webkit-details-marker {
    display: none;
}

.fc-account-action-menu form {
    position: absolute;
    z-index: 5;
    top: calc(100% + 7px);
    right: 0;
    min-width: 190px;
    padding: 7px;
    border: 1px solid var(--fc-account-border);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(15, 23, 42, .14);
}

.fc-account-action-menu button {
    width: 100%;
    padding: 9px 11px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: #b4232d;
    text-align: left;
}

.fc-account-action-menu button:hover {
    background: #fff1f2;
}

.fc-account-tabs {
    display: flex;
    gap: 3px;
    padding: 0 20px;
    border-top: 1px solid #edf0f5;
}

.fc-account-tabs a {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 15px 16px 14px;
    color: #64748b;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
}

.fc-account-tabs a::after {
    position: absolute;
    right: 12px;
    bottom: -1px;
    left: 12px;
    height: 2px;
    border-radius: 999px;
    background: transparent;
    content: '';
}

.fc-account-tabs a:hover,
.fc-account-tabs a.is-active {
    color: var(--fc-account-blue);
}

.fc-account-tabs a.is-active::after {
    background: var(--fc-account-blue);
}

.fc-account-tabs a:focus-visible,
.fc-account-subtabs a:focus-visible,
.fc-account-action-menu summary:focus-visible {
    outline: 3px solid rgba(37, 99, 235, .28);
    outline-offset: 2px;
}

.fc-account-tab {
    display: grid;
    gap: 18px;
}

.fc-account-section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    padding: 4px 2px 0;
}

.fc-account-section-heading h2,
.fc-account-panel__heading h3,
.fc-account-company-panel h3,
.fc-account-manage h3 {
    margin: 0;
    color: var(--fc-account-navy);
    font-weight: 750;
    letter-spacing: -.018em;
}

.fc-account-section-heading h2 {
    font-size: 21px;
}

.fc-account-section-heading > p {
    max-width: 510px;
    text-align: right;
}

.fc-account-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.fc-account-kpi {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    min-height: 116px;
    padding: 18px;
    border: 1px solid var(--fc-account-border);
    border-radius: 14px;
    background: var(--fc-account-surface);
}

.fc-account-kpi__icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border-radius: 10px;
    background: var(--fc-account-blue-soft);
    color: var(--fc-account-blue);
}

.fc-account-kpi small,
.fc-account-charge-summary small,
.fc-account-capacity-summary small,
.fc-account-scheduled small,
.fc-account-preview small {
    display: block;
    color: var(--fc-account-muted);
    font-size: 12px;
    font-weight: 650;
}

.fc-account-kpi strong {
    display: block;
    margin-top: 2px;
    color: var(--fc-account-navy);
    font-size: 16px;
    line-height: 1.3;
}

.fc-account-kpi p {
    margin: 4px 0 0;
    color: var(--fc-account-muted);
    font-size: 12px;
    line-height: 1.35;
}

.fc-account-alert {
    display: grid;
    grid-template-columns: 36px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
    padding: 15px 17px;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #f4f9ff;
    color: #1e4f8f;
}

.fc-account-alert > i {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    border-radius: 9px;
    background: rgba(37, 99, 235, .1);
}

.fc-account-alert strong {
    color: inherit;
}

.fc-account-alert p {
    margin: 2px 0 0;
    color: inherit;
    font-size: 13px;
    line-height: 1.5;
}

.fc-account-alert--warning {
    border-color: #f2d28a;
    background: #fffaf0;
    color: #805b10;
}

.fc-account-alert--neutral {
    border-color: var(--fc-account-border);
    background: #f8fafc;
    color: #536176;
}

.fc-account-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
    gap: 16px;
}

.fc-account-panel {
    min-width: 0;
    padding: 22px;
}

.fc-account-panel__heading {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.fc-account-panel__heading h3,
.fc-account-company-panel h3,
.fc-account-manage h3 {
    font-size: 18px;
}

.fc-account-panel__heading > i {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 10px;
    background: var(--fc-account-blue-soft);
    color: var(--fc-account-blue);
}

.fc-account-panel__heading a {
    color: var(--fc-account-blue);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.fc-account-facts,
.fc-account-breakdown {
    display: grid;
    gap: 0;
    margin: 0;
}

.fc-account-facts > div,
.fc-account-breakdown > div {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 11px 0;
    border-bottom: 1px solid #edf0f5;
}

.fc-account-facts > div:last-child,
.fc-account-breakdown > div:last-child {
    border-bottom: 0;
}

.fc-account-facts dt,
.fc-account-breakdown dt {
    color: var(--fc-account-muted);
    font-weight: 500;
}

.fc-account-facts dd,
.fc-account-breakdown dd {
    margin: 0;
    color: var(--fc-account-navy);
    font-weight: 700;
    text-align: right;
}

.fc-account-breakdown .is-positive dd {
    color: #16794a;
}

.fc-account-breakdown .is-total {
    margin-top: 5px;
    padding: 14px;
    border: 0;
    border-radius: 10px;
    background: #f1f6ff;
}

.fc-account-condition {
    display: flex;
    align-items: start;
    gap: 10px;
    margin-top: 14px;
    padding: 12px 14px;
    border-radius: 10px;
    background: #f5f8fc;
    color: #52627a;
    font-size: 13px;
    line-height: 1.5;
}

.fc-account-condition i {
    margin-top: 3px;
    color: var(--fc-account-blue);
}

.fc-account-condition strong {
    display: block;
    color: var(--fc-account-navy);
}

.fc-account-panel--capacity {
    text-align: center;
}

.fc-account-panel--capacity .fc-account-panel__heading {
    text-align: left;
}

.fc-account-capacity-ring {
    display: grid;
    width: 126px;
    height: 126px;
    margin: 10px auto 14px;
    place-content: center;
    border-radius: 50%;
    background: radial-gradient(circle closest-side, #fff 74%, transparent 75% 99%), conic-gradient(var(--fc-account-blue) calc(var(--capacity) * 1%), #e8edf5 0);
}

.fc-account-capacity-ring strong {
    font-size: 24px;
}

.fc-account-capacity-ring span {
    color: var(--fc-account-muted);
    font-size: 12px;
}

.fc-account-panel--capacity > p {
    margin: 0;
    color: var(--fc-account-muted);
    font-size: 13px;
}

.fc-account-billing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.fc-account-disclosure {
    margin-top: 16px;
}

.fc-account-disclosure > summary {
    width: fit-content;
    cursor: pointer;
    list-style: none;
}

.fc-account-disclosure > summary::-webkit-details-marker {
    display: none;
}

.fc-account-disclosure--danger > summary {
    color: #a52b35;
    font-size: 13px;
}

.fc-account-disclosure--danger form {
    display: grid;
    gap: 9px;
    margin-top: 12px;
    padding: 14px;
    border-radius: 10px;
    background: #fff7f7;
}

.fc-account-card-form {
    display: grid;
    gap: 12px;
    margin-top: 16px;
    padding: 16px;
    border: 1px solid var(--fc-account-border);
    border-radius: 12px;
    background: #f8fafc;
}

.fc-account-card-form label,
.fc-account-disclosure--danger label,
.fc-account-pix label,
.fc-account-capacity-forms label {
    display: block;
    margin-bottom: 5px;
    color: #405069;
    font-size: 12px;
    font-weight: 700;
}

.fc-account-card-form__row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 9px;
}

.fc-account-form-status {
    margin: 0;
    color: var(--fc-account-muted);
    font-size: 12px;
}

.fc-account-check {
    display: flex !important;
    align-items: flex-start;
    gap: 8px;
    margin: 10px 0 !important;
    color: #536176;
    font-size: 13px !important;
    font-weight: 500 !important;
}

.fc-account-check input {
    margin-top: 3px;
}

.fc-account-open-charge {
    display: grid;
}

.fc-account-charge-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.fc-account-charge-summary > div {
    padding: 13px;
    border-radius: 10px;
    background: #f7f9fc;
}

.fc-account-charge-summary strong {
    display: block;
    margin-top: 3px;
    color: var(--fc-account-navy);
}

.fc-account-pix {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    align-items: center;
    gap: 24px;
    padding-top: 4px;
}

.fc-account-pix__visual {
    display: grid;
    min-height: 190px;
    place-items: center;
    padding: 12px;
    border: 1px solid var(--fc-account-border);
    border-radius: 12px;
    background: #fff;
}

.fc-account-pix__visual img {
    display: block;
    width: 100%;
    max-width: 180px;
}

.fc-account-pix__visual span {
    display: grid;
    gap: 8px;
    justify-items: center;
    color: var(--fc-account-blue);
    text-align: center;
}

.fc-account-pix__visual i {
    font-size: 38px;
}

.fc-account-pix__visual small,
.fc-account-pix__content p {
    color: var(--fc-account-muted);
    font-size: 12px;
}

.fc-account-pix__content p {
    margin: 8px 0 12px;
}

.fc-account-manage,
.fc-account-company-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.fc-account-manage form {
    flex: 0 0 auto;
    margin: 0;
}

.fc-account-empty {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    padding: 22px;
    box-shadow: none;
}

.fc-account-empty--compact {
    padding: 15px;
    border: 0;
    background: #f7f9fc;
}

.fc-account-empty > i {
    display: grid;
    width: 38px;
    height: 38px;
    flex: 0 0 auto;
    place-items: center;
    border-radius: 10px;
    background: var(--fc-account-blue-soft);
    color: var(--fc-account-blue);
}

.fc-account-empty strong {
    color: var(--fc-account-navy);
}

.fc-account-empty p {
    font-size: 13px;
}

.fc-account-capacity-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(100px, .65fr)) minmax(260px, 1.4fr);
    overflow: hidden;
}

.fc-account-capacity-summary > article {
    padding: 22px;
    border-right: 1px solid var(--fc-account-border);
}

.fc-account-capacity-summary > article:last-child {
    border: 0;
}

.fc-account-capacity-summary strong {
    display: inline-block;
    margin: 2px 5px 0 0;
    color: var(--fc-account-navy);
    font-size: 28px;
}

.fc-account-capacity-summary span {
    color: var(--fc-account-muted);
    font-size: 12px;
}

.fc-account-capacity-summary__progress > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.fc-account-capacity-summary__progress strong {
    font-size: 17px;
}

.fc-account-progress {
    height: 8px;
    margin-top: 8px;
    overflow: hidden;
    border-radius: 999px;
    background: #e8edf5;
}

.fc-account-progress span {
    display: block;
    height: 100%;
    border-radius: inherit;
    background: var(--fc-account-blue);
}

.fc-account-capacity-summary__progress p {
    margin: 8px 0 0;
    color: var(--fc-account-muted);
    font-size: 11px;
    line-height: 1.4;
}

.fc-account-company-panel__actions {
    display: flex;
    flex: 0 0 auto;
    gap: 8px;
}

.fc-account-capacity-forms {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.fc-account-capacity-forms form {
    padding: 16px;
    border: 1px solid var(--fc-account-border);
    border-radius: 12px;
    background: #f8fafc;
}

.fc-account-capacity-forms form > div {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 11px;
}

.fc-account-capacity-forms input {
    max-width: 150px;
}

.fc-account-capacity-forms form > div > span {
    color: var(--fc-account-muted);
    font-size: 13px;
}

.fc-account-scheduled {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px;
    border: 1px solid #f2d28a;
    border-radius: 12px;
    background: #fffaf0;
}

.fc-account-scheduled strong,
.fc-account-scheduled span {
    display: block;
}

.fc-account-scheduled strong {
    color: #664814;
    font-size: 17px;
}

.fc-account-scheduled span {
    color: #805b10;
    font-size: 12px;
}

.fc-account-preview {
    margin-top: 18px;
    padding: 18px;
    border: 1px solid #bfdbfe;
    border-radius: 12px;
    background: #f6faff;
}

.fc-account-preview__heading strong {
    display: block;
    color: var(--fc-account-navy);
    font-size: 20px;
}

.fc-account-preview dl {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 15px 0;
}

.fc-account-preview dl > div {
    padding: 12px;
    border-radius: 9px;
    background: #fff;
}

.fc-account-preview dt {
    color: var(--fc-account-muted);
    font-size: 11px;
}

.fc-account-preview dd {
    margin: 3px 0 0;
    color: var(--fc-account-navy);
    font-weight: 750;
}

.fc-account-preview dd small {
    font-weight: 500;
}

.fc-account-preview > p {
    color: #52627a;
    font-size: 13px;
}

.fc-account-cycle-period,
.fc-account-next-cycle {
    padding: 11px 13px;
    border-radius: 9px;
    background: #f7f9fc;
    color: #536176;
    font-size: 13px;
}

.fc-account-next-cycle {
    margin: 14px 0 0;
}

.fc-account-adjustment-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    padding: 14px;
    border-radius: 10px;
    background: #f8fafc;
}

.fc-account-adjustment-list > div {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    color: #536176;
    font-size: 13px;
}

.fc-account-adjustment-list small {
    color: var(--fc-account-muted);
}

.fc-account-subtabs {
    display: flex;
    gap: 6px;
    width: fit-content;
    padding: 5px;
    border: 1px solid var(--fc-account-border);
    border-radius: 11px;
    background: #fff;
}

.fc-account-subtabs a {
    padding: 8px 13px;
    border-radius: 8px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.fc-account-subtabs a:hover,
.fc-account-subtabs a.is-active {
    background: var(--fc-account-blue-soft);
    color: var(--fc-account-blue);
}

.fc-account-table-panel {
    padding-right: 0;
    padding-left: 0;
    overflow: hidden;
}

.fc-account-table-panel > .fc-account-panel__heading,
.fc-account-table-panel > .fc-account-empty {
    margin-right: 22px;
    margin-left: 22px;
}

.fc-account-table {
    width: 100%;
    border-collapse: collapse;
    color: #405069;
    font-size: 13px;
}

.fc-account-table th {
    padding: 11px 18px;
    border-top: 1px solid var(--fc-account-border);
    border-bottom: 1px solid var(--fc-account-border);
    background: #f8fafc;
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.fc-account-table td {
    padding: 14px 18px;
    border-bottom: 1px solid #edf0f5;
    vertical-align: middle;
}

.fc-account-table tbody tr:last-child td {
    border-bottom: 0;
}

.fc-account-table td > small {
    display: block;
    margin-top: 3px;
    color: var(--fc-account-muted);
}

.fc-account-table-status {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    background: #edf1f6;
    color: #536176;
    font-size: 11px;
    font-weight: 750;
}

.fc-account-table-status--applied {
    background: #e9f9f0;
    color: #16794a;
}

.fc-account-table-status--scheduled {
    background: #fff6db;
    color: #946200;
}

.fc-account-pagination {
    padding: 14px 18px 0;
    border-top: 1px solid #edf0f5;
}

.fc-account-timeline {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.fc-account-timeline li {
    position: relative;
    display: grid;
    grid-template-columns: 130px minmax(0, 1fr);
    gap: 22px;
    padding: 0 0 22px 19px;
    border-left: 1px solid #dce3ec;
}

.fc-account-timeline li::before {
    position: absolute;
    top: 3px;
    left: -5px;
    width: 9px;
    height: 9px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: var(--fc-account-blue);
    box-shadow: 0 0 0 1px var(--fc-account-blue);
    content: '';
}

.fc-account-timeline li:last-child {
    padding-bottom: 0;
    border-left-color: transparent;
}

.fc-account-timeline time {
    color: var(--fc-account-muted);
    font-size: 12px;
}

.fc-account-timeline strong,
.fc-account-timeline small {
    display: block;
}

.fc-account-timeline strong {
    color: var(--fc-account-navy);
}

.fc-account-timeline small {
    margin-top: 3px;
    color: var(--fc-account-muted);
}

.fc-account-assurance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 2px 12px 14px;
    color: var(--fc-account-muted);
    text-align: center;
}

.fc-account-assurance i {
    color: #27805a;
}

.fc-account-assurance p {
    margin: 0;
    font-size: 12px;
}

[data-theme="dark"] .fc-account-billing {
    --fc-account-navy: #eef4ff;
    --fc-account-blue: #79a7ff;
    --fc-account-blue-soft: rgba(68, 116, 198, .2);
    --fc-account-border: #344054;
    --fc-account-muted: #aab4c4;
    --fc-account-surface: #1f2937;
}

[data-theme="dark"] .fc-account-action-menu summary,
[data-theme="dark"] .fc-account-action-menu form,
[data-theme="dark"] .fc-account-subtabs,
[data-theme="dark"] .fc-account-pix__visual,
[data-theme="dark"] .fc-account-preview dl > div {
    background: #1f2937;
}

[data-theme="dark"] .fc-account-tabs,
[data-theme="dark"] .fc-account-facts > div,
[data-theme="dark"] .fc-account-breakdown > div,
[data-theme="dark"] .fc-account-table td,
[data-theme="dark"] .fc-account-table th {
    border-color: #344054;
}

[data-theme="dark"] .fc-account-kpi,
[data-theme="dark"] .fc-account-card-form,
[data-theme="dark"] .fc-account-charge-summary > div,
[data-theme="dark"] .fc-account-empty--compact,
[data-theme="dark"] .fc-account-condition,
[data-theme="dark"] .fc-account-capacity-forms form,
[data-theme="dark"] .fc-account-cycle-period,
[data-theme="dark"] .fc-account-next-cycle,
[data-theme="dark"] .fc-account-adjustment-list,
[data-theme="dark"] .fc-account-table th {
    background: #263244;
}

[data-theme="dark"] .fc-account-capacity-ring {
    background: radial-gradient(circle closest-side, #1f2937 74%, transparent 75% 99%), conic-gradient(var(--fc-account-blue) calc(var(--capacity) * 1%), #3a4658 0);
}

[data-theme="dark"] .fc-account-alert--neutral {
    background: #263244;
    color: #c3ccda;
}

[data-theme="dark"] .fc-account-alert--info,
[data-theme="dark"] .fc-account-preview {
    background: #1e3151;
}

[data-theme="dark"] .fc-account-alert--warning,
[data-theme="dark"] .fc-account-scheduled {
    background: #3a301e;
}

@media (max-width: 1100px) {
    .fc-account-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fc-account-capacity-summary {
        grid-template-columns: repeat(3, 1fr);
    }

    .fc-account-capacity-summary__progress {
        grid-column: 1 / -1;
        border-top: 1px solid var(--fc-account-border);
    }

    .fc-account-preview dl {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .fc-account-billing {
        gap: 15px;
    }

    .fc-account-header__main,
    .fc-account-section-heading,
    .fc-account-manage,
    .fc-account-company-panel {
        align-items: stretch;
        flex-direction: column;
    }

    .fc-account-header__main {
        padding: 21px 18px 17px;
    }

    .fc-account-header__actions {
        justify-content: flex-start;
    }

    .fc-account-header__actions > .btn,
    .fc-account-header__actions > form,
    .fc-account-header__actions > form .btn {
        flex: 1 1 auto;
    }

    .fc-account-section-heading > p {
        text-align: left;
    }

    .fc-account-tabs {
        overflow-x: auto;
        padding: 0 10px;
    }

    .fc-account-tabs a {
        flex: 0 0 auto;
        padding-right: 13px;
        padding-left: 13px;
    }

    .fc-account-overview-grid,
    .fc-account-billing-grid,
    .fc-account-pix,
    .fc-account-capacity-forms {
        grid-template-columns: 1fr;
    }

    .fc-account-charge-summary {
        grid-template-columns: 1fr 1fr;
    }

    .fc-account-capacity-summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .fc-account-capacity-summary > article {
        padding: 16px;
    }

    .fc-account-capacity-summary strong {
        font-size: 22px;
    }

    .fc-account-company-panel__actions {
        flex-wrap: wrap;
    }

    .fc-account-company-panel__actions .btn {
        flex: 1 1 auto;
    }

    .fc-account-pix__visual {
        width: 210px;
    }

    .fc-account-timeline li {
        grid-template-columns: 1fr;
        gap: 3px;
    }
}

@media (max-width: 520px) {
    .fc-account-kpis,
    .fc-account-capacity-summary,
    .fc-account-preview dl,
    .fc-account-card-form__row,
    .fc-account-charge-summary {
        grid-template-columns: 1fr;
    }

    .fc-account-capacity-summary > article {
        border-right: 0;
        border-bottom: 1px solid var(--fc-account-border);
    }

    .fc-account-capacity-summary__progress {
        grid-column: auto;
        border-top: 0;
    }

    .fc-account-panel {
        padding: 18px;
    }

    .fc-account-subtabs {
        display: grid;
        width: 100%;
        grid-template-columns: 1fr;
    }

    .fc-account-subtabs a {
        text-align: center;
    }

    .fc-account-scheduled {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (prefers-reduced-motion: reduce) {
    .fc-account-tabs a,
    .fc-account-subtabs a,
    .fc-account-progress span {
        transition: none;
    }
}

/* ===========================================================================
   Painel administrativo - login e dashboard
   ========================================================================== */

.painel-login-page {
    min-height: 100vh;
    margin: 0;
    color: #e2e8f0;
    background:
        radial-gradient(circle at 50% -18%, rgba(30, 64, 175, .34), transparent 42%),
        #07111f;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.painel-login-page::before {
    position: fixed;
    inset: 0;
    z-index: 0;
    background-image:
        linear-gradient(rgba(148, 163, 184, .025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(148, 163, 184, .025) 1px, transparent 1px);
    background-size: 48px 48px;
    content: "";
    pointer-events: none;
}

.painel-login-shell {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    min-height: 100vh;
    place-items: center;
    padding: 36px 20px;
}

.painel-login-page .login-card {
    width: 432px;
    max-width: calc(100vw - 28px);
    min-width: 0;
    justify-self: center;
    padding: 42px;
    border: 1px solid rgba(148, 163, 184, .2);
    border-radius: 20px;
    background: rgba(15, 28, 48, .96);
    box-shadow: 0 28px 72px rgba(0, 0, 0, .38), 0 1px 0 rgba(255, 255, 255, .04) inset;
}

.painel-login-page .login-brand {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 26px;
    border-bottom: 1px solid rgba(148, 163, 184, .14);
}

.painel-login-page .login-brand__logo {
    display: block;
    width: 174px;
    height: auto;
}

.painel-login-page .badge-admin {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 6px;
    padding: 6px 9px;
    border: 1px solid rgba(96, 165, 250, .28);
    border-radius: 999px;
    color: #bfdbfe;
    background: rgba(30, 64, 175, .28);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
}

.painel-login-page .login-heading {
    margin: 28px 0 26px;
}

.painel-login-page .login-eyebrow {
    display: block;
    margin-bottom: 7px;
    color: #60a5fa;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.painel-login-page .login-heading h1 {
    margin: 0 0 8px;
    color: #f8fafc;
    font-size: clamp(25px, 7vw, 30px);
    font-weight: 750;
    letter-spacing: -.035em;
    line-height: 1.15;
}

.painel-login-page .login-heading p {
    margin: 0;
    color: #94a3b8;
    font-size: 14px;
    line-height: 1.55;
}

.painel-login-page .login-field {
    margin-bottom: 18px;
}

.painel-login-page .login-field + .login-field {
    margin-bottom: 24px;
}

.painel-login-page .form-label {
    margin-bottom: 8px;
    color: #cbd5e1;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .015em;
}

.painel-login-page .login-input-wrap {
    position: relative;
}

.painel-login-page .login-input-wrap > i {
    position: absolute;
    top: 50%;
    left: 15px;
    z-index: 1;
    color: #64748b;
    font-size: 14px;
    transform: translateY(-50%);
    pointer-events: none;
}

.painel-login-page .form-control {
    min-height: 48px;
    padding: 11px 14px 11px 42px;
    border: 1px solid #34445b;
    border-radius: 10px;
    color: #f8fafc;
    background: #091524;
    font-size: 14px;
    line-height: 1.4;
    transition: border-color .16s ease, box-shadow .16s ease, background-color .16s ease;
}

.painel-login-page .form-control::placeholder {
    color: #64748b;
    opacity: 1;
}

.painel-login-page .form-control:hover {
    border-color: #475569;
}

.painel-login-page .form-control:focus {
    border-color: #60a5fa;
    color: #f8fafc;
    background: #0b192a;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, .2);
}

.painel-login-page .login-submit {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 11px 16px 11px 18px;
    border: 1px solid #315bbd;
    border-radius: 10px;
    color: #fff;
    background: #1e40af;
    box-shadow: 0 8px 24px rgba(30, 64, 175, .26);
    font-size: 14px;
    font-weight: 750;
    transition: background-color .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.painel-login-page .login-submit:hover,
.painel-login-page .login-submit:focus-visible {
    border-color: #3b66ca;
    color: #fff;
    background: #244dbd;
    box-shadow: 0 10px 28px rgba(30, 64, 175, .34), 0 0 0 3px rgba(96, 165, 250, .2);
}

.painel-login-page .login-submit:active {
    transform: translateY(1px);
}

.painel-login-page .login-submit:disabled {
    border-color: #34445b;
    color: #94a3b8;
    background: #1e293b;
    box-shadow: none;
}

.painel-login-page .login-alert {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    padding: 11px 12px;
    border: 1px solid rgba(248, 113, 113, .38);
    border-radius: 10px;
    color: #fecaca;
    background: rgba(127, 29, 29, .3);
    font-size: 12px;
    line-height: 1.45;
}

.painel-login-page .login-alert i {
    margin-top: 2px;
    color: #f87171;
}

.painel-login-page .login-security-note {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin: 24px 0 0;
    color: #64748b;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: .02em;
}

.painel-admin-page {
    --p-sidebar-width: 248px;
    min-width: 0;
    min-height: 100vh;
    margin: 0;
    color: #172033;
    background: #f4f7fb;
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    -webkit-font-smoothing: antialiased;
}

.painel-admin-page .p-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 1000;
    display: flex;
    flex-direction: column;
    width: var(--p-sidebar-width);
    height: 100vh;
    overflow-x: hidden;
    overflow-y: auto;
    border-right: 1px solid rgba(148, 163, 184, .13);
    background: linear-gradient(180deg, #0c192b 0%, #101d31 100%);
    box-shadow: 8px 0 32px rgba(15, 23, 42, .07);
}

.painel-admin-page .p-sidebar-brand {
    padding: 24px 22px 20px;
    border-bottom: 1px solid rgba(148, 163, 184, .12);
}

.painel-admin-page .p-sidebar-brand img {
    display: block;
    width: 172px;
    height: auto;
}

.painel-admin-page .p-sidebar-brand__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-top: 13px;
}

.painel-admin-page .p-sidebar-brand__eyebrow {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.painel-admin-page .p-sidebar-badge {
    display: inline-flex;
    align-items: center;
    padding: 4px 7px;
    border: 1px solid rgba(96, 165, 250, .25);
    border-radius: 999px;
    color: #bfdbfe;
    background: rgba(30, 64, 175, .25);
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
}

.painel-admin-page .p-nav {
    display: flex;
    flex: 1;
    flex-direction: column;
    min-height: 0;
    margin: 0;
    padding: 13px 12px 16px;
    list-style: none;
}

.painel-admin-page .p-nav-label {
    padding: 16px 10px 6px;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.painel-admin-page .p-nav a,
.painel-admin-page .p-nav-logout {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 0;
    border-radius: 8px;
    color: #a9b7c9;
    background: transparent;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;
    text-align: left;
    text-decoration: none;
    transition: color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.painel-admin-page .p-nav a .fa-fw,
.painel-admin-page .p-nav-logout .fa-fw {
    width: 18px;
    color: #71829a;
    text-align: center;
    transition: color .15s ease;
}

.painel-admin-page .p-nav a:hover,
.painel-admin-page .p-nav a:focus-visible {
    color: #f8fafc;
    background: rgba(148, 163, 184, .09);
    outline: none;
}

.painel-admin-page .p-nav a:hover .fa-fw,
.painel-admin-page .p-nav a:focus-visible .fa-fw,
.painel-admin-page .p-nav a.active .fa-fw {
    color: #93c5fd;
}

.painel-admin-page .p-nav a.active {
    color: #fff;
    background: rgba(30, 64, 175, .34);
    box-shadow: 0 0 0 1px rgba(96, 165, 250, .11) inset;
}

.painel-admin-page .p-nav-logout-item {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid rgba(148, 163, 184, .12);
}

.painel-admin-page .p-nav-logout {
    color: #fca5a5;
    cursor: pointer;
}

.painel-admin-page .p-nav-logout .fa-fw {
    color: #f87171;
}

.painel-admin-page .p-nav-logout:hover,
.painel-admin-page .p-nav-logout:focus-visible {
    color: #fecaca;
    background: rgba(127, 29, 29, .2);
    outline: none;
}

.painel-admin-page .p-main {
    display: flex;
    flex-direction: column;
    min-width: 0;
    min-height: 100vh;
    margin-left: var(--p-sidebar-width);
}

.painel-admin-page .p-topbar {
    position: sticky;
    top: 0;
    z-index: 100;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 70px;
    padding: 11px 30px;
    border-bottom: 1px solid #e2e8f0;
    background: rgba(255, 255, 255, .94);
    box-shadow: 0 1px 2px rgba(15, 23, 42, .025);
    backdrop-filter: blur(12px);
}

.painel-admin-page .p-topbar-heading {
    display: flex;
    align-items: center;
    gap: 11px;
}

.painel-admin-page .p-topbar-shield {
    display: grid;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    place-items: center;
    border: 1px solid #dbe7fb;
    border-radius: 9px;
    color: #1e40af;
    background: #eff6ff;
    font-size: 14px;
}

.painel-admin-page .p-topbar-title,
.painel-admin-page .p-topbar-context {
    display: block;
}

.painel-admin-page .p-topbar-title {
    color: #172033;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.25;
}

.painel-admin-page .p-topbar-context {
    margin-top: 2px;
    color: #7b8a9e;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .02em;
}

.painel-admin-page .p-topbar-right {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 7px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 9px;
    color: #64748b;
    background: #f8fafc;
    font-size: 11px;
}

.painel-admin-page .p-status-dot {
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border: 2px solid #dcfce7;
    border-radius: 50%;
    background: #16a34a;
    box-shadow: 0 0 0 2px #dcfce7;
}

.painel-admin-page .p-session-label {
    color: #15803d;
    font-weight: 750;
}

.painel-admin-page .p-session-email {
    max-width: 230px;
    overflow: hidden;
    padding-left: 8px;
    border-left: 1px solid #dbe3ee;
    color: #475569;
    font-weight: 650;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.painel-admin-page .p-content {
    width: 100%;
    max-width: 1640px;
    margin: 0 auto;
    padding: 30px;
}

.painel-admin-page .p-dashboard-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 24px;
}

.painel-admin-page .p-page-eyebrow,
.painel-admin-page .p-card-kicker {
    display: block;
    color: #1e40af;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
    line-height: 1.3;
    text-transform: uppercase;
}

.painel-admin-page .p-dashboard-heading h1 {
    margin: 4px 0 3px;
    color: #101828;
    font-size: clamp(24px, 2.2vw, 30px);
    font-weight: 760;
    letter-spacing: -.035em;
    line-height: 1.18;
}

.painel-admin-page .p-dashboard-heading p {
    margin: 0;
    color: #69788c;
    font-size: 13px;
    line-height: 1.45;
}

.painel-admin-page .p-updated-at {
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
    gap: 7px;
    padding: 7px 10px;
    border: 1px solid #e2e8f0;
    border-radius: 8px;
    color: #69788c;
    background: rgba(255, 255, 255, .72);
    font-size: 11px;
    font-weight: 600;
}

.painel-admin-page .p-updated-at i {
    color: #1e40af;
}

.painel-admin-page .p-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
    margin-bottom: 18px;
}

.painel-admin-page .kpi-card {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 108px;
    gap: 15px;
    overflow: hidden;
    padding: 20px;
    border: 1px solid #dfe6ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .035);
    transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.painel-admin-page .kpi-card::before {
    position: absolute;
    inset: 0 0 auto;
    height: 3px;
    background: var(--kpi-accent);
    content: "";
}

.painel-admin-page .kpi-card:hover {
    border-color: #cad5e4;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .065);
    transform: translateY(-1px);
}

.painel-admin-page .kpi-card--accounts {
    --kpi-accent: #1e40af;
    --kpi-soft: #eaf1ff;
}

.painel-admin-page .kpi-card--companies {
    --kpi-accent: #0f766e;
    --kpi-soft: #e6f7f4;
}

.painel-admin-page .kpi-card--active {
    --kpi-accent: #15803d;
    --kpi-soft: #eaf8ef;
}

.painel-admin-page .kpi-card--blocked {
    --kpi-accent: #b42318;
    --kpi-soft: #fff0ee;
}

.painel-admin-page .kpi-icon {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--kpi-accent) 14%, transparent);
    border-radius: 10px;
    color: var(--kpi-accent);
    background: var(--kpi-soft);
    font-size: 15px;
}

.painel-admin-page .kpi-content {
    min-width: 0;
}

.painel-admin-page .kpi-value {
    color: #101828;
    font-size: clamp(25px, 2.3vw, 31px);
    font-weight: 780;
    letter-spacing: -.035em;
    line-height: 1;
}

.painel-admin-page .kpi-label {
    margin-top: 7px;
    overflow: hidden;
    color: #69788c;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.painel-admin-page .p-dashboard-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
    gap: 18px;
    margin-bottom: 18px;
}

.painel-admin-page .p-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe6ef;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 4px 16px rgba(15, 23, 42, .035);
}

.painel-admin-page .p-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 68px;
    gap: 16px;
    padding: 15px 20px;
    border-bottom: 1px solid #e7ecf2;
    background: #fff;
}

.painel-admin-page .p-card-header h2 {
    margin: 3px 0 0;
    color: #172033;
    font-size: 14px;
    font-weight: 750;
    letter-spacing: -.01em;
    line-height: 1.25;
}

.painel-admin-page .p-card-body {
    padding: 20px;
}

.painel-admin-page .p-card-period {
    padding: 5px 8px;
    border: 1px solid #dbe7fb;
    border-radius: 7px;
    color: #1e40af;
    background: #f3f7ff;
    font-size: 10px;
    font-weight: 800;
}

.painel-admin-page .p-chart-body {
    padding: 12px 18px 8px;
}

.painel-admin-page .table {
    --bs-table-bg: transparent;
    --bs-table-hover-bg: #f8fafc;
    margin: 0;
}

.painel-admin-page .table > :not(caption) > * > * {
    padding: 13px 16px;
    border-bottom-color: #edf1f5;
}

.painel-admin-page .table thead th {
    border-bottom-width: 1px;
    color: #718096;
    background: #f8fafc;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.35;
    text-transform: uppercase;
    white-space: nowrap;
}

.painel-admin-page .table tbody td {
    color: #3b4758;
    font-size: 12px;
    line-height: 1.45;
    vertical-align: middle;
}

.painel-admin-page .table tbody tr:last-child td {
    border-bottom: 0;
}

.painel-admin-page .p-plan-name,
.painel-admin-page .p-table-user {
    color: #253044;
    font-weight: 680;
}

.painel-admin-page .badge-ativo,
.painel-admin-page .badge-inativo,
.painel-admin-page .badge-pendente,
.painel-admin-page .p-module-tag {
    display: inline-flex;
    align-items: center;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 750;
    line-height: 1.2;
}

.painel-admin-page .badge-ativo {
    color: #166534;
    background: #dcfce7;
}

.painel-admin-page .badge-inativo {
    margin-left: 4px;
    color: #991b1b;
    background: #fee2e2;
}

.painel-admin-page .badge-pendente {
    color: #854d0e;
    background: #fef9c3;
}

.painel-admin-page .p-module-tag {
    border: 1px solid #dfe6ef;
    color: #526176;
    background: #f8fafc;
}

.painel-admin-page .p-table-nowrap,
.painel-admin-page .p-table-ip {
    white-space: nowrap;
}

.painel-admin-page .p-table-ip {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 10px !important;
}

.painel-admin-page .btn-painel {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border-color: #d7e0eb;
    border-radius: 7px;
    color: #475569;
    background: #fff;
    font-size: 10px;
    font-weight: 750;
}

.painel-admin-page .btn-painel:hover,
.painel-admin-page .btn-painel:focus-visible {
    border-color: #b8c7dc;
    color: #1e40af;
    background: #f8fafc;
    box-shadow: 0 0 0 3px rgba(30, 64, 175, .1);
}

.painel-admin-page .alert-flash {
    border-radius: 10px;
    font-size: 12px;
}

@media (max-width: 1199.98px) {
    .painel-admin-page .p-content {
        padding: 24px;
    }

    .painel-admin-page .p-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .painel-admin-page .p-dashboard-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 991.98px) {
    .painel-admin-page {
        --p-sidebar-width: 100%;
        overflow-x: hidden;
    }

    .painel-admin-page .p-sidebar {
        position: relative;
        inset: auto;
        width: 100%;
        height: auto;
        overflow: hidden;
        border-right: 0;
        box-shadow: 0 6px 24px rgba(15, 23, 42, .12);
    }

    .painel-admin-page .p-sidebar-brand {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        padding: 13px 18px 11px;
    }

    .painel-admin-page .p-sidebar-brand img {
        width: 146px;
    }

    .painel-admin-page .p-sidebar-brand__meta {
        margin-top: 0;
    }

    .painel-admin-page .p-sidebar-brand__eyebrow,
    .painel-admin-page .p-nav-label {
        display: none;
    }

    .painel-admin-page .p-nav {
        flex: none;
        flex-direction: row;
        gap: 6px;
        overflow-x: auto;
        padding: 9px 12px 11px;
        scrollbar-color: rgba(148, 163, 184, .45) transparent;
        scrollbar-width: thin;
    }

    .painel-admin-page .p-nav > li {
        flex: 0 0 auto;
    }

    .painel-admin-page .p-nav a,
    .painel-admin-page .p-nav-logout {
        width: auto;
        white-space: nowrap;
    }

    .painel-admin-page .p-nav-logout-item {
        margin-top: 0;
        padding: 0 0 0 6px;
        border-top: 0;
        border-left: 1px solid rgba(148, 163, 184, .15);
    }

    .painel-admin-page .p-main {
        margin-left: 0;
    }

    .painel-admin-page .p-topbar {
        padding: 10px 20px;
    }
}

@media (max-width: 575.98px) {
    .painel-login-shell {
        align-items: center;
        padding: 20px 14px;
    }

    .painel-login-page .login-card {
        padding: 28px 24px;
        border-radius: 16px;
    }

    .painel-login-page .login-brand {
        gap: 12px;
        padding-bottom: 21px;
    }

    .painel-login-page .login-brand__logo {
        width: 152px;
    }

    .painel-login-page .badge-admin {
        padding: 5px 7px;
        font-size: 9px;
    }

    .painel-login-page .badge-admin i {
        display: none;
    }

    .painel-login-page .login-heading {
        margin: 23px 0 21px;
    }

    .painel-admin-page .p-sidebar-brand__eyebrow,
    .painel-admin-page .p-session-label {
        display: none;
    }

    .painel-admin-page .p-topbar {
        align-items: flex-start;
        flex-direction: column;
        gap: 9px;
        padding: 12px 16px;
    }

    .painel-admin-page .p-topbar-right {
        width: 100%;
    }

    .painel-admin-page .p-session-email {
        max-width: calc(100vw - 78px);
        padding-left: 0;
        border-left: 0;
    }

    .painel-admin-page .p-content {
        padding: 20px 14px;
    }

    .painel-admin-page .p-dashboard-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 13px;
        margin-bottom: 20px;
    }

    .painel-admin-page .p-updated-at {
        width: 100%;
    }

    .painel-admin-page .p-kpi-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }

    .painel-admin-page .kpi-card {
        min-height: 96px;
        padding: 17px;
    }

    .painel-admin-page .p-dashboard-grid {
        gap: 14px;
    }

    .painel-admin-page .p-card-header {
        min-height: 64px;
        padding: 14px 16px;
    }

    .painel-admin-page .p-chart-body {
        padding-inline: 8px;
    }

    .painel-admin-page .table > :not(caption) > * > * {
        padding: 11px 13px;
    }
}

@media (max-width: 359.98px) {
    .painel-login-page .login-card {
        padding: 24px 20px;
    }

    .painel-login-page .login-brand__logo {
        width: 137px;
    }

    .painel-login-page .badge-admin {
        font-size: 8px;
    }

    .painel-admin-page .p-sidebar-brand__meta {
        display: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .painel-login-page .form-control,
    .painel-login-page .login-submit,
    .painel-admin-page .kpi-card,
    .painel-admin-page .p-nav a,
    .painel-admin-page .p-nav-logout {
        transition: none;
    }
}

/* Public pages only; authenticated panel typography remains unchanged. */
body:has(.public-site-header),
body.campaign-page,
body.fc-auth-page:has(.fc-auth-shell--legal),
body:has(.public-site-header) .fc-cookie-consent,
body.campaign-page .fc-cookie-consent,
body.fc-auth-page:has(.fc-auth-shell--legal) .fc-cookie-consent {
    font-family: 'Instrument Sans', system-ui, sans-serif;
}

body:has(.public-site-header) :is(button, input, select, textarea),
body.campaign-page :is(button, input, select, textarea),
body.fc-auth-page:has(.fc-auth-shell--legal) :is(button, input, select, textarea) {
    font-family: 'Instrument Sans', system-ui, sans-serif;
}
