:root {
    --kromis-primary: #055887;
    --kromis-primary-light: #c8e8f7;
    --kromis-primary-soft: #f7fbfe;
    --kromis-surface: #ffffff;
    --kromis-border: rgba(5, 88, 135, 0.12);
    --kromis-shadow: 0 10px 30px rgba(5, 88, 135, 0.08);
    --kromis-radius: 14px;
    --kromis-success: #16a34a;
    --kromis-warning: #f59e0b;
    --kromis-danger: #dc2626;
    --kromis-info: #2563eb;
}

.fi-body {
    background: #f4f8fb !important;
}

.fi-main {
    max-width: none !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
}

.fi-topbar nav,
.fi-sidebar-header {
    background: var(--kromis-surface) !important;
    border-bottom: 1px solid var(--kromis-border) !important;
}

.fi-topbar nav {
    align-items: center !important;
    display: flex !important;
    flex-wrap: nowrap !important;
    gap: 0.75rem !important;
    justify-content: flex-start !important;
    min-height: 4rem !important;
    padding: 0.45rem 1rem !important;
    width: 100% !important;
}

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

.fi-sidebar-header {
    align-items: center !important;
    display: flex !important;
    gap: 0.5rem !important;
    min-height: auto !important;
    padding: 0.5rem 0.75rem !important;
}

.fi-sidebar-header .fi-logo {
    display: flex !important;
    flex: 1 1 auto !important;
    margin: 0 !important;
    min-width: 0 !important;
}

.fi-sidebar-header .fi-logo img {
    display: block !important;
    height: auto !important;
    max-height: 2.75rem !important;
    max-width: 100% !important;
    object-fit: contain !important;
    width: 100% !important;
}

.fi-sidebar-collapse-button svg,
.fi-topbar-open-sidebar-btn svg {
    display: none !important;
}

.fi-sidebar-collapse-button,
.fi-topbar-open-sidebar-btn {
    align-items: center !important;
    background: var(--kromis-surface) !important;
    border: 1px solid var(--kromis-border) !important;
    border-radius: 12px !important;
    color: var(--kromis-primary) !important;
    display: inline-flex !important;
    height: 2.5rem !important;
    justify-content: center !important;
    min-width: 2.5rem !important;
    width: 2.5rem !important;
}

.fi-sidebar-collapse-button::before,
.fi-topbar-open-sidebar-btn::before {
    box-shadow: 0 -6px 0 currentColor, 0 6px 0 currentColor;
    content: '';
    display: block;
    height: 2px;
    width: 18px;
}

@media (max-width: 1023px) {
    .fi-sidebar-collapse-button {
        display: none !important;
    }
}

@media (min-width: 1024px) {
    .fi-topbar-open-sidebar-btn {
        display: none !important;
    }
}

.kromis-topbar-start {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 0.75rem;
    min-width: 0;
}

.kromis-topbar-actions {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 0.55rem;
}

.fi-topbar nav > .ms-auto {
    align-items: center !important;
    display: flex !important;
    flex-shrink: 0 !important;
    gap: 0.55rem !important;
    margin-left: auto !important;
}

.fi-topbar .fi-user-menu {
    flex-shrink: 0;
    margin-left: 0 !important;
}

.kromis-topbar-icon-btn {
    align-items: center;
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 12px;
    color: var(--kromis-primary) !important;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 800;
    height: 2.5rem;
    justify-content: center;
    min-width: 2.5rem;
    padding: 0 0.55rem;
}

.kromis-topbar-icon-btn__glyph {
    color: inherit !important;
    line-height: 1;
}

.kromis-topbar-icon-btn--whatsapp {
    background: #ecfdf3;
    border-color: rgba(22, 163, 74, 0.18);
    color: #16a34a !important;
}

.kromis-topbar-icon-btn__svg {
    height: 1.15rem;
    width: 1.15rem;
}

.kromis-topbar-back-btn {
    cursor: pointer;
    flex-shrink: 0;
}

.kromis-topbar-back-btn:hover {
    background: var(--kromis-primary-soft);
}

.kromis-topbar-search {
    align-items: center;
    background: #f8fbfd;
    border: 1px solid var(--kromis-border);
    border-radius: 999px;
    display: flex;
    flex: 1 1 auto;
    gap: 0.45rem;
    max-width: 34rem;
    min-width: 10rem;
    padding: 0.35rem 0.7rem;
}

.kromis-topbar-search__icon {
    color: #64748b;
    height: 0.95rem;
    width: 0.95rem;
}

.kromis-topbar-search__input {
    background: transparent;
    border: 0;
    color: #0f172a;
    flex: 1 1 auto;
    font-size: 0.8rem;
    min-width: 0;
    outline: none;
}

.kromis-topbar-search__input::placeholder {
    color: #94a3b8;
}

.kromis-topbar-search__hint {
    background: #eef6fb;
    border-radius: 6px;
    color: #64748b;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.12rem 0.35rem;
    white-space: nowrap;
}

.kromis-topbar-utilities {
    align-items: center;
    display: flex;
    flex-shrink: 0;
    gap: 0.55rem;
}

.kromis-topbar-quick-add {
    align-items: center;
    background: var(--kromis-primary) !important;
    border: 0;
    border-radius: 12px;
    color: #ffffff !important;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.86rem;
    font-weight: 700;
    gap: 0.45rem;
    height: 2.5rem;
    padding: 0 0.9rem;
    white-space: nowrap;
}

.kromis-topbar-quick-add__icon,
.kromis-topbar-quick-add__label,
.kromis-topbar-quick-add__caret {
    color: #ffffff !important;
    line-height: 1;
}

.kromis-date-range-wrap {
    align-items: center;
    display: inline-flex;
    gap: 0.45rem;
}

.kromis-date-range-picker {
    align-items: center;
    background: var(--kromis-primary) !important;
    border-radius: 12px;
    color: #ffffff !important;
    display: inline-flex;
    gap: 0.45rem;
    height: 2.5rem;
    padding: 0 0.75rem;
    white-space: nowrap;
}

.kromis-date-range-picker__icon {
    color: #ffffff !important;
    font-size: 0.95rem;
    line-height: 1;
}

.kromis-date-range-picker__trigger {
    background: transparent !important;
    border: 0 !important;
    color: #ffffff !important;
    cursor: pointer;
    font-size: 0.82rem;
    font-weight: 700;
    min-width: 9.5rem;
    outline: none !important;
    padding: 0;
}

.kromis-date-range-picker__trigger::placeholder {
    color: rgba(255, 255, 255, 0.82) !important;
}

.kromis-date-range-reset {
    background: #ffffff !important;
    border: 1px solid #d7e4ee;
    border-radius: 12px;
    color: #055887 !important;
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 600;
    height: 2.5rem;
    padding: 0 0.85rem;
    white-space: nowrap;
}

.kromis-date-range-reset:hover {
    background: #ebf9ff !important;
}

.flatpickr-calendar.kromis-flatpickr {
    border: 1px solid var(--kromis-border);
    border-radius: 14px;
    box-shadow: var(--kromis-shadow);
}

.flatpickr-calendar.kromis-flatpickr .flatpickr-day.selected,
.flatpickr-calendar.kromis-flatpickr .flatpickr-day.startRange,
.flatpickr-calendar.kromis-flatpickr .flatpickr-day.endRange,
.flatpickr-calendar.kromis-flatpickr .flatpickr-day.selected.inRange,
.flatpickr-calendar.kromis-flatpickr .flatpickr-day.startRange.inRange,
.flatpickr-calendar.kromis-flatpickr .flatpickr-day.endRange.inRange {
    background: var(--kromis-primary);
    border-color: var(--kromis-primary);
}

.flatpickr-calendar.kromis-flatpickr .flatpickr-day.inRange {
    background: var(--kromis-primary-light);
    border-color: var(--kromis-primary-light);
    box-shadow: -5px 0 0 var(--kromis-primary-light), 5px 0 0 var(--kromis-primary-light);
}

.kromis-topbar-dropdown {
    position: relative;
}

.kromis-topbar-dropdown__menu {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 14px;
    box-shadow: var(--kromis-shadow);
    display: grid;
    gap: 0.15rem;
    left: 0;
    min-width: 11rem;
    padding: 0.45rem;
    position: absolute;
    top: calc(100% + 0.45rem);
    z-index: 50;
}

.kromis-topbar-dropdown__menu--right {
    left: auto;
    right: 0;
}

.kromis-topbar-dropdown__menu a,
.kromis-topbar-dropdown__menu button {
    background: transparent;
    border: 0;
    border-radius: 10px;
    color: #0f172a;
    font-size: 0.86rem;
    font-weight: 600;
    padding: 0.55rem 0.7rem;
    text-align: left;
    text-decoration: none;
}

.kromis-topbar-dropdown__menu a:hover,
.kromis-topbar-dropdown__menu button:hover {
    background: var(--kromis-primary-soft);
    color: var(--kromis-primary);
}

.kromis-search-toast {
    background: #0f172a;
    border-radius: 12px;
    bottom: 1.25rem;
    color: #ffffff;
    font-size: 0.88rem;
    font-weight: 600;
    left: 50%;
    max-width: min(92vw, 34rem);
    padding: 0.85rem 1rem;
    position: fixed;
    transform: translateX(-50%);
    z-index: 80;
}

.kromis-global-search__backdrop {
    background: rgba(15, 23, 42, 0.45);
    inset: 0;
    position: fixed;
    z-index: 90;
}

.kromis-global-search__dialog {
    background: #ffffff;
    border: 1px solid var(--kromis-border);
    border-radius: 18px;
    box-shadow: 0 24px 60px rgba(15, 23, 42, 0.18);
    display: grid;
    gap: 0.85rem;
    left: 50%;
    max-height: min(78vh, 44rem);
    max-width: min(92vw, 42rem);
    overflow: hidden;
    padding: 1rem;
    position: fixed;
    top: 12vh;
    transform: translateX(-50%);
    width: 100%;
    z-index: 91;
}

.kromis-global-search__header {
    align-items: center;
    display: flex;
    gap: 0.65rem;
}

.kromis-global-search__input-wrap {
    align-items: center;
    background: #f8fbfd;
    border: 1px solid var(--kromis-border);
    border-radius: 14px;
    display: flex;
    flex: 1 1 auto;
    gap: 0.55rem;
    min-width: 0;
    padding: 0.7rem 0.85rem;
}

.kromis-global-search__icon {
    color: #64748b;
    height: 1.1rem;
    width: 1.1rem;
}

.kromis-global-search__input {
    background: transparent;
    border: 0;
    color: #0f172a;
    flex: 1 1 auto;
    font-size: 0.95rem;
    min-width: 0;
    outline: none;
}

.kromis-global-search__close {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 12px;
    color: #64748b;
    cursor: pointer;
    display: inline-flex;
    height: 2.6rem;
    justify-content: center;
    width: 2.6rem;
}

.kromis-global-search__close-icon {
    height: 1.1rem;
    width: 1.1rem;
}

.kromis-global-search__scopes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.kromis-global-search__scope {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 999px;
    color: #475569;
    cursor: pointer;
    display: inline-flex;
    font-size: 0.8rem;
    font-weight: 700;
    gap: 0.35rem;
    padding: 0.45rem 0.8rem;
}

.kromis-global-search__scope.is-active {
    background: var(--kromis-primary-soft);
    border-color: rgba(5, 88, 135, 0.18);
    color: var(--kromis-primary);
}

.kromis-global-search__body {
    max-height: min(52vh, 30rem);
    overflow: auto;
    padding-right: 0.15rem;
}

.kromis-global-search__group + .kromis-global-search__group {
    margin-top: 1rem;
}

.kromis-global-search__group h3 {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    margin: 0 0 0.55rem;
    text-transform: uppercase;
}

.kromis-global-search__results {
    display: grid;
    gap: 0.45rem;
}

