/* Caerus Connect Client Portal — matches caerusconnect.org branding */
:root{
  --ink:#16233a; --paper:#fff; --mist:#eef3fa; --dark:#0a1929;
  --gold:#c9a227; --gold-deep:#9a7a1e; --muted:#5c6c84; --line:#dde6f2;
}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--mist);color:var(--ink);line-height:1.65;-webkit-font-smoothing:antialiased;min-height:100vh;display:flex;flex-direction:column}
.wrap{max-width:960px;margin:0 auto;padding:0 24px;width:100%}
.topbar{background:var(--dark);color:#9db0cc;font-size:.85rem;padding:10px 0}
header.site{background:linear-gradient(140deg,#081426 0%,#0c2347 60%,#123c74 100%);color:#fff;padding:22px 0}
header.site h1{font-size:1.3rem;letter-spacing:.02em}
header.site p{color:#9db0cc;font-size:.92rem}
main{flex:1;padding:36px 0 60px}
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:30px 28px;margin-bottom:22px}
.card h2{font-size:1.35rem;margin-bottom:14px}
.card h3{font-size:1.1rem;margin:18px 0 8px}
.card p{color:#33415a;margin-bottom:12px}
.muted{color:var(--muted);font-size:.93rem}
.field{margin-bottom:16px}
.field label{display:block;font-size:.88rem;font-weight:600;margin-bottom:6px}
.field input,.field textarea,.field select{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:6px;font-size:1rem;font-family:inherit;background:#fff}
.field textarea{min-height:110px;resize:vertical}
.field .hint{font-size:.83rem;color:var(--muted);margin-top:4px}
.btn{display:inline-block;background:var(--gold);color:#fff;padding:12px 28px;border-radius:6px;text-decoration:none;font-weight:700;font-size:.95rem;border:none;cursor:pointer}
.btn:hover{background:var(--gold-deep)}
.btn.small{padding:8px 18px;font-size:.86rem}
.btn.danger{background:#a33c2e}.btn.danger:hover{background:#872e23}
.btn.ghostbtn{background:transparent;color:var(--ink);border:2px solid var(--line)}
.alert{border-radius:8px;padding:14px 18px;margin-bottom:20px;font-size:.95rem}
.alert.ok{background:#e9f3e4;border:1px solid #b9d6a8;color:#2e5b22}
.alert.err{background:#f9e9e6;border:1px solid #e0a89e;color:#8a2b1d}
.alert.info{background:#eef2f7;border:1px solid #b9c8dc;color:#2c4a68}
.nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.nav a{padding:9px 18px;border-radius:6px;text-decoration:none;font-weight:600;font-size:.92rem;color:var(--ink);background:#fff;border:1px solid var(--line)}
.nav a.active,.nav a:hover{background:var(--dark);color:#fff;border-color:var(--dark)}
table{width:100%;border-collapse:collapse;font-size:.94rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.badge{display:inline-block;padding:3px 12px;border-radius:20px;font-size:.8rem;font-weight:700}
.badge.pending{background:#f5e8c8;color:#7a5c10}
.badge.approved{background:#dff0d4;color:#2e5b22}
.badge.rejected{background:#f3d9d4;color:#8a2b1d}
.video{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:8px;margin:12px 0;background:#000}
.video iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.inline-form{display:inline}
footer.site{background:var(--dark);color:#8fa0b8;padding:26px 0;font-size:.88rem;margin-top:auto}
.login-wrap{max-width:440px;margin:30px auto}
.login-wrap .card{padding:36px 32px}
.center{text-align:center}
.top-links{text-align:center;margin-top:16px;font-size:.93rem}
.top-links a{color:var(--gold-deep);font-weight:600}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:700;color:var(--gold-deep);margin-bottom:10px}
h1.page{font-size:1.9rem;margin-bottom:6px;letter-spacing:-.01em}
.sub{color:var(--muted);margin-bottom:26px}
