:root {
    --pms-navy: #0b2e5c;
    --pms-blue: #1a56b0;
    --pms-blue-light: #eaf1fb;
    --pms-blue-mid: #4d84d6;
    --pms-white: #ffffff;
    --pms-gray: #6b7a90;
    --pms-border: #e3e9f2;
}

body {
    background-color: #f4f7fc;
    color: #1f2937;
    font-family: 'Segoe UI', Roboto, Arial, sans-serif;
}

/* ---------- Top navbar ---------- */
.pms-navbar {
    background: linear-gradient(90deg, var(--pms-navy) 0%, var(--pms-blue) 100%);
    box-shadow: 0 2px 10px rgba(11, 46, 92, 0.25);
}
.pms-navbar .navbar-brand {
    color: #fff;
    font-weight: 700;
    letter-spacing: .5px;
}
.pms-navbar .nav-link {
    color: rgba(255,255,255,.85) !important;
}
.pms-navbar .nav-link:hover {
    color: #fff !important;
}
.a{
    text-align: center;
}
/* ---------- Sidebar ---------- */
.pms-sidebar {
    background: var(--pms-white);
    border-right: 1px solid var(--pms-border);
    min-height: calc(100vh - 56px);
    padding-top: 1rem;
}
.pms-sidebar .nav-link {
    color: #33455e;
    border-radius: 8px;
    padding: .55rem .9rem;
    margin: 2px 10px;
    font-weight: 500;
}
.pms-sidebar .nav-link i {
    width: 20px;
    display: inline-block;
    color: var(--pms-blue);
}
.pms-sidebar .nav-link.active,
.pms-sidebar .nav-link:hover {
    background: var(--pms-blue-light);
    color: var(--pms-blue);
}
.pms-sidebar .nav-link.active i,
.pms-sidebar .nav-link:hover i {
    color: var(--pms-blue);
}
.pms-sidebar .sidebar-heading {
    color: var(--pms-gray);
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    padding: 1rem 1.1rem .3rem;
}

/* ---------- Cards ---------- */
.pms-card {
    background: var(--pms-white);
    border: 1px solid var(--pms-border);
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(20, 40, 80, 0.05);
}
.pms-stat-card {
    border-radius: 14px;
    padding: 1.1rem 1.3rem;
    color: #fff;
    background: linear-gradient(135deg, var(--pms-blue) 0%, var(--pms-navy) 100%);
    box-shadow: 0 4px 14px rgba(11, 46, 92, 0.25);
}
.pms-stat-card.alt1 { background: linear-gradient(135deg, #2c8ce0 0%, #1a56b0 100%); }
.pms-stat-card.alt2 { background: linear-gradient(135deg, #21b06b 0%, #0f7a49 100%); }
.pms-stat-card.alt3 { background: linear-gradient(135deg, #e0a72c 0%, #b0791a 100%); }
.pms-stat-card .stat-value { font-size: 1.9rem; font-weight: 700; }
.pms-stat-card .stat-label { font-size: .85rem; opacity: .9; }

/* ---------- Buttons ---------- */
.btn-pms {
    background-color: var(--pms-blue);
    border-color: var(--pms-blue);
    color: #fff;
}
.btn-pms:hover {
    background-color: var(--pms-navy);
    border-color: var(--pms-navy);
    color: #fff;
}
.btn-outline-pms {
    color: var(--pms-blue);
    border-color: var(--pms-blue);
}
.btn-outline-pms:hover {
    background-color: var(--pms-blue);
    color: #fff;
}

/* ---------- Misc ---------- */
.table thead th {
    background-color: var(--pms-blue-light);
    color: var(--pms-navy);
    border-bottom: none;
    font-size: .8rem;
    text-transform: uppercase;
    letter-spacing: .03em;
}
a { text-decoration: none; }
.pms-login-wrap {
    min-height: 100vh;
    background: linear-gradient(135deg, var(--pms-navy) 0%, var(--pms-blue) 60%, var(--pms-blue-mid) 100%);
}
.pms-login-card {
    border-radius: 16px;
    box-shadow: 0 10px 40px rgba(0,0,0,.25);
}
.progress {
    background-color: #e9eef6;
    border-radius: 8px;
}
