*{box-sizing:border-box}body{margin:0;font-family:-apple-system,'Segoe UI',Roboto,Arial,sans-serif;background:#f4f6f9;color:#182230}
.wrap{max-width:1120px;margin:0 auto;padding:0 16px}
.hero{background:linear-gradient(120deg,#0b3d66,#1273a8);color:#fff;padding:34px 0 26px}
.brand{font-weight:800;font-size:20px;letter-spacing:.4px}.brand span{color:#ffd166}
.hero h1{margin:10px 0 8px;font-size:32px}
.sub{max-width:760px;line-height:1.55;opacity:.95}
.badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.badges span{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);padding:5px 10px;border-radius:999px;font-size:13px}
.grid{display:grid;grid-template-columns:1.15fr .85fr;gap:18px;margin-top:18px}
@media(max-width:880px){.grid{grid-template-columns:1fr}}
.card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px rgba(16,42,67,.07);margin-bottom:18px}
h2{font-size:18px;margin:18px 0 8px}h2:first-child{margin-top:0}
label{display:block;font-size:13.5px;font-weight:600;margin:9px 0}
input[type=text],input[type=number],input[type=date]{display:block;width:100%;margin-top:4px;padding:9px 10px;border:1px solid #c8d2dc;border-radius:8px;font-size:15px;font-weight:400}
.row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check{font-weight:500}.check input{margin-right:6px}
.note{font-size:13px;color:#5b6b7c;line-height:1.5}
.totals{background:#eef6fb;border:1px solid #cfe6f5;border-radius:10px;padding:12px 14px;font-size:15px;line-height:1.7;margin-top:12px}
.totals b{float:right}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
button,.filebtn,.btnlink{background:#e8eef4;border:1px solid #c8d2dc;color:#182230;padding:10px 14px;border-radius:9px;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}
button.primary{background:#1273a8;border-color:#1273a8;color:#fff}
button:hover,.filebtn:hover{filter:brightness(1.05)}
.slip{border:1.5px solid #182230;border-radius:6px;padding:16px;font-size:13.5px;line-height:1.55;background:#fff}
.slip h3{margin:0 0 2px;font-size:17px}.slip table{width:100%;border-collapse:collapse;margin:8px 0}
.slip td{padding:3px 0;vertical-align:top}.slip td.r{text-align:right}
.slip .net{border-top:2px solid #182230;font-weight:800;font-size:15px}
.slip .fine{font-size:11px;color:#5b6b7c}
.pro{background:#fff8e6;border:1px solid #f0d48a;border-radius:10px;padding:14px;margin-top:16px}
#roster{list-style:none;padding:0;margin:8px 0}#roster li{padding:7px 10px;border:1px solid #e2e8f0;border-radius:8px;margin-bottom:6px;font-size:14px;display:flex;justify-content:space-between;gap:8px}
#roster button{padding:4px 9px;font-size:12.5px}
.faq{line-height:1.6}.faq p{color:#33475e}
.foot{font-size:12.5px;color:#5b6b7c;line-height:1.6;padding-bottom:30px}
