/* ========================================================================
   ReportIT Professional V12 — dashboard and sidebar refinement
   ======================================================================== */
:root {
    --rit12-navy: #0f172a;
    --rit12-navy-soft: #172033;
    --rit12-red: #c61f26;
    --rit12-red-dark: #981b1f;
    --rit12-ink: #0b1730;
    --rit12-muted: #64748b;
    --rit12-line: #e4eaf2;
    --rit12-surface: #ffffff;
    --rit12-soft: #f5f7fb;
    --rit12-shadow: 0 16px 44px rgba(15, 23, 42, .08);
    --rit12-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Global admin canvas */
.rit-v12-admin-ui .content-wrapper {
    min-width: 0;
    overflow-x: hidden;
    background:
        radial-gradient(circle at 86% 3%, rgba(198, 31, 38, .045), transparent 25%),
        linear-gradient(180deg, #f8fafc 0%, #f3f6fa 100%);
}
.rit-v12-admin-ui .content-header {
    padding: 25px 24px 9px;
}
.rit-v12-admin-ui .content {
    padding: 0 24px 30px;
}
.rit-v12-admin-ui .content-header > .container-fluid,
.rit-v12-admin-ui .content > .container-fluid {
    width: 100%;
    max-width: 1720px;
    margin: 0 auto;
    padding-right: 0;
    padding-left: 0;
}

/* Sidebar shell */
.rit-v12-admin-ui .main-sidebar {
    background: linear-gradient(180deg, #0e1729 0%, #0b1322 100%) !important;
    box-shadow: 12px 0 36px rgba(15, 23, 42, .14) !important;
    border-right: 1px solid rgba(148, 163, 184, .10);
}
.rit-v12-admin-ui .rit-v11-brand-link {
    min-height: 78px;
    padding: 10px 15px !important;
    background: #ffffff !important;
    border-bottom: 1px solid #e6ebf2 !important;
}
.rit-v12-admin-ui .rit-v11-brand-logo-shell {
    min-height: 57px;
    border: 1px solid #e7ecf3;
    border-radius: 15px;
    background: #ffffff;
    box-shadow: 0 7px 20px rgba(15, 23, 42, .055);
    padding: 5px 13px;
}
.rit-v12-admin-ui .rit-v11-brand-logo {
    width: 205px;
    height: 47px;
    object-fit: contain;
    object-position: center;
}
.rit-v12-admin-ui .sidebar {
    padding: 0 13px 26px;
}
.rit-v12-admin-ui .user-panel {
    min-height: 72px;
    margin: 13px 0 16px !important;
    padding: 11px 12px !important;
    border: 1px solid rgba(148, 163, 184, .13) !important;
    border-radius: 15px;
    background: rgba(255, 255, 255, .035);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025);
}
.rit-v12-admin-ui .user-panel .image {
    display: flex;
    width: 43px;
    height: 43px;
    flex: 0 0 43px;
    align-items: center;
    justify-content: center;
    padding-left: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .055);
}
.rit-v12-admin-ui .user-panel .image img {
    width: 39px;
    height: 39px;
    object-fit: cover;
    border: 2px solid rgba(255, 255, 255, .18);
    box-shadow: none !important;
}
.rit-v12-admin-ui .user-panel .info {
    min-width: 0;
    padding: 0 0 0 11px;
    line-height: 1.25;
}
.rit-v12-admin-ui .user-panel .info > a {
    max-width: 170px;
    overflow: hidden;
    color: #f8fafc !important;
    font-size: 14px;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rit-v12-admin-ui .rit-user-role {
    display: inline-flex;
    margin-top: 5px;
    color: #94a3b8;
    font-size: 10px;
    font-weight: 600;
    letter-spacing: .25px;
}
.rit-v12-admin-ui .nav-sidebar .nav-header {
    margin: 16px 8px 7px;
    padding: 0;
    color: #69758b;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: 1.45px;
}
.rit-v12-admin-ui .nav-sidebar > .nav-item {
    margin-bottom: 5px;
}
.rit-v12-admin-ui .nav-sidebar .nav-link {
    display: flex;
    min-height: 45px;
    align-items: center;
    margin: 0;
    padding: 8px 11px;
    border-radius: 12px;
    color: #b8c3d4;
    font-size: 13px;
    font-weight: 600;
}
.rit-v12-admin-ui .nav-sidebar .nav-link .nav-icon {
    display: inline-flex;
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    align-items: center;
    justify-content: center;
    margin: 0 9px 0 0;
    border-radius: 9px;
    color: #9eabbf;
    font-size: 14px;
    transition: color .2s ease, background .2s ease, transform .2s var(--rit12-ease);
}
.rit-v12-admin-ui .nav-sidebar .nav-link p {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.rit-v12-admin-ui .nav-sidebar .nav-link:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, .055);
    transform: translateX(2px);
}
.rit-v12-admin-ui .nav-sidebar .nav-link:hover .nav-icon {
    color: #ffffff;
    background: rgba(255, 255, 255, .07);
}
.rit-v12-admin-ui .nav-sidebar .nav-link.active {
    color: #ffffff !important;
    background: linear-gradient(135deg, var(--rit12-red), #b91c1c) !important;
    box-shadow: 0 10px 24px rgba(185, 28, 28, .24);
}
.rit-v12-admin-ui .nav-sidebar .nav-link.active .nav-icon {
    color: #ffffff;
    background: rgba(255, 255, 255, .12);
}
.rit-v12-admin-ui .nav-sidebar .nav-link.active::after {
    top: 12px;
    right: 8px;
    bottom: 12px;
    width: 3px;
}
.rit-v12-admin-ui .nav-treeview {
    margin: 5px 0 8px;
    padding: 6px;
    border: 1px solid rgba(148, 163, 184, .08);
    border-radius: 12px;
    background: rgba(255, 255, 255, .025);
}
.rit-v12-admin-ui .nav-treeview .nav-link {
    min-height: 39px;
    padding: 6px 10px;
    font-size: 12px;
}
.rit-v12-admin-ui .nav-treeview .nav-link .nav-icon {
    width: 20px;
    height: 20px;
    flex-basis: 20px;
    margin-right: 8px;
    font-size: 7px;
}

/* Navbar and page heading */
.rit-v12-admin-ui .main-header {
    min-height: 76px;
    border-bottom: 1px solid #e5eaf1;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 5px 20px rgba(15, 23, 42, .035);
    backdrop-filter: blur(12px);
}
.rit-v12-admin-ui .rit-page-header-v4 {
    min-width: 0;
    align-items: center;
    margin-bottom: 18px;
}
.rit-v12-admin-ui .rit-page-header-v4 > div:first-child {
    min-width: 0;
    max-width: 930px;
}
.rit-v12-admin-ui .rit-page-header-v4 h1 {
    margin: 0;
    color: var(--rit12-ink);
    font-size: clamp(1.75rem, 2.25vw, 2.45rem);
    font-weight: 750;
    letter-spacing: -.035em;
    line-height: 1.12;
}
.rit-v12-admin-ui .rit-page-header-v4 p {
    max-width: 880px;
    margin-top: 7px;
    color: #66758c;
    font-size: 13px;
    line-height: 1.65;
}
.rit-v12-admin-ui .rit-page-header-v4 .rit-eyebrow {
    margin-bottom: 7px;
    color: var(--rit12-red);
    font-size: 9px;
    letter-spacing: 1.8px;
}
.rit-v12-admin-ui .rit-page-actions .btn {
    min-height: 42px;
    border-radius: 11px;
    padding: 9px 15px;
    box-shadow: none;
}

/* Dashboard filter card */
.rit-v12-admin-ui .rit-dashboard-filter-card {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) auto;
    align-items: center;
    gap: 22px;
    margin-bottom: 21px;
    padding: 18px 20px;
    border: 1px solid var(--rit12-line);
    border-radius: 18px;
    background:
        linear-gradient(90deg, rgba(198, 31, 38, .025), transparent 34%),
        #ffffff;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .055);
    overflow: hidden;
    position: relative;
}
.rit-v12-admin-ui .rit-dashboard-filter-card::before {
    content: "";
    position: absolute;
    top: 16px;
    bottom: 16px;
    left: 0;
    width: 4px;
    border-radius: 0 999px 999px 0;
    background: linear-gradient(180deg, #dc2626, #991b1b);
}
.rit-v12-admin-ui .rit-dashboard-filter-copy {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 13px;
}
/* High specificity intentionally fixes V4 span rule overriding the icon. */
.rit-v12-admin-ui .rit-dashboard-filter-copy > .rit-filter-icon,
.rit-v12-admin-ui .rit-filter-heading .rit-filter-icon {
    display: inline-flex !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px;
    flex: 0 0 48px !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center;
    margin: 0 !important;
    border: 1px solid rgba(220, 38, 38, .10);
    border-radius: 14px !important;
    color: #ffffff !important;
    background: linear-gradient(145deg, #cf242b, #981b1f) !important;
    box-shadow: 0 10px 22px rgba(185, 28, 28, .22) !important;
    font-size: 17px !important;
    line-height: 1 !important;
}
.rit-v12-admin-ui .rit-dashboard-filter-copy > .rit-filter-icon i,
.rit-v12-admin-ui .rit-filter-heading .rit-filter-icon i {
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    color: inherit;
    font-size: 17px;
    line-height: 1;
    transform: none;
}
.rit-v12-admin-ui .rit-dashboard-filter-copy > div {
    min-width: 0;
}
.rit-v12-admin-ui .rit-dashboard-filter-copy > div > strong {
    display: block;
    margin: 0;
    color: var(--rit12-ink);
    font-size: 14px;
    font-weight: 750;
    line-height: 1.35;
}
.rit-v12-admin-ui .rit-dashboard-filter-copy > div > span {
    display: block;
    margin: 4px 0 0;
    color: var(--rit12-muted);
    font-size: 11px;
    font-weight: 500;
    line-height: 1.4;
}
.rit-v12-admin-ui .rit-dashboard-filter-form {
    grid-template-columns: minmax(175px, 225px) minmax(175px, 210px) auto;
    align-items: end;
    gap: 11px;
}
.rit-v12-admin-ui .rit-dashboard-filter-form label {
    margin-bottom: 5px;
    color: #536177;
    font-size: 10px;
    font-weight: 750;
    letter-spacing: .2px;
}
.rit-v12-admin-ui .rit-dashboard-filter-form .form-control {
    height: 42px;
    border: 1px solid #d8e0ea;
    border-radius: 11px;
    background-color: #ffffff;
    color: #172033;
    font-size: 12px;
    box-shadow: 0 3px 9px rgba(15, 23, 42, .025);
}
.rit-v12-admin-ui .rit-dashboard-filter-form .form-control:focus {
    border-color: #d84a4f;
    box-shadow: 0 0 0 3px rgba(198, 31, 38, .09);
}
.rit-v12-admin-ui .rit-dashboard-filter-form .btn {
    min-width: 112px;
    min-height: 42px;
    border: 0;
    border-radius: 11px;
    background: linear-gradient(135deg, #c91f26, #a7191e);
    box-shadow: 0 8px 18px rgba(185, 28, 28, .18);
}

/* Dashboard cards */
.rit-v12-admin-ui .rit-stat-grid-v4 {
    gap: 14px;
}
.rit-v12-admin-ui .rit-stat-grid-v4 .rit-stat-card,
.rit-v12-admin-ui .rit-analytics-card {
    border-color: var(--rit12-line) !important;
    box-shadow: var(--rit12-shadow);
}
.rit-v12-admin-ui .rit-stat-grid-v4 .rit-stat-card {
    min-height: 146px;
    border-radius: 17px !important;
}
.rit-v12-admin-ui .rit-stat-grid-v4 .rit-stat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 19px 42px rgba(15, 23, 42, .10);
}
.rit-v12-admin-ui .rit-analytics-card {
    border-radius: 19px;
}

/* Collapsed sidebar */
.sidebar-mini.sidebar-collapse .rit-v12-admin-ui .rit-v11-brand-link {
    padding: 11px 7px !important;
}
.sidebar-mini.sidebar-collapse .rit-v12-admin-ui .rit-v11-brand-logo-shell {
    width: 50px;
    min-height: 50px;
    padding: 5px;
}
.sidebar-mini.sidebar-collapse .rit-v12-admin-ui .rit-v11-brand-logo {
    width: 158px;
    height: 40px;
    max-width: none;
    object-position: left center;
}
.sidebar-mini.sidebar-collapse .rit-v12-admin-ui .sidebar {
    padding-right: 6px;
    padding-left: 6px;
}
.sidebar-mini.sidebar-collapse .rit-v12-admin-ui .user-panel {
    justify-content: center;
    padding: 9px 5px !important;
}

@media (max-width: 1199.98px) {
    .rit-v12-admin-ui .rit-dashboard-filter-card {
        grid-template-columns: 1fr;
    }
    .rit-v12-admin-ui .rit-dashboard-filter-form {
        width: 100%;
        grid-template-columns: 1fr 1fr auto;
    }
}
@media (max-width: 767.98px) {
    .rit-v12-admin-ui .content-header {
        padding: 18px 14px 8px;
    }
    .rit-v12-admin-ui .content {
        padding: 0 14px 22px;
    }
    .rit-v12-admin-ui .rit-page-header-v4 h1 {
        font-size: 1.65rem;
    }
    .rit-v12-admin-ui .rit-dashboard-filter-card {
        gap: 16px;
        padding: 16px;
        border-radius: 16px;
    }
    .rit-v12-admin-ui .rit-dashboard-filter-form {
        grid-template-columns: 1fr;
    }
    .rit-v12-admin-ui .rit-dashboard-filter-form .btn {
        width: 100%;
    }
}

