/* OakPulse Client Portal — RedOak theme.
   Palette/typography/shape per /tmp/oakpulse-design/DESIGN_TOKENS.md.
   Dark navy topbar (#07132f) + light content area (#f4f6f9) with white cards.
   Georgia serif headings, crimson #b82135 primary buttons, gold #c6a56b accents.
   System font stacks only — no external assets. */
:root{
  --navy-900:#07132f;
  --navy-800:#09192e;
  --crimson:#b82135;
  --crimson-hover:#9c1a2c;
  --crimson-bright:#bb1938;
  --gold:#c6a56b;
  --gold-soft:#f7efdd;
  --ink:#1c2733;
  --muted:#697286;
  --muted-blue:#aab8cb;
  --line:#dfe5ee;
  --line-dark:#22304a;
  --surface:#ffffff;
  --page:#f4f6f9;
  --ok:#1e7a4c;
  --ok-soft:#e7f4ec;
  --warn:#9a6b12;
  --warn-soft:#fdf3dc;
  --bad:#b82135;
  --bad-soft:#fdecef;
  --radius:14px;
  --shadow:0 1px 2px rgba(7,19,47,.06),0 8px 24px rgba(7,19,47,.06);
  --serif:Georgia,'Times New Roman',serif;
  --sans:Inter,system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  background:var(--page);
  color:var(--ink);
  font:16px/1.6 var(--sans);
  -webkit-font-smoothing:antialiased;
}
a{color:var(--crimson)}
img{max-width:100%}
h1,h2,h3{font-family:var(--serif);color:var(--navy-800);font-weight:500;line-height:1.15}
h1{font-size:clamp(30px,4.5vw,42px);letter-spacing:-.02em;margin:0 0 10px}
h2{font-size:22px;margin:26px 0 10px}
h3{font-size:17px;margin:0 0 6px}
p{margin:0 0 12px}
p:last-child{margin-bottom:0}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86em;word-break:break-all}

/* ---------- Topbar (dark navy) ---------- */
header.top{
  position:sticky;top:0;z-index:10;
  background:var(--navy-900);
  color:#fff;
  border-bottom:3px solid var(--gold);
  box-shadow:0 4px 18px rgba(7,19,47,.25);
}
.wrap{max-width:1060px;margin:0 auto;padding:0 20px}
.top .wrap{display:flex;align-items:center;gap:12px;min-height:64px;flex-wrap:wrap}
.brand{font-family:var(--serif);font-weight:500;font-size:21px;letter-spacing:-.01em;color:#fff;white-space:nowrap}
.brand span{color:var(--gold)}
/* Brand badge (P2-8): the real OakPulse badge, inlined as a data URI
   because the portal server's MIME map has no .png entry (server.mjs is
   Phase 1-owned; a /logo.png file can replace this once '.png' is added
   there). 96px source, shown at 30px. */
.brand-logo{display:inline-block;width:30px;height:30px;vertical-align:-6px;margin-right:8px;
  background:url(data:image/png;base64,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) center/contain no-repeat}
.foot-brand .brand-logo{vertical-align:-6px}
.tag{
  font-size:12px;font-weight:700;color:var(--muted-blue);
  border:1px solid var(--line-dark);border-radius:999px;padding:3px 11px;white-space:nowrap;
}
.tag#orgTag{color:#e8c986;border-color:#3a4a66}
.spacer{flex:1}
#whoLine{color:var(--muted-blue)}
#logoutBtn{
  background:transparent;color:#fff;border:1px solid rgba(255,255,255,.35);
  border-radius:10px;padding:8px 14px;font-size:14px;font-weight:600;cursor:pointer;
}
#logoutBtn:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6)}

/* Cross-app links in the topbar (Marketing / Staff HQ / RedOak). */
.top .app-links{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.top .app-links a{
  color:#fff;border:1px solid rgba(255,255,255,.35);border-radius:999px;
  padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;
}
.top .app-links a:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.6);color:#fff}

