/* Ticket action menu: nonmodal, complete beside its anchor, below app dialogs. */
.ticket-status-control { display: grid; justify-items: end; min-width: 0; }
.ticket-status-trigger { gap: 6px; min-height: 44px; cursor: pointer; font: inherit; font-size: 12px; font-weight: 750; }
/* The ticket header deliberately uses the same compact badge height as priority. */
.ticket-status-control--compact { justify-items: start; }
.ticket-status-control--compact .status-pill { min-height: 23px; padding: 3px 8px; gap: 5px; font-size: .75rem; font-weight: 760; line-height: 1.25; }
.ticket-status-control--compact .ticket-status-feedback { text-align: left; }
.ticket-status-trigger svg { width: 14px; height: 14px; fill: none; stroke: currentColor; stroke-width: 2; }
.ticket-status-trigger:hover { filter: brightness(1.12); }
.ticket-status-trigger:focus-visible, .ticket-status-popover button:focus-visible { outline: 2px solid var(--focus-color); outline-offset: 2px; }
.ticket-status-trigger:disabled { cursor: wait; opacity: .65; }
.ticket-status-popover { position: fixed; z-index: var(--z-header-popover, 90); box-sizing: border-box; display: grid; gap: 4px; padding: 6px; border: 1px solid var(--stroke-strong); border-radius: var(--radius-sm); background: linear-gradient(160deg, var(--glass), transparent), var(--surface-strong); color: var(--text); box-shadow: var(--shadow), inset 0 1px 0 var(--glass); backdrop-filter: blur(24px) saturate(125%); -webkit-backdrop-filter: blur(24px) saturate(125%); }
.ticket-status-popover button { --status-accent:var(--primary); --status-fill:var(--info-bg); display: flex; align-items: center; gap: 8px; min-height: 44px; min-width:0; width: 100%; padding: 8px 10px; border: 1px solid color-mix(in srgb, var(--status-accent) 36%, transparent); border-radius: 9px; background: var(--status-fill); color: color-mix(in srgb, var(--status-accent) 68%, var(--text)); font: inherit; font-size: 13px; font-weight: 650; line-height: 1.35; text-align: left; cursor: pointer; overflow-wrap: anywhere; }
.ticket-status-popover button.tone-warning { --status-accent:var(--warning); --status-fill:var(--warning-bg); }
.ticket-status-popover button.tone-success { --status-accent:var(--success); --status-fill:var(--success-bg); }
.ticket-status-popover button.tone-danger { --status-accent:var(--danger); --status-fill:var(--danger-bg); }
.ticket-status-popover button:hover, .ticket-status-popover button:focus-visible { background: color-mix(in srgb, var(--status-accent) 27%, transparent); border-color: color-mix(in srgb, var(--status-accent) 68%, transparent); }
.ticket-status-popover button:active { background: color-mix(in srgb, var(--status-accent) 35%, transparent); }
.ticket-status-popover:not([data-columns="1"]):not([data-columns="2"]) button { padding: 5px; gap: 0; font-size: 12px; }
.ticket-status-popover:not([data-columns="1"]):not([data-columns="2"]) .ticket-status-option-dot { display: none; }
.ticket-status-option-dot { flex: 0 0 8px; width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.ticket-status-feedback { max-width: 260px; margin: 5px 0 0; font-size: 12px; text-align: right; }
.ticket-status-feedback[role="alert"] { color: var(--warning); }
.ticket-status-feedback[hidden] { display: none !important; }
.ticket-status-reload { max-width: 260px; font-size: 12px; }
[data-theme="light"] .ticket-status-popover { background: color-mix(in srgb, var(--text) 74%, transparent); border-color: color-mix(in srgb, var(--bg-2) 28%, transparent); }
[data-theme="light"] .ticket-status-popover button { color: color-mix(in srgb, var(--status-accent) 34%, var(--bg-1)); border-color: color-mix(in srgb, var(--status-accent) 58%, transparent); }
@media (forced-colors: active) { .ticket-status-popover { background: Canvas; color: CanvasText; border-color: CanvasText; } .ticket-status-popover button { color: ButtonText; background: ButtonFace; border-color: ButtonText; } .ticket-status-popover button:hover, .ticket-status-popover button:focus-visible { color: HighlightText; background: Highlight; border-color: Highlight; } }

@media (any-pointer: coarse) { .ticket-status-control--compact button.ticket-status-trigger { min-height:44px; min-width:44px; } }
