/* CEVA Logistics admin visual theme */

:root {
    --ceva-red: #ed1c24;
    --ceva-red-dark: #c9151c;
    --ceva-navy: #071a55;
    --ceva-navy-soft: #0d2a7a;
    --ceva-ink: #111827;
    --ceva-muted: #64748b;
    --ceva-line: #dbe3ef;
    --ceva-bg: #eef3f9;
    --ceva-panel: #ffffff;
    --ceva-radius: 8px;
    --ceva-shadow: 0 18px 45px rgba(7, 26, 85, .09);
}

html {
    background: var(--ceva-bg);
}

html.dark .fi-main-ctn,
html.dark .fi-main,
html.dark .fi-topbar,
html.dark .fi-section,
html.dark .fi-ta-ctn {
    color-scheme: light;
}

body,
.fi-body,
.fi-layout,
.fi-main,
.fi-main-ctn {
    background:
        linear-gradient(180deg, rgba(7, 26, 85, .045), transparent 270px),
        var(--ceva-bg) !important;
    color: var(--ceva-ink);
}

.fi-main-ctn,
.fi-main,
.fi-page,
.fi-page > section,
.fi-page-sub-navigation-sidebar-ctn {
    --color-white: #ffffff;
    --gray-50: #f8fafc;
    --gray-100: #f1f5f9;
    --gray-200: #e2e8f0;
    --gray-300: #cbd5e1;
    --gray-400: #94a3b8;
    --gray-500: #64748b;
    --gray-600: #475569;
    --gray-700: #334155;
    --gray-800: #1e293b;
    --gray-900: #0f172a;
    --gray-950: #020617;
}

/* Login */
.fi-simple-layout {
    min-height: 100vh;
    background:
        linear-gradient(135deg, rgba(7, 26, 85, .96), rgba(9, 31, 97, .94)),
        linear-gradient(90deg, transparent 0 60%, rgba(237, 28, 36, .16) 60% 100%) !important;
    position: relative;
}

.fi-simple-layout::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, transparent 0 52%, rgba(237, 28, 36, .14) 52% 54%, transparent 54%),
        linear-gradient(120deg, transparent 0 69%, rgba(255, 255, 255, .08) 69% 70%, transparent 70%);
    pointer-events: none;
}

.fi-simple-main {
    width: min(92vw, 440px) !important;
    background: rgba(255, 255, 255, .98) !important;
    border: 1px solid rgba(255, 255, 255, .74) !important;
    border-top: 5px solid var(--ceva-red) !important;
    border-radius: 8px !important;
    box-shadow: 0 32px 90px rgba(0, 0, 0, .42) !important;
    overflow: hidden !important;
}

.fi-simple-header {
    gap: .7rem !important;
}

.fi-simple-header .fi-logo {
    max-width: 170px !important;
    object-fit: contain !important;
}

.fi-simple-header-heading,
.fi-header-heading {
    color: var(--ceva-navy) !important;
    letter-spacing: -.015em;
}

.fi-simple-header-subheading,
.fi-breadcrumbs-item-label {
    color: var(--ceva-muted) !important;
}

.fi-simple-main label,
.fi-simple-main .fi-fo-field-label,
.fi-fo-field-label,
.fi-fo-field-wrp-label label,
.fi-fo-field-hint {
    color: #334155 !important;
}

.fi-simple-main sup,
.fi-fo-field-wrp-label sup,
.fi-fo-field-label sup {
    color: var(--ceva-red) !important;
}

/* Topbar */
.fi-topbar {
    background: rgba(255, 255, 255, .92) !important;
    border-bottom: 1px solid rgba(7, 26, 85, .09) !important;
    box-shadow: 0 12px 28px rgba(7, 26, 85, .06) !important;
    backdrop-filter: blur(14px);
}

.fi-topbar .fi-logo {
    height: 2.1rem !important;
    max-width: 150px !important;
    object-fit: contain !important;
}

.fi-sidebar-close-overlay {
    opacity: 0 !important;
    pointer-events: none !important;
    visibility: hidden !important;
}

@media (max-width: 1023px) {
    .fi-sidebar.fi-sidebar-open ~ .fi-sidebar-close-overlay,
    .fi-sidebar-close-overlay.fi-sidebar-open {
        opacity: 1 !important;
        pointer-events: auto !important;
        visibility: visible !important;
    }
}

