/* ========================================================================
   ReportIT Professional V11 — motion, tables, and brand refinement
   ======================================================================== */
:root {
    --rit11-red: #b91c1c;
    --rit11-red-dark: #7f1d1d;
    --rit11-ink: #0f172a;
    --rit11-muted: #64748b;
    --rit11-line: #e2e8f0;
    --rit11-soft: #f8fafc;
    --rit11-shadow: 0 18px 48px rgba(15, 23, 42, .10);
    --rit11-ease: cubic-bezier(.22, 1, .36, 1);
}

/* Brand/sidebar */
.rit-v11-brand-link {
    display: flex !important;
    min-height: 82px;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid rgba(148, 163, 184, .24) !important;
    background: #ffffff !important;
    padding: 12px 14px !important;
    overflow: hidden;
}
.rit-v11-brand-logo-shell {
    display: flex;
    width: 100%;
    min-height: 54px;
    align-items: center;
    justify-content: center;
    border: 1px solid #eef2f7;
    border-radius: 14px;
    background: linear-gradient(145deg, #fff, #f8fafc);
    box-shadow: 0 8px 24px rgba(15, 23, 42, .06);
    padding: 7px 12px;
}
.rit-v11-brand-logo {
    display: block;
    width: 190px;
    max-width: 100%;
    height: 42px;
    object-fit: contain;
    object-position: center;
    transition: transform .28s var(--rit11-ease), filter .28s ease;
}
.rit-v11-brand-link:hover .rit-v11-brand-logo {
    transform: scale(1.025);
    filter: saturate(1.05);
}
.sidebar-mini.sidebar-collapse .rit-v11-brand-link {
    padding: 12px 7px !important;
}
.sidebar-mini.sidebar-collapse .rit-v11-brand-logo-shell {
    width: 48px;
    min-height: 48px;
    border-radius: 13px;
    padding: 5px;
    overflow: hidden;
}
.sidebar-mini.sidebar-collapse .rit-v11-brand-logo {
    width: 155px;
    max-width: none;
    height: 38px;
    object-position: left center;
    transform: translateX(1px);
}

/* Admin motion and visual polish */
.rit-v11-admin-ui .content-wrapper {
    animation: rit11PageIn .55s var(--rit11-ease) both;
}
.rit-v11-admin-ui .content-header > .container-fluid,
.rit-v11-admin-ui .content > .container-fluid {
    max-width: 1680px;
}
.rit-v11-admin-ui .card,
.rit-v11-admin-ui .small-box,
.rit-v11-admin-ui .info-box,
.rit-v11-admin-ui .rit-v11-reveal {
    animation: rit11RiseIn .52s var(--rit11-ease) both;
}
.rit-v11-admin-ui .card,
.rit-v11-admin-ui .info-box {
    transition: transform .22s var(--rit11-ease), box-shadow .22s ease, border-color .22s ease;
}
.rit-v11-admin-ui .card:hover,
.rit-v11-admin-ui .info-box:hover {
    transform: translateY(-2px);
    border-color: #cbd5e1;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .09);
}
.rit-v11-admin-ui .nav-sidebar .nav-link {
    position: relative;
    overflow: hidden;
    transition: background-color .2s ease, color .2s ease, transform .2s var(--rit11-ease);
}
.rit-v11-admin-ui .nav-sidebar .nav-link:hover {
    transform: translateX(3px);
}
.rit-v11-admin-ui .nav-sidebar .nav-link.active::after {
    content: "";
    position: absolute;
    top: 10px;
    right: 8px;
    bottom: 10px;
    width: 3px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .9);
    animation: rit11Indicator .35s var(--rit11-ease) both;
}
.rit-v11-admin-ui .main-header {
    animation: rit11HeaderDown .45s var(--rit11-ease) both;
}
.rit-v11-admin-ui .dropdown-menu {
    transform-origin: top right;
    animation: rit11Dropdown .2s var(--rit11-ease) both;
}
.rit-v11-admin-ui .notification-badge,
.rit-v11-admin-ui [data-notification-count]:not(:empty) {
    animation: rit11SoftPulse 2.4s ease-in-out infinite;
}

