/* Independent registration feature; shared portal pages retain their own shell. */
.zkbm-header { background:#fff; border-bottom:1px solid #e5eaf1; }
.zkbm-header__inner { max-width:1120px; min-height:84px; margin:auto; display:flex; align-items:center; gap:24px; }
.zkbm-header img { width:181px; height:50px; object-fit:contain; }
.zkbm-header__label { border-left:1px solid #dce2eb; padding-left:24px; color:#69788c; font-size:14px; }
.zkbm-header nav { display:flex; align-items:center; gap:26px; margin-left:auto; font-size:14px; color:#475569; }
.zkbm-header nav a:hover,.zkbm-header .zkbm-header__contact { color:#0b53c6; }
.zkbm { --zk-blue:#0b53c6; background:#f3f5f8; color:#263449; padding:24px 24px 0; }
.zkbm__container { max-width:1120px; margin:auto; }
.zkbm__hero { display:grid; grid-template-columns:minmax(0,1fr) 218px; gap:36px; align-items:center; padding:32px 36px 28px; background:#124fb0; border-radius:6px 6px 0 0; color:#fff; }
.zkbm__eyebrow { margin:0 0 12px; color:#c6dbfc; font-size:12px; letter-spacing:.6px; }
.zkbm__hero h1 { margin:0 0 14px; color:#fff; font-size:30px; line-height:1.45; font-weight:700; letter-spacing:.4px; }
.zkbm__intro { font-size:14px; line-height:1.85; color:#e0ebfc; margin:0; max-width:700px; }
.zkbm__anchors { display:flex; gap:26px; margin-top:20px; font-size:13px; }
.zkbm__anchors a { color:#fff; border-bottom:1px solid #7da3dc; padding-bottom:4px; }
.zkbm__anchors span { margin-left:8px; color:#bbd6fc; }
.zkbm__exam { border:1px solid #527fc3; border-radius:4px; padding:20px 18px 0; text-align:center; background:#1b59b6; }
.zkbm__exam > span { font-size:12px; color:#dbe8fd; }
.zkbm__exam > strong { display:block; margin:8px 0 10px; font-size:23px; font-weight:700; color:#fff; white-space:nowrap; }
.zkbm__exam p { margin:0 0 16px; font-size:12px; color:#dbe8fd; }
.zkbm__exam b { font-size:24px; font-weight:600; padding:0 4px; color:#ffe0a2; }
.zkbm__exam a { display:block; padding:11px 0; border-top:1px solid #527fc3; font-size:12px; color:#fff; }
.zkbm__sheet { background:#fff; border:1px solid #e1e6ef; border-top:0; padding:28px 32px 32px; border-radius:0 0 6px 6px; }
.zkbm__help { background:#fff8ef; border:1px solid #efdfc9; border-radius:4px; padding:20px 22px 16px; scroll-margin-top:20px; }
.zkbm__help-heading { display:flex; align-items:center; gap:12px; }
.zkbm__help-icon { display:grid; place-items:center; width:40px; height:44px; flex:none; color:#a66c2e; background:#f6e9d6; border-radius:4px; }
.zkbm__help-icon svg { width:24px; height:24px; }
.zkbm__help h2 { font-size:18px; font-weight:700; color:#75502d; margin:0 0 4px; }
.zkbm__help p { font-size:12px; color:#8a7865; margin:0; }
.zkbm__help-heading > a { margin-left:auto; flex:none; color:#98662e; font-size:12px; }
.zkbm__fields { display:grid; grid-template-columns:1fr 1fr .85fr 1.22fr 1fr; gap:10px; align-items:end; margin-top:18px; }
.zkbm__fields label { min-width:0; }
.zkbm__fields label > span { display:block; margin-bottom:7px; font-size:12px; color:#6f6255; }
.zkbm__fields input,.zkbm__fields select { width:100%; min-width:0; height:43px; padding:0 10px; background:#fff; color:#354257; border:1px solid #e1d8cc; border-radius:3px; font:inherit; font-size:13px; }
.zkbm__fields input::placeholder { color:#97a0aa; }
.zkbm__fields button { height:43px; padding:0 12px; background:var(--zk-blue); color:#fff; border:0; border-radius:3px; cursor:pointer; font-size:14px; font-weight:600; white-space:nowrap; }
.zkbm__fields button:hover { background:#0947aa; }
.zkbm__consent { display:flex; align-items:flex-start; gap:7px; margin-top:13px; font-size:11px; line-height:1.7; color:#8a7a69; }
.zkbm__consent input { margin-top:3px; flex:none; accent-color:var(--zk-blue); }
.zkbm__consent a { color:#1e5da9; }
.zkbm__errors { color:#a33126; font-size:13px; margin:10px 0 0; }
.zkbm__article { font-size:15px; line-height:1.9; color:#425169; overflow-x:auto; }
.zkbm__article h2 { display:flex; align-items:center; gap:12px; margin:32px 0 16px; padding:0 0 12px; border-bottom:1px solid #e1e7ef; color:#22354d; font-size:21px; line-height:1.6; font-weight:700; scroll-margin-top:20px; }
.zkbm__article h2::before { content:''; width:4px; height:21px; flex:none; border-radius:1px; background:var(--zk-blue); }
.zkbm__article h3 { font-size:16px; font-weight:600; color:#273c57; margin:20px 0 8px; }
.zkbm__article p { margin:12px 0; }
.zkbm__article strong { color:#283e59; }
.zkbm__article a { color:var(--zk-blue); text-decoration:none; }
.zkbm__article a:hover { text-decoration:underline; }
.zkbm__article blockquote { margin:16px 0; padding:10px 15px; background:#f6f8fb; border-left:3px solid #acbdd5; color:#6b7b90; font-size:12px; line-height:1.8; }
.zkbm__article blockquote p { margin:0; }
.zkbm__article ul,.zkbm__article ol { padding-left:22px; margin:12px 0; }
.zkbm__article ul { list-style:disc; }
.zkbm__article ol { list-style:decimal; }
.zkbm__article li { padding:4px 0; }
.zkbm__article img { display:block; max-width:100%; height:auto; margin:18px auto; border-radius:4px; }
.zkbm__filter { display:flex; align-items:center; gap:12px; padding:14px 16px; background:#f2f6fc; border:1px solid #dbe5f2; border-bottom:0; border-radius:4px 4px 0 0; margin-top:18px; }
.zkbm__filter label { font-size:13px; font-weight:600; color:#34506e; }
.zkbm__filter select { height:36px; width:165px; max-width:100%; border:1px solid #cedaeb; border-radius:3px; background:#fff; padding:0 12px; font-size:13px; color:#344d6b; }
.zkbm__filter button { background:none; border:0; color:var(--zk-blue); font-size:12px; cursor:pointer; }
.zkbm__filter output { margin-left:auto; color:#7890ac; font-size:12px; }
.zkbm__table-wrap { overflow-x:auto; border:1px solid #dbe5f2; border-radius:0 0 4px 4px; }
.zkbm__article table { width:100%; border-collapse:collapse; table-layout:fixed; margin:0; font-size:13px; line-height:1.7; }
.zkbm__article th { background:#edf3fb; color:#365475; font-weight:600; padding:13px 12px; border-right:1px solid #dbe5f2; text-align:left; }
.zkbm__article td { padding:12px; border-top:1px solid #e4eaf3; border-right:1px solid #e4eaf3; vertical-align:middle; }
.zkbm__article th:last-child,.zkbm__article td:last-child { border-right:0; }
.zkbm__article th:nth-child(1) { width:8%; }
.zkbm__article th:nth-child(2),.zkbm__article th:nth-child(3) { width:25%; }
.zkbm__article th:nth-child(4) { width:15%; }
.zkbm__article th:nth-child(5) { width:15%; }
.zkbm__article th:nth-child(6) { width:12%; }
.zkbm__article tbody tr:nth-child(even) { background:#f9fbfd; }
.zkbm__article tbody tr:hover { background:#edf5ff; }
.zkbm__article tbody td:first-child { color:#243d5d; font-weight:600; }
.zkbm__article td:nth-child(5) a { display:inline-block; padding:4px 8px; border:1px solid #d1e2fa; border-radius:3px; background:#f1f6ff; color:#1761bb; font-size:12px; }
.zkbm__article .zkbm__table-note { font-size:12px; color:#7b889a; margin:10px 0 0; }
.zkbm__article .zkbm__banner-link { display:block; margin:26px 0; }
.zkbm__banner-link img { width:100%; margin:0; }
.zkbm__article .zkbm__copyright-title { margin-top:26px; color:#748196; font-size:14px; border:0; padding:0; }
.zkbm__article .zkbm__copyright-title::before { display:none; }
.zkbm__article .zkbm__copyright { margin:8px 0 0; padding:14px 16px 14px 32px; background:#f7f8fa; border:1px solid #eaedf1; color:#8290a1; font-size:12px; line-height:1.85; }
.zkbm__article .zkbm__copyright li { padding:2px 0; }
.zkbm :focus-visible,.zkbm-header :focus-visible { outline:2px solid #eca948; outline-offset:3px; }
.zkbm [hidden] { display:none !important; }
@media(max-width:1190px) { .zkbm-header__inner { margin:0 24px; } .zkbm__hero { gap:24px; padding:28px; } .zkbm__hero h1 { font-size:27px; } }
@media(max-width:850px) { .zkbm-header__label { display:none; } .zkbm-header nav { gap:16px; } .zkbm__hero { grid-template-columns:1fr; } .zkbm__exam { display:none; } .zkbm__sheet { padding:20px; } .zkbm__fields { grid-template-columns:1fr 1fr; } .zkbm__fields button { grid-column:1/-1; } .zkbm__help-heading > a { display:none; } .zkbm__article table { min-width:860px; } }
@media(max-width:520px) { .zkbm { padding:12px 10px 0; } .zkbm-header__inner { margin:0 14px; min-height:70px; } .zkbm-header img { width:148px; height:auto; } .zkbm-header nav { font-size:12px; } .zkbm-header nav a:nth-child(-n+2) { display:none; } .zkbm__hero { padding:24px 20px; } .zkbm__hero h1 { font-size:24px; } .zkbm__anchors { gap:16px; font-size:12px; } .zkbm__sheet { padding:16px; } .zkbm__help { padding:14px; } .zkbm__help h2 { font-size:16px; } .zkbm__help-icon { display:none; } .zkbm__article h2 { font-size:18px; } .zkbm__filter { flex-wrap:wrap; } .zkbm__filter output { margin-left:0; } }
@media(prefers-reduced-motion:no-preference) { html:has(.zkbm) { scroll-behavior:smooth; } }
