[hidden] { display: none !important; }
.tm-privacy-panel, .tm-privacy-notice {
  position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%);
  z-index: 10000; width: min(720px, calc(100vw - 32px)); max-height: calc(100dvh - 40px);
  overflow: auto; padding: 24px; color: #f0f4f8; background: #070d18;
  border: 1px solid rgba(0,229,255,.3); border-radius: 8px; box-shadow: 0 8px 40px rgba(0,0,0,.6);
  font: 14px/1.6 Inter, system-ui, sans-serif;
}
.tm-privacy-panel h2 { font: 600 20px 'Space Grotesk', sans-serif; margin: 0 0 12px; padding: 0; border: 0; }
.tm-privacy-panel p { margin: 0 0 12px; color: #c6d3df; font-size: 14px; }
.tm-privacy-panel a, .external-service-placeholder a { color: #00e5ff; text-decoration: underline; }
.tm-privacy-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.tm-privacy-actions button, .external-service-placeholder button, [data-open-privacy], [data-reject-privacy] {
  font: inherit; cursor: pointer; color: #f0f4f8; background: #070d18;
  border: 1px solid #8099b0; border-radius: 4px; padding: 10px 14px;
}
.tm-privacy-actions button:hover, .external-service-placeholder button:hover { border-color: #00e5ff; }
.tm-privacy-options { display: grid; gap: 10px; margin: 16px 0; }
.tm-privacy-options label { display: flex; align-items: center; gap: 12px; cursor: pointer; }
.tm-privacy-options input { width: 20px; height: 20px; accent-color: #00e5ff; }
.tm-privacy-panel :focus-visible, .external-service-placeholder :focus-visible, [data-open-privacy]:focus-visible { outline: 2px solid #00e5ff; outline-offset: 4px; }
.external-service-placeholder { padding: 32px 24px; color: #c6d3df; background: #070d18; border: 1px solid rgba(0,229,255,.2); border-radius: 6px; font: 14px/1.7 Inter, sans-serif; }
.external-service-placeholder p { margin-bottom: 16px; }
.yt-player-wrap { pointer-events: auto; }
.yt-card .yt-play { opacity: 1; }
#yt-grid > .external-service-placeholder { grid-column: 1 / -1; }
#site-map > .external-service-placeholder { height: 100%; display: flex; flex-direction: column; justify-content: center; }
 .map-panel:has(#site-map > .external-service-placeholder) .map-overlay { position: relative; left: auto; bottom: auto; right: auto; max-width: none; margin-top: 18px; }
.map-panel:has(#site-map > .external-service-placeholder) .map-frame { height: auto; }
.map-panel:has(#site-map > .external-service-placeholder) #site-map { position: relative; min-height: 190px; }
.footer-legal [data-open-privacy], footer nav [data-open-privacy] { border: 0; padding: 0; color: inherit; background: transparent; text-decoration: underline; font-size: inherit; }
.form-privacy { margin-top: 18px; font-size: 13px; line-height: 1.7; color: #c6d3df; }
.form-privacy a { color: #00e5ff; text-decoration: underline; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (max-width: 560px) { .tm-privacy-panel { bottom: 12px; padding: 18px; } .tm-privacy-actions button { flex: 1 1 45%; } }

/* Keep the storage inventory readable without horizontal scrolling on phones. */
.page table { width: 100%; table-layout: fixed; }
.page th, .page td { overflow-wrap: anywhere; }
@media (max-width: 560px) { .page th, .page td { padding: 10px 6px; font-size: 12px; } }