/* Table controls */
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
    margin-bottom: 14px;
}
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
    color: #475569;
    font-size: 12px;
    font-weight: 700;
}
.dataTables_wrapper .dataTables_length select {
    min-width: 82px;
    height: 38px;
    margin: 0 7px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    color: var(--rit11-ink);
    background: #fff;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .04);
    padding: 4px 28px 4px 10px;
}
.dataTables_wrapper .dataTables_filter input {
    min-width: 220px;
    height: 38px;
    margin-left: 8px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(15, 23, 42, .04);
    padding: 7px 11px;
    transition: border-color .2s ease, box-shadow .2s ease;
}
.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus {
    border-color: #dc2626;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(220, 38, 38, .10);
}
.dataTables_wrapper .dataTables_info {
    color: var(--rit11-muted);
    font-size: 12px;
    padding-top: 15px !important;
}
.dataTables_wrapper .pagination .page-link {
    min-width: 36px;
    border-color: #e2e8f0;
    color: #475569;
    text-align: center;
}
.dataTables_wrapper .pagination .page-item.active .page-link {
    border-color: var(--rit11-red);
    background: var(--rit11-red);
}
.rit-v11-admin-ui table.dataTable tbody tr {
    animation: rit11RowIn .36s var(--rit11-ease) both;
}
.rit-v11-admin-ui table.dataTable tbody tr:nth-child(2) { animation-delay: .025s; }
.rit-v11-admin-ui table.dataTable tbody tr:nth-child(3) { animation-delay: .05s; }
.rit-v11-admin-ui table.dataTable tbody tr:nth-child(4) { animation-delay: .075s; }
.rit-v11-admin-ui table.dataTable tbody tr:nth-child(5) { animation-delay: .10s; }
.rit-v11-admin-ui table.dataTable tbody tr:nth-child(6) { animation-delay: .125s; }
.rit-v11-admin-ui table.dataTable tbody tr:hover {
    background: #fff7f7 !important;
}

/* Login animations */
.rit-v7-auth-page {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    min-height: 100vh;
    background:
        radial-gradient(circle at 8% 18%, rgba(220, 38, 38, .08), transparent 28%),
        radial-gradient(circle at 92% 82%, rgba(127, 29, 29, .09), transparent 30%),
        #f4f7fb;
}
.rit-v7-auth-page::before,
.rit-v7-auth-page::after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 360px;
    height: 360px;
    border-radius: 50%;
    filter: blur(2px);
    opacity: .42;
    pointer-events: none;
    animation: rit11FloatOrb 10s ease-in-out infinite alternate;
}
.rit-v7-auth-page::before {
    top: 13%;
    left: -190px;
    background: radial-gradient(circle, rgba(185, 28, 28, .16), rgba(185, 28, 28, 0) 68%);
}
.rit-v7-auth-page::after {
    right: -180px;
    bottom: 4%;
    background: radial-gradient(circle, rgba(15, 23, 42, .13), rgba(15, 23, 42, 0) 68%);
    animation-delay: -4s;
}
.rit-v7-auth-header {
    animation: rit11HeaderDown .55s var(--rit11-ease) both;
}
.rit-v7-auth-shell {
    animation: rit11LoginShell .72s var(--rit11-ease) .06s both;
    box-shadow: 0 30px 80px rgba(15, 23, 42, .16) !important;
}
.rit-v7-auth-aside {
    animation: rit11LoginLeft .72s var(--rit11-ease) .14s both;
}
.rit-v7-auth-form-panel {
    animation: rit11LoginRight .72s var(--rit11-ease) .18s both;
}
.rit-v7-auth-feature-list > div {
    animation: rit11RiseIn .5s var(--rit11-ease) both;
}
.rit-v7-auth-feature-list > div:nth-child(1) { animation-delay: .34s; }
.rit-v7-auth-feature-list > div:nth-child(2) { animation-delay: .42s; }
.rit-v7-auth-feature-list > div:nth-child(3) { animation-delay: .50s; }
.rit-v7-input-wrap {
    transition: transform .2s var(--rit11-ease), box-shadow .2s ease, border-color .2s ease;
}
.rit-v7-input-wrap:focus-within {
    transform: translateY(-1px);
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 4px rgba(220, 38, 38, .10) !important;
}
.rit-v7-auth-submit {
    position: relative;
    overflow: hidden;
    transition: transform .18s var(--rit11-ease), box-shadow .18s ease, opacity .18s ease;
}
.rit-v7-auth-submit:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 26px rgba(185, 28, 28, .24);
}
.rit-v7-auth-submit:active { transform: translateY(0) scale(.992); }
.rit-v7-auth-submit::after {
    content: "";
    position: absolute;
    top: -80%;
    left: -35%;
    width: 28%;
    height: 260%;
    background: rgba(255,255,255,.24);
    transform: rotate(22deg);
    transition: left .65s ease;
}
.rit-v7-auth-submit:hover::after { left: 115%; }
.rit-v7-auth-submit.is-loading {
    cursor: wait;
    opacity: .88;
    pointer-events: none;
}
.rit-v7-auth-submit.is-loading i {
    animation: rit11Spin .8s linear infinite;
}
.rit-v7-auth-form .alert {
    animation: rit11AlertIn .38s var(--rit11-ease) both;
}

