/**
 * MAPT Portal CSS - Bootstrap 5 Custom Theme
 * Minimal custom styles for MAPT branding
 */

/* MAPT Color Variables */
:root {
    --mapt-primary: #002147;   /* Navy Blue */
    --mapt-accent: #FDC800;    /* Gold */
    --mapt-text: #222222;      /* Dark Gray */
    --mapt-secondary: #FFFFFF; /* White */
}

/* Apply MAPT Primary Color */
.ptp-portal .bg-primary {
    background-color: var(--mapt-primary) !important;
}

.ptp-portal .text-primary {
    color: var(--mapt-primary) !important;
}

.ptp-portal .btn-primary {
    background-color: var(--mapt-primary);
    border-color: var(--mapt-primary);
}

.ptp-portal .btn-primary:hover {
    background-color: #001530;
    border-color: #001530;
}

.ptp-portal .btn-outline-primary {
    color: var(--mapt-primary);
    border-color: var(--mapt-primary);
}

.ptp-portal .btn-outline-primary:hover {
    background-color: var(--mapt-primary);
    border-color: var(--mapt-primary);
    color: white;
}

/* Apply MAPT Accent Color */
.ptp-portal .bg-accent {
    background-color: var(--mapt-accent) !important;
}

.ptp-portal .text-accent {
    color: var(--mapt-accent) !important;
}

/* Sidebar Styling */
.ptp-sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    overflow-y: auto;
}

.ptp-sidebar .nav-link {
    padding: 0.75rem 1.5rem;
    transition: background-color 0.2s;
}

.ptp-sidebar .nav-link:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

.ptp-sidebar .nav-link.active {
    background-color: rgba(253, 200, 0, 0.2);
    border-left: 3px solid var(--mapt-accent);
}

.ptp-sidebar .dashicons {
    font-size: 18px;
    width: 18px;
    height: 18px;
    margin-right: 8px;
    vertical-align: middle;
}

/* Card Hover Effects */
.ptp-portal .card {
    transition: box-shadow 0.2s;
}

.ptp-portal .card:hover {
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

/* Footer Styling */
.ptp-portal footer {
    position: sticky;
    bottom: 0;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .ptp-portal {
        flex-direction: column;
    }

    .ptp-sidebar {
        width: 100% !important;
        height: auto;
        position: relative;
    }
}
