/* Company map - minimal / route-manage model
   Only --background for backgrounds
   Borders only where needed (1px solid var(--brand-color-lighter))
   Accent is --brand-color-mid, never --text-soft as hover
   Buttons same size, 0.75em radius
   No border-bottom, mobile friendly
*/
body { overflow: hidden; }
main { max-width: none !important; padding: 0 !important; background: var(--background); }
.breadcrumb { display: none; }
header nav { max-width: inherit !important; }

.company-map-fullscreen {
    position: relative;
    height: calc(100dvh - 60px);
    background: var(--background);
}
.company-map-fullscreen #company-map {
    width: 100%;
    height: 100%;
    background: var(--background);
}

/* actions - same size buttons, 0.75em */
.company-map-actions {
    position: absolute;
    bottom: 10px;
    left: 10px;
    z-index: 10;
    display: flex;
    gap: .5rem;
    flex-wrap: wrap;
    max-width: calc(100vw - 20px);
}
.cm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .35rem;
    padding: .45em .9em;
    border-radius: .75em;
    border: 1px solid var(--brand-color-lighter);
    background: var(--background);
    color: var(--text);
    font-size: .82rem;
    font-weight: 500;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}
.cm-btn:hover {
    border-color: var(--brand-color-mid);
    color: var(--text);
    background: var(--background);
}
.cm-btn--primary {
    background: var(--brand-color-mid);
    border-color: var(--brand-color-mid);
    color: var(--text);
}
.cm-btn--primary:hover {
    border-color: var(--brand-color-light);
    background: var(--brand-color-mid);
}
.cm-btn:disabled {
    opacity: .5;
    cursor: not-allowed;
}
.cm-btn:focus-visible {
    outline: 1px solid var(--brand-color-mid);
    outline-offset: 2px;
}

/* empty state - minimal, only --background, no board */
.company-map-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    text-align: center;
    background: var(--background);
    color: var(--text-soft);
    font-size: .85rem;
    line-height: 1.5;
    padding: 1.5rem 1rem;
    gap: .6rem;
}
.company-map-empty strong {
    color: var(--text);
    font-size: .95rem;
    font-weight: 600;
}
.company-map-empty .cm-btn {
    margin-top: .4rem;
}

/* mobile - 80% phone users */
@media (max-width: 640px) {
    .company-map-fullscreen { height: calc(100dvh - 52px); }
    .company-map-actions { bottom: 8px; left: 8px; gap: .4rem; }
    .cm-btn { padding: .4em .75em; font-size: .78rem; }
}
