.fn-login-body {
    /* Login keeps its own canvas. */
}

.fi-panel-admin .fi-sidebar {
    background: #1f2329 !important;
    border-right: 1px solid rgba(255,255,255,.06);
}

.fi-panel-admin .fi-sidebar-header {
    border-bottom: 1px solid rgba(255,255,255,.06);
    background: #1f2329 !important;
}

.fn-admin-logo {
    display: flex;
    align-items: center;
    gap: .7rem;
    height: 100%;
    color: #fff;
}

.fn-admin-logo img {
    display: block;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: .45rem;
    object-fit: cover;
}

.fn-admin-logo span {
    display: grid;
    line-height: 1.05;
}

.fn-admin-logo strong {
    font-size: .95rem;
    font-weight: 800;
    letter-spacing: -.02em;
}

.fn-admin-logo em {
    font-style: normal;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: rgba(255,255,255,.45);
}

.fi-panel-admin .fi-sidebar-item-btn,
.fi-panel-admin .fi-sidebar-item-label,
.fi-panel-admin .fi-sidebar-group-btn,
.fi-panel-admin .fi-sidebar-group-label {
    color: rgba(255,255,255,.78);
}

.fi-panel-admin .fi-sidebar-item-btn {
    border-radius: .65rem;
}

.fi-panel-admin .fi-sidebar-item-btn:hover,
.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-btn {
    background: rgba(255,255,255,.08) !important;
    color: #fff;
}

.fi-panel-admin .fi-sidebar-group-label {
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(255,255,255,.38) !important;
}

.fi-panel-admin .fi-topbar {
    background: #fff !important;
    border-bottom: 1px solid #e7ebf0;
}

.dark .fi-panel-admin .fi-topbar {
    background: #171a20 !important;
    border-bottom-color: rgba(255,255,255,.06);
}

.fi-panel-admin .fi-main {
    background: #eef1f6;
}

.dark .fi-panel-admin .fi-main {
    background: #101218;
}

.fi-panel-admin .fi-main-ctn {
    max-width: 1400px;
}

.fn-page:has(.fn-board) .fi-header,
.fi-page:has(.fn-board) .fi-header {
    display: none;
}

[x-cloak] { display: none !important; }

.fn-sidebar-foot {
    padding: .85rem .9rem 1.1rem;
}

.fn-sidebar-foot a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 2.4rem;
    border-radius: .7rem;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .04em;
    text-decoration: none;
}

.fn-sidebar-foot a:hover {
    background: #C8102E;
}

.fn-board {
    display: grid;
    gap: 1rem;
}

.fn-toolbar {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
}

.fn-toolbar p {
    margin: 0;
    color: #64748b;
    font-size: 13px;
}

.fn-toolbar h2 {
    margin: .1rem 0 0;
    font-size: 1.55rem;
    font-weight: 800;
    letter-spacing: -.03em;
}

.fn-toolbar-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem;
}

.fn-clock {
    margin-right: .35rem;
    color: #64748b;
    font-size: 12px;
    font-weight: 600;
}

.fn-btn {
    display: inline-flex;
    align-items: center;
    min-height: 2.15rem;
    padding: 0 .85rem;
    border-radius: .65rem;
    background: #fff;
    color: #0f172a;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.fn-btn-primary {
    background: #C8102E;
    color: #fff;
}