/* ---------- Layout ---------- */
main{padding:36px 0 64px}
.kicker{
  display:block;margin:0 0 12px;
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--crimson);
}
p.lead{color:var(--muted);max-width:70ch;font-size:16px}
.muted{color:var(--muted)}
.small{font-size:13px}

/* ---------- Cards ---------- */
.card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:20px 22px;
  margin:14px 0;
  overflow-x:auto; /* tables scroll inside the card on narrow screens */
}
.card > :first-child{margin-top:0}

/* ---------- Buttons & forms ---------- */
button,.btn{
  cursor:pointer;border:1px solid var(--line);background:var(--surface);color:var(--navy-800);
  border-radius:10px;padding:10px 16px;font-size:14px;font-weight:600;font-family:var(--sans);
  transition:background .15s ease,border-color .15s ease,transform .15s ease,box-shadow .15s ease;
}
button:hover{border-color:var(--navy-800)}
button.primary,.btn.primary{
  background:var(--crimson);border-color:var(--crimson);color:#fff;font-weight:700;
  box-shadow:0 6px 16px rgba(184,33,53,.22);
}
button.primary:hover{background:var(--crimson-hover);border-color:var(--crimson-hover);transform:translateY(-1px)}
button:disabled{opacity:.5;cursor:not-allowed}
:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:2px;
}
header.top :focus-visible{outline-color:var(--gold)}
input,select,textarea{
  width:100%;background:#fbfcfe;border:1px solid #d6dbe6;color:var(--ink);
  border-radius:10px;padding:11px 13px;font-size:15px;font-family:var(--sans);margin:6px 0 14px;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--crimson);background:#fff;
  outline:2px solid rgba(184,33,53,.25);outline-offset:0;
}
label{font-size:13px;font-weight:700;color:#495268;display:block}
label .muted{font-weight:400}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}

/* ---------- Auth ---------- */
.auth-shell{
  max-width:560px;margin:8px auto 0;
}
.auth-shell h1{text-align:left}
.auth-shell .lead{margin-bottom:22px}
.auth-card{
  position:relative;overflow:hidden;
  padding:30px 30px 26px;
}
.auth-card::before{
  content:"";display:block;height:4px;margin:-30px -30px 26px;
  background:linear-gradient(90deg,var(--crimson),var(--gold) 60%,transparent);
}
.auth-card h2{margin:0 0 4px;font-size:24px}
.auth-card .auth-sub{color:var(--muted);font-size:14px;margin:0 0 20px}
form.auth{max-width:none}
form.auth .row{margin-top:6px}
form.auth .row button{flex:1;min-height:48px}
.auth-note{
  margin:16px 0 0;padding:12px 14px;border-radius:10px;
  background:var(--warn-soft);border:1px solid #ecd9a8;color:#6d4c0d;
  font-size:13px;line-height:1.55;
}
.auth-note strong{color:#5c3f0a}

/* ---------- Dashboard ---------- */
.dash-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 20px}
.grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:22px 0 6px}
.stat{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:18px 20px 16px;position:relative;overflow:hidden;
}
.stat::before{
  content:"";position:absolute;inset:0 0 auto;height:3px;
  background:linear-gradient(90deg,var(--crimson),var(--gold));
}
.stat b{
  font-family:var(--serif);font-weight:500;font-size:38px;line-height:1.1;
  color:var(--navy-800);display:block;margin:2px 0 4px;
}
.stat span{
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
}

