:root { --ink:#1b1f24; --muted:#59636e; --line:#d8dee4; --accent:#2f5d50; --warn:#fff6d6; --ok:#e8f3ee; --bad:#fdecea; }
* { box-sizing:border-box; }
body { margin:0; font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:#fff; }
main { max-width:760px; margin:0 auto; padding:24px 20px 64px; }
h1 { font-size:2rem; line-height:1.2; margin:.2em 0 .4em; }
h2 { font-size:1.25rem; margin:2.2em 0 .6em; border-top:1px solid var(--line); padding-top:1.2em; }
h3 { font-size:1.05rem; margin:1.6em 0 .4em; }
a { color:var(--accent); }
.brand { font-weight:700; letter-spacing:.02em; }
.muted { color:var(--muted); font-size:.95rem; }
.small { font-size:.85rem; }
.price { font-size:1.4rem; font-weight:700; }
.cta, button.cta { display:inline-block; background:var(--accent); color:#fff; padding:12px 18px; border-radius:8px; text-decoration:none; font-weight:600; border:0; font-size:1rem; cursor:pointer; }
.note { background:var(--warn); border:1px solid #e9d27a; border-radius:8px; padding:12px 14px; }
.box { background:var(--ok); border:1px solid #b5d6c6; border-radius:8px; padding:12px 14px; }
.alert { background:var(--bad); border:1px solid #f1b4ae; border-radius:8px; padding:12px 14px; }
.alert ol { margin:.4em 0 0; padding-left:1.3em; }
.preview { background:#222; color:#ffd866; text-align:center; padding:6px 10px; font-size:.85rem; }
.lang { float:right; font-size:.9rem; }
.cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; }
.card { border:1px solid var(--line); border-radius:10px; padding:14px; }
table { border-collapse:collapse; width:100%; font-size:.95rem; }
td, th { border-bottom:1px solid var(--line); padding:8px 6px; text-align:left; vertical-align:top; }
fieldset { border:1px solid var(--line); border-radius:10px; margin:0 0 14px; padding:12px 14px; }
legend { font-weight:600; padding:0 4px; }
label.opt { display:block; margin:6px 0; }
label.check { display:flex; gap:8px; align-items:flex-start; margin:8px 0; }
label.check input { margin-top:.35em; }
footer { margin-top:3em; font-size:.85rem; color:var(--muted); border-top:1px solid var(--line); padding-top:1em; }
