:root{
  --bg:#f5efe6;
  --card:#ffffff;
  --ink:#1d1d1f;
  --ink2:#6b6b6b;
  --accent:#0f172a;
  --green:#22c55e;
  --red:#ef4444;
  --border:#e5e5e5;
}

/* BASE */

body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto;
  background:var(--bg);
  color:var(--ink);
}

/* TOPBAR */

.topbar{
  display:flex;
  justify-content:space-between;
  padding:16px;
  background:var(--bg);
}

.brand-name{
  font-weight:800;
  font-size:18px;
}

.brand-sub{
  font-size:12px;
  color:var(--ink2);
}

/* SUBNAV */

.subnav{
  display:flex;
  gap:10px;
  padding:10px 16px;
}

.snav{
  background:#e9e2d7;
  border:none;
  padding:10px 16px;
  border-radius:20px;
  font-weight:600;
}

.snav.active{
  background:var(--accent);
  color:white;
}

.snav-fab{
  margin-left:auto;
  background:var(--accent);
  color:white;
  border:none;
  width:44px;
  height:44px;
  border-radius:50%;
  font-size:20px;
}

/* CARDS */

.cer-card{
  background:var(--card);
  margin:12px 16px;
  padding:16px;
  border-radius:18px;
  box-shadow:0 4px 12px rgba(0,0,0,0.05);
}

/* HEADER */

.cer-hd{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}

.cer-name{
  font-size:18px;
  font-weight:800;
}

.cer-date-col{
  text-align:right;
  font-size:13px;
  color:var(--ink2);
}

/* PLACE */

.cer-place{
  margin-top:6px;
  font-weight:600;
  color:var(--ink2);
}

/* ROWS */

.cer-row{
  margin-top:6px;
  font-size:14px;
}

.cer-row b{
  font-weight:700;
}

/* BADGES */

.badge{
  display:inline-block;
  padding:4px 10px;
  border-radius:12px;
  font-size:12px;
  margin-right:6px;
}

.badge--burial{
  background:#e0f2fe;
  color:#0369a1;
}

.badge--cremation{
  background:#fef3c7;
  color:#92400e;
}

/* ACTIONS */

.cer-actions{
  display:flex;
  gap:8px;
  margin-top:14px;
}

.cbtn{
  border:none;
  border-radius:20px;
  padding:8px 14px;
  font-size:13px;
  font-weight:600;
}

.cbtn--edit{
  background:#111827;
  color:white;
}

.cbtn--wa{
  background:#22c55e;
  color:white;
}

.cbtn--delete{
  background:transparent;
  color:var(--red);
}

.cbtn--link{
  background:#e5e7eb;
}

/* TODAY */

.today{
  border-left:4px solid var(--accent);
}

/* GREEN FUTURE */

.green-frame{
  border:2px solid var(--green);
}

/* DASHBOARD */

.dashboard{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:10px;
  padding:10px 16px;
}

.dc{
  background:white;
  padding:12px;
  border-radius:12px;
  text-align:center;
}

.dc-n{
  font-size:18px;
  font-weight:800;
}

/* BOTTOM NAV */

.bottomnav{
  position:fixed;
  bottom:0;
  width:100%;
  background:white;
  display:flex;
  justify-content:space-around;
  padding:10px 0;
  border-top:1px solid var(--border);
}

.bnav{
  background:none;
  border:none;
  font-size:12px;
  display:flex;
  flex-direction:column;
  align-items:center;
}

.bnav.active{
  color:var(--accent);
}

/* MODAL */

.modal-sheet{
  background:white;
  border-radius:20px 20px 0 0;
  padding:16px;
}

/* INPUTS */

.fl input,
.fl select,
textarea{
  width:100%;
  padding:10px;
  border-radius:10px;
  border:1px solid var(--border);
  margin-top:4px;
}

/* BUTTONS */

.btn-primary{
  background:var(--accent);
  color:white;
  padding:12px;
  border-radius:12px;
  border:none;
  width:100%;
}

.btn-ghost{
  background:#eee;
  padding:12px;
  border-radius:12px;
  border:none;
  width:100%;
}