body { font-family: system-ui, sans-serif; margin: 0; background: #f4f6f8; color: #1b2430; }
main { max-width: 640px; margin: 0 auto; padding: 24px 16px 64px; }
main.terms { max-width: 760px; line-height: 1.6; }
main.wide { max-width: 1000px; }
form { display: grid; gap: 14px; margin-top: 16px; }
label { display: grid; gap: 6px; font-weight: 600; }
label.check { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; }
input, textarea { font: inherit; padding: 8px; border: 1px solid #b8c2cc; border-radius: 6px; }
button, .button { font: inherit; padding: 10px 16px; border: 0; border-radius: 6px; background: #2457d6; color: #fff; cursor: pointer; text-decoration: none; display: inline-block; }
button.secondary { background: #5b6672; }
button.danger { background: #c0392b; }
button:disabled { opacity: 0.6; cursor: not-allowed; }
#message { min-height: 1.5em; }
.grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 16px; margin-top: 16px; }
.card { background: #fff; border-radius: 10px; padding: 12px; box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12); display: grid; gap: 8px; align-content: start; }
.card img { width: 100%; border-radius: 6px; background: #e6eaee; }
.card h2 { font-size: 1.1rem; margin: 0; }
.card p { margin: 0; overflow-wrap: anywhere; }
table { width: 100%; border-collapse: collapse; background: #fff; }
th, td { text-align: left; padding: 8px; border-bottom: 1px solid #dde3e9; vertical-align: top; }
td.actions { display: flex; gap: 6px; flex-wrap: wrap; }
