.plan-photo-source-actions{display:grid;gap:14px}
.plan-photo-source-action{width:100%;display:flex;align-items:center;gap:14px;text-align:left;min-height:82px;padding:16px;border:1px solid var(--plan-line);border-radius:14px;background:var(--plan-surface);color:var(--plan-ink);font-weight:650}
.plan-photo-source-action svg{flex-shrink:0}.plan-photo-source-action span{display:grid;gap:5px}
.plan-photo-source-action small{font-size:12px;font-weight:400;opacity:.9}
.plan-photo-source-action.plan-primary{background:var(--oltrane-action-primary);border-color:transparent;color:white}

.plan-symbol-bubble-layer{position:fixed;inset:0;z-index:90;pointer-events:none}
.plan-symbol-bubble{position:absolute;width:276px;max-width:calc(100vw - 24px);padding:6px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;background:var(--plan-surface);color:var(--plan-ink);border:1px solid var(--plan-line);border-radius:18px;box-shadow:0 8px 26px rgb(0 0 0 / .16);pointer-events:auto;animation:plan-symbol-bubble-enter 140ms ease-out both}
.plan-symbol-bubble::after{content:"";position:absolute;left:var(--symbol-arrow);bottom:-6px;width:10px;height:10px;border-right:1px solid var(--plan-line);border-bottom:1px solid var(--plan-line);background:var(--plan-surface);transform:translateX(-50%) rotate(45deg)}
.plan-symbol-bubble.is-below::after{bottom:auto;top:-6px;transform:translateX(-50%) rotate(225deg)}
.plan-symbol-bubble button{min-width:44px;min-height:68px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:0;border-radius:12px;background:transparent;color:var(--plan-ink);font-size:12px;font-weight:600;touch-action:manipulation}
.plan-symbol-bubble button span{display:grid;gap:2px;text-align:center}.plan-symbol-bubble button small{font-size:11px;font-weight:500;font-variant-numeric:tabular-nums}
.plan-symbol-bubble button.symbol-bubble-rotate{background:var(--plan-blue-soft);color:var(--plan-blue)}
.plan-symbol-bubble button.symbol-bubble-delete,.plan-symbol-bubble p[role="alert"]{color:var(--plan-danger)}
.plan-symbol-bubble button:active:not(:disabled){background:var(--plan-soft)}
.plan-symbol-bubble p{min-height:17px;grid-column:1/-1;margin:3px 6px;font-size:12px;line-height:1.4;color:var(--plan-muted)}
.plan-symbol-tap-pulse{position:absolute;border:2px solid var(--plan-blue);border-radius:50%;pointer-events:none;animation:plan-symbol-tap 220ms ease-out both}
@keyframes plan-symbol-tap{from{opacity:.85;transform:translate(-50%,-50%) scale(.8)}to{opacity:0;transform:translate(-50%,-50%) scale(1.15)}}
@keyframes plan-symbol-bubble-enter{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.plan-symbol-bubble{animation:none}.plan-symbol-tap-pulse{animation:none;display:none}}
