body { font-family: Georgia, serif; max-width: 40rem; margin: 4rem auto; padding: 0 1rem;
       background: #fdfcf8; color: #222; line-height: 1.6; }
h1 { font-weight: normal; font-size: 2.2rem; margin-bottom: 0.25rem; }
h2 { font-weight: normal; font-size: 1.35rem; margin-top: 2.2rem; }
a { color: #2a5db0; }
.muted { color: #666; }
.box { border: 1px solid #ccc; border-radius: 6px; padding: 1rem 1.25rem; background: #fff; }
.box label { display: block; margin: 0.6rem 0; }
.box input[type=text], .box input[type=email], .box input[type=tel], .box input[type=password] {
  font: inherit; padding: 0.3rem 0.5rem; width: 14rem; max-width: 100%; box-sizing: border-box; }
button { font: inherit; padding: 0.3rem 0.9rem; cursor: pointer; }
button.link { background: none; border: none; padding: 0; color: #2a5db0; text-decoration: underline; }
form.inline { display: inline; }
.small { font-size: 0.9rem; }
.actions { margin: 0.8rem 0; font-size: 0.9rem; }
nav.top { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
nav.top span { display: flex; gap: 1rem; align-items: baseline; }
.notice { border-left: 4px solid #3a8a4a; background: #eef7ef; padding: 0.5rem 0.9rem; }
.error { border-left: 4px solid #b03a2a; background: #fbeeec; padding: 0.5rem 0.9rem; }
table.list { border-collapse: collapse; width: 100%; font-size: 0.95rem; }
table.list th, table.list td { text-align: left; padding: 0.45rem 0.5rem 0.45rem 0; border-bottom: 1px solid #ddd;
  vertical-align: top; }
table.list th { font-weight: normal; color: #666; }
.sms { font-family: system-ui, sans-serif; background: #e9e9eb; color: #000; border-radius: 1rem;
       padding: 0.6rem 0.9rem; margin: 0.5rem 0; max-width: 26rem; }
footer { margin-top: 3rem; font-size: 0.9rem; color: #666; }
@media (prefers-color-scheme: dark) {
  body { background: #16161a; color: #eee; } .muted, footer { color: #aaa; } a { color: #8ab4f8; }
  .box { background: #202026; border-color: #444; } .sms { background: #2c2c30; color: #eee; }
  button.link { color: #8ab4f8; } table.list th, table.list td { border-color: #333; } table.list th { color: #aaa; }
  .notice { background: #1d2a1f; } .error { background: #2e1c1a; }
}
