:root{
  --bg:#E8E3DD; --bg-deep:#DCD4C8; --card:#F6F2EB;
  --ink:#241C16; --ink-soft:#4A3D33; --line:rgba(36,28,22,0.14);
  --mocha:#A37E66; --mocha-deep:#8C7466;
  --shadow:0 18px 40px rgba(60,45,35,0.16);
  --error:#B5453D; --error-tint:#F7E7E5;
  --good:#5C7A5E; --good-tint:#E7EFE6;
}
*{box-sizing:border-box;}
body{
  margin:0; min-height:100vh; background:var(--bg); color:var(--ink);
  font-family:'Montserrat',sans-serif; font-weight:400; font-size:14px;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--mocha-deep);}
.serif{font-family:'Playfair Display',serif;}

.topbar{
  background:rgba(232,227,221,0.94); border-bottom:1px solid var(--line);
  padding:16px 24px; display:flex; align-items:center; justify-content:space-between;
}
.topbar .brand{font-family:'Playfair Display',serif;font-weight:700;font-size:19px;text-decoration:none;color:var(--ink);}
.topbar nav a{margin-left:18px;font-size:12.5px;text-decoration:none;color:var(--ink-soft);}
.topbar nav a:hover{color:var(--ink);}

.wrap{max-width:520px;margin:0 auto;padding:48px 20px 60px;}
.wrap.wide{max-width:840px;}

.card{background:var(--card);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);padding:32px 30px;margin-bottom:24px;}
.card h1, .card h2{font-family:'Playfair Display',serif;font-weight:700;margin:0 0 8px;}
.card h1{font-size:24px;}
.card h2{font-size:19px;}
.card .lead{color:var(--ink-soft);font-size:13px;margin-bottom:24px;line-height:1.6;}

.field{margin-bottom:16px;}
.field label{display:block;font-size:10.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);font-weight:600;margin-bottom:6px;}
.field input, .field select, .field textarea{
  width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;background:var(--bg);
  color:var(--ink);font-family:'Montserrat',sans-serif;font-size:13.5px;
}
.field input:focus, .field select:focus, .field textarea:focus{outline:none;border-color:var(--mocha);}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:520px){.field-row{grid-template-columns:1fr;}}
.checkbox-field{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--ink-soft);margin-bottom:14px;}
.checkbox-field input{width:auto;margin-top:2px;}

.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;
  padding:13px 22px;border-radius:9px;border:1px solid var(--ink);background:var(--ink);color:var(--bg);
  font-size:12.5px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;text-decoration:none;
}
.btn:hover{background:var(--mocha-deep);border-color:var(--mocha-deep);}
.btn.secondary{background:transparent;color:var(--ink);}
.btn.secondary:hover{background:var(--ink);color:var(--bg);}
.btn.sm{width:auto;padding:9px 16px;font-size:11px;}
.btn.danger{background:var(--error);border-color:var(--error);}

.alert{padding:12px 14px;border-radius:8px;font-size:12.5px;margin-bottom:18px;}
.alert.error{background:var(--error-tint);color:#8C3730;border:1px solid rgba(181,69,61,0.3);}
.alert.good{background:var(--good-tint);color:#3E5940;border:1px solid rgba(92,122,94,0.3);}

.foot-link{text-align:center;font-size:12.5px;color:var(--ink-soft);margin-top:10px;}

table{width:100%;border-collapse:collapse;}
th{text-align:left;font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--ink-soft);padding:10px 12px;border-bottom:1px solid var(--line);}
td{padding:12px;border-bottom:1px solid var(--line);font-size:13px;}
tr:last-child td{border-bottom:none;}
tr.clickable{cursor:pointer;}
tr.clickable:hover{background:var(--bg);}

.record-card{border:1px solid var(--line);border-radius:10px;padding:16px 18px;margin-bottom:14px;background:var(--bg);}
.record-card .rdate{font-family:'Playfair Display',serif;font-weight:700;font-size:14.5px;margin-bottom:8px;}
.record-card .rrow{display:flex;justify-content:space-between;font-size:12.5px;padding:4px 0;border-bottom:1px dashed var(--line);}
.record-card .rrow:last-child{border-bottom:none;}
.record-card .rrow span:first-child{color:var(--ink-soft);}

.empty{padding:30px 10px;text-align:center;color:var(--ink-soft);font-size:13px;}
.row-actions{display:flex;gap:6px;justify-content:flex-start;align-items:center;}
.btn.danger{background:var(--error);border-color:var(--error);color:#fff;}
.pill{display:inline-block;padding:3px 10px;border-radius:20px;font-size:10.5px;font-weight:600;background:var(--bg-deep,var(--bg));color:var(--ink-soft);}
