:root { color-scheme: light; font-family: Inter, ui-sans-serif, system-ui, sans-serif; background: #f4f1ea; color: #1d2925; }
* { box-sizing: border-box; }
body { margin: 0; }
main { width: min(880px, calc(100% - 32px)); margin: 64px auto; }
header { border-bottom: 1px solid #b9c2bc; padding-bottom: 28px; }
.eyebrow { color: #49665c; font-size: 12px; font-weight: 700; letter-spacing: .16em; }
h1 { font-family: Georgia, serif; font-size: clamp(38px, 7vw, 72px); font-weight: 500; letter-spacing: -.04em; line-height: 1; margin: 16px 0; }
h2 { font-family: Georgia, serif; font-size: 22px; margin: 0; }
.auth, form { margin: 28px 0; }
label, small { display: block; }
label { font-weight: 700; margin-bottom: 8px; }
small { color: #5c6964; margin-top: 8px; }
input, select, button { border: 1px solid #94a39c; border-radius: 4px; font: inherit; padding: 12px 14px; }
input, select { background: #fff; min-width: 0; }
button { background: #183f33; color: white; cursor: pointer; }
button:disabled { background: #7d8b86; cursor: default; }
.auth input { width: min(100%, 440px); }
.auth button { margin-left: 6px; }
.search-row { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: center; }
#panel-objects .search-row { grid-template-columns: 1fr auto; }
article { background: #fff; border-left: 3px solid #b76735; margin-top: 12px; padding: 18px 20px; }
article h2, article h3 { font-family: Georgia, serif; margin: 0 0 8px; }
.tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 4px; }
.tabs button { background: #fff; color: #1d2925; border-color: #b9c2bc; }
.tabs button.active { background: #183f33; color: #fff; }
.panel { display: none; }
.panel.active { display: block; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 24px; }
.actions { display: flex; gap: 8px; margin-top: 12px; }
.actions button { padding: 8px 12px; font-size: 14px; }
dl { display: grid; grid-template-columns: minmax(220px, auto) 1fr; gap: 6px 18px; background: #fff; padding: 18px 20px; border: 1px solid #d5dbd7; }
dt { font-weight: 700; }
dd { margin: 0; }
[aria-live] { color: #46554f; }
@media (max-width: 600px) {
  main { margin-top: 32px; }
  .auth button { margin: 8px 0 0; }
  .search-row { grid-template-columns: 1fr; }
  dl { grid-template-columns: 1fr; }
}
