:root {
    --cpao-navy: #004b8d;
    --cpao-navy-dark: #003366;
    --cpao-gold: #0071bc;
    --cpao-bg: #eef6ff;
    --cpao-text: #222222;
}

html, body {
    min-height: 100%;
}

body.cpao-auth {
    background: var(--cpao-bg);
    color: var(--cpao-text);
    font-family: Arial, Helvetica, "Segoe UI", sans-serif;
}

.cpao-auth .btn-primary {
    background: var(--cpao-navy);
    border-color: var(--cpao-navy);
}
.cpao-auth .btn-primary:hover,
.cpao-auth .btn-primary:focus {
    background: #0071bc;
    border-color: #0071bc;
}

.cpao-tricolor {
    display: flex;
    height: 6px;
}
.cpao-tricolor span {
    flex: 1;
}
.cpao-tricolor .saffron { background: #ff9933; }
.cpao-tricolor .white { background: #ffffff; }
.cpao-tricolor .green { background: #138808; }

.cpao-auth-header {
    background: #fff;
    color: var(--cpao-navy);
    padding: 1rem 0;
    border-bottom: 4px solid var(--cpao-navy);
}

.cpao-auth-header h1 {
    display: flex;
    flex-direction: column;
    gap: 0.1rem;
    font-size: 1.25rem;
    margin: 0;
    font-weight: 700;
    color: var(--cpao-navy);
    line-height: 1.25;
}

.cpao-auth-header h1 .cpao-hi {
    font-size: 1.05rem;
}

.cpao-auth-header p {
    display: flex;
    flex-direction: column;
    gap: 0.05rem;
    margin: 0.2rem 0 0;
    font-size: 0.85rem;
    color: #555;
    line-height: 1.35;
}

.cpao-card {
    border: 1px solid #dddddd;
    border-radius: 0.25rem;
    box-shadow: 0 1px 4px rgba(0, 75, 141, 0.12);
}

.cpao-card .card-header {
    background: var(--cpao-navy);
    color: #fff;
    font-weight: 600;
    border-bottom: 0;
    border-radius: 0;
}

.cpao-footer {
    font-size: 0.8rem;
    color: #555;
}

.portal-links a {
    text-decoration: none;
    color: var(--cpao-navy);
}
