.planning-matrix{position:relative}
.free-image-layer{position:absolute;inset:0;z-index:12;pointer-events:none;overflow:hidden}
.free-image{position:absolute;pointer-events:none;touch-action:auto}
.free-image img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none;user-select:none}
body:not(.mobile) .free-image{pointer-events:auto;cursor:default}
body:not(.mobile).free-image-edit .free-image{pointer-events:auto;cursor:move;touch-action:none}
body:not(.mobile).free-image-edit .free-image.selected{outline:2px solid var(--ui-accent);outline-offset:-2px}
.free-image-resize{display:none}
body:not(.mobile).free-image-edit .free-image.selected .free-image-resize{display:block;position:absolute;right:0;bottom:0;width:18px;height:18px;background:var(--ui-accent);border:2px solid var(--ui-page);cursor:nwse-resize}
.free-image-tools{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);z-index:80;display:flex;align-items:center;gap:8px;padding:10px;max-width:calc(100vw - 24px);flex-wrap:wrap;background:var(--ui-surface);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:8px;box-shadow:0 3px 15px #0006}
.free-image-tools button{background:var(--ui-input);color:var(--ui-text);border:1px solid var(--ui-border);border-radius:5px;min-height:34px;cursor:pointer}
.free-image-tools [role=status]{font-size:12px}
@media print{.free-image-layer,.free-image-tools{display:none!important}}
