/* The Google Form is the only scrolling surface. No outer page or guessed frame height. */
html.request-shell{height:100%;overflow:hidden;scroll-padding-top:0}
.request-page{height:100vh;height:100dvh;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;background:#f2f4ef}
.request-header{display:flex;align-items:center;gap:24px;min-width:0;padding:8px 24px;background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:10}
.request-header .brand{min-width:0;gap:10px;font-size:18px}
.request-header .brand img{width:40px;height:40px}
.request-back{margin-left:auto;display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:600}
.request-back:hover{text-decoration:underline;text-underline-offset:4px}
.request-menu{position:relative;margin-left:auto;font-size:15px}
.request-back+.request-menu{margin-left:0}
.request-menu summary{cursor:pointer;display:list-item;min-height:44px;padding:10px 8px;list-style-position:inside;border-radius:4px}
.request-menu summary:focus-visible{outline:3px solid #235b5b;outline-offset:2px}
.request-menu nav{position:absolute;right:0;top:100%;min-width:230px;max-width:calc(100vw - 24px);max-height:calc(100dvh - 76px);overflow-y:auto;padding:8px;background:#fff;border:1px solid var(--line);border-radius:6px;box-shadow:0 8px 24px #243b3826}
.request-menu nav a{display:flex;align-items:center;min-height:44px;padding:8px 12px}
.request-menu nav a:hover{background:var(--light);text-decoration:underline;text-underline-offset:3px}
.request-page .request-main{display:grid;grid-template-rows:minmax(0,1fr);width:100%;max-width:none;min-height:0;margin:0;padding:0}
.request-page .request-form-section{min-height:0;overflow:hidden;scroll-margin-top:0}
.request-page .training-request-form{display:block;width:100%;height:100%;border:0;border-radius:0;background:#f2f4ef}
@media(max-width:600px){.request-header{padding:6px 16px;gap:12px}.request-header .brand{font-size:16px;gap:8px}.request-header .brand img{width:32px;height:32px}.request-back{display:none}.request-menu{margin-left:auto}}
@media(max-width:300px){.request-header{padding-inline:10px;gap:8px}.request-header .brand{font-size:13px}.request-header .brand img{display:none}.request-menu{font-size:13px}}
@media(max-height:360px){.request-header{padding-block:0}.request-header .brand img{width:28px;height:28px}}
