/* Shared styles for the agent portal. Matches the
   main site's dark / gold palette. */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
:root {
  --black:#0C0C0C; --charcoal:#1A1A1A; --panel:#141414; --line:rgba(201,169,110,0.18);
  --gold:#C9A96E; --gold-dim:#8A6E42; --cream:#F0EBE1; --cream-dim:#D8CFC0; --muted:#9a9184;
  --white:#FFFFFF; --green:#7FB38A; --red:#D9826F;
}
body { font-family:'Inter',sans-serif; background:var(--black); color:var(--cream); font-size:15px; line-height:1.55; min-height:100vh; }
a { color:var(--gold); }
h1,h2,h3 { font-family:'Cormorant Garant',serif; font-weight:400; color:var(--white); line-height:1.15; }
h1 em, h2 em { font-style:italic; color:var(--gold); }
.eyebrow { font-size:0.68rem; letter-spacing:0.24em; text-transform:uppercase; color:var(--gold); margin-bottom:0.6rem; }
.muted { color:var(--muted); }
.hidden { display:none !important; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:0.4rem; font:inherit; font-size:0.74rem; font-weight:500;
  letter-spacing:0.12em; text-transform:uppercase; padding:0.7rem 1.3rem; border:1px solid var(--gold); background:var(--gold);
  color:var(--black); cursor:pointer; transition:background .2s, color .2s, opacity .2s; text-decoration:none; }
.btn:hover { background:#b8935a; }
.btn:disabled { opacity:0.5; cursor:wait; }
.btn.ghost { background:transparent; color:var(--gold); }
.btn.ghost:hover { background:rgba(201,169,110,0.12); }
.btn.danger { background:transparent; border-color:rgba(217,130,111,0.5); color:var(--red); }
.btn.small { padding:0.45rem 0.8rem; font-size:0.66rem; }

label, .group-label { display:block; font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--cream-dim); margin-bottom:0.4rem; }
.req { color:var(--gold); }
input, select, textarea { width:100%; font:inherit; color:var(--cream); background:rgba(255,255,255,0.03); border:1px solid rgba(201,169,110,0.22);
  padding:0.65rem 0.8rem; border-radius:0; outline:none; transition:border-color .2s; }
input:focus, select:focus, textarea:focus { border-color:var(--gold); }
input:disabled, select:disabled, textarea:disabled { opacity:0.7; }
select option { background:var(--charcoal); }
textarea { resize:vertical; }
.check { display:flex; align-items:center; gap:0.5rem; text-transform:none; letter-spacing:0; font-size:0.9rem; color:var(--cream); margin:0; cursor:pointer; }
.check input { width:auto; accent-color:var(--gold); }
.checks { display:grid; grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:0.5rem 1rem; }

.notice { padding:0.8rem 1rem; border-left:2px solid var(--gold); background:rgba(201,169,110,0.08); font-size:0.9rem; }
.notice.error { border-color:var(--red); background:rgba(217,130,111,0.1); }

