:root{
  --green:#0F2E1A;
  --green-soft:#1F4A2C;
  --green-pale:#E7EFE6;
  --cream:#FBF6EC;
  --card:#FFFFFF;
  --line:#E9E1D0;
  --ink:#20241E;
  --ink-dim:#7A7565;
  --terracotta:#D9603B;
  --terracotta-pale:#FBE7DE;
  --gold:#E8A93A;
  --gold-pale:#FCEFD6;
  --ok:#3E8A5B;
  --ok-pale:#E4F3E9;
  --radius:16px;
  --radius-sm:10px;
  --shadow:0 2px 10px rgba(15,46,26,.06), 0 10px 30px rgba(15,46,26,.06);
  --shadow-lift:0 8px 24px rgba(15,46,26,.14);
  color-scheme: light;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--cream); color:var(--ink);
  font-family:'Nunito', 'Quicksand', sans-serif; font-weight:500;
  min-height:100vh; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,.display{
  font-family:'Fraunces', serif; font-weight:600; letter-spacing:-.01em; line-height:1.05; margin:0; color:var(--green);
}
.display em, h1 em, h2 em{ font-style:italic; font-weight:500; }
.mono{font-family:'JetBrains Mono',ui-monospace,monospace;}
svg.ic{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none;vertical-align:-3px;}
.wrap{max-width:1180px;margin:0 auto;padding:20px 18px 64px;}

.brandbar{display:flex;align-items:center;justify-content:space-between;padding:12px 4px 18px;flex-wrap:wrap;gap:12px;}
.brand{display:flex;align-items:center;gap:12px;}
.brand .glyph{width:40px;height:40px;border-radius:12px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);}
.brand .mark{font-size:24px;color:var(--green);}
.brand .sub{font-family:'Nunito';font-weight:700;font-size:10.5px;color:var(--ink-dim);letter-spacing:.1em;text-transform:uppercase;margin-top:1px;}

button{font-family:'Nunito';cursor:pointer;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--terracotta);color:#fff;border:none;
  font-weight:800;font-size:14px;padding:12px 18px;border-radius:999px;box-shadow:var(--shadow);transition:transform .1s;}
.btn:active{transform:scale(.97);}
.btn.ghost{background:var(--card);border:1.5px solid var(--line);color:var(--ink);box-shadow:none;}
.btn.ghost:hover{border-color:var(--green);color:var(--green);}
.btn.small{padding:8px 14px;font-size:12.5px;}

.field{margin-bottom:14px;}
.field label{display:block;font-family:'Nunito';font-weight:800;font-size:11.5px;color:var(--green);letter-spacing:.03em;margin-bottom:6px;text-transform:uppercase;}
.field select,.field textarea,.field input{
  width:100%;background:var(--card);color:var(--ink);border:1.5px solid var(--line);
  border-radius:var(--radius-sm);font-family:'Nunito';font-weight:600;font-size:14px;padding:11px 13px;
}
.field select:focus,.field textarea:focus,.field input:focus{outline:none;border-color:var(--green);}
.field textarea{resize:vertical;min-height:70px;}

table{width:100%;border-collapse:separate;border-spacing:0;font-family:'Nunito';font-weight:600;font-size:13.5px;}
th{text-align:left;color:var(--ink-dim);font-weight:800;font-size:11px;letter-spacing:.03em;text-transform:uppercase;padding:10px 12px;border-bottom:2px solid var(--line);}
td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:middle;}
tr:hover td{background:var(--green-pale);}
.pill{font-family:'Nunito';font-weight:800;font-size:11px;padding:4px 11px;border-radius:999px;background:var(--green-pale);color:var(--green-soft);}

.badge{font-family:'Nunito';font-weight:800;font-size:10.5px;padding:4px 11px;border-radius:999px;letter-spacing:.02em;white-space:nowrap;}
.badge.open{background:var(--terracotta-pale);color:var(--terracotta);}
.badge.closed{background:var(--ok-pale);color:var(--ok);}

.modal-bg{display:none;position:fixed;inset:0;background:rgba(15,46,26,.45);z-index:50;align-items:center;justify-content:center;padding:20px;}
.modal-bg.active{display:flex;}
.modal{background:var(--card);border-radius:20px;max-width:480px;width:100%;padding:22px;max-height:86vh;overflow-y:auto;box-shadow:var(--shadow-lift);}
.modal h3{font-size:20px;margin-bottom:16px;}
.modal-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:18px;}

.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--green);color:#fff;
  padding:12px 20px;border-radius:999px;font-family:'Nunito';font-weight:700;font-size:13px;z-index:80;display:none;box-shadow:var(--shadow-lift);}
.toast.show{display:block;}
