/* Firm palette, shared with Lex-Assistant: cream background, burgundy accent, logo gold, dark top bar */
:root { --bg:#f9f4e9; --card:#fff; --ink:#1f2328; --muted:#6b6f76; --line:#e8e0d2; --accent:#6e1f29; --gold:#b29156; --bar:#2a1f1d; --err:#b91c1c; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; background:var(--bg); color:var(--ink); }
header { display:flex; align-items:center; gap:20px; padding:10px 24px; background:var(--bar); color:#f5ecd9; flex-wrap:wrap; box-shadow:0 2px 6px rgba(0,0,0,.1); }
header .logo { height:38px; width:auto; }
header h1 { margin:0; font-size:15px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-weight:600; padding-left:16px; border-left:1px solid #4a3a37; }
nav { display:flex; gap:4px; flex:1; flex-wrap:wrap; }
nav button { background:none; border:0; padding:8px 12px; border-radius:6px; cursor:pointer; color:#d4c9b5; font:inherit; }
nav button:hover { background:#4a3a37; color:var(--gold); }
nav button.active { background:#4a3a37; color:#fff; font-weight:600; }
#who { color:#d4c9b5; font-size:13px; }
#signin { text-align:center; background:var(--card); border:1px solid var(--line); border-radius:10px; padding:32px; max-width:420px; }
.signin-logo { width:280px; max-width:100%; height:auto; margin:0 auto 16px; display:block; }
main, #signin { max-width:1100px; margin:24px auto; padding:0 16px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:16px 20px; margin-bottom:16px; }
h2 { font-size:16px; margin:0 0 12px; } h3 { font-size:14px; margin:16px 0 8px; }
.grid { display:grid; grid-template-columns:repeat(6, 1fr); gap:10px 12px; }
.grid label { grid-column:span 2; display:flex; flex-direction:column; font-size:12px; color:var(--muted); gap:3px; }
.grid label.wide { grid-column:span 3; } .grid label.mi { grid-column:span 1; }
input, select { font:inherit; padding:7px 9px; border:1px solid var(--line); border-radius:6px; background:#fff; color:var(--ink); width:100%; }
input:focus, select:focus { outline:2px solid #e2d2ac; border-color:var(--gold); }
button { font:inherit; padding:8px 14px; border-radius:6px; border:1px solid var(--line); background:#fff; cursor:pointer; }
button.primary { background:var(--accent); color:#fff; border-color:var(--accent); }
button.small { padding:3px 8px; font-size:12px; }
.ac { position:relative; margin-bottom:12px; }
.radios.inline { flex-direction:row; gap:20px; margin-bottom:10px; }
#fromFirm select { max-width:640px; }
.acList { position:absolute; z-index:5; left:0; right:0; top:100%; margin:2px 0 0; padding:0; list-style:none; background:#fff; border:1px solid var(--line); border-radius:6px; max-height:340px; overflow:auto; box-shadow:0 6px 20px rgba(0,0,0,.08); }
.acList li { padding:7px 10px; cursor:pointer; border-bottom:1px solid #f1ede4; }
.acList li:hover, .acList li.hl { background:#f6efe0; }
.acList small { color:var(--muted); display:block; }
.check { display:inline-flex; gap:6px; align-items:center; margin-top:10px; font-size:13px; }
.check input { width:auto; }
.radios { display:flex; flex-direction:column; gap:6px; }
.radios label { display:flex; gap:8px; align-items:center; } .radios input { width:auto; }
small { color:var(--muted); }
.tag { font-size:12px; color:var(--muted); margin-left:12px; }
.err { color:var(--err); white-space:pre-wrap; }
.hint { color:var(--muted); font-size:13px; }
.toolbar { display:flex; gap:12px; margin-bottom:8px; } .toolbar select { width:auto; }
table { width:100%; border-collapse:collapse; background:var(--card); border:1px solid var(--line); border-radius:10px; overflow:hidden; }
th, td { text-align:left; padding:8px 10px; border-bottom:1px solid #f1ede4; font-size:13px; vertical-align:top; }
th { background:#f6f2e9; font-weight:600; }
td input { padding:4px 6px; font-size:12px; }
.late { color:var(--err); font-weight:600; }
.sender { display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px solid #f1ede4; }
.toolbar input { max-width:420px; }
.pager { margin:10px 0; display:flex; gap:10px; align-items:center; color:var(--muted); font-size:13px; }
.warn { color:#9a6700; font-size:12px; }
dialog { border:1px solid var(--line); border-radius:10px; padding:20px; max-width:720px; width:95vw; }
dialog::backdrop { background:rgba(0,0,0,.25); }
.grid .full { grid-column:1 / -1; margin:0; }
.actions { display:flex; justify-content:flex-end; gap:8px; }
@media (max-width:900px) {
  header { gap:10px 16px; padding:10px 16px; }
  nav { order:3; flex-basis:100%; flex-wrap:nowrap; overflow-x:auto; }
  nav button { white-space:nowrap; }
  #who { margin-left:auto; }
}
@media (max-width:700px) { .grid { grid-template-columns:1fr 1fr; } .grid label, .grid label.wide { grid-column:span 2; } .grid label.mi { grid-column:span 1; } }