/* Sidebar */
.fi-sidebar {
    background:
        linear-gradient(180deg, #061442 0%, var(--ceva-navy) 58%, #06123a 100%) !important;
    border-right: 1px solid rgba(255, 255, 255, .08) !important;
    box-shadow: 18px 0 40px rgba(7, 26, 85, .12) !important;
}

.fi-sidebar .fi-logo.fi-logo-light {
    display: none !important;
}

.fi-sidebar .fi-logo.fi-logo-dark {
    display: flex !important;
}

.fi-sidebar,
.fi-sidebar * {
    --color-white: #ffffff;
    --gray-50: rgba(255, 255, 255, .05);
    --gray-100: rgba(255, 255, 255, .08);
    --gray-200: rgba(255, 255, 255, .13);
    --gray-300: rgba(255, 255, 255, .22);
    --gray-400: rgba(255, 255, 255, .48);
    --gray-500: rgba(255, 255, 255, .58);
    --gray-600: rgba(255, 255, 255, .66);
    --gray-700: rgba(255, 255, 255, .78);
    --gray-800: rgba(255, 255, 255, .9);
    --gray-900: rgba(255, 255, 255, .96);
    --gray-950: rgba(255, 255, 255, .06);
}

.fi-sidebar-header {
    background: transparent !important;
    border-bottom: 1px solid rgba(255, 255, 255, .09) !important;
}

.fi-sidebar-header .fi-logo {
    height: 2.15rem !important;
    max-width: 145px !important;
    object-fit: contain !important;
}

.fi-sidebar-group-label {
    color: rgba(255, 255, 255, .45) !important;
    font-size: .68rem !important;
    font-weight: 800 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
}

.fi-sidebar-item-btn {
    border-radius: 8px !important;
    transition: background-color .18s ease, color .18s ease, transform .18s ease !important;
}

.fi-sidebar-item-btn > .fi-icon {
    color: rgba(255, 255, 255, .58) !important;
}

.fi-sidebar-item-btn > .fi-sidebar-item-label {
    color: rgba(255, 255, 255, .82) !important;
    font-weight: 650 !important;
}

.fi-sidebar-item:not(.fi-active) .fi-sidebar-item-btn:hover {
    background-color: rgba(255, 255, 255, .08) !important;
    transform: translateX(2px);
}

.fi-sidebar-item:not(.fi-active) .fi-sidebar-item-btn:hover > .fi-icon,
.fi-sidebar-item:not(.fi-active) .fi-sidebar-item-btn:hover > .fi-sidebar-item-label {
    color: #fff !important;
}

.fi-sidebar-item.fi-active .fi-sidebar-item-btn {
    background: linear-gradient(135deg, var(--ceva-red), var(--ceva-red-dark)) !important;
    box-shadow: 0 12px 24px rgba(237, 28, 36, .24) !important;
}

.fi-sidebar-item.fi-active .fi-sidebar-item-btn > .fi-icon,
.fi-sidebar-item.fi-active .fi-sidebar-item-btn > .fi-sidebar-item-label {
    color: #fff !important;
}

.fi-sidebar nav {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, .18) transparent;
}

.fi-sidebar a[href="https://artinnex.com"],
.fi-sidebar a[href="https://quartz.com.ar"],
.fi-sidebar a[href="https://quartztechlabs.com"] {
    border-color: rgba(255, 255, 255, .12) !important;
    background-color: rgba(255, 255, 255, .1) !important;
    color: #ffffff !important;
    font-weight: 400 !important;
}

.fi-sidebar a[href="https://artinnex.com"]:hover,
.fi-sidebar a[href="https://quartz.com.ar"]:hover,
.fi-sidebar a[href="https://quartztechlabs.com"]:hover {
    border-color: rgba(237, 28, 36, .48) !important;
    color: #ffffff !important;
}

.fi-sidebar a[href="https://artinnex.com"] span,
.fi-sidebar a[href="https://quartz.com.ar"] span,
.fi-sidebar a[href="https://quartztechlabs.com"] span {
    color: #ff4b51 !important;
    font-weight: 400 !important;
}

/* Content cards, forms and tables */
.fi-section,
.fi-ta,
.fi-ta-ctn,
.fi-ta-content,
.fi-ta-table,
.fi-ta-empty-state,
.fi-wi-stats-overview-stat,
.fi-modal-window,
.fi-dropdown-panel {
    background-color: var(--ceva-panel) !important;
    border-color: var(--ceva-line) !important;
    border-radius: var(--ceva-radius) !important;
    box-shadow: var(--ceva-shadow) !important;
}

.fi-ta-ctn.fi-loading {
    animation: none !important;
}

.fi-section-header {
    border-bottom-color: rgba(7, 26, 85, .07) !important;
}

.fi-section-header-heading,
.fi-ta-header-heading {
    color: var(--ceva-navy) !important;
}

.fi-input-wrp,
.fi-fo-select .fi-select-input,
.fi-tags-input,
.fi-fo-markdown-editor,
.fi-fo-rich-editor {
    background-color: #fff !important;
    border-color: #cbd5e1 !important;
    border-radius: 8px !important;
    box-shadow: 0 1px 0 rgba(15, 23, 42, .02) !important;
}

.fi-input-wrp:focus-within,
.fi-fo-select .fi-select-input:focus-within {
    border-color: var(--ceva-navy-soft) !important;
    box-shadow: 0 0 0 4px rgba(13, 42, 122, .12) !important;
}

.fi-input,
.fi-fo-text-input input,
.fi-fo-textarea textarea,
.fi-select-input {
    color: var(--ceva-ink) !important;
}

.fi-input::placeholder,
.fi-fo-textarea textarea::placeholder {
    color: #94a3b8 !important;
}

.fi-btn {
    border-radius: 8px !important;
    font-weight: 750 !important;
}

