:root { --ink:#1f2933; --muted:#5f6c7b; --line:#d9dfe6; --bg:#f7f8fa; --card:#fff; --brand:#e8590c; --brand-dark:#c2470a; --ok:#2b8a3e; --bad:#c92a2a; }
* { box-sizing:border-box; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:Rubik,Arial,sans-serif; font-size:16px; line-height:1.55; }
header { background:var(--card); border-bottom:1px solid var(--line); padding:14px 16px; }
header .in { max-width:1040px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:12px; }
header b { font-size:20px; } header a { color:var(--ink); }
main { max-width:1040px; margin:0 auto; padding:24px 16px 56px; }
h1 { font-size:28px; margin:0 0 6px; } h2 { font-size:20px; margin:28px 0 10px; } .muted { color:var(--muted); }
.bar { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin:16px 0; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(235px,1fr)); gap:14px; }
.card { background:var(--card); border:1px solid var(--line); border-radius:6px; padding:16px; }
.card h3 { margin:0 0 4px; font-size:18px; } .price { font-size:24px; font-weight:600; margin:8px 0 2px; }
ul.specs { list-style:none; padding:0; margin:10px 0 14px; font-size:14px; } ul.specs li { padding:3px 0; border-bottom:1px solid #eef1f4; }
button, .btn { font:inherit; background:var(--brand); color:#fff; border:0; border-radius:4px; padding:9px 16px; cursor:pointer; text-decoration:none; display:inline-block; }
button:hover, .btn:hover { background:var(--brand-dark); } button.ghost { background:#fff; color:var(--ink); border:1px solid var(--line); } button.ghost:hover { background:#f0f2f5; }
button:disabled { opacity:.55; cursor:default; }
label { display:block; margin:12px 0 4px; font-weight:500; } label.inline { display:flex; gap:8px; align-items:flex-start; font-weight:400; }
input[type=text], input[type=email], input[type=tel], select { width:100%; font:inherit; padding:9px; border:1px solid var(--line); border-radius:4px; background:#fff; }
.narrow { max-width:480px; } .ltr { direction:ltr; text-align:left; } .err { color:var(--bad); margin:10px 0 0; } .okmsg { color:var(--ok); margin:10px 0 0; }
.note { background:#fff8e6; border:1px solid #f0d78c; padding:10px 12px; border-radius:4px; margin:12px 0; }
table { width:100%; border-collapse:collapse; font-size:14px; } th, td { padding:7px 6px; border-bottom:1px solid var(--line); text-align:right; }
.meter { height:8px; background:#e8ecf0; border-radius:4px; overflow:hidden; margin:4px 0 10px; } .meter i { display:block; height:100%; background:var(--brand); }
.actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:12px; }