/* ---------- Tabs ---------- */
.tabs{
  display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 4px;
  border-bottom:1px solid var(--line);padding-bottom:0;
}
.tabs button{
  border:1px solid transparent;border-bottom:0;background:transparent;color:var(--muted);
  border-radius:10px 10px 0 0;padding:11px 18px;font-size:14px;font-weight:700;
  margin-bottom:-1px;
}
.tabs button:hover{color:var(--navy-800);background:#fff;border-color:var(--line)}
.tabs button[aria-selected="true"]{
  background:var(--navy-900);color:#fff;border-color:var(--navy-900);
  box-shadow:inset 0 -3px 0 var(--gold);
}

/* ---------- Tables ---------- */
table{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
th,td{text-align:left;padding:11px 10px;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
tbody tr:hover{background:#f8fafc}
th{
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  padding-top:4px;
}
td button{padding:7px 12px;font-size:13px}

/* ---------- Status pills ---------- */
.pill{
  display:inline-block;font-size:12px;font-weight:700;
  border:1px solid var(--line);border-radius:999px;padding:2px 10px;color:var(--muted);
  background:#f8fafc;white-space:nowrap;
}
.pill.ok{color:var(--ok);border-color:#bcdcc6;background:var(--ok-soft)}
.pill.warn{color:var(--warn);border-color:#e8d5a4;background:var(--warn-soft)}

/* ---------- Notices ---------- */
.err{
  background:var(--bad-soft);border:1px solid #f0c2c7;color:#8c1d28;
  border-radius:10px;padding:11px 14px;margin:12px 0;font-size:14px;
}
.okbox{
  background:var(--ok-soft);border:1px solid #bcdcc6;color:#14532e;
  border-radius:10px;padding:11px 14px;margin:12px 0;font-size:14px;
}
#panel > .card > p{color:var(--ink)}
#panel .card p.muted{color:var(--muted)}

/* ---------- Case / meeting detail (JS-rendered) ---------- */
#panel .card h2{margin:6px 0 8px}
#panel .card h3{margin:22px 0 8px;font-size:18px}
#panel .card h3:first-of-type{margin-top:18px}
#backBtn{margin-bottom:6px}
#panel pre{
  white-space:pre-wrap;word-break:break-word;background:#0e1320;color:#dbe4f5;
  border:1px solid var(--line-dark);border-radius:10px;padding:14px;font-size:13px;
  overflow:auto;line-height:1.5;
}
#panel details{margin-top:18px}
#panel summary{cursor:pointer;color:var(--muted);font-weight:600}
#panel summary:hover{color:var(--navy-800)}
#evOut{margin-top:12px}

/* ---------- Footer (dark navy) ---------- */
footer{
  background:var(--navy-900);color:var(--muted-blue);
  border-top:3px solid var(--gold);padding:28px 0 32px;font-size:13px;line-height:1.7;
}
footer .foot-brand{
  font-family:var(--serif);font-size:19px;color:#fff;margin-bottom:8px;
}
footer .foot-brand span{color:var(--gold)}
footer p{max-width:80ch;margin:0}
footer .foot-links{margin-top:16px;display:flex;gap:18px;flex-wrap:wrap}
footer .foot-links a{color:var(--muted-blue)}
footer .foot-links a:hover{color:#fff}

.hidden{display:none!important}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  body{font-size:15px}
  main{padding:24px 0 48px}
  h1{font-size:26px}
  .top .wrap{gap:8px;min-height:58px}
  .brand{font-size:19px}
  .top .app-links a{padding:5px 10px;font-size:12px}
  #whoLine{display:none}
  .auth-shell{margin-top:0}
  .auth-card{padding:24px 20px 20px}
  .auth-card::before{margin:-24px -20px 20px}
  .card{padding:16px}
  .grid{gap:10px}
  .stat{padding:14px 16px 12px}
  .stat b{font-size:30px}
  .tabs{gap:6px}
  .tabs button{padding:10px 13px;font-size:13px}
  table{font-size:13px;min-width:480px}
  form.auth .row button{flex:1 1 100%}
}
@media (max-width:380px){
  .wrap{padding:0 14px}
  .tag#orgTag{max-width:130px;overflow:hidden;text-overflow:ellipsis}
  .stat b{font-size:26px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none!important;scroll-behavior:auto!important}
}
