:root {
    --ipm-red: #E63329;
    --ipm-dark: #0D0D12;
    --ipm-surface: #1a1a24;
    --ipm-border: #2d2d3a;
}

body {
    background-color: var(--ipm-dark) !important;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

/* Sidebar */
#sidebar-wrapper {
    min-width: 250px;
    max-width: 250px;
    min-height: 100vh;
    background-color: var(--ipm-surface) !important;
    transition: margin-left 0.25s ease;
}

#sidebar-wrapper .list-group-item {
    background-color: transparent !important;
    color: #adb5bd;
    border-radius: 0;
    padding: 0.7rem 1.25rem;
}

#sidebar-wrapper .list-group-item:hover {
    background-color: rgba(230, 51, 41, 0.1) !important;
    color: #fff;
}

#sidebar-wrapper .list-group-item.active {
    background-color: rgba(230, 51, 41, 0.15) !important;
    border-left: 3px solid var(--ipm-red) !important;
    color: var(--ipm-red) !important;
}

@media (max-width: 768px) {
    #sidebar-wrapper { margin-left: -250px; }
    #sidebar-wrapper.toggled { margin-left: 0; }
}

/* Cards */
.card {
    background-color: var(--ipm-surface);
    border: 1px solid var(--ipm-border);
}

.summary-card {
    border-left: 4px solid var(--ipm-red) !important;
}

.summary-card .card-value {
    font-size: 2rem;
    font-weight: 700;
    color: #fff;
}

/* Tables */
.table {
    --bs-table-bg: var(--ipm-surface);
    --bs-table-striped-bg: rgba(255,255,255,0.02);
    --bs-table-hover-bg: rgba(230,51,41,0.05);
}

/* Buttons */
.btn-primary, .btn-primary:active {
    background-color: var(--ipm-red);
    border-color: var(--ipm-red);
}
.btn-primary:hover {
    background-color: #c72b22;
    border-color: #c72b22;
}
.btn-outline-primary {
    color: var(--ipm-red);
    border-color: var(--ipm-red);
}
.btn-outline-primary:hover {
    background-color: var(--ipm-red);
    border-color: var(--ipm-red);
    color: #fff;
}

/* Modals */
.modal-content {
    background-color: var(--ipm-surface);
    border: 1px solid var(--ipm-border);
}

/* Login */
.login-container {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-card {
    max-width: 420px;
    width: 100%;
}

/* Toast */
.toast-container { z-index: 1090; }

/* Badges */
.badge { font-weight: 500; }

/* Progress Bars */
.progress {
    background-color: var(--ipm-border);
}

/* Tab Pills */
.nav-pills .nav-link.active {
    background-color: var(--ipm-red);
}
.nav-pills .nav-link {
    color: #adb5bd;
}
.nav-pills .nav-link:hover {
    color: #fff;
}

/* Loading Spinner */
.spinner-overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 3rem;
}