.fi-btn.fi-color-primary,
.fi-simple-main .fi-btn[class*="fi-color-primary"],
.fi-simple-main button[type="submit"] {
    background: linear-gradient(135deg, var(--ceva-red), var(--ceva-red-dark)) !important;
    border-color: var(--ceva-red-dark) !important;
    color: #fff !important;
    box-shadow: 0 12px 22px rgba(237, 28, 36, .18) !important;
}

.fi-btn.fi-color-primary:hover,
.fi-simple-main button[type="submit"]:hover {
    filter: brightness(.96);
}

.fi-btn.fi-color-gray {
    background-color: #fff !important;
    border-color: #cbd5e1 !important;
    color: #334155 !important;
}

.fi-btn.fi-color-gray:hover {
    background-color: #f8fafc !important;
    color: var(--ceva-navy) !important;
}

.fi-ta-table {
    background-color: #fff !important;
}

.fi-ta-header,
.fi-ta-header-toolbar,
.fi-ta-content,
.fi-ta-main,
.fi-ta-empty-state,
.fi-ta-empty-state .fi-ta-empty-state-content {
    background-color: #fff !important;
    color: var(--ceva-ink) !important;
}

.fi-ta-empty-state .fi-icon,
.fi-ta-empty-state-icon {
    color: #94a3b8 !important;
}

.fi-ta-empty-state-heading {
    color: #334155 !important;
}

.fi-ta-loading-overlay {
    background-color: rgba(255, 255, 255, .74) !important;
    backdrop-filter: blur(1px);
}

.fi-ta-loading-overlay .fi-loading-indicator {
    color: var(--ceva-red) !important;
}

.fi-ta-header-cell {
    color: #475569 !important;
    font-size: .72rem !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}

.fi-ta-cell {
    color: #0f172a !important;
}

.fi-ta-row:hover td {
    background-color: #f8fbff !important;
}

.fi-badge {
    border-radius: 999px !important;
    font-weight: 750 !important;
}

.fi-wi-stats-overview-stat {
    transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}

.fi-wi-stats-overview-stat:hover {
    border-color: rgba(237, 28, 36, .42) !important;
    transform: translateY(-2px);
    box-shadow: 0 22px 54px rgba(7, 26, 85, .13) !important;
}

.fi-wi-stats-overview-stat-value {
    color: var(--ceva-navy) !important;
}

/* ── Dashboard page shell ────────────────────────────────── */

.ceva-dashboard-page .fi-header { align-items: center !important; }
.ceva-dashboard-page .fi-header-heading { font-size: clamp(1.4rem, 2vw, 1.85rem) !important; font-weight: 850 !important; }
.ceva-dashboard-page .fi-wi-widget { scroll-margin-top: 6rem; }
.ceva-dashboard-page .fi-ta-ctn, .ceva-dashboard-page .fi-section { overflow: hidden; }
.ceva-dashboard-page .fi-ta-header { border-bottom: 1px solid rgba(7,26,85,.08) !important; }
.ceva-dashboard-page .fi-ta-header-heading, .ceva-dashboard-page .fi-section-header-heading { font-weight: 850 !important; }
.ceva-dashboard-page .fi-ta-row td { transition: background-color .15s ease; }

/* ── Hero widget ─────────────────────────────────────────── */

.cd-hero {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #071a55 0%, #0a2268 45%, #0d1f4f 100%);
    border-radius: 12px;
    box-shadow: 0 24px 60px rgba(7, 26, 85, .32);
}

.cd-hero__bg {
    position: absolute;
    inset: 0;
    pointer-events: none;
    overflow: hidden;
}

.cd-hero__bg-grid {
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(255, 255, 255, .04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px);
    background-size: 40px 40px;
    mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 40%, transparent 100%);
}

.cd-hero__bg-glow {
    position: absolute;
    top: -30%;
    right: -10%;
    width: 520px;
    height: 520px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(237, 28, 36, .18) 0%, transparent 70%);
    filter: blur(40px);
}

.cd-hero__body {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 280px);
    gap: 32px;
    align-items: start;
    padding: 28px 28px 20px;
}

.cd-hero__left {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cd-hero__brand {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cd-hero__logo-mark {
    display: inline-grid;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(237, 28, 36, .8), rgba(201, 21, 28, .9));
    box-shadow: 0 8px 20px rgba(237, 28, 36, .3);
}

.cd-hero__eyebrow {
    display: block;
    margin-bottom: 2px;
    color: rgba(255, 255, 255, .5);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cd-hero__title {
    margin: 0;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: -.02em;
}

.cd-hero__user-block {
    display: flex;
    align-items: center;
    gap: 12px;
}

.cd-hero__avatar {
    display: inline-grid;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, rgba(255, 255, 255, .2), rgba(255, 255, 255, .08));
    border: 2px solid rgba(255, 255, 255, .2);
    color: #fff;
    font-size: 1.1rem;
    font-weight: 900;
}

.cd-hero__user-name {
    margin: 0 0 6px;
    color: #fff;
    font-size: 1rem;
    font-weight: 800;
}

.cd-hero__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.cd-badge {
    display: inline-flex;
    align-items: center;
    height: 22px;
    padding: 0 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .12);
    border: 1px solid rgba(255, 255, 255, .18);
    color: rgba(255, 255, 255, .8);
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .03em;
}