.fn-wire {
    display: flex;
    align-items: center;
    gap: .75rem;
    overflow: hidden;
    padding: .7rem .9rem;
    border-radius: .9rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.dark .fn-wire,
.dark .fn-btn:not(.fn-btn-primary) {
    background: #171a20;
    color: #fff;
}

.fn-wire b {
    flex: none;
    padding: .2rem .5rem;
    border-radius: .4rem;
    background: #C8102E;
    color: #fff;
    font-size: 10px;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.fn-wire-track {
    display: flex;
    gap: 1.25rem;
    overflow: auto;
    white-space: nowrap;
}

.fn-wire-track a {
    color: inherit;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}

.fn-wire-track a:hover { color: #C8102E; }

.fn-row {
    display: grid;
    gap: 1rem;
}

.fn-row-top,
.fn-row-mid,
.fn-row-tables,
.fn-row-bottom {
    grid-template-columns: 1fr;
}

.fn-kpis {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
}

@media (min-width: 960px) {
    .fn-row-top {
        grid-template-columns: 280px 250px minmax(0, 1fr);
        align-items: stretch;
    }

    .fn-row-mid {
        grid-template-columns: 1fr 1fr;
    }

    .fn-row-tables,
    .fn-row-bottom {
        grid-template-columns: 1.35fr .95fr;
    }

    .fn-kpis {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1rem;
    }

    .fn-page:has(.fn-board) .fn-kpis,
    .fi-page:has(.fn-board) .fn-kpis {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.fn-card {
    min-width: 0;
    border-radius: 1rem;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    transition: transform .18s ease, box-shadow .18s ease;
}

.fn-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(15, 23, 42, .08);
}

.fn-card-panel {
    padding: 1.05rem 1.15rem 1.1rem;
    background: #fff;
}

.dark .fn-card-panel {
    background: #171a20;
    box-shadow: none;
    border: 1px solid rgba(255,255,255,.06);
}

.fn-card-panel h3 {
    margin: 0;
    font-size: .95rem;
    font-weight: 700;
}

.fn-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .7rem;
}

.fn-card-posts {
    position: relative;
    overflow: hidden;
    min-height: 230px;
    padding: 1.2rem 1.2rem 1rem;
    background: linear-gradient(160deg, #3b82f6 0%, #2563eb 58%, #1d4ed8 100%);
    color: #fff;
    text-decoration: none;
}

.fn-posts-wave {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 46%;
    width: 100%;
}

.fn-posts-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.fn-posts-count {
    display: flex;
    align-items: flex-end;
    gap: .7rem;
}

.fn-posts-count b {
    font-size: 3.1rem;
    font-weight: 800;
    letter-spacing: -.04em;
    line-height: .9;
}

.fn-posts-count span {
    padding-bottom: .2rem;
    font-size: .92rem;
    font-weight: 600;
}

.fn-posts-meta {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem 1rem;
    margin-top: .9rem;
    font-size: .88rem;
    opacity: .92;
}

.fn-posts-bar {
    margin-top: auto;
    padding-top: 1.2rem;
    font-size: .88rem;
}

.fn-posts-bar i,
.fn-meter i {
    display: block;
    height: 7px;
    margin-top: .45rem;
    border-radius: 99px;
    background: rgba(255,255,255,.28);
    overflow: hidden;
}

.fn-meter i { background: #eef2f7; }

.fn-posts-bar em,
.fn-meter em {
    display: block;
    height: 100%;
    background: #fff;
}

.fn-meter em { background: #22c55e; }

.fn-meter {
    margin-top: 1rem;
    color: #64748b;
    font-size: 12px;
}

.fn-highlights {
    margin: .85rem 0 0;
    padding: 0;
    list-style: none;
}

.fn-highlights li,
.fn-highlights a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: inherit;
    text-decoration: none;
}

.fn-highlights li + li {
    margin-top: .55rem;
    padding-top: .55rem;
    border-top: 1px solid #eef1f4;
}

.dark .fn-highlights li + li { border-top-color: rgba(255,255,255,.08); }

.fn-highlights b {
    color: #64748b;
    font-weight: 700;
}

.fn-revenue {
    margin: .25rem 0 0;
    color: #64748b;
    font-size: 12px;
}

.fn-select {
    padding: .32rem .65rem;
    border: 1px solid #e5e7eb;
    border-radius: .55rem;
    background: #fff;
    color: #334155;
    font-size: 12px;
    font-weight: 600;
}

.dark .fn-select {
    background: #111318;
    color: #fff;
    border-color: rgba(255,255,255,.12);
}

.fn-range {
    display: inline-flex;
    padding: .18rem;
    border-radius: .7rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.dark .fn-range { background: #171a20; }

.fn-range-btn {
    border: 0;
    min-height: 1.85rem;
    padding: 0 .7rem;
    border-radius: .55rem;
    background: transparent;
    color: #64748b;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
}

.fn-range-btn.is-on {
    background: #C8102E;
    color: #fff;
}

.fn-card-hero {
    position: relative;
    overflow: hidden;
    min-height: 230px;
    padding: 1.2rem 1.2rem 1rem;
    background: linear-gradient(160deg, #e11d48 0%, #C8102E 58%, #9f1239 100%);
    color: #fff;
    text-decoration: none;
}

.fn-kpi-spark {
    position: relative;
    overflow: hidden;
}

.fn-spark {
    display: block;
    width: 100%;
    height: 32px;
    margin-top: .65rem;
}

.fn-row-analytics,
.fn-row-triple {
    grid-template-columns: 1fr;
}

@media (min-width: 960px) {
    .fn-row-analytics {
        grid-template-columns: 260px 230px minmax(0, 1fr);
        align-items: stretch;
    }

    .fn-row-triple {
        grid-template-columns: 1.1fr .9fr 1fr;
    }
}

.fn-hours {
    display: grid;
    grid-template-columns: repeat(24, minmax(0, 1fr));
    align-items: end;
    gap: .18rem;
    height: 132px;
    margin: .4rem 0 0;
    padding: 0;
    list-style: none;
}

.fn-hours li {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
    min-width: 0;
}

.fn-hours i {
    display: block;
    width: 100%;
    height: 108px;
    border-radius: .28rem .28rem 0 0;
    background: #eef2f7;
    overflow: hidden;
    position: relative;
}

.dark .fn-hours i { background: rgba(255,255,255,.08); }

.fn-hours em {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    background: linear-gradient(180deg, #fb7185, #C8102E);
    border-radius: .28rem .28rem 0 0;
}

.fn-hours span {
    margin-top: .2rem;
    color: #94a3b8;
    font-size: 8px;
    font-weight: 700;
}

.fn-donut-wrap {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.fn-donut {
    width: 132px;
    height: 132px;
    flex: none;
    color: #0f172a;
}

.dark .fn-donut { color: #fff; }

.dark .fn-donut circle:first-child {
    stroke: rgba(255,255,255,.08);
}

.fn-legend {
    margin: 0;
    padding: 0;
    list-style: none;
    flex: 1;
    min-width: 0;
}

.fn-legend li {
    display: grid;
    grid-template-columns: .7rem minmax(0, 1fr) auto;
    gap: .5rem;
    align-items: center;
    font-size: 12px;
}

.fn-legend li + li { margin-top: .45rem; }

.fn-legend i {
    width: .7rem;
    height: .7rem;
    border-radius: 99px;
}

.fn-legend b { color: #64748b; }

.fn-chart-total {
    margin: 0;
    color: #64748b;
    font-size: .92rem;
}

.fn-chart-total b {
    color: #0f172a;
    font-size: 1.65rem;
    font-weight: 800;
}

.dark .fn-chart-total b { color: #fff; }

.fn-delta {
    margin-left: .45rem;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}

.fn-delta.is-up { color: #16a34a; }
.fn-delta.is-down { color: #dc2626; }

.fn-chart-month {
    margin: .15rem 0 .35rem;
    color: #94a3b8;
    font-size: 12px;
}

.fn-chart {
    display: block;
    width: 100%;
    height: 158px;
}

.fn-stat-title {
    font-size: 1.05rem !important;
    font-weight: 600 !important;
}

.fn-stat-title b {
    font-size: 1.7rem;
    font-weight: 800;
}

.fn-split {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-top: 1.1rem;
}

.fn-split small {
    display: block;
    color: #64748b;
    font-size: 12px;
}

.fn-split strong {
    display: block;
    margin-top: .2rem;
    font-size: 1.35rem;
}

.fn-kpi {
    text-decoration: none;
    color: inherit;
}

.fn-kpi small {
    color: #64748b;
    font-size: 12px;
}

.fn-kpi b {
    display: block;
    margin-top: .2rem;
    font-size: 1.5rem;
}

.fn-users { margin-top: 1rem; }

.fn-users > span {
    display: block;
    margin-bottom: .7rem;
    color: #64748b;
    font-size: 12px;
}

.fn-avatars {
    display: flex;
    align-items: center;
}

.fn-avatars a { margin-left: -.4rem; }
.fn-avatars a:first-child { margin-left: 0; }

.fn-avatars img {
    width: 36px;
    height: 36px;
    border: 2px solid #fff;
    border-radius: 99px;
    object-fit: cover;
    background: #e2e8f0;
}

.fn-avatars-all {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 99px;
    background: #e2e8f0;
    color: #334155;
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}

.fn-view {
    display: inline-flex;
    align-items: center;
    min-height: 1.85rem;
    padding: 0 .7rem;
    border-radius: .45rem;
    background: #eef2f7;
    color: #334155 !important;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
}

.fn-view:hover { background: #e2e8f0; }

.fn-table-wrap { overflow-x: auto; }

.fn-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.fn-table th {
    padding: .45rem .35rem .65rem;
    color: #64748b;
    font-size: 11px;
    font-weight: 700;
    text-align: left;
    white-space: nowrap;
}

.fn-table td {
    padding: .7rem .35rem;
    border-top: 1px solid #eef1f4;
    vertical-align: middle;
}

.fn-table tbody tr:hover td { background: #f8fafc; }

.dark .fn-table td { border-top-color: rgba(255,255,255,.08); }
.dark .fn-table tbody tr:hover td { background: rgba(255,255,255,.03); }

.fn-table a {
    color: inherit;
    font-weight: 600;
    text-decoration: none;
}

.fn-post-cell {
    display: flex;
    align-items: center;
    gap: .65rem;
}

.fn-post-cell img {
    width: 42px;
    height: 32px;
    border-radius: .4rem;
    object-fit: cover;
    background: #e2e8f0;
}

.fn-chip {
    display: inline-flex;
    padding: .12rem .45rem;
    border-radius: 99px;
    background: #eff6ff;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 700;
}

.fn-empty {
    padding: 1.6rem .5rem !important;
    color: #94a3b8;
    text-align: center;
}

.fn-user-cell b,
.fn-user-cell small { display: block; }

.fn-user-cell small {
    color: #94a3b8;
    font-size: 11px;
}

.fn-tx,
.fn-events {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fn-tx li,
.fn-events li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto auto;
    gap: .75rem;
    align-items: center;
    padding: .8rem 0;
}

.fn-tx li + li,
.fn-events li + li { border-top: 1px solid #eef1f4; }

.dark .fn-tx li + li,
.dark .fn-events li + li { border-top-color: rgba(255,255,255,.08); }

.fn-tx b,
.fn-events strong {
    display: block;
    font-size: .92rem;
}

.fn-tx small,
.fn-events small {
    display: block;
    margin-top: .15rem;
    color: #94a3b8;
    font-size: 12px;
}

.fn-badge {
    display: inline-flex;
    margin-left: .35rem;
    padding: .18rem .5rem;
    border-radius: 99px;
    font-size: 11px;
    font-weight: 700;
    text-transform: capitalize;
}

.fn-badge.is-ok { background: #dcfce7; color: #166534; }
.fn-badge.is-wait { background: #ffedd5; color: #9a3412; }

.fn-events li {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.fn-dateblock {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    border-radius: .7rem;
    background: #eff6ff;
    color: #1d4ed8;
    line-height: 1;
}

.fn-dateblock b {
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fn-dateblock span {
    font-size: 1.05rem;
    font-weight: 800;
}

.fi-panel-admin .fi-sidebar-item.fi-active .fi-sidebar-item-btn {
    background: #C8102E !important;
    color: #fff;
}

.fi-panel-admin .fi-section,
.fi-panel-admin .fi-ta,
.fi-panel-admin .fi-wi-widget .fi-section {
    border-radius: 1rem !important;
}

.fn-kbd {
    margin-left: .35rem;
    padding: .15rem .4rem;
    border: 1px solid #e5e7eb;
    border-radius: .4rem;
    background: #f8fafc;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
}

.fn-mini {
    display: grid;
    margin-right: .4rem;
    padding: .35rem .7rem;
    border-radius: .65rem;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
    line-height: 1.1;
}

.dark .fn-mini { background: #171a20; }

.fn-mini small {
    color: #64748b;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.fn-mini strong { font-size: 1.05rem; }

.fn-act {
    border: 0;
    border-radius: .45rem;
    background: #dbeafe;
    color: #1d4ed8;
    font-size: 11px;
    font-weight: 800;
    min-height: 1.7rem;
    padding: 0 .55rem;
    cursor: pointer;
}

.fn-act:hover { background: #bfdbfe; }

.fn-row-intel { grid-template-columns: 1fr; }

@media (min-width: 960px) {
    .fn-row-intel {
        grid-template-columns: 1.35fr .95fr;
    }
}

.fn-subhead {
    margin: 1rem 0 .6rem;
    font-size: 12px;
    font-weight: 800;
    color: #64748b;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.fn-bars {
    margin: .7rem 0 0;
    padding: 0;
    list-style: none;
}

.fn-bars li {
    display: grid;
    grid-template-columns: 7.5rem minmax(0, 1fr) auto;
    gap: .55rem;
    align-items: center;
    margin-top: .45rem;
    font-size: 12px;
}

.fn-bars i {
    height: 7px;
    overflow: hidden;
    border-radius: 99px;
    background: #eef2f7;
}

.fn-bars em {
    display: block;
    height: 100%;
    background: linear-gradient(90deg, #60a5fa, #2563eb);
}

.fn-bars b { color: #64748b; }

.fn-ticker-preview {
    display: flex;
    align-items: center;
    gap: .75rem;
    background: #111318;
    color: #fff;
    border-radius: .7rem;
    padding: .7rem .9rem;
    overflow: hidden;
}

.fn-ticker-preview__chip {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    background: #C8102E;
    padding: .28rem .65rem;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    flex-shrink: 0;
}

.fn-ticker-preview__chip i {
    width: .45rem;
    height: .45rem;
    border-radius: 99px;
    background: #fff;
    box-shadow: 0 0 0 0 rgba(255,255,255,.55);
    animation: fn-livepulse 1.6s infinite;
}

.fn-ticker-preview__line {
    font-size: 13px;
    font-weight: 600;
    color: rgba(255,255,255,.88);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

@keyframes fn-livepulse {
    0% { box-shadow: 0 0 0 0 rgba(255,255,255,.55); }
    70% { box-shadow: 0 0 0 8px rgba(255,255,255,0); }
    100% { box-shadow: 0 0 0 0 rgba(255,255,255,0); }
}

.fn-tag-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    background: #f3f4f6;
    color: #4b5563;
    padding: .4rem .85rem;
    font-size: 13px;
    font-weight: 700;
}

.dark .fn-tag-chip {
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.85);
}

.fn-video-preview {
    overflow: hidden;
    border-radius: .75rem;
    background: #111318;
    aspect-ratio: 16 / 9;
}

.fn-video-preview iframe,
.fn-video-preview video {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}

.fn-video-preview--embed iframe,
.fn-video-preview--embed video {
    width: 100%;
    height: 100%;
}

.fn-video-preview--empty {
    display: grid;
    place-items: center;
    color: rgba(255,255,255,.45);
    font-size: 13px;
    font-weight: 600;
    aspect-ratio: 16 / 9;
}

.fn-comment-quote {
    background: #f6f7f9;
    border-left: 4px solid #C8102E;
    border-radius: 0 .75rem .75rem 0;
    padding: 1rem 1.15rem;
}

.dark .fn-comment-quote {
    background: rgba(255,255,255,.05);
}

.fn-comment-quote p {
    margin: 0;
    font-size: 15px;
    line-height: 1.55;
    white-space: pre-wrap;
}

.fn-comment-quote--empty {
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
    border-left-color: #94a3b8;
}

.fn-poll-preview {
    background: #f6f7f9;
    border-radius: .75rem;
    padding: 1rem 1.15rem;
}

.dark .fn-poll-preview {
    background: rgba(255,255,255,.05);
}

.fn-poll-preview__head {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: .85rem;
}

.fn-poll-preview__row + .fn-poll-preview__row {
    margin-top: .7rem;
}

.fn-poll-preview__label {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    font-size: 13px;
    margin-bottom: .3rem;
}

.fn-poll-preview__label em {
    font-style: normal;
    color: #64748b;
    white-space: nowrap;
}

.fn-poll-preview__bar {
    height: 6px;
    border-radius: 999px;
    background: rgba(15,23,42,.08);
    overflow: hidden;
}

.dark .fn-poll-preview__bar {
    background: rgba(255,255,255,.08);
}

.fn-poll-preview__bar i {
    display: block;
    height: 100%;
    background: #C8102E;
    border-radius: inherit;
}

.fn-poll-preview--empty {
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.fn-push-preview {
    max-width: 22rem;
    background: #111318;
    color: #fff;
    border-radius: 1.1rem;
    padding: 1rem 1.1rem 1.15rem;
}

.fn-push-preview__app {
    display: block;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #C8102E;
    margin-bottom: .45rem;
}

.fn-push-preview strong {
    display: block;
    font-size: 15px;
    line-height: 1.3;
}

.fn-push-preview p {
    margin: .35rem 0 0;
    font-size: 13px;
    line-height: 1.45;
    color: rgba(255,255,255,.72);
}

.fn-push-preview img {
    display: block;
    width: 100%;
    margin-top: .75rem;
    border-radius: .65rem;
    max-height: 8rem;
    object-fit: cover;
}

.fn-ad-admin-preview {
    overflow: auto;
    max-width: 100%;
}

.fn-rundown {
    background: #f6f7f9;
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: .85rem;
    padding: .9rem 1rem 1rem;
}

.dark .fn-rundown {
    background: rgba(255, 255, 255, .04);
    border-color: rgba(255, 255, 255, .08);
}

.fn-rundown > p {
    margin: 0 0 .65rem;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase;
    color: #C8102E;
}

.fn-rundown ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fn-rundown li {
    display: grid;
    grid-template-columns: 1.4rem 1fr auto;
    gap: .65rem;
    align-items: baseline;
    padding: .4rem 0;
    border-top: 1px solid rgba(15, 23, 42, .06);
    font-size: 13px;
}

.dark .fn-rundown li {
    border-top-color: rgba(255, 255, 255, .06);
}

.fn-rundown li:first-child {
    border-top: 0;
    padding-top: 0;
}

.fn-rundown li span {
    font-weight: 800;
    color: #C8102E;
    font-variant-numeric: tabular-nums;
}

.fn-rundown li strong {
    font-weight: 650;
}

.fn-rundown li em {
    font-style: normal;
    font-size: 11px;
    font-weight: 600;
    color: #64748b;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.fn-rundown--empty {
    color: #64748b;
    font-size: 13px;
    font-weight: 600;
}

.fn-lang-preview {
    display: inline-flex;
    align-items: center;
    gap: .45rem;
    min-height: 2.1rem;
    padding: 0 .7rem;
    border: 1px solid #e5e7eb;
    border-radius: .55rem;
    background: #f8fafc;
    font-size: 13px;
    font-weight: 700;
}

.dark .fn-lang-preview {
    background: #111318;
    border-color: rgba(255,255,255,.1);
}

.fn-page-editor,
.fi-fo-rich-editor .ProseMirror,
.fi-fo-rich-editor [contenteditable="true"] {
    min-height: 28rem;
}

.fi-fo-rich-editor {
    --tw-ring-color: rgba(200, 16, 46, .18);
}

.fn-license-hero {
    background: linear-gradient(135deg, #1a1214, #3b0a14);
    color: #fff;
    border-radius: 1rem;
    padding: 1.5rem 1.6rem 1.35rem;
    margin-bottom: 1.25rem;
}
.fn-license-kicker {
    letter-spacing: .22em;
    font-size: .72rem;
    font-weight: 800;
    color: #ffb4be;
    margin: 0 0 .4rem;
}
.fn-license-hero h2 {
    margin: 0 0 .45rem;
    font-size: 1.45rem;
    letter-spacing: -.03em;
}
.fn-license-hero p { margin: 0; color: rgba(255,255,255,.78); }
.fn-license-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: .85rem 1rem;
    margin: 0;
}
.fn-license-grid div {
    background: #fff;
    border: 1px solid #f0dfe2;
    border-radius: .85rem;
    padding: .85rem 1rem;
}
.dark .fn-license-grid div {
    background: #16181d;
    border-color: rgba(255,255,255,.08);
}
.fn-license-grid dt {
    font-size: .7rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: #7a5c62;
    margin-bottom: .35rem;
}
.fn-license-grid dd {
    margin: 0;
    font-weight: 700;
    word-break: break-all;
}
.fn-license-pill {
    display: inline-block;
    background: #C8102E;
    color: #fff;
    border-radius: 999px;
    padding: .15rem .55rem;
    font-size: .75rem;
}
.fn-license-ents {
    margin: 1.1rem 0 0;
    color: #7a5c62;
    font-size: .9rem;
}
