*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:#1f2328;background:#f7f6f2}
.wrap{max-width:1000px;margin:0 auto;padding:0 18px}.top{background:#1d5c7a;color:#fff;padding:10px 0}
h1{font-size:32px;line-height:1.2;margin:26px 0 6px}.lede{font-size:18px;max-width:760px}
fieldset{border:1px solid #ddd8cd;border-radius:10px;background:#fff;margin:16px 0;padding:12px 16px 16px}legend{font-weight:700;padding:0 6px}
.g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px 16px}label{display:flex;flex-direction:column;font-size:14px;color:#4a4740;gap:4px}
.wide{grid-column:1/-1}input,select,textarea{font:inherit;padding:8px 10px;border:1px solid #cbc5b8;border-radius:7px;background:#fff;color:#1f2328}
[hidden]{display:none!important}#out{background:#fff;border:2px solid #1d5c7a;border-radius:12px;padding:6px 18px 16px;margin:20px 0}
table.pay{border-collapse:collapse;width:100%;max-width:480px}table.pay td{padding:6px 8px;border-bottom:1px solid #eee9e0}table.pay td+td{text-align:right;font-variant-numeric:tabular-nums}
table.pay tr.tot td{font-weight:700;font-size:20px;border-top:2px solid #1f2328}.small{font-size:14px;color:#5f5b53}
.rules{list-style:none;padding:0}.rules li{padding:6px 0;border-bottom:1px dashed #e4dfd4}.rules li.ok b{color:#1e7a3a}.rules li.miss b{color:#b42318}
.warn{padding:8px 12px;border-radius:8px;background:#fff6e0}.warn.stop{background:#fde8e6}.warn.info{background:#eef3f6}
#preview{width:100%;height:520px;border:1px solid #ddd8cd;border-radius:8px;background:#fff}
.btn{display:inline-block;font:inherit;font-weight:700;background:#1d5c7a;color:#fff;border:0;border-radius:8px;padding:10px 16px;cursor:pointer;text-decoration:none}
.btn.alt{background:#fff;color:#1d5c7a;border:1px solid #1d5c7a}.next{font-size:17px;background:#eef5f8;padding:12px 14px;border-radius:8px}
#pro,#keybox{background:#fff;border:1px solid #ddd8cd;border-radius:12px;padding:6px 18px 16px;margin:20px 0}
.bar{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px 16px;align-items:end}
table.list{width:100%;border-collapse:collapse;margin-top:10px;font-size:15px}table.list th,table.list td{text-align:left;padding:6px;border-bottom:1px solid #eee9e0;vertical-align:top}
td.stop{color:#b42318}td.soon{color:#8a5a00}.lnk{background:none;border:0;color:#1d5c7a;text-decoration:underline;cursor:pointer;font:inherit}
.acts{display:flex;flex-wrap:wrap;gap:8px}
