:root{--navy:#324e6a;--navy-deep:#223346;--navy-soft:#253f59;--gold:#dbe7f1;--gold-dark:#324e6a;--ink:#243445;--muted:#586879;--line:#dce3ea;--surface:#fff;--soft:#f3f6f9;--shadow:0 12px 36px rgb(26 45 65 / 6%);--wine:#324e6a;--brown:#243445;color:#243445;background:#f3f6f9}
body,.enrollment-screen{background:#f3f6f9;color:#243445}
.course-hero,.closing-cta{background:#223346}
.enrollment-card,.trust-strip,.tuition-table,.payment-instructions,.proof-panel,.success-receipt,.mpesa-checkout__left{background:#fff}
.enrollment-card{margin-inline:auto!important}
.enrollment-screen{width:100%;max-width:none;align-items:center}
.button--gold,.button--navy{background:#324e6a;color:#fff;border-color:#324e6a}
.button--gold:hover:not(:disabled),.button--navy:hover:not(:disabled){background:#253f59}
.button--pale,.copy-row button,.tuition-total,.review-note,.payment-advisory,.bank-invoice{background:#edf3f8;color:#324e6a;border-color:#cedae5}
.bank-invoice p,.how-to-pay li{color:#536477}.how-to-pay li>span:first-child{background:#e5edf5;color:#324e6a}
input,select,textarea{background:#fff;color:#243445;border-color:#b8c6d2}input:hover,select:hover{border-color:#8298ac}
.upload-box:not(.has-file),.mpesa-partner-card,.mpesa-amount-card,.mpesa-method-tab{background:#f8fafc;border-color:#dce3ea}
.mpesa-method-tab--active{background:#eaf1f7;border-color:#324e6a}
.mpesa-heading,.mpesa-partner-card strong,.mpesa-payto>strong,.mpesa-method-tab strong{color:#243445}
.mpesa-partner-label,.mpesa-amount-label,.mpesa-payto>span,.mpesa-methods-heading,.mpesa-method-tab span{color:#586879}
.course-hero__summary,.countdown__title,.countdown__grid span,.routing-heading p,.routing-step span,.routing-progress__label,.enrollment-head span,.enroll-summary__fact span,.enroll-summary__price span,.enroll-summary__price small,.enroll-summary>p,.site-footer__meta,.payment-total>span,.payment-total small,.proof-panel__head p,.iald-routing__subtitle{color:#dce6ef}
:focus-visible{outline-color:#4479a3!important}
/* Keep GCA's burgundy wordmark as a restrained brand accent, not a page-wide theme. */
header{background:#fff;border-color:#dce3ea}
body>header{padding:20px max(32px,calc((100vw - 1320px)/2))}
body>main{width:min(1320px,calc(100% - 64px));max-width:1320px;margin-inline:auto;padding:32px 0 64px}
.login-panel,.stats>div,.records,dialog,.settings-panel{background:#fff;border-color:#dce3ea}
body:has(#workspace) h1,body:has(#workspace) h2,body:has(#workspace) h3{color:#243445}
.stats strong,.eyebrow{color:#324e6a}.stats>div{padding:18px 22px;box-shadow:0 2px 8px #20334705}
.stats strong{margin-top:6px}.tabs{border-color:#dce3ea;flex-wrap:wrap}
button{background:#fff;color:#324e6a;border-color:#cbd6e0}button:hover{background:#eaf1f7}
.primary,.tabs button[aria-pressed=true]{background:#324e6a;color:white;border-color:#324e6a}.primary:hover{background:#253f59}
th{background:#edf2f7;color:#41556a}td{border-color:#e7edf2;max-width:none}
body:has(#workspace) table{table-layout:fixed}body:has(#workspace) th:nth-child(1){width:28%}body:has(#workspace) th:nth-child(2){width:30%}body:has(#workspace) th:nth-child(3){width:18%}body:has(#workspace) th:nth-child(4){width:14%}body:has(#workspace) th:nth-child(5){width:10%}
body:has(#workspace) td:nth-child(3),body:has(#workspace) th:nth-child(3){text-align:right}body:has(#workspace) td:nth-child(4),body:has(#workspace) th:nth-child(4),body:has(#workspace) td:nth-child(5),body:has(#workspace) th:nth-child(5){text-align:center}body:has(#workspace) td:nth-child(4) .status{margin-inline:auto}
tbody tr:hover{background:#f7fafc}td small{font-size:12px}.status{background:#edf2f7}
.hint,footer,.header-right,.intro p:last-child,td small,.result-count{color:#586879}
.settings-panel{margin-top:20px;border:1px solid #dce3ea;border-radius:12px;padding:28px}.settings-panel>label{max-width:420px;margin-bottom:16px}.settings-panel fieldset{border:1px solid #dce3ea;border-radius:8px;padding:20px;margin:16px 0}.settings-panel legend{padding:0 8px;font-weight:700;color:#324e6a}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.settings-grid input[type=checkbox]{width:24px;min-height:24px;align-self:flex-start}.settings-panel form{margin-top:20px}.settings-panel h2{margin-top:0}
@media(max-width:700px){body>header{padding:18px}body>main{width:calc(100% - 32px);padding:24px 0 48px}.settings-panel{padding:18px}.settings-grid{grid-template-columns:1fr}.stats>div{padding:16px}.settings-panel fieldset{padding:16px}.tabs{gap:8px}td button{min-height:44px}}
