#zetra-location-access {
    --location-surface: var(--zt-surface, #fff);
    --location-text: var(--zt-text, #1f2937);
    --location-border: var(--zt-border, #dce0e8);
    color: var(--location-text); background: var(--location-surface);
    border: 1px solid var(--location-border); border-radius: 8px;
    width: min(560px, calc(100% - 32px)); max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px);
    margin: auto; padding: 24px; box-sizing: border-box; overflow: auto;
    font: 16px/1.5 system-ui, sans-serif;
}
html.dark-mode #zetra-location-access, body.dark-mode #zetra-location-access, [data-bs-theme="dark"] #zetra-location-access {
    --location-surface: var(--zt-surface, #0f172a); --location-text: var(--zt-text, #e5e7eb); --location-border: var(--zt-border, #334155);
}
#zetra-location-access::backdrop { background: rgba(15, 23, 42, .88); }
#zetra-location-access h1 { font: 600 22px/1.3 system-ui, sans-serif; margin: 8px 0 16px; color: inherit; }
#zetra-location-access p { margin: 0 0 16px; }
#zetra-location-access .zetra-location-label { font-weight: 600; }
#zetra-location-access .zetra-location-actions { display: grid; gap: 8px; margin: 24px 0; }
#zetra-location-access button, #zetra-location-access a { font: inherit; min-height: 48px; box-sizing: border-box; }
#zetra-location-access button { padding: 10px 16px; border-radius: 6px; border: 1px solid var(--location-border); background: var(--location-surface); color: inherit; cursor: pointer; }
#zetra-location-access [data-location-request] { background: var(--zt-accent, #bd2433); color: var(--zt-on-accent, #fff); border-color: transparent; }
#zetra-location-access button:disabled { opacity: .65; cursor: wait; }
#zetra-location-access :focus-visible { outline: 3px solid var(--zt-accent, #bd2433); outline-offset: 3px; }
#zetra-location-access .zetra-location-links { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; }
#zetra-location-access a { color: inherit; text-decoration: underline; display: inline-flex; align-items: center; }
#zetra-location-access [hidden] { display: none !important; }
@media (max-width: 480px) { #zetra-location-access { padding: 16px; } #zetra-location-access h1 { font-size: 20px; } }
