:root{
  --ground:#f4eee2; --surface:#fffcf6; --ink:#221d18; --soft:#6d6257;
  --accent:#cf4d26; --accent-ink:#fff; --line:#ddd2bf; --ok:#3f7d4e; --warn:#b8860b;
}
*{box-sizing:border-box}
body{margin:0;background:var(--ground);color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  font-size:17px;line-height:1.5;padding:16px 14px 90px}
.wrap{max-width:560px;margin:0 auto}
h1{font-size:24px;margin:0 0 4px;letter-spacing:.01em}
h2{font-size:19px;margin:26px 0 10px}
.sub{color:var(--soft);font-size:15px;margin:0 0 18px}
a{color:var(--accent)}
.card{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:16px;margin:0 0 14px}
.tochka{display:block;background:var(--surface);border:1px solid var(--line);border-radius:8px;
  padding:16px 18px;margin:0 0 10px;text-decoration:none;color:var(--ink)}
.tochka b{display:block;font-size:20px}
.tochka span{color:var(--soft);font-size:14px}
label{display:block;font-size:14px;color:var(--soft);margin:0 0 5px}
select,input[type=text],input[type=number],textarea{
  width:100%;font:inherit;padding:11px 12px;border:1px solid var(--line);
  border-radius:6px;background:var(--surface);color:var(--ink)}
textarea{min-height:90px;resize:vertical}
input[type=number]{text-align:center;font-size:19px;padding:9px 4px}
button,.btn{width:100%;font:inherit;font-weight:600;font-size:18px;padding:15px;
  border:0;border-radius:8px;background:var(--accent);color:var(--accent-ink);cursor:pointer;
  text-align:center;text-decoration:none;display:block}
button:disabled{opacity:.5}
.btn-quiet{background:var(--surface);color:var(--ink);border:1px solid var(--line);font-weight:400;font-size:16px}
.grp{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);
  margin:18px 0 8px;font-weight:600}
.row{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.row:first-of-type{border-top:0}
.row .nm{flex:1;font-size:16px;line-height:1.25}
.row .nm small{display:block;color:var(--soft);font-size:12px}
.row .fld{width:78px;flex:none}
.row .fld2{width:70px;flex:none}
.hd{display:flex;gap:10px;padding:0 0 6px;font-size:12px;color:var(--soft);text-transform:uppercase;letter-spacing:.06em}
.hd .nm{flex:1}
.hd .fld{width:78px;flex:none;text-align:center}
.hd .fld2{width:70px;flex:none;text-align:center}
.ok{color:var(--ok);font-weight:600}
.warn{color:var(--accent);font-weight:600}
.pill{display:inline-block;background:var(--ground);border:1px solid var(--line);
  border-radius:20px;padding:3px 11px;font-size:13px;color:var(--soft);margin:0 6px 6px 0}
.foot{position:fixed;left:0;right:0;bottom:0;background:var(--surface);
  border-top:1px solid var(--line);padding:11px 14px;box-shadow:0 -2px 12px rgba(0,0,0,.05)}
.foot .wrap{max-width:560px}
.msg{padding:11px 13px;border-radius:6px;margin:0 0 14px;font-size:15px}
.msg.good{background:#e4f2e4;color:#25562f}
.msg.bad{background:#f8e0d8;color:#8a2f13}
table{width:100%;border-collapse:collapse;font-size:15px}
th,td{padding:7px 8px;border-bottom:1px solid var(--line);text-align:left}
th{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--soft);font-weight:600}
td.n,th.n{text-align:right;font-variant-numeric:tabular-nums}