.cd-badge--role {
    background: rgba(237, 28, 36, .25);
    border-color: rgba(237, 28, 36, .4);
    color: #ff8d91;
    font-weight: 900;
}

.cd-badge--time {
    background: rgba(255, 255, 255, .08);
    color: rgba(255, 255, 255, .55);
    font-variant-numeric: tabular-nums;
}

.cd-hero__kpis {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 4px;
}

.cd-kpi {
    position: relative;
    overflow: hidden;
    min-width: 180px;
    padding: 14px 16px 10px;
    border-radius: 10px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .1);
    transition: background .18s ease, transform .18s ease;
}

.cd-kpi:hover {
    background: rgba(255, 255, 255, .11);
    transform: translateX(2px);
}

.cd-kpi__inner {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 10px;
}

.cd-kpi__label {
    color: rgba(255, 255, 255, .6);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cd-kpi__value {
    color: #fff;
    font-size: 1.4rem;
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.02em;
    white-space: nowrap;
}

.cd-kpi__bar {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 3px;
    border-radius: 0 0 10px 10px;
}

.cd-kpi--red   { border-left: 3px solid var(--ceva-red); }
.cd-kpi--navy  { border-left: 3px solid #4a90d9; }
.cd-kpi--amber { border-left: 3px solid #f59e0b; }
.cd-kpi--muted { border-left: 3px solid rgba(255, 255, 255, .2); }

.cd-kpi--red .cd-kpi__bar   { background: linear-gradient(90deg, var(--ceva-red), #ff4b51); }
.cd-kpi--navy .cd-kpi__bar  { background: linear-gradient(90deg, #4a90d9, #7ab3e8); }
.cd-kpi--amber .cd-kpi__bar { background: linear-gradient(90deg, #f59e0b, #fbbf24); }
.cd-kpi--muted .cd-kpi__bar { background: rgba(255, 255, 255, .2); }

.cd-hero__actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cd-hero__actions-heading {
    display: block;
    margin-bottom: 4px;
    color: rgba(255, 255, 255, .4);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.cd-action {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 9px;
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .1);
    color: inherit;
    text-decoration: none;
    transition: background .18s ease, border-color .18s ease, transform .18s ease;
}

.cd-action:hover {
    background: rgba(255, 255, 255, .13);
    border-color: rgba(255, 255, 255, .22);
    transform: translateX(2px);
}

.cd-action:hover .cd-action__chevron {
    opacity: 1;
    transform: translateX(2px);
}

.cd-action__icon {
    display: inline-grid;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: #fff;
    font-size: .8rem;
    font-weight: 950;
}

.cd-action__body {
    flex: 1;
    min-width: 0;
}

.cd-action__body strong {
    display: block;
    color: rgba(255, 255, 255, .9);
    font-size: .85rem;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cd-action__body small {
    display: block;
    color: rgba(255, 255, 255, .45);
    font-size: .72rem;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.cd-action__chevron {
    flex-shrink: 0;
    color: rgba(255, 255, 255, .35);
    opacity: .5;
    transition: opacity .18s ease, transform .18s ease;
}

.cd-hero__footer {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 28px 14px;
    border-top: 1px solid rgba(255, 255, 255, .07);
}

.cd-hero__signal {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: rgba(255, 255, 255, .5);
    font-size: .75rem;
    font-weight: 700;
}

.cd-hero__signal-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, .2);
    animation: cd-pulse 2.2s ease-in-out infinite;
}

@keyframes cd-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(16, 185, 129, .2); }
    50%       { box-shadow: 0 0 0 7px rgba(16, 185, 129, .0); }
}

.cd-hero__version {
    color: rgba(255, 255, 255, .3);
    font-size: .7rem;
    font-weight: 600;
}

/* ── Control-room widget ──────────────────────────────────── */

.cd-room {
    padding: 0;
}

.cd-room__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 0 2px;
}

.cd-room__header-left {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--ceva-navy);
}

.cd-room__header-left > svg { opacity: .55; }

.cd-room__scope {
    display: block;
    color: var(--ceva-red);
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
    margin-bottom: 2px;
}

.cd-room__title {
    margin: 0;
    color: var(--ceva-navy);
    font-size: 1.05rem;
    font-weight: 900;
}

.cd-room__live {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    height: 30px;
    padding: 0 12px;
    border-radius: 999px;
    border: 1px solid rgba(16, 185, 129, .28);
    background: rgba(236, 253, 245, .85);
    color: #047857;
    font-size: .72rem;
    font-weight: 850;
    flex-shrink: 0;
}

.cd-room__live-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #10b981;
    animation: cd-pulse 2.2s ease-in-out infinite;
}

.cd-room__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

/* ── Cards ──────────────────────────────────────────────── */

.cd-card {
    display: flex;
    flex-direction: column;
    gap: 14px;
    overflow: hidden;
    position: relative;
    padding: 18px;
    border: 1px solid rgba(219, 227, 239, .9);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(7, 26, 85, .07);
    transition: box-shadow .2s ease, transform .2s ease;
}

.cd-card:hover {
    box-shadow: 0 16px 40px rgba(7, 26, 85, .11);
    transform: translateY(-1px);
}

.cd-card--screen {
    border-top: 3px solid var(--ceva-navy);
    background: linear-gradient(180deg, rgba(7, 26, 85, .03) 0%, transparent 50%), #fff;
}

.cd-card--news {
    border-top: 3px solid var(--ceva-red);
    background: linear-gradient(180deg, rgba(237, 28, 36, .04) 0%, transparent 50%), #fff;
}

.cd-card--access {
    border-top: 3px solid #10b981;
    background: linear-gradient(180deg, rgba(16, 185, 129, .05) 0%, transparent 50%), #fff;
}

.cd-card__header {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.cd-card__icon {
    display: inline-grid;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 8px;
    margin-top: 1px;
}

.cd-card__icon--navy  { background: rgba(7, 26, 85, .1);      color: var(--ceva-navy); }
.cd-card__icon--red   { background: rgba(237, 28, 36, .1);     color: var(--ceva-red); }
.cd-card__icon--green { background: rgba(16, 185, 129, .12);   color: #059669; }

.cd-card__header > div:nth-child(2) {
    flex: 1;
    min-width: 0;
}

.cd-card__category {
    margin: 0 0 2px;
    color: #94a3b8;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.cd-card__title {
    margin: 0;
    color: var(--ceva-navy);
    font-size: .95rem;
    font-weight: 850;
}

.cd-card__big-num {
    margin-left: auto;
    flex-shrink: 0;
    color: var(--ceva-navy);
    font-size: 2.2rem;
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.04em;
}

.cd-card__big-num--pct small {
    font-size: 1rem;
    font-weight: 700;
    opacity: .65;
    margin-left: 1px;
}

/* Visual bar */
.cd-visual-bar {
    display: flex;
    height: 52px;
    border-radius: 8px;
    overflow: hidden;
    gap: 2px;
}

.cd-visual-bar__seg {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 6px 8px;
    min-width: 46px;
    border-radius: 6px;
    color: #fff;
    font-size: .7rem;
}

.cd-visual-bar__seg span   { font-weight: 600; opacity: .85; }
.cd-visual-bar__seg strong { font-size: .95rem; font-weight: 950; }

.cd-visual-bar__seg--a { background: linear-gradient(135deg, var(--ceva-navy), var(--ceva-navy-soft)); }
.cd-visual-bar__seg--b { background: linear-gradient(135deg, var(--ceva-red), var(--ceva-red-dark)); }
.cd-visual-bar__seg--c { background: linear-gradient(135deg, #f59e0b, #d97706); }

/* Stats row */
.cd-card__stats {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.cd-stat {
    display: flex;
    flex-direction: column;
    gap: 3px;
    flex: 1;
    min-width: 64px;
    padding: 8px 10px;
    border: 1px solid rgba(219, 227, 239, .9);
    border-radius: 7px;
    background: rgba(248, 250, 252, .8);
}

.cd-stat span {
    color: #64748b;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.cd-stat strong {
    color: var(--ceva-navy);
    font-size: .95rem;
    font-weight: 900;
}

.cd-stat__val--on  { color: #059669 !important; }
.cd-stat__val--off { color: #94a3b8 !important; }

/* News strip */
.cd-card__news-strip {
    display: flex;
    align-items: stretch;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid rgba(7, 26, 85, .12);
    background: var(--ceva-navy);
    min-height: 56px;
}

.cd-news-tag {
    display: flex;
    align-items: center;
    padding: 0 10px;
    background: var(--ceva-red);
    color: #fff;
    font-size: .62rem;
    font-weight: 950;
    letter-spacing: .1em;
    writing-mode: vertical-rl;
    text-orientation: mixed;
    transform: rotate(180deg);
    white-space: nowrap;
    flex-shrink: 0;
}

.cd-news-headline {
    margin: 0;
    padding: 10px 12px;
    color: rgba(255, 255, 255, .9);
    font-size: .88rem;
    font-weight: 750;
    line-height: 1.45;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* Gauge */
.cd-gauge {
    position: relative;
    padding: 8px 12px;
    border: 1px solid rgba(7, 26, 85, .1);
    border-radius: 8px;
    background: #f8fafc;
}

.cd-gauge__track {
    height: 10px;
    border-radius: 999px;
    background: rgba(7, 26, 85, .08);
    overflow: hidden;
    margin-bottom: 8px;
}

.cd-gauge__fill {
    height: 100%;
    width: calc(var(--pct, 0) * 1%);
    max-width: 100%;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ceva-red), #10b981);
    transition: width .6s cubic-bezier(.4, 0, .2, 1);
}

.cd-gauge__labels {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.cd-gauge__labels span {
    color: #94a3b8;
    font-size: .65rem;
    font-weight: 700;
}

.cd-gauge__center-label {
    color: var(--ceva-navy) !important;
    font-size: .7rem !important;
    font-weight: 850 !important;
    text-align: center;
    line-height: 1.3;
}

/* Card footer */
.cd-card__footer {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-top: 10px;
    border-top: 1px solid rgba(219, 227, 239, .7);
    color: #64748b;
    font-size: .76rem;
    font-weight: 650;
    margin-top: auto;
}

.cd-card__footer svg { flex-shrink: 0; color: #94a3b8; }

.cd-card__footer--warn {
    color: #b45309 !important;
    border-top-color: rgba(245, 158, 11, .3) !important;
}

.cd-card__footer--warn svg { color: #f59e0b !important; }

/* ── Legacy dashboard CSS (kept for compatibility) ────────── */

.ceva-dashboard-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
    gap: 24px;
    position: relative;
    overflow: hidden;
    padding: 28px 28px 24px;
    border: 1px solid rgba(219, 227, 239, .95);
    border-radius: 10px;
    background:
        linear-gradient(135deg, #fff 0%, rgba(248, 251, 255, .97) 55%, rgba(255, 241, 242, .93) 100%);
    box-shadow: var(--ceva-shadow);
}

/* Barra roja izquierda */
.ceva-dashboard-hero::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--ceva-red), var(--ceva-red-dark));
    border-radius: 10px 0 0 10px;
}

/* Decoración diagonal de fondo */
.ceva-dashboard-hero__deco {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(122deg, transparent 58%, rgba(237, 28, 36, .055) 58% 62%, transparent 62%),
        linear-gradient(122deg, transparent 68%, rgba(7, 26, 85, .03) 68% 70%, transparent 70%);
}

.ceva-dashboard-hero__content,
.ceva-dashboard-hero__actions {
    position: relative;
    z-index: 1;
}

/* Marca + título */
.ceva-dashboard-hero__brand {
    display: flex;
    align-items: flex-start;
    gap: 14px;
}

.ceva-dashboard-hero__mark {
    flex-shrink: 0;
    margin-top: 3px;
    width: 34px;
    height: 22px;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    background: var(--ceva-red);
    box-shadow: 0 8px 18px rgba(237, 28, 36, .22);
}

.ceva-dashboard-hero__eyebrow {
    margin: 0 0 3px;
    color: var(--ceva-red);
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ceva-dashboard-hero h2 {
    margin: 0;
    color: var(--ceva-navy);
    font-size: clamp(1.55rem, 2.8vw, 2.3rem);
    font-weight: 900;
    line-height: 1.08;
    letter-spacing: -.02em;
}

/* Pastillas de meta */
.ceva-dashboard-hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 16px;
}

.ceva-dashboard-hero__meta-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 5px 11px;
    border: 1px solid rgba(7, 26, 85, .1);
    border-radius: 999px;
    background: rgba(255, 255, 255, .75);
    color: #334155;
    font-size: .78rem;
    font-weight: 700;
    backdrop-filter: blur(4px);
}

.ceva-dashboard-hero__meta-pill--role {
    border-color: rgba(237, 28, 36, .24);
    background: rgba(237, 28, 36, .06);
    color: var(--ceva-red);
    font-weight: 900;
}

/* Bienvenida */
.ceva-dashboard-hero__welcome {
    max-width: 580px;
    margin: 16px 0 0;
    color: #475569;
    font-size: .94rem;
    line-height: 1.7;
}

.ceva-dashboard-hero__welcome strong {
    color: var(--ceva-navy);
    font-weight: 800;
}

/* Métricas */
.ceva-dashboard-hero__metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 20px;
}

.ceva-dashboard-metric {
    min-height: 86px;
    padding: 14px 16px;
    border: 1px solid rgba(219, 227, 239, .9);
    border-radius: 8px;
    background: rgba(255, 255, 255, .85);
    transition: box-shadow .18s ease, transform .18s ease;
}

.ceva-dashboard-metric:hover {
    box-shadow: 0 8px 22px rgba(7, 26, 85, .09);
    transform: translateY(-1px);
}

.ceva-dashboard-metric span {
    display: block;
    color: #64748b;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.ceva-dashboard-metric strong {
    display: block;
    margin-top: 8px;
    color: var(--ceva-navy);
    font-size: clamp(1.35rem, 2vw, 1.9rem);
    font-weight: 950;
    line-height: 1.1;
}

.ceva-dashboard-metric--red    { border-left: 4px solid var(--ceva-red); }
.ceva-dashboard-metric--navy   { border-left: 4px solid var(--ceva-navy-soft); }
.ceva-dashboard-metric--amber  { border-left: 4px solid #f59e0b; }
.ceva-dashboard-metric--muted  { border-left: 4px solid #94a3b8; }

/* Acciones rápidas */
.ceva-dashboard-hero__actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.ceva-dashboard-hero__actions-label {
    margin: 0 0 2px;
    color: #94a3b8;
    font-size: .7rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.ceva-dashboard-action {
    display: flex;
    align-items: center;
    gap: 12px;
    min-height: 64px;
    padding: 12px 14px;
    border: 1px solid rgba(219, 227, 239, .95);
    border-radius: 8px;
    background: rgba(255, 255, 255, .88);
    color: var(--ceva-ink);
    text-decoration: none;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease, background .18s ease;
}

.ceva-dashboard-action:hover {
    border-color: rgba(237, 28, 36, .32);
    background: #fff;
    box-shadow: 0 12px 28px rgba(7, 26, 85, .1);
    transform: translateY(-1px);
}

.ceva-dashboard-action:hover .ceva-dashboard-action__arrow {
    opacity: 1;
    transform: translateX(2px);
}

.ceva-dashboard-action__icon {
    display: inline-grid;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 8px;
    background: linear-gradient(135deg, var(--ceva-navy), var(--ceva-navy-soft));
    color: #fff;
    font-size: .85rem;
    font-weight: 950;
    box-shadow: 0 6px 14px rgba(7, 26, 85, .18);
}

.ceva-dashboard-action__text {
    flex: 1;
    min-width: 0;
}

.ceva-dashboard-action strong {
    display: block;
    color: var(--ceva-navy);
    font-size: .9rem;
    font-weight: 850;
}

.ceva-dashboard-action small {
    display: block;
    margin-top: 2px;
    color: #64748b;
    font-size: .76rem;
    font-weight: 600;
}

.ceva-dashboard-action__arrow {
    flex-shrink: 0;
    color: #94a3b8;
    opacity: 0;
    transition: opacity .18s ease, transform .18s ease;
}

.ceva-dashboard-page .fi-wi-stats-overview-stat {
    position: relative;
    overflow: hidden;
    min-height: 132px;
    padding: 18px !important;
}

.ceva-dashboard-page .fi-wi-stats-overview-stat::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 4px;
    background: var(--ceva-red);
    opacity: .9;
}

.ceva-dashboard-page .fi-wi-stats-overview-stat-label {
    color: #334155 !important;
    font-weight: 850 !important;
}

.ceva-dashboard-page .fi-wi-stats-overview-stat-description {
    color: #64748b !important;
    font-weight: 600 !important;
}

.ceva-dashboard-page .fi-ta-ctn,
.ceva-dashboard-page .fi-section {
    overflow: hidden;
}

.ceva-dashboard-page .fi-ta-header {
    border-bottom: 1px solid rgba(7, 26, 85, .08) !important;
}

.ceva-dashboard-page .fi-ta-header-heading,
.ceva-dashboard-page .fi-section-header-heading {
    font-weight: 850 !important;
}

.ceva-dashboard-page .fi-ta-row td {
    transition: background-color .15s ease;
}

.ceva-control-room {
    padding: 0;
}

.ceva-control-room__header {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
}

.ceva-control-room__header span {
    display: inline-flex;
    margin-bottom: 4px;
    color: var(--ceva-red);
    font-size: .72rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ceva-control-room__header h3 {
    margin: 0;
    color: var(--ceva-navy);
    font-size: 1.18rem;
    font-weight: 900;
}

.ceva-control-room__status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid rgba(16, 185, 129, .24);
    border-radius: 999px;
    background: rgba(236, 253, 245, .88);
    color: #047857;
    font-size: .78rem;
    font-weight: 850;
}

.ceva-control-room__status i {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #10b981;
    box-shadow: 0 0 0 5px rgba(16, 185, 129, .14);
}

.ceva-control-room__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.ceva-ops-card {
    display: flex;
    min-height: 310px;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    position: relative;
    padding: 18px;
    border: 1px solid rgba(219, 227, 239, .95);
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 14px 36px rgba(7, 26, 85, .07);
}

.ceva-ops-card::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--ceva-red);
}

.ceva-ops-card--screen {
    background:
        linear-gradient(180deg, rgba(7, 26, 85, .04), transparent 42%),
        #fff;
}

.ceva-ops-card--news {
    background:
        linear-gradient(135deg, rgba(237, 28, 36, .06), transparent 42%),
        #fff;
}

.ceva-ops-card--access {
    background:
        linear-gradient(135deg, rgba(16, 185, 129, .07), transparent 44%),
        #fff;
}

.ceva-ops-card__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.ceva-ops-card__top span {
    color: #475569;
    font-size: .76rem;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.ceva-ops-card__top strong {
    color: var(--ceva-navy);
    font-size: 2.35rem;
    font-weight: 950;
    line-height: .9;
}

.ceva-screen-map {
    display: grid;
    grid-template-columns: 1fr .72fr;
    grid-template-rows: 62px 62px;
    gap: 8px;
    margin: 18px 0;
}

.ceva-screen-map span {
    display: grid;
    place-items: center;
    border: 1px solid rgba(7, 26, 85, .1);
    border-radius: 8px;
    color: #fff;
    font-size: 1.35rem;
    font-weight: 950;
}

.ceva-screen-map .is-text {
    grid-row: 1 / -1;
    background: var(--ceva-navy);
}

.ceva-screen-map .is-image {
    background: var(--ceva-red);
}

.ceva-screen-map .is-card {
    background: #f59e0b;
}

.ceva-news-strip {
    margin: 18px 0;
    border: 1px solid rgba(7, 26, 85, .1);
    border-radius: 8px;
    background: #071a55;
    color: #fff;
    box-shadow: inset 0 -4px 0 var(--ceva-red);
}

.ceva-news-strip span {
    display: inline-flex;
    padding: 7px 10px;
    background: var(--ceva-red);
    color: #fff;
    font-size: .7rem;
    font-weight: 950;
    letter-spacing: .1em;
}

.ceva-news-strip p {
    min-height: 76px;
    margin: 0;
    padding: 14px;
    color: #fff;
    font-size: 1rem;
    font-weight: 850;
    line-height: 1.35;
}

.ceva-rate-gauge {
    display: flex;
    align-items: center;
    height: 70px;
    margin: 18px 0;
    padding: 0 14px;
    border: 1px solid rgba(7, 26, 85, .1);
    border-radius: 8px;
    background:
        repeating-linear-gradient(90deg, rgba(7, 26, 85, .05) 0 1px, transparent 1px 18px),
        #f8fafc;
}

.ceva-rate-gauge span {
    display: block;
    width: var(--rate);
    min-width: 8px;
    max-width: 100%;
    height: 14px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--ceva-red), #10b981);
    box-shadow: 0 8px 18px rgba(16, 185, 129, .18);
}

.ceva-ops-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 0;
}

.ceva-ops-list div {
    min-height: 70px;
    padding: 10px;
    border: 1px solid rgba(219, 227, 239, .92);
    border-radius: 8px;
    background: rgba(248, 250, 252, .84);
}

.ceva-ops-list dt {
    color: #64748b;
    font-size: .69rem;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.ceva-ops-list dd {
    margin: 7px 0 0;
    color: var(--ceva-navy);
    font-size: 1.35rem;
    font-weight: 950;
    line-height: 1;
}

.ceva-ops-card__footer {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(219, 227, 239, .7);
}

.ceva-ops-card__footer-label {
    display: block;
    margin-bottom: 4px;
    color: #94a3b8;
    font-size: .68rem;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.ceva-ops-card__note {
    margin: 0;
    color: #475569;
    font-size: .85rem;
    font-weight: 700;
    line-height: 1.5;
}

.ceva-ops-card__event-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-top: 8px;
    padding: 4px 10px;
    border-radius: 999px;
    background: rgba(16, 185, 129, .1);
    color: #047857;
    font-size: .74rem;
    font-weight: 850;
}

.ceva-ops-card__event-badge--off {
    background: rgba(148, 163, 184, .1);
    color: #94a3b8;
}

.ceva-accesses-table {
    border-collapse: separate;
    border-spacing: 0;
}

.ceva-accesses-table th {
    padding: 0 14px 12px;
    border-bottom: 1px solid rgba(7, 26, 85, .1);
    color: #475569;
    font-size: .72rem;
    font-weight: 850;
    letter-spacing: .06em;
    text-align: center;
    text-transform: uppercase;
}

.ceva-accesses-table th:first-child,
.ceva-accesses-table td:first-child {
    text-align: left;
}

.ceva-accesses-table td {
    padding: 14px;
    border-bottom: 1px solid rgba(226, 232, 240, .82);
    color: #334155;
    font-weight: 700;
    text-align: center;
}

.ceva-accesses-table tbody tr:hover td {
    background: #f8fbff;
}

.ceva-accesses-table tbody td:first-child {
    color: var(--ceva-navy);
    font-weight: 850;
}

.ceva-accesses-table tbody td:last-child,
.ceva-accesses-table tfoot td:last-child {
    color: var(--ceva-red);
    font-weight: 900;
}

.ceva-accesses-table tfoot td {
    padding: 14px;
    border-top: 2px solid rgba(7, 26, 85, .12);
    color: var(--ceva-navy);
    font-weight: 900;
    text-align: center;
}

@media (max-width: 1100px) {
    .ceva-dashboard-hero {
        grid-template-columns: 1fr;
    }

    .ceva-dashboard-hero__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ceva-dashboard-hero__actions-label {
        grid-column: 1 / -1;
    }

    .ceva-control-room__grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .ceva-dashboard-hero {
        padding: 18px 16px;
    }

    .ceva-dashboard-hero__metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .ceva-dashboard-hero__actions {
        grid-template-columns: 1fr;
    }

    .ceva-control-room__header {
        align-items: flex-start;
        flex-direction: column;
    }

    .ceva-ops-list {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 480px) {
    .ceva-dashboard-hero__metrics {
        grid-template-columns: 1fr;
    }
}

/* ── Responsive: cd-* components ─────────────────────────── */

@media (max-width: 1200px) {
    .cd-hero__body {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .cd-hero__kpis {
        flex-direction: row;
        flex-wrap: wrap;
        grid-column: 1 / -1;
        order: 3;
    }

    .cd-kpi { flex: 1; min-width: 150px; }
}

@media (max-width: 1100px) {
    .cd-room__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cd-card--access { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
    .cd-hero__body {
        grid-template-columns: 1fr;
        padding: 20px 18px 16px;
    }

    .cd-hero__kpis {
        flex-direction: row;
        order: unset;
    }

    .cd-hero__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cd-hero__actions-heading { grid-column: 1 / -1; }

    .cd-room__grid { grid-template-columns: 1fr; }
    .cd-card--access { grid-column: unset; }
}

@media (max-width: 480px) {
    .cd-hero__kpis { flex-direction: column; }
    .cd-hero__actions { grid-template-columns: 1fr; }
    .cd-hero__footer { padding: 10px 18px 12px; }
}

/* ── Responsive: general ──────────────────────────────────── */

@media (max-width: 768px) {
    .fi-simple-main {
        border-radius: 8px !important;
    }

    .fi-topbar {
        backdrop-filter: none;
    }
}