/* Ripple */
.rit-v11-ripple-host { position: relative !important; overflow: hidden !important; }
.rit-v11-ripple {
    position: absolute;
    border-radius: 50%;
    background: rgba(255,255,255,.32);
    pointer-events: none;
    transform: scale(0);
    animation: rit11Ripple .55s ease-out forwards;
}

@keyframes rit11PageIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@keyframes rit11RiseIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
@keyframes rit11HeaderDown { from { opacity: 0; transform: translateY(-14px); } to { opacity: 1; transform: none; } }
@keyframes rit11Dropdown { from { opacity: 0; transform: translateY(-6px) scale(.98); } to { opacity: 1; transform: none; } }
@keyframes rit11Indicator { from { opacity: 0; transform: scaleY(.35); } to { opacity: 1; transform: scaleY(1); } }
@keyframes rit11SoftPulse { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@keyframes rit11RowIn { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
@keyframes rit11LoginShell { from { opacity: 0; transform: translateY(22px) scale(.985); } to { opacity: 1; transform: none; } }
@keyframes rit11LoginLeft { from { opacity: 0; transform: translateX(-22px); } to { opacity: 1; transform: none; } }
@keyframes rit11LoginRight { from { opacity: 0; transform: translateX(22px); } to { opacity: 1; transform: none; } }
@keyframes rit11FloatOrb { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(24px,-18px,0) scale(1.08); } }
@keyframes rit11Spin { to { transform: rotate(360deg); } }
@keyframes rit11AlertIn { from { opacity: 0; transform: translateY(-7px); } to { opacity: 1; transform: none; } }
@keyframes rit11Ripple { to { transform: scale(3.4); opacity: 0; } }

@media (max-width: 991.98px) {
    .rit-v11-brand-link { min-height: 72px; }
    .rit-v11-brand-logo { width: 172px; height: 38px; }
    .dataTables_wrapper .dataTables_filter input { min-width: 160px; }
}
@media (max-width: 767.98px) {
    .dataTables_wrapper .dataTables_length,
    .dataTables_wrapper .dataTables_filter { text-align: left !important; }
    .dataTables_wrapper .dataTables_filter input { width: calc(100% - 62px); min-width: 0; }
    .rit-v7-auth-shell { animation-duration: .55s; }
}
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        animation-duration: .001ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .001ms !important;
    }
}