.kromis-global-search__result {
    align-items: center;
    background: #ffffff;
    border: 1px solid var(--kromis-border);
    border-radius: 14px;
    color: inherit;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto 1fr auto;
    padding: 0.75rem 0.85rem;
    text-decoration: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.kromis-global-search__result:hover {
    border-color: rgba(5, 88, 135, 0.22);
    box-shadow: 0 8px 20px rgba(5, 88, 135, 0.08);
    transform: translateY(-1px);
}

.kromis-global-search__result-avatar {
    align-items: center;
    border-radius: 12px;
    color: #ffffff;
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 800;
    height: 2.4rem;
    justify-content: center;
    width: 2.4rem;
}

.kromis-global-search__result-avatar--blue {
    background: #055887;
}

.kromis-global-search__result-avatar--green {
    background: #16a34a;
}

.kromis-global-search__result-avatar--purple {
    background: #7c3aed;
}

.kromis-global-search__result-copy {
    display: grid;
    gap: 0.12rem;
    min-width: 0;
}

.kromis-global-search__result-copy strong,
.kromis-global-search__result-copy span,
.kromis-global-search__result-copy em {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kromis-global-search__result-copy strong {
    color: #0f172a;
    font-size: 0.92rem;
}

.kromis-global-search__result-copy span {
    color: #475569;
    font-size: 0.82rem;
}

.kromis-global-search__result-copy em {
    color: #94a3b8;
    font-size: 0.76rem;
    font-style: normal;
}

.kromis-global-search__empty {
    color: #64748b;
    display: grid;
    gap: 0.35rem;
    padding: 2rem 0.5rem;
    text-align: center;
}

.kromis-global-search__empty p {
    color: #0f172a;
    font-size: 0.92rem;
    font-weight: 700;
    margin: 0;
}

.kromis-global-search__empty span {
    font-size: 0.82rem;
}

.kromis-global-search__footer {
    align-items: center;
    border-top: 1px solid var(--kromis-border);
    color: #94a3b8;
    display: flex;
    font-size: 0.72rem;
    gap: 1rem;
    justify-content: flex-end;
    padding-top: 0.65rem;
}

.kromis-global-search__footer kbd {
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 6px;
    font-size: 0.68rem;
    padding: 0.1rem 0.35rem;
}

.dark .kromis-topbar-search {
    background: rgba(255, 255, 255, 0.04);
}

.dark .kromis-topbar-search__input,
.dark .kromis-topbar-dropdown__menu a,
.dark .kromis-topbar-dropdown__menu button {
    color: #e2e8f0;
}

@media (max-width: 1024px) {
    .kromis-topbar-search__hint {
        display: none;
    }

    .kromis-topbar-search {
        max-width: none;
    }

    .kromis-date-range-picker__trigger {
        min-width: 7rem;
    }
}

@media (max-width: 768px) {
    .kromis-topbar-quick-add__label {
        display: none;
    }
}

.fi-sidebar,
.fi-sidebar-header {
    border-right: 1px solid var(--kromis-border) !important;
}

.fi-sidebar {
    background: var(--kromis-surface) !important;
}

.fi-sidebar-group-label {
    color: #64748b !important;
    font-size: 0.62rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.08em !important;
    margin-top: 0.35rem !important;
    padding-bottom: 0.2rem !important;
    text-transform: uppercase !important;
}

.fi-sidebar-item > a,
.fi-sidebar-item-button {
    border-radius: 8px !important;
    font-size: 0.78rem !important;
    line-height: 1.2 !important;
    margin: 1px 6px !important;
    min-height: 2rem !important;
    padding: 0.38rem 0.55rem !important;
}

.fi-sidebar-item-label {
    font-size: 0.78rem !important;
    font-weight: 600 !important;
}

.fi-sidebar-item-icon,
.fi-sidebar-item > a svg,
.fi-sidebar-item-button svg {
    height: 1rem !important;
    width: 1rem !important;
}

.fi-sidebar-group-items {
    gap: 0.1rem !important;
}

.fi-sidebar-nav {
    gap: 0.35rem !important;
    padding-bottom: 0.75rem !important;
}

.fi-sidebar-item-active > a,
.fi-sidebar-item a:hover {
    background: var(--kromis-primary-light) !important;
    color: var(--kromis-primary) !important;
}

.fi-sidebar-item-active svg,
.fi-sidebar-item a:hover svg {
    color: var(--kromis-primary) !important;
}

.fi-topbar button:not(.kromis-topbar-quick-add):not(.kromis-topbar-icon-btn):not(.kromis-notification-btn):not(.kromis-topbar-notification-btn):not(.kromis-attendance-button),
.fi-topbar a:not(.kromis-topbar-quick-add) {
    color: var(--kromis-primary) !important;
}

.kromis-notification-dropdown {
    position: relative;
}

.kromis-topbar-notification-btn {
    position: relative;
}

.kromis-notification-count {
    background: #dc2626;
    border-radius: 9999px;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    min-width: 1.25rem;
    padding: 0.125rem 0.375rem;
    position: absolute;
    right: -0.5rem;
    text-align: center;
    top: -0.5rem;
}

.kromis-topbar-quick-add,
.kromis-topbar-quick-add *,
.kromis-date-range-picker,
.kromis-date-range-picker * {
    color: #ffffff !important;
}

.fi-logo img {
    display: block;
    height: auto;
    max-height: 2.75rem;
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.fi-simple-page .fi-logo {
    margin-bottom: 0.25rem !important;
}

.fi-simple-page .fi-logo img {
    height: auto !important;
    max-height: 2.75rem !important;
    width: auto !important;
₹}

.kromis-notification-btn {
    border: 0;
    border-radius: 10px;
    cursor: pointer;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.45rem 0.75rem;
}

.kromis-notification-btn--primary {
    background: var(--kromis-primary) !important;
    color: #ffffff !important;
}

.kromis-notification-btn--secondary {
    background: #f1f5f9 !important;
    color: #334155 !important;
}

.fi-wi-stats-overview .fi-wi-stats-overview-stat,
.kromis-stat-card {
    border: 1px solid var(--kromis-border) !important;
    border-radius: var(--kromis-radius) !important;
    box-shadow: var(--kromis-shadow) !important;
    background: var(--kromis-surface) !important;
}

.fi-wi-stats-overview .fi-wi-stats-overview-stat-value {
    font-size: 1.65rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
}

.fi-wi-stats-overview .fi-wi-stats-overview-stat-description {
    font-weight: 600 !important;
}

.fi-wi-stats-overview .fi-wi-stats-overview-stats {
    gap: 1rem !important;
}

.fi-section,
.fi-ta-ctn,
.fi-wi-widget {
    border: 1px solid var(--kromis-border) !important;
    border-radius: var(--kromis-radius) !important;
    box-shadow: var(--kromis-shadow) !important;
}

.fi-header-heading {
    font-size: 1.75rem !important;
    font-weight: 800 !important;
    color: #0f172a !important;
}

.fi-header-subheading {
    color: #64748b !important;
    font-size: 0.98rem !important;
    font-weight: 500 !important;
    margin-top: 0.15rem !important;
}


.kromis-kpi-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
}

.kromis-kpi-grid[data-count="7"] {
    grid-template-columns: repeat(12, minmax(0, 1fr));
}

.kromis-kpi-grid[data-count="7"] .kromis-kpi-card {
    grid-column: span 3;
}

.kromis-kpi-grid[data-count="7"] .kromis-kpi-card:nth-child(n+5) {
    grid-column: span 4;
}

.kromis-kpi-grid[data-count="6"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kromis-kpi-grid[data-count="5"] {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.kromis-kpi-card {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 16px;
    box-shadow: var(--kromis-shadow);
    display: flex;
    flex-direction: column;
    min-height: 11.5rem;
    overflow: hidden;
    padding: 1rem 1rem 0;
}

.kromis-kpi-card__head {
    align-items: center;
    display: flex;
    gap: 0.65rem;
}

.kromis-kpi-card__icon {
    align-items: center;
    border-radius: 12px;
    display: inline-flex;
    height: 2.35rem;
    justify-content: center;
    width: 2.35rem;
}

.kromis-kpi-card__icon svg {
    height: 1.2rem;
    width: 1.2rem;
}

.kromis-kpi-card__label {
    color: #64748b;
    font-size: 0.82rem;
    font-weight: 600;
    line-height: 1.2;
    margin: 0;
}

.kromis-kpi-card__value {
    color: #0f172a;
    font-size: 1.85rem;
    font-weight: 800;
    line-height: 1.1;
    margin: 0.85rem 0 0.35rem;
}

.kromis-kpi-card__trend {
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0 0 0.75rem;
}

.kromis-kpi-card__trend--positive {
    color: #16a34a;
}

.kromis-kpi-card__trend--negative {
    color: #dc2626;
}

.kromis-kpi-card__trend--warning {
    color: #dc2626;
}

.kromis-kpi-card__trend--neutral {
    color: #64748b;
}

.kromis-kpi-card__chart {
    height: 3.5rem;
    margin-top: auto;
    width: 100%;
}

.kromis-kpi-card__chart svg {
    display: block;
    height: 100%;
    width: 100%;
}

.kromis-kpi-card__chart-line {
    stroke: currentColor;
    stroke-width: 2.5;
}

.kromis-kpi-card__progress {
    background: #e2e8f0;
    border-radius: 999px;
    height: 0.45rem;
    margin: auto 0 1rem;
    overflow: hidden;
    width: 100%;
}

.kromis-kpi-card__progress-bar {
    background: linear-gradient(90deg, #f97316, #ef4444);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0.45rem;
}

.kromis-kpi-card--blue .kromis-kpi-card__icon {
    background: #dbeafe;
    color: #2563eb;
}

.kromis-kpi-card--blue .kromis-kpi-card__chart {
    color: #2563eb;
}

.kromis-kpi-card--green .kromis-kpi-card__icon {
    background: #dcfce7;
    color: #16a34a;
}

.kromis-kpi-card--green .kromis-kpi-card__chart {
    color: #16a34a;
}

.kromis-kpi-card--purple .kromis-kpi-card__icon {
    background: #ede9fe;
    color: #7c3aed;
}

.kromis-kpi-card--purple .kromis-kpi-card__chart {
    color: #7c3aed;
}

.kromis-kpi-card--orange .kromis-kpi-card__icon {
    background: #ffedd5;
    color: #ea580c;
}

.kromis-kpi-card--orange .kromis-kpi-card__chart {
    color: #ea580c;
}

.kromis-kpi-card--teal .kromis-kpi-card__icon {
    background: #ccfbf1;
    color: #0d9488;
}

@media (max-width: 1400px) {
    .kromis-kpi-grid,
    .kromis-kpi-grid[data-count="5"],
    .kromis-kpi-grid[data-count="6"],
    .kromis-kpi-grid[data-count="7"] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .kromis-kpi-grid[data-count="7"] .kromis-kpi-card,
    .kromis-kpi-grid[data-count="7"] .kromis-kpi-card:nth-child(n+5) {
        grid-column: auto;
    }
}

@media (max-width: 1024px) {
    .kromis-kpi-grid,
    .kromis-kpi-grid[data-count="5"],
    .kromis-kpi-grid[data-count="6"],
    .kromis-kpi-grid[data-count="7"] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .kromis-kpi-grid,
    .kromis-kpi-grid[data-count="5"],
    .kromis-kpi-grid[data-count="6"],
    .kromis-kpi-grid[data-count="7"] {
        grid-template-columns: 1fr;
    }
}

.fi-ta-header-cell {
    font-size: 0.78rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.04em !important;
    text-transform: uppercase !important;
    color: #64748b !important;
}

.fi-ta-row {
    background: var(--kromis-surface) !important;
}

.fi-ta-row:hover {
    background: var(--kromis-primary-soft) !important;
}

.kromis-attendance-button--check-in {
    background: #dc2626 !important;
    border: 1px solid #b91c1c !important;
    box-shadow: 0 6px 14px rgba(220, 38, 38, 0.22) !important;
    color: #ffffff !important;
}

.kromis-attendance-button--check-in:hover,
.kromis-attendance-button--check-in:focus {
    background: #b91c1c !important;
    color: #ffffff !important;
}

.kromis-attendance-button--check-in *,
.fi-topbar .kromis-attendance-button--check-in,
.fi-topbar .kromis-attendance-button--check-in * {
    color: #ffffff !important;
}

.kromis-attendance-button--check-in svg {
    color: #ffffff !important;
}

.kromis-attendance-button--check-out {
    background: #16a34a !important;
    border: 1px solid #15803d !important;
    box-shadow: 0 6px 14px rgba(22, 163, 74, 0.22) !important;
    color: #ffffff !important;
}

.kromis-attendance-button--check-out:hover {
    background: #15803d !important;
    color: #ffffff !important;
}

.kromis-attendance-button--check-out svg {
    color: #ffffff !important;
}

.fi-ta .low-stock-product-row,
.fi-ta .low-stock-product-row > *,
.fi-ta .low-stock-product-row td,
.fi-ta .low-stock-product-row .fi-ta-cell {
    background-color: #fee2e2 !important;
}

.fi-ta .low-stock-product-row:hover,
.fi-ta .low-stock-product-row:hover > *,
.fi-ta .low-stock-product-row:hover td,
.fi-ta .low-stock-product-row:hover .fi-ta-cell {
    background-color: #fecaca !important;
}

.fi-ta .low-stock-product-cell,
.fi-ta .low-stock-product-cell > *,
.fi-ta .low-stock-product-cell .fi-ta-text,
.fi-ta .low-stock-product-cell .fi-ta-image,
.fi-ta .low-stock-product-cell .fi-ta-icon {
    background-color: #fee2e2 !important;
}

.fi-ta .low-stock-product-cell:hover,
.fi-ta .low-stock-product-cell:hover > *,
.fi-ta .low-stock-product-cell:hover .fi-ta-text,
.fi-ta .low-stock-product-cell:hover .fi-ta-image,
.fi-ta .low-stock-product-cell:hover .fi-ta-icon {
    background-color: #fecaca !important;
}

.kromis-customer-cell {
    align-items: center;
    display: flex;
    gap: 0.75rem;
}

.kromis-customer-cell__meta {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
}

.kromis-customer-cell__name {
    color: #0f172a;
    font-weight: 700;
}

.kromis-customer-cell__company {
    color: #64748b;
    font-size: 0.82rem;
}

.kromis-avatar {
    align-items: center;
    background: var(--kromis-primary-light);
    border-radius: 999px;
    color: var(--kromis-primary);
    display: inline-flex;
    font-size: 0.82rem;
    font-weight: 800;
    height: 2.25rem;
    justify-content: center;
    width: 2.25rem;
}

.kromis-avatar--lg {
    font-size: 1.1rem;
    height: 4rem;
    width: 4rem;
}

.kromis-pipeline-widget,
.kromis-quick-actions,
.kromis-customer-view {
    width: 100%;
}

.fi-wi-widget.kromis-dash-widget-shell,
.fi-wi-widget.kromis-kpi-widget-shell {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
}

.fi-dashboard-page .fi-wi {
    background: transparent;
}

.fi-dashboard-page [wire\:loading\.class],
.fi-dashboard-page .fi-wi-widget {
    background-color: transparent !important;
}

.fi-dashboard-page .fi-loading-section,
.fi-dashboard-page [data-loading] {
    animation: none !important;
    background: #f8fafc !important;
    opacity: 1 !important;
}

.kromis-dash-card {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 16px;
    box-shadow: var(--kromis-shadow);
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 100%;
    padding: 1rem 1.1rem 1.1rem;
}

.kromis-dash-card__header {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 1rem;
}

.kromis-dash-card__header-left {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.kromis-dash-card__title {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 800;
    margin: 0;
}

.kromis-dash-card__filter {
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 8px;
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.25rem 0.55rem;
}

.kromis-dash-card__action {
    color: var(--kromis-primary);
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
}

.kromis-dash-card__footer-link {
    color: var(--kromis-primary);
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    margin-top: auto;
    padding-top: 1rem;
    text-align: center;
    text-decoration: none;
}

.kromis-dash-empty {
    color: #94a3b8;
    font-size: 0.85rem;
    margin: 0;
    padding: 1rem 0;
}

.kromis-sales-stats {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.kromis-sales-stats__label {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 600;
    margin: 0 0 0.2rem;
}

.kromis-sales-stats__value {
    color: #0f172a;
    font-size: 1.05rem;
    font-weight: 800;
    margin: 0;
}

.kromis-sales-stats__trend {
    color: #16a34a;
    font-size: 0.72rem;
    font-weight: 700;
    margin: 0.15rem 0 0;
}

.kromis-sales-chart-wrap,
.kromis-sales-chart {
    height: 220px;
    width: 100%;
}

.kromis-sales-chart-svg {
    display: block;
    height: 180px;
    width: 100%;
}

.kromis-sales-chart-svg__line {
    stroke: #055887;
    stroke-width: 3;
}

.kromis-sales-chart-labels {
    color: #94a3b8;
    display: grid;
    font-size: 0.72rem;
    font-weight: 600;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    margin-top: 0.45rem;
    text-align: center;
}

.kromis-pipeline-funnel {
    align-items: stretch;
    display: flex;
    gap: 0.35rem;
    overflow-x: auto;
    padding-bottom: 0.25rem;
}

.kromis-pipeline-funnel__step {
    border-radius: 12px;
    flex: 1 1 0;
    min-width: 4.5rem;
    padding: 0.65rem 0.45rem;
    text-align: center;
}

.kromis-pipeline-funnel__step--blue { background: #e8f4fb; }
.kromis-pipeline-funnel__step--orange { background: #fff7ed; }
.kromis-pipeline-funnel__step--green { background: #ecfdf3; }
.kromis-pipeline-funnel__step--red { background: #fef2f2; }

.kromis-pipeline-funnel__count {
    color: #0f172a;
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0;
}

.kromis-pipeline-funnel__label {
    color: #475569;
    font-size: 0.62rem;
    font-weight: 700;
    line-height: 1.2;
    margin: 0.2rem 0;
}

.kromis-pipeline-funnel__trend {
    font-size: 0.62rem;
    font-weight: 700;
    margin: 0;
}

.kromis-pipeline-funnel__trend.is-positive { color: #16a34a; }
.kromis-pipeline-funnel__trend.is-negative { color: #dc2626; }

.kromis-pipeline-funnel__arrow {
    align-self: center;
    color: #94a3b8;
    flex-shrink: 0;
    font-size: 1rem;
    font-weight: 700;
}

.kromis-pipeline-conversion {
    border-top: 1px solid var(--kromis-border);
    margin-top: 1rem;
    padding-top: 0.85rem;
}

.kromis-pipeline-conversion__meta {
    align-items: baseline;
    display: flex;
    gap: 0.5rem;
    justify-content: space-between;
    margin-bottom: 0.45rem;
}

.kromis-pipeline-conversion__meta span {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 600;
}

.kromis-pipeline-conversion__meta strong {
    color: #0f172a;
    font-size: 1.35rem;
}

.kromis-pipeline-conversion__bar {
    background: #e2e8f0;
    border-radius: 999px;
    height: 0.55rem;
    overflow: hidden;
    width: 100%;
}

.kromis-pipeline-conversion__fill {
    background: linear-gradient(90deg, #055887, #0a7ab5);
    border-radius: inherit;
    display: block;
    height: 100%;
    min-width: 0;
    transition: width 0.3s ease;
}

.kromis-pipeline-conversion__delta {
    color: #16a34a;
    font-size: 0.72rem;
    font-weight: 700;
    margin: 0.45rem 0 0;
}

.kromis-quick-actions--dashboard {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kromis-quick-actions--assign {
    flex: 1;
    grid-template-columns: 1fr;
}

.kromis-quick-actions--assign .kromis-quick-action {
    min-height: 4.25rem;
}

.kromis-quick-action--purple { background: #f3e8ff; }
.kromis-quick-action--danger { background: #fef2f2; }
.kromis-quick-action--info { background: #eef4ff; }

.kromis-activity-list,
.kromis-enquiry-list,
.kromis-followup-list,
.kromis-order-list,
.kromis-stock-list {
    display: grid;
    gap: 0.85rem;
}

.kromis-activity-list__item,
.kromis-enquiry-list__item,
.kromis-followup-list__item,
.kromis-order-list__item,
.kromis-stock-list__item {
    align-items: center;
    display: flex;
    gap: 0.75rem;
}

.kromis-stock-list__icon {
    align-items: center;
    background: #fef3c7;
    border-radius: 999px;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0.95rem;
    height: 2.2rem;
    justify-content: center;
    width: 2.2rem;
}

.kromis-low-stock-card {
    min-height: 100%;
}

.kromis-activity-list__icon,
.kromis-followup-list__icon {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0.95rem;
    height: 2.2rem;
    justify-content: center;
    width: 2.2rem;
}

.kromis-activity-list__icon--call { background: #dcfce7; }
.kromis-activity-list__icon--followup { background: #ffedd5; }
.kromis-followup-list__icon--warning { background: #ffedd5; }
.kromis-followup-list__icon--info { background: #dbeafe; }

.kromis-activity-list__content,
.kromis-enquiry-list__content,
.kromis-followup-list__content,
.kromis-order-list__content,
.kromis-stock-list__content {
    flex: 1 1 auto;
    min-width: 0;
}

.kromis-activity-list__title,
.kromis-enquiry-list__name,
.kromis-followup-list__name,
.kromis-order-list__number,
.kromis-stock-list__name {
    color: #0f172a;
    font-size: 0.84rem;
    font-weight: 700;
    margin: 0;
}

.kromis-activity-list__subtitle,
.kromis-enquiry-list__company,
.kromis-followup-list__due,
.kromis-order-list__customer,
.kromis-stock-list__sku {
    color: #64748b;
    font-size: 0.72rem;
    margin: 0.15rem 0 0;
}

.kromis-activity-list__meta,
.kromis-enquiry-list__meta,
.kromis-order-list__meta {
    align-items: flex-end;
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    flex-shrink: 0;
}

.kromis-activity-list__time,
.kromis-enquiry-list__time,
.kromis-order-list__time {
    color: #94a3b8;
    font-size: 0.68rem;
    white-space: nowrap;
}

.kromis-order-list__amount {
    color: #0f172a;
    font-size: 0.74rem;
    font-weight: 800;
    white-space: nowrap;
}

.kromis-last-orders-card {
    min-height: 100%;
}

.kromis-ops-summary {
    overflow: hidden;
    padding: 0 !important;
}

.fi-wi-widget.kromis-dash-widget-shell .kromis-ops-summary__grid {
    display: grid !important;
    gap: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
}

.fi-wi-widget.kromis-dash-widget-shell .kromis-ops-summary__item {
    align-items: center;
    color: inherit;
    display: flex !important;
    flex-direction: row;
    gap: 0.85rem;
    justify-content: space-between;
    min-width: 0;
    padding: 1.1rem 1.25rem;
    text-decoration: none;
    transition: background-color 0.15s ease;
}

.kromis-ops-summary__item:not(.kromis-ops-summary__item--last) {
    border-right: 1px solid var(--kromis-border);
}

.kromis-ops-summary__item:hover {
    background: #f8fafc;
}

.kromis-ops-summary__main {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    gap: 0.85rem;
    min-width: 0;
}

.kromis-ops-summary__copy {
    min-width: 0;
}

.kromis-ops-summary__icon {
    align-items: center;
    border-radius: 12px;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 1.1rem;
    height: 2.6rem;
    justify-content: center;
    line-height: 1;
    width: 2.6rem;
}

.kromis-ops-summary__icon--purple {
    background: #f3e8ff;
    color: #7c3aed;
}

.kromis-ops-summary__icon--orange {
    background: #ffedd5;
    color: #ea580c;
}

.kromis-ops-summary__icon--green {
    background: #dcfce7;
    color: #16a34a;
    font-size: 1.2rem;
    font-weight: 800;
}

.kromis-ops-summary__title {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 600;
    margin: 0;
}

.kromis-ops-summary__value {
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.15;
    margin: 0.15rem 0 0;
}

.kromis-ops-summary__subtitle {
    color: #94a3b8;
    font-size: 0.72rem;
    margin: 0.15rem 0 0;
}

.kromis-ops-summary__ring {
    align-items: center;
    background:
        radial-gradient(closest-side, #fff 78%, transparent 80% 100%),
        conic-gradient(#055887 calc(var(--kromis-ring-progress, 0) * 1%), #e2e8f0 0);
    border-radius: 999px;
    display: inline-flex;
    flex-shrink: 0;
    height: 4rem;
    justify-content: center;
    width: 4rem;
}

.kromis-ops-summary__ring-label {
    color: #0f172a;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
}

.kromis-ops-summary__decor {
    align-items: center;
    border-radius: 999px;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 1rem;
    height: 2.5rem;
    justify-content: center;
    width: 2.5rem;
}

.kromis-ops-summary__decor--invoice {
    background: #fff7ed;
    font-size: 1.15rem;
}

.kromis-ops-summary__decor--payments {
    background: #dcfce7;
    color: #16a34a;
    font-size: 1.1rem;
    font-weight: 800;
}

.kromis-order-list--wide .kromis-order-list__item--wide {
    justify-content: flex-start;
}

.kromis-order-list__meta--wide {
    align-items: flex-end;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.5rem 0.85rem;
    justify-content: flex-end;
    margin-left: auto;
}

.kromis-badge {
    border-radius: 999px;
    font-size: 0.65rem;
    font-weight: 700;
    padding: 0.18rem 0.45rem;
    white-space: nowrap;
}

.kromis-badge--success { background: #dcfce7; color: #15803d; }
.kromis-badge--info { background: #dbeafe; color: #1d4ed8; }
.kromis-badge--warning { background: #ffedd5; color: #c2410c; }
.kromis-badge--status-new { background: #dbeafe; color: #1d4ed8; }
.kromis-badge--status-assigned { background: #e0e7ff; color: #4338ca; }
.kromis-badge--status-in_progress { background: #ffedd5; color: #c2410c; }
.kromis-badge--status-converted { background: #dcfce7; color: #15803d; }
.kromis-badge--status-closed { background: #f1f5f9; color: #475569; }
.kromis-badge--order-draft { background: #f1f5f9; color: #475569; }
.kromis-badge--order-normal { background: #e0e7ff; color: #4338ca; }
.kromis-badge--order-confirmed { background: #dbeafe; color: #1d4ed8; }
.kromis-badge--order-parcel_dispatch { background: #ffedd5; color: #c2410c; }
.kromis-badge--order-processing { background: #fef3c7; color: #b45309; }
.kromis-badge--order-completed { background: #dcfce7; color: #15803d; }
.kromis-badge--order-cancelled { background: #fee2e2; color: #b91c1c; }

/* Colorful tone badges for tables, widgets, and panels */
.kromis-tone-badge {
    border: 1px solid transparent;
    border-radius: 999px;
    display: inline-flex;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    line-height: 1.2;
    padding: 0.22rem 0.55rem;
    white-space: nowrap;
}

.kromis-tone-badge--dynamic {
    background: var(--tone-bg, #f1f5f9);
    border-color: var(--tone-border, #e2e8f0);
    color: var(--tone-text, #475569);
}

/* Enquiry sources */
.kromis-tone-badge--source-website,
.kromis-tone-badge--source-website_home,
.kromis-tone-badge--source-website_product { background: #e0f2fe; border-color: #7dd3fc; color: #0369a1; }
.kromis-tone-badge--source-facebook { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--source-instagram { background: #fce7f3; border-color: #f9a8d4; color: #be185d; }
.kromis-tone-badge--source-youtube { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }
.kromis-tone-badge--source-google,
.kromis-tone-badge--source-google_ads { background: #fef3c7; border-color: #fcd34d; color: #b45309; }
.kromis-tone-badge--source-whatsapp { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--source-phone_call { background: #ccfbf1; border-color: #5eead4; color: #0f766e; }
.kromis-tone-badge--source-referral { background: #ede9fe; border-color: #c4b5fd; color: #6d28d9; }
.kromis-tone-badge--source-walk_in { background: #cffafe; border-color: #67e8f9; color: #0e7490; }
.kromis-tone-badge--source-indiamart { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--source-justdial { background: #e0e7ff; border-color: #a5b4fc; color: #4338ca; }
.kromis-tone-badge--source-tradeindia { background: #ecfccb; border-color: #bef264; color: #4d7c0f; }
.kromis-tone-badge--source-linkedin { background: #e0f2fe; border-color: #7dd3fc; color: #0369a1; }
.kromis-tone-badge--source-x_twitter { background: #f1f5f9; border-color: #cbd5e1; color: #0f172a; }
.kromis-tone-badge--source-email { background: #f8fafc; border-color: #e2e8f0; color: #475569; }
.kromis-tone-badge--source-exhibition { background: #f3e8ff; border-color: #d8b4fe; color: #7e22ce; }
.kromis-tone-badge--source-other,
.kromis-tone-badge--source-custom,
.kromis-tone-badge--source-unknown { background: #f1f5f9; border-color: #e2e8f0; color: #64748b; }

/* Enquiry status */
.kromis-tone-badge--enquiry-new { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--enquiry-assigned { background: #e0e7ff; border-color: #a5b4fc; color: #4338ca; }
.kromis-tone-badge--enquiry-in_progress { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--enquiry-converted { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--enquiry-closed { background: #f1f5f9; border-color: #e2e8f0; color: #475569; }

/* Complaint status */
.kromis-tone-badge--complaint-new { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--complaint-assigned { background: #e0e7ff; border-color: #a5b4fc; color: #4338ca; }
.kromis-tone-badge--complaint-in-progress { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--complaint-waiting-for-customer { background: #fef3c7; border-color: #fcd34d; color: #b45309; }
.kromis-tone-badge--complaint-resolved { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--complaint-closed { background: #f1f5f9; border-color: #e2e8f0; color: #475569; }

/* Order status */
/* Order workflow stages (OrderStage::tone) */
.kromis-tone-badge--order-stage-orange { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--order-stage-purple { background: #f3e8ff; border-color: #d8b4fe; color: #7e22ce; }
.kromis-tone-badge--order-stage-red { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }
.kromis-tone-badge--order-stage-blue { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--order-stage-teal { background: #ccfbf1; border-color: #5eead4; color: #0f766e; }
.kromis-tone-badge--order-stage-indigo { background: #e0e7ff; border-color: #a5b4fc; color: #4338ca; }
.kromis-tone-badge--order-stage-green { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--order-draft { background: #f1f5f9; border-color: #e2e8f0; color: #475569; }
.kromis-tone-badge--order-normal { background: #e0e7ff; border-color: #a5b4fc; color: #4338ca; }
.kromis-tone-badge--order-confirmed { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--order-parcel_dispatch { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--order-processing { background: #fef3c7; border-color: #fcd34d; color: #b45309; }
.kromis-tone-badge--order-completed { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--order-cancelled { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }

/* Product status */
.kromis-tone-badge--product-active { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--product-draft { background: #f1f5f9; border-color: #e2e8f0; color: #475569; }
.kromis-tone-badge--product-archived { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }

/* Stock */
.kromis-tone-badge--stock-low { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }
.kromis-tone-badge--stock-medium { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--stock-ok { background: #dcfce7; border-color: #86efac; color: #15803d; }

/* Customer */
.kromis-tone-badge--customer-business { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--customer-individual { background: #f3e8ff; border-color: #d8b4fe; color: #7e22ce; }
.kromis-tone-badge--customer-active { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--customer-inactive { background: #f1f5f9; border-color: #e2e8f0; color: #64748b; }

/* Staff roles */
.kromis-tone-badge--role-admin { background: #e0f2fe; border-color: #7dd3fc; color: #0369a1; }
.kromis-tone-badge--role-manager { background: #fef3c7; border-color: #fcd34d; color: #b45309; }
.kromis-tone-badge--role-customer_agent { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--role-sales_agent { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--role-service_agent { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--role-production_agent { background: #ede9fe; border-color: #c4b5fd; color: #6d28d9; }
.kromis-tone-badge--role-billing_agent { background: #fce7f3; border-color: #f9a8d4; color: #be185d; }
.kromis-tone-badge--role-product_manager { background: #e0e7ff; border-color: #a5b4fc; color: #4338ca; }
.kromis-tone-badge--role-operations_agent { background: #ccfbf1; border-color: #5eead4; color: #0f766e; }
.kromis-tone-badge--role-media_agent { background: #f3e8ff; border-color: #d8b4fe; color: #7e22ce; }
.kromis-tone-badge--role-inventory_agent { background: #ede9fe; border-color: #c4b5fd; color: #6d28d9; }
.kromis-tone-badge--role-customer { background: #f1f5f9; border-color: #e2e8f0; color: #475569; }

/* Tasks */
.kromis-tone-badge--task-pending { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--task-in-progress { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--task-completed { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--task-rejected { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }
.kromis-tone-badge--task-clarification { background: #fef3c7; border-color: #fcd34d; color: #b45309; }
.kromis-tone-badge--priority-low { background: #f1f5f9; border-color: #e2e8f0; color: #475569; }
.kromis-tone-badge--priority-medium { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--priority-high { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--priority-urgent { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }
.kromis-tone-badge--task-type-task { background: #e0e7ff; border-color: #a5b4fc; color: #4338ca; }
.kromis-tone-badge--task-type-message { background: #ccfbf1; border-color: #5eead4; color: #0f766e; }

.kromis-task-comment { display: flex; gap: 12px; align-items: flex-start; margin-top: 16px; }
.kromis-task-comment__input { flex: 1; width: 100%; border: 1px solid #e2e8f0; border-radius: 12px; padding: 10px 12px; font: inherit; }
.kromis-followup-list a.kromis-followup-list__item { text-decoration: none; color: inherit; }

/* Notifications */
.kromis-tone-badge--notification-unread { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--notification-read { background: #dcfce7; border-color: #86efac; color: #15803d; }

/* Attendance */
.kromis-tone-badge--attendance-check_in { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--attendance-check_out { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--call-inbound { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--call-outbound { background: #ede9fe; border-color: #c4b5fd; color: #6d28d9; }
.kromis-tone-badge--call-unknown { background: #f1f5f9; border-color: #e2e8f0; color: #475569; }
.kromis-tone-badge--call-status-ringing { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--call-status-answered { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--call-status-completed { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--call-status-missed { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }
.kromis-tone-badge--call-recording-pending { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--call-recording-recorded { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--call-recording-not-recorded { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }
.kromis-tone-badge--call-status-busy { background: #fef3c7; border-color: #fcd34d; color: #b45309; }
.kromis-tone-badge--call-status-failed { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }
.kromis-tone-badge--call-status-unknown { background: #f1f5f9; border-color: #e2e8f0; color: #475569; }

/* History types */
.kromis-tone-badge--history-customer_created,
.kromis-tone-badge--history-customer_updated { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--history-enquiry_created,
.kromis-tone-badge--history-enquiry_updated { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--history-order_placed,
.kromis-tone-badge--history-order_updated,
.kromis-tone-badge--history-order_status_changed,
.kromis-tone-badge--history-order_confirmed,
.kromis-tone-badge--history-parcel_dispatch { background: #e0e7ff; border-color: #a5b4fc; color: #4338ca; }
.kromis-tone-badge--history-note,
.kromis-tone-badge--history-support_concern { background: #f1f5f9; border-color: #e2e8f0; color: #475569; }
.kromis-tone-badge--history-phone_attached,
.kromis-tone-badge--history-customer_portal_login { background: #ccfbf1; border-color: #5eead4; color: #0f766e; }

/* Activity actions */
.kromis-tone-badge--activity-view_customer,
.kromis-tone-badge--activity-view_enquiry,
.kromis-tone-badge--activity-view_order,
.kromis-tone-badge--activity-view_phone,
.kromis-tone-badge--activity-view_staff,
.kromis-tone-badge--activity-view,
.kromis-tone-badge--activity-open_page { background: #dbeafe; border-color: #93c5fd; color: #1d4ed8; }
.kromis-tone-badge--activity-edit_customer,
.kromis-tone-badge--activity-edit_enquiry,
.kromis-tone-badge--activity-edit_order,
.kromis-tone-badge--activity-edit_product,
.kromis-tone-badge--activity-edit_category,
.kromis-tone-badge--activity-updated_staff,
.kromis-tone-badge--activity-edited_staff { background: #ffedd5; border-color: #fdba74; color: #c2410c; }
.kromis-tone-badge--activity-create_order,
.kromis-tone-badge--activity-created_staff { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--activity-check_in { background: #dcfce7; border-color: #86efac; color: #15803d; }
.kromis-tone-badge--activity-check_out,
.kromis-tone-badge--activity-auto_check_out { background: #e0e7ff; border-color: #a5b4fc; color: #4338ca; }
.kromis-tone-badge--activity-deleted_staff { background: #fee2e2; border-color: #fca5a5; color: #b91c1c; }

.kromis-enquiry-list__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    margin-top: 0.25rem;
}

.fi-ta-text-item .kromis-tone-badge,
.kromis-table td .kromis-tone-badge,
.kromis-list-sidebar .kromis-tone-badge {
    vertical-align: middle;
}

.kromis-list-card {
    border-top: 3px solid transparent;
}

.kromis-list-sidebar .kromis-list-card:nth-child(1) { border-top-color: #2563eb; }
.kromis-list-sidebar .kromis-list-card:nth-child(2) { border-top-color: #16a34a; }
.kromis-list-sidebar .kromis-list-card:nth-child(3) { border-top-color: #f59e0b; }
.kromis-list-sidebar .kromis-list-card:nth-child(4) { border-top-color: #7c3aed; }

.kromis-avatar {
    align-items: center;
    background: #e8f4fb;
    border-radius: 999px;
    color: var(--kromis-primary);
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 800;
    height: 2.2rem;
    justify-content: center;
    width: 2.2rem;
}

.kromis-stock-list__qty {
    background: #fef2f2;
    border-radius: 8px;
    color: #dc2626;
    font-size: 0.72rem;
    font-weight: 700;
    padding: 0.35rem 0.5rem;
    white-space: nowrap;
}

.kromis-source-chart {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: 7.5rem 1fr;
}

.kromis-source-chart__donut {
    height: 7.5rem;
    position: relative;
    width: 7.5rem;
}

.kromis-source-chart-svg {
    display: block;
    height: 100%;
    width: 100%;
}

.kromis-source-chart__canvas {
    height: 100%;
    width: 100%;
}

.kromis-source-chart__center {
    align-items: center;
    display: flex;
    flex-direction: column;
    inset: 0;
    justify-content: center;
    pointer-events: none;
    position: absolute;
}

.kromis-source-chart__center strong {
    color: #0f172a;
    font-size: clamp(0.68rem, 2.4vw, 0.95rem);
    line-height: 1.1;
    max-width: 92%;
    overflow: hidden;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kromis-source-chart__center span {
    color: #64748b;
    font-size: 0.68rem;
    margin-top: 0.15rem;
}

.kromis-source-legend {
    display: grid;
    gap: 0.45rem;
}

.kromis-source-legend__item {
    align-items: center;
    display: grid;
    gap: 0.45rem;
    grid-template-columns: 0.55rem 1fr auto;
}

.kromis-source-legend__dot {
    border-radius: 999px;
    height: 0.55rem;
    width: 0.55rem;
}

.kromis-source-legend__label {
    color: #475569;
    font-size: 0.72rem;
    font-weight: 600;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kromis-source-legend__value {
    color: #0f172a;
    font-size: 0.72rem;
    font-weight: 700;
    white-space: nowrap;
}

@media (max-width: 1280px) {
    .kromis-sales-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .kromis-source-chart {
        grid-template-columns: 1fr;
    }
}

.kromis-quick-actions {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: stretch;
}

.kromis-quick-action {
    align-items: center;
    border: 1px solid var(--kromis-border);
    border-radius: 12px;
    color: #0f172a;
    display: flex;
    flex-direction: column;
    font-size: 0.85rem;
    font-weight: 700;
    gap: 0.5rem;
    justify-content: center;
    min-height: 5.5rem;
    padding: 0.85rem;
    text-align: center;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    width: 100%;
}

.kromis-quick-action:hover {
    box-shadow: var(--kromis-shadow);
    transform: translateY(-1px);
}

.kromis-quick-action__icon {
    align-items: center;
    background: rgba(255, 255, 255, 0.8);
    border-radius: 999px;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 1.1rem;
    font-weight: 800;
    height: 2rem;
    justify-content: center;
    line-height: 1;
    margin: 0 auto;
    width: 2rem;
}

.kromis-quick-action--primary { background: #e8f4fb; }
.kromis-quick-action--info { background: #eef4ff; }
.kromis-quick-action--warning { background: #fff7ed; }
.kromis-quick-action--success { background: #ecfdf3; }

.kromis-customer-hero {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: var(--kromis-radius);
    box-shadow: var(--kromis-shadow);
    display: grid;
    gap: 1.25rem;
    margin-bottom: 1rem;
    padding: 1.25rem;
}

.kromis-customer-hero__profile {
    align-items: center;
    display: flex;
    gap: 1rem;
}

.kromis-customer-hero__title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.kromis-customer-hero__name {
    font-size: 1.5rem;
    font-weight: 800;
    margin: 0;
}

.kromis-customer-hero__contact,
.kromis-customer-hero__company,
.kromis-customer-hero__location {
    color: #64748b;
    margin: 0.15rem 0 0;
}

.kromis-customer-metrics {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.kromis-metric-card {
    background: var(--kromis-primary-soft);
    border: 1px solid var(--kromis-border);
    border-radius: 12px;
    padding: 0.9rem;
}

.kromis-metric-card__label {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
}

.kromis-metric-card__value {
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0.35rem 0 0;
}

.kromis-metric-card__value--sm {
    font-size: 0.95rem;
}

.kromis-metric-card__meta {
    color: var(--kromis-primary);
    font-size: 0.85rem;
    font-weight: 700;
    margin: 0.2rem 0 0;
}

.kromis-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.kromis-tab {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 999px;
    color: #475569;
    cursor: pointer;
    font-size: 0.85rem;
    font-weight: 700;
    padding: 0.55rem 1rem;
}

.kromis-tab--active {
    background: var(--kromis-primary);
    border-color: var(--kromis-primary);
    color: #ffffff;
}

.kromis-customer-grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kromis-panel {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: var(--kromis-radius);
    box-shadow: var(--kromis-shadow);
    padding: 1rem;
}

.kromis-panel__title {
    font-size: 1rem;
    font-weight: 800;
    margin: 0 0 0.85rem;
}

.kromis-panel__text {
    color: #475569;
    line-height: 1.6;
    margin: 0;
}

.kromis-panel__subtitle {
    color: #475569;
    font-size: 0.875rem;
    margin: -0.5rem 0 0.85rem;
}

.kromis-panel__footer {
    display: flex;
    justify-content: center;
    margin-top: 0.85rem;
}

.kromis-recording-cell audio {
    display: block;
    height: 2.25rem;
    max-width: 100%;
    min-width: 15rem;
}

.kromis-detail-list {
    display: grid;
    gap: 0.75rem;
    margin: 0;
}

.kromis-detail-list dt {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 700;
    margin: 0;
    text-transform: uppercase;
}

.kromis-detail-list dd {
    color: #0f172a;
    font-weight: 600;
    margin: 0.15rem 0 0;
}

.kromis-badge {
    background: #eef4ff;
    border-radius: 999px;
    color: #1d4ed8;
    display: inline-flex;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
}

.kromis-badge--success {
    background: #ecfdf3;
    color: var(--kromis-success);
}

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

.kromis-table {
    border-collapse: collapse;
    width: 100%;
}

.kromis-table th,
.kromis-table td {
    border-bottom: 1px solid var(--kromis-border);
    padding: 0.75rem 0.5rem;
    text-align: left;
}

.kromis-table th {
    color: #64748b;
    font-size: 0.75rem;
    font-weight: 700;
    text-transform: uppercase;
}

.kromis-timeline {
    display: grid;
    gap: 1rem;
}

.kromis-timeline__item {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: auto 1fr;
}

.kromis-timeline__dot {
    background: var(--kromis-primary);
    border-radius: 999px;
    height: 0.75rem;
    margin-top: 0.35rem;
    width: 0.75rem;
}

.kromis-timeline__title {
    font-weight: 700;
    margin: 0;
}

.kromis-timeline__details,
.kromis-timeline__meta {
    color: #64748b;
    margin: 0.2rem 0 0;
}

@media (max-width: 1024px) {
    .kromis-customer-metrics,
    .kromis-customer-grid {
        grid-template-columns: 1fr;
    }

    .fi-wi-widget.kromis-dash-widget-shell .kromis-ops-summary__grid {
        grid-template-columns: 1fr !important;
    }

    .kromis-ops-summary__item:not(.kromis-ops-summary__item--last) {
        border-bottom: 1px solid var(--kromis-border);
        border-right: 0;
    }

    .kromis-order-list__meta--wide {
        align-items: flex-end;
        flex-direction: column;
        margin-left: 0;
        margin-top: 0.35rem;
        width: 100%;
    }
}

.kromis-analytics-page .fi-header {
    display: none !important;
}

.kromis-analytics-page-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 0;
}

.kromis-analytics-page-header__copy {
    flex: 1 1 16rem;
    min-width: 0;
}

.kromis-analytics-page-header__title {
    color: #0f172a;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
}

.kromis-analytics-page-header__subtitle {
    color: #64748b;
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.4;
    margin: 0.15rem 0 0;
}

.kromis-analytics-page-header__actions {
    align-items: center;
    display: flex;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.kromis-analytics-toolbar__month {
    align-items: center;
    display: flex;
    gap: 0.5rem;
}

.kromis-analytics-toolbar__month span {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 600;
    white-space: nowrap;
}

.kromis-analytics-toolbar__month input {
    background: #fff;
    border: 1px solid var(--kromis-border);
    border-radius: 10px;
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 600;
    min-width: 9.5rem;
    padding: 0.45rem 0.65rem;
}

.kromis-analytics-btn {
    border: 1px solid var(--kromis-border);
    border-radius: 10px;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.45rem 0.8rem;
}

.kromis-analytics-btn--ghost {
    background: #fff;
    color: #334155;
}

.kromis-analytics-btn--primary {
    background: var(--kromis-primary);
    border-color: var(--kromis-primary);
    color: #fff;
}

.kromis-analytics-kpis {
    display: grid;
    gap: 0.85rem;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    margin-bottom: 1rem;
}

.kromis-analytics-kpi {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 16px;
    box-shadow: var(--kromis-shadow);
    padding: 0.9rem 1rem;
}

.kromis-analytics-kpi__head {
    align-items: center;
    display: flex;
    gap: 0.55rem;
    margin-bottom: 0.55rem;
}

.kromis-analytics-kpi__head p {
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 600;
    margin: 0;
}

.kromis-analytics-kpi__icon {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    font-size: 0.95rem;
    height: 2rem;
    justify-content: center;
    width: 2rem;
}

.kromis-analytics-kpi--blue .kromis-analytics-kpi__icon { background: #e8f4fb; color: #055887; }
.kromis-analytics-kpi--green .kromis-analytics-kpi__icon { background: #dcfce7; color: #16a34a; }
.kromis-analytics-kpi--purple .kromis-analytics-kpi__icon { background: #f3e8ff; color: #7c3aed; }
.kromis-analytics-kpi--orange .kromis-analytics-kpi__icon { background: #ffedd5; color: #ea580c; }
.kromis-analytics-kpi--teal .kromis-analytics-kpi__icon { background: #e0f2fe; color: #0284c7; }
.kromis-analytics-kpi--red .kromis-analytics-kpi__icon { background: #fee2e2; color: #dc2626; }

.kromis-analytics-kpi__value {
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 800;
    line-height: 1.1;
    margin: 0;
}

.kromis-analytics-kpi__trend {
    font-size: 0.68rem;
    font-weight: 700;
    margin: 0.35rem 0 0;
}

.kromis-analytics-kpi__trend.is-positive { color: #16a34a; }
.kromis-analytics-kpi__trend.is-negative { color: #dc2626; }

.kromis-analytics-grid {
    display: grid;
    gap: 1rem;
    margin-bottom: 1rem;
}

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

.kromis-analytics-card {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 16px;
    box-shadow: var(--kromis-shadow);
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1rem 1.1rem;
}

.kromis-analytics-card--wide {
    grid-column: span 1;
}

.kromis-analytics-card__header {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 0.85rem;
}

.kromis-analytics-card__header h3 {
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 800;
    margin: 0;
}

.kromis-analytics-card__filter {
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 8px;
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
}

.kromis-analytics-line-chart,
.kromis-analytics-bar-chart {
    display: block;
    height: 220px;
    width: 100%;
}

.kromis-analytics-chart-labels,
.kromis-analytics-chart-labels--dense {
    color: #94a3b8;
    display: grid;
    font-size: 0.68rem;
    font-weight: 600;
    gap: 0.25rem;
    grid-template-columns: repeat(auto-fit, minmax(2.5rem, 1fr));
    margin-top: 0.45rem;
    text-align: center;
}

.kromis-analytics-donut-wrap {
    align-items: center;
    display: grid;
    gap: 1rem;
    grid-template-columns: 7.5rem 1fr;
}

.kromis-analytics-donut-wrap--center {
    grid-template-columns: 1fr;
    justify-items: center;
}

.kromis-analytics-targets {
    display: grid;
    gap: 0.85rem;
}

.kromis-analytics-target__meta {
    align-items: center;
    display: flex;
    font-size: 0.76rem;
    font-weight: 600;
    justify-content: space-between;
    margin-bottom: 0.35rem;
}

.kromis-analytics-target__bar {
    background: #e2e8f0;
    border-radius: 999px;
    height: 0.55rem;
    overflow: hidden;
}

.kromis-analytics-target__fill {
    border-radius: inherit;
    display: block;
    height: 100%;
}

.kromis-analytics-target__fill--blue { background: #055887; }
.kromis-analytics-target__fill--green { background: #16a34a; }
.kromis-analytics-target__fill--purple { background: #7c3aed; }
.kromis-analytics-target__fill--orange { background: #f59e0b; }

.kromis-analytics-products {
    display: grid;
    gap: 0.75rem;
}

.kromis-analytics-products__item {
    align-items: center;
    display: flex;
    gap: 0.75rem;
}

.kromis-analytics-products__copy {
    flex: 1 1 auto;
    min-width: 0;
}

.kromis-analytics-products__copy p,
.kromis-analytics-products__copy span {
    display: block;
    margin: 0;
}

.kromis-analytics-products__copy p {
    color: #0f172a;
    font-size: 0.82rem;
    font-weight: 700;
}

.kromis-analytics-products__copy span {
    color: #64748b;
    font-size: 0.72rem;
    margin-top: 0.15rem;
}

.kromis-analytics-financial {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kromis-analytics-financial__item {
    background: #f8fafc;
    border-radius: 12px;
    padding: 0.8rem;
}

.kromis-analytics-financial__item span,
.kromis-analytics-financial__item em {
    color: #64748b;
    display: block;
    font-size: 0.72rem;
    font-style: normal;
    margin-top: 0.2rem;
}

.kromis-analytics-financial__item strong {
    color: #0f172a;
    display: block;
    font-size: 1rem;
    margin-top: 0.15rem;
}

.kromis-analytics-activities {
    display: grid;
    gap: 0.8rem;
}

.kromis-analytics-activities__item {
    align-items: flex-start;
    display: grid;
    gap: 0.65rem;
    grid-template-columns: auto 1fr auto;
}

.kromis-analytics-activities__item p,
.kromis-analytics-activities__item span,
.kromis-analytics-activities__item em {
    display: block;
    font-style: normal;
    margin: 0;
}

.kromis-analytics-activities__item p {
    color: #0f172a;
    font-size: 0.8rem;
    font-weight: 700;
}

.kromis-analytics-activities__item span {
    color: #64748b;
    font-size: 0.72rem;
    margin-top: 0.15rem;
}

.kromis-analytics-activities__item em {
    color: #94a3b8;
    font-size: 0.68rem;
    white-space: nowrap;
}

.kromis-analytics-activities__dot {
    border-radius: 999px;
    height: 0.55rem;
    margin-top: 0.35rem;
    width: 0.55rem;
}

.kromis-analytics-activities__dot--order { background: #055887; }
.kromis-analytics-activities__dot--payment { background: #16a34a; }
.kromis-analytics-activities__dot--default { background: #94a3b8; }

.kromis-report-placeholder {
    align-items: center;
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 16px;
    box-shadow: var(--kromis-shadow);
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    justify-content: center;
    min-height: 18rem;
    padding: 2rem;
    text-align: center;
}

.kromis-report-placeholder__icon {
    font-size: 2rem;
}

.kromis-report-placeholder h2 {
    color: #0f172a;
    font-size: 1.35rem;
    font-weight: 800;
    margin: 0;
}

.kromis-report-placeholder p {
    color: #64748b;
    margin: 0;
    max-width: 32rem;
}

@media (max-width: 1400px) {
    .kromis-analytics-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    .kromis-analytics-page-header {
        align-items: flex-start;
    }

    .kromis-analytics-page-header__actions {
        justify-content: flex-start;
        width: 100%;
    }

    .kromis-analytics-kpis,
    .kromis-analytics-grid--3,
    .kromis-analytics-financial {
        grid-template-columns: 1fr;
    }

    .kromis-analytics-donut-wrap {
        grid-template-columns: 1fr;
    }
}

/* Unified page section spacing */
.kromis-admin-page.fi-page > section {
    gap: 0.65rem !important;
    padding-bottom: 1.25rem !important;
    padding-top: 1rem !important;
}

.kromis-admin-page.fi-page .grid.flex-1 {
    gap: 0 !important;
    row-gap: 0 !important;
}

/* CRM / Manage list pages — tighter header block */
.fi-resource-list-records-page.kromis-admin-page.fi-page > section {
    padding-top: 0.75rem !important;
}

.fi-resource-list-records-page.kromis-admin-page .kromis-page-header {
    margin-bottom: 0.55rem;
}

.fi-resource-list-records-page.kromis-admin-page .kromis-kpi-row {
    margin-bottom: 0.55rem;
}

/* Dashboard, reports, attendance — slightly more top breathing room */
.kromis-dashboard-page.kromis-admin-page.fi-page > section,
.kromis-analytics-page.kromis-admin-page.fi-page > section,
.kromis-attendance-page.kromis-admin-page.fi-page > section {
    padding-bottom: 1.35rem !important;
    padding-top: 1.15rem !important;
}

.kromis-dashboard-page .kromis-page-header,
.kromis-analytics-page .kromis-page-header,
.kromis-attendance-page .kromis-page-header {
    margin-bottom: 0.85rem;
}

.kromis-attendance-page .fi-header,
.kromis-dashboard-page .fi-header {
    display: none !important;
}

.kromis-dashboard-body {
    margin-top: 0;
}

.kromis-attendance-page-header {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 0;
    padding-top: 0;
}

.kromis-attendance-page-header__breadcrumb {
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 600;
    margin: 0 0 0.2rem;
}

.kromis-attendance-page-header__title {
    color: #0f172a;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
}

.kromis-attendance-page-header__subtitle {
    color: #64748b;
    font-size: 0.92rem;
    margin: 0.2rem 0 0;
}

.kromis-attendance-page-header__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.kromis-attendance-kpis {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-bottom: 0.85rem;
}

.kromis-attendance-kpi {
    align-items: center;
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 14px;
    box-shadow: var(--kromis-shadow);
    display: flex;
    gap: 0.7rem;
    padding: 0.85rem 0.9rem;
}

.kromis-attendance-kpi__icon {
    align-items: center;
    align-self: center;
    border-radius: 10px;
    display: inline-flex !important;
    flex-shrink: 0;
    font-size: 0.95rem;
    height: 2.2rem;
    justify-content: center;
    line-height: 1;
    text-align: center;
    width: 2.2rem;
}

.kromis-attendance-kpi strong {
    color: #0f172a;
    display: block;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.1;
}

.kromis-attendance-kpi em {
    color: #64748b;
    display: block;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 600;
    margin-top: 0.1rem;
}

.kromis-attendance-kpi > div span {
    color: #94a3b8;
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
}

.kromis-attendance-kpi--blue .kromis-attendance-kpi__icon { background: #e0f2fe; color: #0284c7; }
.kromis-attendance-kpi--green .kromis-attendance-kpi__icon { background: #dcfce7; color: #16a34a; }
.kromis-attendance-kpi--orange .kromis-attendance-kpi__icon { background: #ffedd5; color: #ea580c; }
.kromis-attendance-kpi--red .kromis-attendance-kpi__icon { background: #fee2e2; color: #dc2626; }
.kromis-attendance-kpi--purple .kromis-attendance-kpi__icon { background: #ede9fe; color: #7c3aed; }

.kromis-attendance-filters {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-bottom: 0.85rem;
}

.kromis-attendance-filters__field input,
.kromis-attendance-filters__field select {
    background: #fff;
    border: 1px solid var(--kromis-border);
    border-radius: 10px;
    color: #0f172a;
    font-size: 0.78rem;
    font-weight: 600;
    min-height: 2.35rem;
    padding: 0.4rem 0.65rem;
}

.kromis-attendance-filters__apply {
    background: var(--kromis-primary);
    border: 0;
    border-radius: 10px;
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    min-height: 2.35rem;
    padding: 0.4rem 0.9rem;
}

.kromis-attendance-filters__reset {
    align-items: center;
    background: #fff;
    border: 1px solid var(--kromis-border);
    border-radius: 10px;
    color: #334155;
    display: inline-flex;
    font-size: 0.78rem;
    font-weight: 700;
    gap: 0.35rem;
    min-height: 2.35rem;
    padding: 0.4rem 0.8rem;
}

.kromis-attendance-salary-export {
    align-items: center;
    display: inline-flex;
    flex-direction: column;
    gap: 0.15rem;
}

.kromis-attendance-salary-export span {
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
}

.kromis-attendance-salary-export input {
    background: #fff;
    border: 1px solid var(--kromis-border);
    border-radius: 10px;
    font-size: 0.78rem;
    min-height: 2.35rem;
    padding: 0.35rem 0.6rem;
}

.kromis-attendance-overtime {
    margin-bottom: 0.85rem;
}

.kromis-attendance-overtime__hint {
    color: #64748b;
    font-size: 0.78rem;
    margin: 0 0 0.75rem;
}

.kromis-attendance-overtime__list {
    display: grid;
    gap: 0.55rem;
}

.kromis-attendance-overtime__item {
    align-items: center;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-radius: 12px;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.75rem 0.85rem;
}

.kromis-attendance-overtime__item strong {
    color: #0f172a;
    display: block;
    font-size: 0.86rem;
}

.kromis-attendance-overtime__item span {
    color: #64748b;
    display: block;
    font-size: 0.74rem;
    margin-top: 0.15rem;
}

.kromis-attendance-overtime__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.kromis-attendance-layout {
    align-items: start;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(0, 1fr) 18.5rem;
}

.kromis-attendance-card {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 16px;
    box-shadow: var(--kromis-shadow);
    padding: 0.9rem;
}

.kromis-attendance-card--table {
    padding: 0;
}

.kromis-attendance-card__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.65rem;
}

.kromis-attendance-card__header h3 {
    color: #0f172a;
    font-size: 0.88rem;
    font-weight: 800;
    margin: 0;
}

.kromis-attendance-card__header span {
    color: #94a3b8;
    font-size: 0.68rem;
    font-weight: 700;
}

.kromis-attendance-sidebar {
    display: grid;
    gap: 0.75rem;
}

.kromis-attendance-table-wrap {
    overflow-x: auto;
}

.kromis-attendance-table {
    border-collapse: collapse;
    font-size: 0.76rem;
    width: 100%;
}

.kromis-attendance-table thead th {
    background: #f8fafc;
    border-bottom: 1px solid var(--kromis-border);
    color: #64748b;
    font-size: 0.68rem;
    font-weight: 700;
    padding: 0.65rem 0.55rem;
    text-align: left;
    white-space: nowrap;
}

.kromis-attendance-table tbody td {
    border-bottom: 1px solid #f1f5f9;
    color: #334155;
    padding: 0.7rem 0.55rem;
    vertical-align: middle;
}

.kromis-attendance-table tbody tr:hover {
    background: #f8fbfd;
}

.kromis-attendance-table__empty {
    color: #94a3b8;
    padding: 2rem !important;
    text-align: center;
}

.kromis-attendance-employee {
    align-items: center;
    display: flex;
    gap: 0.55rem;
    min-width: 11rem;
}

.kromis-attendance-employee .kromis-avatar {
    align-items: center;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0.72rem;
    justify-content: center;
    line-height: 1;
}

.kromis-attendance-employee strong {
    color: #0f172a;
    display: block;
    font-size: 0.78rem;
}

.kromis-attendance-employee > div span {
    color: #94a3b8;
    display: block;
    font-size: 0.66rem;
}

.kromis-attendance-table .is-late {
    color: #ea580c;
    font-weight: 700;
}

.kromis-attendance-table .is-early {
    color: #dc2626;
    font-weight: 700;
}

.kromis-attendance-checkin {
    align-items: center;
    display: flex;
    gap: 0.55rem;
}

.kromis-attendance-selfie-link {
    background: transparent;
    border: 0;
    cursor: pointer;
    display: inline-flex;
    flex-shrink: 0;
    padding: 0;
}

.kromis-attendance-selfie-thumb {
    border: 1px solid #dbeafe;
    border-radius: 999px;
    height: 34px;
    object-fit: cover;
    width: 34px;
}

.kromis-attendance-status {
    border-radius: 999px;
    display: inline-block;
    font-size: 0.66rem;
    font-weight: 700;
    padding: 0.2rem 0.55rem;
    white-space: nowrap;
}

.kromis-attendance-status--present { background: #dcfce7; color: #15803d; }
.kromis-attendance-status--late { background: #ffedd5; color: #c2410c; }
.kromis-attendance-status--absent { background: #fee2e2; color: #b91c1c; }

.kromis-attendance-actions {
    display: flex;
    gap: 0.25rem;
}

.kromis-attendance-actions button {
    background: transparent;
    border: 0;
    color: #64748b;
    cursor: pointer;
    font-size: 0.82rem;
    padding: 0.15rem;
}

.kromis-attendance-locations-btn {
    align-items: center;
    background: #eff6ff !important;
    border: 1px solid #bfdbfe !important;
    border-radius: 999px;
    color: #1d4ed8 !important;
    display: inline-flex;
    font-size: 0.72rem !important;
    font-weight: 500;
    gap: 0.35rem;
    padding: 0.28rem 0.7rem !important;
    white-space: nowrap;
}

.kromis-attendance-locations-btn span {
    background: #dbeafe;
    border-radius: 999px;
    color: #1e40af;
    font-size: 0.64rem;
    min-width: 1.1rem;
    padding: 0.05rem 0.35rem;
    text-align: center;
}

.kromis-locations-modal__panel.kromis-selfie-modal__panel {
    display: flex;
    flex-direction: column;
    max-height: min(92vh, 920px);
    max-width: min(92vw, 900px);
    overflow: hidden;
    padding: 1rem 1.15rem 1.15rem;
    width: min(92vw, 900px);
}

.kromis-selfie-modal__panel .kromis-locations-modal__header {
    flex-shrink: 0;
    margin-bottom: 0.75rem;
}

.kromis-selfie-modal__body {
    align-items: center;
    display: flex;
    flex: 1 1 auto;
    justify-content: center;
    min-height: 0;
    overflow: hidden;
}

.kromis-selfie-modal__image {
    border-radius: 12px;
    display: block;
    max-height: calc(min(92vh, 920px) - 5.5rem);
    max-width: 100%;
    object-fit: contain;
    width: auto;
}

.kromis-locations-modal {
    align-items: center;
    background: rgba(15, 23, 42, 0.45);
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1.25rem;
    position: fixed;
    z-index: 80;
}

.kromis-locations-modal__panel {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 20px 50px rgba(15, 23, 42, 0.18);
    max-height: min(78vh, 640px);
    max-width: 32rem;
    overflow: auto;
    padding: 1.1rem 1.15rem 1.25rem;
    width: 100%;
}

.kromis-locations-modal__header {
    align-items: flex-start;
    display: flex;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 0.9rem;
}

.kromis-locations-modal__header h2 {
    color: #0f172a;
    font-size: 1rem;
    font-weight: 500;
    margin: 0;
}

.kromis-locations-modal__header p {
    color: #64748b;
    font-size: 0.78rem;
    margin: 0.2rem 0 0;
}

.kromis-locations-modal__header button {
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 999px;
    color: #334155;
    cursor: pointer;
    font-size: 0.72rem;
    font-weight: 500;
    padding: 0.35rem 0.8rem;
}

.kromis-locations-modal__item {
    align-items: flex-start;
    border-top: 1px solid #eef2f7;
    display: flex;
    gap: 0.85rem;
    justify-content: space-between;
    padding: 0.75rem 0;
}

.kromis-locations-modal__item strong {
    color: #0f172a;
    display: block;
    font-size: 0.82rem;
    font-weight: 500;
}

.kromis-locations-modal__item em {
    color: #2563eb;
    display: block;
    font-size: 0.72rem;
    font-style: normal;
    margin-top: 0.12rem;
}

.kromis-locations-modal__item span {
    color: #64748b;
    display: block;
    font-size: 0.7rem;
    margin-top: 0.12rem;
}

.kromis-locations-modal__item a {
    color: #055887;
    flex-shrink: 0;
    font-size: 0.72rem;
    font-weight: 500;
    text-decoration: none;
    white-space: nowrap;
}

.kromis-locations-modal__empty {
    color: #94a3b8;
    font-size: 0.82rem;
    margin: 0.4rem 0 0;
    text-align: center;
}

.kromis-attendance-pagination {
    align-items: center;
    border-top: 1px solid var(--kromis-border);
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.75rem 0.9rem;
}

.kromis-attendance-pagination p {
    color: #64748b;
    font-size: 0.72rem;
    margin: 0;
}

.kromis-attendance-pagination__controls {
    align-items: center;
    display: flex;
    gap: 0.25rem;
}

.kromis-attendance-pagination__controls button,
.kromis-attendance-pagination__controls span {
    background: #fff;
    border: 1px solid var(--kromis-border);
    border-radius: 8px;
    color: #334155;
    font-size: 0.72rem;
    font-weight: 700;
    min-width: 1.8rem;
    padding: 0.25rem 0.45rem;
}

.kromis-attendance-pagination__controls button.is-active {
    background: var(--kromis-primary);
    border-color: var(--kromis-primary);
    color: #fff;
}

.kromis-attendance-pagination__controls button:disabled {
    opacity: 0.45;
}

.kromis-attendance-overview {
    align-items: center;
    display: grid;
    gap: 0.75rem;
    grid-template-columns: 5.5rem 1fr;
}

.kromis-attendance-overview .kromis-source-chart__donut {
    height: 5.5rem;
    width: 5.5rem;
}

.kromis-attendance-trend-chart {
    display: block;
    height: auto;
    width: 100%;
}

.kromis-attendance-summary-list {
    display: grid;
    gap: 0.55rem;
    margin: 0;
}

.kromis-attendance-summary-list div {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
}

.kromis-attendance-summary-list dt {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 600;
}

.kromis-attendance-summary-list dd {
    color: #0f172a;
    font-size: 0.72rem;
    font-weight: 700;
    margin: 0;
    text-align: right;
}

.kromis-attendance-quick-actions {
    display: grid;
    gap: 0.55rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: stretch;
}

.kromis-attendance-quick-actions__item {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    justify-content: center;
    justify-items: center;
    min-height: 4.5rem;
    padding: 0.55rem;
    text-align: center;
    width: 100%;
}

.kromis-attendance-quick-actions__item span {
    align-items: center;
    border-radius: 10px;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0.95rem;
    height: 2rem;
    justify-content: center;
    line-height: 1;
    margin: 0 auto;
    width: 2rem;
}

.kromis-attendance-quick-actions__item em {
    color: #334155;
    font-size: 0.68rem;
    font-style: normal;
    font-weight: 700;
    text-align: center;
}

.kromis-attendance-quick-actions__item--green span { background: #dcfce7; }
.kromis-attendance-quick-actions__item--purple span { background: #ede9fe; }
.kromis-attendance-quick-actions__item--orange span { background: #ffedd5; }
.kromis-attendance-quick-actions__item--blue span { background: #e0f2fe; }

@media (max-width: 1280px) {
    .kromis-attendance-kpis {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .kromis-attendance-layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 768px) {
    .kromis-attendance-kpis {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Shared admin page chrome (list pages, detail pages, reports) */
.kromis-admin-page > .fi-page > .fi-page-content,
.kromis-admin-page.fi-page > .fi-page-content {
    gap: 0 !important;
    row-gap: 0 !important;
}

.kromis-admin-page .fi-header {
    display: none !important;
}

.kromis-page-header {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    justify-content: space-between;
    margin-bottom: 0.75rem;
    padding-top: 0;
}

.kromis-page-header__breadcrumb {
    color: #94a3b8;
    font-size: 0.72rem;
    font-weight: 600;
    margin: 0 0 0.2rem;
}


.kromis-page-header__title {
    color: #0f172a;
    font-size: 1.75rem;
    font-weight: 800;
    line-height: 1.15;
    margin: 0;
}

.kromis-page-header__subtitle {
    color: #64748b;
    font-size: 0.92rem;
    margin: 0.2rem 0 0;
}

.kromis-page-header__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.kromis-kpi-row {
    display: grid;
    gap: 0.75rem;
    grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
    margin-bottom: 0.85rem;
}

.kromis-kpi-row .kromis-kpi-card {
    align-items: center;
    border-radius: 14px;
    display: flex;
    flex-direction: row;
    gap: 0.7rem;
    min-height: auto;
    padding: 0.85rem 0.9rem;
}

.kromis-kpi-row .kromis-kpi-card__icon {
    align-items: center;
    align-self: center;
    border-radius: 10px;
    display: inline-flex !important;
    flex-shrink: 0;
    font-size: 0.95rem;
    height: 2.2rem;
    justify-content: center;
    line-height: 1;
    text-align: center;
    width: 2.2rem;
}

.kromis-kpi-row .kromis-kpi-card strong {
    color: #0f172a;
    display: block;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.1;
}

.kromis-kpi-row .kromis-kpi-card em {
    color: #64748b;
    display: block;
    font-size: 0.72rem;
    font-style: normal;
    font-weight: 600;
    margin-top: 0.1rem;
}

.kromis-kpi-row .kromis-kpi-card > div span {
    color: #94a3b8;
    display: block;
    font-size: 0.68rem;
    font-weight: 600;
}

.kromis-list-records-body {
    margin-top: 0.15rem;
}

.kromis-customer-cell .kromis-avatar {
    align-items: center;
    display: inline-flex !important;
    flex-shrink: 0;
    justify-content: center;
    line-height: 1;
    text-align: center;
}

.kromis-staff-cell__photo {
    border-radius: 999px;
    flex-shrink: 0;
    height: 2.25rem;
    object-fit: cover;
    width: 2.25rem;
}

.fi-dashboard-page .fi-header-heading {
    font-size: 1.75rem !important;
    font-weight: 800 !important;
}

.fi-dashboard-page .fi-header-subheading {
    color: #64748b !important;
    font-size: 0.92rem !important;
}

@media (max-width: 1280px) {
    .kromis-kpi-row {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .kromis-kpi-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* List page table + sidebar charts (attendance-style) */
.kromis-list-layout,
.kromis-attendance-layout {
    align-items: start;
    display: grid;
    gap: 0.85rem;
    grid-template-columns: minmax(0, 1fr) 18.5rem;
}

.kromis-list-card,
.kromis-attendance-card {
    background: var(--kromis-surface);
    border: 1px solid var(--kromis-border);
    border-radius: 16px;
    box-shadow: var(--kromis-shadow);
    padding: 0.9rem;
}

.kromis-list-card--table,
.kromis-attendance-card--table {
    overflow: hidden;
    padding: 0;
}

.kromis-list-card__header,
.kromis-attendance-card__header {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0.65rem;
}

.kromis-list-card__header h3,
.kromis-attendance-card__header h3 {
    color: #0f172a;
    font-size: 0.88rem;
    font-weight: 800;
    margin: 0;
}

.kromis-list-card__header span,
.kromis-attendance-card__header span {
    color: #94a3b8;
    font-size: 0.68rem;
    font-weight: 700;
}

.kromis-list-sidebar,
.kromis-attendance-sidebar {
    display: grid;
    gap: 0.75rem;
}

.kromis-list-overview,
.kromis-attendance-overview {
    align-items: center;
    display: grid;
    gap: 0.65rem;
}

.kromis-list-overview .kromis-source-chart__donut,
.kromis-attendance-overview .kromis-source-chart__donut {
    height: 5.5rem;
    margin: 0 auto;
    width: 5.5rem;
}

.kromis-list-overview .kromis-source-legend,
.kromis-attendance-overview .kromis-source-legend {
    width: 100%;
}

.kromis-list-trend-chart,
.kromis-attendance-trend-chart {
    display: block;
    height: auto;
    width: 100%;
}

.kromis-list-summary-list,
.kromis-attendance-summary-list {
    display: grid;
    gap: 0.55rem;
    margin: 0;
}

.kromis-list-summary-list div,
.kromis-attendance-summary-list div {
    align-items: center;
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
}

.kromis-list-summary-list dt,
.kromis-attendance-summary-list dt {
    color: #64748b;
    font-size: 0.72rem;
    font-weight: 600;
}

.kromis-list-summary-list dd,
.kromis-attendance-summary-list dd {
    color: #0f172a;
    font-size: 0.78rem;
    font-weight: 800;
    margin: 0;
    text-align: right;
}

.kromis-list-card--table .kromis-list-records-body {
    margin-top: 0;
}

.kromis-list-card--table .fi-ta-ctn {
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

.kromis-list-card--table .fi-ta-header-ctn {
    border-top-left-radius: 16px;
    border-top-right-radius: 16px;
}

@media (max-width: 1280px) {
    .kromis-list-layout,
    .kromis-attendance-layout {
        grid-template-columns: 1fr;
    }

    .kromis-list-sidebar,
    .kromis-attendance-sidebar {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .kromis-list-sidebar,
    .kromis-attendance-sidebar {
        grid-template-columns: 1fr;
    }
}

/* -------------------------------------------------------------------------- */
/* Agents & Staff — file uploader (dropzone + image / file previews)           */
/* -------------------------------------------------------------------------- */

.kromis-staff-uploader .filepond--root {
    background: transparent;
    border: 0;
    margin-bottom: 0;
}

.kromis-staff-uploader .filepond--panel-root {
    background: #f8fbfe;
    border: 1.5px dashed #9ac4db;
    border-radius: 16px;
}

.kromis-staff-uploader .filepond--drop-label {
    color: #055887;
    min-height: 7.5rem;
}

.kromis-staff-uploader .filepond--drop-label label {
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 600;
}

.kromis-staff-uploader .filepond--label-action {
    color: var(--kromis-primary, #055887);
    text-decoration: underline;
    text-underline-offset: 2px;
}

.kromis-staff-uploader .filepond--item {
    border-radius: 12px;
    width: calc(50% - 0.5rem);
}

.kromis-staff-uploader .filepond--item-panel {
    background: #ffffff;
    border: 1px solid #d7e6ef;
    border-radius: 12px;
    box-shadow: 0 1px 2px rgba(5, 88, 135, 0.06);
}

.kromis-staff-uploader .filepond--image-preview-wrapper {
    background: #eef6fb;
    border-radius: 12px 12px 0 0;
}

.kromis-staff-uploader .filepond--file-info-main {
    color: #0f172a;
    font-size: 0.78rem;
    font-weight: 700;
}

.kromis-staff-uploader .filepond--file-info-sub {
    color: #64748b;
    font-size: 0.68rem;
}

.kromis-staff-uploader .filepond--file-action-button {
    background: rgba(5, 88, 135, 0.1);
    color: #055887;
}

@media (max-width: 640px) {
    .kromis-staff-uploader .filepond--item {
        width: 100%;
    }
}

/* -------------------------------------------------------------------------- */
/* Agents & Staff — profile edit page                                          */
/* -------------------------------------------------------------------------- */

.kromis-staff-profile {
    display: grid;
    gap: 1rem;
    width: 100%;
}

.kromis-staff-profile__hero {
    background: var(--kromis-surface, #ffffff);
    border: 1px solid var(--kromis-border, #d7e6ef);
    border-radius: 16px;
    box-shadow: var(--kromis-shadow, 0 1px 2px rgba(5, 88, 135, 0.06));
    display: grid;
    gap: 1.25rem;
    padding: 1.25rem;
}

.kromis-staff-profile__identity {
    align-items: center;
    display: flex;
    gap: 1rem;
}

.kromis-avatar--xl {
    font-size: 1.35rem;
    height: 5rem;
    width: 5rem;
}

.kromis-staff-profile__avatar-img {
    border-radius: 999px;
    height: 5rem;
    object-fit: cover;
    width: 5rem;
}

.kromis-staff-profile__title-row {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.kromis-staff-profile__name {
    color: #0f172a;
    font-size: 1.45rem;
    font-weight: 800;
    margin: 0;
}

.kromis-staff-profile__role {
    color: #475569;
    font-size: 0.92rem;
    font-weight: 600;
    margin: 0.35rem 0 0;
}

.kromis-staff-profile__contact-row {
    color: #64748b;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    margin-top: 0.55rem;
    font-size: 0.84rem;
    font-weight: 600;
}

.kromis-staff-profile__summary {
    border-top: 1px solid #e8eef3;
    display: grid;
    gap: 0.85rem 1rem;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
    padding-top: 1rem;
}

.kromis-staff-profile__summary dt {
    color: #64748b;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    margin: 0;
    text-transform: uppercase;
}

.kromis-staff-profile__summary dd {
    color: #0f172a;
    font-size: 0.88rem;
    font-weight: 700;
    margin: 0.2rem 0 0;
}

.kromis-staff-profile__grid {
    display: grid;
    gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kromis-staff-card__header {
    align-items: center;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    margin-bottom: 0.85rem;
}

.kromis-staff-card__header .kromis-panel__title {
    margin: 0;
}

.kromis-staff-card__edit {
    background: #eef6fb;
    border: 1px solid #cfe3f0;
    border-radius: 999px;
    color: #055887;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.35rem 0.8rem;
}

.kromis-staff-card__edit:hover {
    background: #055887;
    border-color: #055887;
    color: #ffffff;
}

.kromis-staff-card--wide {
    grid-column: 1 / -1;
}

.kromis-detail-list--two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kromis-detail-list__full {
    grid-column: 1 / -1;
}

.kromis-staff-skills {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.kromis-staff-skills__tag {
    background: #eef6fb;
    border: 1px solid #d0e4f1;
    border-radius: 999px;
    color: #055887;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.28rem 0.7rem;
}

.kromis-staff-docs {
    display: grid;
    gap: 0.65rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.kromis-staff-docs__item {
    align-items: center;
    background: #f8fbfe;
    border: 1px solid #e2eef5;
    border-radius: 12px;
    display: flex;
    gap: 0.75rem;
    padding: 0.7rem 0.85rem;
}

.kromis-staff-docs__thumb {
    border-radius: 8px;
    height: 42px;
    object-fit: cover;
    width: 42px;
}

.kromis-staff-docs__icon {
    align-items: center;
    background: #e8f2f8;
    border-radius: 8px;
    color: #055887;
    display: inline-flex;
    flex-shrink: 0;
    font-size: 0.62rem;
    font-weight: 800;
    height: 42px;
    justify-content: center;
    letter-spacing: 0.02em;
    width: 42px;
}

.kromis-staff-docs__meta {
    flex: 1;
    min-width: 0;
}

.kromis-staff-docs__name {
    color: #0f172a;
    font-size: 0.88rem;
    font-weight: 700;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.kromis-staff-docs__sub {
    color: #64748b;
    font-size: 0.72rem;
    margin: 0.15rem 0 0;
}

.kromis-staff-docs__download {
    color: #055887;
    font-size: 0.78rem;
    font-weight: 700;
    text-decoration: none;
}

.kromis-staff-docs__download:hover {
    text-decoration: underline;
}

.kromis-staff-timeline {
    display: flex;
    gap: 0.5rem;
    list-style: none;
    margin: 0;
    overflow-x: auto;
    padding: 0.35rem 0 0.5rem;
}

.kromis-staff-timeline__item {
    flex: 1 0 8.5rem;
    min-width: 8.5rem;
    padding-top: 0.35rem;
    position: relative;
}

.kromis-staff-timeline__item:not(:last-child)::after {
    background: #cfe0ea;
    content: '';
    height: 2px;
    left: 1.1rem;
    position: absolute;
    right: -0.5rem;
    top: 0.7rem;
}

.kromis-staff-timeline__dot {
    background: #94a3b8;
    border: 2px solid #ffffff;
    border-radius: 999px;
    box-shadow: 0 0 0 2px #cfe0ea;
    display: block;
    height: 0.75rem;
    margin-bottom: 0.55rem;
    position: relative;
    width: 0.75rem;
    z-index: 1;
}

.kromis-staff-timeline__item.is-done .kromis-staff-timeline__dot {
    background: #16a34a;
    box-shadow: 0 0 0 2px #bbf7d0;
}

.kromis-staff-timeline__item.is-current .kromis-staff-timeline__dot {
    background: #055887;
    box-shadow: 0 0 0 2px #bfdbfe;
}

.kromis-staff-timeline__item.is-upcoming .kromis-staff-timeline__dot {
    background: #f59e0b;
    box-shadow: 0 0 0 2px #fde68a;
}

.kromis-staff-timeline__label {
    color: #0f172a;
    font-size: 0.84rem;
    font-weight: 700;
    margin: 0;
}

.kromis-staff-timeline__date {
    color: #64748b;
    font-size: 0.74rem;
    font-weight: 600;
    margin: 0.2rem 0 0;
}

@media (max-width: 1100px) {
    .kromis-staff-profile__summary {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .kromis-staff-profile__grid,
    .kromis-detail-list--two {
        grid-template-columns: 1fr;
    }

    .kromis-staff-profile__summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .kromis-staff-profile__identity {
        align-items: flex-start;
        flex-direction: column;
    }

    .kromis-staff-profile__summary {
        grid-template-columns: 1fr;
    }
}

/* -------------------------------------------------------------------------- */
/* Admin live CallBar (Pusher)                                                 */
/* -------------------------------------------------------------------------- */

.kromis-call-bar {
    background: #055887;
    box-shadow: 0 8px 24px rgba(5, 88, 135, 0.28);
    color: #ffffff;
    left: 0;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 80;
}

.kromis-call-bar__inner {
    align-items: center;
    display: flex;
    gap: 0.85rem;
    margin: 0 auto;
    max-width: 1200px;
    padding: 0.85rem 1.1rem;
}

.kromis-call-bar__pulse {
    animation: kromis-call-pulse 1.2s ease-in-out infinite;
    background: #7dd3fc;
    border-radius: 999px;
    flex-shrink: 0;
    height: 0.7rem;
    width: 0.7rem;
}

@keyframes kromis-call-pulse {
    0%, 100% { opacity: 1; transform: scale(1); }
    50% { opacity: 0.45; transform: scale(0.85); }
}

.kromis-call-bar__copy {
    flex: 1;
    min-width: 0;
}

.kromis-call-bar__label {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    margin: 0;
    opacity: 0.85;
    text-transform: uppercase;
}

.kromis-call-bar__title {
    font-size: 1.15rem;
    font-weight: 800;
    margin: 0.15rem 0 0;
}

.kromis-call-bar__meta {
    font-size: 0.95rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    margin: 0.25rem 0 0;
    opacity: 1;
}

.kromis-call-bar__actions {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

.kromis-call-bar__btn,
.kromis-call-bar__close {
    background: rgba(255, 255, 255, 0.16);
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.45rem 0.85rem;
    text-decoration: none;
}

.kromis-call-modal {
    align-items: center;
    display: flex;
    inset: 0;
    justify-content: center;
    padding: 1rem;
    position: fixed;
    z-index: 90;
}

.kromis-call-modal[hidden] {
    display: none;
}

.kromis-call-modal__backdrop {
    background: rgba(7, 17, 38, 0.55);
    inset: 0;
    position: absolute;
}

.kromis-call-modal__dialog {
    background: #055887;
    border-radius: 16px;
    box-shadow: 0 24px 64px rgba(7, 17, 38, 0.35);
    color: #ffffff;
    display: flex;
    flex-direction: column;
    font-size: 0.88rem;
    line-height: 1.45;
    max-height: min(82vh, 760px);
    max-width: 720px;
    position: relative;
    width: min(720px, calc(100vw - 2rem));
}

.kromis-call-modal__head {
    align-items: center;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    justify-content: space-between;
    padding: 1rem 1.1rem 0.8rem;
}

.kromis-call-modal__head h3 {
    font-size: 1.05rem;
    font-weight: 500;
    margin: 0;
}

.kromis-call-modal__body {
    flex: 1;
    min-height: 0;
    overflow: auto;
    padding: 1rem 1.1rem;
}

.kromis-call-modal__foot {
    align-items: center;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.75rem 1.1rem 1rem;
}

.kromis-call-modal__foot span {
    color: rgba(255, 255, 255, 0.82);
    font-size: 0.8rem;
}

.kromis-call-modal__foot button:disabled {
    cursor: default;
    opacity: 0.45;
}

.kromis-call-bar__brief ul,
.kromis-call-bar__panel ul {
    margin: 0.35rem 0 0;
    padding-left: 1.1rem;
}

.kromis-call-bar__snapshot {
    display: grid;
    gap: 0.28rem;
    margin-bottom: 1rem;
}

.kromis-call-bar__snapshot p {
    margin: 0;
}

.kromis-call-bar__section-title {
    font-weight: 500;
    margin: 0 0 0.7rem;
}

.kromis-call-bar__timeline,
.kromis-call-bar__notes {
    display: grid;
    gap: 1.15rem;
}

.kromis-call-bar__day {
    display: grid;
    gap: 0.7rem;
}

.kromis-call-bar__day-title {
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.82rem;
    font-weight: 500;
    margin: 0;
}

.kromis-call-bar__note {
    background: rgba(255, 255, 255, 0.08);
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 10px;
    display: grid;
    gap: 0.28rem;
    padding: 0.8rem 0.95rem;
}

.kromis-call-bar__note-date {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.75rem;
    margin: 0;
}

.kromis-call-bar__note-header {
    font-weight: 500;
    margin: 0;
}

.kromis-call-bar__note-body {
    margin: 0;
    white-space: pre-wrap;
}

.kromis-call-bar__notes-empty {
    color: rgba(255, 255, 255, 0.78);
    margin: 0.85rem 0;
}

.kromis-call-bar__note-meta {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 0.75rem;
}

#kromis-call-bar-notes {
    margin-top: 1rem;
}

.kromis-call-bar__fields {
    display: grid;
    gap: 0.65rem;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kromis-call-bar__linked-head {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0.85rem 0 0.45rem;
}

.kromis-call-bar__linked,
.kromis-call-workspace__check {
    display: grid;
    gap: 0.45rem;
}

.kromis-call-bar__linked-row {
    align-items: center;
    display: grid;
    gap: 0.45rem;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto auto;
}

.kromis-call-bar__linked-row button {
    background: transparent;
    border: 0;
    color: #fecaca;
    cursor: pointer;
}

.kromis-call-bar__panel label,
.kromis-call-bar__search-label {
    display: grid;
    font-size: 0.75rem;
    font-weight: 700;
    gap: 0.3rem;
}

.kromis-call-bar__full {
    grid-column: 1 / -1;
}

.kromis-call-bar__panel input,
.kromis-call-bar__panel textarea {
    border: 0;
    border-radius: 0.55rem;
    color: #0f172a;
    font-size: 0.88rem;
    padding: 0.5rem 0.65rem;
}

.kromis-call-bar__submit {
    background: #ffffff;
    border: 0;
    border-radius: 0.55rem;
    color: #055887;
    cursor: pointer;
    font-weight: 800;
    margin-top: 0.75rem;
    padding: 0.55rem 0.9rem;
}

.kromis-call-bar__results,
.kromis-call-bar__cart {
    display: grid;
    gap: 0.45rem;
    margin-top: 0.65rem;
}

.kromis-call-bar__result,
.kromis-call-bar__cart-row {
    align-items: center;
    background: rgba(255, 255, 255, 0.12);
    border: 0;
    border-radius: 0.55rem;
    color: #ffffff;
    display: flex;
    gap: 0.65rem;
    justify-content: space-between;
    padding: 0.55rem 0.7rem;
    text-align: left;
}

.kromis-call-bar__result span {
    opacity: 0.85;
}

.kromis-call-bar__cart-row input {
    max-width: 4.5rem;
}

.kromis-call-bar__cart-row button {
    background: transparent;
    border: 0;
    color: #ffffff;
    cursor: pointer;
    font-weight: 700;
}

.kromis-call-bar__close {
    background: rgba(255, 255, 255, 0.16);
    border: 0;
    border-radius: 999px;
    color: #ffffff;
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 700;
    padding: 0.45rem 0.85rem;
}

body:has(.kromis-call-bar:not([hidden])) .fi-topbar {
    margin-top: 6.5rem;
}

@media (max-width: 900px) {
    .kromis-call-bar__fields,
    .kromis-call-bar__note-meta {
        grid-template-columns: 1fr;
    }
}

.kromis-call-workspace .kromis-panel__title,
.kromis-call-workspace .kromis-customer-hero__name {
    font-weight: 500;
}

.kromis-call-workspace__grid {
    margin-bottom: 1rem;
}

.kromis-call-workspace__split {
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
}

.kromis-call-workspace__subtitle {
    margin-top: 1.25rem;
}

.kromis-call-workspace__list {
    display: grid;
    gap: 0.55rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.kromis-call-workspace__list li {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.kromis-call-workspace__list span {
    color: #64748b;
    font-size: 0.82rem;
}

.kromis-call-workspace__notes {
    display: grid;
    gap: 0.9rem;
    margin: 0 0 1.1rem;
}

.kromis-call-workspace__note {
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 12px;
    display: grid;
    gap: 0.28rem;
    padding: 0.85rem 1rem;
}

.kromis-call-workspace__note-date {
    color: #64748b;
    font-size: 0.78rem;
    margin: 0;
}

.kromis-call-workspace__note-header {
    font-weight: 500;
    margin: 0;
}

.kromis-call-workspace__note-body {
    margin: 0;
    white-space: pre-wrap;
}

.kromis-call-workspace__form,
.kromis-call-workspace__search,
.kromis-call-workspace__full {
    display: grid;
    gap: 0.75rem;
}

.kromis-call-workspace__form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.kromis-call-workspace__full {
    grid-column: 1 / -1;
}

.kromis-call-workspace__form label,
.kromis-call-workspace__search,
.kromis-call-workspace section.kromis-panel > label.kromis-call-workspace__full {
    color: #475569;
    display: grid;
    font-size: 0.82rem;
    gap: 0.35rem;
}

.kromis-call-workspace input,
.kromis-call-workspace textarea {
    border: 1px solid var(--kromis-border);
    border-radius: 10px;
    font-size: 0.95rem;
    padding: 0.6rem 0.75rem;
}

.kromis-call-workspace__submit {
    background: var(--kromis-primary);
    border: 0;
    border-radius: 999px;
    color: #fff;
    cursor: pointer;
    font-size: 0.9rem;
    font-weight: 500;
    justify-self: start;
    padding: 0.65rem 1.1rem;
}

.kromis-call-workspace__results,
.kromis-call-workspace__cart {
    display: grid;
    gap: 0.5rem;
    margin: 0.75rem 0;
}

.kromis-call-workspace__result,
.kromis-call-workspace__cart-row {
    align-items: center;
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 10px;
    display: flex;
    gap: 0.75rem;
    justify-content: space-between;
    padding: 0.7rem 0.85rem;
    text-align: left;
}

.kromis-call-workspace__result {
    cursor: pointer;
    flex-direction: column;
    align-items: flex-start;
}

.kromis-call-workspace__result span,
.kromis-call-workspace__cart-row span {
    color: #64748b;
    font-size: 0.82rem;
}

.kromis-call-workspace__cart-row input {
    max-width: none;
    min-width: 0;
}

.kromis-call-workspace__check {
    align-items: center;
    color: #475569;
    display: flex;
    font-size: 0.82rem;
    gap: 0.35rem;
    white-space: nowrap;
}

.kromis-call-workspace__cart-row button,
.kromis-call-workspace__result:disabled {
    background: transparent;
    border: 0;
    color: #b91c1c;
    cursor: pointer;
}

.kromis-call-workspace__result--selected,
.kromis-call-bar__result--selected {
    border-color: #055887;
    box-shadow: inset 0 0 0 1px #055887;
    background: #eff6ff;
}

.kromis-send-product__notice {
    background: #fff7ed;
    border: 1px solid #fdba74;
    border-radius: 10px;
    color: #9a3412;
    font-size: 0.85rem;
    line-height: 1.45;
    margin: 0 0 0.85rem;
    padding: 0.65rem 0.85rem;
}

.kromis-send-product__preview {
    background: #f8fafc;
    border: 1px solid var(--kromis-border);
    border-radius: 10px;
    margin: 0.85rem 0;
    padding: 0.85rem;
}

.kromis-send-product__preview-label {
    color: #64748b;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    margin: 0 0 0.35rem;
    text-transform: uppercase;
}

.kromis-send-product__preview-name {
    color: #0f172a;
    font-size: 0.95rem;
    font-weight: 600;
    margin: 0 0 0.25rem;
}

.kromis-send-product__preview-line,
.kromis-send-product__preview-link {
    color: #475569;
    font-size: 0.85rem;
    margin: 0.15rem 0 0;
    word-break: break-word;
}

.kromis-send-product__preview-link a {
    color: #055887;
}

.kromis-send-product__submit {
    margin-top: 0.25rem;
}

@media (max-width: 900px) {
    .kromis-call-workspace__split,
    .kromis-call-workspace__form {
        grid-template-columns: 1fr;
    }
}

/* My profile page */
.kromis-avatar--xl {
    font-size: 1.6rem;
    height: 6rem;
    width: 6rem;
}

.kromis-profile-photo {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.kromis-profile-photo__image {
    border: 3px solid var(--kromis-primary-soft, #c8e8f7);
    border-radius: 999px;
    height: 6rem;
    object-fit: cover;
    width: 6rem;
}

.kromis-profile-photo__button {
    border: 1px solid var(--kromis-primary, #055887);
    border-radius: 999px;
    color: var(--kromis-primary, #055887);
    cursor: pointer;
    font-size: 0.8rem;
    font-weight: 700;
    padding: 0.3rem 0.9rem;
}

.kromis-profile-photo__button:hover {
    background: var(--kromis-primary, #055887);
    color: #fff;
}

.kromis-profile-photo__error {
    color: #dc2626;
    font-size: 0.78rem;
    max-width: 12rem;
    text-align: center;
}

.kromis-profile-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
}

.kromis-profile-files {
    display: grid;
    gap: 0.35rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.kromis-profile-files a {
    color: var(--kromis-primary, #055887);
    font-weight: 600;
}

/* An avatar with no real name (placeholder, masked number) shows a person icon. */
.kromis-avatar:empty {
    background-color: #e2e8f0;
}

.kromis-avatar:empty::before {
    background-color: #64748b;
    content: "";
    height: 58%;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20.5c0-4.1 3.6-6.5 8-6.5s8 2.4 8 6.5V21H4z'/%3E%3C/svg%3E") center / contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 20.5c0-4.1 3.6-6.5 8-6.5s8 2.4 8 6.5V21H4z'/%3E%3C/svg%3E") center / contain no-repeat;
    width: 58%;
}

/* Attendance quick actions are buttons; make that obvious. */
.kromis-attendance-quick-actions__item {
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
}

.kromis-attendance-quick-actions__item:hover {
    background: #eef6fb;
    border-color: var(--kromis-primary, #055887);
    transform: translateY(-1px);
}

.kromis-attendance-quick-actions__item:disabled {
    cursor: wait;
    opacity: 0.6;
}

/* Attendance: employee month page and clickable rows */
.kromis-attendance-status--leave { background: #e0f2fe; color: #0369a1; }
.kromis-attendance-status--off { background: #f1f5f9; color: #64748b; }
.kromis-attendance-status--upcoming { background: transparent; color: #94a3b8; }

.kromis-attendance-employee--hero {
    align-items: center;
    display: flex;
    gap: 0.9rem;
    margin-top: 0.4rem;
}

.kromis-attendance-employee__photo {
    border-radius: 999px;
    height: 4rem;
    object-fit: cover;
    width: 4rem;
}

.kromis-attendance-weekday {
    color: #64748b;
    font-size: 0.8rem;
    margin-left: 0.35rem;
}

.kromis-attendance-table tr.is-muted td {
    color: #94a3b8;
}

.kromis-attendance-table tr.is-today td {
    background: #f0f9ff;
}

.kromis-attendance-note {
    color: #475569;
    font-size: 0.82rem;
    max-width: 22rem;
}

.kromis-attendance-table tr.is-clickable {
    cursor: pointer;
}

.kromis-attendance-table tr.is-clickable:hover td {
    background: #f0f7fc;
}
