* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif; line-height: 1.6; color: #1d2733; background: #f6f8fa; }
header, main, footer { max-width: 860px; margin: 0 auto; padding: 0 16px; }
header { padding-top: 20px; padding-bottom: 8px; }
nav a { margin-right: 14px; font-weight: 600; }
nav a.here { color: #1d2733; text-decoration: none; border-bottom: 3px solid #1f7a4d; }
h1 { font-size: 1.9rem; line-height: 1.25; margin: 16px 0 8px; }
h2 { font-size: 1.35rem; margin: 32px 0 8px; border-bottom: 1px solid #d5dbe1; padding-bottom: 4px; }
h3 { font-size: 1.1rem; margin: 20px 0 6px; }
a { color: #0b5cad; }
.cta { display: inline-block; background: #1f7a4d; color: #fff; padding: 12px 22px; border-radius: 6px; font-weight: 700; text-decoration: none; margin: 10px 0; }
.cta:hover { background: #17603c; }
.note { background: #fff8e1; border: 1px solid #e6cf7a; border-radius: 6px; padding: 10px 14px; margin: 14px 0; font-size: 0.95rem; }
.box { background: #fff; border: 1px solid #d5dbe1; border-radius: 6px; padding: 12px 16px; margin: 14px 0; }
table { border-collapse: collapse; width: 100%; background: #fff; margin: 10px 0; font-size: 0.95rem; }
th, td { border: 1px solid #d5dbe1; padding: 6px 10px; text-align: left; }
th { background: #e8eef3; }
td.n, th.n { text-align: right; }
tr.sum td { font-weight: 700; background: #f0f4f7; }
footer { padding-top: 12px; padding-bottom: 40px; font-size: 0.9rem; color: #46525e; }
li { margin-bottom: 4px; }
input[type="text"], input[type="number"] { width: 100%; max-width: 160px; padding: 4px 6px; font: inherit; border: 1px solid #b8c2cc; border-radius: 4px; }
fieldset { border: 1px solid #d5dbe1; border-radius: 6px; margin: 10px 0; }
fieldset label { display: block; }
button { background: #1f7a4d; color: #fff; border: 0; border-radius: 6px; padding: 10px 22px; font: inherit; font-weight: 700; cursor: pointer; }
button:hover { background: #17603c; }
#msg { color: #a12a2a; font-weight: 600; }
