/* Shared banner with the page trail beneath the brand name. */
html { scrollbar-gutter: stable; }
:root { --it-page-width: 1240px; --it-page-padding: 24px; }
body { background: #d0e8e5; }
/* The Home page's horizontal frame, shared by every module. */
.it-page-shell {
    box-sizing: border-box;
    width: 100%;
    max-width: var(--it-page-width);
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--it-page-padding);
    padding-right: var(--it-page-padding);
}
.it-header, .it-header * { box-sizing: border-box; }
.it-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    margin: 0;
    padding: 18px 4%;
    border: 0;
    background: #098d91;
    color: #fff;
    font: 16px/1.5 system-ui, -apple-system, "Segoe UI", sans-serif;
    letter-spacing: normal;
    text-align: left;
    box-shadow: none;
}
.it-header .it-header-brand {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    gap: 14px;
    min-width: 0;
    margin: 0;
    padding: 0;
    color: #fff;
    font-size: 22px;
    font-weight: 750;
    line-height: 1.5;
}
.it-header-logo-link { display: block; flex: 0 0 auto; }
.it-header-brand-copy { min-width: 0; }
.it-header .it-header-title { display: block; color: #fff; font: inherit; text-decoration: none; white-space: nowrap; }
.it-header .it-header-title:hover { text-decoration: underline; }
.it-header .it-header-brand small { display: block; margin: 0; color: #ecffff; font-size: 14px; font-weight: 400; line-height: 1.5; }
.it-header-breadcrumbs { min-width: 0; }
.it-header .it-module-name { margin: 0; color: #fff; font: 400 14px/1.5 system-ui,-apple-system,"Segoe UI",sans-serif; text-align: left; overflow-wrap: anywhere; }
.it-header .it-module-name a { color: inherit; text-decoration: none; }
.it-header .it-module-name a:hover { text-decoration: underline; }
.it-header .it-breadcrumb-separator { padding: 0 4px; color: inherit; }
.it-header .it-header-mark { display: block; flex: 0 0 auto; width: 56px; height: 58px; padding: 3px; border: 0; border-radius: 0; background: transparent; object-fit: contain; box-shadow: none; }
.it-header-side { display: flex; flex: 0 1 auto; flex-direction: column; align-items: flex-end; gap: 5px; min-width: 0; }
.it-header .it-header-nav { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; gap: 22px; min-width: 0; margin: 0; padding: 0; border: 0; font: inherit; }
.it-header-nav > a { color: #fff; font-weight: 650; text-decoration: none; white-space: nowrap; }
.it-header-nav > a:hover { text-decoration: underline; }
.it-header-user { display: block; min-width: 0; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.it-header .it-header-logout { display: block; flex: 0 0 auto; margin: 0; padding: 0; border: 0; }
.it-header .it-header-signout { display: inline-block; width: auto; min-width: 0; margin: 0; padding: 8px 14px; border: 1px solid #b5dedb; border-radius: 8px; background: transparent; color: #fff; font: 13.3333px Arial, sans-serif; cursor: pointer; white-space: nowrap; box-shadow: none; }
.it-header .it-header-signout:hover { background: #ffffff14; }
.it-header a:focus-visible, .it-header button:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.it-header .it-language-switch { margin: 0; }
.it-header .it-language-toggle { font: 13.3333px Arial, sans-serif; }
.it-header-actions { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 4px 12px; min-width: 0; font-size: 13px; line-height: 1.4; }
.it-header-actions a { color: #fff; text-decoration: none; white-space: nowrap; }
.it-header-actions a:hover, .it-header-actions a[aria-current="page"] { text-decoration: underline; }
.it-header-actions .it-module-context { color: #ecffff; overflow-wrap: anywhere; }

.it-test-session, .it-test-session * { box-sizing: border-box; }
.it-test-session { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px 20px; padding: 12px max(24px, calc((100% - 1240px) / 2 + 24px)); border-bottom: 1px solid #d1aa62; background: #fff0cd; color: #593600; font: 14px/1.45 system-ui, -apple-system, "Segoe UI", sans-serif; }
.it-test-session__copy { display: flex; flex-direction: column; gap: 2px; }
.it-test-session__actions, .it-test-session__switch { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; }
.it-test-session form { margin: 0; }
.it-test-session input { width: 190px; max-width: 100%; padding: 8px 10px; border: 1px solid #a78045; border-radius: 7px; background: #fff; color: #352100; font: inherit; }
.it-test-session button { padding: 8px 11px; border: 0; border-radius: 7px; background: #80500c; color: #fff; font: inherit; font-weight: 650; cursor: pointer; }
.it-test-session button:hover { background: #603a08; }
.it-test-session :is(button,input):focus-visible { outline: 3px solid #20666a; outline-offset: 2px; }

/* Page titles live in the banner trail; retain only compact instructions/actions. */
.it-page-shell.it-module-page { margin-top: 0; padding-top: 28px; }
.it-page-shell.it-module-page > :first-child { margin-top: 0; }
.it-module-heading { margin: 0 0 14px; color: #064e52; font: 15px/1.55 "Segoe UI", Arial, sans-serif; }
.it-module-heading p:last-child { margin-bottom: 0; }

@media (max-width: 1100px) {
    .it-header { align-items: flex-start; flex-direction: column; }
    .it-header-side { width: 100%; align-items: flex-start; }
    .it-header .it-header-nav { width: 100%; justify-content: flex-start; }
    .it-header-actions { justify-content: flex-start; }
    .it-header .it-language-switch { margin-left: auto; }
}
@media (max-width: 760px) {
    .it-header .it-header-nav { gap: 14px; font-size: 14px; }
}
@media (max-width: 420px) {
    .it-header .it-header-nav { column-gap: 12px; }
    .it-header-user { max-width: 165px; }
}
@media print {
    .it-header, .it-test-session { display: none !important; }
    .it-page-shell { max-width: none; padding-left: 0; padding-right: 0; }
    .it-page-shell.it-module-page { padding-top: 0; }
}
