@import url("/assets/portal-theme-20261108.css");
.gb-form { margin: 1.5rem 0 2.5rem; }
.gb-form fieldset { min-width: 0; margin: 0 0 1.5rem; padding: 1.2rem; border: 1px solid #485963; border-radius: 12px; }
.gb-form legend { max-width: 100%; padding: 0 .35rem; font-size: 1.18rem; font-weight: 650; }
.gb-number { display: inline-grid; place-items: center; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: var(--nsp-accent-soft); color: #ecfaff; margin-right: .35rem; }
.gb-optional { font-weight: normal; font-size: .93rem; color: #bac6cd; }
.gb-form p { line-height: 1.65; }
.gb-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.gb-form label:not(.gb-check) { display: block; font-weight: 600; margin: .5rem 0; }
.gb-form select { width: 100%; max-width: 100%; min-height: 46px; padding: .7rem; border: 1px solid #647580; border-radius: 7px; background: #152026; color: #f4f8fb; font: inherit; }
.gb-form select:focus-visible, .gb-form button:focus-visible, .gb-check:focus-within, .gb-browse summary:focus-visible { outline: 3px solid var(--nsp-accent); outline-offset: 3px; }
.gb-detail, .gb-source { color: #c0ced5; font-size: .94rem; }
.gb-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; margin-top: 1rem; }
.gb-check { display: flex; align-items: flex-start; gap: .7rem; padding: .85rem; border: 1px solid #43545e; border-radius: 8px; line-height: 1.5; cursor: pointer; background: #162127; }
.gb-check:hover, .gb-check:has(input:checked) { border-color: var(--nsp-accent); background: var(--nsp-accent-soft); }
.gb-check input { flex: 0 0 auto; width: 1.15rem; height: 1.15rem; margin: .15rem 0 0; accent-color: var(--nsp-accent); }
.gb-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.gb-actions button { padding: .85rem 1.4rem; border: 1px solid var(--nsp-accent); border-radius: 8px; background: var(--nsp-accent); color: var(--nsp-on-accent); font: inherit; font-weight: 700; cursor: pointer; min-height: 48px; }
.gb-output { scroll-margin-top: 6rem; }
.gb-output-heading { border-top: 2px solid var(--nsp-accent-line); padding-top: 1.5rem; margin-bottom: 1.4rem; }
.gb-output-heading h2 { font-size: 1.7rem; }
.gb-step { border: 1px solid #41535e; border-radius: 12px; padding: 1.5rem; margin: 1.5rem 0; scroll-margin-top: 6rem; }
.gb-step > h2 { margin-top: 0; }
.gb-article + .gb-article { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid #41535e; }
.gb-article h3 { font-size: 1.35rem; margin-bottom: .5rem; }
.gb-article h4 { font-size: 1.12rem; margin: 1.5rem 0 .65rem; scroll-margin-top: 6rem; }
.gb-browse { margin: 2rem 0; border-top: 1px solid #455861; padding-top: 1rem; }
.gb-browse summary { cursor: pointer; padding: .8rem 0; font-weight: 600; }
.gb-form [hidden], .gb-output[hidden] { display: none !important; }
@media (max-width: 650px) { .gb-fields, .gb-checks { grid-template-columns: 1fr; } .gb-form fieldset { padding: .85rem; } .gb-step { padding: 1rem; } .gb-actions button { width: 100%; } .gb-form legend { font-size: 1.05rem; } }
@media print { .kb-header, .gb-form, .gb-browse, .gb-output-heading .kb-article-tools { display: none !important; } .gb-step { break-inside: auto; color: #000; border-color: #777; } .gb-output { display: block; } }

.hm-progress button:focus-visible, .hm-progress select:focus-visible { outline: 3px solid var(--nsp-accent); outline-offset: 3px; }
.hm-progress button:disabled { opacity: .6; cursor: wait; }
@media print { .hm-progress { display: none !important; } }
