*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,sans-serif;color:#0F1A24;background:#EEF2F8}
a{color:#0B3D74}
.serif{font-family:'DM Serif Display',Georgia,serif;font-weight:400}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
header.top{background:#fff;border-bottom:1px solid #E3E9F1}
header.top .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:14px 20px}
.brand{font-family:'DM Serif Display',Georgia,serif;font-size:22px;color:#0B3D74;text-decoration:none}
nav.main{display:flex;flex-wrap:wrap;gap:4px}
nav.main a{min-height:40px;display:inline-flex;align-items:center;padding:0 12px;border-radius:8px;font-size:14px;font-weight:500;text-decoration:none;color:#0F1A24}
nav.main a.on{background:#EEF2F8;color:#0B3D74}
.btn{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 22px;border-radius:12px;background:#0B3D74;color:#fff;font-size:15px;font-weight:600;text-decoration:none;border:none;cursor:pointer;font-family:inherit}
.btn.sec{background:#fff;color:#0B3D74;border:1px solid #C9D3E0}
.btn.sm{min-height:40px;padding:0 14px;font-size:13px;border-radius:10px}
.btn.block{width:100%}
.btn[disabled]{background:#9DB0C6;cursor:default}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#B23A32}
.label{font-size:11px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:#5C6B78}
.muted{color:#5C6B78}
.card{background:#fff;border-radius:16px;padding:24px}
.chip{padding:4px 10px;border-radius:999px;background:#EEF2F8;font-size:12px;font-weight:500}
.badge{padding:3px 8px;border-radius:999px;font-size:12px;font-weight:600}
.badge.ok{background:rgba(15,143,134,.13);color:#0B7268}
.badge.alert{background:rgba(192,30,36,.12);color:#C01E24}
.badge.warn{background:rgba(201,106,0,.13);color:#8A4A00}
input[type=text],input[type=email],input[type=number]{min-height:46px;padding:0 12px;border:1px solid #C9D3E0;border-radius:10px;font-family:inherit;font-size:14px;width:100%}
label.f{font-size:13px;font-weight:600;display:block;margin-bottom:6px}
.grid{display:grid;gap:20px}
@media(min-width:800px){.g2{grid-template-columns:1fr 1fr}.g3{grid-template-columns:1fr 1fr 1fr}.g12{grid-template-columns:repeat(12,1fr)}.s7{grid-column:span 7}.s5{grid-column:span 5}.s6{grid-column:span 6}.s4{grid-column:span 4}.s3{grid-column:span 3}.s8{grid-column:span 8}}
.pill{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #C9D3E0;background:#fff;color:#0F1A24;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600}
.pill.on{border-color:#0B3D74;background:#0B3D74;color:#fff}
.opt{text-align:left;width:100%;min-height:56px;padding:12px 16px;border-radius:12px;border:1px solid #E3E9F1;background:#fff;cursor:pointer;font-family:inherit;display:flex;flex-direction:column;gap:2px}
.opt b{font-size:15px}.opt span{font-size:13px;color:#5C6B78}
.opt.on{border:2px solid #0B3D74;background:#EEF2F8}
.bar{height:8px;border-radius:4px;background:#E9EDF3;overflow:hidden}.bar i{display:block;height:100%;background:#0B3D74;border-radius:4px;transition:width .4s}
.modal-bg{position:fixed;inset:0;background:rgba(15,26,36,.55);display:none;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal-bg.open{display:flex}
.modal{width:100%;max-width:560px;background:#fff;border-radius:20px;padding:28px;max-height:92vh;overflow:auto}
.linkbtn{border:none;background:none;padding:0;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;color:#0B3D74;text-decoration:underline}
.row{display:flex;justify-content:space-between;align-items:center;gap:12px}
.foot{font-size:12px;color:#6B7883;text-align:center;padding:32px 0}
details summary{min-height:36px;display:flex;align-items:center;cursor:pointer;font-weight:600;font-size:13px}
details div{padding:4px 0 8px;color:#3D4C58;font-size:13px;line-height:1.5}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;color:#5C6B78;font-size:12px;text-transform:uppercase;letter-spacing:.06em;padding:10px 12px;border-bottom:1px solid #E3E9F1}
td{padding:12px;border-bottom:1px solid #E3E9F1}
.ok{color:#0B7268;font-weight:600}.no{color:#8A97A2}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#0F1A24;color:#fff;padding:12px 18px;border-radius:12px;font-size:14px;display:none;z-index:60}
