/* Modern operational dashboard — light admin kit style (RTL) */

.dashboard-page {
    background: #f3f4f6;
}

.dash-modern {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr) 300px;
    min-height: 100vh;
    gap: 0;
}

/* RTL: first column = right rail (navigation) */
.dash-rail--nav {
    background: #fff;
    border-left: 1px solid #e5e7eb;
    padding: 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.dash-rail--feed {
    background: #fff;
    border-right: 1px solid #e5e7eb;
    padding: 1.25rem 1rem;
    overflow-y: auto;
}

.dash-profile {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.5rem;
    border-radius: 12px;
    background: #f9fafb;
}

.dash-avatar {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 12px;
    background: linear-gradient(135deg, #6366f1, #8b5cf6);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 1rem;
    flex-shrink: 0;
    overflow: hidden;
}

.dash-avatar--photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dash-avatar--hue-1 { background: linear-gradient(135deg, #6366f1, #8b5cf6); }
.dash-avatar--hue-2 { background: linear-gradient(135deg, #0891b2, #06b6d4); }
.dash-avatar--hue-3 { background: linear-gradient(135deg, #059669, #10b981); }
.dash-avatar--hue-4 { background: linear-gradient(135deg, #d97706, #f59e0b); }
.dash-avatar--hue-5 { background: linear-gradient(135deg, #db2777, #ec4899); }
.dash-avatar--hue-6 { background: linear-gradient(135deg, #4f46e5, #7c3aed); }

.dash-profile-name {
    font-weight: 600;
    font-size: 0.95rem;
}

.dash-profile-role {
    font-size: 0.75rem;
    color: #6b7280;
}

.dash-nav-section {
    margin-top: 0.5rem;
}

.dash-nav-group {
    margin-bottom: 0;
    border-bottom: 1px solid #f3f4f6;
}

.dash-nav-group:last-child {
    border-bottom: none;
}

.dash-nav-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 2.75rem;
    padding: 0.7rem 0.55rem;
    margin: 0;
    box-sizing: border-box;
    font-size: 0.95rem;
    font-weight: 700;
    line-height: 1.35;
    color: #111827;
    border-radius: 10px;
    transition: background 0.15s ease, color 0.15s ease;
}

.dash-nav-summary {
    cursor: pointer;
    list-style: none;
    user-select: none;
    width: 100%;
}

.dash-nav-summary::-webkit-details-marker {
    display: none;
}

.dash-nav-summary::marker {
    display: none;
    content: "";
}

.dash-nav-row:hover {
    background: #f9fafb;
}

.dash-nav-summary-label {
    flex: 1;
    min-width: 0;
}

.dash-nav-summary-main {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex: 1;
    min-width: 0;
}

.dash-nav-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.85rem;
    height: 1.85rem;
    border-radius: 9px;
    background: #f3f4f6;
    color: #4b5563;
    flex-shrink: 0;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.nav-section-icon {
    width: 1rem;
    height: 1rem;
}

.dash-nav-group[open] .dash-nav-summary-icon {
    background: #eef2ff;
    color: #4338ca;
    box-shadow: 0 0 0 1px rgba(67, 56, 202, 0.08);
}

.dash-nav-group--logout .dash-nav-summary-icon {
    background: #fef2f2;
    color: #dc2626;
}

.dash-nav-group--logout[open] .dash-nav-summary-icon {
    background: #fee2e2;
    color: #b91c1c;
    box-shadow: 0 0 0 1px rgba(220, 38, 38, 0.1);
}

.dash-nav-summary-icon--notifications {
    background: #fffbeb;
    color: #d97706;
}

.dash-nav-group--notifications[open] .dash-nav-summary-icon,
.dash-nav-group:has([data-notification-nav].active) .dash-nav-summary-icon--notifications {
    background: #fef3c7;
    color: #b45309;
}

.dash-nav-chevron {
    flex-shrink: 0;
    width: 0.45rem;
    height: 0.45rem;
    border-right: 2px solid #6b7280;
    border-bottom: 2px solid #6b7280;
    transform: rotate(45deg);
    transition: transform 0.2s ease;
    margin-top: -0.15rem;
}

.dash-nav-group[open] .dash-nav-chevron {
    transform: rotate(-135deg);
    margin-top: 0.1rem;
}

.dash-nav-items {
    padding: 0.15rem 0 0.5rem 0.35rem;
}

.dash-nav-divider {
    display: flex;
    align-items: center;
    gap: 0.45rem;
    margin: 0.55rem 0.35rem 0.25rem;
    padding: 0.15rem 0.35rem 0;
}

.dash-nav-divider__label {
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #9ca3af;
    white-space: nowrap;
}

.dash-nav-divider::before,
.dash-nav-divider::after {
    content: "";
    flex: 1;
    height: 1px;
    background: #e5e7eb;
}

.dash-nav-divider--fund {
    margin-top: 0.75rem;
}

.dash-nav-divider--fund::before,
.dash-nav-divider--fund::after {
    background: linear-gradient(90deg, transparent, #a7f3d0 40%, #a7f3d0 60%, transparent);
}

.dash-nav-divider--fund .dash-nav-divider__label {
    color: #047857;
    background: #ecfdf5;
    padding: 0.12rem 0.5rem;
    border-radius: 999px;
    border: 1px solid #bbf7d0;
}

.dash-nav-link--iconed {
    gap: 0.45rem;
}

.dash-nav-link-icon {
    width: 0.95rem;
    height: 0.95rem;
    flex-shrink: 0;
    background: center/contain no-repeat;
    opacity: 0.72;
}

.dash-nav-link.active .dash-nav-link-icon {
    opacity: 1;
}

.dash-nav-link-icon--fund {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23047857' viewBox='0 0 24 24'%3E%3Cpath d='M4 10v10h16V10M2 7h20v3H2V7Zm10-5 8 5H6l6-5Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--pending {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23b45309' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2Zm1 14h-2v-4h2v4Zm0-6h-2V8h2v2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--receipts {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23047857' viewBox='0 0 24 24'%3E%3Cpath d='M19 3H5a2 2 0 0 0-2 2v14l3-2 3 2 3-2 3 2 3-2 3 2V5a2 2 0 0 0-2-2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--payments {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23b45309' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--methods {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23475569' viewBox='0 0 24 24'%3E%3Cpath d='M3 13h2v-2H3v2Zm4 4h2v-6H7v6Zm4 2h2V9h-2v10Zm4-4h2v-6h-2v6Zm4 2h2V5h-2v14Z'/%3E%3C/svg%3E");
}

.dash-nav-divider--personal .dash-nav-divider__label { color: #4338ca; }
.dash-nav-divider--cooperation .dash-nav-divider__label { color: #b45309; }
.dash-nav-divider--compensation .dash-nav-divider__label { color: #047857; }
.dash-nav-divider--contracts .dash-nav-divider__label { color: #6366f1; }
.dash-nav-divider--europe-list .dash-nav-divider__label { color: #6366f1; }
.dash-nav-divider--tours .dash-nav-divider__label { color: #0284c7; }
.dash-nav-divider--tour .dash-nav-divider__label { color: #059669; }
.dash-nav-divider--flight .dash-nav-divider__label { color: #7c3aed; }
.dash-nav-divider--visa .dash-nav-divider__label { color: #d97706; }
.dash-nav-divider--reports .dash-nav-divider__label { color: #059669; }
.dash-nav-divider--cases,
.dash-nav-divider--cases-list,
.dash-nav-divider--cases-status .dash-nav-divider__label { color: #6366f1; }
.dash-nav-divider--passengers,
.dash-nav-divider--passengers-list,
.dash-nav-divider--passengers-cases .dash-nav-divider__label { color: #7c3aed; }
.dash-nav-divider--followups,
.dash-nav-divider--followups-list .dash-nav-divider__label { color: #2563eb; }
.dash-nav-divider--finance,
.dash-nav-divider--finance-journal,
.dash-nav-divider--finance-ledger .dash-nav-divider__label { color: #047857; }
.dash-nav-divider--embassy,
.dash-nav-divider--embassy-list,
.dash-nav-divider--embassy-manage .dash-nav-divider__label { color: #0284c7; }
.dash-nav-divider--personnel .dash-nav-divider__label { color: #6366f1; }
.dash-nav-divider--notes,
.dash-nav-divider--notes-list .dash-nav-divider__label { color: #7c3aed; }
.dash-nav-divider--calendar,
.dash-nav-divider--calendar-list .dash-nav-divider__label { color: #0891b2; }
.dash-nav-divider--operations,
.dash-nav-divider--operations-list .dash-nav-divider__label { color: #4338ca; }
.dash-nav-divider--services,
.dash-nav-divider--services-types,
.dash-nav-divider--services-manage .dash-nav-divider__label { color: #6366f1; }
.dash-nav-divider--settings,
.dash-nav-divider--settings-prefs .dash-nav-divider__label { color: #64748b; }
.dash-nav-divider--files .dash-nav-divider__label { color: #475569; }
.dash-nav-divider--users,
.dash-nav-divider--users-list,
.dash-nav-divider--users-access .dash-nav-divider__label { color: #4338ca; }

.dash-nav-link-icon--active {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%232563eb' viewBox='0 0 24 24'%3E%3Cpath d='M13 2 3 14h9l-1 8 10-12h-9l1-8Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--overdue {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc2626' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 1 21h22L12 2Zm0 6v6m0 4h.01'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--waiting {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d97706' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2Zm1 14h-2v-4h2v4Zm0-6h-2V8h2v2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--applicant {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23b45309' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4Zm0 2c-4.42 0-8 2.24-8 5v1h16v-1c0-2.76-3.58-5-8-5Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--assigned {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234338ca' viewBox='0 0 24 24'%3E%3Cpath d='M16 11c1.66 0 3-1.34 3-3s-1.34-3-3-3-3 1.34-3 3 1.34 3 3 3Zm-8 0c1.66 0 3-1.34 3-3S9.66 5 8 5 5 6.34 5 8s1.34 3 3 3Zm0 2c-2.33 0-7 1.17-7 3.5V19h14v-2.5C15 14.17 10.33 13 8 13Zm8 0c-.29 0-.62.02-.97.05 1.16.84 1.97 1.97 1.97 3.45V19h6v-2.5c0-2.33-4.67-3.5-7-3.5Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--today {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23059669' viewBox='0 0 24 24'%3E%3Cpath d='M8 2v4M16 2v4M3 10h18M5 4h14a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--archived {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2364748b' viewBox='0 0 24 24'%3E%3Cpath d='M3 7h18v13H3V7Zm0-4h18v2H3V3Zm9 8v4m-2-2h4'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--with_cases {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234338ca' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6Zm-1 2 5 5h-5V4Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--without_cases {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2394a3b8' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--has_contract {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23b45309' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6Zm-1 2 5 5h-5V4Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--has_notes {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2364748b' viewBox='0 0 24 24'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--pinned {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d97706' viewBox='0 0 24 24'%3E%3Cpath d='M16 3 9 10l-4-1 1 4 7-7 4 1-1-4Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--reminder {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23b45309' viewBox='0 0 24 24'%3E%3Cpath d='M12 22a2 2 0 0 0 2-2H10a2 2 0 0 0 2 2Zm6-6V11a6 6 0 1 0-12 0v5l-2 2v1h16v-1l-2-2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--check {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2316a34a' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--ban {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc2626' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2Zm3.54 12.46-1.08 1.08L12 13.08l-2.46 2.46-1.08-1.08L10.92 12 8.46 9.54l1.08-1.08L12 10.92l2.46-2.46 1.08 1.08L13.08 12l2.46 2.46Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--clock {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23475569' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2Zm1 14h-2v-4h2v4Zm0-6h-2V8h2v2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--edit {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23475569' viewBox='0 0 24 24'%3E%3Cpath d='M11 4H4a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2v-7M18.5 2.5a2.12 2.12 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--suppliers {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23475569' viewBox='0 0 24 24'%3E%3Cpath d='M3 10h4v10H3V10Zm7-6h4v16h-4V4Zm7 10h4v6h-4v-6Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--queue {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234338ca' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16v2H4V6Zm0 5h16v2H4v-2Zm0 5h10v2H4v-2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--operations {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234338ca' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v4M12 18v4M4.93 4.93l2.83 2.83M16.24 16.24l2.83 2.83M2 12h4M18 12h4'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--profile {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234338ca' viewBox='0 0 24 24'%3E%3Cpath d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4Zm0 2c-4.42 0-8 2.24-8 5v1h16v-1c0-2.76-3.58-5-8-5Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--security {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc2626' viewBox='0 0 24 24'%3E%3Cpath d='M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4Zm-2 14-3-3 1.41-1.41L10 12.17l4.59-4.58L16 9l-6 6Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--monitor {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230ea5e9' viewBox='0 0 24 24'%3E%3Cpath d='M4 5h16a2 2 0 0 1 2 2v9a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm8 14v2M8 21h8'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--backup {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23047857' viewBox='0 0 24 24'%3E%3Cpath d='M12 3C7.03 3 3 6.58 3 11a5.99 5.99 0 0 0 4 5.65V20a1 1 0 0 0 1 1h8a1 1 0 0 0 1-1v-3.35A5.99 5.99 0 0 0 21 11c0-4.42-4.03-8-9-8Zm-1 13v3h2v-3h-2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--preferences,
.dash-nav-link-icon--account {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2364748b' viewBox='0 0 24 24'%3E%3Cpath d='M12 8a4 4 0 1 0 4 4 4 4 0 0 0-4-4Zm8.94 3A8.994 8.994 0 0 0 13 3.06V1h-2v2.06A8.994 8.994 0 0 0 3.06 11H1v2h2.06A8.994 8.994 0 0 0 11 20.94V23h2v-2.06A8.994 8.994 0 0 0 20.94 13H23v-2h-2.06Z'/%3E%3C/svg%3E");
}

.dash-nav-link-icon--dashboard {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234338ca' viewBox='0 0 24 24'%3E%3Cpath d='M3 3h8v8H3V3Zm10 0h8v5h-8V3ZM3 13h8v8H3v-8Zm10 3h8v5h-8v-5Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--wallet {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23047857' viewBox='0 0 24 24'%3E%3Cpath d='M3 7h18v10H3V7Zm16 3h2v4h-2v-4ZM3 5h18a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H3a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--performance {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234338ca' viewBox='0 0 24 24'%3E%3Cpath d='M3 3v18h18M7 14l3-3 3 2 5-6'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--contract {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23b45309' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6Zm-1 2 5 5h-5V4ZM8 13h8v2H8v-2Zm0 4h6v2H8v-2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--compensation {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23047857' viewBox='0 0 24 24'%3E%3Cpath d='M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--plans {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23047857' viewBox='0 0 24 24'%3E%3Cpath d='M4 4h16v4H4V4Zm0 6h10v4H4v-4Zm0 6h16v4H4v-4Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--accruals {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23b45309' viewBox='0 0 24 24'%3E%3Cpath d='M7 2h10l5 5v13a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h3Zm8 1.5V8h4.5L15 3.5ZM8 13h8v2H8v-2Zm0 4h5v2H8v-2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--payouts {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23047857' viewBox='0 0 24 24'%3E%3Cpath d='M12 1 3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4Zm-2 14-3-3 1.41-1.41L10 12.17l4.59-4.58L16 9l-6 6Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--withdrawals {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23b45309' viewBox='0 0 24 24'%3E%3Cpath d='M12 4v12m0 0-4-4m4 4 4-4M4 20h16'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--reports {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23059669' viewBox='0 0 24 24'%3E%3Cpath d='M6 20V10M12 20V4M18 20v-6'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--new {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234338ca' viewBox='0 0 24 24'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--all {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23475569' viewBox='0 0 24 24'%3E%3Cpath d='M4 6h16v2H4V6Zm0 5h10v2H4v-2Zm0 5h16v2H4v-2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--draft {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d97706' viewBox='0 0 24 24'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8l-6-6Zm-1 2 5 5h-5V4Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--in_progress {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%232563eb' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2Zm1 14h-2v-4h2v4Zm0-6h-2V8h2v2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--finalized {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2316a34a' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--domestic-tour {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23059669' viewBox='0 0 24 24'%3E%3Cpath d='M3 10a5 5 0 0 1 9.9-1H14a4 4 0 0 1 4 4v1h1a3 3 0 0 1 0 6h-1v1a4 4 0 0 1-4 4H9a5 5 0 0 1-1-9.9V10Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--international-tour {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%230284c7' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 1 0 10 10M2 12h20'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--domestic-flight {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%237c3aed' viewBox='0 0 24 24'%3E%3Cpath d='M21 16v-2l-8-5V3.5a1.5 1.5 0 0 0-3 0V9l-8 5v2l8-2.5V19l-2 1.5V22l3.5-1 3.5 1v-1.5L13 19v-5.5l8 2.5Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--international-flight {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%234338ca' viewBox='0 0 24 24'%3E%3Cpath d='M2 12h20M12 2l3 7-3 7-3-7 3-7Z'/%3E%3C/svg%3E");
}
.dash-nav-link-icon--visa {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23d97706' viewBox='0 0 24 24'%3E%3Cpath d='M3 5h18a1 1 0 0 1 1 1v12a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1Zm1 2v10h16V7H4Z'/%3E%3C/svg%3E");
}

.dash-nav-title {
    font-size: 0.95rem;
    font-weight: 700;
    color: #111827;
    margin: 0.75rem 0 0.35rem;
    padding: 0 0.5rem;
}

.dash-nav a {
    display: block;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    color: #4b5563;
    text-decoration: none;
    font-size: 0.875rem;
}

.dash-nav-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    width: 100%;
    padding: 0.45rem 0.65rem;
    border-radius: 8px;
    color: #4b5563;
    text-decoration: none;
    font-size: 0.875rem;
    text-align: right;
    border: none;
    background: transparent;
    font-family: inherit;
    cursor: pointer;
}

.dash-nav-link-label {
    flex: 1;
    min-width: 0;
}

.dash-nav-count {
    flex-shrink: 0;
    min-width: 1.35rem;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
    background: #eef2ff;
    color: #4338ca;
    font-size: 0.7rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

.dash-nav-link.active .dash-nav-count {
    background: rgba(255, 255, 255, 0.85);
    color: #4338ca;
}

.dash-nav-count--zero {
    background: #f3f4f6;
    color: #9ca3af;
    font-weight: 600;
}

.dash-nav-link.active .dash-nav-count--zero {
    background: rgba(255, 255, 255, 0.55);
    color: #6366f1;
}

.dash-nav a:hover,
.dash-nav-link:hover {
    background: #f3f4f6;
    text-decoration: none;
    color: #111827;
}

.dash-nav a.active,
.dash-nav-link.active {
    background: #eef2ff;
    font-weight: 600;
    color: #4338ca;
}

.dash-nav-group[open] .dash-nav-summary {
    color: #111827;
}

.nav-logout-form {
    margin: 0;
}

.dash-nav-logout {
    color: #dc2626;
}

.dash-nav-logout:hover {
    background: #fef2f2;
    color: #b91c1c;
}

.dash-main {
    padding: 1.25rem 1.5rem;
    min-width: 0;
}

.dash-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.25rem;
    flex-wrap: wrap;
}

.dash-breadcrumb {
    font-size: 0.8rem;
    color: #6b7280;
    margin-bottom: 0.25rem;
}

.dash-breadcrumb strong {
    color: #111827;
}

.dash-topbar h1 {
    margin: 0;
    font-size: 1.35rem;
    font-weight: 700;
}

.dash-search {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    padding: 0.45rem 0.75rem;
    min-width: 200px;
    font-size: 0.85rem;
    color: #9ca3af;
}

.dash-topbar-actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.dash-icon-btn {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6b7280;
    text-decoration: none;
    font-size: 0.85rem;
}

.dash-icon-btn:hover {
    background: #f9fafb;
    text-decoration: none;
}

.dash-notification-bell {
    position: relative;
}

.dash-notification-bell__icon {
    line-height: 1;
}

.dash-notification-badge {
    position: absolute;
    top: -5px;
    left: -5px;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 0.65rem;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

.dash-notification-badge.is-empty {
    display: none;
}

.dash-notification-bell--ring .dash-notification-bell__icon {
    animation: dash-bell-ring 0.65s ease;
}

.dash-notification-badge--pulse {
    animation: dash-badge-pulse 0.55s ease;
}

@keyframes dash-bell-ring {
    0% { transform: rotate(0); }
    15% { transform: rotate(14deg); }
    30% { transform: rotate(-12deg); }
    45% { transform: rotate(10deg); }
    60% { transform: rotate(-8deg); }
    75% { transform: rotate(4deg); }
    100% { transform: rotate(0); }
}

@keyframes dash-badge-pulse {
    0% { transform: scale(1); }
    40% { transform: scale(1.22); }
    100% { transform: scale(1); }
}

.dash-feed-item--unread .dash-feed-body a {
    font-weight: 600;
}

.dash-kpi-row {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.dash-kpi {
    border-radius: 14px;
    padding: 1rem 1.15rem;
    border: 1px solid rgba(0, 0, 0, 0.04);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.dash-kpi-tone-sky { background: #e8f4fc; }
.dash-kpi-tone-lavender { background: #f0ebfa; }
.dash-kpi-tone-mint { background: #e8f8ef; }
.dash-kpi-tone-peach { background: #fdf0e8; }
.dash-kpi-tone-rose { background: #fce8ec; }
.dash-kpi-tone-slate { background: #f1f5f9; }

.dash-kpi-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0.5rem;
}

.dash-kpi-label {
    font-size: 0.8rem;
    color: #6b7280;
}

.dash-kpi-value {
    font-size: 1.65rem;
    font-weight: 700;
    line-height: 1.2;
    margin-top: 0.35rem;
}

.dash-kpi-delta {
    font-size: 0.75rem;
    font-weight: 600;
    padding: 0.15rem 0.45rem;
    border-radius: 6px;
    background: rgba(255, 255, 255, 0.7);
}

.dash-kpi-delta.up { color: #059669; }
.dash-kpi-delta.down { color: #dc2626; }

.dash-charts-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 1rem;
    margin-bottom: 1rem;
}

.dash-charts-row--bottom {
    grid-template-columns: 1fr 1fr;
}

.dash-card {
    background: #fff;
    border: 1px solid #e5e7eb;
    border-radius: 14px;
    padding: 1rem 1.15rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.dash-card h2 {
    margin: 0 0 1rem;
    font-size: 0.95rem;
    font-weight: 600;
    color: #111827;
}

.dash-line-chart {
    width: 100%;
    height: 200px;
}

.dash-line-chart polyline.created {
    fill: none;
    stroke: #111827;
    stroke-width: 2;
}

.dash-line-chart polyline.completed {
    fill: none;
    stroke: #93c5fd;
    stroke-width: 2;
    stroke-dasharray: 6 4;
}

.dash-chart-legend {
    display: flex;
    gap: 1rem;
    font-size: 0.75rem;
    color: #6b7280;
    margin-bottom: 0.5rem;
}

.dash-chart-legend span::before {
    content: "";
    display: inline-block;
    width: 12px;
    height: 3px;
    margin-right: 0.35rem;
    vertical-align: middle;
}

.dash-chart-legend .leg-created::before { background: #111827; }
.dash-chart-legend .leg-completed::before {
    background: #93c5fd;
    border-bottom: 2px dashed #93c5fd;
}

.dash-hbar-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dash-hbar-item {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.5rem;
    align-items: center;
    margin-bottom: 0.65rem;
    font-size: 0.85rem;
}

.dash-hbar-track {
    grid-column: 1 / -1;
    height: 6px;
    background: #f3f4f6;
    border-radius: 99px;
    overflow: hidden;
}

.dash-hbar-fill {
    height: 100%;
    background: #c4b5fd;
    border-radius: 99px;
}

.dash-vbar-chart {
    display: flex;
    align-items: flex-end;
    justify-content: space-around;
    gap: 0.5rem;
    height: 160px;
    padding-top: 0.5rem;
}

.dash-vbar-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.35rem;
    min-width: 0;
}

.dash-vbar-bar {
    width: 100%;
    max-width: 48px;
    border-radius: 6px 6px 0 0;
    min-height: 4px;
}

.dash-vbar-label {
    font-size: 0.65rem;
    color: #6b7280;
    text-align: center;
    line-height: 1.2;
}

.dash-donut-wrap {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}

.dash-donut {
    width: 120px;
    height: 120px;
    border-radius: 50%;
    position: relative;
    flex-shrink: 0;
}

.dash-donut::after {
    content: "";
    position: absolute;
    inset: 22%;
    background: #fff;
    border-radius: 50%;
}

.dash-donut-legend {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.8rem;
}

.dash-donut-legend li {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 0.4rem;
}

.dash-donut-legend .dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}

.dash-feed-section {
    margin-bottom: 1.25rem;
}

.dash-feed-section h3 {
    font-size: 0.85rem;
    font-weight: 600;
    margin: 0 0 0.65rem;
    color: #111827;
}

.dash-feed-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dash-feed-item {
    display: flex;
    gap: 0.65rem;
    padding: 0.5rem 0;
    border-bottom: 1px solid #f3f4f6;
    font-size: 0.8rem;
}

.dash-feed-item:last-child {
    border-bottom: none;
}

.dash-feed-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #f3f4f6;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.7rem;
    color: #6b7280;
}

.dash-feed-body {
    flex: 1;
    min-width: 0;
}

.dash-feed-body a {
    color: #111827;
    text-decoration: none;
}

.dash-feed-body a:hover {
    color: #2563eb;
}

.dash-feed-time {
    font-size: 0.7rem;
    color: #9ca3af;
}

.dash-contact {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    padding: 0.4rem 0;
}

.dash-contact-avatar {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #e5e7eb;
    font-size: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #4b5563;
}

.dash-table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.dash-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.8rem;
}

.dash-table th,
.dash-table td {
    padding: 0.5rem 0.4rem;
    border-bottom: 1px solid #f3f4f6;
    text-align: right;
}

.dash-table th {
    color: #9ca3af;
    font-weight: 500;
}

/* ——— Dashboard home: fluid responsive layout ——— */
.dash-modern--home {
    grid-template-columns: clamp(220px, 17vw, 272px) minmax(0, 1fr) clamp(210px, 15vw, 280px);
    width: 100%;
}

.dash-modern--home .dash-main {
    padding: clamp(0.75rem, 1.1vw, 1.25rem) clamp(0.85rem, 1.4vw, 1.5rem);
}

.dash-modern--home .dash-topbar {
    margin-bottom: clamp(0.65rem, 1vw, 1.15rem);
}

.dash-modern--home .dash-topbar-titles h1 {
    font-size: clamp(1.1rem, 0.6vw + 0.95rem, 1.35rem);
}

.dash-modern--home .dash-rail--feed {
    padding: clamp(0.75rem, 1vw, 1.15rem) clamp(0.65rem, 0.9vw, 1rem);
}

.dash-modern--home .dash-kpi-row {
    gap: clamp(0.5rem, 0.9vw, 1rem);
    margin-bottom: clamp(0.65rem, 1vw, 1.15rem);
}

.dash-modern--home .dash-kpi {
    padding: clamp(0.6rem, 0.8vw, 1rem) clamp(0.7rem, 1vw, 1.15rem);
    border-radius: clamp(10px, 0.6vw, 14px);
}

.dash-modern--home .dash-kpi-value {
    font-size: clamp(1.3rem, 0.9vw + 0.95rem, 1.65rem);
    margin-top: 0.25rem;
}

.dash-modern--home .dash-kpi-label {
    font-size: clamp(0.72rem, 0.35vw + 0.62rem, 0.82rem);
}

.dash-modern--home .dash-charts-row {
    gap: clamp(0.55rem, 0.9vw, 1rem);
    margin-bottom: clamp(0.6rem, 0.9vw, 1rem);
    grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr);
}

.dash-modern--home .dash-charts-row--bottom,
.dash-modern--home .dash-charts-row--tables {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: clamp(0.55rem, 0.9vw, 1rem);
}

.dash-modern--home .dash-card {
    padding: clamp(0.65rem, 0.9vw, 1rem) clamp(0.75rem, 1vw, 1.15rem);
    border-radius: clamp(10px, 0.6vw, 14px);
}

.dash-modern--home .dash-card h2 {
    margin-bottom: clamp(0.45rem, 0.7vw, 0.85rem);
    font-size: clamp(0.82rem, 0.35vw + 0.72rem, 0.95rem);
}

.dash-modern--home .dash-line-chart {
    height: clamp(130px, 14vw, 200px);
}

.dash-modern--home .dash-chart-legend {
    gap: clamp(0.55rem, 0.8vw, 1rem);
    margin-bottom: clamp(0.35rem, 0.5vw, 0.5rem);
    font-size: clamp(0.68rem, 0.25vw + 0.6rem, 0.75rem);
}

.dash-modern--home .dash-hbar-item {
    margin-bottom: clamp(0.4rem, 0.5vw, 0.65rem);
    font-size: clamp(0.74rem, 0.3vw + 0.66rem, 0.85rem);
}

.dash-modern--home .dash-hbar-track {
    height: clamp(5px, 0.4vw, 6px);
}

.dash-modern--home .dash-vbar-chart {
    height: clamp(110px, 11vw, 160px);
    gap: clamp(0.35rem, 0.5vw, 0.5rem);
    padding-top: clamp(0.35rem, 0.5vw, 0.5rem);
}

.dash-modern--home .dash-vbar-bar {
    max-width: clamp(34px, 3.5vw, 48px);
}

.dash-modern--home .dash-vbar-label {
    font-size: clamp(0.62rem, 0.25vw + 0.55rem, 0.68rem);
}

.dash-modern--home .dash-donut-wrap {
    gap: clamp(0.65rem, 1vw, 1.25rem);
}

.dash-modern--home .dash-donut {
    width: clamp(88px, 8vw, 120px);
    height: clamp(88px, 8vw, 120px);
}

.dash-modern--home .dash-donut::after {
    inset: 22%;
}

.dash-modern--home .dash-donut-legend {
    font-size: clamp(0.68rem, 0.3vw + 0.6rem, 0.8rem);
}

.dash-modern--home .dash-donut-legend li {
    margin-bottom: clamp(0.2rem, 0.35vw, 0.4rem);
}

.dash-modern--home .dash-table-wrap {
    overflow-x: auto;
}

.dash-modern--home .dash-table th,
.dash-modern--home .dash-table td {
    padding: clamp(0.3rem, 0.4vw, 0.45rem) clamp(0.25rem, 0.45vw, 0.4rem);
    font-size: clamp(0.72rem, 0.25vw + 0.64rem, 0.82rem);
}

.dash-modern--home .dash-feed-section {
    margin-bottom: clamp(0.7rem, 1vw, 1.15rem);
}

.dash-modern--home .dash-feed-section h3 {
    margin-bottom: clamp(0.4rem, 0.55vw, 0.65rem);
    font-size: clamp(0.76rem, 0.3vw + 0.68rem, 0.85rem);
}

.dash-modern--home .dash-feed-item {
    padding: clamp(0.3rem, 0.45vw, 0.5rem) 0;
    font-size: clamp(0.72rem, 0.25vw + 0.64rem, 0.8rem);
}

.dash-modern--home .dash-feed-icon {
    width: clamp(22px, 2vw, 28px);
    height: clamp(22px, 2vw, 28px);
    font-size: clamp(0.62rem, 0.2vw + 0.55rem, 0.68rem);
}

.dash-modern--home .dash-contact {
    padding: clamp(0.2rem, 0.35vw, 0.35rem) 0;
}

.dash-modern--home .dash-contact-avatar {
    width: clamp(26px, 2.2vw, 32px);
    height: clamp(26px, 2.2vw, 32px);
    font-size: clamp(0.68rem, 0.25vw + 0.6rem, 0.75rem);
}

.dash-modern--home .demo-banner {
    margin-bottom: clamp(0.55rem, 0.8vw, 0.85rem);
    padding: clamp(0.45rem, 0.7vw, 0.65rem) clamp(0.65rem, 0.9vw, 0.85rem);
    font-size: clamp(0.72rem, 0.25vw + 0.64rem, 0.8rem);
}

/* ——— Overview hub (hero, modules, attention, worklists) ——— */
.dash-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    padding: clamp(1rem, 1.4vw, 1.35rem) clamp(1rem, 1.5vw, 1.5rem);
    margin-bottom: clamp(0.75rem, 1.1vw, 1.15rem);
    border-radius: clamp(12px, 0.8vw, 16px);
    border: 1px solid rgba(99, 102, 241, 0.12);
    background: linear-gradient(135deg, #eef2ff 0%, #f8fafc 52%, #fdf4ff 100%);
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.04);
}

.dash-hero__greeting {
    margin: 0 0 0.25rem;
    font-size: clamp(0.78rem, 0.35vw + 0.68rem, 0.88rem);
    color: #6366f1;
    font-weight: 600;
}

.dash-hero__title {
    margin: 0 0 0.45rem;
    font-size: clamp(1.05rem, 0.7vw + 0.9rem, 1.35rem);
    font-weight: 700;
    color: #111827;
}

.dash-hero__meta {
    margin: 0;
    font-size: clamp(0.74rem, 0.3vw + 0.66rem, 0.82rem);
    color: #6b7280;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.35rem;
}

.dash-hero__role {
    display: inline-flex;
    align-items: center;
    padding: 0.12rem 0.55rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.85);
    color: #4338ca;
    font-weight: 600;
    font-size: 0.72rem;
}

.dash-hero__dot {
    opacity: 0.45;
}

.dash-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    align-items: center;
}

.dash-quick-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.45rem 0.85rem;
    border-radius: 10px;
    border: 1px solid #e5e7eb;
    background: #fff;
    color: #374151;
    font-size: 0.78rem;
    font-weight: 600;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.dash-quick-btn:hover {
    background: #f9fafb;
    border-color: #d1d5db;
    text-decoration: none;
    color: #111827;
}

.dash-quick-btn--primary {
    background: #4f46e5;
    border-color: #4f46e5;
    color: #fff;
}

.dash-quick-btn--primary:hover {
    background: #4338ca;
    border-color: #4338ca;
    color: #fff;
}

/* ——— CRM-style info strip (top pastel tiles) ——— */
.dash-ov-sprite {
    position: absolute;
    width: 0;
    height: 0;
    overflow: hidden;
}

.dash-ov-icon {
    width: 100%;
    height: 100%;
    display: block;
}

.dash-info-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.65rem;
    margin-bottom: clamp(0.75rem, 1.1vw, 1.15rem);
}

.dash-info-tile {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-radius: 14px;
    border: 1px solid rgba(0, 0, 0, 0.04);
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
    min-height: 72px;
}

.dash-info-tile:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
    text-decoration: none;
}

.dash-info-tile__icon {
    flex-shrink: 0;
    width: 46px;
    height: 46px;
    border-radius: 12px;
    background: rgba(255, 255, 255, 0.75);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    box-shadow: 0 1px 3px rgba(15, 23, 42, 0.06);
}

.dash-info-tile__body {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    min-width: 0;
}

.dash-info-tile__label {
    font-size: 0.82rem;
    font-weight: 700;
    color: #1f2937;
}

.dash-info-tile__value {
    font-size: 0.74rem;
    color: #6b7280;
    line-height: 1.35;
}

.dash-info-tile--sky { background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 100%); }
.dash-info-tile--peach { background: linear-gradient(135deg, #ffedd5 0%, #fff7ed 100%); }
.dash-info-tile--lavender { background: linear-gradient(135deg, #ede9fe 0%, #f5f3ff 100%); }
.dash-info-tile--mint { background: linear-gradient(135deg, #d1fae5 0%, #ecfdf5 100%); }
.dash-info-tile--amber { background: linear-gradient(135deg, #fef3c7 0%, #fffbeb 100%); }
.dash-info-tile--slate { background: linear-gradient(135deg, #e2e8f0 0%, #f8fafc 100%); }

/* ——— CRM-style stat panels ——— */
.dash-stat-panels {
    margin-bottom: clamp(0.75rem, 1.1vw, 1.15rem);
}

.dash-stat-panels__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
    gap: 0.75rem;
}

.dash-stat-panel {
    position: relative;
    display: block;
    padding: 1rem 1.1rem 0.9rem;
    border-radius: 16px;
    border: 1px solid #e8ecf1;
    background: #fff;
    text-decoration: none;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.04);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.dash-stat-panel:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
    border-color: #c7d2fe;
    text-decoration: none;
}

.dash-stat-panel__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    min-width: 1.35rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
    box-shadow: 0 2px 6px rgba(239, 68, 68, 0.35);
}

.dash-stat-panel__badge.is-empty {
    display: none;
}

.dash-stat-panel__head {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    margin-bottom: 0.85rem;
    padding-bottom: 0.65rem;
    border-bottom: 1px solid #f1f5f9;
}

.dash-stat-panel__icon-wrap {
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    border-radius: 12px;
    background: #f8fafc;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
}

.dash-stat-panel__title {
    flex: 1;
    font-size: 0.88rem;
    font-weight: 700;
    color: #374151;
    line-height: 1.3;
}

.dash-stat-panel__hero {
    flex-shrink: 0;
    font-size: 1.55rem;
    font-weight: 800;
    color: #22c55e;
    line-height: 1;
    letter-spacing: -0.02em;
}

.dash-stat-panel__rows {
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
}

.dash-stat-panel__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    font-size: 0.78rem;
}

.dash-stat-panel__row-label {
    color: #9ca3af;
    font-weight: 500;
}

.dash-stat-panel__row-value {
    color: #6b7280;
    font-weight: 600;
}

.dash-stat-panel--sky .dash-stat-panel__icon-wrap { background: #e0f2fe; }
.dash-stat-panel--peach .dash-stat-panel__icon-wrap { background: #ffedd5; }
.dash-stat-panel--lavender .dash-stat-panel__icon-wrap { background: #ede9fe; }
.dash-stat-panel--mint .dash-stat-panel__icon-wrap { background: #d1fae5; }
.dash-stat-panel--rose .dash-stat-panel__icon-wrap { background: #fce7f3; }
.dash-stat-panel--slate .dash-stat-panel__icon-wrap { background: #f1f5f9; }
.dash-stat-panel--amber .dash-stat-panel__icon-wrap { background: #fef3c7; }

.dash-attention--compact {
    margin-bottom: clamp(0.65rem, 1vw, 1rem);
}

.dash-attention--compact .dash-attention__grid {
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr));
    gap: 0.45rem;
}

.dash-attention--compact .dash-attention-card {
    padding: 0.6rem 0.75rem;
}

.dash-modern--home .dash-info-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 900px) {
    .dash-modern--home .dash-info-strip {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

.dash-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin: clamp(0.85rem, 1.1vw, 1.15rem) 0 clamp(0.55rem, 0.8vw, 0.75rem);
}

.dash-section-head--compact {
    margin-top: 0;
}

.dash-section-head h2 {
    margin: 0;
    font-size: clamp(0.88rem, 0.35vw + 0.78rem, 0.98rem);
    font-weight: 700;
    color: #111827;
}

.dash-section-head__hint {
    font-size: 0.72rem;
    color: #9ca3af;
    font-weight: 500;
}

.dash-section-head__link {
    font-size: 0.75rem;
    font-weight: 600;
    color: #4f46e5;
    text-decoration: none;
}

.dash-section-head__link:hover {
    color: #4338ca;
    text-decoration: underline;
}

.dash-attention {
    margin-bottom: clamp(0.75rem, 1.1vw, 1.15rem);
}

.dash-attention__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr));
    gap: 0.55rem;
}

.dash-attention-card {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    padding: 0.75rem 0.85rem;
    border-radius: 12px;
    border: 1px solid transparent;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.dash-attention-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 4px 12px rgba(15, 23, 42, 0.06);
    text-decoration: none;
}

.dash-attention-card__title {
    font-size: 0.82rem;
    font-weight: 700;
    color: #111827;
}

.dash-attention-card__desc {
    font-size: 0.72rem;
    color: #6b7280;
    line-height: 1.45;
}

.dash-attention-card--danger {
    background: #fef2f2;
    border-color: #fecaca;
}

.dash-attention-card--danger .dash-attention-card__title {
    color: #b91c1c;
}

.dash-attention-card--warning {
    background: #fffbeb;
    border-color: #fde68a;
}

.dash-attention-card--warning .dash-attention-card__title {
    color: #b45309;
}

.dash-attention-card--info {
    background: #eff6ff;
    border-color: #bfdbfe;
}

.dash-attention-card--info .dash-attention-card__title {
    color: #1d4ed8;
}

.dash-modules {
    margin-bottom: clamp(0.75rem, 1.1vw, 1.15rem);
}

.dash-modules__grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr));
    gap: 0.65rem;
}

.dash-module-card {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    padding: 0.95rem 1rem;
    border-radius: 14px;
    border: 1px solid #e5e7eb;
    background: #fff;
    text-decoration: none;
    box-shadow: 0 1px 2px rgba(15, 23, 42, 0.04);
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.dash-module-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.07);
    border-color: #c7d2fe;
    text-decoration: none;
}

.dash-module-card__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0.5rem;
}

.dash-module-card__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
    background: #f3f4f6;
}

.dash-module-card__icon--cases::before { content: "📁"; }
.dash-module-card__icon--services::before { content: "⚙"; }
.dash-module-card__icon--followups::before { content: "📌"; }
.dash-module-card__icon--contracts::before { content: "📄"; }
.dash-module-card__icon--finance::before { content: "💰"; }
.dash-module-card__icon--notes::before { content: "📝"; }

.dash-module-card__badge {
    min-width: 1.35rem;
    padding: 0.1rem 0.45rem;
    border-radius: 999px;
    background: #ef4444;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    line-height: 1.35;
    text-align: center;
}

.dash-module-card__title {
    margin: 0;
    font-size: 0.92rem;
    font-weight: 700;
    color: #111827;
}

.dash-module-card__subtitle {
    margin: 0;
    font-size: 0.72rem;
    color: #9ca3af;
    line-height: 1.4;
}

.dash-module-card__metrics {
    display: flex;
    gap: 0.75rem;
    margin-top: 0.35rem;
    padding-top: 0.55rem;
    border-top: 1px solid #f3f4f6;
}

.dash-module-card__metric {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
}

.dash-module-card__metric-value {
    font-size: 1.05rem;
    font-weight: 700;
    color: #111827;
    line-height: 1.1;
}

.dash-module-card__metric-label {
    font-size: 0.68rem;
    color: #9ca3af;
}

.dash-module-card--sky { border-top: 3px solid #7dd3fc; }
.dash-module-card--lavender { border-top: 3px solid #c4b5fd; }
.dash-module-card--mint { border-top: 3px solid #6ee7b7; }
.dash-module-card--peach { border-top: 3px solid #fdba74; }
.dash-module-card--rose { border-top: 3px solid #fda4af; }
.dash-module-card--slate { border-top: 3px solid #94a3b8; }

.dash-modern--home .dash-kpi-row {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr));
}

/* ——— CRM worklist widgets (ranked tables) ——— */
.dash-section-head--worklists {
    margin-top: clamp(0.5rem, 0.8vw, 0.85rem);
}

.dash-widgets {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
    margin-bottom: clamp(0.85rem, 1.2vw, 1.25rem);
}

.dash-widget {
    background: #fff;
    border: 1px solid #e8ecf3;
    border-radius: 16px;
    box-shadow: 0 4px 18px rgba(15, 23, 42, 0.05);
    padding: 0;
    overflow: hidden;
}

.dash-widget__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    flex-wrap: wrap;
    padding: 1rem 1.15rem 0.85rem;
    border-bottom: 1px solid #f1f5f9;
}

.dash-widget__title-wrap {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    min-width: 0;
}

.dash-widget__icon {
    width: 36px;
    height: 36px;
    border-radius: 10px;
    background: linear-gradient(135deg, #f5f3ff 0%, #ede9fe 100%);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    flex-shrink: 0;
}

.dash-widget__title {
    margin: 0;
    font-size: 0.95rem;
    font-weight: 700;
    color: #1f2937;
    line-height: 1.3;
}

.dash-widget__actions {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    flex-wrap: wrap;
}

.dash-widget__toggle {
    display: inline-flex;
    border-radius: 999px;
    background: #f3f4f6;
    padding: 3px;
    gap: 2px;
}

.dash-widget__toggle-btn {
    border: none;
    background: transparent;
    color: #6b7280;
    font-size: 0.72rem;
    font-weight: 600;
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    cursor: pointer;
    font-family: inherit;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.dash-widget__toggle-btn.is-active {
    background: #7c3aed;
    color: #fff;
    box-shadow: 0 2px 8px rgba(124, 58, 237, 0.35);
}

.dash-widget__link {
    font-size: 0.72rem;
    font-weight: 600;
    color: #7c3aed;
    text-decoration: none;
    white-space: nowrap;
}

.dash-widget__link:hover {
    text-decoration: underline;
    color: #6d28d9;
}

.dash-widget__table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.dash-widget__table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.78rem;
}

.dash-widget__th {
    padding: 0.55rem 0.65rem;
    text-align: right;
    color: #9ca3af;
    font-weight: 600;
    font-size: 0.7rem;
    border-bottom: 1px solid #f1f5f9;
    white-space: nowrap;
    user-select: none;
}

.dash-widget__th--rank,
.dash-widget__td--rank {
    width: 36px;
    text-align: center;
    padding-right: 0.35rem;
    padding-left: 0.35rem;
}

.dash-widget__th--avatar,
.dash-widget__td--avatar {
    width: 44px;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
}

.dash-widget__th.is-sortable {
    cursor: pointer;
}

.dash-widget__th.is-sortable:hover {
    color: #7c3aed;
}

.dash-widget__th.is-sorted-asc .dash-widget__sort,
.dash-widget__th.is-sorted-desc .dash-widget__sort {
    color: #7c3aed;
}

.dash-widget__th-inner {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
}

.dash-widget__sort {
    display: inline-flex;
    color: #d1d5db;
    line-height: 0;
}

.dash-widget__row {
    transition: background 0.12s ease;
}

.dash-widget__row:hover {
    background: #faf5ff;
}

.dash-widget__row[hidden] {
    display: none;
}

.dash-widget__td {
    padding: 0.6rem 0.65rem;
    border-bottom: 1px solid #f8fafc;
    vertical-align: middle;
}

.dash-widget__row:last-child .dash-widget__td {
    border-bottom: none;
}

.dash-widget__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 1.5rem;
    height: 1.5rem;
    border-radius: 8px;
    background: #f3f4f6;
    color: #6b7280;
    font-size: 0.72rem;
    font-weight: 700;
}

.dash-widget__avatar {
    position: relative;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0.78rem;
    font-weight: 700;
    color: #fff;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.12);
}

.dash-widget__avatar--violet { background: linear-gradient(135deg, #a78bfa, #7c3aed); }
.dash-widget__avatar--sky { background: linear-gradient(135deg, #7dd3fc, #0284c7); }
.dash-widget__avatar--mint { background: linear-gradient(135deg, #6ee7b7, #059669); }
.dash-widget__avatar--peach { background: linear-gradient(135deg, #fdba74, #ea580c); }
.dash-widget__avatar--rose { background: linear-gradient(135deg, #f9a8d4, #db2777); }
.dash-widget__avatar--amber { background: linear-gradient(135deg, #fcd34d, #d97706); }

.dash-widget__pin {
    position: absolute;
    top: -3px;
    right: -3px;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: #f59e0b;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 1px 4px rgba(245, 158, 11, 0.5);
}

.dash-widget__name {
    font-weight: 600;
    color: #111827;
    text-decoration: none;
    display: block;
    max-width: 140px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dash-widget__name:hover {
    color: #7c3aed;
}

.dash-widget__detail {
    color: #6b7280;
    font-weight: 500;
    max-width: 120px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    display: block;
}

.dash-widget__badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.55rem;
    border-radius: 999px;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
}

.dash-widget__badge--neutral { background: #f3f4f6; color: #4b5563; }
.dash-widget__badge--info { background: #dbeafe; color: #1d4ed8; }
.dash-widget__badge--warning { background: #fef3c7; color: #b45309; }
.dash-widget__badge--success { background: #d1fae5; color: #047857; }
.dash-widget__badge--danger { background: #fee2e2; color: #b91c1c; }
.dash-widget__badge--purple { background: #ede9fe; color: #6d28d9; }
.dash-widget__badge--muted { background: #f1f5f9; color: #94a3b8; }
.dash-widget__badge--default { background: #f3f4f6; color: #6b7280; }

.dash-widget__time {
    color: #9ca3af;
    font-size: 0.68rem;
    font-weight: 500;
    white-space: nowrap;
}

.dash-widget__empty {
    padding: 2rem 1.25rem;
    text-align: center;
    color: #9ca3af;
}

.dash-widget__empty-icon {
    width: 48px;
    height: 48px;
    margin: 0 auto 0.65rem;
    opacity: 0.45;
    display: block;
}

.dash-widget__empty p {
    margin: 0;
    font-size: 0.82rem;
}

.dash-modern--home .dash-widgets {
    grid-template-columns: 1fr;
}

@media (min-width: 1100px) {
    .dash-modern--home .dash-widgets {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .dash-widget__header {
        flex-direction: column;
        align-items: flex-start;
    }

    .dash-widget__name,
    .dash-widget__detail {
        max-width: 100px;
    }
}

.dash-worklists {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr));
    gap: clamp(0.55rem, 0.9vw, 1rem);
    margin-bottom: clamp(0.75rem, 1.1vw, 1.15rem);
}

.dash-worklist-panel__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.65rem;
}

.dash-worklist-panel__head h2 {
    margin: 0;
}

.dash-worklist-panel__more {
    font-size: 0.72rem;
    font-weight: 600;
    color: #4f46e5;
    text-decoration: none;
    white-space: nowrap;
}

.dash-worklist-panel__more:hover {
    text-decoration: underline;
}

.dash-worklist {
    list-style: none;
    margin: 0;
    padding: 0;
}

.dash-worklist__item {
    padding: 0.55rem 0;
    border-bottom: 1px solid #f3f4f6;
}

.dash-worklist__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.dash-worklist__link {
    display: block;
    text-decoration: none;
    margin-bottom: 0.2rem;
}

.dash-worklist__link:hover .dash-worklist__primary {
    color: #2563eb;
}

.dash-worklist__primary {
    display: block;
    font-size: 0.82rem;
    font-weight: 600;
    color: #111827;
}

.dash-worklist__secondary {
    display: block;
    font-size: 0.72rem;
    color: #9ca3af;
    margin-top: 0.1rem;
}

.dash-worklist__pin {
    margin-left: 0.25rem;
}

.dash-worklist__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    font-size: 0.68rem;
}

.dash-worklist__status {
    color: #6b7280;
    background: #f3f4f6;
    padding: 0.1rem 0.4rem;
    border-radius: 999px;
}

.dash-worklist__time {
    color: #9ca3af;
    white-space: nowrap;
}

.dash-contact-name {
    font-size: 0.85rem;
    font-weight: 600;
}

.dash-chart-legend--months {
    margin-top: 0.5rem;
}

/* Responsive rules live in responsive.css */
