:root { color-scheme: light dark; }
body { font-family: Arial, Helvetica, sans-serif; margin: 0; background: #f5f7fa; color: #1d2733; }
.wrap { max-width: 1200px; margin: 0 auto; padding: 1rem; }
.site-header, .site-footer { background: #1f2937; color: #fff; }
.site-header h1 { margin: 0; font-size: 1.5rem; }
.nav { margin-top: .75rem; display:flex; gap:1rem; flex-wrap:wrap; }
.nav a { color:#fff; text-decoration:none; }
.card { background:#fff; border-radius:10px; box-shadow:0 1px 4px rgba(0,0,0,.08); padding:1rem; margin:1rem 0; }
.grid { display:grid; gap:1rem; }
.grid-2 { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
label { display:block; font-weight:700; margin-bottom:.35rem; }
input[type=text], input[type=password], textarea, select { width:100%; box-sizing:border-box; padding:.65rem; border:1px solid #c7d0db; border-radius:8px; background:#fff; color:#111; }
textarea { min-height:120px; }
button, .button { display:inline-block; padding:.7rem 1rem; border-radius:8px; border:0; background:#2563eb; color:#fff; text-decoration:none; cursor:pointer; }
.button.secondary { background:#4b5563; }
.button.danger { background:#b91c1c; }
.button-row { display:flex; gap:.5rem; flex-wrap:wrap; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; background:#fff; }
th, td { padding:.7rem; border-bottom:1px solid #e5e7eb; text-align:left; vertical-align:top; }
th a { color: inherit; text-decoration:none; }
.notice { padding:.8rem 1rem; border-radius:8px; margin:1rem 0; }
.notice.ok { background:#dcfce7; color:#14532d; }
.notice.error { background:#fee2e2; color:#7f1d1d; }
.small { font-size:.9rem; }
.badge { display:inline-block; background:#e5e7eb; border-radius:999px; padding:.2rem .6rem; font-size:.85rem; }
.details dl { display:grid; grid-template-columns: 180px 1fr; gap:.4rem .8rem; }
.details dt { font-weight:700; }
.pagination { display:flex; gap:.35rem; flex-wrap:wrap; }
.pagination a, .pagination span { padding:.45rem .7rem; border-radius:8px; background:#fff; text-decoration:none; color:#111; }
.pagination .current { background:#2563eb; color:#fff; }
@media print {
  .site-header, .site-footer, .button-row, .filters { display:none; }
  body { background:#fff; }
  .card, table { box-shadow:none; }
}

.latest-list { list-style:none; padding:0; margin:0; }
.latest-list li { padding:.55rem 0; border-bottom:1px solid #e5e7eb; }
.latest-list li:last-child { border-bottom:0; }
.latest-list a { color:inherit; text-decoration:none; font-weight:600; }
