/* Shared, authentication-aware application entry for the public HP. */
html:not([data-auth-state="anonymous"]) [data-auth-apply],
[data-auth-apply][hidden], .site-apply-dock[hidden] { display: none !important; }
.site-apply-dock {
  position: fixed;
  z-index: 60;
  right: 24px;
  bottom: max(16px, env(safe-area-inset-bottom));
  display: flex;
  align-items: center;
  gap: 18px;
  max-width: calc(100% - 32px);
  padding: 10px 11px 10px 20px;
  border: 1px solid #c1a16c;
  border-radius: 18px;
  background: #fffdf5;
  box-shadow: 0 6px 26px rgb(26 55 43 / 16%);
  color: #29473b;
  font: 700 13px/1.5 "Yu Gothic", "Meiryo", sans-serif;
}
.site-apply-dock p { margin: 0; min-width: 0; }
.site-apply-dock small { display: block; max-width: 290px; margin-top: 3px; color: #59685f; font-size: 11px; font-weight: 500; }
.site-apply-dock a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  flex-shrink: 0;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 12px;
  background: #145d4c;
  color: white;
  font-size: 14px;
  text-decoration: none;
}
.site-apply-dock a:hover { background: #0c493b; }
.site-apply-dock a:focus-visible { outline: 3px solid #b28b49; outline-offset: 3px; }
body.has-site-apply { padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
body.has-site-apply .back-to-top { bottom: calc(108px + env(safe-area-inset-bottom)); }
body.menu-open .site-apply-dock { visibility: hidden; }
@media (max-width: 380px) {
  body.has-site-apply { padding-bottom: calc(144px + env(safe-area-inset-bottom)); }
  body.has-site-apply .back-to-top { bottom: calc(150px + env(safe-area-inset-bottom)); }
}
.site-support-links { padding: 56px 0; background: #f5f3eb; }
.site-support-links .shell { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-support-links h2 { margin: 0 0 10px; font-size: clamp(24px, 3vw, 30px); }
.site-support-links p { margin: 0; }
.site-support-links .support-actions { display: flex; flex-wrap: wrap; gap: 12px; flex-shrink: 0; }
@media (max-width: 760px) {
  .site-apply-dock { left: 12px; right: 12px; max-width: none; gap: 10px; justify-content: space-between; padding: 9px 9px 9px 14px; }
  .site-apply-dock a { padding-inline: 16px; font-size: 13px; gap: 8px; }
  .site-apply-dock p { font-size: 12px; }
  .site-support-links .shell { align-items: flex-start; flex-direction: column; }
  .site-support-links .support-actions { flex-shrink: 1; }
}
@media (max-width: 380px) {
  .site-apply-dock { flex-direction: column; align-items: stretch; gap: 7px; }
  .site-apply-dock a { min-height: 38px; }
  .site-apply-dock small { max-width: none; }
}
