:root{font-family:Arial,Helvetica,sans-serif;color:#242c28;background:#f1f2ef;font-size:14px;--green:#30513e;--line:#d6dbd4;--muted:#626d65;--pale:#edf2e8}*{box-sizing:border-box}body{margin:0}button,input,select,textarea,summary{font:inherit}button,summary{cursor:pointer}button{border:1px solid #bac3b9;border-radius:4px;background:#fff;color:#293b2e;padding:9px 13px;font-weight:600;white-space:nowrap}button:hover{background:#edf2e8}button:disabled{opacity:.5;cursor:default}.primary{background:var(--green);border-color:var(--green);color:white}.primary:hover{background:#233f2f}.danger{color:#8e3c26}button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible,a:focus-visible{outline:2px solid #567e32;outline-offset:2px}.masthead{background:#fff;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;padding:15px 32px;gap:24px}.brand{display:flex;align-items:center;gap:16px}.brand img{width:68px;height:68px;object-fit:contain}.brand h1{font-family:Georgia,serif;font-size:26px;letter-spacing:-.4px;margin:0 0 7px;font-weight:normal}.brand p{margin:0;font-size:10px;letter-spacing:1.8px;color:var(--muted)}.connection{display:flex;align-items:center;gap:16px;color:var(--muted);font-size:12px}.connection span:before{content:'●';color:#6e7d45;margin-right:7px}main{padding:25px 28px 16px;max-width:2000px;margin:auto}nav{display:flex;gap:3px;overflow:auto}nav button{border:1px solid transparent;border-radius:4px 4px 0 0;background:transparent;color:var(--muted);padding:13px 18px;border-bottom:0}nav button[aria-current=page]{background:#fff;color:var(--green);border-color:var(--line);position:relative}nav small{font-size:11px;font-weight:normal;margin-left:7px;color:#6b7867}.sheet{background:white;border:1px solid var(--line);border-radius:0 5px 5px 5px;box-shadow:0 2px 6px #293e2c06}.sheet-heading{display:flex;align-items:center;justify-content:space-between;padding:24px;gap:20px}.eyebrow{font-size:10px;letter-spacing:1.3px;color:var(--muted);font-weight:600;margin:0 0 8px}h2{font-family:Georgia,serif;font-size:27px;font-weight:normal;margin:0}.actions{display:flex;gap:8px}#count{display:inline-block;min-width:20px;margin-left:7px;background:#ffffff25;border-radius:3px;padding:1px 4px}.filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;padding:16px 24px;background:#f8f9f6;border-block:1px solid var(--line)}label{display:flex;flex-direction:column;gap:7px;color:#52604e;font-size:12px;font-weight:600}input,select,textarea{min-width:0;border:1px solid #bfc8bd;border-radius:3px;background:#fff;color:#253729;padding:9px 10px;font-weight:normal}label.search{flex:1;min-width:220px}.filters select{min-width:170px}#year{width:90px}details{position:relative}summary{padding:10px 12px;border:1px solid #bfc8bd;border-radius:3px;background:#fff;font-size:12px}#column-list{position:absolute;z-index:8;right:0;top:42px;min-width:250px;max-height:400px;overflow:auto;background:#fff;padding:12px;border:1px solid var(--line);box-shadow:0 5px 20px #0002}#column-list label{flex-direction:row;align-items:center;margin:9px 0}.formula{display:flex;align-items:center;gap:16px;padding:11px 24px;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.formula strong{font-size:10px;letter-spacing:.8px;color:#50604d;background:#edf0e9;border:1px solid #d6dfd0;padding:4px 7px;white-space:nowrap}.formula.editing strong{color:#805b18;background:#fcf3d8;border-color:#e5cd91}.grid{overflow:auto;max-height:calc(100vh - 420px);min-height:260px;scrollbar-color:#aeb9ac #f4f5f2}table{border-collapse:separate;border-spacing:0;min-width:100%;font-size:13px;white-space:nowrap}th,td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:38px;padding:0 12px;text-align:left;max-width:280px;overflow:hidden;text-overflow:ellipsis}thead th{position:sticky;top:0;z-index:3;background:#e7ece3;font-size:11px;letter-spacing:.3px;color:#45533f;font-weight:600}th button{font:inherit;padding:0;border:0;background:none;color:inherit}th:first-child,td:first-child{position:sticky;left:0;z-index:2;background:#f4f6f1;text-align:center;color:#77816f;font-size:11px;min-width:48px}thead th:first-child{z-index:4;background:#e7ece3}tbody tr:nth-child(even){background:#f9faf7}tbody tr:hover{background:#f0f4eb}td.changed{background:#fff2c9}td .cell{width:100%;min-width:120px;border:0;background:transparent;padding:8px 0;border-radius:0;font:inherit;color:inherit}td input.cell,td select.cell,td textarea.cell{min-width:145px;outline-offset:-1px}td textarea.cell{height:34px;resize:vertical}td .record-link{padding:0;border:0;background:none;text-decoration:underline;text-underline-offset:3px;color:var(--green);font-weight:600}.sheet-footer{padding:14px 20px;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);gap:16px}.sheet-footer div{display:flex;align-items:center;gap:15px}.sheet-footer button{padding:6px 10px;font-size:12px}.footnote{font-size:11px;color:var(--muted);line-height:1.6;margin:14px 0}#message{padding:12px 24px;margin:0;border-bottom:1px solid #dfc785;background:#fff8e5;color:#70521a}dialog{border:1px solid #b9c3b4;border-radius:6px;padding:25px;width:min(880px,94vw);max-height:85vh;overflow:auto;color:#29352a;box-shadow:0 20px 100px #12211540}dialog::backdrop{background:#15221b66}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-head button{border:0}dialog p{color:var(--muted);font-size:13px;line-height:1.6}.dialog-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:22px;border-top:1px solid var(--line);padding-top:18px}#changes section{border:1px solid var(--line);margin-top:14px;padding:12px}#changes h3{margin:0 0 10px;font-size:13px}#changes dl,.animal-fields{display:grid;grid-template-columns:minmax(120px,1fr) 2fr;gap:9px 16px;font-size:13px;line-height:1.5}dt{color:var(--muted)}dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}del{color:#8e543f}ins{color:#285232;text-decoration:none;font-weight:600}.animal-fields{border-block:1px solid var(--line);padding:16px 0}.related{display:flex;flex-wrap:wrap;gap:8px;margin-block:12px}.empty{text-align:center;padding:50px!important;color:var(--muted)}[hidden]{display:none!important}@media(max-width:1000px){.masthead{padding:12px 18px}.brand h1{font-size:22px}main{padding:18px 12px}.sheet-heading{align-items:flex-start;flex-direction:column;padding:18px}.filters{padding:14px 18px}.connection{flex-direction:column;align-items:end;gap:8px}.grid{max-height:60vh}.actions{flex-wrap:wrap}.sheet-footer{flex-wrap:wrap}.formula{padding:10px 18px;align-items:flex-start}.brand p{font-size:8px}nav button{padding:12px}}@media(max-width:600px){.brand img{width:46px;height:46px}.brand h1{font-size:19px}.brand p{letter-spacing:.5px}.connection span{display:none}.connection button{font-size:11px;padding:7px}.sheet-heading h2{font-size:24px}.filters label{flex:1}.filters select{min-width:130px}.formula{line-height:1.6}.formula strong{margin-top:3px}.sheet-footer div{gap:8px}dialog{padding:18px}}
.income-content {
  padding: 0 24px 24px;
}
.income-caption {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}
.income-notice {
  background: #fff8e5;
  border: 1px solid #e5d7ad;
  border-radius: 3px;
  padding: 12px 16px;
  color: #70521a;
  font-size: 13px;
  line-height: 1.6;
}
.income-metrics {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 14px;
  margin: 22px 0;
}
.income-metric {
  border: 1px solid var(--line);
  border-top: 3px solid var(--green);
  padding: 20px;
  background: #f9faf7;
}
.income-metric h3 {
  font-size: 12px;
  font-weight: normal;
  color: var(--muted);
  margin: 0 0 16px;
}
.income-metric strong {
  display: block;
  font-size: 27px;
  font-weight: 600;
  color: var(--green);
  overflow-wrap: anywhere;
  font-variant-numeric: tabular-nums;
}
.income-metric p {
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
  margin: 12px 0 0;
}
.income-chart {
  border: 1px solid var(--line);
  padding: 20px;
  margin: 22px 0;
  overflow-x: auto;
}
.income-chart figcaption {
  font-family: Georgia, serif;
  font-size: 20px;
  margin-bottom: 16px;
}
.income-chart svg {
  display: block;
  width: 100%;
  min-width: 600px;
  max-height: 380px;
}
.income-bar {
  fill: var(--green);
}
.income-gridline {
  stroke: var(--line);
  stroke-width: 1;
}
.income-axis, .income-no-value {
  fill: var(--muted);
  font-size: 13px;
  font-family: Arial, sans-serif;
}
.income-no-value {
  fill: #94752b;
  font-size: 17px;
}
.income-empty {
  padding: 35px 12px;
  color: var(--muted);
  text-align: center;
  font-size: 13px;
  line-height: 1.7;
}
.income-table {
  overflow-x: auto;
  border: 1px solid var(--line);
}
.income-table caption {
  padding: 14px;
  text-align: left;
  font-weight: 600;
}
.income-table th:first-child, .income-table td:first-child {
  font-size: 13px;
  min-width: 110px;
  text-align: left;
}
.income-table td:last-child {
  font-variant-numeric: tabular-nums;
}
@media (max-width: 850px) {
  .income-metrics {
    grid-template-columns: 1fr 1fr;
  }
  .income-metric:first-child {
    grid-column: 1 / -1;
  }
}
@media (max-width: 600px) {
  .income-content {
    padding: 0 16px 16px;
  }
  .income-chart, .income-metric {
    padding: 14px;
  }
  .income-metric strong {
    font-size: 23px;
  }
}
