:root{
  --bg:#800000;
  --card:#fffdfb;
  --ink:#25211f;
  --muted:#706864;
  --accent:#8b4f62;
  --accent-dark:#6f3d4c;
  --line:#e8ddd7;
  --soft:#f3e7e9;
  --success:#2e6950;
  --danger:#9b3030;
  --shadow:0 18px 50px rgba(75,51,45,.10);
}
*{box-sizing:border-box}
body{
  margin:0;
  font-family:Inter,system-ui,sans-serif;
  background:#5A0B1A;
  color:var(--ink);
  min-height:100vh;
}
.page-shell{width:min(760px,92%);margin:auto;padding:54px 0 38px}
.hero{text-align:center;margin-bottom:28px}
.brand-mark{
  width:54px;height:54px;border-radius:50%;display:grid;place-items:center;margin:0 auto 14px;
  background:var(--soft);color:var(--accent);font-size:27px;font-weight:700
}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.72rem;color:#D4AF37}
h1,h2{margin-top:0}
h1{font-family:"Playfair Display",serif;font-size:clamp(2.5rem,7vw,4.6rem);line-height:1;margin-bottom:16px}
.hero h1{color:#ffffff}
h1 span{color:#D4AF37}
.hero-copy{max-width:650px;margin:0 auto;color:#ffffff;line-height:1.75}
.card{
  background:rgba(255,253,251,.95);border:1px solid var(--line);border-radius:24px;
  padding:clamp(22px,4vw,38px);box-shadow:var(--shadow)
}
.muted{color:var(--muted);line-height:1.7}
.hidden{display:none!important}
.btn{
  border:0;border-radius:13px;padding:12px 18px;font:inherit;font-weight:700;cursor:pointer;
  transition:.2s ease
}
.btn:hover{transform:translateY(-1px)}
.primary{background:#D4AF37;color:#800000}
.primary:hover{background:var(--accent-dark)}
.ghost{background:#f2ece8;color:var(--ink)}
.full{width:100%;padding:14px 18px}
.signed-in-row{display:flex;gap:16px;justify-content:space-between;align-items:center;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid var(--line)}
.tiny-label{display:block;font-size:.75rem;color:var(--muted);margin-bottom:4px}
label{display:block;font-weight:700;font-size:.93rem;margin:19px 0 8px}
select,textarea,input[type="search"]{
  width:100%;border:1px solid #d9cdc7;border-radius:13px;padding:13px 14px;background:#fff;
  color:var(--ink);font:inherit;outline:none
}
textarea{resize:vertical;line-height:1.55}
select:focus,textarea:focus,input:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(139,79,98,.1)}
.counter{text-align:right;font-size:.78rem;color:var(--muted);margin-top:5px}
.checkbox-row{display:flex;align-items:flex-start;gap:10px;font-weight:500;line-height:1.5}
.checkbox-row input{margin-top:4px}
.privacy-note{background:var(--soft);padding:16px 18px;border-radius:14px;margin:20px 0}
.privacy-note strong{color:var(--accent-dark)}
.privacy-note p{margin:6px 0 0;line-height:1.55;font-size:.88rem;color:#5e5350}
.status{text-align:center;min-height:24px;font-size:.9rem;margin-bottom:0}
.status.success{color:var(--success)} .status.error{color:var(--danger)}
.footer-copy{text-align:center;color:var(--muted);font-size:.78rem;margin-top:22px}

.admin-shell{width:min(1120px,94%);margin:auto;padding:38px 0 60px}
.admin-header{display:flex;justify-content:space-between;gap:30px;align-items:center;margin-bottom:28px}
.admin-header h1{font-size:clamp(2rem,4vw,3.2rem);margin-bottom:7px}
.admin-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.admin-identity{font-size:.8rem;color:var(--muted)}
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:18px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(75,51,45,.06)}
.stat span{display:block;font-size:2rem;font-weight:800;color:var(--accent)}
.stat small{color:var(--muted)}
.toolbar{display:grid;grid-template-columns:1fr 260px;gap:12px;margin:18px 0}
.message-list{display:grid;gap:14px}
.message-card{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 8px 24px rgba(75,51,45,.06)}
.message-card.unread{border-left:5px solid var(--accent)}
.message-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}
.badge{display:inline-block;padding:5px 9px;border-radius:999px;background:var(--soft);color:var(--accent-dark);font-size:.72rem;font-weight:700}
.sender{margin:10px 0 3px;font-weight:800}
.sender-email{font-size:.82rem;color:var(--muted)}
.message-body{white-space:pre-wrap;line-height:1.7;margin:15px 0}
.meta{display:flex;gap:12px;flex-wrap:wrap;color:var(--muted);font-size:.78rem}
.follow-up{color:var(--accent-dark);font-weight:700}
.empty-state{text-align:center;padding:50px 20px;color:var(--muted)}

@media(max-width:700px){
  .page-shell{padding-top:32px}
  .admin-header{align-items:flex-start;flex-direction:column}
  .admin-actions{justify-content:flex-start}
  .stats-grid{grid-template-columns:1fr}
  .toolbar{grid-template-columns:1fr}
  .signed-in-row{align-items:flex-start;flex-direction:column}
}
.conversation-thread{
  margin:16px 0;
  display:flex;
  flex-direction:column;
  gap:10px;
}

.conversation-message{
  padding:12px 14px;
  border-radius:14px;
  background:#f4ece8;
  border:1px solid #e5d8d2;
}

.conversation-message strong{
  display:block;
  margin-bottom:4px;
  color:#5A0B1A;
}

.conversation-message p{
  margin:0 0 6px;
  line-height:1.5;
}

.conversation-message small{
  color:#7a706b;
  font-size:.75rem;
}