/* QCA CRICOS Enrolment Portal — theme (blue-dominant, gold accent).
   Layered on top of Bootstrap 5. */

:root {
    --qca-blue: #172b6f;
    --qca-blue-dark: #101f52;
    --qca-gold: #CBA728;
    --qca-gold-dark: #a8891f;
    --qca-bg: #f5f6fa;
}

body {
    background-color: var(--qca-bg);
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    color: #22262e;
}

/* ---- Top navbar ---- */
.qca-navbar {
    background-color: var(--qca-blue);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.12);
}
.qca-navbar .navbar-brand,
.qca-navbar .nav-link {
    color: #fff !important;
}
.qca-navbar .nav-link:hover { color: var(--qca-gold) !important; }
.qca-navbar .nav-link.active { color: var(--qca-gold) !important; font-weight: 600; }
.qca-navbar .navbar-brand img { height: 34px; }

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

.btn-gold {
    background-color: var(--qca-gold);
    border-color: var(--qca-gold);
    color: #1a1a1a;
}
.btn-gold:hover { background-color: var(--qca-gold-dark); border-color: var(--qca-gold-dark); color: #1a1a1a; }

.btn-outline-qca {
    color: var(--qca-blue);
    border-color: var(--qca-blue);
}
.btn-outline-qca:hover { background-color: var(--qca-blue); color: #fff; }

a { color: var(--qca-blue); }
a:hover { color: var(--qca-blue-dark); }

/* ---- Cards & headings ---- */
.card { border: none; box-shadow: 0 2px 12px rgba(23, 43, 111, 0.06); border-radius: 10px; }
.card-accent { border-top: 4px solid var(--qca-blue); }
h1, h2, h3, h4, h5 { color: var(--qca-blue); }
.text-gold { color: var(--qca-gold) !important; }

/* ---- Login / centered pages ---- */
.qca-auth-wrap {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px;
}
.qca-auth-card {
    max-width: 460px;
    width: 100%;
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.12);
    overflow: hidden;
}
.qca-auth-head {
    background: var(--qca-blue);
    padding: 28px 24px;
    text-align: center;
}
.qca-auth-head img { height: 42px; }
.qca-auth-head h1 { color: #fff; font-size: 1.35rem; margin: 14px 0 0; }
.qca-auth-body { padding: 28px 24px; }

/* ---- Status badges (application lifecycle) ---- */
/* Default so any status (incl. new ones) always has a visible, readable chip. */
.badge-status { font-weight: 600; background:#6c757d; color:#fff !important; }
.status-Draft { background:#6c757d !important; color:#fff !important; }
.status-Submitted { background:#0d6efd !important; color:#fff !important; }
.status-Info_Requested { background: var(--qca-gold) !important; color:#1a1a1a !important; }
.status-Accepted { background:#6610f2 !important; color:#fff !important; }
.status-Rejected { background:#dc3545 !important; color:#fff !important; }
.status-Accepted_Invoice_Sent { background: var(--qca-gold) !important; color:#1a1a1a !important; }
.status-Payment_Submitted { background:#fd7e14 !important; color:#fff !important; }
.status-Payment_Received { background:#0dcaf0 !important; color:#1a1a1a !important; }
.status-LoO_Issued { background:#6f42c1 !important; color:#fff !important; }
.status-LoO_Signed { background:#20c997 !important; color:#1a1a1a !important; }
.status-CoE_Issued { background: var(--qca-blue) !important; color:#fff !important; }

/* "Ball in your court" flag (action needed by the current user). */
.action-flag { display:inline-block; font-size:.72rem; font-weight:700; color:#8a5a00; background:#fff3cd; border:1px solid #ffe69c; border-radius:20px; padding:1px 9px; }
tr.needs-action > td { background:#fffdf3; }

/* ---- Agency tree ---- */
.agency-tree { list-style: none; padding-left: 0; }
.agency-tree ul { list-style: none; padding-left: 22px; border-left: 1px dashed #c8cde0; margin-left: 8px; }
.agency-tree li { padding: 4px 0; }
.agency-node { display: inline-flex; align-items: center; gap: 8px; }

/* AddressFinder dropdown (manual_style: we own the styling). Cover the possible
   markup variants so results render as a clean solid card, never bulleted list. */
.af_list, ul.af_list {
    list-style: none !important;
    margin: 4px 0 0 !important;
    padding: 0 !important;
    background: #fff !important;
    border: 1px solid #ced4da;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(23, 43, 111, 0.18);
    z-index: 1080;
    max-height: 320px;
    overflow-y: auto;
}
.af_list li, .af_suggestion, .af_item {
    list-style: none !important;
    padding: 9px 12px !important;
    margin: 0 !important;
    background: #fff !important;
    cursor: pointer;
    border-bottom: 1px solid #eef0f5;
    color: #22262e;
}
.af_list li:last-child, .af_suggestion:last-child, .af_item:last-child { border-bottom: none; }
.af_list li:hover, .af_suggestion:hover, .af_suggestion.af_hover,
.af_item:hover, .af_item.af_hover, .af_hover { background: #eef2ff !important; color: var(--qca-blue); }
.af_footer { background: #fff !important; padding: 4px 12px; font-size: .72rem; color: #8a8f9c; border-top: 1px solid #eef0f5; }

footer.qca-footer { text-align: center; color: #8a8f9c; font-size: 0.85rem; padding: 24px 0; }

/* A detail the student changed after the agent pre-filled it (agent review). */
.student-changed { background:#fff8e1; border-left:3px solid var(--qca-gold); padding-left:6px; border-radius:3px; }
