/* ═══════════════════════════════════════════════
   CampusFlow — theme.css
   Color consistency layer only.
   Loaded after style.css on every page.
   Does NOT change layout, content or structure.
   ═══════════════════════════════════════════════ */

:root {
  --sky:     #0ea5e9;
  --sky2:    #0284c7;
  --sky3:    #38bdf8;
  --skylt:   #e0f2fe;
  --skydark: #0c4a6e;
  --navy:    #0c4a6e;
  --white:   #ffffff;
  --bg:      #f0f4f8;
  --surface: #ffffff;
  --border:  #dde3ec;
  --ink:     #111111;
  --ink2:    #222222;
  --ink3:    #444444;
  --green:   #16a34a;
  --red:     #dc2626;
  --purple:  #7c3aed;
  --amber:   #0ea5e9;
  --blue:    #0ea5e9;
}

nav { background: var(--skydark) !important; }
.mobile-link { color: #1188ef !important; }
.mobile-link:hover, .mobile-link.active { background: rgba(255,255,255,0.10) !important; color: #fff !important; }
.announce-bar { background: var(--skydark) !important; }
.page-header { background: var(--skydark) !important; }
.page-header h1 { color: #fff !important; }
.page-header p { color: rgba(255,255,255,0.85) !important; }
.breadcrumb, .breadcrumb a { color: rgba(255,255,255,0.75) !important; }
footer { background: var(--skydark) !important; }

/* Body text black */
body { color: var(--ink) !important; }
label { color: var(--ink2) !important; }
input, select, textarea { color: var(--ink) !important; background: var(--white) !important; }
input::placeholder, textarea::placeholder { color: var(--ink3) !important; }

/* campus.html — hero white text, body black */
.campus-hero { color: #fff !important; }
.campus-hero * { color: #fff !important; }
.ucb-note { color: var(--ink2) !important; }
.ucb-stat { color: var(--sky2) !important; }
[style*="color:#073975"] { color: var(--skydark) !important; }
[style*="color:#031c66"] { color: var(--skydark) !important; }
[style*="color:#0e1d91"] { color: var(--skydark) !important; }
[style*="color:#1b138b"] { color: var(--skydark) !important; }
[style*="color:#042c44"] { color: var(--skydark) !important; }

/* exchange.html */
[style*="color:#00217b"] { color: var(--skydark) !important; }
[style*="color:#0140ad"] { color: var(--sky2) !important; }

/* transport.html */
.bus-head { color: #fff !important; }
.bus-name { color: #fff !important; }
[style*="color:#033c6e"] { color: var(--skydark) !important; }
[style*="color:#07749f"] { color: var(--sky2) !important; }

/* loans.html */
[style*="color:#00198b"] { color: var(--skydark) !important; }

/* services.html — step panels on white bg */
.step-panel [style*="color:#f0f8ff"] { color: var(--ink) !important; }
.step-panel [style*="color:#bfdbfe"] { color: var(--ink2) !important; }
.step-panel [style*="color:#7dd3fc"] { color: var(--ink3) !important; }
.svc-name { color: var(--ink) !important; }
.svc-desc { color: var(--ink2) !important; }
.uni-name { color: var(--ink) !important; }
.uni-region { color: var(--ink3) !important; }
.p3-row { color: var(--ink2) !important; }
.detail-section label { color: var(--ink2) !important; }
.review-key { color: var(--ink2) !important; }
.review-val { color: var(--ink) !important; }
.timing-name { color: var(--ink) !important; }
.timing-desc { color: var(--ink2) !important; }
.pay-card-name { color: var(--ink) !important; }
.pay-card-desc { color: var(--ink3) !important; }
.step-status { color: var(--ink3) !important; }

/* ratings.html */
.review-stars { color: #fbbf24 !important; }
[style*="color:#004a82"] { color: var(--skydark) !important; }

/* marketplace.html */
[style*="Times New Roman"] { font-family: var(--font) !important; }
